<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>

<body bgcolor="#FFFFFF">
<div align="center">
  <p>&nbsp;</p>
  <h1 align="center">THE PREFACE</h1>
  <img src="images/Octavo/micro.jpg" width="381" height="384"> </div>
<div align="right">
  <p align="left">&nbsp;</p>
  <p>&nbsp;</p>
</div>
<blockquote>
  <div align="left">
    <p><font size="5"> <font size="4">It is the great prerogative of Mankind above
      other Creatures, that we are not only able to behold the works of Nature,
      or barely to sustein our lives by them, but we have also the power of considering,
      comparing, altering, assisting, and improving them to various uses. </font></font></p>
    <p><font size="4">And as this is the peculiar priviledge of humane Nature
      in general, so is it capable of being so far advanced by the helps of Art,
      and Experience, as to make some Men excel others in their Observations,
      and Deductions, almost as much as they do Beasts. </font></p>
    <p><font size="4">By the addition of such artificial Instruments and methods,
      there may be, in some manner, a reparation made for the mischiefs, and imperfection,
      mankind has drawn upon itself, by negligence, and intemperance, and a wilful
      and superstitious deserting the Prescripts and Rules of Nature, whereby
      every man, both from a deriv'd corruption, innate and born with him, and
      from his breeding and converse with men, is very subject to slip into all
      sorts of errors. </font></p>
    <p><font size="4">The only way which now remains for us to recover some degree
      of those former perfections, seems to be, by rectifying the operations of
      the Sense, the Memory, and Reason, since upon the evidence, the strength,
      the integrity, and the right correspondence of all these, all the light,
      by which our actions are to be guided, is to be renewed, and all our command
      over things is to be establisht.</font></p>
    <p><font size="4"> It is therefore most worthy of our consideration, to recollect
      their several defects, that so we may the better understand how to supply
      them, and by what assistances we may inlarge their power, and secure them
      in performing their particular duties.</font></p>
    <p><font size="4">As for the actions of our Senses, we cannot but observe
      them to be in many particulars much outdone by those of other Creatures,
      and when at best, to be far short of the perfection they seem capable of
      : And these infirmities of the Senses arise from a double cause, either
      from the disproportion of the Object to the Organ, whereby an infinite number
      of things can never enter into them, or else from error in the Perception,
      that many things, which come within their reach, are not received in a right
      manner. </font></p>
    <p><font size="4">The like frailties are to be found in the Memory; we often
      let many things slip away from us, which deserve to be retain'd; and of
      those which we treasure up, a great part is either frivolous or false ;
      and if good, and substantial, either in tract of time obliterated, or at
      best so overwhelmed and buried under more frothy notions, that when there
      is need of them, they are in vain sought for. </font></p>
    <p><font size="4">The two main foundations being so deceivable, it is no wonder,
      that all the succeeding works which we build upon them, of arguing, concluding,
      defining, judging, and all the other degrees of Reason, are lyable to the
      same imperfection, being, at best, either vain, or uncertain: So that the
      errors of the understanding are answerable to the two other, being defective
      both in the quantity and goodness of its knowledge; for the limits, to which
      our thoughts are confind, are small in respect of the vast extent of Nature
      it self; some parts of it are too large to be comprehended, and some too
      little to be perceived. </font></p>
    <p><font size="4">And from thence it must follow, that not having a full sensation
      of the Object, we must be very lame and imperfect in our conceptions about
      it, and in all the propositions which we build upon it; hence we often take
      the shadow of things for the substance, small appearances for good similitudes,
      similitudes for definitions; and even many of those, which we think to be
      the most solid definitions, are rather expressions of our own misguided
      apprehensions then of the true nature of the things themselves. </font></p>
    <p><font size="4">The effects of these imperfections are manifested in different
      ways, according to the temper and disposition of the several minds of men,
      some they incline to gross ignorance and stupidity, and others to a presumptuous
      imposing on other mens Opinions, and a confident dogmatizing on matters,
      whereof there is no assurance to be given. </font></p>
    <p><font size="4">Thus all the uncertainty, and mistakes of humane actions,
      proceed either from the narrowness and wandring of our Senses, from the
      slipperiness or delusion of our Memory, from the confinement or rashness
      of our Understanding, so that 'tis no wonder, that our power over natural
      causes and effects is so slowly improvd, seeing we are not only to contend
      with the obscurity and difficulty of the things whereon we work and think,
      but even the forces of our own minds conspire to betray us. </font></p>
    <p><font size="4">These being the dangers in the process of humane Reason,
      the remedies of them all can only proceed from the real, the mechanical,
      the experimental Philosophy, which has this advantage over the Philosophy
      of discourse and disputation, that whereas that chiefly aims at the subtilty
      of its Deductions and Conclusions, without much regard to the first groundwork,
      which ought to be well laid on the Sense and Memory ; so this intends the
      right ordering of them all, and the making them serviceable to each other.
      </font></p>
    <p><font size="4">The first thing to be undertaken in this weighty work, is
      a watchfulness over the failings and an inlargement of the dominion, of
      the Senses. To which end it is requisite, first, That there should be a
      scrupulous choice, and a strict examination, of the reality, constancy,
      and certainty of the Particulars that we admit: This is the first rise whereon
      truth is to begin, and here the most severe, and most impartial diligence,
      must be imployed ; the storing up of all, without any regard to evidence
      or use, will only tend to darkness and confusion. </font></p>
    <p><font size="4">We must not therefore esteem the riches of our Philosophical
      treasure by the number only, but chiefly by the weight; the most vulgar
      Instances are not to be neglected, but above all, the most instructive are
      to be entertain'd: the footsteps of Nature are to be trac'd, not only in
      her ordinary course,but when she seems to be put to her shifts, to make
      many doublings and turnings, and to use some kind of art in indeavouring
      to avoid our discovery. </font></p>
    <p>&nbsp;</p>
    <p><a href="king.html"><img src="images/htmldemo/back.jpg" width="146" height="40" align="left" border="0"></a><a href="seaweed.html"><img src="images/htmldemo/forward.jpg" width="196" height="40" align="right" border="0"></a></p>
    <p>&nbsp;</p>
    <p>&nbsp;</p>
  </div>
</blockquote>
</body>
</html>
