From 4741f72f20b7a8aa20594346304e2dd92b6f4498 Mon Sep 17 00:00:00 2001 From: Ralf Jung <jung@mpi-sws.org> Date: Sat, 31 Jan 2015 12:44:33 +0100 Subject: [PATCH] add our "type size benchmark": the type of wpF (the function wp is the fixed point of) --- iris.v | 16 + wp-type-0.txt | 5842 +++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 5858 insertions(+) create mode 100644 wp-type-0.txt diff --git a/iris.v b/iris.v index a433c8d3c..ea1e11eb8 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 000000000..1d6591954 --- /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 -- GitLab