<p>There is no relationship.  They both use the word "free", but with different meanings of the word "free".  It's just an accidental collision, which will happen when you have a language like English with a fixed number of words and the number of concepts we want to talk about exceeds the number of words in the language.</p>

<p>A <em>free group</em> is, roughly, a group that is about as generic as possible (it has no special structure).  Here, the word free means "having no non-trivial strucutre", i.e., free of special equalities. </p>

<p>In contrast, a <em>free theorem</em> about some code (e.g., a function) is one that follows automatically from the type signature of that code.  Here, the word free means "at no cost" or "with no extra reasoning about the code required"; it's an automatic consequence of the type signature, regardless of the implementation/code of the function.</p>

CC BY-SA 3.0
2016-05-07T02:08:29.870Z
and yet free objects are, in a sense, generated from the axioms. Free theorems are generated (as you say "follow automatically") from the type signature.
Steven Shaw
CC BY-SA 3.0
2016-05-06T05:14:14.200Z
2016-05-06T05:14:14.200Z
D.W.
<p>What's the relationship between <a href="https://www.mpi-sws.org/~dreyer/tor/papers/wadler.pdf" rel="nofollow"><em>free theorems</em></a> and <a href="https://en.wikipedia.org/wiki/Free_object" rel="nofollow"><em>free objects</em></a> from algebra. They seem quite similar. I'm wondering if there's an underlying principle here.</p>

<algebra><parametricity>
What's the relationship between "free theorems" and "free objects"
Steven Shaw
# What's the relationship between "free theorems" and "free objects"

(Asked by: username_0 on 2016-05-06)

What's the relationship between [*free theorems*](https://www.mpi-sws.org/~dreyer/tor/papers/wadler.pdf) and [*free objects*](https://en.wikipedia.org/wiki/Free_object) from algebra. They seem quite similar. I'm wondering if there's an underlying principle here.

**Tags:** algebra, parametricity

---

## 1 answers

### Answer by username_1 on 2016-05-06. Score: 7

There is no relationship. They both use the word "free", but with different meanings of the word "free". It's just an accidental collision, which will happen when you have a language like English with a fixed number of words and the number of concepts we want to talk about exceeds the number of words in the language.

A *free group* is, roughly, a group that is about as generic as possible (it has no special structure). Here, the word free means "having no non-trivial strucutre", i.e., free of special equalities.

In contrast, a *free theorem* about some code (e.g., a function) is one that follows automatically from the type signature of that code. Here, the word free means "at no cost" or "with no extra reasoning about the code required"; it's an automatic consequence of the type signature, regardless of the implementation/code of the function.

> **Comments:**
> **username_0**: and yet free objects are, in a sense, generated from the axioms. Free theorems are generated (as you say "follow automatically") from the type signature.  

---

