we can always extend functions on subspaces

[[concept]]

Topics

const fieldName = "theme"; // Your field with links
const oldPrefix = "Thoughts/01 Themes/";
const newPrefix = "Digital Garden/Topics/";
 
const relatedLinks = dv.current()[fieldName];
 
if (Array.isArray(relatedLinks)) {
    // Map over the links, replace the path, and output only clickable links
    dv.el("span",
        relatedLinks
            .map(link => {
                if (link && link.path) {
                    let newPath = link.path.startsWith(oldPrefix)
                        ? link.path.replace(oldPrefix, newPrefix)
                        : link.path;
                    return dv.fileLink(newPath);
                }
            })
            .filter(Boolean).join(", ") 
	// Remove any undefined/null items
    );
} else {
    dv.el(dv.current().theme);
}
 
 

Lemma

If is a normed vector space and is a subspace and is linear such that for all , and

  • Then there exists a function which is linear
  • (Where ) Such that and for all we have

Proof (of Lemma)

First, note that if then there exists unique and such that .

Thus, upon choosing , the map is well-defined on and is linear.

WLOG, suppose . We want to choose such that Once is fixed, is our continuous extension. When , this inequality holds regardless of (because it holds on ). Thus we only need to choose for . When , we have

\lvert u'(t) + a\lambda \rvert \leq \lvert \lvert t + ax \rvert \rvert&\iff \left\lvert \left\lvert u\left( \frac{t}{-a} \right) -\lambda \right\rvert \right\rvert \leq \left\lvert \left\lvert \frac{t}{-a} -x \right\rvert \right\rvert \quad\forall t \in M \\ &\iff \lvert u(t) - \lambda \rvert \leq \lvert \lvert t - x \rvert \rvert \quad\forall t \in M \end{align}$$ Since $\frac{t}{-a} \in M$. We first show there exists some $\alpha \in \mathbb{R}$ such that $$\lvert w(t) - \alpha \rvert \leq \lvert \lvert t-x \rvert \rvert \quad \forall t \in M$$ where $w(t) = \frac{u(t) - \overline{u(t)}}{2} = \mathrm{Re}(u(t))$. Now, note that $$\begin{align} \lvert w(t) \rvert & = \lvert \mathrm{Re}(u(t)) \rvert \\ & \leq \lvert u(t) \rvert \\ & \leq \lvert \lvert t \rvert \rvert \\ \implies w(t_{1}) - w(t_{2}) & =w(t_{1}-t_{2}) \quad \forall t_{1},t_{2} \in M\\ & \leq \lvert w(t_{1}-t_{2}) \rvert \\ & \leq \lvert \lvert t_{1}-t_{2} \rvert \rvert \\ & \leq \lvert \lvert t_{1}-x \rvert \rvert + \lvert \lvert t_{2}-x \rvert \rvert\\ \implies w(t_{1}) - \lvert \lvert t_{1}-x \rvert \rvert & \leq w(t_{2}) + \lvert \lvert t_{2}-x \rvert \rvert \quad\forall t_{1},t_{2}\in M \\ \implies \sup_{t \in M} w(t) -\lvert \lvert t-x \rvert \rvert & \leq w(t_{2}) + \lvert \lvert t_{2} - x \rvert \rvert \quad \forall t_{2} \in M\\ \implies \sup_{t \in M} w(t) -\lvert \lvert t-x \rvert \rvert & \leq\inf_{t \in M} w(t) + \lvert \lvert t-x \rvert \rvert \end{align}$$ So we can choose an $\alpha$ between these two quantities such that for all $t \in M$ we have $$\begin{align} w(t) - \lvert \lvert t-x \rvert \rvert &\leq \alpha &\leq w(t) + \lvert \lvert t-x \rvert \rvert \\ \implies - \lvert \lvert t-x \rvert \rvert &\leq \alpha - w(t) &\leq \lvert \lvert t-x \rvert \rvert \\ \implies \lvert w(t) - \alpha \rvert &\leq \lvert \lvert t-x \rvert \rvert \end{align}$$ Using the same process for the imaginary part of $u(t)$ and repeating the argument with $ix$, we can find a $\lambda$ such that the desired bound holds. > [!NOTE] > To see this, we can verify that since the bound holds on both the real and imaginary components of $x$, it holds for all complex multiples of $x$ This defines our function $$u'(t+ax) = u(t) + a\lambda$$ on all of $M +\mathbb{C}x$. Thus we are done. $$\tag*{$\blacksquare$}$$

We use this lemma in our proof for the Hahn-Banach theorem

Strategy for using this lemma to prove Hahn-Banach

  1. Place a partial order on all continuous extensions of
  2. Apply Zorn’s lemma to this set, giving us a maximal element
  3. Use this lemma to show that this maximal extension is defined on all of our desired space

References

References

See Also

Mentions

Mentions

const modules = await cJS()
 
const COLUMNS = [  
	{ id: "Name", value: page => page.$link },  
	{ id: "Last Modified", value: page => modules.dateTime.getLastMod(page) },
];  
  
return function View() {  
	const current = dc.useCurrentFile();
// Selecting `#game` pages, for example. 
	let queryString = `@page and linksto(${current.$link})`;
	let pages = dc.useQuery(queryString);
	
	// check types
	pages = pages.filter( (p) => !modules.typeCheck.checkAll(p, current) ).sort()
	
	
	return <dc.Table columns={COLUMNS} rows={pages} paging={20}/>;  
}  
const { dateTime } = await cJS()
 
return function View() {
	const file = dc.useCurrentFile();
	return <p class="dv-modified">Created {dateTime.getCreated(file)}     ֍     Last Modified {dateTime.getLastMod(file)}</p>
}