diff --git a/theories/lang/adequacy.v b/theories/lang/adequacy.v
index e402dc73b900954a424559ec860b0ee55769d80f..2534ddfd58bf9c8dc6773f684a45973cb15fdf6d 100644
--- a/theories/lang/adequacy.v
+++ b/theories/lang/adequacy.v
@@ -15,7 +15,7 @@ Definition heapΣ : gFunctors :=
     GFunctor (constRF (authR heapUR));
     GFunctor (constRF (authR heap_freeableUR))].
 Instance subG_heapPreG {Σ} : subG heapΣ Σ → heapPreG Σ.
-Proof. intros [? [?%subG_inG ?%subG_inG]%subG_inv]%subG_inv. split; apply _. Qed.
+Proof. solve_inG. Qed.
 
 Definition heap_adequacy Σ `{heapPreG Σ} e σ φ :
   (∀ `{heapG Σ}, {{ heap_ctx }} e {{ v, ⌜φ v⌝ }}) →
diff --git a/theories/lifetime/lifetime_sig.v b/theories/lifetime/lifetime_sig.v
index 675899ed9c01d0563b13b56de4049a202821af8c..aea0750cc29e55084d8b45700c722b2d83ca56c0 100644
--- a/theories/lifetime/lifetime_sig.v
+++ b/theories/lifetime/lifetime_sig.v
@@ -61,11 +61,7 @@ Definition lftΣ : gFunctors :=
      GFunctor (authR borUR); GFunctor (authR natUR); GFunctor (authR inhUR) ].
 Instance subG_stsΣ Σ :
   subG lftΣ Σ → lftPreG Σ.
-Proof.
-  intros [? [?%subG_inG [?%subG_inG [?%subG_inG [?%subG_inG
-             ?%subG_inG]%subG_inv]%subG_inv]%subG_inv]%subG_inv]%subG_inv.
-  split; first apply _; done.
-Qed.
+Proof. solve_inG. Qed.
 
 Module Type lifetime_sig.
   (** Definitions *)