diff --git a/tex/iris.sty b/tex/iris.sty
index 7d29b29050623c3e325f364ef7df70af0d0fe17d..7490f6ea24525adaf8280fd3d1114a3e18e771ac 100644
--- a/tex/iris.sty
+++ b/tex/iris.sty
@@ -332,8 +332,25 @@
 
 %% Hoare Triples
 
-% needs extra {...} for some weird reason
-\newcommand{\curlybracket}[1]{{\left\{#1\right\}}}
+\newcommand*{\hoaresizebox}[1]{%
+  \hbox{$\mathsurround=0pt{#1}\mathstrut$}}
+\newcommand*{\hoarescalebox}[2]{%
+  \hbox{\scalerel*[1ex]{#1}{#2}}}
+\newcommand{\triple}[5]{%
+  \setbox0=\hoaresizebox{{#3}{#5}}%
+  \setbox1=\hoarescalebox{#1}{\copy0}%
+  \setbox2=\hoarescalebox{#2}{\copy0}%
+  \copy1{#3}\copy2%
+  \; #4 \;%
+  \copy1{#5}\copy2}
+
+\newcommand{\bracket}[4][]{%
+  \setbox0=\hbox{$\mathsurround=0pt{#1}{#4}\mathstrut$}%
+  \scalerel*[1ex]{#2}{\copy0}%
+  {#4}%
+  \scalerel*[1ex]{#3}{\copy0}}
+\newcommand{\curlybracket}[2][]{\bracket[{#1}]\{\}{#2}}
+\newcommand{\anglebracket}[2][]{\bracket[{#1}]\langle\rangle{#2}}
 
 \NewDocumentCommand \hoare {m m m O{}}{
 	\curlybracket{#1}\spac #2 \spac \curlybracket{#3}_{#4}%