diff --git a/theories/algebra/functions.v b/theories/algebra/functions.v index 6983a95f3fac022c900e358f5e119719934ccac4..e3c368d1ac93da666e9cb5beb6b2e5f6f8007a4d 100644 --- a/theories/algebra/functions.v +++ b/theories/algebra/functions.v @@ -17,6 +17,10 @@ Section ofe. Implicit Types x : A. Implicit Types f g : ofe_fun B. + Global Instance ofe_funC_ofe_discrete : + (∀ i, OfeDiscrete (B i)) → OfeDiscrete (ofe_funC B). + Proof. intros HB f f' Heq i. apply HB, Heq. Qed. + (** Properties of ofe_fun_insert. *) Global Instance ofe_fun_insert_ne x : NonExpansive2 (ofe_fun_insert (B:=B) x). @@ -52,6 +56,10 @@ Section cmra. Implicit Types x : A. Implicit Types f g : ofe_fun B. + Global Instance ofe_funR_cmra_discrete: + (∀ i, CmraDiscrete (B i)) → CmraDiscrete (ofe_funR B). + Proof. intros HB. split; [apply _|]. intros x Hv i. apply HB, Hv. Qed. + Global Instance ofe_fun_singleton_ne x : NonExpansive (ofe_fun_singleton x : B x → _). Proof. intros n y1 y2 ?; apply ofe_fun_insert_ne. done. by apply equiv_dist. Qed.