diff --git a/examples.ipynb b/examples.ipynb
index db3873b435b35ba61bd2012a68e82192764370da..6d16ae9beb806b0ac93463b91a5581fc91e94beb 100644
--- a/examples.ipynb
+++ b/examples.ipynb
@@ -1,5 +1,13 @@
 {
  "cells": [
+  {
+   "cell_type": "markdown",
+   "id": "63724666",
+   "metadata": {},
+   "source": [
+    "# Utilities"
+   ]
+  },
   {
    "cell_type": "code",
    "execution_count": 1,
@@ -30,45 +38,156 @@
     "    pass"
    ]
   },
+  {
+   "cell_type": "markdown",
+   "id": "0b574b63",
+   "metadata": {},
+   "source": [
+    "# Define Cherns in Examples"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "f1c3a606",
+   "metadata": {},
+   "source": [
+    "Define two recurring examples used to illustrate performance of the different theorems to find semistabilizer bounds:"
+   ]
+  },
   {
    "cell_type": "code",
    "execution_count": 2,
-   "id": "77fff07c",
+   "id": "30d3738a",
    "metadata": {},
-   "outputs": [],
+   "outputs": [
+    {
+     "data": {
+      "text/html": [
+       "<html>\\(\\displaystyle \\text{Chern Character:} \\\\ \\begin{array}{l} \\mathrm{ch}_{0} = 3 \\\\ \\mathrm{ch}_{1} = 2 \\ell^{1} \\\\ \\mathrm{ch}_{2} = -2 \\ell^{2} \\end{array}\\)</html>"
+      ],
+      "text/latex": [
+       "$\\displaystyle \\text{Chern Character:} \\\\ \\begin{array}{l} \\mathrm{ch}_{0} = 3 \\\\ \\mathrm{ch}_{1} = 2 \\ell^{1} \\\\ \\mathrm{ch}_{2} = -2 \\ell^{2} \\end{array}$"
+      ],
+      "text/plain": [
+       "<pseudowalls.chern_character.Chern_Char object at 0x7f679c692150>"
+      ]
+     },
+     "execution_count": 2,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
    "source": [
-    "var(\"m\") # Initialize symbol for variety parameter\n",
     "recurring = Object()\n",
     "recurring.chern = Chern_Char(3, 2, -2)\n",
-    "recurring.b = beta_minus(recurring.chern)\n",
-    "recurring.twisted = recurring.chern.twist(recurring.b)\n",
-    "# RENDERED TO LATEX: recurring.b\n",
-    "# RENDERED TO LATEX: recurring.b.denominator()\n",
-    "# RENDERED TO LATEX: recurring.twisted.ch[1]\n",
-    "n = recurring.b.denominator()\n",
-    "m = 2\n",
-    "recurring.loose_bound = (\n",
-    "    m*n^2*recurring.twisted.ch[1]^2\n",
-    ") / gcd(m, 2*n^2)\n",
-    "# RENDERED TO LATEX: loose_bound\n",
+    "recurring.chern"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 3,
+   "id": "fe394909",
+   "metadata": {
+    "scrolled": false
+   },
+   "outputs": [
+    {
+     "data": {
+      "text/html": [
+       "<html>\\(\\displaystyle \\text{Chern Character:} \\\\ \\begin{array}{l} \\mathrm{ch}_{0} = 29 \\\\ \\mathrm{ch}_{1} = 13 \\ell^{1} \\\\ \\mathrm{ch}_{2} = -\\frac{3}{2} \\ell^{2} \\end{array}\\)</html>"
+      ],
+      "text/latex": [
+       "$\\displaystyle \\text{Chern Character:} \\\\ \\begin{array}{l} \\mathrm{ch}_{0} = 29 \\\\ \\mathrm{ch}_{1} = 13 \\ell^{1} \\\\ \\mathrm{ch}_{2} = -\\frac{3}{2} \\ell^{2} \\end{array}$"
+      ],
+      "text/plain": [
+       "<pseudowalls.chern_character.Chern_Char object at 0x7f67924d6810>"
+      ]
+     },
+     "execution_count": 3,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
     "extravagant = Object()\n",
     "extravagant.chern = Chern_Char(29, 13, -3/2)\n",
-    "extravagant.b = beta_minus(extravagant.chern)\n",
-    "extravagant.twisted = extravagant.chern.twist(extravagant.b)\n",
-    "extravagant.actual_rmax = 49313\n",
-    "# RENDERED TO LATEX: extravagant.b\n",
-    "# RENDERED TO LATEX: extravagant.b.denominator()\n",
-    "# RENDERED TO LATEX: extravagant.twisted.ch[1]\n",
-    "n = extravagant.b.denominator()\n",
-    "m = 2\n",
-    "extravagant.loose_bound = (\n",
-    "    m*n^2*extravagant.twisted.ch[1]^2\n",
-    ") / gcd(m, 2*n^2)"
+    "extravagant.chern"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "09692ba5",
+   "metadata": {},
+   "source": [
+    "# Calculate Preliminary Quantities"
    ]
   },
   {
    "cell_type": "code",
-   "execution_count": 3,
+   "execution_count": 4,
+   "id": "7576ebe4",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "m = 1 # value of $\\ell^2$\n",
+    "\n",
+    "# add attributes for ...\n",
+    "for example in [recurring, extravagant]:\n",
+    "    example.betaminus = beta_minus(example.chern)\n",
+    "    example.twisted = example.chern.twist(example.betaminus)\n",
+    "    example.n = example.betaminus.denominator()\n",
+    "    example.bgmlv = example.chern.Q_tilt()\n",
+    "\n",
+    "# Actual maximal rank of Pseudo-Semistabilizers\n",
+    "# (needs to be calculated elsewhere)\n",
+    "recurring.actual_rmax = 25\n",
+    "extravagant.actual_rmax = 49313"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "500abba3",
+   "metadata": {},
+   "source": [
+    "# First Loose Bound"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "f3e61899",
+   "metadata": {},
+   "source": [
+    "Formula for loose bound:"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 5,
+   "id": "77fff07c",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "def loose_bound(example):\n",
+    "    n = example.n\n",
+    "    twisted = example.twisted\n",
+    "    return ( m*n^2*twisted.ch[1]^2\n",
+    "    ) / gcd(m, 2*n^2)\n",
+    "\n",
+    "for example in [recurring, extravagant]:\n",
+    "    example.loose_bound = loose_bound(example)"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "218fa169",
+   "metadata": {},
+   "source": [
+    "Loose bounds for the two examples:"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 6,
    "id": "9edbb954",
    "metadata": {},
    "outputs": [
@@ -84,7 +203,7 @@
        "144"
       ]
      },
-     "execution_count": 3,
+     "execution_count": 6,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -95,7 +214,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 4,
+   "execution_count": 7,
    "id": "21b52c4d",
    "metadata": {},
    "outputs": [
@@ -111,7 +230,7 @@
        "215296"
       ]
      },
-     "execution_count": 4,
+     "execution_count": 7,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -120,55 +239,90 @@
     "extravagant.loose_bound"
    ]
   },
+  {
+   "cell_type": "markdown",
+   "id": "22bc4b5f",
+   "metadata": {},
+   "source": [
+    "# Stronger Convenient Bound"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "ee140573",
+   "metadata": {},
+   "source": [
+    "Use expression for bound used in main document"
+   ]
+  },
   {
    "cell_type": "code",
-   "execution_count": 5,
+   "execution_count": 8,
    "id": "712b7324",
    "metadata": {},
    "outputs": [],
    "source": [
-    "from plots_and_expressions import r_upper_bound_all_q, Delta, nu, n, R"
+    "from plots_and_expressions import \\\n",
+    "r_upper_bound_all_q, Delta, nu, n, R\n",
+    "# Delta: symbol for Δ(v)\n",
+    "# n: symbol for denominator for β_(v)\n",
+    "# R : symbol for chern_0(v)\n",
+    "# nu : ..."
    ]
   },
   {
    "cell_type": "code",
-   "execution_count": 6,
-   "id": "ab9a828f",
-   "metadata": {},
-   "outputs": [],
+   "execution_count": 9,
+   "id": "5814dd1d",
+   "metadata": {
+    "scrolled": true
+   },
+   "outputs": [
+    {
+     "data": {
+      "text/html": [
+       "<html>\\(\\displaystyle \\frac{{\\left(R + \\frac{\\Delta n^{2}}{\\nu^{2}}\\right)}^{2} \\nu^{2}}{4 \\, \\Delta n^{2}}\\)</html>"
+      ],
+      "text/latex": [
+       "$\\displaystyle \\frac{{\\left(R + \\frac{\\Delta n^{2}}{\\nu^{2}}\\right)}^{2} \\nu^{2}}{4 \\, \\Delta n^{2}}$"
+      ],
+      "text/plain": [
+       "1/4*(R + Delta*n^2/nu^2)^2*nu^2/(Delta*n^2)"
+      ]
+     },
+     "execution_count": 9,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
    "source": [
-    "recurring.n = recurring.b.denominator()\n",
-    "recurring.bgmlv = recurring.chern.Q_tilt()\n",
-    "recurring.corrolary_bound = (\n",
-    "    r_upper_bound_all_q.expand()\n",
-    "    .subs(Delta==recurring.bgmlv)\n",
-    "    .subs(nu==1) ## \\ell^2=1 on P^2\n",
-    "    .subs(R==recurring.chern.ch[0])\n",
-    "    .subs(n==recurring.n)\n",
-    ")"
+    "r_upper_bound_all_q"
    ]
   },
   {
    "cell_type": "code",
-   "execution_count": 7,
-   "id": "2965357d",
+   "execution_count": 10,
+   "id": "43aa5f56",
    "metadata": {},
    "outputs": [],
    "source": [
-    "extravagant.n = extravagant.b.denominator()\n",
-    "extravagant.bgmlv = extravagant.chern.Q_tilt()\n",
-    "extravagant.corrolary_bound = (r_upper_bound_all_q\n",
-    "    .expand()\n",
-    "    .subs(Delta==extravagant.bgmlv)\n",
-    "    .subs(nu==1) ## \\ell^2=1 on P^2\n",
-    "    .subs(R==extravagant.chern.ch[0])\n",
-    "    .subs(n==extravagant.n)\n",
-    ")"
+    "def corrolary_bound(example):\n",
+    "    return (\n",
+    "        r_upper_bound_all_q.expand()\n",
+    "        .subs(Delta==example.bgmlv)\n",
+    "        .subs(nu==1)\n",
+    "        .subs(R==example.chern.ch[0])\n",
+    "        .subs(n==example.n)\n",
+    "    )\n",
+    "\n",
+    "\n",
+    "for example in [recurring, extravagant]:\n",
+    "    example.corrolary_bound = corrolary_bound(example)"
    ]
   },
   {
    "cell_type": "code",
-   "execution_count": 8,
+   "execution_count": 11,
    "id": "5baed51c",
    "metadata": {},
    "outputs": [
@@ -184,7 +338,7 @@
        "53838.5009765625"
       ]
      },
-     "execution_count": 8,
+     "execution_count": 11,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -195,7 +349,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 9,
+   "execution_count": 12,
    "id": "fcc15f60",
    "metadata": {},
    "outputs": [
@@ -211,7 +365,7 @@
        "37.515625"
       ]
      },
-     "execution_count": 9,
+     "execution_count": 12,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -220,9 +374,17 @@
     "float(recurring.corrolary_bound)"
    ]
   },
+  {
+   "cell_type": "markdown",
+   "id": "e678a488",
+   "metadata": {},
+   "source": [
+    "# Stronger Complicated Bounds"
+   ]
+  },
   {
    "cell_type": "code",
-   "execution_count": 10,
+   "execution_count": 13,
    "id": "ef8f09ff",
    "metadata": {},
    "outputs": [],
@@ -230,8 +392,8 @@
     "import numpy as np\n",
     "\n",
     "def bound_comparisons(example):\n",
-    "    n = example.b.denominator()\n",
-    "    a_v = example.b.numerator()\n",
+    "    n = example.n\n",
+    "    a_v = example.betaminus.numerator()\n",
     "\n",
     "    def theorem_bound(v_twisted, q_val, k):\n",
     "        return int(min(\n",
@@ -261,9 +423,20 @@
     "    return qs, theorem2_bounds, theorem3_bounds"
    ]
   },
+  {
+   "cell_type": "markdown",
+   "id": "b1c51cd8",
+   "metadata": {},
+   "source": [
+    "Array content:\n",
+    "- First row: $q$-values\n",
+    "- Second row: Theorem 1 bounds on $ch_0(u)$ for u solutions to prob with $ch_1^{\\beta}=q$\n",
+    "- Second row: Theorem 2 bounds on $ch_0(u)$ for u solutions to prob with $ch_1^{\\beta}=q$"
+   ]
+  },
   {
    "cell_type": "code",
-   "execution_count": 11,
+   "execution_count": 14,
    "id": "9cd102ac",
    "metadata": {},
    "outputs": [
@@ -289,7 +462,7 @@
        "       [0, 0, 4, 3, 8, 25, 12, 15, 19, 6, 5, 4, 3]], dtype=object)"
       ]
      },
-     "execution_count": 11,
+     "execution_count": 14,
      "metadata": {},
      "output_type": "execute_result"
     }
diff --git a/main.tex b/main.tex
index 0f6fef2bd86f0311d26529625dc2502caea32b01..a2c4821cb484cc2da7eda6f8e2a84b5b93e3321a 100644
--- a/main.tex
+++ b/main.tex
@@ -710,9 +710,9 @@ from examples import recurring
 \begin{example}[$v=(3, 2\ell, -2)$ on $\PP^2$]
 \label{exmpl:recurring-first}
 Taking $\ell=c_1(\mathcal{O}(1))$ as the standard polarization on $\PP^2$, so
-that $m=2$, $\beta_-=\sage{recurring.b}$,
-giving $n=\sage{recurring.b.denominator()}$ and
-$\chern_1^{\sage{recurring.b}}(F) = \sage{recurring.twisted.ch[1]}$.
+that $m=2$, $\beta_-=\sage{recurring.betaminus}$,
+giving $n=\sage{recurring.n}$ and
+$\chern_1^{\sage{recurring.betaminus}}(F) = \sage{recurring.twisted.ch[1]}$.
 
 Using the above theorem \ref{thm:loose-bound-on-r}, we get that the ranks of
 tilt semistabilizers for $v$ are bounded above by $\sage{recurring.loose_bound}$.
@@ -728,9 +728,9 @@ from examples import extravagant
 \begin{example}[extravagant example: $v=(29, 13\ell, -3/2)$ on $\PP^2$]
 \label{exmpl:extravagant-first}
 Taking $\ell=c_1(\mathcal{O}(1))$ as the standard polarization on $\PP^2$, so
-that $m=2$, $\beta_-=\sage{extravagant.b}$,
-giving $n=\sage{extravagant.b.denominator()}$ and
-$\chern_1^{\sage{extravagant.b}}(F) = \sage{extravagant.twisted.ch[1]}$.
+that $m=2$, $\beta_-=\sage{extravagant.betaminus}$,
+giving $n=\sage{extravagant.n}$ and
+$\chern_1^{\sage{extravagant.betaminus}}(F) = \sage{extravagant.twisted.ch[1]}$.
 
 Using the above theorem \ref{thm:loose-bound-on-r}, we get that the ranks of
 tilt semistabilizers for $v$ are bounded above by $\sage{extravagant.loose_bound}$.
@@ -1338,8 +1338,8 @@ stated in the corollary.
 \label{exmpl:recurring-second}
 Just like in example \ref{exmpl:recurring-first}, take
 $\ell=c_1(\mathcal{O}(1))$ as the standard polarization on $\PP^2$, so
-that $m=2$, $\beta=\sage{recurring.b}$,
-giving $n=\sage{recurring.b.denominator()}$.
+that $m=2$, $\beta=\sage{recurring.betaminus}$,
+giving $n=\sage{recurring.n}$.
 
 Using the above corollary \ref{cor:direct_rmax_with_uniform_eps}, we get that
 the ranks of tilt semistabilizers for $v$ are bounded above by
@@ -1351,8 +1351,8 @@ which is much closer to real maximum 25 than the original bound 144.
 \label{exmpl:extravagant-second}
 Just like in example \ref{exmpl:extravagant-first}, take
 $\ell=c_1(\mathcal{O}(1))$ as the standard polarization on $\PP^2$, so
-that $m=2$, $\beta=\sage{extravagant.b}$,
-giving $n=\sage{extravagant.b.denominator()}$.
+that $m=2$, $\beta=\sage{extravagant.betaminus}$,
+giving $n=\sage{extravagant.n}$.
 
 Using the above corollary \ref{cor:direct_rmax_with_uniform_eps}, we get that
 the ranks of tilt semistabilizers for $v$ are bounded above by
@@ -1516,8 +1516,8 @@ $\epsilon_{v,q}\geq\epsilon_v$, with equality when $k_{v,q}=1$.
 Just like in examples \ref{exmpl:recurring-first} and
 \ref{exmpl:recurring-second},
 take $\ell=c_1(\mathcal{O}(1))$ as the standard polarization on $\PP^2$, so that
-$\beta=\sage{recurring.b}$, giving $n=\sage{recurring.b.denominator()}$
-and $\chern_1^{\sage{recurring.b}}(F) = \sage{recurring.twisted.ch[1]}$.
+$\beta=\sage{recurring.betaminus}$, giving $n=\sage{recurring.n}$
+and $\chern_1^{\sage{recurring.betaminus}}(F) = \sage{recurring.twisted.ch[1]}$.
 %% TODO transcode notebook code
 The (non-exclusive) upper bounds for $r\coloneqq\chern_0(u)$ of a tilt semistabilizer $u$ of $v$
 in terms of the possible values for $q\coloneqq\chern_1^{\beta}(u)$ are as follows:
@@ -1565,8 +1565,8 @@ was 144.
 Just like in examples \ref{exmpl:extravagant-first} and
 \ref{exmpl:extravagant-second},
 take $\ell=c_1(\mathcal{O}(1))$ as the standard polarization on $\PP^2$, so that
-$\beta=\sage{extravagant.b}$, giving $n=\sage{n:=extravagant.b.denominator()}$
-and $\chern_1^{\sage{extravagant.b}}(F) = \sage{extravagant.twisted.ch[1]}$.
+$\beta=\sage{extravagant.betaminus}$, giving $n=\sage{n:=extravagant.n}$
+and $\chern_1^{\sage{extravagant.betaminus}}(F) = \sage{extravagant.twisted.ch[1]}$.
 This example was chosen because the $n$ value is moderatly large, giving more
 possible values for $k_{v,q}$, in dfn/lemma \ref{lemdfn:epsilon_q}. This allows
 for a larger possible difference between the bounds given by theorems