diff --git a/quad10/historia/treball/.gitignore b/quad10/historia/treball/.gitignore
new file mode 100644
index 0000000..f0de8a3
--- /dev/null
+++ b/quad10/historia/treball/.gitignore
@@ -0,0 +1 @@
+main.pdf
diff --git a/quad10/historia/treball/img/elements.jpeg b/quad10/historia/treball/img/elements.jpeg
new file mode 100644
index 0000000..7734c07
--- /dev/null
+++ b/quad10/historia/treball/img/elements.jpeg
Binary files differ
diff --git a/quad10/historia/treball/img/figura21.pdf b/quad10/historia/treball/img/figura21.pdf
new file mode 100644
index 0000000..79c7a48
--- /dev/null
+++ b/quad10/historia/treball/img/figura21.pdf
Binary files differ
diff --git a/quad10/historia/treball/img/figura22.pdf b/quad10/historia/treball/img/figura22.pdf
new file mode 100644
index 0000000..9113aa1
--- /dev/null
+++ b/quad10/historia/treball/img/figura22.pdf
Binary files differ
diff --git a/quad10/historia/treball/img/lemma2.png b/quad10/historia/treball/img/lemma2.png
new file mode 100644
index 0000000..ff16ad2
--- /dev/null
+++ b/quad10/historia/treball/img/lemma2.png
Binary files differ
diff --git a/quad10/historia/treball/img/letterhooke.jpg b/quad10/historia/treball/img/letterhooke.jpg
new file mode 100644
index 0000000..4fee9c6
--- /dev/null
+++ b/quad10/historia/treball/img/letterhooke.jpg
Binary files differ
diff --git a/quad10/historia/treball/img/newton.jpeg b/quad10/historia/treball/img/newton.jpeg
new file mode 100644
index 0000000..6e6532b
--- /dev/null
+++ b/quad10/historia/treball/img/newton.jpeg
Binary files differ
diff --git a/quad10/historia/treball/img/portada.png b/quad10/historia/treball/img/portada.png
new file mode 100644
index 0000000..f293268
--- /dev/null
+++ b/quad10/historia/treball/img/portada.png
Binary files differ
diff --git a/quad10/historia/treball/img/principia.png b/quad10/historia/treball/img/principia.png
new file mode 100644
index 0000000..9521cb2
--- /dev/null
+++ b/quad10/historia/treball/img/principia.png
Binary files differ
diff --git a/quad10/historia/treball/main.tex b/quad10/historia/treball/main.tex
new file mode 100644
index 0000000..782b24e
--- /dev/null
+++ b/quad10/historia/treball/main.tex
@@ -0,0 +1,283 @@
+\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}
diff --git a/quad10/historia/treball/preamble.tex b/quad10/historia/treball/preamble.tex
new file mode 100644
index 0000000..cd21b91
--- /dev/null
+++ b/quad10/historia/treball/preamble.tex
@@ -0,0 +1,26 @@
+\usepackage[utf8]{inputenc}
+\usepackage[style=spanish]{csquotes}
+\usepackage[catalan]{babel}
+\usepackage{graphicx}
+\usepackage[labelfont=bf]{caption}
+\usepackage{siunitx}
+\usepackage{geometry}
+\usepackage{amsmath}
+\usepackage{amsfonts}
+\usepackage{booktabs}
+\usepackage{multicol}
+\usepackage{hyperref}
+\usepackage{biblatex}
+\usepackage{adjustbox}
+\usepackage{array}
+\usepackage{float}
+\usepackage{stackengine}
+\usepackage{titlesec}
+\usepackage{titlepic}
+\usepackage{wrapfig}
+
+% To include the bibliography in the ToC:
+\usepackage[nottoc,numbib]{tocbibind}
+
+\setlength{\parskip}{1em}
+\titlespacing\section{0pt}{6pt plus 4pt minus 2pt}{0pt plus 2pt minus 2pt}
diff --git a/quad10/historia/treball/references.bib b/quad10/historia/treball/references.bib
new file mode 100644
index 0000000..cd835df
--- /dev/null
+++ b/quad10/historia/treball/references.bib
@@ -0,0 +1,142 @@
+@book{shoulders,
+  title = {Isaac Newton letter to Robert Hooke},
+  editor = {Newton, Isaac},
+  url = {https://digitallibrary.hsp.org/index.php/Detail/objects/9792},
+  year = {1675},
+  urldate = {2022-06}
+}
+
+@book{Boyer1991-jn,
+  title     = "A history of mathematics",
+  author    = "Boyer, Carl B. and Merzbach, Uta C.",
+  publisher = "John Wiley \& Sons",
+  edition   =  2,
+  month     =  mar,
+  year      =  1991,
+  address   = "Nashville, TN"
+}
+
+@book{pask,
+  title     = "Magnificent Principia",
+  author    = "Pask, Colin",
+  publisher = "Prometheus Books",
+  month     =  sep,
+  year      =  2013,
+  address   = "Amherst, NY"
+}
+
+@book{hawking,
+  title     = "On the shoulders of giants. Principia",
+  author    = "Newton, Isaac",
+  editor    = "Hawking, Stephen",
+  publisher = "Running Press",
+  month     =  jan,
+  year      =  2005,
+  address   = "Philadelphia, PA"
+}
+
+@book{bryson,
+  title = "Una breve historia de casi todo",
+  author = "Bryson, Bill",
+  publisher = "RBA Libros",
+  month = jul,
+  year = 2004,
+  address = "Barcelona"
+}
+
+@book{westfall,
+  title = "Isaac Newton: una vida",
+  author = "Westfall, Richard S.",
+  publisher = "Cambridge University Press",
+  year = 1996,
+  address = "England",
+  pages = "198--238"
+}
+
+@book{chatelet,
+  language = {Français},
+  publisher = {Gabay},
+  title = {Principes mathématiques de la philosophie naturelle},
+  year = {1759},
+  keywords = {Filosofia de la natura},
+  author = {du Châtelet, Émilie}
+}
+
+@misc{aristotil,
+  author = "Viquip{\`e}dia",
+  title = "Física aristotèlica --- {V}iquip{\`e}dia{,} l'enciclop{\`e}dia lliure",
+  year = "2022",
+  url = "https://ca.wikipedia.org/w/index.php?title=Física_aristotèlica\&oldid=29173588",
+  urldate = {2022-06}
+}
+
+@article{montesinos,
+  author = "Montesinos Sirera, José L.",
+  title = "Fluxiones, infinitesimales y fuerzas vivas. Un panorama leibniziano.",
+  journal = "Thémata. Revista de filosofía",
+  year = 2009,
+  month = dec,
+  number = "42",
+  pages = "77--106",
+  url = "https://revistascientificas.us.es/index.php/themata/article/view/550"
+}
+
+@misc{elementstp,
+ author = "Wikimedia Commons",
+ title = "File:Title page of Sir Henry Billingsley's first English version of Euclid's Elements, 1570 (560x900).jpg --- Wikimedia Commons{,} the free media repository",
+ year = "2021",
+ url = "https://commons.wikimedia.org/w/index.php?title=File:Title_page_of_Sir_Henry_Billingsley\%27s_first_English_version_of_Euclid\%27s_Elements,_1570_(560x900).jpg\&oldid=610561027",
+ urldate = "2022-06"
+}
+
+@article{pourciau,
+  title = {Newton and the Notion of Limit},
+  journal = {Historia Mathematica},
+  volume = {28},
+  number = {1},
+  pages = {18-30},
+  year = {2001},
+  issn = {0315-0860},
+  doi = {https://doi.org/10.1006/hmat.2000.2301},
+  url = {https://www.sciencedirect.com/science/article/pii/S0315086000923012},
+  author = {Bruce Pourciau},
+}
+
+@inproceedings{ferraro,
+  TITLE = {{Some mathematical aspects of Newton's Principia}},
+  AUTHOR = {Ferraro, Giovanni},
+  URL = {https://halshs.archives-ouvertes.fr/halshs-00655601},
+  BOOKTITLE = {{Newton and the method of the last and ultimate ratios}},
+  ADDRESS = {Campobasso, Italy},
+  YEAR = {2010},
+  MONTH = Nov,
+  KEYWORDS = {Newton ; limit ; last and ultimate ratios ; figures},
+  PDF = {https://halshs.archives-ouvertes.fr/halshs-00655601/file/Newton_and_ultimate_ratios_HAL-SHS.pdf},
+  HAL_ID = {halshs-00655601},
+  HAL_VERSION = {v1},
+}
+
+@misc{newtonportrait,
+ author = "Wikimedia Commons",
+ title = "File:Portrait of Sir Isaac Newton, 1689.jpg --- Wikimedia Commons{,} the free media repository",
+ year = "2022",
+ url = "https://commons.wikimedia.org/w/index.php?title=File:Portrait_of_Sir_Isaac_Newton,_1689.jpg\&oldid=661723214",
+ urldate = "2022-06"
+}
+
+@misc{principiatitle,
+ author = "Wikimedia Commons",
+ title = "File:Prinicipia-title.png --- Wikimedia Commons{,} the free media repository",
+ year = "2022",
+ url = "https://commons.wikimedia.org/w/index.php?title=File:Prinicipia-title.png\&oldid=665089347",
+  urldate = "2022-06"
+}
+
+@mastersthesis{comolet,
+  author = "Laetitia Comolet-Tirman",
+  title = "La publication des Principes mathématiques de la philosophie naturelle, par Emilie du Châtelet, femme de science au XVIIIe siècle",
+  year = 2017,
+  month = sep,
+  type = "Tesi de màster",
+  school = "Université de Lyon"
+}
