\documentclass[12pt,a4paper]{report}

\input{preamble.tex}
\addbibresource{references.bib}

\title{Treball final d'història de la matemàtica. \\ Comentari del \textit{Philosohiæ Naturalis Principia Mathematica} de Sir Isaac Newton}
\author{Adrià Vilanova Martínez}
\date{Semestre Primavera 2022}
\titlepic{\includegraphics[width=\textwidth]{img/portada}}

\begin{document}

{\parskip=0pt
  \maketitle
}

\pagenumbering{gobble}

\tableofcontents

\vspace{1em}
\begin{center}
  \textit{A la portada, el dibuix és una una decoració que apareix a la segona edició de la traducció del \textit{Principia Mathematica} per l'Émilie du Châtelet.}
\end{center}

\newpage

\pagenumbering{arabic}

\chapter{Introducció}

\vspace{-2em}
Des del moment que vaig començar el grau de matemàtiques, el nom de Sir Isaac Newton (1643-1727) ha estat omnipresent a totes les assignatures. Des del seu desenvolupament del càlcul, fins a les seves lleis de la mecànica que fins i tot s'estudien a l'institut, passant per fórmules com el binomi de Newton o el mètode de Newton a càlcul numèric, és difícil passar per alguna assignatura del grau sense escoltar al professorat mencionar-lo.

És a primer de carrera quan un professor del grau de física que estava apassionat pel \textit{Principia Mathematica} em va contagiar la curiositat de llegir-lo. Tot i així, no ha sigut fins 5 anys després que, fent aquest treball, he pogut aprendre una mica sobre ell.

Tal com va dir William Derham (traduït al català): ``per evitar rebre crítiques dels poc entesos de Matemàtiques, [en Newton] em va dir, va fer de manera abstrusa els seus Principia; però, tanmateix, ho va escriure per poder ser entès pels matemàtics, que ell imaginava, comprenent les seves demostracions coincidirien amb ell en la teoria''. I és que el \textit{Principia Mathematica}, tot i ser un llibre conegut per ser on Newton descriu la major part de la seva mecànica, també és rellevant al camp de les matemàtiques perquè exposa i usa el seu càlcul per primer cop.

Tot i així, no és el primer cop que Newton va escriure sobre el seu càlcul --va escriure 3 manuscrits amb anterioritat--, però sí el primer cop que es va publicar, ja que els altres manuscrits es van publicar molt posteriorment.

Així, en aquest treball explorarem tot allò que va portar a l'escriptura d'aquest llibre, i analitzarem 2 lemes matemàtics, a part de comentar breument l'aportació d'Émilie du Châtelet amb la seva traducció i comentari del llibre.

\chapter{Context històric}

Per entendre l'obra de Newton, és imprescindible retrocedir en el temps i veure com va evolucionar el coneixement fins a l'època d'en Newton. I és que, com li va dir al seu enemic Robert Hooke (1635-1703) en una carta, ``\textit{If I have seen further it is by standing on the shoulders of Giants}''.\cite{shoulders}

\section{Els elements d'Euclides}

\begin{wrapfigure}{r}{0.35\textwidth}
  \centering
  \includegraphics[width=0.9\linewidth]{img/elements}
  \caption{Portada de la primera versió anglesa dels \textit{Elements} d'Euclides.\cite{elementstp}}
  \label{fig:elements}
\end{wrapfigure}

Una de les peces fonamentals del \textit{Principia} és la geometria com una de les eines per modelitzar l'univers i demostrar les seves proposicions. Euclides (323-284 a.C.) va escriure el llibre \textit{Elements} sobre geometria, que segons alguns és considerat el llibre de text amb més influència de tots els temps, ja que s'estima que s'han publicat més d'un miler d'edicions i s'estudiava a les escoles fins entrat el segle XIX.\cite[p.~119]{Boyer1991-jn}

En l'època d'en Newton, els estudis matemàtics universitaris tenien un currículum antic (que incloïa estudiar els Elements) i, per tant, aquesta és part de la geometria en què es va basar per desenvolupar el \textit{Principia} (tot i que en Newton va anar més enllà per estudiar autors contemporanis).\cite[p.~67]{pask} Segons Pask, hi ha un altre fet dels Elements que influència el \textit{Principia}, i això és el seu formalisme, ja que mitjançant l'ús de definicions, proposicions i demostracions desenvolupa la geometria, tal com també fa Newton al \textit{Principia}.\cite[p.~43]{pask}

\section{El moviment i les seves causes}

Una de les preguntes que es feien els filòsofs i científics abans de i durant l'època de Newton era quina és la causa del moviment dels objectes. L'explicació que es donava per vàlida fins just abans de Newton era la que va escriure Aristòtil (384-322 a.C.) al seu llibre \textit{Física}. La física aristotèlica no tenia una base matemàtica com el \textit{Principia}, sinó filosòfica. Argumenta que tot allò que es mou és a causa d'un motor, i que aquests dos han d'estar en contacte. Per aquest motiu arriba a la conclusió que no existeix el buit. A més, argumenta que ha d'existir un primer motor, fet que fa incorporar Aristòtil la seva teologia. Tot i que evidentment Newton no es va inspirar en això, el que ens fa veure és que Newton va fer un pas molt gran utilitzant les matemàtiques per explicar el moviment dels cossos.\cite{aristotil}

Posteriorment, Ptolomeu (100-170 d.C.) construeix mitjançant un model matemàtic una descripció dels moviments dels planetes mitjançant òrbites circulars, i Copèrnic (1473-1543) i Kepler (1571-1630) modifiquen aquests models a partir de millors observacions per fer una descripció encara més precisa. Newton és fortament influenciat per Kepler i les seves òrbites el·líptiques i lleis, però la gran contribució de Newton va ser l'explicació de la causa del moviment a partir de la gravitació universal, cosa que aquests altres autors no sabien com explicar, exceptuant l'explicació insatisfactòria d'Aristòtil.

Galileo (1564-1642) dona començament posteriorment a la mecànica, estudiant plans inclinats, el moviment parabòlic, el principi d'inèrcia, etc. La formulació era matemàtica, però de nou es centrava en estudiar la cinemàtica (descriure el moviment) en comptes de la dinàmica (estudiar les causes).

El darrer intent important abans de Newton d'explicar les causes del moviment va ser el de Descartes (1596-1650) al seu llibre \textit{Principia Philosophiae}, però de nou l'explicació era filosòfica i no es basava en les matemàtiques.\cite[p.~52-65]{pask}

\newpage

\section{La vida d'en Newton i el principi dels \textit{Principia}}

\begin{wrapfigure}{r}{0.35\textwidth}
  \centering
  \includegraphics[width=\linewidth]{img/newton}
  \caption{Retrat d'en Newton, pintat per Sir Godfrey Kneller.\cite{newtonportrait}}
  \label{fig:newton}
\end{wrapfigure}

Newton va néixer el 25 de desembre de 1642 a Anglaterra i va morir el 20 de març de 1726 al mateix país, segons el calendari julià, que és el que s'utilitzava en la seva època. Al nostre calendari, el gregorià, Newton va viure entre el 4 de gener de 1643 i el 31 de març de 1727. Donat que el seu pare va morir 3 mesos abans que Newton nasqués, va viure la seva infància amb la seva mare i el seu padrastre, un reverend. Tot i la seva curiositat i ganes d'aprendre, Newton no rendia bé a l'escola, fet que va portar els seus pares a enviar-lo a casa per guanyar experiència treballant les terres. Tot i així, en Newton negligia també les tasques del camp. Els seus pares estaven farts de la situació i van enviar-lo de nou a l'escola per preparar-se per la Universitat.\cite{hawking}

Va ser allà on una història diu que després que es donés un cop al cap va convertir-se en una persona brillant. El cert és que després de la tornada a l'escola va rendir molt més i als 18 anys va entrar al Trinity College, a Cambridge. Allà va estudiar una llicenciatura en arts, centrant-se en l'estudi de les matemàtiques i la ciència, tot i que també va estudiar pel seu compte, com hem mencionat anteriorment, altres coses que no va veure a la universitat i va explorar altres àmbits del coneixement com per exemple l'alquímia, que va convertir-se en una obsessió durant part de la seva vida posteriorment.\cite{hawking, pask}

Als 22 anys es va graduar, i poc després l'epidèmia de la plaga bubònica es va estendre per Anglaterra, fent que la universitat tanqués. Va ser durant aquest any d'epidèmia que Newton va tenir un ``any miraculós'', ja que va desenvolupar les seves primeres idees brillants. Quan va acabar l'epidèmia va tornar a la universitat de Cambridge com a \textit{fellow}, i 2 anys després va obtenir la càtedra Lucasiana de matemàtiques a la mateixa universitat. Durants els anys següents va investigar en l'àmbit de l'òptica i va inventar el primer telescopi reflector.\cite{pask}

L'any 1679, Hooke i Newton es van començar a correspondre per carta per tractar el moviment dels planetes, fet que va fer créixer l'interès d'en Newton en aquest àmbit. En aquella època, sabien que l'òrbita dels planetes era el·líptica gràcies a en Kepler, que es va basar en les observacions de Tycho Brahe (1546-1601), però com també hem mencionat, no sabien quina era la causa. En aquells temps, però, corria la idea que això estava relacionat amb el fet que la força que era exercida sobre els planetes anava com el quadrat invers de la distància amb el Sol. Aquest és el motiu pel qual Hooke, Edmond Halley (1656-1742) i Christopher Wren (1632-1723) van fer una aposta: qui demostrés aquest vincle guanyaria 40 \textit{shillings}.\cite{pask, bryson}

En Halley va visitar Newton per tal que l'ajudés amb el problema, i en preguntar-li quina seria la trajectòria que descriuria un planeta si la força depengués com el quadrat invers de la distància, en Newton va respondre que seria una el·lipse, ja que ho havia calculat. En preguntar si li podria ensenyar la deducció, en Newton va buscar-la, però no la va trobar. I és que en Newton era una persona solitària que guardava sempre tot en secret, i per tant el que realment va passar és que no l'hi volia donar. Tot i així, va prometre que li enviaria més tard --de fet, es va adonar que a la seva deducció hi havia errors, que va aconseguir arreglar. Així, uns quants mesos després, li va enviar un manuscrit de 9 pàgines amb la deducció. \cite{pask, bryson}

\begin{wrapfigure}{r}{0.3\textwidth}
  \centering
  \includegraphics[width=0.95\linewidth]{img/principia}
  \caption{Portada de la primera edició del \textit{Principia}.\cite{principiatitle}}
  \label{fig:principia}
\end{wrapfigure}

Poc més se sap de la seva vida durant els 2 anys següents, però va ser llavors quan va escriure el \textit{Principia Mathematica}, que va ser motivat pel manuscrit que va enviar a Halley. Els primers 2 toms de l'obra els va publicar la \textit{Royal Society}, però el darrer el va haver de pagar pel seu compte en Halley. A més, en Halley va haver de convèncer en Newton de publicar-lo, ja que Hooke sostenia que el treball realment era seu, i en Newton va amençar amb no publicar el tercer llibre d'avant aquesta acusació.\cite{pask, westfall}

\section{Desenvolupament del càlcul de Newton}

En Newton i en Gottfried Leibniz (1646-1716) van desenvolupar simultàniament els fonaments del que anomenem avui en dia càlcul diferencial (i integral). Això va ocasionar una disputa per l'autoria del desenvolupament de la teoria, i ambdós van acusar-se d'haver copiat la teoria a l'altre.

Per la part del Newton, el desenvolupament del càlcul va començar durant el seu any miraculós (1666), tot i que no va ser fins el 1669 quan va escriure \textit{De analysi per aequationes numero terminorum infinitas}. En aquest text mostra un procediment per obtenir la recta tangent a una corba en un punt, i l'àrea delimitada per sota d'una corba, és a dir, els problemes fonamentals del càlcul diferencial i integral. Aquest llibre no es va publicar fins al 1711, i és que Newton no estava totalment satisfet perquè utilitzava ``moments'' (quantitats infinitament petites que provenien de magnituds finites, és a dir, infinitesimals), i el raonament no era del tot rigorós.

Posteriorment, en considerar una corba com un punt que es movia amb el temps (és a dir, des d'un punt de vista cinemàtic), va elaborar la teoria de fluxions: en moure's un punt, varien la seva coordenada $x$ i $y$, que va anomenar ``fluents'', i els seus ritmes de variació respecte el temps els va anomenar ``fluxions''. Així, l'any 1671 va escriure el llibre \textit{De Methodis serierum et fluxionum}, on desenvolupava tota aquesta teoria, i on resolia el problema fonamental de, donada una relació entre fluents, trobar la relació entre fluxions, i viceversa.

En aquest llibre és on Newton introdueix la notació de les fluxions (en termes moderns, derivades) que encara utilitzem avui en dia: $\dot{x}$. El llibre es va publicar l'any 1736, 10 anys després que Newton morís, però en anglès i no en llatí com havia estat escrit originalment.

Newton va continuar desenvolupant el seu càlcul, i l'any 1676 va escriure un tercer manuscrit anomenat \textit{De quadratura curvatorum}, que segons l'historiador Montesinos ``no afegeix res substancial al que hi ha escrit al seu tractat de fluxions, però revela una voluntat de rigor al tractament dels infinits'' (traduït del castellà al català).\cite{montesinos}

Tot i així, de nou segons Montesinos, tot i que les fluxions evitaven els problemes de rigor que tenia amb els moments, no ho evitaven completament perquè feia un pas al límit implícit que no estava justificat.\cite{montesinos}

És al \textit{Principia} on es mostra el seu càlcul amb un grau molt més elevat de rigor: a la primera secció del primer llibre es presenta el mètode de les raons primeres i últimes. En Newton utilitza aquesta eina per desenvolupar la teoria física continguda al llibre, i a aquest treball analitzarem els dos primers lemes, que tracten de la idea del límit i l'àrea sota una corba respectivament.

\chapter{Anàlisi del \textit{Principia}}

L'objectiu d'aquest treball no és fer un anàlisi exhaustiu dels 3 toms, sinó analitzar-lo \textit{grosso modo} i centrar-nos en analitzar en específic els dos primers lemes de la primera secció del primer llibre.

El \textit{Principia Mathematica} consisteix de 3 llibres:\cite{pask}

\begin{itemize}
  \item \textbf{Llibre I: \textit{De motu corporum}} (en català: ``sobre el moviment dels cossos''). Aquest llibre, a part d'incloure una secció amb el mètode de les raons primeres i últimes, tracta el moviment dels cossos en absència de fregament. Inclou un prefaci de Newton, definicions, i les famoses 3 lleis de Newton abans de començar el llibre pròpiament.
  \item \textbf{Llibre II: Continuació de \textit{De motu corporum}}. En aquest llibre sí que tracta el moviment dels cossos amb fregament, com per exemple projectils o pèndols que experimenten la resistència de l'aire.
  \item \textbf{Llibre III: \textit{De mundi systemate}} (en català: ``sobre el sistema del món''). Presenta unes ``regles per raonar'', on estableix una manera de fer ciència. Després introdueix dades sobre el sistema solar i presenta la famosa teoria de la gravitació.
\end{itemize}

En Newton va acabar de escriure el primer llibre a l'abril de l'any 1686, el segon al març del 1687 i el tercer a l'abril del 1687, quan es van publicar. Va haver-hi una segona edició publicada el 1713, i una tercera publicada el 1726.\cite{pask}

\section{Anàlisi dels dos primers lemes}

Hem treballat amb la traducció a l'anglès del \textit{Principia Mathematica} feta per Andrew Motte (1696-1734) al 1729\cite{hawking} i amb la segona edició de la traducció al francès feta per Gabrielle Émilie Le Tonnelier de Breteuil, Marquise du Châtelet (1706-1749) l'any 1749.\cite{chatelet}

El primer lema segons Châtelet diu així:\cite{chatelet}

\hrulefill
\begin{quote}
  \begin{center}
    {\Large SECTION PREMIERE.}

    \textit{De la méthode des premiers \& dernieres raifons employée dans tout cet Ouvrage.}

    {\large LEMME PREMIER.}

    \textit{Les quantités \& les raifons des quantités qui tendent continuellement à devenir égales pendant un temps fini, \& qui avant la fin de ce temps approchent tellement de l'égalité, qe leur différence eft plus petite qu'aucune différence donnée, deviennent à la fin égales.}
  \end{center}

  Si on le nie, qu'on fuppofe qu'elles foient à la fin inégales, \& que leur derniere différence foit $D$, puifqu'elles ne peuvent pas approcher plus près de l'égalité que de cette différence donnée $D$, leur différence ne fera doncs pas plus petite que toute différence donnée, ce quit eft contre l'hypothéfe.
\end{quote}
\hrulefill

Traduïm-lo a termes moderns: Newton està dient que tenim dues quantitats (o raons de quantitats) $a$ i $b$, que tendeixen constantment a ser iguals en un temps finit. És a dir, $a \equiv a(t)$ i $b \equiv b(t)$ són funcions del temps $t$. El fet que tendeixen a ser iguals és equivalent a dir que $|a(t) - b(t)|$ cada vegada és més petit, i com diu que això passa en un interval de temps finit, $t \in [t_i, t_f]$. Podem també interpretar que Newton, quan diu que tendeixen constantment, vol dir que la funció $|a(t) - b(t)|$ és decreixent monòtonament.

Ara interpretem la part final de l'enunciat: diu que abans de la fi del temps podem escollir una diferència arbitrària $\varepsilon > 0$, i existirà un instant de temps $t^* \in [t_i, t_f)$ tal que $|a(t^*) - b(t^*)| < \varepsilon$.

Aleshores, amb aquestes hipòtesis, proposa que $a(t_f) = b(t_f)$.

La demostració consisteix en demostrar que, si neguem la conclusió, aleshores arribem a una contradicció amb les hipòtesis i, per tant, la conclusió és certa (demostració per contradicció). Comença negant la conclusió, és a dir, suposant que $|a(t_f) - b(t_f)| = D \neq 0$. Aleshores, argumenta que en aquest cas, donat que el valor absolut de la diferència és monòtonament decreixent, ambdues quantitats no s'aproparan més que $D$ l'una de l'altra. I, com havíem suposat que sempre podíem trobar un temps on la diferència fos més petita que una donada, estem contradient aquesta hipòtesi i, per tant, com hem arribat a una contradicció, realment la conclusió era vàlida.

Aquesta és la traducció que dona Motte:\cite{hawking}

\hrulefill
\begin{quote}
  \begin{center}
    {\Large SECTION I.}

    \textit{Of the method of first and last ratios of quantities, by the help whereof we demonstrate the propositions that follow.}

    {\large LEMMA I.}

    \textit{Quantities, and the ratios of quantities, which in any finite time converge continually to equality, and before the end of that time approach nearer the one to the other than by any given difference, become ultimately equal.}
  \end{center}

  If you deny it, suppose them to be ultimately unequal, and let $D$ be their ultimate difference. Therefore they cannot approach nearer to equality than by that given difference $D$; which is against the supposition.
\end{quote}
\hrulefill

Ambdues traduccions són quasi idèntiques. Una diferència és que, a la proposició, du Châtelet menciona que ``abans de la fi del temps s'apropen tant a la igualtat que la seva diferència és més petita que qualsevol diferència donada'', mentre que Motte menciona que ``abans de la fi del temps s'apropen una a la altra més que qualsevol diferència donada'' (ambdues frases traduïdes al català). En el cas de du Châtelet, sembla que incorpora un afegitó com a comentari per donar més intuició al lector, fet que en aquest cas valoro que no altera el significat original de la proposició.

A part, hi ha una segona diferència a la demostració. A la última frase, es pot veure que Du Châtelet també afegeix una mica més de raonament per acabar d'argumentar la contradicció, mentre que Motte ho deixa implícit.

Això ens permet veure que Du Châtelet parava molta atenció a la seva traducció del \textit{Principia} per tal que la traducció es pogués entendre bé, intentant distorsionar en el menor grau possible el text.

Alguns autors com Pourciau mencionen que el fet que prengui $t_f$ finita i no consideri el límit infinit és per intentar evitar casos com per exemple $a(t) = t$, $b(t) = t + (1/t)$ que compleixen $|a(t) - b(t)| \to 0$ quan $t \to \infty$ (amb la nostra notació introduïda a dalt, $|a(t_f) - b(t_f)| = 0$), però que els límits de $a(t)$ i $b(t)$ no existeixen.\cite{pourciau}

I és que una cosa important que menciona Pourciau i que nosaltres no hem tingut en compte en la nostra interpretació és que realment Newton està definint un límit (i no parla del valor a $t_f$), i implícitament diu a la proposició que aquest límit existeix. A la qüestió de si aquesta definició s'assembla més o menys a la definició actual de límit (d'èpsilon/delta) parlarem una mica més endavant i a la conclusió.

Abans, però, també és convenient mencionar que Pourciau menciona que realment, inclús amb $t_f$ finit, si prenem l'exemple $a(t) = 1/(1 - t) + 1 - t$, $b(t) = 1/(1 - t)$, en aquest cas tenim de nou $|a(t) - b(t)| \to 0$ (quan $t \to t_f = 1$), però $f$ i $g$ es fan arbitràriament grans. Tot i això, defensa que el significat de la paraula ``quantitats'' per Newton podria haver sigut que no poguessin ser arbitràriament grans en temps finit, i això faria que aquest no fos un contraexemple.

Finalment, Pourciau també fa la següent reflexió, que ens convida a pensar si realment la proposició que fa Newton és clara/rigorosa o no:\cite[p.~22]{pourciau}

\begin{quote}
  Certain aspects of Lemma I remain unclear, and our interpretation of Newton’s intended meaning must be somewhat tentative. For example, is it reasonable (that is, how much distortion does it cause) to think of Newton’s ``quantities'' as functions? Continuous functions? Smooth functions? Is the existence of the limits [...] an implicit hypothesis of this particular lemma, a consequence of some background assumption about ``quantities'', a result of assumptions in the lemma, presumed in error, or the product of some combination of these possibilities? What does remain clear, however, is Newton’s core understanding, here a special case of his definition of limit, that a quantity has limit zero if it can be made less than any given distance. Simple and clear. No indivisibles nor ``ghosts of departed quantities''. No confusion.
\end{quote}

Així doncs, hi ha autors com Pourciau que consideren aquest lema com un cas de la definició de límit. Per altra banda, autors com Ferraro argumenten que tot i que Newton té clara la idea d'aproximar-se a un límit, només es tracta d'una manera intuïtiva que no es correspon al concepte modern del límit.\cite{ferraro}

Ferraro ho argumenta mitjançant la definició de límit, que diu que fa al darrer escolis de la primera secció i no implícitament a la proposició. Aquesta part de l'escolis diu (traducció de Du Châtelet):\cite[p.~48]{chatelet}

\begin{quote}
  On peut dire [...] qu'un corps qui parvient d'un mouvement uniformément retardé à un certain lieu où fon mouvement s'éteint, n'a point de derniere vîteffe; Car, diroit-on, avant que ce corps foit parvenu à ce lieu, il n'a pas encore fa derniere vîteffe, \& quand il l'a atteint, il n'en a aucune, puifqu'alors fon mouvement eft éteint. Or, la réponfe à cet argument eft facile: on doit entendre par la derniere vîteffe de ce corps celle avec laquelle il fe meut, non pas avant d'avoir atteint le lieu où fon mouvement ceffe, non pas après qu'il a atteint le lieu où fon mouvement ceffe, non pas après qu'il a atteint ce lieu, mais celle qu'il a dans l'infant même qu'il atteint ce dernier lieu \& avec laquelle fon mouvement ceffe. [...]

  Il y a une certaine borne que la vîteffe d'un corps peut atteindre à la fin de fon mouvement, \& qu'elle ne fçauroit paffer; c'eft cette vîteffe qui eft la derniere vîteffe du corps. Il en eft de même des limites [...] de toutes les quantités qui comencent \& ceffent.
\end{quote}

Aquí Newton diu que el límit d'una quantitat correspon al lloc final o la velocitat final del moviment. Per tant, segons Ferraro, es tracta d'una ``idea agafada de la natura'' que no es pot traduir a una terminologia matemàtica moderna.\cite{ferraro}

Aquest fragment també ens permet veure que l'última raó es tracta del límit d'una raó en la situació del lema I. Al darrer escoli, també apareix el que segons Pourciau és la millor definició de límit que apareix al \textit{Principia} (traducció de Motte):\cite{hawking, pourciau}

\begin{quote}
  Those ultimate ratios [...] are not actually ratios of ultimate quantities, but limits [...] which they can approach so closely that their difference is less than any given quantity[...].
\end{quote}

Passem ara a analitzar el següent lema (traducció de Motte):\cite{hawking}

\begin{quote}
  {\large LEMMA II.}

  \textit{If in any figure $AaCE$, terminated by the right lines $Aa$, $AE$, and the curve $acE$, there be inscribed any number of parallelograms $Ab$, $Bc$, $Cd$, \&c., comprehended under equal basses $AB$, $BC$, $CD$, \&c., and the sides $Bb$, $Cc$, $Dd$, \&c., parallel to one side $Aa$ of the figure; and the parallelograms $aKbl$, $bLcm$, $cMdn$, \&c., are completed. Then if the breadth of those parallelograms be supposed to be diminished, and their number to be augmented in infinitum; I say, that the ultimate ratios which the inscribed figure $AKbLcMdD$, the circumscribed figure $AalbmcndoE$, and curvilinear figure $AabcdE$, will have to one another, are ratios of equality.}

  \begin{figure}[h]
    \centering
    \includegraphics[width=4cm]{img/lemma2}
    \caption{Diagrama que acompanya el lema II.\cite{hawking}}
    \label{fig:lemma2}
  \end{figure}
  
  For the difference of the inscribed and circumscribed figures is the sum of the parallelograms $Kl$, $Lm$, $Mn$, $Do$, that is (from the equality of all their bases), the rectangle under one of their bases $Kb$ and the sum of their altitudes $Aa$, that is, the rectangle $ABla$. But this rectangle, because its breadth $AB$ is supposed diminished in infinitum, becomes less than any given space. And therefore (by Lem. I) the figures inscribed and circumscribed become ultimately equal one to the other; and much more will the intermediate curvilinear figure be ultimately equal to either.
\end{quote}

El formalisme d'aquest lema és similar a les sumes de Riemann que estudiem a l'actualitat a càlcul integral. En notació moderna, si anomenem $\Delta x$ la longitud dels segments $AB$, $BC$, $CD$, etc. i parametritzem la corba per la funció $y(x)$ (tot i que realment Newton no especifica que la corba sigui d'aquesta forma, el diagrama deixa entreveure que serà la situació en què s'utilitzarà aquest lema, i a més també suposa que $y(E) = 0$), aleshores la demostració segueix de la següent manera:

\begin{wrapfigure}{r}{0.35\textwidth}
  \centering
  \includegraphics[width=\linewidth]{img/figura21}
  \caption{Figura que il·lustra part de la demostració. Elaboració pròpia.}
  \label{fig:lema2_1}
\end{wrapfigure}

La diferència entre les figures inscrita i circumscrita és la suma dels paral·lelograms en blau de la figura \ref{fig:lema2_1}, que és igual a:
\[ \sum_{i = 0}^{N - 1} \Delta x \cdot (y(A + i \Delta x) - y(A + (i + 1) \Delta x)), \]
on $N$ és el nombre de rectangles (a la figura, 4) i $\Delta x$ és la amplada de cada rectangle (per exemple $AB$).

Implícitament, la demostració proposa que aquesta àrea justament és la del rectangle $ABla$ (rectangle rosa a la figura \ref{fig:lema2_2}). Suposem que no ho justifica perquè és evident que al diagrama veiem que tots els rectangles tenen la mateixa amplada i les altures de tots ells és igual a l'altura $Aa$. Amb el nostre formalisme modern, podem veure que l'expressió anterior es tracta d'una suma telescòpica que dona el següent resultat, que efectivament coincideix amb l'àrea del rectangle $ABla$:
\[ \Delta x \cdot (y(A) - y(A + N\Delta x)) = \Delta x \cdot Aa = AB \cdot Aa. \]

\begin{wrapfigure}{r}{0.35\textwidth}
  \centering
  \includegraphics[width=\linewidth]{img/figura22}
  \caption{Figura que il·lustra part de la demostració. Elaboració pròpia.}
  \label{fig:lema2_2}
\end{wrapfigure}

Per tant, usant el fet que quan $N$ es fa suficientment gran, la diferència entre les dues àrees pot ser arbitràriament petita (degut al fet que $AB$ es pot fer tan petit com vulguem augmentant la $N$), dedueix a partir del lema 1 que el límit de les dues àrees ha de ser igual quan $N \to \infty$.

\clearpage

\section{La traducció d'Émilie du Châtelet}

L'any 1749, just l'any que va morir, Émilie du Châtelet va completar la traducció del \textit{Principia} al francès. Aquesta traducció és la de referència en idioma francès des de llavors fins a dia d'avui, i a part de ser una traducció, també incorpora un comentari al final que està dividida en dues parts:

\begin{itemize}
  \item La primera part està titulada ``\textit{Exposition abrégée du Système du Monde, et explication des principaux Phénomènes astronomiques tirés des Principes de M. Newton}'', que en català vol dir ``Exposició abreujada del Sistema del Món, i explicació dels principals fenòmens astronòmics extrets dels Principis del s. Newton''.
  \item La segona part està titulada ``\textit{Solution analytiques des Principaux problèmes qui concernent le Système du Monde}'', que en català vol dir ``Solucions analítiques dels principals problemes del Sistema Mundial''.
\end{itemize}

A la primera part fa un comentari sobre la manera que tenia el Newton de veure el sistema del món, fet que fa d'aquesta primera part un manual d'astronomia renovat on s'exposen les descobertes d'en Newton. A la segona part, la comtessa utilitza el llenguatge i càlcul diferencial de Leibniz per traduir les demostracions de Newton a aquest nou llenguatge, i fer càlculs que van més enllà del que va fer Newton. Fins i tot arriba a tractar equacions diferencials complexes.\cite{comolet}

El llibre consisteix de 2 toms. El primer conté un poema que Voltaire va escriure sobre la física Newton, i els llibres I i II. El segon tom conté la traducció del llibre III i el comentari de du Châtelet.

\chapter{Conclusió}

A aquest treball ha quedat demostrat el gegant pas que va fer en Newton amb el Principia Mathematica, per tal de donar per terminada la revolució científica del renaixement. No només per la introducció del càlcul que s'anirà adaptant posteriorment juntament amb el de Leibnitz, sinó pel canvi que va suposar veure la física com una disciplina on es poden combinar el rigor de les matemàtiques i el seu formalisme (que va heretar d'autors grecs com Euclides) amb l'experimentació i interpretació de la realitat que requereix un àmbit com és la física.

Hem pogut veure com en Newton defineix, tot i que de manera primigènia, una primera definició de límit incloent una expressió per la nostra èpsilon actual, i que tot i que no tots els autors coincideixen en el rigor matemàtic d'aquesta definició, donat el context històric i l'avanç de les matemàtiques en aquell moment, crec que sí és una definició que és clarament la precursora de la definició del límit actual que va idear Cauchy, tot i que el rigor no és el que s'esperaria d'un matemàtic del segle XXI.

A més, també hem pogut traduir al llenguatge modern un lema en què descriu com calcular l'àrea sota una corba mitjançant un pas al límit d'una sèrie de rectangles que ens recorden a les sumes de Riemann actuals.

\newpage

\printbibliography

\end{document}
