diff --git a/iris.v b/iris.v index a433c8d3ca123192c02278958f88f94823fabbb8..ea1e11eb81243a1c8a4c6837b7dbc4a6bd080acd 100644 --- a/iris.v +++ b/iris.v @@ -26,6 +26,21 @@ Module Iris (RL : PCM_T) (C : CORE_LANG). Instance Props_BI : ComplBI Props | 0 := _. Instance Props_Later : Later Props | 0 := _. + (* Benchmark: How large is thid type? *) + Section Benchmark. + Local Open Scope mask_scope. + Local Open Scope pcm_scope. + Local Open Scope bi_scope. + Local Open Scope lang_scope. + + Local Instance expr_type : Setoid expr := discreteType. + Local Instance expr_metr : metric expr := discreteMetric. + Local Instance expr_cmetr : cmetric expr := discreteCMetric. + + Set Printing All. + Check ((expr -n> (value -n> Props) -n> Props) -n> expr -n> (value -n> Props) -n> Props). + End Benchmark. + (** And now we're ready to build the IRIS-specific connectives! *) Section Necessitation. @@ -388,6 +403,7 @@ Module Iris (RL : PCM_T) (C : CORE_LANG). End Erasure. + Notation " p @ k " := ((p : UPred ()) k tt) (at level 60, no associativity). Section ViewShifts. diff --git a/wp-type-0.txt b/wp-type-0.txt new file mode 100644 index 0000000000000000000000000000000000000000..1d659195410448c649eacfd7a2c466e48f39bd2b --- /dev/null +++ b/wp-type-0.txt @@ -0,0 +1,5842 @@ +@metric_morphism + (@metric_morphism expr + (@metric_morphism + (@metric_morphism value Props (@subset_type expr expr_type is_value) + (@sub_metric expr expr_type expr_metr is_value) + (@PMtypeM + (@FinDom nat (eqtyp (mtyp (cmm PreProp))) Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat) + (@type_findom nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp)))) + (@metric_findom nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp))) + (@findom_cmetric nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@extOrd_preo nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@findom_pcmType nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp)) + (@pcm_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@UPred res (@PCM_preo res res_unit res_op res_pcm)) + (@up_type res (@PCM_preo res res_unit res_op res_pcm)) + (@up_metric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_cmetric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_preotype res (@PCM_preo res res_unit res_op res_pcm)) + (@up_pcmetric res (@PCM_preo res res_unit res_op res_pcm))) + (@PMMetric + (@FinDom nat (eqtyp (mtyp (cmm PreProp))) Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat) + (@type_findom nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp)))) + (@metric_findom nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp))) + (@findom_cmetric nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@extOrd_preo nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@findom_pcmType nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp)) + (@pcm_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@UPred res (@PCM_preo res res_unit res_op res_pcm)) + (@up_type res (@PCM_preo res res_unit res_op res_pcm)) + (@up_metric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_cmetric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_preotype res (@PCM_preo res res_unit res_op res_pcm)) + (@up_pcmetric res (@PCM_preo res res_unit res_op res_pcm)))) + Props + (@nonexp_type value (@subset_type expr expr_type is_value) + (@sub_metric expr expr_type expr_metr is_value) Props + (@PMtypeM + (@FinDom nat (eqtyp (mtyp (cmm PreProp))) Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat) + (@type_findom nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp)))) + (@metric_findom nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp))) + (@findom_cmetric nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@extOrd_preo nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@findom_pcmType nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp)) + (@pcm_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@UPred res (@PCM_preo res res_unit res_op res_pcm)) + (@up_type res (@PCM_preo res res_unit res_op res_pcm)) + (@up_metric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_cmetric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_preotype res (@PCM_preo res res_unit res_op res_pcm)) + (@up_pcmetric res (@PCM_preo res res_unit res_op res_pcm))) + (@PMMetric + (@FinDom nat (eqtyp (mtyp (cmm PreProp))) Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat) + (@type_findom nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp)))) + (@metric_findom nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp))) + (@findom_cmetric nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@extOrd_preo nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@findom_pcmType nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp)) + (@pcm_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@UPred res (@PCM_preo res res_unit res_op res_pcm)) + (@up_type res (@PCM_preo res res_unit res_op res_pcm)) + (@up_metric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_cmetric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_preotype res (@PCM_preo res res_unit res_op res_pcm)) + (@up_pcmetric res (@PCM_preo res res_unit res_op res_pcm)))) + (@nonexp_metric value (@subset_type expr expr_type is_value) + (@sub_metric expr expr_type expr_metr is_value) Props + (@PMtypeM + (@FinDom nat (eqtyp (mtyp (cmm PreProp))) Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat) + (@type_findom nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp)))) + (@metric_findom nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp))) + (@findom_cmetric nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@extOrd_preo nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@findom_pcmType nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp)) + (@pcm_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@UPred res (@PCM_preo res res_unit res_op res_pcm)) + (@up_type res (@PCM_preo res res_unit res_op res_pcm)) + (@up_metric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_cmetric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_preotype res (@PCM_preo res res_unit res_op res_pcm)) + (@up_pcmetric res (@PCM_preo res res_unit res_op res_pcm))) + (@PMMetric + (@FinDom nat (eqtyp (mtyp (cmm PreProp))) Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat) + (@type_findom nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp)))) + (@metric_findom nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp))) + (@findom_cmetric nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@extOrd_preo nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@findom_pcmType nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp)) + (@pcm_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@UPred res (@PCM_preo res res_unit res_op res_pcm)) + (@up_type res (@PCM_preo res res_unit res_op res_pcm)) + (@up_metric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_cmetric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_preotype res (@PCM_preo res res_unit res_op res_pcm)) + (@up_pcmetric res (@PCM_preo res res_unit res_op res_pcm)))) + (@PMtypeM + (@FinDom nat (eqtyp (mtyp (cmm PreProp))) Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat) + (@type_findom nat Comp_nat ord_nat (@eq_equivalence nat) PreOrd_le + PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp)))) + (@metric_findom nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp))) + (@findom_cmetric nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@extOrd_preo nat Comp_nat ord_nat (@eq_equivalence nat) PreOrd_le + PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp))) + (@findom_pcmType nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@pcm_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp))) + (@UPred res (@PCM_preo res res_unit res_op res_pcm)) + (@up_type res (@PCM_preo res res_unit res_op res_pcm)) + (@up_metric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_cmetric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_preotype res (@PCM_preo res res_unit res_op res_pcm)) + (@up_pcmetric res (@PCM_preo res res_unit res_op res_pcm))) + (@PMMetric + (@FinDom nat (eqtyp (mtyp (cmm PreProp))) Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat) + (@type_findom nat Comp_nat ord_nat (@eq_equivalence nat) PreOrd_le + PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp)))) + (@metric_findom nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp))) + (@findom_cmetric nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@extOrd_preo nat Comp_nat ord_nat (@eq_equivalence nat) PreOrd_le + PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp))) + (@findom_pcmType nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@pcm_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp))) + (@UPred res (@PCM_preo res res_unit res_op res_pcm)) + (@up_type res (@PCM_preo res res_unit res_op res_pcm)) + (@up_metric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_cmetric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_preotype res (@PCM_preo res res_unit res_op res_pcm)) + (@up_pcmetric res (@PCM_preo res res_unit res_op res_pcm)))) + expr_type expr_metr + (@nonexp_type + (@metric_morphism value Props (@subset_type expr expr_type is_value) + (@sub_metric expr expr_type expr_metr is_value) + (@PMtypeM + (@FinDom nat (eqtyp (mtyp (cmm PreProp))) Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat) + (@type_findom nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp)))) + (@metric_findom nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp))) + (@findom_cmetric nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@extOrd_preo nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@findom_pcmType nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp)) + (@pcm_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@UPred res (@PCM_preo res res_unit res_op res_pcm)) + (@up_type res (@PCM_preo res res_unit res_op res_pcm)) + (@up_metric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_cmetric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_preotype res (@PCM_preo res res_unit res_op res_pcm)) + (@up_pcmetric res (@PCM_preo res res_unit res_op res_pcm))) + (@PMMetric + (@FinDom nat (eqtyp (mtyp (cmm PreProp))) Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat) + (@type_findom nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp)))) + (@metric_findom nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp))) + (@findom_cmetric nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@extOrd_preo nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@findom_pcmType nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp)) + (@pcm_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@UPred res (@PCM_preo res res_unit res_op res_pcm)) + (@up_type res (@PCM_preo res res_unit res_op res_pcm)) + (@up_metric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_cmetric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_preotype res (@PCM_preo res res_unit res_op res_pcm)) + (@up_pcmetric res (@PCM_preo res res_unit res_op res_pcm)))) + (@nonexp_type value (@subset_type expr expr_type is_value) + (@sub_metric expr expr_type expr_metr is_value) Props + (@PMtypeM + (@FinDom nat (eqtyp (mtyp (cmm PreProp))) Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat) + (@type_findom nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp)))) + (@metric_findom nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp))) + (@findom_cmetric nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@extOrd_preo nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@findom_pcmType nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp)) + (@pcm_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@UPred res (@PCM_preo res res_unit res_op res_pcm)) + (@up_type res (@PCM_preo res res_unit res_op res_pcm)) + (@up_metric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_cmetric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_preotype res (@PCM_preo res res_unit res_op res_pcm)) + (@up_pcmetric res (@PCM_preo res res_unit res_op res_pcm))) + (@PMMetric + (@FinDom nat (eqtyp (mtyp (cmm PreProp))) Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat) + (@type_findom nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp)))) + (@metric_findom nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp))) + (@findom_cmetric nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@extOrd_preo nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@findom_pcmType nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp)) + (@pcm_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@UPred res (@PCM_preo res res_unit res_op res_pcm)) + (@up_type res (@PCM_preo res res_unit res_op res_pcm)) + (@up_metric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_cmetric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_preotype res (@PCM_preo res res_unit res_op res_pcm)) + (@up_pcmetric res (@PCM_preo res res_unit res_op res_pcm)))) + (@nonexp_metric value (@subset_type expr expr_type is_value) + (@sub_metric expr expr_type expr_metr is_value) Props + (@PMtypeM + (@FinDom nat (eqtyp (mtyp (cmm PreProp))) Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat) + (@type_findom nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp)))) + (@metric_findom nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp))) + (@findom_cmetric nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@extOrd_preo nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@findom_pcmType nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp)) + (@pcm_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@UPred res (@PCM_preo res res_unit res_op res_pcm)) + (@up_type res (@PCM_preo res res_unit res_op res_pcm)) + (@up_metric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_cmetric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_preotype res (@PCM_preo res res_unit res_op res_pcm)) + (@up_pcmetric res (@PCM_preo res res_unit res_op res_pcm))) + (@PMMetric + (@FinDom nat (eqtyp (mtyp (cmm PreProp))) Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat) + (@type_findom nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp)))) + (@metric_findom nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp))) + (@findom_cmetric nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@extOrd_preo nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@findom_pcmType nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp)) + (@pcm_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@UPred res (@PCM_preo res res_unit res_op res_pcm)) + (@up_type res (@PCM_preo res res_unit res_op res_pcm)) + (@up_metric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_cmetric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_preotype res (@PCM_preo res res_unit res_op res_pcm)) + (@up_pcmetric res (@PCM_preo res res_unit res_op res_pcm)))) + Props + (@PMtypeM + (@FinDom nat (eqtyp (mtyp (cmm PreProp))) Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat) + (@type_findom nat Comp_nat ord_nat (@eq_equivalence nat) PreOrd_le + PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp)))) + (@metric_findom nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp))) + (@findom_cmetric nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@extOrd_preo nat Comp_nat ord_nat (@eq_equivalence nat) PreOrd_le + PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp))) + (@findom_pcmType nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@pcm_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp))) + (@UPred res (@PCM_preo res res_unit res_op res_pcm)) + (@up_type res (@PCM_preo res res_unit res_op res_pcm)) + (@up_metric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_cmetric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_preotype res (@PCM_preo res res_unit res_op res_pcm)) + (@up_pcmetric res (@PCM_preo res res_unit res_op res_pcm))) + (@PMMetric + (@FinDom nat (eqtyp (mtyp (cmm PreProp))) Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat) + (@type_findom nat Comp_nat ord_nat (@eq_equivalence nat) PreOrd_le + PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp)))) + (@metric_findom nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp))) + (@findom_cmetric nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@extOrd_preo nat Comp_nat ord_nat (@eq_equivalence nat) PreOrd_le + PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp))) + (@findom_pcmType nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@pcm_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp))) + (@UPred res (@PCM_preo res res_unit res_op res_pcm)) + (@up_type res (@PCM_preo res res_unit res_op res_pcm)) + (@up_metric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_cmetric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_preotype res (@PCM_preo res res_unit res_op res_pcm)) + (@up_pcmetric res (@PCM_preo res res_unit res_op res_pcm)))) + (@nonexp_metric + (@metric_morphism value Props (@subset_type expr expr_type is_value) + (@sub_metric expr expr_type expr_metr is_value) + (@PMtypeM + (@FinDom nat (eqtyp (mtyp (cmm PreProp))) Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat) + (@type_findom nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp)))) + (@metric_findom nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp))) + (@findom_cmetric nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@extOrd_preo nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@findom_pcmType nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp)) + (@pcm_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@UPred res (@PCM_preo res res_unit res_op res_pcm)) + (@up_type res (@PCM_preo res res_unit res_op res_pcm)) + (@up_metric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_cmetric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_preotype res (@PCM_preo res res_unit res_op res_pcm)) + (@up_pcmetric res (@PCM_preo res res_unit res_op res_pcm))) + (@PMMetric + (@FinDom nat (eqtyp (mtyp (cmm PreProp))) Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat) + (@type_findom nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp)))) + (@metric_findom nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp))) + (@findom_cmetric nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@extOrd_preo nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@findom_pcmType nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp)) + (@pcm_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@UPred res (@PCM_preo res res_unit res_op res_pcm)) + (@up_type res (@PCM_preo res res_unit res_op res_pcm)) + (@up_metric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_cmetric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_preotype res (@PCM_preo res res_unit res_op res_pcm)) + (@up_pcmetric res (@PCM_preo res res_unit res_op res_pcm)))) + (@nonexp_type value (@subset_type expr expr_type is_value) + (@sub_metric expr expr_type expr_metr is_value) Props + (@PMtypeM + (@FinDom nat (eqtyp (mtyp (cmm PreProp))) Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat) + (@type_findom nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp)))) + (@metric_findom nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp))) + (@findom_cmetric nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@extOrd_preo nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@findom_pcmType nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp)) + (@pcm_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@UPred res (@PCM_preo res res_unit res_op res_pcm)) + (@up_type res (@PCM_preo res res_unit res_op res_pcm)) + (@up_metric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_cmetric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_preotype res (@PCM_preo res res_unit res_op res_pcm)) + (@up_pcmetric res (@PCM_preo res res_unit res_op res_pcm))) + (@PMMetric + (@FinDom nat (eqtyp (mtyp (cmm PreProp))) Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat) + (@type_findom nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp)))) + (@metric_findom nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp))) + (@findom_cmetric nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@extOrd_preo nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@findom_pcmType nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp)) + (@pcm_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@UPred res (@PCM_preo res res_unit res_op res_pcm)) + (@up_type res (@PCM_preo res res_unit res_op res_pcm)) + (@up_metric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_cmetric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_preotype res (@PCM_preo res res_unit res_op res_pcm)) + (@up_pcmetric res (@PCM_preo res res_unit res_op res_pcm)))) + (@nonexp_metric value (@subset_type expr expr_type is_value) + (@sub_metric expr expr_type expr_metr is_value) Props + (@PMtypeM + (@FinDom nat (eqtyp (mtyp (cmm PreProp))) Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat) + (@type_findom nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp)))) + (@metric_findom nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp))) + (@findom_cmetric nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@extOrd_preo nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@findom_pcmType nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp)) + (@pcm_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@UPred res (@PCM_preo res res_unit res_op res_pcm)) + (@up_type res (@PCM_preo res res_unit res_op res_pcm)) + (@up_metric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_cmetric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_preotype res (@PCM_preo res res_unit res_op res_pcm)) + (@up_pcmetric res (@PCM_preo res res_unit res_op res_pcm))) + (@PMMetric + (@FinDom nat (eqtyp (mtyp (cmm PreProp))) Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat) + (@type_findom nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp)))) + (@metric_findom nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp))) + (@findom_cmetric nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@extOrd_preo nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@findom_pcmType nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp)) + (@pcm_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@UPred res (@PCM_preo res res_unit res_op res_pcm)) + (@up_type res (@PCM_preo res res_unit res_op res_pcm)) + (@up_metric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_cmetric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_preotype res (@PCM_preo res res_unit res_op res_pcm)) + (@up_pcmetric res (@PCM_preo res res_unit res_op res_pcm)))) + Props + (@PMtypeM + (@FinDom nat (eqtyp (mtyp (cmm PreProp))) Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat) + (@type_findom nat Comp_nat ord_nat (@eq_equivalence nat) PreOrd_le + PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp)))) + (@metric_findom nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp))) + (@findom_cmetric nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@extOrd_preo nat Comp_nat ord_nat (@eq_equivalence nat) PreOrd_le + PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp))) + (@findom_pcmType nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@pcm_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp))) + (@UPred res (@PCM_preo res res_unit res_op res_pcm)) + (@up_type res (@PCM_preo res res_unit res_op res_pcm)) + (@up_metric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_cmetric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_preotype res (@PCM_preo res res_unit res_op res_pcm)) + (@up_pcmetric res (@PCM_preo res res_unit res_op res_pcm))) + (@PMMetric + (@FinDom nat (eqtyp (mtyp (cmm PreProp))) Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat) + (@type_findom nat Comp_nat ord_nat (@eq_equivalence nat) PreOrd_le + PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp)))) + (@metric_findom nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp))) + (@findom_cmetric nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@extOrd_preo nat Comp_nat ord_nat (@eq_equivalence nat) PreOrd_le + PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp))) + (@findom_pcmType nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@pcm_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp))) + (@UPred res (@PCM_preo res res_unit res_op res_pcm)) + (@up_type res (@PCM_preo res res_unit res_op res_pcm)) + (@up_metric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_cmetric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_preotype res (@PCM_preo res res_unit res_op res_pcm)) + (@up_pcmetric res (@PCM_preo res res_unit res_op res_pcm))))) + (@metric_morphism expr + (@metric_morphism + (@metric_morphism value Props (@subset_type expr expr_type is_value) + (@sub_metric expr expr_type expr_metr is_value) + (@PMtypeM + (@FinDom nat (eqtyp (mtyp (cmm PreProp))) Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat) + (@type_findom nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp)))) + (@metric_findom nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp))) + (@findom_cmetric nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@extOrd_preo nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@findom_pcmType nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp)) + (@pcm_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@UPred res (@PCM_preo res res_unit res_op res_pcm)) + (@up_type res (@PCM_preo res res_unit res_op res_pcm)) + (@up_metric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_cmetric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_preotype res (@PCM_preo res res_unit res_op res_pcm)) + (@up_pcmetric res (@PCM_preo res res_unit res_op res_pcm))) + (@PMMetric + (@FinDom nat (eqtyp (mtyp (cmm PreProp))) Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat) + (@type_findom nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp)))) + (@metric_findom nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp))) + (@findom_cmetric nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@extOrd_preo nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@findom_pcmType nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp)) + (@pcm_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@UPred res (@PCM_preo res res_unit res_op res_pcm)) + (@up_type res (@PCM_preo res res_unit res_op res_pcm)) + (@up_metric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_cmetric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_preotype res (@PCM_preo res res_unit res_op res_pcm)) + (@up_pcmetric res (@PCM_preo res res_unit res_op res_pcm)))) + Props + (@nonexp_type value (@subset_type expr expr_type is_value) + (@sub_metric expr expr_type expr_metr is_value) Props + (@PMtypeM + (@FinDom nat (eqtyp (mtyp (cmm PreProp))) Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat) + (@type_findom nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp)))) + (@metric_findom nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp))) + (@findom_cmetric nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@extOrd_preo nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@findom_pcmType nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp)) + (@pcm_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@UPred res (@PCM_preo res res_unit res_op res_pcm)) + (@up_type res (@PCM_preo res res_unit res_op res_pcm)) + (@up_metric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_cmetric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_preotype res (@PCM_preo res res_unit res_op res_pcm)) + (@up_pcmetric res (@PCM_preo res res_unit res_op res_pcm))) + (@PMMetric + (@FinDom nat (eqtyp (mtyp (cmm PreProp))) Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat) + (@type_findom nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp)))) + (@metric_findom nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp))) + (@findom_cmetric nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@extOrd_preo nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@findom_pcmType nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp)) + (@pcm_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@UPred res (@PCM_preo res res_unit res_op res_pcm)) + (@up_type res (@PCM_preo res res_unit res_op res_pcm)) + (@up_metric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_cmetric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_preotype res (@PCM_preo res res_unit res_op res_pcm)) + (@up_pcmetric res (@PCM_preo res res_unit res_op res_pcm)))) + (@nonexp_metric value (@subset_type expr expr_type is_value) + (@sub_metric expr expr_type expr_metr is_value) Props + (@PMtypeM + (@FinDom nat (eqtyp (mtyp (cmm PreProp))) Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat) + (@type_findom nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp)))) + (@metric_findom nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp))) + (@findom_cmetric nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@extOrd_preo nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@findom_pcmType nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp)) + (@pcm_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@UPred res (@PCM_preo res res_unit res_op res_pcm)) + (@up_type res (@PCM_preo res res_unit res_op res_pcm)) + (@up_metric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_cmetric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_preotype res (@PCM_preo res res_unit res_op res_pcm)) + (@up_pcmetric res (@PCM_preo res res_unit res_op res_pcm))) + (@PMMetric + (@FinDom nat (eqtyp (mtyp (cmm PreProp))) Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat) + (@type_findom nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp)))) + (@metric_findom nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp))) + (@findom_cmetric nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@extOrd_preo nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@findom_pcmType nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp)) + (@pcm_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@UPred res (@PCM_preo res res_unit res_op res_pcm)) + (@up_type res (@PCM_preo res res_unit res_op res_pcm)) + (@up_metric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_cmetric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_preotype res (@PCM_preo res res_unit res_op res_pcm)) + (@up_pcmetric res (@PCM_preo res res_unit res_op res_pcm)))) + (@PMtypeM + (@FinDom nat (eqtyp (mtyp (cmm PreProp))) Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat) + (@type_findom nat Comp_nat ord_nat (@eq_equivalence nat) PreOrd_le + PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp)))) + (@metric_findom nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp))) + (@findom_cmetric nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@extOrd_preo nat Comp_nat ord_nat (@eq_equivalence nat) PreOrd_le + PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp))) + (@findom_pcmType nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@pcm_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp))) + (@UPred res (@PCM_preo res res_unit res_op res_pcm)) + (@up_type res (@PCM_preo res res_unit res_op res_pcm)) + (@up_metric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_cmetric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_preotype res (@PCM_preo res res_unit res_op res_pcm)) + (@up_pcmetric res (@PCM_preo res res_unit res_op res_pcm))) + (@PMMetric + (@FinDom nat (eqtyp (mtyp (cmm PreProp))) Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat) + (@type_findom nat Comp_nat ord_nat (@eq_equivalence nat) PreOrd_le + PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp)))) + (@metric_findom nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp))) + (@findom_cmetric nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@extOrd_preo nat Comp_nat ord_nat (@eq_equivalence nat) PreOrd_le + PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp))) + (@findom_pcmType nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@pcm_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp))) + (@UPred res (@PCM_preo res res_unit res_op res_pcm)) + (@up_type res (@PCM_preo res res_unit res_op res_pcm)) + (@up_metric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_cmetric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_preotype res (@PCM_preo res res_unit res_op res_pcm)) + (@up_pcmetric res (@PCM_preo res res_unit res_op res_pcm)))) + expr_type expr_metr + (@nonexp_type + (@metric_morphism value Props (@subset_type expr expr_type is_value) + (@sub_metric expr expr_type expr_metr is_value) + (@PMtypeM + (@FinDom nat (eqtyp (mtyp (cmm PreProp))) Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat) + (@type_findom nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp)))) + (@metric_findom nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp))) + (@findom_cmetric nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@extOrd_preo nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@findom_pcmType nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp)) + (@pcm_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@UPred res (@PCM_preo res res_unit res_op res_pcm)) + (@up_type res (@PCM_preo res res_unit res_op res_pcm)) + (@up_metric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_cmetric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_preotype res (@PCM_preo res res_unit res_op res_pcm)) + (@up_pcmetric res (@PCM_preo res res_unit res_op res_pcm))) + (@PMMetric + (@FinDom nat (eqtyp (mtyp (cmm PreProp))) Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat) + (@type_findom nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp)))) + (@metric_findom nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp))) + (@findom_cmetric nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@extOrd_preo nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@findom_pcmType nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp)) + (@pcm_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@UPred res (@PCM_preo res res_unit res_op res_pcm)) + (@up_type res (@PCM_preo res res_unit res_op res_pcm)) + (@up_metric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_cmetric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_preotype res (@PCM_preo res res_unit res_op res_pcm)) + (@up_pcmetric res (@PCM_preo res res_unit res_op res_pcm)))) + (@nonexp_type value (@subset_type expr expr_type is_value) + (@sub_metric expr expr_type expr_metr is_value) Props + (@PMtypeM + (@FinDom nat (eqtyp (mtyp (cmm PreProp))) Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat) + (@type_findom nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp)))) + (@metric_findom nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp))) + (@findom_cmetric nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@extOrd_preo nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@findom_pcmType nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp)) + (@pcm_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@UPred res (@PCM_preo res res_unit res_op res_pcm)) + (@up_type res (@PCM_preo res res_unit res_op res_pcm)) + (@up_metric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_cmetric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_preotype res (@PCM_preo res res_unit res_op res_pcm)) + (@up_pcmetric res (@PCM_preo res res_unit res_op res_pcm))) + (@PMMetric + (@FinDom nat (eqtyp (mtyp (cmm PreProp))) Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat) + (@type_findom nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp)))) + (@metric_findom nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp))) + (@findom_cmetric nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@extOrd_preo nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@findom_pcmType nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp)) + (@pcm_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@UPred res (@PCM_preo res res_unit res_op res_pcm)) + (@up_type res (@PCM_preo res res_unit res_op res_pcm)) + (@up_metric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_cmetric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_preotype res (@PCM_preo res res_unit res_op res_pcm)) + (@up_pcmetric res (@PCM_preo res res_unit res_op res_pcm)))) + (@nonexp_metric value (@subset_type expr expr_type is_value) + (@sub_metric expr expr_type expr_metr is_value) Props + (@PMtypeM + (@FinDom nat (eqtyp (mtyp (cmm PreProp))) Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat) + (@type_findom nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp)))) + (@metric_findom nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp))) + (@findom_cmetric nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@extOrd_preo nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@findom_pcmType nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp)) + (@pcm_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@UPred res (@PCM_preo res res_unit res_op res_pcm)) + (@up_type res (@PCM_preo res res_unit res_op res_pcm)) + (@up_metric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_cmetric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_preotype res (@PCM_preo res res_unit res_op res_pcm)) + (@up_pcmetric res (@PCM_preo res res_unit res_op res_pcm))) + (@PMMetric + (@FinDom nat (eqtyp (mtyp (cmm PreProp))) Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat) + (@type_findom nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp)))) + (@metric_findom nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp))) + (@findom_cmetric nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@extOrd_preo nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@findom_pcmType nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp)) + (@pcm_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@UPred res (@PCM_preo res res_unit res_op res_pcm)) + (@up_type res (@PCM_preo res res_unit res_op res_pcm)) + (@up_metric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_cmetric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_preotype res (@PCM_preo res res_unit res_op res_pcm)) + (@up_pcmetric res (@PCM_preo res res_unit res_op res_pcm)))) + Props + (@PMtypeM + (@FinDom nat (eqtyp (mtyp (cmm PreProp))) Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat) + (@type_findom nat Comp_nat ord_nat (@eq_equivalence nat) PreOrd_le + PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp)))) + (@metric_findom nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp))) + (@findom_cmetric nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@extOrd_preo nat Comp_nat ord_nat (@eq_equivalence nat) PreOrd_le + PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp))) + (@findom_pcmType nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@pcm_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp))) + (@UPred res (@PCM_preo res res_unit res_op res_pcm)) + (@up_type res (@PCM_preo res res_unit res_op res_pcm)) + (@up_metric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_cmetric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_preotype res (@PCM_preo res res_unit res_op res_pcm)) + (@up_pcmetric res (@PCM_preo res res_unit res_op res_pcm))) + (@PMMetric + (@FinDom nat (eqtyp (mtyp (cmm PreProp))) Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat) + (@type_findom nat Comp_nat ord_nat (@eq_equivalence nat) PreOrd_le + PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp)))) + (@metric_findom nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp))) + (@findom_cmetric nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@extOrd_preo nat Comp_nat ord_nat (@eq_equivalence nat) PreOrd_le + PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp))) + (@findom_pcmType nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@pcm_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp))) + (@UPred res (@PCM_preo res res_unit res_op res_pcm)) + (@up_type res (@PCM_preo res res_unit res_op res_pcm)) + (@up_metric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_cmetric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_preotype res (@PCM_preo res res_unit res_op res_pcm)) + (@up_pcmetric res (@PCM_preo res res_unit res_op res_pcm)))) + (@nonexp_metric + (@metric_morphism value Props (@subset_type expr expr_type is_value) + (@sub_metric expr expr_type expr_metr is_value) + (@PMtypeM + (@FinDom nat (eqtyp (mtyp (cmm PreProp))) Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat) + (@type_findom nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp)))) + (@metric_findom nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp))) + (@findom_cmetric nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@extOrd_preo nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@findom_pcmType nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp)) + (@pcm_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@UPred res (@PCM_preo res res_unit res_op res_pcm)) + (@up_type res (@PCM_preo res res_unit res_op res_pcm)) + (@up_metric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_cmetric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_preotype res (@PCM_preo res res_unit res_op res_pcm)) + (@up_pcmetric res (@PCM_preo res res_unit res_op res_pcm))) + (@PMMetric + (@FinDom nat (eqtyp (mtyp (cmm PreProp))) Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat) + (@type_findom nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp)))) + (@metric_findom nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp))) + (@findom_cmetric nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@extOrd_preo nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@findom_pcmType nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp)) + (@pcm_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@UPred res (@PCM_preo res res_unit res_op res_pcm)) + (@up_type res (@PCM_preo res res_unit res_op res_pcm)) + (@up_metric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_cmetric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_preotype res (@PCM_preo res res_unit res_op res_pcm)) + (@up_pcmetric res (@PCM_preo res res_unit res_op res_pcm)))) + (@nonexp_type value (@subset_type expr expr_type is_value) + (@sub_metric expr expr_type expr_metr is_value) Props + (@PMtypeM + (@FinDom nat (eqtyp (mtyp (cmm PreProp))) Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat) + (@type_findom nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp)))) + (@metric_findom nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp))) + (@findom_cmetric nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@extOrd_preo nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@findom_pcmType nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp)) + (@pcm_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@UPred res (@PCM_preo res res_unit res_op res_pcm)) + (@up_type res (@PCM_preo res res_unit res_op res_pcm)) + (@up_metric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_cmetric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_preotype res (@PCM_preo res res_unit res_op res_pcm)) + (@up_pcmetric res (@PCM_preo res res_unit res_op res_pcm))) + (@PMMetric + (@FinDom nat (eqtyp (mtyp (cmm PreProp))) Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat) + (@type_findom nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp)))) + (@metric_findom nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp))) + (@findom_cmetric nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@extOrd_preo nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@findom_pcmType nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp)) + (@pcm_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@UPred res (@PCM_preo res res_unit res_op res_pcm)) + (@up_type res (@PCM_preo res res_unit res_op res_pcm)) + (@up_metric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_cmetric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_preotype res (@PCM_preo res res_unit res_op res_pcm)) + (@up_pcmetric res (@PCM_preo res res_unit res_op res_pcm)))) + (@nonexp_metric value (@subset_type expr expr_type is_value) + (@sub_metric expr expr_type expr_metr is_value) Props + (@PMtypeM + (@FinDom nat (eqtyp (mtyp (cmm PreProp))) Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat) + (@type_findom nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp)))) + (@metric_findom nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp))) + (@findom_cmetric nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@extOrd_preo nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@findom_pcmType nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp)) + (@pcm_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@UPred res (@PCM_preo res res_unit res_op res_pcm)) + (@up_type res (@PCM_preo res res_unit res_op res_pcm)) + (@up_metric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_cmetric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_preotype res (@PCM_preo res res_unit res_op res_pcm)) + (@up_pcmetric res (@PCM_preo res res_unit res_op res_pcm))) + (@PMMetric + (@FinDom nat (eqtyp (mtyp (cmm PreProp))) Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat) + (@type_findom nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp)))) + (@metric_findom nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp))) + (@findom_cmetric nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@extOrd_preo nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@findom_pcmType nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp)) + (@pcm_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@UPred res (@PCM_preo res res_unit res_op res_pcm)) + (@up_type res (@PCM_preo res res_unit res_op res_pcm)) + (@up_metric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_cmetric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_preotype res (@PCM_preo res res_unit res_op res_pcm)) + (@up_pcmetric res (@PCM_preo res res_unit res_op res_pcm)))) + Props + (@PMtypeM + (@FinDom nat (eqtyp (mtyp (cmm PreProp))) Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat) + (@type_findom nat Comp_nat ord_nat (@eq_equivalence nat) PreOrd_le + PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp)))) + (@metric_findom nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp))) + (@findom_cmetric nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@extOrd_preo nat Comp_nat ord_nat (@eq_equivalence nat) PreOrd_le + PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp))) + (@findom_pcmType nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@pcm_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp))) + (@UPred res (@PCM_preo res res_unit res_op res_pcm)) + (@up_type res (@PCM_preo res res_unit res_op res_pcm)) + (@up_metric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_cmetric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_preotype res (@PCM_preo res res_unit res_op res_pcm)) + (@up_pcmetric res (@PCM_preo res res_unit res_op res_pcm))) + (@PMMetric + (@FinDom nat (eqtyp (mtyp (cmm PreProp))) Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat) + (@type_findom nat Comp_nat ord_nat (@eq_equivalence nat) PreOrd_le + PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp)))) + (@metric_findom nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp))) + (@findom_cmetric nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@extOrd_preo nat Comp_nat ord_nat (@eq_equivalence nat) PreOrd_le + PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp))) + (@findom_pcmType nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@pcm_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp))) + (@UPred res (@PCM_preo res res_unit res_op res_pcm)) + (@up_type res (@PCM_preo res res_unit res_op res_pcm)) + (@up_metric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_cmetric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_preotype res (@PCM_preo res res_unit res_op res_pcm)) + (@up_pcmetric res (@PCM_preo res res_unit res_op res_pcm))))) + (@nonexp_type expr expr_type expr_metr + (@metric_morphism + (@metric_morphism value Props (@subset_type expr expr_type is_value) + (@sub_metric expr expr_type expr_metr is_value) + (@PMtypeM + (@FinDom nat (eqtyp (mtyp (cmm PreProp))) Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat) + (@type_findom nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp)))) + (@metric_findom nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp))) + (@findom_cmetric nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@extOrd_preo nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@findom_pcmType nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp)) + (@pcm_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@UPred res (@PCM_preo res res_unit res_op res_pcm)) + (@up_type res (@PCM_preo res res_unit res_op res_pcm)) + (@up_metric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_cmetric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_preotype res (@PCM_preo res res_unit res_op res_pcm)) + (@up_pcmetric res (@PCM_preo res res_unit res_op res_pcm))) + (@PMMetric + (@FinDom nat (eqtyp (mtyp (cmm PreProp))) Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat) + (@type_findom nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp)))) + (@metric_findom nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp))) + (@findom_cmetric nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@extOrd_preo nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@findom_pcmType nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp)) + (@pcm_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@UPred res (@PCM_preo res res_unit res_op res_pcm)) + (@up_type res (@PCM_preo res res_unit res_op res_pcm)) + (@up_metric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_cmetric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_preotype res (@PCM_preo res res_unit res_op res_pcm)) + (@up_pcmetric res (@PCM_preo res res_unit res_op res_pcm)))) + Props + (@nonexp_type value (@subset_type expr expr_type is_value) + (@sub_metric expr expr_type expr_metr is_value) Props + (@PMtypeM + (@FinDom nat (eqtyp (mtyp (cmm PreProp))) Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat) + (@type_findom nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp)))) + (@metric_findom nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp))) + (@findom_cmetric nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@extOrd_preo nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@findom_pcmType nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp)) + (@pcm_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@UPred res (@PCM_preo res res_unit res_op res_pcm)) + (@up_type res (@PCM_preo res res_unit res_op res_pcm)) + (@up_metric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_cmetric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_preotype res (@PCM_preo res res_unit res_op res_pcm)) + (@up_pcmetric res (@PCM_preo res res_unit res_op res_pcm))) + (@PMMetric + (@FinDom nat (eqtyp (mtyp (cmm PreProp))) Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat) + (@type_findom nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp)))) + (@metric_findom nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp))) + (@findom_cmetric nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@extOrd_preo nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@findom_pcmType nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp)) + (@pcm_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@UPred res (@PCM_preo res res_unit res_op res_pcm)) + (@up_type res (@PCM_preo res res_unit res_op res_pcm)) + (@up_metric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_cmetric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_preotype res (@PCM_preo res res_unit res_op res_pcm)) + (@up_pcmetric res (@PCM_preo res res_unit res_op res_pcm)))) + (@nonexp_metric value (@subset_type expr expr_type is_value) + (@sub_metric expr expr_type expr_metr is_value) Props + (@PMtypeM + (@FinDom nat (eqtyp (mtyp (cmm PreProp))) Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat) + (@type_findom nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp)))) + (@metric_findom nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp))) + (@findom_cmetric nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@extOrd_preo nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@findom_pcmType nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp)) + (@pcm_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@UPred res (@PCM_preo res res_unit res_op res_pcm)) + (@up_type res (@PCM_preo res res_unit res_op res_pcm)) + (@up_metric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_cmetric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_preotype res (@PCM_preo res res_unit res_op res_pcm)) + (@up_pcmetric res (@PCM_preo res res_unit res_op res_pcm))) + (@PMMetric + (@FinDom nat (eqtyp (mtyp (cmm PreProp))) Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat) + (@type_findom nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp)))) + (@metric_findom nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp))) + (@findom_cmetric nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@extOrd_preo nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@findom_pcmType nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp)) + (@pcm_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@UPred res (@PCM_preo res res_unit res_op res_pcm)) + (@up_type res (@PCM_preo res res_unit res_op res_pcm)) + (@up_metric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_cmetric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_preotype res (@PCM_preo res res_unit res_op res_pcm)) + (@up_pcmetric res (@PCM_preo res res_unit res_op res_pcm)))) + (@PMtypeM + (@FinDom nat (eqtyp (mtyp (cmm PreProp))) Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat) + (@type_findom nat Comp_nat ord_nat (@eq_equivalence nat) PreOrd_le + PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp)))) + (@metric_findom nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp))) + (@findom_cmetric nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@extOrd_preo nat Comp_nat ord_nat (@eq_equivalence nat) PreOrd_le + PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp))) + (@findom_pcmType nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@pcm_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp))) + (@UPred res (@PCM_preo res res_unit res_op res_pcm)) + (@up_type res (@PCM_preo res res_unit res_op res_pcm)) + (@up_metric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_cmetric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_preotype res (@PCM_preo res res_unit res_op res_pcm)) + (@up_pcmetric res (@PCM_preo res res_unit res_op res_pcm))) + (@PMMetric + (@FinDom nat (eqtyp (mtyp (cmm PreProp))) Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat) + (@type_findom nat Comp_nat ord_nat (@eq_equivalence nat) PreOrd_le + PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp)))) + (@metric_findom nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp))) + (@findom_cmetric nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@extOrd_preo nat Comp_nat ord_nat (@eq_equivalence nat) PreOrd_le + PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp))) + (@findom_pcmType nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@pcm_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp))) + (@UPred res (@PCM_preo res res_unit res_op res_pcm)) + (@up_type res (@PCM_preo res res_unit res_op res_pcm)) + (@up_metric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_cmetric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_preotype res (@PCM_preo res res_unit res_op res_pcm)) + (@up_pcmetric res (@PCM_preo res res_unit res_op res_pcm)))) + (@nonexp_type + (@metric_morphism value Props (@subset_type expr expr_type is_value) + (@sub_metric expr expr_type expr_metr is_value) + (@PMtypeM + (@FinDom nat (eqtyp (mtyp (cmm PreProp))) Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat) + (@type_findom nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp)))) + (@metric_findom nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp))) + (@findom_cmetric nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@extOrd_preo nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@findom_pcmType nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp)) + (@pcm_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@UPred res (@PCM_preo res res_unit res_op res_pcm)) + (@up_type res (@PCM_preo res res_unit res_op res_pcm)) + (@up_metric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_cmetric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_preotype res (@PCM_preo res res_unit res_op res_pcm)) + (@up_pcmetric res (@PCM_preo res res_unit res_op res_pcm))) + (@PMMetric + (@FinDom nat (eqtyp (mtyp (cmm PreProp))) Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat) + (@type_findom nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp)))) + (@metric_findom nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp))) + (@findom_cmetric nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@extOrd_preo nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@findom_pcmType nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp)) + (@pcm_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@UPred res (@PCM_preo res res_unit res_op res_pcm)) + (@up_type res (@PCM_preo res res_unit res_op res_pcm)) + (@up_metric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_cmetric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_preotype res (@PCM_preo res res_unit res_op res_pcm)) + (@up_pcmetric res (@PCM_preo res res_unit res_op res_pcm)))) + (@nonexp_type value (@subset_type expr expr_type is_value) + (@sub_metric expr expr_type expr_metr is_value) Props + (@PMtypeM + (@FinDom nat (eqtyp (mtyp (cmm PreProp))) Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat) + (@type_findom nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp)))) + (@metric_findom nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp))) + (@findom_cmetric nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@extOrd_preo nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@findom_pcmType nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp)) + (@pcm_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@UPred res (@PCM_preo res res_unit res_op res_pcm)) + (@up_type res (@PCM_preo res res_unit res_op res_pcm)) + (@up_metric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_cmetric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_preotype res (@PCM_preo res res_unit res_op res_pcm)) + (@up_pcmetric res (@PCM_preo res res_unit res_op res_pcm))) + (@PMMetric + (@FinDom nat (eqtyp (mtyp (cmm PreProp))) Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat) + (@type_findom nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp)))) + (@metric_findom nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp))) + (@findom_cmetric nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@extOrd_preo nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@findom_pcmType nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp)) + (@pcm_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@UPred res (@PCM_preo res res_unit res_op res_pcm)) + (@up_type res (@PCM_preo res res_unit res_op res_pcm)) + (@up_metric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_cmetric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_preotype res (@PCM_preo res res_unit res_op res_pcm)) + (@up_pcmetric res (@PCM_preo res res_unit res_op res_pcm)))) + (@nonexp_metric value (@subset_type expr expr_type is_value) + (@sub_metric expr expr_type expr_metr is_value) Props + (@PMtypeM + (@FinDom nat (eqtyp (mtyp (cmm PreProp))) Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat) + (@type_findom nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp)))) + (@metric_findom nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp))) + (@findom_cmetric nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@extOrd_preo nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@findom_pcmType nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp)) + (@pcm_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@UPred res (@PCM_preo res res_unit res_op res_pcm)) + (@up_type res (@PCM_preo res res_unit res_op res_pcm)) + (@up_metric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_cmetric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_preotype res (@PCM_preo res res_unit res_op res_pcm)) + (@up_pcmetric res (@PCM_preo res res_unit res_op res_pcm))) + (@PMMetric + (@FinDom nat (eqtyp (mtyp (cmm PreProp))) Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat) + (@type_findom nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp)))) + (@metric_findom nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp))) + (@findom_cmetric nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@extOrd_preo nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@findom_pcmType nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp)) + (@pcm_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@UPred res (@PCM_preo res res_unit res_op res_pcm)) + (@up_type res (@PCM_preo res res_unit res_op res_pcm)) + (@up_metric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_cmetric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_preotype res (@PCM_preo res res_unit res_op res_pcm)) + (@up_pcmetric res (@PCM_preo res res_unit res_op res_pcm)))) + Props + (@PMtypeM + (@FinDom nat (eqtyp (mtyp (cmm PreProp))) Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat) + (@type_findom nat Comp_nat ord_nat (@eq_equivalence nat) PreOrd_le + PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp)))) + (@metric_findom nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp))) + (@findom_cmetric nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@extOrd_preo nat Comp_nat ord_nat (@eq_equivalence nat) PreOrd_le + PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp))) + (@findom_pcmType nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@pcm_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp))) + (@UPred res (@PCM_preo res res_unit res_op res_pcm)) + (@up_type res (@PCM_preo res res_unit res_op res_pcm)) + (@up_metric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_cmetric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_preotype res (@PCM_preo res res_unit res_op res_pcm)) + (@up_pcmetric res (@PCM_preo res res_unit res_op res_pcm))) + (@PMMetric + (@FinDom nat (eqtyp (mtyp (cmm PreProp))) Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat) + (@type_findom nat Comp_nat ord_nat (@eq_equivalence nat) PreOrd_le + PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp)))) + (@metric_findom nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp))) + (@findom_cmetric nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@extOrd_preo nat Comp_nat ord_nat (@eq_equivalence nat) PreOrd_le + PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp))) + (@findom_pcmType nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@pcm_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp))) + (@UPred res (@PCM_preo res res_unit res_op res_pcm)) + (@up_type res (@PCM_preo res res_unit res_op res_pcm)) + (@up_metric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_cmetric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_preotype res (@PCM_preo res res_unit res_op res_pcm)) + (@up_pcmetric res (@PCM_preo res res_unit res_op res_pcm)))) + (@nonexp_metric + (@metric_morphism value Props (@subset_type expr expr_type is_value) + (@sub_metric expr expr_type expr_metr is_value) + (@PMtypeM + (@FinDom nat (eqtyp (mtyp (cmm PreProp))) Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat) + (@type_findom nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp)))) + (@metric_findom nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp))) + (@findom_cmetric nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@extOrd_preo nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@findom_pcmType nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp)) + (@pcm_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@UPred res (@PCM_preo res res_unit res_op res_pcm)) + (@up_type res (@PCM_preo res res_unit res_op res_pcm)) + (@up_metric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_cmetric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_preotype res (@PCM_preo res res_unit res_op res_pcm)) + (@up_pcmetric res (@PCM_preo res res_unit res_op res_pcm))) + (@PMMetric + (@FinDom nat (eqtyp (mtyp (cmm PreProp))) Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat) + (@type_findom nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp)))) + (@metric_findom nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp))) + (@findom_cmetric nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@extOrd_preo nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@findom_pcmType nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp)) + (@pcm_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@UPred res (@PCM_preo res res_unit res_op res_pcm)) + (@up_type res (@PCM_preo res res_unit res_op res_pcm)) + (@up_metric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_cmetric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_preotype res (@PCM_preo res res_unit res_op res_pcm)) + (@up_pcmetric res (@PCM_preo res res_unit res_op res_pcm)))) + (@nonexp_type value (@subset_type expr expr_type is_value) + (@sub_metric expr expr_type expr_metr is_value) Props + (@PMtypeM + (@FinDom nat (eqtyp (mtyp (cmm PreProp))) Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat) + (@type_findom nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp)))) + (@metric_findom nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp))) + (@findom_cmetric nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@extOrd_preo nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@findom_pcmType nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp)) + (@pcm_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@UPred res (@PCM_preo res res_unit res_op res_pcm)) + (@up_type res (@PCM_preo res res_unit res_op res_pcm)) + (@up_metric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_cmetric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_preotype res (@PCM_preo res res_unit res_op res_pcm)) + (@up_pcmetric res (@PCM_preo res res_unit res_op res_pcm))) + (@PMMetric + (@FinDom nat (eqtyp (mtyp (cmm PreProp))) Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat) + (@type_findom nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp)))) + (@metric_findom nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp))) + (@findom_cmetric nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@extOrd_preo nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@findom_pcmType nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp)) + (@pcm_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@UPred res (@PCM_preo res res_unit res_op res_pcm)) + (@up_type res (@PCM_preo res res_unit res_op res_pcm)) + (@up_metric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_cmetric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_preotype res (@PCM_preo res res_unit res_op res_pcm)) + (@up_pcmetric res (@PCM_preo res res_unit res_op res_pcm)))) + (@nonexp_metric value (@subset_type expr expr_type is_value) + (@sub_metric expr expr_type expr_metr is_value) Props + (@PMtypeM + (@FinDom nat (eqtyp (mtyp (cmm PreProp))) Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat) + (@type_findom nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp)))) + (@metric_findom nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp))) + (@findom_cmetric nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@extOrd_preo nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@findom_pcmType nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp)) + (@pcm_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@UPred res (@PCM_preo res res_unit res_op res_pcm)) + (@up_type res (@PCM_preo res res_unit res_op res_pcm)) + (@up_metric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_cmetric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_preotype res (@PCM_preo res res_unit res_op res_pcm)) + (@up_pcmetric res (@PCM_preo res res_unit res_op res_pcm))) + (@PMMetric + (@FinDom nat (eqtyp (mtyp (cmm PreProp))) Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat) + (@type_findom nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp)))) + (@metric_findom nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp))) + (@findom_cmetric nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@extOrd_preo nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@findom_pcmType nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp)) + (@pcm_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@UPred res (@PCM_preo res res_unit res_op res_pcm)) + (@up_type res (@PCM_preo res res_unit res_op res_pcm)) + (@up_metric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_cmetric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_preotype res (@PCM_preo res res_unit res_op res_pcm)) + (@up_pcmetric res (@PCM_preo res res_unit res_op res_pcm)))) + Props + (@PMtypeM + (@FinDom nat (eqtyp (mtyp (cmm PreProp))) Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat) + (@type_findom nat Comp_nat ord_nat (@eq_equivalence nat) PreOrd_le + PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp)))) + (@metric_findom nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp))) + (@findom_cmetric nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@extOrd_preo nat Comp_nat ord_nat (@eq_equivalence nat) PreOrd_le + PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp))) + (@findom_pcmType nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@pcm_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp))) + (@UPred res (@PCM_preo res res_unit res_op res_pcm)) + (@up_type res (@PCM_preo res res_unit res_op res_pcm)) + (@up_metric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_cmetric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_preotype res (@PCM_preo res res_unit res_op res_pcm)) + (@up_pcmetric res (@PCM_preo res res_unit res_op res_pcm))) + (@PMMetric + (@FinDom nat (eqtyp (mtyp (cmm PreProp))) Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat) + (@type_findom nat Comp_nat ord_nat (@eq_equivalence nat) PreOrd_le + PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp)))) + (@metric_findom nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp))) + (@findom_cmetric nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@extOrd_preo nat Comp_nat ord_nat (@eq_equivalence nat) PreOrd_le + PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp))) + (@findom_pcmType nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@pcm_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp))) + (@UPred res (@PCM_preo res res_unit res_op res_pcm)) + (@up_type res (@PCM_preo res res_unit res_op res_pcm)) + (@up_metric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_cmetric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_preotype res (@PCM_preo res res_unit res_op res_pcm)) + (@up_pcmetric res (@PCM_preo res res_unit res_op res_pcm))))) + (@nonexp_metric expr expr_type expr_metr + (@metric_morphism + (@metric_morphism value Props (@subset_type expr expr_type is_value) + (@sub_metric expr expr_type expr_metr is_value) + (@PMtypeM + (@FinDom nat (eqtyp (mtyp (cmm PreProp))) Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat) + (@type_findom nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp)))) + (@metric_findom nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp))) + (@findom_cmetric nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@extOrd_preo nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@findom_pcmType nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp)) + (@pcm_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@UPred res (@PCM_preo res res_unit res_op res_pcm)) + (@up_type res (@PCM_preo res res_unit res_op res_pcm)) + (@up_metric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_cmetric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_preotype res (@PCM_preo res res_unit res_op res_pcm)) + (@up_pcmetric res (@PCM_preo res res_unit res_op res_pcm))) + (@PMMetric + (@FinDom nat (eqtyp (mtyp (cmm PreProp))) Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat) + (@type_findom nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp)))) + (@metric_findom nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp))) + (@findom_cmetric nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@extOrd_preo nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@findom_pcmType nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp)) + (@pcm_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@UPred res (@PCM_preo res res_unit res_op res_pcm)) + (@up_type res (@PCM_preo res res_unit res_op res_pcm)) + (@up_metric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_cmetric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_preotype res (@PCM_preo res res_unit res_op res_pcm)) + (@up_pcmetric res (@PCM_preo res res_unit res_op res_pcm)))) + Props + (@nonexp_type value (@subset_type expr expr_type is_value) + (@sub_metric expr expr_type expr_metr is_value) Props + (@PMtypeM + (@FinDom nat (eqtyp (mtyp (cmm PreProp))) Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat) + (@type_findom nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp)))) + (@metric_findom nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp))) + (@findom_cmetric nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@extOrd_preo nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@findom_pcmType nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp)) + (@pcm_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@UPred res (@PCM_preo res res_unit res_op res_pcm)) + (@up_type res (@PCM_preo res res_unit res_op res_pcm)) + (@up_metric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_cmetric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_preotype res (@PCM_preo res res_unit res_op res_pcm)) + (@up_pcmetric res (@PCM_preo res res_unit res_op res_pcm))) + (@PMMetric + (@FinDom nat (eqtyp (mtyp (cmm PreProp))) Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat) + (@type_findom nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp)))) + (@metric_findom nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp))) + (@findom_cmetric nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@extOrd_preo nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@findom_pcmType nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp)) + (@pcm_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@UPred res (@PCM_preo res res_unit res_op res_pcm)) + (@up_type res (@PCM_preo res res_unit res_op res_pcm)) + (@up_metric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_cmetric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_preotype res (@PCM_preo res res_unit res_op res_pcm)) + (@up_pcmetric res (@PCM_preo res res_unit res_op res_pcm)))) + (@nonexp_metric value (@subset_type expr expr_type is_value) + (@sub_metric expr expr_type expr_metr is_value) Props + (@PMtypeM + (@FinDom nat (eqtyp (mtyp (cmm PreProp))) Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat) + (@type_findom nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp)))) + (@metric_findom nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp))) + (@findom_cmetric nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@extOrd_preo nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@findom_pcmType nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp)) + (@pcm_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@UPred res (@PCM_preo res res_unit res_op res_pcm)) + (@up_type res (@PCM_preo res res_unit res_op res_pcm)) + (@up_metric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_cmetric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_preotype res (@PCM_preo res res_unit res_op res_pcm)) + (@up_pcmetric res (@PCM_preo res res_unit res_op res_pcm))) + (@PMMetric + (@FinDom nat (eqtyp (mtyp (cmm PreProp))) Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat) + (@type_findom nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp)))) + (@metric_findom nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp))) + (@findom_cmetric nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@extOrd_preo nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@findom_pcmType nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp)) + (@pcm_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@UPred res (@PCM_preo res res_unit res_op res_pcm)) + (@up_type res (@PCM_preo res res_unit res_op res_pcm)) + (@up_metric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_cmetric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_preotype res (@PCM_preo res res_unit res_op res_pcm)) + (@up_pcmetric res (@PCM_preo res res_unit res_op res_pcm)))) + (@PMtypeM + (@FinDom nat (eqtyp (mtyp (cmm PreProp))) Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat) + (@type_findom nat Comp_nat ord_nat (@eq_equivalence nat) PreOrd_le + PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp)))) + (@metric_findom nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp))) + (@findom_cmetric nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@extOrd_preo nat Comp_nat ord_nat (@eq_equivalence nat) PreOrd_le + PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp))) + (@findom_pcmType nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@pcm_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp))) + (@UPred res (@PCM_preo res res_unit res_op res_pcm)) + (@up_type res (@PCM_preo res res_unit res_op res_pcm)) + (@up_metric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_cmetric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_preotype res (@PCM_preo res res_unit res_op res_pcm)) + (@up_pcmetric res (@PCM_preo res res_unit res_op res_pcm))) + (@PMMetric + (@FinDom nat (eqtyp (mtyp (cmm PreProp))) Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat) + (@type_findom nat Comp_nat ord_nat (@eq_equivalence nat) PreOrd_le + PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp)))) + (@metric_findom nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp))) + (@findom_cmetric nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@extOrd_preo nat Comp_nat ord_nat (@eq_equivalence nat) PreOrd_le + PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp))) + (@findom_pcmType nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@pcm_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp))) + (@UPred res (@PCM_preo res res_unit res_op res_pcm)) + (@up_type res (@PCM_preo res res_unit res_op res_pcm)) + (@up_metric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_cmetric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_preotype res (@PCM_preo res res_unit res_op res_pcm)) + (@up_pcmetric res (@PCM_preo res res_unit res_op res_pcm)))) + (@nonexp_type + (@metric_morphism value Props (@subset_type expr expr_type is_value) + (@sub_metric expr expr_type expr_metr is_value) + (@PMtypeM + (@FinDom nat (eqtyp (mtyp (cmm PreProp))) Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat) + (@type_findom nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp)))) + (@metric_findom nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp))) + (@findom_cmetric nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@extOrd_preo nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@findom_pcmType nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp)) + (@pcm_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@UPred res (@PCM_preo res res_unit res_op res_pcm)) + (@up_type res (@PCM_preo res res_unit res_op res_pcm)) + (@up_metric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_cmetric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_preotype res (@PCM_preo res res_unit res_op res_pcm)) + (@up_pcmetric res (@PCM_preo res res_unit res_op res_pcm))) + (@PMMetric + (@FinDom nat (eqtyp (mtyp (cmm PreProp))) Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat) + (@type_findom nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp)))) + (@metric_findom nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp))) + (@findom_cmetric nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@extOrd_preo nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@findom_pcmType nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp)) + (@pcm_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@UPred res (@PCM_preo res res_unit res_op res_pcm)) + (@up_type res (@PCM_preo res res_unit res_op res_pcm)) + (@up_metric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_cmetric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_preotype res (@PCM_preo res res_unit res_op res_pcm)) + (@up_pcmetric res (@PCM_preo res res_unit res_op res_pcm)))) + (@nonexp_type value (@subset_type expr expr_type is_value) + (@sub_metric expr expr_type expr_metr is_value) Props + (@PMtypeM + (@FinDom nat (eqtyp (mtyp (cmm PreProp))) Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat) + (@type_findom nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp)))) + (@metric_findom nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp))) + (@findom_cmetric nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@extOrd_preo nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@findom_pcmType nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp)) + (@pcm_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@UPred res (@PCM_preo res res_unit res_op res_pcm)) + (@up_type res (@PCM_preo res res_unit res_op res_pcm)) + (@up_metric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_cmetric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_preotype res (@PCM_preo res res_unit res_op res_pcm)) + (@up_pcmetric res (@PCM_preo res res_unit res_op res_pcm))) + (@PMMetric + (@FinDom nat (eqtyp (mtyp (cmm PreProp))) Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat) + (@type_findom nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp)))) + (@metric_findom nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp))) + (@findom_cmetric nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@extOrd_preo nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@findom_pcmType nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp)) + (@pcm_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@UPred res (@PCM_preo res res_unit res_op res_pcm)) + (@up_type res (@PCM_preo res res_unit res_op res_pcm)) + (@up_metric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_cmetric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_preotype res (@PCM_preo res res_unit res_op res_pcm)) + (@up_pcmetric res (@PCM_preo res res_unit res_op res_pcm)))) + (@nonexp_metric value (@subset_type expr expr_type is_value) + (@sub_metric expr expr_type expr_metr is_value) Props + (@PMtypeM + (@FinDom nat (eqtyp (mtyp (cmm PreProp))) Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat) + (@type_findom nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp)))) + (@metric_findom nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp))) + (@findom_cmetric nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@extOrd_preo nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@findom_pcmType nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp)) + (@pcm_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@UPred res (@PCM_preo res res_unit res_op res_pcm)) + (@up_type res (@PCM_preo res res_unit res_op res_pcm)) + (@up_metric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_cmetric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_preotype res (@PCM_preo res res_unit res_op res_pcm)) + (@up_pcmetric res (@PCM_preo res res_unit res_op res_pcm))) + (@PMMetric + (@FinDom nat (eqtyp (mtyp (cmm PreProp))) Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat) + (@type_findom nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp)))) + (@metric_findom nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp))) + (@findom_cmetric nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@extOrd_preo nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@findom_pcmType nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp)) + (@pcm_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@UPred res (@PCM_preo res res_unit res_op res_pcm)) + (@up_type res (@PCM_preo res res_unit res_op res_pcm)) + (@up_metric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_cmetric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_preotype res (@PCM_preo res res_unit res_op res_pcm)) + (@up_pcmetric res (@PCM_preo res res_unit res_op res_pcm)))) + Props + (@PMtypeM + (@FinDom nat (eqtyp (mtyp (cmm PreProp))) Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat) + (@type_findom nat Comp_nat ord_nat (@eq_equivalence nat) PreOrd_le + PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp)))) + (@metric_findom nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp))) + (@findom_cmetric nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@extOrd_preo nat Comp_nat ord_nat (@eq_equivalence nat) PreOrd_le + PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp))) + (@findom_pcmType nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@pcm_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp))) + (@UPred res (@PCM_preo res res_unit res_op res_pcm)) + (@up_type res (@PCM_preo res res_unit res_op res_pcm)) + (@up_metric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_cmetric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_preotype res (@PCM_preo res res_unit res_op res_pcm)) + (@up_pcmetric res (@PCM_preo res res_unit res_op res_pcm))) + (@PMMetric + (@FinDom nat (eqtyp (mtyp (cmm PreProp))) Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat) + (@type_findom nat Comp_nat ord_nat (@eq_equivalence nat) PreOrd_le + PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp)))) + (@metric_findom nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp))) + (@findom_cmetric nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@extOrd_preo nat Comp_nat ord_nat (@eq_equivalence nat) PreOrd_le + PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp))) + (@findom_pcmType nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@pcm_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp))) + (@UPred res (@PCM_preo res res_unit res_op res_pcm)) + (@up_type res (@PCM_preo res res_unit res_op res_pcm)) + (@up_metric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_cmetric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_preotype res (@PCM_preo res res_unit res_op res_pcm)) + (@up_pcmetric res (@PCM_preo res res_unit res_op res_pcm)))) + (@nonexp_metric + (@metric_morphism value Props (@subset_type expr expr_type is_value) + (@sub_metric expr expr_type expr_metr is_value) + (@PMtypeM + (@FinDom nat (eqtyp (mtyp (cmm PreProp))) Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat) + (@type_findom nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp)))) + (@metric_findom nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp))) + (@findom_cmetric nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@extOrd_preo nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@findom_pcmType nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp)) + (@pcm_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@UPred res (@PCM_preo res res_unit res_op res_pcm)) + (@up_type res (@PCM_preo res res_unit res_op res_pcm)) + (@up_metric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_cmetric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_preotype res (@PCM_preo res res_unit res_op res_pcm)) + (@up_pcmetric res (@PCM_preo res res_unit res_op res_pcm))) + (@PMMetric + (@FinDom nat (eqtyp (mtyp (cmm PreProp))) Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat) + (@type_findom nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp)))) + (@metric_findom nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp))) + (@findom_cmetric nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@extOrd_preo nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@findom_pcmType nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp)) + (@pcm_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@UPred res (@PCM_preo res res_unit res_op res_pcm)) + (@up_type res (@PCM_preo res res_unit res_op res_pcm)) + (@up_metric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_cmetric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_preotype res (@PCM_preo res res_unit res_op res_pcm)) + (@up_pcmetric res (@PCM_preo res res_unit res_op res_pcm)))) + (@nonexp_type value (@subset_type expr expr_type is_value) + (@sub_metric expr expr_type expr_metr is_value) Props + (@PMtypeM + (@FinDom nat (eqtyp (mtyp (cmm PreProp))) Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat) + (@type_findom nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp)))) + (@metric_findom nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp))) + (@findom_cmetric nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@extOrd_preo nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@findom_pcmType nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp)) + (@pcm_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@UPred res (@PCM_preo res res_unit res_op res_pcm)) + (@up_type res (@PCM_preo res res_unit res_op res_pcm)) + (@up_metric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_cmetric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_preotype res (@PCM_preo res res_unit res_op res_pcm)) + (@up_pcmetric res (@PCM_preo res res_unit res_op res_pcm))) + (@PMMetric + (@FinDom nat (eqtyp (mtyp (cmm PreProp))) Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat) + (@type_findom nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp)))) + (@metric_findom nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp))) + (@findom_cmetric nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@extOrd_preo nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@findom_pcmType nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp)) + (@pcm_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@UPred res (@PCM_preo res res_unit res_op res_pcm)) + (@up_type res (@PCM_preo res res_unit res_op res_pcm)) + (@up_metric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_cmetric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_preotype res (@PCM_preo res res_unit res_op res_pcm)) + (@up_pcmetric res (@PCM_preo res res_unit res_op res_pcm)))) + (@nonexp_metric value (@subset_type expr expr_type is_value) + (@sub_metric expr expr_type expr_metr is_value) Props + (@PMtypeM + (@FinDom nat (eqtyp (mtyp (cmm PreProp))) Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat) + (@type_findom nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp)))) + (@metric_findom nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp))) + (@findom_cmetric nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@extOrd_preo nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@findom_pcmType nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp)) + (@pcm_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@UPred res (@PCM_preo res res_unit res_op res_pcm)) + (@up_type res (@PCM_preo res res_unit res_op res_pcm)) + (@up_metric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_cmetric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_preotype res (@PCM_preo res res_unit res_op res_pcm)) + (@up_pcmetric res (@PCM_preo res res_unit res_op res_pcm))) + (@PMMetric + (@FinDom nat (eqtyp (mtyp (cmm PreProp))) Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat) + (@type_findom nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp)))) + (@metric_findom nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp))) + (@findom_cmetric nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@extOrd_preo nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@findom_pcmType nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp)) + (@pcm_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@UPred res (@PCM_preo res res_unit res_op res_pcm)) + (@up_type res (@PCM_preo res res_unit res_op res_pcm)) + (@up_metric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_cmetric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_preotype res (@PCM_preo res res_unit res_op res_pcm)) + (@up_pcmetric res (@PCM_preo res res_unit res_op res_pcm)))) + Props + (@PMtypeM + (@FinDom nat (eqtyp (mtyp (cmm PreProp))) Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat) + (@type_findom nat Comp_nat ord_nat (@eq_equivalence nat) PreOrd_le + PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp)))) + (@metric_findom nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp))) + (@findom_cmetric nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@extOrd_preo nat Comp_nat ord_nat (@eq_equivalence nat) PreOrd_le + PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp))) + (@findom_pcmType nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@pcm_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp))) + (@UPred res (@PCM_preo res res_unit res_op res_pcm)) + (@up_type res (@PCM_preo res res_unit res_op res_pcm)) + (@up_metric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_cmetric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_preotype res (@PCM_preo res res_unit res_op res_pcm)) + (@up_pcmetric res (@PCM_preo res res_unit res_op res_pcm))) + (@PMMetric + (@FinDom nat (eqtyp (mtyp (cmm PreProp))) Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat) + (@type_findom nat Comp_nat ord_nat (@eq_equivalence nat) PreOrd_le + PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp)))) + (@metric_findom nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp))) + (@findom_cmetric nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@extOrd_preo nat Comp_nat ord_nat (@eq_equivalence nat) PreOrd_le + PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp))) + (@findom_pcmType nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@pcm_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp))) + (@UPred res (@PCM_preo res res_unit res_op res_pcm)) + (@up_type res (@PCM_preo res res_unit res_op res_pcm)) + (@up_metric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_cmetric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_preotype res (@PCM_preo res res_unit res_op res_pcm)) + (@up_pcmetric res (@PCM_preo res res_unit res_op res_pcm))))) + (@nonexp_type expr expr_type expr_metr + (@metric_morphism + (@metric_morphism value Props (@subset_type expr expr_type is_value) + (@sub_metric expr expr_type expr_metr is_value) + (@PMtypeM + (@FinDom nat (eqtyp (mtyp (cmm PreProp))) Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat) + (@type_findom nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp)))) + (@metric_findom nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp))) + (@findom_cmetric nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@extOrd_preo nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@findom_pcmType nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp)) + (@pcm_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@UPred res (@PCM_preo res res_unit res_op res_pcm)) + (@up_type res (@PCM_preo res res_unit res_op res_pcm)) + (@up_metric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_cmetric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_preotype res (@PCM_preo res res_unit res_op res_pcm)) + (@up_pcmetric res (@PCM_preo res res_unit res_op res_pcm))) + (@PMMetric + (@FinDom nat (eqtyp (mtyp (cmm PreProp))) Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat) + (@type_findom nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp)))) + (@metric_findom nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp))) + (@findom_cmetric nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@extOrd_preo nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@findom_pcmType nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp)) + (@pcm_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@UPred res (@PCM_preo res res_unit res_op res_pcm)) + (@up_type res (@PCM_preo res res_unit res_op res_pcm)) + (@up_metric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_cmetric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_preotype res (@PCM_preo res res_unit res_op res_pcm)) + (@up_pcmetric res (@PCM_preo res res_unit res_op res_pcm)))) + Props + (@nonexp_type value (@subset_type expr expr_type is_value) + (@sub_metric expr expr_type expr_metr is_value) Props + (@PMtypeM + (@FinDom nat (eqtyp (mtyp (cmm PreProp))) Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat) + (@type_findom nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp)))) + (@metric_findom nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp))) + (@findom_cmetric nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@extOrd_preo nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@findom_pcmType nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp)) + (@pcm_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@UPred res (@PCM_preo res res_unit res_op res_pcm)) + (@up_type res (@PCM_preo res res_unit res_op res_pcm)) + (@up_metric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_cmetric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_preotype res (@PCM_preo res res_unit res_op res_pcm)) + (@up_pcmetric res (@PCM_preo res res_unit res_op res_pcm))) + (@PMMetric + (@FinDom nat (eqtyp (mtyp (cmm PreProp))) Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat) + (@type_findom nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp)))) + (@metric_findom nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp))) + (@findom_cmetric nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@extOrd_preo nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@findom_pcmType nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp)) + (@pcm_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@UPred res (@PCM_preo res res_unit res_op res_pcm)) + (@up_type res (@PCM_preo res res_unit res_op res_pcm)) + (@up_metric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_cmetric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_preotype res (@PCM_preo res res_unit res_op res_pcm)) + (@up_pcmetric res (@PCM_preo res res_unit res_op res_pcm)))) + (@nonexp_metric value (@subset_type expr expr_type is_value) + (@sub_metric expr expr_type expr_metr is_value) Props + (@PMtypeM + (@FinDom nat (eqtyp (mtyp (cmm PreProp))) Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat) + (@type_findom nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp)))) + (@metric_findom nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp))) + (@findom_cmetric nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@extOrd_preo nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@findom_pcmType nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp)) + (@pcm_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@UPred res (@PCM_preo res res_unit res_op res_pcm)) + (@up_type res (@PCM_preo res res_unit res_op res_pcm)) + (@up_metric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_cmetric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_preotype res (@PCM_preo res res_unit res_op res_pcm)) + (@up_pcmetric res (@PCM_preo res res_unit res_op res_pcm))) + (@PMMetric + (@FinDom nat (eqtyp (mtyp (cmm PreProp))) Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat) + (@type_findom nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp)))) + (@metric_findom nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp))) + (@findom_cmetric nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@extOrd_preo nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@findom_pcmType nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp)) + (@pcm_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@UPred res (@PCM_preo res res_unit res_op res_pcm)) + (@up_type res (@PCM_preo res res_unit res_op res_pcm)) + (@up_metric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_cmetric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_preotype res (@PCM_preo res res_unit res_op res_pcm)) + (@up_pcmetric res (@PCM_preo res res_unit res_op res_pcm)))) + (@PMtypeM + (@FinDom nat (eqtyp (mtyp (cmm PreProp))) Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat) + (@type_findom nat Comp_nat ord_nat (@eq_equivalence nat) PreOrd_le + PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp)))) + (@metric_findom nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp))) + (@findom_cmetric nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@extOrd_preo nat Comp_nat ord_nat (@eq_equivalence nat) PreOrd_le + PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp))) + (@findom_pcmType nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@pcm_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp))) + (@UPred res (@PCM_preo res res_unit res_op res_pcm)) + (@up_type res (@PCM_preo res res_unit res_op res_pcm)) + (@up_metric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_cmetric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_preotype res (@PCM_preo res res_unit res_op res_pcm)) + (@up_pcmetric res (@PCM_preo res res_unit res_op res_pcm))) + (@PMMetric + (@FinDom nat (eqtyp (mtyp (cmm PreProp))) Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat) + (@type_findom nat Comp_nat ord_nat (@eq_equivalence nat) PreOrd_le + PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp)))) + (@metric_findom nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp))) + (@findom_cmetric nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@extOrd_preo nat Comp_nat ord_nat (@eq_equivalence nat) PreOrd_le + PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp))) + (@findom_pcmType nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@pcm_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp))) + (@UPred res (@PCM_preo res res_unit res_op res_pcm)) + (@up_type res (@PCM_preo res res_unit res_op res_pcm)) + (@up_metric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_cmetric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_preotype res (@PCM_preo res res_unit res_op res_pcm)) + (@up_pcmetric res (@PCM_preo res res_unit res_op res_pcm)))) + (@nonexp_type + (@metric_morphism value Props (@subset_type expr expr_type is_value) + (@sub_metric expr expr_type expr_metr is_value) + (@PMtypeM + (@FinDom nat (eqtyp (mtyp (cmm PreProp))) Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat) + (@type_findom nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp)))) + (@metric_findom nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp))) + (@findom_cmetric nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@extOrd_preo nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@findom_pcmType nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp)) + (@pcm_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@UPred res (@PCM_preo res res_unit res_op res_pcm)) + (@up_type res (@PCM_preo res res_unit res_op res_pcm)) + (@up_metric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_cmetric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_preotype res (@PCM_preo res res_unit res_op res_pcm)) + (@up_pcmetric res (@PCM_preo res res_unit res_op res_pcm))) + (@PMMetric + (@FinDom nat (eqtyp (mtyp (cmm PreProp))) Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat) + (@type_findom nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp)))) + (@metric_findom nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp))) + (@findom_cmetric nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@extOrd_preo nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@findom_pcmType nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp)) + (@pcm_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@UPred res (@PCM_preo res res_unit res_op res_pcm)) + (@up_type res (@PCM_preo res res_unit res_op res_pcm)) + (@up_metric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_cmetric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_preotype res (@PCM_preo res res_unit res_op res_pcm)) + (@up_pcmetric res (@PCM_preo res res_unit res_op res_pcm)))) + (@nonexp_type value (@subset_type expr expr_type is_value) + (@sub_metric expr expr_type expr_metr is_value) Props + (@PMtypeM + (@FinDom nat (eqtyp (mtyp (cmm PreProp))) Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat) + (@type_findom nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp)))) + (@metric_findom nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp))) + (@findom_cmetric nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@extOrd_preo nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@findom_pcmType nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp)) + (@pcm_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@UPred res (@PCM_preo res res_unit res_op res_pcm)) + (@up_type res (@PCM_preo res res_unit res_op res_pcm)) + (@up_metric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_cmetric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_preotype res (@PCM_preo res res_unit res_op res_pcm)) + (@up_pcmetric res (@PCM_preo res res_unit res_op res_pcm))) + (@PMMetric + (@FinDom nat (eqtyp (mtyp (cmm PreProp))) Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat) + (@type_findom nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp)))) + (@metric_findom nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp))) + (@findom_cmetric nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@extOrd_preo nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@findom_pcmType nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp)) + (@pcm_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@UPred res (@PCM_preo res res_unit res_op res_pcm)) + (@up_type res (@PCM_preo res res_unit res_op res_pcm)) + (@up_metric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_cmetric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_preotype res (@PCM_preo res res_unit res_op res_pcm)) + (@up_pcmetric res (@PCM_preo res res_unit res_op res_pcm)))) + (@nonexp_metric value (@subset_type expr expr_type is_value) + (@sub_metric expr expr_type expr_metr is_value) Props + (@PMtypeM + (@FinDom nat (eqtyp (mtyp (cmm PreProp))) Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat) + (@type_findom nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp)))) + (@metric_findom nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp))) + (@findom_cmetric nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@extOrd_preo nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@findom_pcmType nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp)) + (@pcm_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@UPred res (@PCM_preo res res_unit res_op res_pcm)) + (@up_type res (@PCM_preo res res_unit res_op res_pcm)) + (@up_metric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_cmetric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_preotype res (@PCM_preo res res_unit res_op res_pcm)) + (@up_pcmetric res (@PCM_preo res res_unit res_op res_pcm))) + (@PMMetric + (@FinDom nat (eqtyp (mtyp (cmm PreProp))) Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat) + (@type_findom nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp)))) + (@metric_findom nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp))) + (@findom_cmetric nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@extOrd_preo nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@findom_pcmType nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp)) + (@pcm_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@UPred res (@PCM_preo res res_unit res_op res_pcm)) + (@up_type res (@PCM_preo res res_unit res_op res_pcm)) + (@up_metric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_cmetric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_preotype res (@PCM_preo res res_unit res_op res_pcm)) + (@up_pcmetric res (@PCM_preo res res_unit res_op res_pcm)))) + Props + (@PMtypeM + (@FinDom nat (eqtyp (mtyp (cmm PreProp))) Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat) + (@type_findom nat Comp_nat ord_nat (@eq_equivalence nat) PreOrd_le + PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp)))) + (@metric_findom nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp))) + (@findom_cmetric nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@extOrd_preo nat Comp_nat ord_nat (@eq_equivalence nat) PreOrd_le + PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp))) + (@findom_pcmType nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@pcm_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp))) + (@UPred res (@PCM_preo res res_unit res_op res_pcm)) + (@up_type res (@PCM_preo res res_unit res_op res_pcm)) + (@up_metric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_cmetric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_preotype res (@PCM_preo res res_unit res_op res_pcm)) + (@up_pcmetric res (@PCM_preo res res_unit res_op res_pcm))) + (@PMMetric + (@FinDom nat (eqtyp (mtyp (cmm PreProp))) Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat) + (@type_findom nat Comp_nat ord_nat (@eq_equivalence nat) PreOrd_le + PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp)))) + (@metric_findom nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp))) + (@findom_cmetric nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@extOrd_preo nat Comp_nat ord_nat (@eq_equivalence nat) PreOrd_le + PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp))) + (@findom_pcmType nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@pcm_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp))) + (@UPred res (@PCM_preo res res_unit res_op res_pcm)) + (@up_type res (@PCM_preo res res_unit res_op res_pcm)) + (@up_metric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_cmetric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_preotype res (@PCM_preo res res_unit res_op res_pcm)) + (@up_pcmetric res (@PCM_preo res res_unit res_op res_pcm)))) + (@nonexp_metric + (@metric_morphism value Props (@subset_type expr expr_type is_value) + (@sub_metric expr expr_type expr_metr is_value) + (@PMtypeM + (@FinDom nat (eqtyp (mtyp (cmm PreProp))) Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat) + (@type_findom nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp)))) + (@metric_findom nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp))) + (@findom_cmetric nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@extOrd_preo nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@findom_pcmType nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp)) + (@pcm_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@UPred res (@PCM_preo res res_unit res_op res_pcm)) + (@up_type res (@PCM_preo res res_unit res_op res_pcm)) + (@up_metric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_cmetric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_preotype res (@PCM_preo res res_unit res_op res_pcm)) + (@up_pcmetric res (@PCM_preo res res_unit res_op res_pcm))) + (@PMMetric + (@FinDom nat (eqtyp (mtyp (cmm PreProp))) Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat) + (@type_findom nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp)))) + (@metric_findom nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp))) + (@findom_cmetric nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@extOrd_preo nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@findom_pcmType nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp)) + (@pcm_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@UPred res (@PCM_preo res res_unit res_op res_pcm)) + (@up_type res (@PCM_preo res res_unit res_op res_pcm)) + (@up_metric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_cmetric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_preotype res (@PCM_preo res res_unit res_op res_pcm)) + (@up_pcmetric res (@PCM_preo res res_unit res_op res_pcm)))) + (@nonexp_type value (@subset_type expr expr_type is_value) + (@sub_metric expr expr_type expr_metr is_value) Props + (@PMtypeM + (@FinDom nat (eqtyp (mtyp (cmm PreProp))) Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat) + (@type_findom nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp)))) + (@metric_findom nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp))) + (@findom_cmetric nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@extOrd_preo nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@findom_pcmType nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp)) + (@pcm_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@UPred res (@PCM_preo res res_unit res_op res_pcm)) + (@up_type res (@PCM_preo res res_unit res_op res_pcm)) + (@up_metric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_cmetric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_preotype res (@PCM_preo res res_unit res_op res_pcm)) + (@up_pcmetric res (@PCM_preo res res_unit res_op res_pcm))) + (@PMMetric + (@FinDom nat (eqtyp (mtyp (cmm PreProp))) Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat) + (@type_findom nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp)))) + (@metric_findom nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp))) + (@findom_cmetric nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@extOrd_preo nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@findom_pcmType nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp)) + (@pcm_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@UPred res (@PCM_preo res res_unit res_op res_pcm)) + (@up_type res (@PCM_preo res res_unit res_op res_pcm)) + (@up_metric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_cmetric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_preotype res (@PCM_preo res res_unit res_op res_pcm)) + (@up_pcmetric res (@PCM_preo res res_unit res_op res_pcm)))) + (@nonexp_metric value (@subset_type expr expr_type is_value) + (@sub_metric expr expr_type expr_metr is_value) Props + (@PMtypeM + (@FinDom nat (eqtyp (mtyp (cmm PreProp))) Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat) + (@type_findom nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp)))) + (@metric_findom nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp))) + (@findom_cmetric nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@extOrd_preo nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@findom_pcmType nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp)) + (@pcm_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@UPred res (@PCM_preo res res_unit res_op res_pcm)) + (@up_type res (@PCM_preo res res_unit res_op res_pcm)) + (@up_metric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_cmetric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_preotype res (@PCM_preo res res_unit res_op res_pcm)) + (@up_pcmetric res (@PCM_preo res res_unit res_op res_pcm))) + (@PMMetric + (@FinDom nat (eqtyp (mtyp (cmm PreProp))) Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat) + (@type_findom nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp)))) + (@metric_findom nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp))) + (@findom_cmetric nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@extOrd_preo nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@findom_pcmType nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp)) + (@pcm_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@UPred res (@PCM_preo res res_unit res_op res_pcm)) + (@up_type res (@PCM_preo res res_unit res_op res_pcm)) + (@up_metric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_cmetric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_preotype res (@PCM_preo res res_unit res_op res_pcm)) + (@up_pcmetric res (@PCM_preo res res_unit res_op res_pcm)))) + Props + (@PMtypeM + (@FinDom nat (eqtyp (mtyp (cmm PreProp))) Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat) + (@type_findom nat Comp_nat ord_nat (@eq_equivalence nat) PreOrd_le + PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp)))) + (@metric_findom nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp))) + (@findom_cmetric nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@extOrd_preo nat Comp_nat ord_nat (@eq_equivalence nat) PreOrd_le + PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp))) + (@findom_pcmType nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@pcm_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp))) + (@UPred res (@PCM_preo res res_unit res_op res_pcm)) + (@up_type res (@PCM_preo res res_unit res_op res_pcm)) + (@up_metric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_cmetric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_preotype res (@PCM_preo res res_unit res_op res_pcm)) + (@up_pcmetric res (@PCM_preo res res_unit res_op res_pcm))) + (@PMMetric + (@FinDom nat (eqtyp (mtyp (cmm PreProp))) Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat) + (@type_findom nat Comp_nat ord_nat (@eq_equivalence nat) PreOrd_le + PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp)))) + (@metric_findom nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp))) + (@findom_cmetric nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@extOrd_preo nat Comp_nat ord_nat (@eq_equivalence nat) PreOrd_le + PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp))) + (@findom_pcmType nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@pcm_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp))) + (@UPred res (@PCM_preo res res_unit res_op res_pcm)) + (@up_type res (@PCM_preo res res_unit res_op res_pcm)) + (@up_metric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_cmetric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_preotype res (@PCM_preo res res_unit res_op res_pcm)) + (@up_pcmetric res (@PCM_preo res res_unit res_op res_pcm))))) + (@nonexp_metric expr expr_type expr_metr + (@metric_morphism + (@metric_morphism value Props (@subset_type expr expr_type is_value) + (@sub_metric expr expr_type expr_metr is_value) + (@PMtypeM + (@FinDom nat (eqtyp (mtyp (cmm PreProp))) Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat) + (@type_findom nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp)))) + (@metric_findom nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp))) + (@findom_cmetric nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@extOrd_preo nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@findom_pcmType nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp)) + (@pcm_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@UPred res (@PCM_preo res res_unit res_op res_pcm)) + (@up_type res (@PCM_preo res res_unit res_op res_pcm)) + (@up_metric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_cmetric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_preotype res (@PCM_preo res res_unit res_op res_pcm)) + (@up_pcmetric res (@PCM_preo res res_unit res_op res_pcm))) + (@PMMetric + (@FinDom nat (eqtyp (mtyp (cmm PreProp))) Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat) + (@type_findom nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp)))) + (@metric_findom nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp))) + (@findom_cmetric nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@extOrd_preo nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@findom_pcmType nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp)) + (@pcm_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@UPred res (@PCM_preo res res_unit res_op res_pcm)) + (@up_type res (@PCM_preo res res_unit res_op res_pcm)) + (@up_metric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_cmetric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_preotype res (@PCM_preo res res_unit res_op res_pcm)) + (@up_pcmetric res (@PCM_preo res res_unit res_op res_pcm)))) + Props + (@nonexp_type value (@subset_type expr expr_type is_value) + (@sub_metric expr expr_type expr_metr is_value) Props + (@PMtypeM + (@FinDom nat (eqtyp (mtyp (cmm PreProp))) Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat) + (@type_findom nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp)))) + (@metric_findom nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp))) + (@findom_cmetric nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@extOrd_preo nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@findom_pcmType nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp)) + (@pcm_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@UPred res (@PCM_preo res res_unit res_op res_pcm)) + (@up_type res (@PCM_preo res res_unit res_op res_pcm)) + (@up_metric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_cmetric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_preotype res (@PCM_preo res res_unit res_op res_pcm)) + (@up_pcmetric res (@PCM_preo res res_unit res_op res_pcm))) + (@PMMetric + (@FinDom nat (eqtyp (mtyp (cmm PreProp))) Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat) + (@type_findom nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp)))) + (@metric_findom nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp))) + (@findom_cmetric nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@extOrd_preo nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@findom_pcmType nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp)) + (@pcm_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@UPred res (@PCM_preo res res_unit res_op res_pcm)) + (@up_type res (@PCM_preo res res_unit res_op res_pcm)) + (@up_metric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_cmetric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_preotype res (@PCM_preo res res_unit res_op res_pcm)) + (@up_pcmetric res (@PCM_preo res res_unit res_op res_pcm)))) + (@nonexp_metric value (@subset_type expr expr_type is_value) + (@sub_metric expr expr_type expr_metr is_value) Props + (@PMtypeM + (@FinDom nat (eqtyp (mtyp (cmm PreProp))) Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat) + (@type_findom nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp)))) + (@metric_findom nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp))) + (@findom_cmetric nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@extOrd_preo nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@findom_pcmType nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp)) + (@pcm_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@UPred res (@PCM_preo res res_unit res_op res_pcm)) + (@up_type res (@PCM_preo res res_unit res_op res_pcm)) + (@up_metric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_cmetric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_preotype res (@PCM_preo res res_unit res_op res_pcm)) + (@up_pcmetric res (@PCM_preo res res_unit res_op res_pcm))) + (@PMMetric + (@FinDom nat (eqtyp (mtyp (cmm PreProp))) Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat) + (@type_findom nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp)))) + (@metric_findom nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp))) + (@findom_cmetric nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@extOrd_preo nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@findom_pcmType nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp)) + (@pcm_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@UPred res (@PCM_preo res res_unit res_op res_pcm)) + (@up_type res (@PCM_preo res res_unit res_op res_pcm)) + (@up_metric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_cmetric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_preotype res (@PCM_preo res res_unit res_op res_pcm)) + (@up_pcmetric res (@PCM_preo res res_unit res_op res_pcm)))) + (@PMtypeM + (@FinDom nat (eqtyp (mtyp (cmm PreProp))) Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat) + (@type_findom nat Comp_nat ord_nat (@eq_equivalence nat) PreOrd_le + PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp)))) + (@metric_findom nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp))) + (@findom_cmetric nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@extOrd_preo nat Comp_nat ord_nat (@eq_equivalence nat) PreOrd_le + PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp))) + (@findom_pcmType nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@pcm_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp))) + (@UPred res (@PCM_preo res res_unit res_op res_pcm)) + (@up_type res (@PCM_preo res res_unit res_op res_pcm)) + (@up_metric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_cmetric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_preotype res (@PCM_preo res res_unit res_op res_pcm)) + (@up_pcmetric res (@PCM_preo res res_unit res_op res_pcm))) + (@PMMetric + (@FinDom nat (eqtyp (mtyp (cmm PreProp))) Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat) + (@type_findom nat Comp_nat ord_nat (@eq_equivalence nat) PreOrd_le + PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp)))) + (@metric_findom nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp))) + (@findom_cmetric nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@extOrd_preo nat Comp_nat ord_nat (@eq_equivalence nat) PreOrd_le + PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp))) + (@findom_pcmType nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@pcm_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp))) + (@UPred res (@PCM_preo res res_unit res_op res_pcm)) + (@up_type res (@PCM_preo res res_unit res_op res_pcm)) + (@up_metric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_cmetric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_preotype res (@PCM_preo res res_unit res_op res_pcm)) + (@up_pcmetric res (@PCM_preo res res_unit res_op res_pcm)))) + (@nonexp_type + (@metric_morphism value Props (@subset_type expr expr_type is_value) + (@sub_metric expr expr_type expr_metr is_value) + (@PMtypeM + (@FinDom nat (eqtyp (mtyp (cmm PreProp))) Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat) + (@type_findom nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp)))) + (@metric_findom nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp))) + (@findom_cmetric nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@extOrd_preo nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@findom_pcmType nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp)) + (@pcm_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@UPred res (@PCM_preo res res_unit res_op res_pcm)) + (@up_type res (@PCM_preo res res_unit res_op res_pcm)) + (@up_metric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_cmetric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_preotype res (@PCM_preo res res_unit res_op res_pcm)) + (@up_pcmetric res (@PCM_preo res res_unit res_op res_pcm))) + (@PMMetric + (@FinDom nat (eqtyp (mtyp (cmm PreProp))) Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat) + (@type_findom nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp)))) + (@metric_findom nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp))) + (@findom_cmetric nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@extOrd_preo nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@findom_pcmType nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp)) + (@pcm_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@UPred res (@PCM_preo res res_unit res_op res_pcm)) + (@up_type res (@PCM_preo res res_unit res_op res_pcm)) + (@up_metric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_cmetric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_preotype res (@PCM_preo res res_unit res_op res_pcm)) + (@up_pcmetric res (@PCM_preo res res_unit res_op res_pcm)))) + (@nonexp_type value (@subset_type expr expr_type is_value) + (@sub_metric expr expr_type expr_metr is_value) Props + (@PMtypeM + (@FinDom nat (eqtyp (mtyp (cmm PreProp))) Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat) + (@type_findom nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp)))) + (@metric_findom nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp))) + (@findom_cmetric nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@extOrd_preo nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@findom_pcmType nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp)) + (@pcm_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@UPred res (@PCM_preo res res_unit res_op res_pcm)) + (@up_type res (@PCM_preo res res_unit res_op res_pcm)) + (@up_metric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_cmetric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_preotype res (@PCM_preo res res_unit res_op res_pcm)) + (@up_pcmetric res (@PCM_preo res res_unit res_op res_pcm))) + (@PMMetric + (@FinDom nat (eqtyp (mtyp (cmm PreProp))) Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat) + (@type_findom nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp)))) + (@metric_findom nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp))) + (@findom_cmetric nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@extOrd_preo nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@findom_pcmType nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp)) + (@pcm_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@UPred res (@PCM_preo res res_unit res_op res_pcm)) + (@up_type res (@PCM_preo res res_unit res_op res_pcm)) + (@up_metric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_cmetric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_preotype res (@PCM_preo res res_unit res_op res_pcm)) + (@up_pcmetric res (@PCM_preo res res_unit res_op res_pcm)))) + (@nonexp_metric value (@subset_type expr expr_type is_value) + (@sub_metric expr expr_type expr_metr is_value) Props + (@PMtypeM + (@FinDom nat (eqtyp (mtyp (cmm PreProp))) Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat) + (@type_findom nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp)))) + (@metric_findom nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp))) + (@findom_cmetric nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@extOrd_preo nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@findom_pcmType nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp)) + (@pcm_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@UPred res (@PCM_preo res res_unit res_op res_pcm)) + (@up_type res (@PCM_preo res res_unit res_op res_pcm)) + (@up_metric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_cmetric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_preotype res (@PCM_preo res res_unit res_op res_pcm)) + (@up_pcmetric res (@PCM_preo res res_unit res_op res_pcm))) + (@PMMetric + (@FinDom nat (eqtyp (mtyp (cmm PreProp))) Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat) + (@type_findom nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp)))) + (@metric_findom nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp))) + (@findom_cmetric nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@extOrd_preo nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@findom_pcmType nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp)) + (@pcm_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@UPred res (@PCM_preo res res_unit res_op res_pcm)) + (@up_type res (@PCM_preo res res_unit res_op res_pcm)) + (@up_metric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_cmetric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_preotype res (@PCM_preo res res_unit res_op res_pcm)) + (@up_pcmetric res (@PCM_preo res res_unit res_op res_pcm)))) + Props + (@PMtypeM + (@FinDom nat (eqtyp (mtyp (cmm PreProp))) Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat) + (@type_findom nat Comp_nat ord_nat (@eq_equivalence nat) PreOrd_le + PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp)))) + (@metric_findom nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp))) + (@findom_cmetric nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@extOrd_preo nat Comp_nat ord_nat (@eq_equivalence nat) PreOrd_le + PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp))) + (@findom_pcmType nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@pcm_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp))) + (@UPred res (@PCM_preo res res_unit res_op res_pcm)) + (@up_type res (@PCM_preo res res_unit res_op res_pcm)) + (@up_metric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_cmetric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_preotype res (@PCM_preo res res_unit res_op res_pcm)) + (@up_pcmetric res (@PCM_preo res res_unit res_op res_pcm))) + (@PMMetric + (@FinDom nat (eqtyp (mtyp (cmm PreProp))) Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat) + (@type_findom nat Comp_nat ord_nat (@eq_equivalence nat) PreOrd_le + PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp)))) + (@metric_findom nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp))) + (@findom_cmetric nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@extOrd_preo nat Comp_nat ord_nat (@eq_equivalence nat) PreOrd_le + PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp))) + (@findom_pcmType nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@pcm_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp))) + (@UPred res (@PCM_preo res res_unit res_op res_pcm)) + (@up_type res (@PCM_preo res res_unit res_op res_pcm)) + (@up_metric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_cmetric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_preotype res (@PCM_preo res res_unit res_op res_pcm)) + (@up_pcmetric res (@PCM_preo res res_unit res_op res_pcm)))) + (@nonexp_metric + (@metric_morphism value Props (@subset_type expr expr_type is_value) + (@sub_metric expr expr_type expr_metr is_value) + (@PMtypeM + (@FinDom nat (eqtyp (mtyp (cmm PreProp))) Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat) + (@type_findom nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp)))) + (@metric_findom nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp))) + (@findom_cmetric nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@extOrd_preo nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@findom_pcmType nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp)) + (@pcm_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@UPred res (@PCM_preo res res_unit res_op res_pcm)) + (@up_type res (@PCM_preo res res_unit res_op res_pcm)) + (@up_metric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_cmetric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_preotype res (@PCM_preo res res_unit res_op res_pcm)) + (@up_pcmetric res (@PCM_preo res res_unit res_op res_pcm))) + (@PMMetric + (@FinDom nat (eqtyp (mtyp (cmm PreProp))) Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat) + (@type_findom nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp)))) + (@metric_findom nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp))) + (@findom_cmetric nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@extOrd_preo nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@findom_pcmType nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp)) + (@pcm_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@UPred res (@PCM_preo res res_unit res_op res_pcm)) + (@up_type res (@PCM_preo res res_unit res_op res_pcm)) + (@up_metric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_cmetric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_preotype res (@PCM_preo res res_unit res_op res_pcm)) + (@up_pcmetric res (@PCM_preo res res_unit res_op res_pcm)))) + (@nonexp_type value (@subset_type expr expr_type is_value) + (@sub_metric expr expr_type expr_metr is_value) Props + (@PMtypeM + (@FinDom nat (eqtyp (mtyp (cmm PreProp))) Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat) + (@type_findom nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp)))) + (@metric_findom nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp))) + (@findom_cmetric nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@extOrd_preo nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@findom_pcmType nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp)) + (@pcm_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@UPred res (@PCM_preo res res_unit res_op res_pcm)) + (@up_type res (@PCM_preo res res_unit res_op res_pcm)) + (@up_metric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_cmetric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_preotype res (@PCM_preo res res_unit res_op res_pcm)) + (@up_pcmetric res (@PCM_preo res res_unit res_op res_pcm))) + (@PMMetric + (@FinDom nat (eqtyp (mtyp (cmm PreProp))) Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat) + (@type_findom nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp)))) + (@metric_findom nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp))) + (@findom_cmetric nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@extOrd_preo nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@findom_pcmType nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp)) + (@pcm_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@UPred res (@PCM_preo res res_unit res_op res_pcm)) + (@up_type res (@PCM_preo res res_unit res_op res_pcm)) + (@up_metric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_cmetric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_preotype res (@PCM_preo res res_unit res_op res_pcm)) + (@up_pcmetric res (@PCM_preo res res_unit res_op res_pcm)))) + (@nonexp_metric value (@subset_type expr expr_type is_value) + (@sub_metric expr expr_type expr_metr is_value) Props + (@PMtypeM + (@FinDom nat (eqtyp (mtyp (cmm PreProp))) Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat) + (@type_findom nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp)))) + (@metric_findom nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp))) + (@findom_cmetric nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@extOrd_preo nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@findom_pcmType nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp)) + (@pcm_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@UPred res (@PCM_preo res res_unit res_op res_pcm)) + (@up_type res (@PCM_preo res res_unit res_op res_pcm)) + (@up_metric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_cmetric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_preotype res (@PCM_preo res res_unit res_op res_pcm)) + (@up_pcmetric res (@PCM_preo res res_unit res_op res_pcm))) + (@PMMetric + (@FinDom nat (eqtyp (mtyp (cmm PreProp))) Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat) + (@type_findom nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp)))) + (@metric_findom nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp))) + (@findom_cmetric nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@extOrd_preo nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@findom_pcmType nat Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat + (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp)) + (@pcm_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) + (@cmtyp_cmetric PreProp))) + (@UPred res (@PCM_preo res res_unit res_op res_pcm)) + (@up_type res (@PCM_preo res res_unit res_op res_pcm)) + (@up_metric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_cmetric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_preotype res (@PCM_preo res res_unit res_op res_pcm)) + (@up_pcmetric res (@PCM_preo res res_unit res_op res_pcm)))) + Props + (@PMtypeM + (@FinDom nat (eqtyp (mtyp (cmm PreProp))) Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat) + (@type_findom nat Comp_nat ord_nat (@eq_equivalence nat) PreOrd_le + PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp)))) + (@metric_findom nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp))) + (@findom_cmetric nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@extOrd_preo nat Comp_nat ord_nat (@eq_equivalence nat) PreOrd_le + PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp))) + (@findom_pcmType nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@pcm_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp))) + (@UPred res (@PCM_preo res res_unit res_op res_pcm)) + (@up_type res (@PCM_preo res res_unit res_op res_pcm)) + (@up_metric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_cmetric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_preotype res (@PCM_preo res res_unit res_op res_pcm)) + (@up_pcmetric res (@PCM_preo res res_unit res_op res_pcm))) + (@PMMetric + (@FinDom nat (eqtyp (mtyp (cmm PreProp))) Comp_nat ord_nat + (@eq_equivalence nat) PreOrd_le PartOrd_nat comp_nat) + (@type_findom nat Comp_nat ord_nat (@eq_equivalence nat) PreOrd_le + PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp)))) + (@metric_findom nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp))) + (@findom_cmetric nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@extOrd_preo nat Comp_nat ord_nat (@eq_equivalence nat) PreOrd_le + PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp))) + (@findom_pcmType nat Comp_nat ord_nat (@eq_equivalence nat) + PreOrd_le PartOrd_nat comp_nat (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp) + (@pt_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp)) + (@pcm_disc (eqtyp (mtyp (cmm PreProp))) + (@eqType_proj_type (mtyp (cmm PreProp))) + (@mtyp_proj_metr (cmm PreProp)) (@cmtyp_cmetric PreProp))) + (@UPred res (@PCM_preo res res_unit res_op res_pcm)) + (@up_type res (@PCM_preo res res_unit res_op res_pcm)) + (@up_metric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_cmetric res (@PCM_preo res res_unit res_op res_pcm)) + (@up_preotype res (@PCM_preo res res_unit res_op res_pcm)) + (@up_pcmetric res (@PCM_preo res res_unit res_op res_pcm))))) + : Type