.Open Dimensioned Numbers . Motivation The numbers of pure mathematics never appear `naked and unadorned` in practice. They appear with units attached to them - feet, meters, inches, centimeters, miles, yards, .... Therefore a practical mathematical notation must provide a meaningful way for this to be done. This set of notes set up a suitable system loosely inspired by the PMS notation of C Gordon Bell and Allen Newell .See [BellNewell70] .See [BellNewell71] combined with "Dimensional Analysis" as used in Applied Mathematics and Physics[Crank 62: John Crank, Mathematics and Industry, Oxford UP 1962]. . Also see .Source Novak93, Conversion of Units of Measurement, IEEE Trans Software Engineering SE-21n8(pp651-661). . Metrology Metrology::=the science of all aspects of measurement including the theory and practice in all fields of science and technology -- however uncertain. A standardized quantitative measurement is based on an underlying attribute, a defined unit, a primary reference of example of the unit, some secondary references used in practice and some methods of measurement used to get these measurements. For example the idea of "the inertia of an object" is experienced when we try to move a heavy and light object, or compare the effort to brake a truck with that of a child's toy car. This idea is refined into the concept of inertial mass with a unit like the kilogram and standard ways of measuring it. In America the National Institute of Standards (NIS) is in charge of these things .See http://www.nist.gov/ Their Information Technology Laboratory has been working on deriving the metrology of Information technology .See http://www.itl.nist.gov/ The SI Units are described at .See http://physics.nist.gov/cuu/Units/units.html (with thanks to Vince Tilroe, February 17th 2005) . Measurement Theory Some measures do not have the complete set of properties of numbers. The classification commonly used are: nominal, ordinal, interval, and ratio. .Hole . Dimensions We don't add feet and pounds together. And yet we can add pounds to pounds and get pounds: Hence we have a large number of similar sets of arithmetic - one arithmetic for each dimension. Because we can also add ounces and pounds, each dimension has several sets of units associated with it. The numbers in different units are proportional, however ( 16.oz=1.lb). Now if we multiply two lengths then we get an area - not another length. So the different dimensions are also related. Dimensional Analysis expresses all dimensions ( length, mass, weight, velocity, force, magnetic flux,...) in terms of a small number of fundamental dimensions - length, mass, time, and a few others. DIMENSION::=Net{ BASIS::=Net{ Dimension::@Field(archimedian). Actually, each dimension is isomorphic to the real numbers. |- (partitioned): For all D1,D2:$Dimension, D1=D2 iff some D1&D2. Numbers::Dimension. |- (dgroup): GROUP($Dimension, (*), $Numbers, (/)). Given two Dimensions we can multiply them (*) to get another $Dimension. Pure $Numbers act like 1 in this multiplication and we have some kind of division as well. A unit gives a mapping of numbers into dimensions. For instance using 'inch' as a unit of length means that `1.inch` is a measure of length,... A set of units works exactly like a set of numbers under addition. If Length is a dimension and inch a unit of length `Length./inch` indicates numbers which represent the numbers of inches of length. In general then a unit is map from abstract numbers into dimensions that preserves the operation of addition and the value of zero: For $Dimension D, Units(D) ::=(+,0)$Numbers---D. .See http://www/dick/maths/math_11_STANDARD.html#Structure Preserving Maps }=::BASIS. |- (D0): BASIS. This just asserts the assumptions named BASIS above. MECHANICAL_UNITS::=Net{ There are three basic physical dimensions - length, time, and mass. A more abstract one is that of information. We can also include angles from geometry. We assume that every possible dimension is expressible in terms of these 5 component dimensions: dim::Net{L,T,M,I,A:Rational}---$Dimension, Number::= dim(L=>0,T=>0,M=>0,I=>0,A=>0). Length::= dim(L=>1,T=>0,M=>0,I=>0,A=>0), Mass::= dim(M=>1,L=>0,T=>0,I=>0,A=>0), Time::= dim(T=>1,M=>0,L=>0,I=>0,A=>0), Angle::= dim(T=>0,M=>0,L=>0,I=>0,A=>1), Information::= dim(I=>1,T=>0,M=>0,L=>0,A=>0). Next define product and quotient of two dimensions. For a:D1, b:D2, a/b::=dim(a./dim-b./dim), For a:D1, b:D2, a*b::=dim(a./dim+b./dim). ()|-(ex1):Length*Length/Time=dim(L=>2,T=>-1,M=>0,I=>0, A=0). ()|-(ex2): For $Dimension D, D/D=Number. For $Dimension D, a:D, dim(a) ::=D. |- (D1): Number=Real. ()|-(D1.0):For $Dimension D, a:D, n:Number, dim(a*n)=dim(a). |- (D2): For $Dimension D1, D2, u1:Units(D1), u2:Units(D2), a,b:$Numbers, c:$Numbers-{0}, a.u1/b.u2=(a*c).u1/(b*c).u2 and a.u1*b.u2=(a*c).u1*(b/c).u2=(a/c).u1*(b*c).u2. |- (D3): For Dimensions D1, D2, u1:Units(D1), u2:Units(U2), u1/u2::Units(dim(u1./dim-u2./dim)=((_).u1/1.u2). |- (D4): For $Dimension D1,D2, u1:Units(U1), u2:Units(U2), u1*u2::Units(dim(u1./dim+u2./dim)=((_).u1*1.u2). |- (D5): For all D:$Dimension, u1,u2,u3:Units(D), a,b:$Numbers, if a.u1=1.u2 and b.u2=1.u3 then (a*b).u1=1.u3. For example, (D5) |- 60*1000.ms=1.hr. |- (D6): For all $Dimension D, u1,u2:Units(D), a,b,c:$Numbers, if a.u1=b.u2 then (a*c).u1=(b*c).u2. For example, (D6) |- 30.min=0.5.hr. Notice that if `n` is a number and `u` a unit the `n.u` is the measure. But if `c` is some constant measure (say the speed of light or the acceleration due to gravity) then `c./u` is the number in units `u`. |- (D7): For all $Dimension D, u:Units(D), a:number, a.u./u = a. }=::MECHANICAL_UNITS. .Open Common Units |- (common_units): MECHANICAL_UNITS. . Lengths km::Units(Length), mm::Units(Length), cm::Units(Length), m::Units(Length), ft::Units(Length), inch::Units(Length), yd::Units(Length), miles::Units(Length), ... |- (l1): 100.cm=1.m, |- (l2): 10.mm=1.cm, |- (l3): 1000.m=1.km, |- (l4): 12.inch=1.ft, |- (l5): 3.ft=1.yd, |- (l6): 1760.yd=1.mile. ... . Area and Volume Area::=Length*Length, acre::Units(Area), hectare::Units(Area), ... Volume::=Length*Length*Length. ()|- (VL): Volume=Length*Area=Area*Length. gallon::Units(Area), varies in size depending on geography. pint::Units(Area), varies in size depending on geography. |-(pg): 8.pint = 1.gallon. quart::Units(Area), varies in size depending on geography. |-(qg): 4.quart = 1.gallon. (pq,qg)|-(qp): 2.pint = 1.quart. Metric system units of volume (international): liter::Units(Area), cc::Units(Area), ... mpg::Units(dim(L=> -2))=miles/gallon. . Times and Dates ns::Units(Time), nanosecond ms::Units(Time), millisecond sec::Units(Time), second min::Units(Time), minute hr::Units(Time), hour day::Units(Time), week::Units(Time), month::Units(Time), year::Units(Time). |- (t1): 1000.ms=1.s and 1000.ns=1.ms, |- (t2): 60.min=1.hr, |- (t3): 60.s=1.min, |- (t4): 24.hr=1.day, |- (t5): 7.day=1.week. .Dangerous_bend The relationship between days, months and years depends on the calendar adopted. DATE::=Net{ day::Integer & Time./day. month::Integer & Time./month. year::Integer & Time./year. }=::DATE. |- (d1): Dates<--$ $DATE. The precise elements of $ $DATE that are valid is an interesting exercise in local trivia. |- (d2): $loset(Dates, <=, <). loset::=http://www/dick/maths/math_21_Order.html#loset, a linearly ordered set. + :: Dates>Dates. + :: Time>Dates. |- (d5): For all d1:Time,t1:Dates ( d1+t1 = t1+d1 ). - ::Dates>Time. |- (d3): For all d1,d2,d3:Dates( d1+(d2-d3) = (d1-d3)+d2). |- (d4): For all d1,d2(d1-d2= -(d2-d1)) ... .Dangerous_Bend A common mistake is to think that a light-year is a measure of time. It is a measure of distance - the distance covered by light in one year. At the atomic level the light_second is a similar useful unit of distance. light_year::Length, distance covered by light in a vacuum in one year. light_second ::Length, distance covered by light... in one second. .See Velocity and Acceleration . Units of Mass oz::Units(Mass), lbs::Units(Mass), gm::Units(Mass), kg::Units(Mass). |- (m1): 16.oz=1.lb, |- (m2): 1000.gm=1.kg, ... Do not confuse these with the forces that they cause due to the gravity of earth.... .See Force and weight . Angles deg::Units(Angle), degree -- basically Babylonian. rad::Units(Angle), radian. turn::Units(Angle), recent idea. |- (a1): 1.turn=360.deg=(2*\pi).rad. Angles are an abstraction form the ratios between the radius of a circular arc and it's length. CIRCULAR::=following .Net radius:: Length, diameter::Length=2*radius. circumference:: Length, area::Length*Length, \pi::Number=3.1415..., ratio of circumference ro diameter in a circle. . \tau::Number=2*\pi. (a1)|- 1.turn = \tau.rad. |- (circ1): circumference=2*\pi*radius, |- (circ2): area=\pi*radius^2. ARC::=Net{angle:Angle./rad, length:Length, length=angle*radius,area=angle*radius*radius.}. .Close.Net CIRCULAR \pi::$Number=CIRCULAR.\pi. PI::=\pi. . Information bit::Units(Information), byte::Units(Information), Kb::Units(Information), KB::Units(Information), MB::Units(Information), GB::Units(Information). |- (i1): 1024.bit=1.kb, |- (i2): 8.bit=1.byte, |- (i3): 1024.byte=1.KB, |- (i4): 1024.KB=1.MB, |- (i4): 1024.MB=1.GB. |- (i5): baud::=bit/s. |- (i6): bpi::=bit/inch. . Velocity and Acceleration Velocity::=dim(L=>1,T=>-1,M=>0,I=>0,A=>0), ()|-(v1): for all l:Length, t:Times, l/t in Velocity. fps::Units(Velocity). mph::Units(Velocity). ()|-(v2): 60.mile/2.hour=30.mile/1.hour=30.mph. mph=miles/hour. |- (v3): 1.mph=1.mile/1.hour. |- (v4): 1.fps=1.ft/1.s. ()|-(v5):x.fps=((60*60)*x/(12*3*1760)).mph. ()|-(v6): x.ft/s=x.ft/1.s. Physicists believe that the speed of light is a fundamental constant - a kind of universal speed limit for all matter. It is often symbolized by the letter "c": c::Velocity. |- (c1): c./mph = 186000 (??). |- (c2):light_year=year/c. |- (c3): light_second=sec/c. Acceleration::=dim(M=>0, L=>1, T=>-2,I=>0,A=>0). fpss, ...:Units(Acceleration). |- (a1):1.fpss=1.ft/1.s/1.s. . Force and weight Force::=dim(M=>1, L=>1, T=>-2, I=>0,A=>0). dynes::Units(Force), newtons::Units(Force). |- (f1):dyne=gm*cm/(s*s), |- (f2):newton=kg*m/(s*s), |- (f3):poundal=lb*ft/(s*s)=lb*fps=ftlb/ss, |- (f4): ss=s*s, |- (f5): ftlb=ft*lb. If `g` is the acceleration due to gravity in units `ug` and `m` is a mass in units of `um` then the weight of a mass is the force exerted by gravity, or `g*m` in the units of `ug.um`. To simplify some expressions there are special units that take this into account: lb_weight::Units(Force), kg_weight::Units(Force). |- (f6):1.lb_weight= g.poundals. |- (f7):1.kg_weight= g.newton. .Close Common Units . Example in Computing If a track on a hard disk has radius `R`.inch, turns once every `n`.s, and stores `b`.bpi then the transfer rate `t`.baud will be t= (2 * \pi * r / n).baud. (baud=bit/s=inch*bpi/s, 1.turn=2*\pi.rad, a disk_track:$ $CIRCULAR) }=::DIMENSION. .Open SI Units The SI ( .Key System International ) Units are described at .See http://physics.nist.gov/cuu/Units/units.html , here is a quick summary. SI::=Net{ SI_base_units::=Net{ |- (SI0): $DIMENSION.$BASIS. Dimension_Unit_Abbreviation::=Net{ 1st:$Dimension, 2nd:units(first). 3rd:=2nd}. DUA::=Dimension_Unit_Abbreviation. |- (SIl): DUA(length, meter, m). |- (SIt): DUA(time, second, s). |- (SIT): DUA(temperature, kelvin, K). |- (SIm): DUA(mass, kilogram, kg). |- (SIc): DUA(electric_current, ampere, A). |- (SIM): DUA(amount_of_substance, mole, mol). |- (SIL): DUA(luminous_intensity, candela, cd). (with thanks to Vince Tilroe, February 17th 2005, who emailed me corrections) }=::SI_base_units. SI_derived_units::=Net{ To Be Done... }=::SI_derived_units. }=::SI. .Close SI Units .Open Temperature Unlike most units, temperature scales have different zeroes: Kelvin - absolute zero Centigrade - melting ice under standard pressures etc. Fahrenheit - the lowest temperature Fahrenheit could get - mixture of ice and salt. This means that the definition of unit implies that temperature is not a unit! Instead we can use a weaker form: For $Dimension D, Scale(D) ::=(+)$Numbers---D, and formally define: Temperature::$Dimension. Centigrade::Scale($Temperature). C::=Centigrade. Fahrenheit::Scale($Temperature). F::=Fahrenheit. Kelvin::Units($Temperature). K::=Kelvin. For all t:$Temperature, t./C = t./K + $absolute_zero. absolute_zero::=`that temperature at which all motion ceases`, this is inaccessible as it takes more and more work to extract heat (motion) from something, the closer you get to absolute zero. Absolute zero is the .Key the lowest possible temperature. In the centigrade scale: absolute_zero::= -273.15./C. There are well known formulas for converting .Key Fahrenheit to Centigrade and .Key Fahrenheit to Centigrade: For all t, t./C = (5/9)*(t./F - 32 ), For all t, t./F = 32 + (9/5)*t./C. For details see .See http://en.wikipedia.org/wiki/Temperature in the Wikipedia. .Close Temperature .Open Money money::$Dimension. dollars::units(money). cents::=units(money). |-(USA1): 1.dollars = 100.cents. Please add the definitions for any other currencies that you know about by clicking here: .Hole .Close Money .Close Dimensioned Numbers