diff --git a/theories/base_logic/bi.v b/theories/base_logic/bi.v
index 516274c0272a46e7dbfd3becb19cbd1e5d4d4114..1def67daf1732c2238785f2646e7fd06ad887890 100644
--- a/theories/base_logic/bi.v
+++ b/theories/base_logic/bi.v
@@ -180,7 +180,7 @@ Global Instance ownM_ne : NonExpansive (@uPred_ownM M) := uPred_primitive.ownM_n
 Global Instance cmra_valid_ne {A : cmraT} : NonExpansive (@uPred_cmra_valid M A)
   := uPred_primitive.cmra_valid_ne.
 
-(** Re-exporting primitive Own and valid lemmas *)
+(** Re-exporting primitive lemmas that are not in any interface *)
 Lemma ownM_op (a1 a2 : M) :
   uPred_ownM (a1 ⋅ a2) ⊣⊢ uPred_ownM a1 ∗ uPred_ownM a2.
 Proof. exact: uPred_primitive.ownM_op. Qed.
@@ -194,6 +194,14 @@ Lemma bupd_ownM_updateP x (Φ : M → Prop) :
   x ~~>: Φ → uPred_ownM x ⊢ |==> ∃ y, ⌜Φ y⌝ ∧ uPred_ownM y.
 Proof. exact: uPred_primitive.bupd_ownM_updateP. Qed.
 
+(* This is really just a special case of an entailment
+between two [siProp], but we do not have the infrastructure
+to express the more general case. This temporary proof rule will
+be replaced by the proper one eventually. *)
+Lemma internal_eq_entails {A B : ofeT} (a1 a2 : A) (b1 b2 : B) :
+  (∀ n, a1 ≡{n}≡ a2 → b1 ≡{n}≡ b2) → a1 ≡ a2 ⊢ b1 ≡ b2.
+Proof. exact: uPred_primitive.internal_eq_entails. Qed.
+
 Lemma ownM_valid (a : M) : uPred_ownM a ⊢ ✓ a.
 Proof. exact: uPred_primitive.ownM_valid. Qed.
 Lemma cmra_valid_intro {A : cmraT} P (a : A) : ✓ a → P ⊢ (✓ a).
diff --git a/theories/base_logic/upred.v b/theories/base_logic/upred.v
index fe44e03230e8ab0cde1d8fd13a986b0e558ae034..2155c2a192d407f448ae19ad49fdf1a97afb7b4c 100644
--- a/theories/base_logic/upred.v
+++ b/theories/base_logic/upred.v
@@ -722,6 +722,14 @@ Proof.
   unseal=> ?. split=> n x ?. by apply (discrete_iff n).
 Qed.
 
+(* This is really just a special case of an entailment
+between two [siProp], but we do not have the infrastructure
+to express the more general case. This temporary proof rule will
+be replaced by the proper one eventually. *)
+Lemma internal_eq_entails {A B : ofeT} (a1 a2 : A) (b1 b2 : B) :
+  (∀ n, a1 ≡{n}≡ a2 → b1 ≡{n}≡ b2) → a1 ≡ a2 ⊢ b1 ≡ b2.
+Proof. unseal=>Hsi. split=>n x ?. apply Hsi. Qed.
+
 (** Basic update modality *)
 Lemma bupd_intro P : P ⊢ |==> P.
 Proof.