Theorems

- Home
- Forum
- Help
- Features
- News
- Users
- TODO
- Known Bugs
- Acknowledgements
- Sandbox

Instiki supports something resembling the amsthm Theorem Environments.

The following input

```
+-- {: .un_defn}
###### Definition
Let $H$ be a subgroup of a group $G$. A *left coset* of
$H$ in $G$ is a subset of $G$ that is of the form $x H$,
where $x \in G$ and $x H = \{ x h : h \in H \}$.
Similarly a *right coset* of $H$ in $G$ is a subset of $G$
that is of the form $H x$, where $H x = \{ h x : h \in H\}$.
=--
```

produces an *un-numbered* **Definition**:

Let $H$ be a subgroup of a group $G$. A *left coset* of $H$ in $G$ is a subset of $G$ that is of the form $x H$, where $x \in G$ and $x H = \{ x h : h \in H \}$.

Similarly a *right coset* of $H$ in $G$ is a subset of $G$ that is of the form $H x$, where $H x = \{ h x : h \in H \}$.

Similarly, the input

```
+-- {: .num_lemma #LeftCosetsDisjoint}
###### Lemma
Let $H$ be a subgroup of a group $G$, and let $x$ and $y$ be elements
of $G$. Suppose that $x H \cap y H$ is non-empty. Then $x H = y H$.
=--
+-- {: .proof}
###### Proof
Let $z$ be some element of $x H \cap y H$. Then $z = x a$ for some
$a \in H$, and $z = y b$ for some $b \in H$. If $h$ is any element
of $H$ then $a h \in H$ and $a^{-1}h \in H$, since $H$ is a subgroup
of $G$. But $z h = x(a h)$ and $x h = z(a^{-1}h)$ for all $h \in H$.
Therefore $z H \subset x H$ and $x H \subset z H$, and thus
$x H = z H$. Similarly $y H = z H$, and thus $x H = y H$, as required.
=--
+-- {: .num_lemma #SizeOfLeftCoset}
###### Lemma
Let $H$ be a finite subgroup of a group $G$. Then each left
coset of $H$ in $G$ has the same number of elements as $H$.
=--
+-- {: .num_theorem #Lagrange}
###### Theorem
**(Lagrange's Theorem)**. Let $G$ be a finite group, and let $H$ be a
subgroup of $G$. Then the order of $H$ divides the order of $G$.
=--
```

produces a *numbered* **Lemma**, followed by a **Proof**, followed by another numbered **Lemma** and a numbered **Theorem**:

Let $H$ be a subgroup of a group $G$, and let $x$ and $y$ be elements of $G$. Suppose that $x H \cap y H$ is non-empty. Then $x H = y H$.

Let $z$ be some element of $x H \cap y H$. Then $z = x a$ for some $a \in H$, and $z = y b$ for some $b \in H$. If $h$ is any element of $H$ then $a h \in H$ and $a^{-1}h \in H$, since $H$ is a subgroup of $G$. But $z h = x(a h)$ and $x h = z(a^{-1}h)$ for all $h \in H$. Therefore $z H \subset x H$ and $x H \subset z H$, and thus $x H = z H$. Similarly $y H = z H$, and thus $x H = y H$, as required.

Let $H$ be a finite subgroup of a group $G$. Then each left coset of $H$ in $G$ has the same number of elements as $H$.

**(Lagrange’s Theorem)**. Let $G$ be a finite group, and let $H$ be a subgroup of $G$. Then the order of $H$ divides the order of $G$.

These can be linked-to in the obvious fashion.

` See Lemma \ref{LeftCosetsDisjoint}.`

produces

See Lemma 1.

as you’d expect. Note that each type of numbered Theorem-like environment has its own number counter.

The key is in the CSS classes.

` .proof`

produces a **Proof** environment.

` .num_*`

where “`*`

” is one of

```
theorem (for Theorem)
lemma (for Lemma)
prop (for Proposition)
cor (for Corollary)
defn (for Definition)
example (for Example)
remark (for Remark)
note (for Note)
```

produces a numbered **Theorem** (**Lemma**, … etc).

`.un_*`

produces the corresponding *un-numbered* version.

The above examples were drawn from here, though the LaTeX output (as can be seen, by clicking on the `TeX`

link at the bottom of the page) is, instead, `amsthm`

-compatible.

Extending this facility, with new Theorem-like environments is easy. For example, say we wish to add a **Conjecture** and a **Problem** environment.

In our LaTeX template, we will need

```
\theoremstyle{plain}
\newtheorem{conjecture}{Conjecture}
\newtheorem*{uconjecture}{Conjecture}
\theoremstyle{definition}
\newtheorem{problem}{Problem}
\newtheorem*{uproblem}{Problem}
```

(Note the naming convention: the un-numbered version has a “u” prepended to the name.)

The CSS styles for our wiki get augmented with

```
body {counter-reset: theorem lemma proposition corollary definition example remark note
conjecture problem}
.un_conjecture *, .num_conjecture * {font-style: italic}
.num_conjecture .theorem_label:after {
content: " " counter(conjecture); counter-increment: conjecture;}
.num_problem .theorem_label:after {
content: " " counter(problem); counter-increment: problem;}
```

and we’re now ready to use our newly-minted CSS class-names, `un_conjecture`

, `num_conjecture`

, `un_problem`

and `num_problem`

.