I've been thinking about how you would go about teaching fractions, and there seems to be a problem in that every basic fact needs to be proven/explained twice, using two different layers of definition. Let me illustrate.
The rule for multipliying fractions is:
Where $a, b, c, d$ are integers, $\frac{a}{b}\frac{c}{d}=\frac{ac}{bd}$
To prove this takes an argument that relies entirely on the fact that $a, b, c$ and $d$ are integers, but then you define what it means to divide fractions and realize that a more general fact is true...
Where $a, b, c, d$ are rational, $\frac{a}{b}\frac{c}{d}=\frac{ac}{bd}$
The same thing applies for every basic fact about fractions: cancelling, adding, dividing, equivalence of $\frac{a}{b}$ and $a\frac{1}{b}$... There are two problems, here.
The formal side. It's a bit annoying to have to prove fact (1) only to have to prove its generalization. The only way I can think of is to explicitly write out $a, b, c$ and $d$ in numerator/denominator form and then apply rule (1), so you need the more specific case to prove the general case. What is the most efficient way to prove all of these facts?
The conceptual side. If this isn't explained properly, it's going seem like some sort of fantastic coincidence! The multiplication rule (1) is hardly obvious, and its proof takes a bit of cleverness. And then when this strange fact turns out to be true in a more general context, and the proof is just a formal manipulation of symbols, it's going to seem very mysterious. Actually, it seems mysterious even to me. How can these generalizations be presented in a way that doesn't make them seem like magical coincidences?