diff --git a/theories/base_logic/upred_iso.v b/theories/base_logic/upred_iso.v
deleted file mode 100644
index 4c0b230acc4fb67319c370179a02d3db60d6138b..0000000000000000000000000000000000000000
--- a/theories/base_logic/upred_iso.v
+++ /dev/null
@@ -1,232 +0,0 @@
-From iris.base_logic Require Export upred.
-
-Record sProp := SProp {
-  sProp_holds :> nat → Prop;
-  sProp_holds_mono : Proper (flip (≤) ==> impl) sProp_holds
-}.
-
-Existing Instance sProp_holds_mono.
-Instance sprop_holds_mono_flip (P : sProp) : Proper ((≤) ==> flip impl) P.
-Proof. solve_proper. Qed.
-
-Arguments sProp_holds _ _ : simpl never.
-Add Printing Constructor sProp.
-
-Section sProp_cofe.
-  Inductive sProp_equiv' (P Q : sProp) : Prop :=
-    { sProp_in_equiv : ∀ n, P n ↔ Q n }.
-  Instance sProp_equiv : Equiv sProp := sProp_equiv'.
-  Inductive sProp_dist' (n : nat) (P Q : sProp) : Prop :=
-    { sProp_in_dist : ∀ n', n' ≤ n → P n' ↔ Q n' }.
-  Instance sProp_dist : Dist sProp := sProp_dist'.
-  Definition sProp_ofe_mixin : OfeMixin sProp.
-  Proof.
-    split.
-    - intros P Q; split.
-      + intros HPQ n; split=>??; apply HPQ.
-      + intros HPQ; split=>?; eapply HPQ; auto.
-    - intros n; split.
-      + by intros P; split.
-      + by intros P Q HPQ; split=> ??; symmetry; apply HPQ.
-      + by intros P Q Q' HP HQ; split=> n' ?; trans (Q n'); [apply HP|apply HQ].
-    - intros n P Q HPQ; split=> ??. apply HPQ. auto.
-  Qed.
-  Canonical Structure sPropC : ofeT := OfeT (sProp) sProp_ofe_mixin.
-
-  Program Definition sProp_compl : Compl sPropC := λ c,
-    {| sProp_holds n := c n n |}.
-  Next Obligation.
-    move => c n1 n2 Hn12 /(sProp_holds_mono _ _ _ Hn12) H.
-    by apply (chain_cauchy c _ _ Hn12).
-  Qed.
-  Global Program Instance sProp_cofe : Cofe sPropC := {| compl := sProp_compl |}.
-  Next Obligation. intros n. split=>n' Hn'. symmetry. by apply (chain_cauchy c). Qed.
-End sProp_cofe.
-Arguments sPropC : clear implicits.
-
-Instance sProp_proper : Proper ((≡) ==> (=) ==> iff) sProp_holds.
-Proof. by move=> ??[?]??->. Qed.
-
-Global Instance limit_preserving_sprop `{Cofe A} (P : A → sPropC) :
-  NonExpansive P → LimitPreserving (λ x, ∀ n, P x n).
-Proof.
-  intros ? c Hc n. specialize (Hc n n).
-  assert (Hcompl : P (compl c) ≡{n}≡ P (c n)) by by rewrite (conv_compl n c).
-  by apply Hcompl.
-Qed.
-
-Section uPred1.
-
-Context {M : ucmraT}.
-
-(* TODO : use logical connectives in sProp *)
-Program Definition uPred1_valid (P : M -n> sPropC) : sPropC :=
-  SProp (λ n, ∀ n', n' ≤ n →
-         (∀ x1 x2, x1 ≼{n'} x2 → P x1 n' → P x2 n') ∧
-         (∀ x, (∀ n'', n'' ≤ n' → ✓{n''} x → P x n'') → P x n')) _.
-Next Obligation. move=>??? /= H. by setoid_rewrite H. Qed.
-Instance uPred1_valid_ne : NonExpansive uPred1_valid.
-Proof.
-  split=>??. repeat ((apply forall_proper=>?) || f_equiv).
-  - split=> HH ?; apply H, HH, H=>//; lia.
-  - split=> HH ?; (apply H, HH; [lia|])=> ???; (apply H; [lia|auto]).
-Qed.
-
-Definition uPred1 :=
-  sigC (λ (P : M -n> sPropC), ∀ n, uPred1_valid P n).
-Global Instance uPred1_cofe : Cofe uPred1.
-Proof. eapply @sig_cofe, limit_preserving_sprop, _. Qed.
-
-Program Definition uPred_of_uPred1 (P : uPred1) : uPred M :=
-  {| uPred_holds n x := `P x n |}.
-Next Obligation.
-  intros P ?????. by eapply (proj1 (proj2_sig P _ _ (le_refl _))).
-Qed.
-Next Obligation. move => /= ????? Hle. by rewrite ->Hle. Qed.
-
-Global Instance uPred_of_uPred1_ne : NonExpansive uPred_of_uPred1.
-Proof.
-  move=>??? EQ. split=>? x ??. specialize (EQ x). by split=>H; apply EQ.
-Qed.
-Global Instance uPred_of_uPred1_proper : Proper ((≡) ==> (≡)) uPred_of_uPred1.
-Proof. apply (ne_proper _). Qed.
-
-Program Definition uPred1_of_uPred (P : uPred M) : uPred1 :=
-  λne x, SProp (λ n, ∀ n', n' ≤ n → ✓{n'}x → P n' x) _.
-Next Obligation. move => ???? /= Hle ?. by setoid_rewrite -> Hle. Qed. 
-Next Obligation.
-  move => ???? H. split=>??. do 2 apply forall_proper=>?.
-  split=>HH ?;
-    (eapply uPred_ne; [eapply dist_le; [by symmetry|lia]|]);
-    (eapply HH, cmra_validN_ne; [eapply dist_le|]=>//; lia).
-Qed.
-Next Obligation.
-  split.
-  - move=>??? HP ???. eapply uPred_mono, cmra_includedN_le=>//.
-    eapply HP, cmra_validN_includedN=>//. eapply cmra_includedN_le=>//.
-  - move=>? HP ???. by eapply HP.
-Qed.
-
-Global Instance uPred1_of_uPred_ne : NonExpansive uPred1_of_uPred.
-Proof.
-  move=>??? EQ. split=>??. do 3 apply forall_proper=>?. apply EQ=>//. lia.
-Qed.
-Global Instance uPred1_of_uPred_proper : Proper ((≡) ==> (≡)) uPred1_of_uPred.
-Proof. apply (ne_proper _). Qed.
-
-Lemma uPred1_of_uPred_of_uPred1 P : uPred1_of_uPred (uPred_of_uPred1 P) ≡ P.
-Proof.
-  split=>?; split=>HP.
-  - apply (proj2 (proj2_sig P _ _ (le_refl _)))=>???. by apply HP.
-  - move=>? Hle ?. unfold uPred_holds=>/=. by rewrite ->Hle.
-Qed.
-
-Lemma uPred_of_uPred1_of_uPred P : uPred_of_uPred1 (uPred1_of_uPred P) ≡ P.
-Proof.
-  split=>?; split=>HP.
-  - by apply HP.
-  - move=>???. by eapply uPred_closed.
-Qed.
-
-End uPred1.
-Arguments  uPred1 _ : clear implicits.
-
-Section uPred2.
-Context {M : ucmraT}.
-
-Record uPred2 : Type := IProp {
-  uPred2_holds :> M → sProp;
-  uPred2_mono n x1 x2 : uPred2_holds x1 n → x1 ≼{n} x2 → uPred2_holds x2 n
-}.
-
-Section cofe.
-  Inductive uPred2_equiv' (P Q : uPred2) : Prop :=
-    { uPred_in_equiv : ∀ n x, ✓{n} x → P x n ↔ Q x n }.
-  Instance uPred2_equiv : Equiv uPred2 := uPred2_equiv'.
-  Inductive uPred2_dist' (n : nat) (P Q : uPred2) : Prop :=
-    { uPred_in_dist : ∀ n' x, n' ≤ n → ✓{n'} x → P x n' ↔ Q x n' }.
-  Instance uPred_dist : Dist uPred2 := uPred2_dist'.
-  Definition uPred2_ofe_mixin : OfeMixin uPred2.
-  Proof.
-    split.
-    - intros P Q; split.
-      + by intros HPQ n; split=> i x ??; apply HPQ.
-      + intros HPQ; split=> n x ?; apply HPQ with n; auto.
-    - intros n; split.
-      + by intros P; split=> x i.
-      + by intros P Q HPQ; split=> x i ??; symmetry; apply HPQ.
-      + intros P Q Q' HP HQ; split=> i x ??.
-        by trans (Q x i);[apply HP|apply HQ].
-    - intros n P Q HPQ; split=> i x ??; apply HPQ; auto.
-  Qed.
-  Canonical Structure uPred2C : ofeT := OfeT uPred2 uPred2_ofe_mixin.
-
-  Program Definition uPred2_compl : Compl uPred2C := λ c,
-    {| uPred2_holds x := SProp (λ n, ∀ n', n' ≤ n → ✓{n'}x → c n x n') _ |}.
-  Next Obligation.
-    move => c ? n1 n2 /= Hn12 H ???. apply (chain_cauchy c _ _ Hn12)=>//.
-    apply H. lia. done.
-  Qed.
-  Next Obligation.
-    move => ???? HH ????. eapply uPred2_mono, cmra_includedN_le=>//.
-    apply HH=>//. eapply cmra_validN_includedN=>//.
-    by eapply cmra_includedN_le.
-  Qed.
-  Global Program Instance uPred2_cofe :
-    Cofe uPred2C := {| compl := uPred2_compl |}.
-  Next Obligation.
-    intro n. split. move => ?? Hle. split=>HP.
-    - apply (chain_cauchy c _ _ Hle)=>//. by apply HP.
-    - move=> ???. eapply sProp_holds_mono=>//.
-      eapply (chain_cauchy c _ n), HP=>//.
-  Qed.
-End cofe.
-
-Program Definition uPred2_of_uPred1 (P : uPred1 M) : uPred2 :=
-  {| uPred2_holds x := `P x |}.
-Next Obligation.
-  move=>/= P ?????. by eapply (proj1 (proj2_sig P _ _ (le_refl _))).
-Qed.
-Global Instance uPred2_of_uPred1_ne : NonExpansive uPred2_of_uPred1.
-Proof. move=>??? EQ. split=>????. by apply EQ. Qed.
-Global Instance uPred2_of_uPred1_proper : Proper ((≡) ==> (≡)) uPred2_of_uPred1.
-Proof. apply (ne_proper _). Qed.
-
-Program Definition uPred1_of_uPred2 (P : uPred2) : uPred1 M :=
-  λne x, SProp (λ n, ∀ n', n' ≤ n → ✓{n'}x → P x n') _.
-Next Obligation. move=>???? HLE ??. rewrite <-HLE. auto. Qed.
-Next Obligation.
-  split=>??. do 2 apply forall_proper=>?.
-  split=>HH ?; (eapply uPred2_mono, cmra_includedN_le;
-   [eapply HH, cmra_validN_ne; [eapply dist_le; [done|lia]|done]|
-                                by rewrite H|lia]).
-Qed.
-Next Obligation.
-  split.
-  - move=>??? HH ???. eapply uPred2_mono; [|by eapply cmra_includedN_le].
-    by eapply HH, cmra_validN_includedN, cmra_includedN_le.
-  - move=>? HH ???. by eapply HH.
-Qed.
-Global Instance uPred1_of_uPred2_ne : NonExpansive uPred1_of_uPred2.
-Proof.
-  move=> ??? EQ. split=>??. do 3 eapply forall_proper=>?.
-  apply EQ. lia. done.
-Qed.
-
-Lemma uPred1_of_uPred2_of_uPred1 P : uPred1_of_uPred2 (uPred2_of_uPred1 P) ≡ P.
-Proof.
-  split=>?. split=>HP.
-  - apply (proj2 (proj2_sig P _ _ (le_refl _))). intros. by apply HP.
-  - intros ???. by eapply sProp_holds_mono, HP.
-Qed.
-
-Lemma uPred2_of_uPred1_of_uPred2 P : uPred2_of_uPred1 (uPred1_of_uPred2 P) ≡ P.
-Proof.
-  split=>?. split=>HP.
-  - by apply HP.
-  - intros ???. by eapply sProp_holds_mono, HP.
-Qed.
-
-End uPred2.
-Arguments uPred2 _ : clear implicits.
-Arguments uPred2C _ : clear implicits.