(in-package "ONTOLINGUA-USER")
(define-theory
standard-units
(standard-dimensions)
"This theory defines a set of basic units of measure. The associated physical
dimensions are defined in the standard-dimensions theory. Each
unit-of-measure is defined with its relationship to SI units for the
fundamental dimensions. It is intended that this theory represent enough
information to convert among any pair of units of the same dimension that are
either defined as basic units here or built up from the basic units using the
composition operators * and EXPT."
:io-package
"ONTOLINGUA-USER"
:issues
("This theory used to be combined with standard-units in a
theory called standard-units-and-dimensions. We divided them because commitments
to one are often independent of commitments to the other."
(:see-also
"The EngMath paper on line")))
(in-theory (quote standard-units))
;;; pico-ampere
(define-frame pico-ampere
:own-slots
((documentation "A unit of electrical current equal to one trillionth of an ampere.")
(instance-of unit-of-measure))
:axioms
((= pico-ampere (* 1.0E-12 ampere))))
;;; ohm
(define-frame ohm
:own-slots
((documentation "A unit for measuring electrical resistance.")
(instance-of unit-of-measure)))
;;; nano-second
(define-frame nano-second
:own-slots
((documentation "A unit of measure equal to one trillionth of a second.")
(instance-of unit-of-measure))
:axioms
((= nano-second (* 1.0E-9 second-of-time))))
;;; nano-ampere
(define-frame nano-ampere
:own-slots
((documentation "A unit of electrical current equal to one billionth of an ampere.")
(instance-of unit-of-measure))
:axioms
((= nano-ampere (* 1.0E-9 ampere))))
;;; milli-amp
(define-frame milli-amp
:own-slots
((documentation "A unit of electrical current equal to one thousandth of an ampere.")
(instance-of unit-of-measure))
:axioms
((= milli-amp (* 0.001 ampere))))
;;; volt
(define-frame volt
:own-slots
((documentation "A unit for measuring electrical potential.")
(instance-of unit-of-measure)
(quantity.dimension voltage-dimension)))
;;; micro-volt
(define-frame micro-volt
:own-slots
((documentation "A unit for measuring electrical potential.")
(instance-of unit-of-measure) (quantity.dimension voltage))
:axioms
((= micro-volt (* 1.0E-6 volt))))
;;; hertz
(define-frame hertz
:own-slots
((documentation "A unit of measure equal to a frequency of once per second.")
(instance-of unit-of-measure)
(quantity.dimension frequency-dimension)))
;;; degree-celcius
(define-frame degree-celcius
:own-slots
((documentation "The prefered unit for measuring temperature.")
(instance-of unit-of-measure)
(quantity.dimension temperature)))
;;; mega-hertz
(define-frame mega-hertz
:own-slots
((documentation "A unit of measure equal to one million times per second.")
(instance-of unit-of-measure))
:axioms
((= mega-hertz (* 1000000 hertz))))
;;; kilo-hertz
(define-frame kilo-hertz
:own-slots
((documentation "A unit of measure equal to a frequency of one thousand times per second.")
(instance-of unit-of-measure)
(quantity.dimension frequency-dimension))
:axioms
((= kilo-hertz (* 1000 hertz))))
;;; watt
(define-frame watt
:own-slots
((documentation "A unit that measures power, ie energy produced or expended per unit of time.")
(instance-of unit-of-measure)
(quantity.dimension power-dimension)))
;;; megapascal
(define-instance
megapascal
(unit-of-measure)
" 1 megapascal = 10^6 pascal "
:=
(* pascal 1000000)
:axiom-def
(quantity.dimension megapascal pressure-dimension))
;;; candela
(define-instance
candela
(unit-of-measure)
"The CANDELA is the SI unit for luminous intensity."
:axiom-def
(and (= (quantity.dimension candela) luminous-intensity-dimension)
(si-unit candela)))
;;; mole
(define-instance
mole
(unit-of-measure)
"SI unit for amount of substance. A mole of a substance is the
amount of that substance that contains 6.02252 x 10^23 elementary
entities. Those entities may be atoms, molecules, ions, electrons,
other particles, or specified groups of such particles. One mole
of carbon atoms (the C^12 isotope) is exactly 12 grams [Halliday
and Resnick]. In this ontology we say that the specified unit
is the molecule, so that the MOLE stands by itself as a unit."
:axiom-def
(and (= (quantity.dimension mole) amount-of-substance-dimension)
(si-unit mole)))
;;; us-cent
(define-instance
us-cent
(unit-of-measure)
"Currency measurement unit."
:=
(/ us-dollar 100)
:axiom-def
(= (quantity.dimension us-cent) currency-dimension))
;;; us-dollar
(define-instance
us-dollar
(unit-of-measure)
"An example currency unit."
:axiom-def
(= (quantity.dimension us-dollar) currency-dimension))
;;; angular-degree
(define-instance
angular-degree
(unit-of-measure)
"Angular measurement unit."
:=
(* radian (/ the-number-pi 180))
:axiom-def
(= (quantity.dimension angular-degree) identity-dimension)
:issues
((:formerly-called degree)))
;;; the-number-pi
(define-instance
the-number-pi
(real-number)
"THE-NUMBER-PI is an approximation of the real number that is the ratio
of the perimeter of a circle to its diameter."
:=
3.1415926535897936
:issues
("Should be defined as part of kif-numbers?" (:formerly-called pi)
"Renamed from PI because PI is a common abbreviation. In a general
ontology (one that will be included and extended, it's probably
a good idea to avoid short, ambiguous names."))
;;; radian
(define-instance
radian
(unit-of-measure)
"Angular measurement unit."
:=
identity-unit
:axiom-def
(= (quantity.dimension radian) identity-dimension))
;;; degree-rankine
(define-instance
degree-rankine
(unit-of-measure)
"Being, according to, or relating to an absolute-temperature scale on
which the unit of measurement equals a Fahrenheit degree and on which
the freezing point of water is 491.67<^o> and the boiling point
671.67<^o>. [Webster]"
:=
(* degree-kelvin (/ 5 9))
:axiom-def
(= (quantity.dimension degree-rankine)
thermodynamic-temperature-dimension))
;;; degree-kelvin
(define-instance
degree-kelvin
(unit-of-measure)
"A unit of thermodynamic temperature. The degree-Kelvin
differs from the Celcius scale ..."
:axiom-def
(and (= (quantity.dimension degree-kelvin)
thermodynamic-temperature-dimension)
(si-unit degree-kelvin)))
;;; pascal
(define-instance
pascal
(unit-of-measure)
"SI pressure unit."
:=
(* newton (expt meter -2))
:axiom-def
(and (si-unit pascal)
(= (quantity.dimension pascal)
(* force-dimension (expt length-dimension -2)))))
;;; btu
(define-instance
btu
(unit-of-measure)
"British thermal unit, a unit of energy."
:=
(* 1055.0 joule)
:axiom-def
(= (quantity.dimension btu) energy-dimension))
;;; joule
(define-instance
joule
(unit-of-measure)
"SI energy unit."
:=
(* newton meter)
:axiom-def
(and (si-unit joule) (= (quantity.dimension joule) energy-dimension)))
;;; pound-force
(define-instance
pound-force
(unit-of-measure)
"English pound of force."
:axiom-def
(= (quantity.dimension pound-force) force-dimension)
:=
(/ newton 4.448))
;;; ampere
(define-frame ampere
:own-slots
((documentation "SI electrical current unit.")
(instance-of unit-of-measure)
(quantity.dimension electrical-current-dimension))
:axioms
((= (quantity.dimension ampere) electrical-current-dimension)))
;;; newton
(define-instance
newton
(unit-of-measure)
"SI force unit."
:=
(* (* kilogram meter) (expt second-of-time -2))
:axiom-def
(and (= (quantity.dimension newton) force-dimension) (si-unit newton)))
;;; slug
(define-instance
slug
(unit-of-measure)
"English mass unit."
:=
(/ pound-mass 1000)
:axiom-def
(= (quantity.dimension slug) mass-dimension))
;;; pound-mass
(define-instance
pound-mass
(unit-of-measure)
"English pound of mass."
:axiom-def
(= (quantity.dimension pound-mass) mass-dimension)
:=
(/ kilogram 2.2046))
;;; kilogram
(define-instance
kilogram
(unit-of-measure)
"SI mass unit of kilogram."
:axiom-def
(and (= (quantity.dimension kilogram) mass-dimension) (si-unit kilogram)))
;;; angstrom
;(define-instance
; angstrom
; (unit-of-measure)
; "ang.strom 'a<nj>-str<e>m also '<o.><nj>- n (1897)
; [Anders J. <A^o>ngstr<o:>m]
; :a unit of length equal to one ten-billionth of a meters -- used esp.
; for wavelengths of light."
; :=
; (/ meter (expt 10 10))
; :axiom-def
; (= (quantity.dimension angstrom) length-dimension))
;;; mile
(define-instance
mile
(unit-of-measure)
"English length unit."
:=
(* foot 5280)
:axiom-def
(= (quantity.dimension mile) length-dimension))
;;; foot
(define-instance
foot
(unit-of-measure)
"English length unit of feet."
:=
(* inch 12)
:axiom-def
(= (quantity.dimension foot) length-dimension))
;;; inch
(define-instance
inch
(unit-of-measure)
"English length unit."
:=
(/ meter 39.37)
:axiom-def
(= (quantity.dimension inch) length-dimension))
;;; kilometer
(define-instance
kilometer
(unit-of-measure)
""
:=
(* meter 1000)
:axiom-def
(= (quantity.dimension kilometer) length-dimension))
;;; meter
(define-instance
meter
(unit-of-measure)
"SI length unit. No conversion function is given
because this is a standard."
:axiom-def
(and (= (quantity.dimension meter) length-dimension) (si-unit meter)))
;;; hour
(define-instance
hour
(unit-of-measure)
"Time unit."
:=
(* minute 60)
:axiom-def
(= (quantity.dimension hour) time-dimension))
;;; minute
(define-instance
minute
(unit-of-measure)
"Time unit."
:=
(* second-of-time 60)
:axiom-def
(= (quantity.dimension minute) time-dimension))
;;; second-of-time
(define-instance
second-of-time
(unit-of-measure)
"The SI standard unit of time. It is not called 'second' to distinguish
it from the function second (from the KIF-lists ontology) that denotes the
second element of a sequence."
:axiom-def
(and (= (quantity.dimension second-of-time) time-dimension)
(si-unit second-of-time)))
;;; si-unit
(define-class si-unit
(?unit)
"The class of Systeme International units."
:def
(unit-of-measure ?unit)
:axiom-def
(and (system-of-units si-unit)
(= (base-units si-unit)
(setof meter kilogram second-of-time ampere degree-kelvin mole
candela identity-unit))))
This Lisp-to-HTML translation was brought to you by
François Gerbaux and Tom Gruber