;; Copyright (c) 2003 Teknowledge Corporation. ;; U.S. GOVERNMENT RIGHTS ;; Use, duplication, or disclosure by the U.S. Government is subject to ;; restrictions set forth in DFARS 227.7202-1(a) and 227.7202-3(a), ;; DFARS 252.227-7013(c)(1)(ii), DFARS 252.227-7018, FAR 12.212(a), ;; FAR 52.227-19, or FAR 52.227-14 (ALT III), as applicable. ;; THIS SOFTWARE CONTAINS CONFIDENTIAL INFORMATION AND TRADE SECRETS OF ;; TEKNOWLEDGE CORPORATION. USE, DISCLOSURE, OR REPRODUCTION IS PROHIBITED ;; WITHOUT THE PRIOR EXPRESS WRITTEN PERMISSION OF TEKNOWLEDGE CORPORATION. ;; For academic and other licenses, contact kslicenses@teknowledge.com. ;; ========================================================================== ;;; Ontology of Transportation ;;; ;; Author: Deborah Nichols (dnichols@teknowledge.com) ;; Section I of this file incorporates material created by ;; Douglas Wulf (dwulf@ks.teknowledge.com). ;; Sources: ;; This file creates terms to represent transportation-related information in ;; the CIA World Fact Book 2002 (http://www.cia.gov/cia/publications/factbook/). ;; Additional concepts are taken from Universal Joint Task List (version 4) ;; (http://www.dtic.mil/doctrine/jel/cjcsd/cjcsm/m3500_4b.pdf). ;; Additional references include: on-line Glossary of Landform and ;; Geologic Terms at http://www.statlab.iastate.edu/soils/nssh/629.htm. ;; Some transportation industry terms taken from: ;; http://www.hhgfaa.org/public/industryterms1.asp#B (Householders Goods ;; Forwarders Association of America). ;; Information about government organizations taken from www.dot.gov. ;; Terms and definitions related to the sea and shipping taken from: ;; http://www.trans-inst.org/seawords.htm. ;; General transportation issues: http://www.ncseonline.org/NLE/CRS/ as ;; source of Congressional Research Service (CRS) reports. ;; Ontology dependencies: Merge.txt (SUMO), Mid-level-ontology.kif (MILO), ;; Geography.kif, Government.kif, Economy.kif, and Communications.kif ;; ========================================================================== ;; Outline: ;; ;; I. Transportation concepts for CIA World Fact Book ;; A. Railways ;; B. Highways ;; C. Waterways ;; D. Pipelines ;; E. Ports and Harbors ;; F. Merchant Marine ;; G. Airports ;; H. Airports - with paved runways ;; J. Heliports ;; K. Transportation - note ;; ;; II. General Transportation Concepts ;; A. Translocation ;; B. Transitways ;; 1. Land Transitways ;; a. Roadways ;; b. Railways ;; 2. Water Transitways ;; 3. Air Transitways ;; 4. Pipelines ;; C. Vehicles and Related Equipment ;; 1. Generic Vehicle Terms ;; 2. Land Vehicles ;; a. Road Vehicles ;; b. Rail Vehicles ;; c. Other ;; 2. Water Vehicles ;; 3. Air Vehicles ;; 4. Transportation Equipment ;; D. Trafficability ;; 1. Traffic Compatibility ;; 2. Transitway Capacity ;; 3. Transitway Obstacles ;; 4. Transitway State ;; E. Transportation Systems and Routes ;; 1. Transportation Systems ;; 2. Transit Routes ;; 3. Transitway Junctions ;; 4. Transit Terminals ;; 5. Trips ;; F. Shipping and Cargo ;; 1. Shipping and Handling ;; 2. Cargo Type and Containers ;; G. Transportation Authority and Regulation ;; 1. Transportation Authority ;; 2. Transportation Control Systems ;; 3. Transportation Control Devices ;; 4. Transitway Regulations ;; 5. Transitway Tolls and Usage Fees ;; 6. Transportation Embargoes ;; H. Transportation Organizations ;; 1. International Organizations ;; 2. Government Organizations ;; 3. Commercial Organizations ;; I. Transportation Personnel ;; ;; Appendix: Background Concepts more general than Transportation ;;======================================================================== ;; I. Transportation Concepts for CIA World Fact Book ;; A. Railways ;; PREDICATE: (instance totalLengthOfRailwaySystem BinaryPredicate) (domain totalLengthOfRailwaySystem 1 GeographicArea) (domain totalLengthOfRailwaySystem 2 LengthMeasure) (documentation totalLengthOfRailwaySystem "(&%totalLengthOfRailwaySystem ?AREA ?LENGTH) means that the sum length of all railway routes in the &%GeographicArea ?AREA is the &%LengthMeasure ?LENGTH.") (<=> (totalLengthOfRailwaySystem ?AREA ?LENGTH) (length (KappaFn ?RAILWAYS (and (instance ?RAILWAYS Railway) (located ?RAILWAYS ?AREA))) ?LENGTH)) (=> (and (totalLengthOfRailwaySystem ?AREA ?LENGTH) (greaterThan ?LENGTH 0)) (exists (?RAILWAY) (and (instance ?RAILWAY Railway) (located ?RAILWAY ?AREA)))) ;; PREDICATE: (instance lengthOfElectrifiedRailway BinaryPredicate) (domain lengthOfElectrifiedRailway 1 GeographicArea) (domain lengthOfElectrifiedRailway 2 LengthMeasure) (documentation lengthOfElectrifiedRailway "(&%lengthOfElectrifiedRailway ?AREA ?LENGTH) means that the sum length of all &%ElectrifiedRailway routes in the &%GeographicArea ?AREA is the &%LengthMeasure ?LENGTH.") (<=> (lengthOfElectrifiedRailway ?AREA ?LENGTH) (length (KappaFn ?RAILWAYS (and (instance ?RAILWAYS ElectrifiedRailway) (located ?RAILWAYS ?AREA))) ?LENGTH)) (=> (and (lengthOfElectrifiedRailway ?AREA ?LENGTH) (greaterThan ?LENGTH 0)) (exists (?RAILWAY) (and (instance ?RAILWAY ElectrifiedRailway) (located ?RAILWAY ?AREA)))) ;; PREDICATE: (instance lengthOfMultipleTrackRailway BinaryPredicate) (domain lengthOfMultipleTrackRailway 1 GeographicArea) (domain lengthOfMultipleTrackRailway 2 LengthMeasure) (documentation lengthOfMultipleTrackRailway "(&%lengthOfMultipleTrackRailway ?AREA ?LENGTH) means that the sum length of all &%MultipleTrackRailway routes in the &%GeographicArea ?AREA is the &%LengthMeasure ?LENGTH.") (<=> (lengthOfMultipleTrackRailway ?AREA ?LENGTH) (length (KappaFn ?RAILWAYS (and (instance ?RAILWAYS MultipleTrackRailway) (located ?RAILWAYS ?AREA))) ?LENGTH)) (=> (and (lengthOfMultipleTrackRailway ?AREA ?LENGTH) (greaterThan ?LENGTH 0)) (exists (?RAILWAY) (and (instance ?RAILWAY MultipleTrackRailway) (located ?RAILWAY ?AREA)))) ;; PREDICATE: (instance lengthOfBroadGaugeRailway BinaryPredicate) (domain lengthOfBroadGaugeRailway 1 GeographicArea) (domain lengthOfBroadGaugeRailway 2 LengthMeasure) (documentation lengthOfBroadGaugeRailway "(&%lengthOfBroadGaugeRailway ?AREA ?LENGTH) means that the sum length of broad gauge railway routes in the &%GeographicArea ?AREA is the &%LengthMeasure ?LENGTH.") (<=> (lengthOfBroadGaugeRailway ?AREA ?LENGTH) (length (KappaFn ?RAILWAYS (and (instance ?RAILWAYS BroadGaugeRailway) (located ?RAILWAYS ?AREA))) ?LENGTH)) (=> (and (lengthOfBroadGaugeRailway ?AREA (MeasureFn ?LENGTH ?UNIT)) (instance ?UNIT UnitOfMeasure) (greaterThan ?LENGTH 0)) (exists (?RAILWAY) (and (instance ?RAILWAY BroadGaugeRailway) (located ?RAILWAY ?AREA)))) ;; PREDICATE: (instance lengthOfDualGaugeRailway BinaryPredicate) (domain lengthOfDualGaugeRailway 1 GeographicArea) (domain lengthOfDualGaugeRailway 2 LengthMeasure) (documentation lengthOfDualGaugeRailway "(&%lengthOfDualGaugeRailway ?AREA ?LENGTH) means that the sum length of dual gauge railway routes in the &%GeographicArea ?AREA is the &%LengthMeasure ?LENGTH.") (<=> (lengthOfDualGaugeRailway ?AREA ?LENGTH) (length (KappaFn ?RAILWAYS (and (instance ?RAILWAYS DualGaugeRailway) (located ?RAILWAYS ?AREA))) ?LENGTH)) (=> (and (lengthOfDualGaugeRailway ?AREA (MeasureFn ?LENGTH ?UNIT)) (instance ?UNIT UnitOfMeasure) (greaterThan ?LENGTH 0)) (exists (?RAILWAY) (and (instance ?RAILWAY DualGaugeRailway) (located ?RAILWAY ?AREA)))) ;; PREDICATE: (instance lengthOfNarrowGaugeRailway BinaryPredicate) (domain lengthOfNarrowGaugeRailway 1 GeographicArea) (domain lengthOfNarrowGaugeRailway 2 LengthMeasure) (documentation lengthOfNarrowGaugeRailway "(&%lengthOfNarrowGaugeRailway ?AREA ?LENGTH) means that the sum length of narrow gauge railway routes in the &%GeographicArea ?AREA is the &%LengthMeasure ?LENGTH.") (<=> (lengthOfNarrowGaugeRailway ?AREA ?LENGTH) (length (KappaFn ?RAILWAYS (and (instance ?RAILWAYS NarrowGaugeRailway) (located ?RAILWAYS ?AREA))) ?LENGTH)) (=> (and (lengthOfNarrowGaugeRailway ?AREA (MeasureFn ?LENGTH ?UNIT)) (instance ?UNIT UnitOfMeasure) (greaterThan ?LENGTH 0)) (exists (?RAILWAY) (and (instance ?RAILWAY NarrowGaugeRailway) (located ?RAILWAY ?AREA)))) ;; PREDICATE: (instance lengthOfStandardGaugeRailway BinaryPredicate) (domain lengthOfStandardGaugeRailway 1 GeographicArea) (domain lengthOfStandardGaugeRailway 2 LengthMeasure) (documentation lengthOfStandardGaugeRailway "(&%lengthOfStandardGaugeRailway ?AREA ?LENGTH) means that the sum length of standard gauge railway routes in the &%GeographicArea ?AREA is the &%LengthMeasure ?LENGTH.") (<=> (lengthOfStandardGaugeRailway ?AREA ?LENGTH) (length (KappaFn ?RAILWAYS (and (instance ?RAILWAYS StandardGaugeRailway) (located ?RAILWAYS ?AREA))) ?LENGTH)) (=> (and (lengthOfStandardGaugeRailway ?AREA (MeasureFn ?LENGTH ?UNIT)) (instance ?UNIT UnitOfMeasure) (greaterThan ?LENGTH 0)) (exists (?RAILWAY) (and (instance ?RAILWAY StandardGaugeRailway) (located ?RAILWAY ?AREA)))) ;; PREDICATE: (instance lengthOfUnclassifiedGaugeRailway BinaryPredicate) (domain lengthOfUnclassifiedGaugeRailway 1 GeographicArea) (domain lengthOfUnclassifiedGaugeRailway 2 LengthMeasure) (documentation lengthOfUnclassifiedGaugeRailway "(&%lengthOfUnclassifiedGaugeRailway ?AREA ?LENGTH) means that the sum length of railway routes in the &%GeographicArea ?AREA classified as something other than broad, dual, narrow, or standard gauge is the &%LengthMeasure ?LENGTH.") (<=> (lengthOfUnclassifiedGaugeRailway ?AREA ?LENGTH) (length (KappaFn ?RAILWAYS (and (located ?RAILWAYS ?AREA) (not (instance ?RAILWAYS (UnionFn StandardGaugeRailway (UnionFn BroadGaugeRailway (UnionFn DualGaugeRailway NarrowGaugeRailway))))))) ?LENGTH)) (=> (and (lengthOfUnclassifiedGaugeRailway ?AREA (MeasureFn ?LENGTH ?UNIT)) (instance ?UNIT UnitOfMeasure) (greaterThan ?LENGTH 0)) (exists (?RAILWAY) (and (instance ?RAILWAY Railway) (located ?RAILWAY ?AREA)))) ;; TERM: (subclass Railway LandTransitway) ; &%Transitway is defined in Part II. (subclass Railway StationaryArtifact) (documentation Railway "&%Railway is the subclass of &%LandTransitways that have rails along which &%Trains may travel. A railway consists of the rail bed, sleepers, tracks, electric rails, switches, sensors, lights, crossing grades, and any other integral machinery or parts of a section of railway.") ;; TERM: (subclass BroadGaugeRailway Railway) (documentation BroadGaugeRailway "&%BroadGaugeRailway is the class of &%Railway that has a distance greater than 1.44 &%Meters between its rails.") (=> (instance ?RR BroadGaugeRailway) (attribute ?RR BroadGauge)) ;; TERM: (subclass DualGaugeRailway Railway) (documentation DualGaugeRailway "&%DualGaugeRailway is the class of &%Railway that has three tracks, enabling trains of two different gauges to run on it.") (=> (instance ?RR DualGaugeRailway) (attribute ?RR DualGauge)) ;; TERM: (subclass NarrowGaugeRailway Railway) (documentation NarrowGaugeRailway "&%NarrowGaugeRailway is the class of &%Railway that has a distance less than 1.44 &%Meters between its rails.") (=> (instance ?RR NarrowGaugeRailway) (attribute ?RR NarrowGauge)) ;; TERM: (subclass StandardGaugeRailway Railway) (documentation StandardGaugeRailway "&%StandardGaugeRailway is the class of &%Railway that has a distance of 1.44 &%Meters between its rails.") (=> (instance ?RR StandardGaugeRailway ) (attribute ?RR StandardGauge)) ;; TERM: (subclass ElectrifiedRailway Railway) (documentation ElectrifiedRailway "&%ElectrifiedRailway is the subclass of &%Railway representing electrified railways.") (=> (instance ?ERR ElectrifiedRailway) (capability (TransportationByFn ElectrifiedRailwayCar) path ?ERR)) ;; TERM: (subclass MultipleTrackRailway Railway) (documentation MultipleTrackRailway "&%MultipleTrackRailway is the subclass of &%Railway whose instances consists of two or more sets of tracks running in parallel, allowing motion in both directions along a route without the need for sidings and delays.") (=> (instance ?RAIL MultipleTrackRailway) (exists (?TRACK1 ?TRACK2) (and (instance ?TRACK1 RailroadTrack) (instance ?TRACK2 RailroadTrack) (not (equal ?TRACK1 ?TRACK2)) (component ?TRACK1 ?RAIL) (component ?TRACK2 ?RAIL) (orientation ?TRACK1 ?TRACK2 LengthwiseEquidistant)))) ;; TERM: (subclass RailroadTrack StationaryArtifact) (documentation RailroadTrack "&%RailroadTrack is the class of &%StationaryArtifacts consisting of rails laid on supports to form a track for railway vehicles. &%RailroadTrack is the basic component of a &%Railway, while the latter also includes any signalling devices, crossing markers, switches, and other artifacts along the tracks.") (=> (instance ?WAY Railway) (exists (?TRACK) (and (instance ?TRACK RailroadTrack) (component ?TRACK ?WAY)))) ;; TERM: (subclass TrackGauge InternalAttribute) (documentation TrackGauge "&%TrackGauge is the collection of width attributes that characterize &%Railways, based on the regular distance maintained between the two rails of the &%RailroadTrack. Precisely, the measurement of track gauge is the distance between the inner vertical surfaces of the heads of the rails. Track gauge attributes include &%BroadGauge, &%DualGauge, &%StandardGauge, and &%NarrowGauge. &%TrackGauge may be attributed both to a &%Railway and to the &%RailroadTrack that is its main component.") (=> (and (instance ?GAUGE TrackGauge) (attribute ?OBJECT ?GAUGE)) (instance ?OBJECT Railway)) (=> (and (instance ?RR Railway) (attribute ?RR ?GAUGE) (instance ?GAUGE TrackGauge) (instance ?TRACK RailroadTrack) (component ?TRACK ?RR)) (attribute ?TRACK ?GAUGE)) (=> (and (instance ?RR Railway) (attribute ?TRACK ?GAUGE) (instance ?GAUGE TrackGauge) (instance ?TRACK RailroadTrack) (component ?TRACK ?RR)) (attribute ?RR ?GAUGE)) ;; TERM: (instance BroadGauge TrackGauge) (documentation BroadGauge "&%BroadGauge is the attribute of any &%Railway that has a &%TrackGauge wider than &%StandardGauge (i.e., wider than 1.44 &%Meters).") (=> (and (instance ?RR Railway) (attribute ?RR BroadGauge) (trackWidth ?RR ?WIDTH)) (greaterThan ?WIDTH (MeasureFn 1.44 Meter))) ;; TERM: (instance StandardGauge TrackGauge) (documentation StandardGauge "&%StandardGauge is the attribute of &%Railways having the standardized track width that is used in North America and most Western European countries. The standard is typically a distance of 4 ft., 8 and one-half inches (1.44 meters). There is some variation within which usage is compatible, e.g., 1.35 meters. Standard gauge originated in England and was mandated by the U.S. Federal government for the U.S. Transcontinental Railroad. It is also used in Canada, Great Britain, and most of Western Europe (but not in Ireland, or Spain and Portugal.") (=> (and (instance ?RR Railway) (attribute ?RR StandardGauge) (trackWidth ?RR ?WIDTH)) (greaterThanOrEqualTo ?WIDTH (MeasureFn 1.435 Meter))) (=> (and (instance ?RR Railway) (attribute ?RR StandardGauge) (trackWidth ?RR ?WIDTH)) (lessThanOrEqualTo ?WIDTH (MeasureFn 1.44 Meter))) ;; TERM: (instance NarrowGauge TrackGauge) (documentation NarrowGauge "&%NarrowGauge is the attribute of any &%Railway that has a &%TrackGauge narrower than &%StandardGauge. There are several common track widths among &%NarrowGauge railways.") (=> (and (instance ?RR Railway) (attribute ?RR NarrowGauge) (trackWidth ?RR ?WIDTH)) (lessThanOrEqualTo ?WIDTH (MeasureFn 1.435 Meter))) ;; TERM: (instance DualGauge TrackGauge) (documentation DualGauge "&%DualGauge is the attribute of any &%Railway that has three parallel rails, thus allowing two different gauges of rolling stock to travel over it.") (=> (and (instance ?RR Railway) (attribute ?RR DualGauge)) (exists (?GAUGE1 ?GAUGE2) (and (instance ?GAUGE1 TrackGauge) (instance ?GAUGE2 TrackGauge) (not (equal ?GAUGE1 DualGauge)) (not (equal ?GAUGE2 DualGauge)) (not (equal ?GAUGE1 ?GAUGE2)) (attribute ?RR ?GAUGE1) (attribute ?RR ?GAUGE2)))) ;;---------------------------------------------------------------------- ;; B. Highways ;; PREDICATE: (instance totalLengthOfHighwaySystem BinaryPredicate) (domain totalLengthOfHighwaySystem 1 GeographicArea) (domain totalLengthOfHighwaySystem 2 LengthMeasure) (documentation totalLengthOfHighwaySystem "(&%totalLengthOfHighwaySystem ?AREA ?LENGTH) means that the total length of the highway system in the &%GeographicArea ?AREA is ?LENGTH. The figure includes both paved and unpaved roads.") (<=> (totalLengthOfHighwaySystem ?AREA ?LENGTH) (length (KappaFn ?HIGHWAYS (and (instance ?HIGHWAYS Roadway) (located ?HIGHWAYS ?AREA))) ?LENGTH)) (=> (and (totalLengthOfHighwaySystem ?AREA (MeasureFn ?LENGTH ?UNIT)) (instance ?UNIT UnitOfMeasure) (greaterThan ?LENGTH 0)) (exists (?HIGHWAY) (and (instance ?HIGHWAY Roadway) (located ?HIGHWAY ?AREA)))) (=> (and (totalLengthOfHighwaySystem ?AREA ?LENGTH) (lengthOfPavedHighway ?AREA ?LENGTH1) (lengthOfUnpavedHighway ?AREA ?LENGTH2)) (equal ?LENGTH (AdditionFn ?LENGTH1 ?LENGTH2))) (=> (and (totalLengthOfHighwaySystem ?AREA (MeasureFn ?LENGTH ?UNIT)) (lengthOfPavedHighway ?AREA (MeasureFn ?LENGTH1 ?UNIT)) (lengthOfUnpavedHighway ?AREA (MeasureFn ?LENGTH2 ?UNIT)) (instance ?UNIT UnitOfMeasure) (subclass ?UNIT LengthMeasure)) (totalLengthOfHighwaySystem ?AREA (MeasureFn (AdditionFn ?LENGTH1 ?LENGTH2) ?UNIT))) (=> (and (totalLengthOfHighwaySystem ?AREA ?TOTAL) (lengthOfPavedHighway ?AREA ?PAVED)) (greaterThanOrEqualTo ?TOTAL ?PAVED)) (=> (and (totalLengthOfHighwaySystem ?AREA ?TOTAL) (lengthOfUnpavedHighway ?AREA ?UNPAVED)) (greaterThanOrEqualTo ?TOTAL ?UNPAVED)) ;; PREDICATE: (instance lengthOfPavedHighway BinaryPredicate) (domain lengthOfPavedHighway 1 GeographicArea) (domain lengthOfPavedHighway 2 LengthMeasure) (documentation lengthOfPavedHighway "(&%lengthOfPavedHighway ?AREA ?LENGTH) means that the total length of &%SurfacedRoadway in the &%GeographicArea ?AREA is ?LENGTH.") (<=> (lengthOfPavedHighway ?AREA ?LENGTH) (length (KappaFn ?HIGHWAYS (and (instance ?HIGHWAYS SurfacedRoadway) (located ?HIGHWAYS ?AREA))) ?LENGTH)) (=> (and (lengthOfPavedHighway ?AREA (MeasureFn ?LENGTH ?UNIT)) (instance ?UNIT UnitOfMeasure) (greaterThan ?LENGTH 0)) (exists (?HIGHWAY) (and (instance ?HIGHWAY SurfacedRoadway) (located ?HIGHWAY ?AREA)))) ;; PREDICATE: (instance lengthOfExpresswaySystem BinaryPredicate) (domain lengthOfExpresswaySystem 1 GeographicArea) (domain lengthOfExpresswaySystem 2 LengthMeasure) (documentation lengthOfExpresswaySystem "(&%lengthOfExpresswaySystem ?AREA ?LENGTH) means that the total length of &%Expressway in the &%GeographicArea ?AREA is ?LENGTH.") (<=> (lengthOfExpresswaySystem ?AREA ?LENGTH) (length (KappaFn ?HIGHWAYS (and (instance ?HIGHWAYS Expressway) (located ?HIGHWAYS ?AREA))) ?LENGTH)) (=> (and (lengthOfExpresswaySystem ?AREA (MeasureFn ?LENGTH ?UNIT)) (instance ?UNIT UnitOfMeasure) (greaterThan ?LENGTH 0)) (exists (?HIGHWAY) (and (instance ?HIGHWAY Expressway) (located ?HIGHWAY ?AREA)))) (=> (and (lengthOfExpresswaySystem ?AREA ?LENGTH1) (lengthOfPavedHighway ?AREA ?LENGTH2)) (greaterThanOrEqualTo ?LENGTH2 ?LENGTH1)) ;; PREDICATE: (instance lengthOfUnpavedHighway BinaryPredicate) (domain lengthOfUnpavedHighway 1 GeographicArea) (domain lengthOfUnpavedHighway 2 LengthMeasure) (documentation lengthOfUnpavedHighway "(&%lengthOfUnpavedHighway ?AREA ?LENGTH) means that the total length of &%UnsurfacedRoadway in the &%GeographicArea ?AREA is ?LENGTH.") (<=> (lengthOfUnpavedHighway ?AREA ?LENGTH) (length (KappaFn ?HIGHWAYS (and (instance ?HIGHWAYS UnsurfacedRoadway) (located ?HIGHWAYS ?AREA))) ?LENGTH)) (=> (and (lengthOfUnpavedHighway ?AREA (MeasureFn ?LENGTH ?UNIT)) (instance ?UNIT UnitOfMeasure) (greaterThan ?LENGTH 0)) (exists (?HIGHWAY) (and (instance ?HIGHWAY UnsurfacedRoadway) (located ?HIGHWAY ?AREA)))) ;; TERM: (subclass Roadway LandTransitway) (subclass Roadway LandArea) (documentation Roadway "&%Roadway is the subclass of &%LandTransitways that are areas intended for surface travel by wheeled vehicles, typically powered vehicles. (&%Roadways are not designed for tracked vehicles; though transitable by them, the surfaces may be damaged by tracks.) &%Roadways are areas that have been at least minimally improved to enable the passage of wheeled vehicles. &%Roadway includes dirt and gravelled roads, paved streets, and expressways.") ;; TERM: (subclass UnsurfacedRoadway Roadway) (disjoint SurfacedRoadway UnsurfacedRoadway) (documentation UnsurfacedRoadway "&%UnsurfacedRoadway is the subclass of &%Roadways that have natural surfaces of dirt or sand.") (=> (instance ?ROAD UnsurfacedRoadway) (attribute ?ROAD RoughSurface)) ;; TERM: (subclass SurfacedRoadway Roadway) (documentation SurfacedRoadway "&%SurfacedRoadway is the subclass of &%Roadways that have been improved by covering them with a substance to increase the hardness and smoothness of the surface. Covering materials include pavement, concrete, asphalt, macadam, and gravel.") (=> (instance ?ROAD SurfacedRoadway) (attribute ?ROAD SmoothTexture)) ;; TERM: (subclass Expressway SurfacedRoadway) (documentation Expressway "&%Expressway is the subclass of &%SurfacedRoadways that are multiple-lane, limited-access highways designed for rapid travel by self-powered motor vehicles.") (=> (instance ?HWY Expressway) (exists (?COUNT) (and (cardinality (KappaFn ?LANES (and (instance ?LANES SingleTrafficLane) (part ?LANES ?HWY))) ?COUNT) (greaterThanOrEqualTo ?COUNT 4)))) ;;---------------------------------------------------------------------- ;; C. Waterways ;; PREDICATE: (instance totalLengthOfWaterways BinaryPredicate) (domain totalLengthOfWaterways 1 GeographicArea) (domain totalLengthOfWaterways 2 LengthMeasure) (documentation totalLengthOfWaterways "(&%totalLengthOfWaterways ?AREA ?LENGTH) means that the total length of navigable &%Waterways in the &%GeographicArea ?AREA is the &%LengthMeasure ?LENGTH.") (<=> (totalLengthOfWaterways ?AREA ?LENGTH) (length (KappaFn ?WATERWAY (and (instance ?WATERWAY Waterway) (partlyLocated ?WATERWAY ?AREA))) ?LENGTH)) (=> (and (totalLengthOfWaterways ?AREA (MeasureFn ?LENGTH ?UNIT)) (instance ?UNIT UnitOfMeasure) (greaterThan ?LENGTH 0)) (exists (?WATERWAY) (and (instance ?WATERWAY Waterway) (located ?WATERWAY ?AREA)))) ;; TERM: (subclass Waterway Transitway) (subclass Waterway WaterArea) (documentation Waterway "&%Waterway is the class of navigable waters, including &%Oceans, &%SeaLanes, &%Rivers, &%Canals, &%Lakes, and inland bodies of water.") ;; TERM: (subclass Canal Waterway) (documentation Canal "&%Canal is the subclass of navigable &%Waterways flowing through an artificial course (&%CanalStructure) designed for the passage of &%Ships from one natural &%BodyOfWater to another. In many cases, &%CanalLocks are used to compensate for the difference in water level between the linked bodies of water.") (=> (instance ?CHANNEL Canal) (exists (?WATER1 ?WATER2) (and (instance ?WATER1 WaterArea) (instance ?WATER2 WaterArea) (connects ?CHANNEL ?WATER1 ?WATER2)))) ;; TERM: (subclass CanalStructure StationaryArtifact) (documentation CanalStructure "&%CanalStructure is the subclass of &%StationaryArtifacts consisting of the constructed framework, including &%CanalLocks (if any), that contains the waters of a &%Canal.") ;; TERM: (subclass CanalLock StationaryArtifact) (documentation CanalLock "&%CanalLock is the subclass of &%Artifacts that are built along a &%Canal, in order to raise and lower vessels as required along the canal route.") ;; TERM: River -- defined in Geography.kif. ;; Note: (instance Waterway) is asserted only for navigable rivers. ;;---------------------------------------------------------------------- ;; D. Pipelines ;; PREDICATE: (instance totalPipelineInArea BinaryPredicate) (domain totalPipelineInArea 1 GeographicArea) (domain totalPipelineInArea 2 LengthMeasure) (documentation totalPipelineInArea "(&%totalPipelineInArea ?AREA ?LENGTH) means that the &%GeopoliticalArea ?AREA has the quantity ?LENGTH of &%Pipelines.") (<=> (totalPipelineInArea ?AREA ?LENGTH) (length (KappaFn ?PIPE (and (instance ?PIPE Pipeline) (located ?PIPE ?AREA))) ?LENGTH)) (=> (and (totalPipelineInArea ?AREA (MeasureFn ?LENGTH ?UNIT)) (instance ?UNIT UnitOfMeasure) (greaterThan ?LENGTH 0)) (exists (?PIPE) (and (instance ?PIPE Pipeline) (located ?PIPE ?AREA)))) ;; PREDICATE: (instance lengthOfPetroleumPipeline BinaryPredicate) (domain lengthOfPetroleumPipeline 1 GeographicArea) (domain lengthOfPetroleumPipeline 2 LengthMeasure) (documentation lengthOfPetroleumPipeline "(&%lengthOfPetroleumPipeline ?AREA ?AMOUNT) means that in the &%GeograpicArea ?AREA there is the &%LengthMeasure ?AMOUNT of &%PetroleumPipeline.") (<=> (lengthOfPetroleumPipeline ?AREA ?LENGTH) (length (KappaFn ?PIPELINE (and (instance ?PIPELINE PetroleumPipeline) (located ?PIPELINE ?AREA))) ?LENGTH)) (=> (and (lengthOfPetroleumPipeline ?AREA ?AMOUNT1) (totalPipelineInArea ?AREA ?AMOUNT2)) (lessThanOrEqualTo ?AMOUNT1 ?AMOUNT2)) ;; PREDICATE: (instance lengthOfNaturalGasPipeline BinaryPredicate) (domain lengthOfNaturalGasPipeline 1 GeographicArea) (domain lengthOfNaturalGasPipeline 2 LengthMeasure) (documentation lengthOfNaturalGasPipeline "(&%lengthOfNaturalGasPipeline ?AREA ?AMOUNT) means that in the &%GeograpicArea ?AREA there is the &%LengthMeasure ?AMOUNT of &%NaturalGasPipeline.") (<=> (lengthOfNaturalGasPipeline ?AREA ?LENGTH) (length (KappaFn ?PIPELINE (and (instance ?PIPELINE NaturalGasPipeline) (located ?PIPELINE ?AREA))) ?LENGTH)) (=> (and (lengthOfNaturalGasPipeline ?AREA ?AMOUNT1) (totalPipelineInArea ?AREA ?AMOUNT2)) (lessThanOrEqualTo ?AMOUNT1 ?AMOUNT2)) ;; PREDICATE: (instance lengthOfPetroleumProductPipeline BinaryPredicate) (domain lengthOfPetroleumProductPipeline 1 GeographicArea) (domain lengthOfPetroleumProductPipeline 2 LengthMeasure) (documentation lengthOfPetroleumProductPipeline "(&%lengthOfPetroleumProductPipeline ?AREA ?AMOUNT) means that in the &%GeograpicArea ?AREA there is the &%LengthMeasure ?AMOUNT of &%PetroleumProductPipeline.") (<=> (lengthOfPetroleumProductPipeline ?AREA ?LENGTH) (length (KappaFn ?PIPELINE (and (instance ?PIPELINE PetroleumProductPipeline) (located ?PIPELINE ?AREA))) ?LENGTH)) (=> (and (lengthOfPetroleumProductPipeline ?AREA ?AMOUNT1) (totalPipelineInArea ?AREA ?AMOUNT2)) (lessThanOrEqualTo ?AMOUNT1 ?AMOUNT2)) ;; TERM: (subclass Pipeline Transitway) (documentation Pipeline "&%Pipeline is the class of pipelines used to transport various kinds of fluids.") (=> (and (instance ?PIPE Pipeline) (instance ?MOTION Motion) (instrument ?MOTION ?PIPE) (transportedItem ?MOTION ?STUFF)) (instance ?STUFF (ExtensionFn Fluid))) ;; TERM: (subclass PetroleumPipeline Pipeline) (documentation PetroleumPipeline "&%PetroleumPipeline is the subclass of &%Pipelines that are used to carry &%Petroleum.") (=> (and (instance ?PIPE PetroleumPipeline) (instance ?MOTION Motion) (instrument ?MOTION ?PIPE) (transportedItem ?MOTION ?OIL)) (instance ?OIL Petroleum)) ;; TERM: (subclass NaturalGasPipeline Pipeline) (documentation NaturalGasPipeline "&%NaturalGasPipeline is the subclass of &%Pipelines that are used to carry &%NaturalGas.") (=> (and (instance ?PIPE NaturalGasPipeline) (instance ?MOTION Motion) (instrument ?MOTION ?PIPE) (transportedItem ?MOTION ?GAS)) (instance ?GAS NaturalGas)) ;; TERM: (subclass PetroleumProductPipeline Pipeline) (documentation PetroleumProductPipeline "&%PetroleumProductPipeline is the subclass of &%Pipelines that are used to carry &%PetroleumProducts.") (=> (and (instance ?PIPE PetroleumProductPipeline) (instance ?MOTION Motion) (instrument ?MOTION ?PIPE) (transportedItem ?MOTION ?STUFF)) (instance ?STUFF PetroleumProduct)) ;;---------------------------------------------------------------------- ;; E. Ports and harbors ;; TERM: (subclass PortCity City) (documentation PortCity "&%PortCity is the subclass of &%City whose instances are cities or towns located adjacent to a &%Harbor which is included in the administrative area of the city.") (=> (instance ?CITY PortCity) (exists (?HARBOR) (and (instance ?HARBOR Harbor) (geographicSubregion ?HARBOR ?CITY)))) ;; TERM: (subclass SeaPort PortCity) (documentation SeaPort "&%SeaPort is the subclass of &%PortCity whose instances are port cities on a &%Sea or &%Ocean.") (=> (instance ?PORT SeaPort) (exists (?SEA) (and (or (instance ?SEA Sea) (instance ?SEA Ocean)) (meetsSpatially ?PORT ?SEA)))) ;; TERMS: (subclass RiverPort PortCity) (documentation RiverPort "&%RiverPort is the subclass of &%PortCity whose instances are port cities &%Adjacent to a navigable &%River.") (=> (instance ?PORT RiverPort) (exists (?RIVER) (and (instance ?RIVER River) (instance ?RIVER Waterway) (meetsSpatially ?PORT ?RIVER)))) ;; TERM: (subclass DeepDraftPortCity PortCity) (documentation DeepDraftPortCity "&%DeepDraftPortCity is the subclass of &%PortCity that represents any port city having a &%DeepDraftWaterArea.") (=> (instance ?PORT DeepDraftPortCity) (exists (?AREA) (and (instance ?AREA DeepDraftWaterArea) (geographicSubregion ?AREA ?PORT)))) ;; TERM: (subclass Harbor WaterArea) (documentation Harbor "&%Harbor is the subclass of &%WaterAreas that provide shelter and anchorage for &%Watercraft. Every &%PortCity has a &%Harbor.") (=> (instance ?HARBOR Harbor) (trafficableForTrafficType ?HARBOR Watercraft)) (=> (instance ?PORT PortCity) (exists (?HARBOR) (and (instance ?HARBOR Harbor) (geographicSubregion ?HARBOR ?PORT)))) ;; TERM: (subclass DeepDraftWaterArea WaterArea) (documentation DeepDraftWaterArea "&%DeepDraftWaterArea is the subclass of &%WaterAreas that have a &%waterDepth sufficient to accommodate vessels having a draft of at least 45 feet (13.7 meters). For the concept of a deep-water ship terminal located offshore (but on the continental shelf), see &%DeepwaterPort.") (=> (and (instance ?AREA DeepDraftWaterArea) (waterDepth ?AREA ?DEPTH)) (greaterThanOrEqualTo ?DEPTH (MeasureFn 13.7 Meter))) (=> (and (instance ?AREA DeepDraftWaterArea) (waterDepth ?AREA ?DEPTH)) (greaterThanOrEqualTo ?DEPTH (MeasureFn 45 Foot))) (=> (instance ?HARBOR Harbor) (trafficableForTrafficType ?HARBOR Ship)) ;; TERM: (subclass PortFacility TransitTerminal) (documentation PortFacility "&%PortFacility is the class of port complexes, including piers and docking space, moorings, cargo-handling and other support facilities for marine traffic. A &%PortFacility is a &%TransitTerminal. Ships are loaded and unloaded at a large &%PortFacility.") (=> (instance ?TERMINAL PortFacility) (exists (?PORT) (and (instance ?PORT PortCity) (located ?TERMINAL ?PORT)))) ;; FUNCTION: (instance PortFacilityFn UnaryFunction) (domain PortFacilityFn 1 PortCity) (range PortFacilityFn PortFacility) (documentation PortFacilityFn "(&%PortFacilityFn ?CITY) denotes the &%PortFacility of the &%PortCity ?CITY, including mooring areas, docking space, cargo handling equipment, and on-land support facilities for marine traffic.") (=> (instance ?CITY PortCity) (located (PortFacilityFn ?CITY) ?CITY)) ;; TERM: (subclass ContainerTerminal PortFacility) (relatedInternalConcept ContainerTerminal ContainerShip) (documentation ContainerTerminal "&%ContainerTerminal is the subclass of &%PortFacility whose instances have terminals for large &%ContainerShips that transport cargo in containers. Such facilities require equipment to load, unload, and move &%CargoContainers, as well as a waterside location with sufficient &%waterDepth to be navigable by &%ContainerShips.") (=> (and (instance ?TERMINAL ContainerTerminal) (instance ?PORT PortCity) (located ?TERMINAL ?PORT)) (trafficableForTrafficType ?PORT ContainerShip)) (=> (instance ?TERMINAL ContainerTerminal) (exists (?CRANE) (and (instance ?CRANE PortCrane) (part ?CRANE ?TERMINAL)))) ;; TERM: (subclass DeepwaterPort PortFacility) (documentation DeepwaterPort "&%DeepwaterPort is the subclass of &%PortFacility representing ship terminals meeting the criteria defined in 33 U.S.C. section 1502(1) as 'any fixed or floating man-made structures other than a vessel, or any group of such structures, located beyond the territorial sea and off the coast of the United States and which are used or intended for use as a port or terminal for the loading or unloading and further handling of oil for transportation to any State.... The term includes all associated components and equipment including pipelines, pumping stations, service platforms, mooring buoys, and similar appurtenances to the extent they are located seaward of the high water mark.' Cf. &%DeepDraftPort and &%DeepDraftHarbor.") (=> (instance ?PORT DeepwaterPort) (exists (?AREA) (and (instance ?AREA DeepDraftWaterArea) (located ?PORT ?AREA)))) ;; TERM: (subclass Anchorage WaterArea) (documentation Anchorage "&%Anchorage is the subclass of &%WaterAreas where &%Watercraft may anchor with some shelter or safety. Anchorages may be inside a &%Harbor or offshore.") (=> (instance ?PLACE Anchorage) (trafficableForTrafficType ?PLACE Watercraft)) ;; TERM: (subclass OffshoreAnchorage Anchorage) (documentation OffshoreAnchorage "&%OffshoreAnchorage is the subclass of &%Anchorages that are located offshore and not within a &%Harbor.") (=> (instance ?ANCHOR OffshoreAnchorage) (not (exists (?HARBOR) (and (instance ?HARBOR Harbor) (located ?ANCHOR ?HARBOR))))) ;; TERM: (subclass Pier StationaryArtifact) (documentation Pier "&%Pier is the subclass of &%StationaryArtifacts that are built along a waterfront to provide a landing place for ships or boats.") (=> (instance ?PIER Pier) (exists (?SHORE) (and (instance ?SHORE Shoreline) (located ?PIER ?SHORE)))) ;; TERM: (subclass PortCrane Crane) (documentation PortCrane "&%PortCrane is a subclass of &%Devices that are cranes installed in a &%PortFacility and used for loading and unloading ships, especially &%ContainerShips.") (=> (instance ?CRANE PortCrane) (exists (?PORT) (and (instance ?PORT PortFacility) (located ?CRANE ?PORT)))) ;;------------------------------------------------------------------------- ;; F. Merchant marine ;; TERM (subclass MerchantMarine Collection) (documentation MerchantMarine "&%MerchantMarine is a class of &%Collections of &%Ships, each collection belonging to a particular &%Nation or &%GeopoliticalArea, in whose &%ShipRegister the member ships are enrolled. For example, the merchant marine ships of &%France.") (=> (instance ?MM MerchantMarine) (exists (?AREA) (and (possesses ?AREA ?MM) (or (instance ?AREA Nation) (instance ?AREA OverseasArea))))) ;; FUNCTION: (instance MerchantMarineFn UnaryFunction) (domain MerchantMarineFn 1 GeopoliticalArea) (range MerchantMarineFn MerchantMarine) (documentation MerchantMarineFn "(&%MerchantMarineFn ?AREA) denotes the &%Collection of all commercial ships registered in the &%ShipRegister of the &%GeopoliticalArea ?AREA.") (=> (and (instance ?MM MerchantMarine) (instance ?AREA GeopoliticalArea) (possesses ?AREA ?MM)) (equal ?MM (MerchantMarineFn ?AREA))) (=> (and (instance ?AREA GeopoliticalArea) (instance (MerchantMarineFn ?AREA) MerchantMarine)) (possesses ?AREA (MerchantMarineFn ?AREA))) (=> (and (instance ?AREA GeopoliticalArea) (member ?SHIP (MerchantMarineFn ?AREA))) (instance ?SHIP MerchantMarineShip)) ;; PREDICATE: (instance fleetGrossRegisteredTonnage BinaryPredicate) (domain fleetGrossRegisteredTonnage 1 Collection) (domain fleetGrossRegisteredTonnage 2 PhysicalQuantity) (subrelation fleetGrossRegisteredTonnage measure) (documentation fleetGrossRegisteredTonnage "(&%fleetGrossRegisteredTonnage ?FLEET ?AMOUNT) means that the &%Collection of &%Ships ?FLEET has a total carrying capacity of ?AMOUNT in &%RegistryTons. This is the aggregate &%vesselGrossRegisteredTonnage of all the fleet vessels. Gross Registered Tonnage, or GRT, is the capacity of a vessel calculated on an equivalence of 100 cubic feet of sheltered area per ton.") (=> (and (instance ?UNIT UnitOfMeasure) (fleetGrossRegisteredTonnage ?FLEET (MeasureFn ?NUMBER ?UNIT))) (equal ?UNIT RegistryTon)) ;; PREDICATE: (instance fleetDeadWeightTonnage BinaryPredicate) (domain fleetDeadWeightTonnage 1 Collection) (domain fleetDeadWeightTonnage 2 MassMeasure) (subrelation fleetDeadWeightTonnage measure) (documentation fleetDeadWeightTonnage "(&%fleetDeadWeightTonnage ?FLEET ?AMOUNT) means that the &%Collection of &%Ships ?FLEET has a total carrying capacity of ?AMOUNT in &%LongTons. This is the aggregate &%vesselDeadWeightTonnage of all the fleet vessels. Dead Weight Tonnage, or DWT, is the weight of cargo plus stores that a vessel can carry when immersed to the proper load line.") (=> (and (instance ?UNIT UnitOfMeasure) (fleetDeadWeightTonnage ?FLEET (MeasureFn ?NUMBER ?UNIT))) (equal ?UNIT LongTon)) ;; TERM: (subclass MerchantMarineShip Ship) (names "merchant ship" MerchantMarineShip) (names "commercial vessel" MerchantMarineShip) (disjoint MerchantMarineShip FishingVessel) (disjoint MerchantMarineShip MilitaryWatercraft) (documentation MerchantMarineShip "&%MerchantMarineShip is the class of &%Ships that carry goods or passengers in exchange for payment. This excludes military ships, as well as working ships such as tugboats and fishing vessels. Merchant Marine ships belong to the &%MerchantMarine of some country and are registered in its related &%ShipRegister.") (=> (and (instance ?MM MerchantMarine) (member ?SHIP ?MM)) (instance ?SHIP MerchantMarineShip)) (=> (and (instance ?SHIP MerchantMarineShip) (measure ?SHIP (MeasureFn ?GRT RegistryTon))) (greaterThanOrEqualTo ?GRT 1000)) ;; TERM: (subclass CargoShip Ship) (names "cargo ship" CargoShip) (documentation CargoShip "&%CargoShip is the subclass of &%Ships that transport goods in exchange for payment. &%CargoShip includes ships that carry all kinds of cargo, including oil and bulk products as well as packaged, palletized, or containerized goods.") ;; TERM: (subclass Freighter CargoShip) (names "freighter" Freighter) (subclass RefrigeratedCargoShip Freighter) (subclass ContainerShip Freighter) (subclass PartialContainerShip Freighter) (subclass RollOnRollOffCargoShip Freighter) (subclass BargeCarrierShip Freighter) (documentation Freighter "&%Freighter is the subclass of &%CargoShip that includes breakbulk vessels (refrigerated and non-), container ships, partial containerships, roll-on roll-off vessels, and barge carriers.") ;; TERM: (subclass PartialContainerShip CargoShip) (documentation PartialContainerShip "&%PartialContainerShip is the subclass of &%CargoShips that have some portion of their hold designated for carrying &%CargoContainers.") (=> (instance ?SHIP PartialContainerShip) (cargoType ?SHIP CargoContainer)) ;; Main types and subtypes of &%CargoShips: ;; TERM: (subclass PetroleumTankerShip CargoShip) (names "petroleum tanker" PetroleumTankerShip) (names "oil tanker" PetroleumTankerShip) (documentation PetroleumTankerShip "&%PetroleumTankerShip is the subclass of ships that carry &%PetroleumProducts.") (=> (instance ?SHIP PetroleumTankerShip) (cargoType ?SHIP PetroleumProduct)) ;; TERM: (subclass ChemicalTankerShip CargoShip) (names "chemical carrier" ChemicalTankerShip) (documentation ChemicalTankerShip "&%ChemicalTankerShip is the subclass of ships that carry &%ChemicalProducts.") (=> (instance ?SHIP ChemicalTankerShip) (cargoType ?SHIP ChemicalProduct)) ;; TERM: (subclass ChemicalAndPetroleumTankerShip ChemicalTankerShip) (subclass ChemicalAndPetroleumTankerShip PetroleumTankerShip) (documentation ChemicalAndPetroleumTankerShip "&%ChemicalAndPetroleumTankerShip is the subclass of ships that can carry &%ChemicalProducts or &%PetroleumProducts.") ;; TERM: (subclass LiquefiedGasTankerShip CargoShip) (names "liquefied gas carrier" LiquefiedGasTankerShip) (documentation LiquefiedGasTankerShip "&%LiquefiedGasTankerShip is the subclass of ships that carry liquefied gas products.") (=> (instance ?SHIP LiquefiedGasTankerShip) (cargoType ?SHIP ChemicalProduct)) (=> (instance ?SHIP LiquefiedGasTankerShip) (cargoType ?SHIP LiquefiedPetroleumGas)) ;; TERM: (subclass LiquefiedGasAndChemicalTankerShip LiquefiedGasTankerShip) (subclass LiquefiedGasAndChemicalTankerShip ChemicalTankerShip) (documentation LiquefiedGasAndChemicalTankerShip "&%LiquefiedGasAndChemicalTankerShip is the subclass of ships that can carry liquefied gas or &%ChemicalProducts.") ;; TERM: (subclass CombinationCarrierShip CargoShip) (names "combination carrier" CombinationCarrierShip) (names "dual purpose ship" CombinationCarrierShip) (disjoint CombinationCarrierShip ContainerShip) (documentation CombinationCarrierShip "&%CombinationCarrierShip is the subclass of &%CargoShips that are designed to carry two different types of cargoes.") ;; TERM: (subclass CombinationBulkAndOilCarrierShip CombinationCarrierShip) (documentation CombinationBulkAndOilCarrierShip "&%CombinationBulkAndOilCarrierShip is the subclass of &%CombinationCarrierShips that are designed to carry both bulk cargo and oil.") (=> (instance ?SHIP CombinationBulkAndOilCarrierShip) (cargoType ?SHIP BulkCargo)) (=> (instance ?SHIP CombinationBulkAndOilCarrierShip) (cargoType ?SHIP Petroleum)) ;; TERM: (subclass CombinationOreAndOilCarrierShip CombinationCarrierShip) (documentation CombinationBulkAndOilCarrierShip "&%CombinationBulkAndOilCarrierShip is the subclass of &%CombinationCarrierShips that are designed to carry both ore and oil.") (=> (instance ?SHIP CombinationOreAndOilCarrierShip) (cargoType ?SHIP Mineral)) (=> (instance ?SHIP CombinationOreAndOilCarrierShip) (cargoType ?SHIP Petroleum)) ;; TERM: (subclass DryBulkCarrierShip CargoShip) (disjoint DryBulkCarrierShip ContainerShip) (documentation DryBulkCarrierShip "&%DryBulkCarrierShip is the subclass of &%CargoShips that carry dry, loose (uncontainerized), homogeneous &%BulkCargo loaded directly into their holds.") (=> (instance ?SHIP DryBulkCarrierShip) (cargoType ?SHIP DryBulkCargo)) ;; TERM: (subclass OreCarrierShip DryBulkCarrierShip) (documentation OreCarrierShip "&%OreCarrierShip is the subclass of &%CargoShips that carry &%Mineral ores.") (=> (instance ?SHIP OreCarrierShip) (cargoType ?SHIP Mineral)) ;; TERM: (subclass SelfDischargingBulkCarrierShip DryBulkCarrierShip) (documentation SelfDischargingBulkCarrierShip "&%OreCSelfDischargingBulkCarrierShip arrierShip is the subclass of &%CargoShips that are equipped to unload their own cargo, e.g., via a crane or snorkel.") (=> (instance ?SHIP SelfDischargingBulkCarrierShip) (exists (?CRANE) (and (instance ?CRANE DeckCrane) (component ?CRANE ?SHIP)))) ;; TERM: (subclass CementCarrierShip DryBulkCarrierShip) (documentation CementCarrierShip "&%CementCarrierShip is the subclass of &%CargoShips that carry &%Cement.") (=> (instance ?SHIP CementCarrierShip) (cargoType ?SHIP Cement)) ;; TERM: (subclass WoodChipsCarrierShip DryBulkCarrierShip) (documentation WoodChipsCarrierShip "&%WoodChipsCarrierShip is the subclass of &%CargoShips that carry wood chips.") (=> (instance ?SHIP WoodChipsCarrierShip) (cargoType ?SHIP WoodProduct)) ;; TERM: (subclass UreaCarrierShip DryBulkCarrierShip) (documentation UreaCarrierShip "&%UreaCarrierShip is the subclass of &%CargoShips that carry &%Urea.") (=> (instance ?SHIP UreaCarrierShip) (cargoType ?SHIP Urea)) ;; TERMS: (subclass GeneralCargoShip CargoShip) (names "general cargo ship" CargoShip) (names "breakbulk ship" CargoShip) (names "breakbulk carrier" CargoShip) (documentation GeneralCargoShip "&%GeneralCargoShip is the subclass of &%CargoShips that carry heterogeneous cargo in various kinds of packaging.") (=> (instance ?SHIP PackagedCargoShip) (cargoType ?SHIP Product)) ;; TERMS: (subclass PalletizedCargoShip GeneralCargoShip) (subclass DeckCargoShip GeneralCargoShip) ;; TERM: (subclass ContainerShip CargoShip) (documentation ContainerShip "&%ContainerShip is the subclass of &%CargoShips that are designed for transporting &%CargoContainers.") (=> (instance ?SHIP ContainerShip) (cargoType ?SHIP CargoContainer)) ;; TERM: (subclass RefrigeratedCargoShip CargoShip) (names "refrigerated carrier" RefrigeratedCargoShip) (abbreviation "reefer" RefrigeratedCargoShip) (documentation RefrigeratedCargoShip "&%RefrigeratedCargoShip is the subclass of &%CargoShips that are designed to carry goods which require refrigeration, such as meat or vegetables. A &%Cooling system is used to refrigerate the &%ShipHold.") (=> (instance ?SHIP RefrigeratedCargoShip) (exists (?COMP) (and (instance ?COMP RefrigeratedCompartment) (instance ?COMP ShipHold) (part ?COMP ?SHIP)))) ;; TERM: (subclass RollOnRollOffCargoShip CargoShip) (names "roll-on roll-off" RollOnRollOffCargoShip) (names "Ro-Ro" RollOnRollOffCargoShip) (documentation RollOnRollOffCargoShip "&%RollOnRollOffCargoShip is a subclass of &%CargoShips that carry goods which can be driven or 'rolled' on and off the ship, such as trucks or trailers.") (=> (instance ?RO RollOnRollOffCargoShip) (exists (?RAMP) (and (instance ?RAMP Ramp) (component ?RAMP ?RO)))) ;; TERM: (subclass ContainerAndRoRoCargoShip RollOnRollOffCargoShip) (subclass ContainerAndRoRoCargoShip PartialContainerShip) (documentation ContainerAndRoRoCargoShip "&%ContainerAndRoRoCargoShip is a subclass of &%CargoShips that are designed for a combination of containers and roll-on, roll-off cargo.") ;; TERM: (subclass VehicleCarrierShip RollOnRollOffCargoShip) (=> (instance ?SHIP VehicleCarrierShip) (cargoType ?SHIP Vehicle)) ;; TERM: (subclass PassengerAndLandingCraft RollOnRollOffCargoShip) (subclass PassengerAndLandingCraft PassengerAndCargoShip) (documentation PassengerAndLandingCraft "&%PassengerAndLandingCraft is a subclass of &%Ship representing vessels designed for landing people and vehicles on a shore.") ;; TERM (subclass RailcarCarrierShip RollOnRollOffCargoShip) (=> (instance ?SHIP RailcarCarrierShip) (cargoType ?SHIP RollingStock)) (documentation RailcarCarrierShip "&%RailcarCarrierShip is a subclass of &%CargoShips that are designed to carry railroad cars which are rolled on and off.") ;; TERM: (subclass LivestockCarrierShip CargoShip) (documentation LivestockCarrierShip "&%LivestockCarrierShip is a subclass of &%CargoShips that are used for carrying cattle and other livestock.") (=> (instance ?SHIP LivestockCarrierShip) (cargoType ?SHIP Livestock)) ;; TERM: (subclass BargeCarrierShip CargoShip) (names "Lighter Aboard Ship" BargeCarrierShip) (abbreviation "LAS" BargeCarrierShip) (documentation BargeCarrierShip "&%BargeCarrierShip is a subclass of &%Ships that are oceangoing vessels designed to carry barges, which are lifted aboard. They may also be designed to carry some &%CargoContainers.") (=> (and (instance ?LAS BargeCarrierShip) (length ?LAS (MeasureFn ?AMOUNT Foot))) (greaterThanOrEqualTo ?LAS 820)) (=> (instance ?LAS BargeCarrierShip) (exists (?CRANE) (and (instance ?CRANE DeckCrane) (component ?CRANE ?LAS)))) (=> (instance ?LAS BargeCarrierShip) (cargoType ?LAS Barge)) ;; TERM: (subclass MultifunctionalLargeLoadCarrierShip CargoShip) (names "heavy lift carrier" MultifunctionalLargeLoadCarrierShip) (names "heavy cargo carrier" MultifunctionalLargeLoadCarrierShip) (documentation MultifunctionalLargeLoadCarrierShip "&%MultifunctionalLargeLoadCarrierShip is a subclass of &%CargoShips that are designed to carry large or heavy cargos, and which are equipped with on-board cranes or other devices for moving the loads on and off.") (=> (instance ?SHIP MultifunctionalLargeLoadCarrierShip) (exists (?CRANE) (and (instance ?CRANE DeckCrane) (component ?CRANE ?SHIP)))) ;; TERM: (subclass PassengerAndCargoShip PassengerShip) (subclass PassengerAndCargoShip CargoShip) ;; TERM: (subclass ShortSeaPassengerShip PassengerShip) (names "short sea passenger ship" ShortSeaPassengerShip) (names "ferry" ShortSeaPassengerShip) (documentation ShortSeaPassengerShip "&%ShortSeaPassengerShip is the subclass of &%PassengerShips that are used for short trips; passenger ferries.") ;; TERM: (subclass SpecializedTankerShip CargoShip) (documentation SpecializedTankerShip "&%SpecializedTankerShip is the subclass of &%CargoShips that are tankers designed for some special cargo other than gas or oil.") (=> (instance ?SHIP SpecializedTankerShip) (cargoType ?SHIP (ExtensionFn Fluid))) ;; TERM: (subclass GreatLakesShip CargoShip) (names "laker" GreatLakesShip) (documentation GreatLakesShip "&%GreatLakesShip is the subclass of &%CargoShips that are built especially for use on the Great Lakes of North America. Typically they carry bulk cargo of grain, iron ore, or coal.") (=> (instance ?LAKER GreatLakesShip) (cargoType ?LAKER BulkCargo)) (=> (instance ?LAKER GreatLakesShip) (or (cargoType ?LAKER CerealGrain) (cargoType ?LAKER IronOre) (cargoType ?LAKER Coal))) ;; TERM: (subclass FishingVessel Watercraft) (documentation FishingVessel "&%FishingVessel is a broad subclass of boats and ships that are used in &%FishingProcesses.") (=> (instance ?VESSEL FishingVessel) (cargoType ?VESSEL Fish)) ;; TERMS: (subclass FishingTrawler FishingVessel) (subclass FishFactoryShip FishingVessel) (subclass FishCarrierShip FishingVessel) (subclass WhalingShip FishingVessel) (subclass FishingBoat FishingVessel) ;; TERMS: (subclass OffshoreSupplyShip Ship) (subclass OffshoreSupportShip Ship) (subclass OffshoreWellProductionShip Ship) (subclass DrillingShip Ship) (subclass ResearchShip Ship) (subclass PusherTug Tugboat) (subclass Dredger Ship) (subclass HopperDredger Dredger) (subclass MotorHopper Ship) (subclass SludgeDisposalVessel Ship) (subclass CraneShip Ship) (subclass CableShip Ship) (subclass IceBreakerShip Ship) ;;------------------------------------------------------------------------ ;; Ship Registries and Certificates of Registration ;; TERM: (subclass CertificateOfRegistry ContentBearingObject) (names "ship registration" CertificateOfRegistry) (names "certificate of registry" CertificateOfRegistry) (documentation CertificateOfRegistry "&%CertificateOfRegistry is the class of all official documents containing information about the ownership, size, and flag of registry (&%flagState) of an individual &%Ship, as registered in a &%ShipRegister maintained by the maritime authorities of a particular &%Nation or &%OverseasArea. A registered vessel flies the flag of its registry nation (or area), and the ship is subject to the maritime regulations and rules of taxation of that &%flagState.") (=> (and (instance ?REGISTRATION CertificateOfRegistry) (instance ?SHIP Ship) (registeredItem ?REGISTRATION ?SHIP) (instance ?AREA GeopoliticalArea) (flagState ?SHIP ?AREA)) (subsumesContentInstance (ShipRegisterFn ?AREA) ?REGISTRATION)) (=> (and (instance ?REGISTRATION CertificateOfRegistry) (instance ?SHIP Ship) (registeredItem ?REGISTRATION ?SHIP) (flagState ?SHIP ?AREA)) (subsumesContentInstance ?REGISTRATION (flagState ?SHIP ?AREA))) (=> (and (instance ?REGISTRATION CertificateOfRegistry) (instance ?SHIP Ship) (registeredItem ?REGISTRATION ?SHIP) (names ?STRING ?SHIP)) (subsumesContentInstance ?REGISTRATION (names ?STRING ?SHIP))) (=> (and (instance ?REGISTRATION CertificateOfRegistry) (instance ?SHIP Ship) (registeredItem ?REGISTRATION ?SHIP) (possesses ?OWNER ?SHIP)) (subsumesContentInstance ?REGISTRATION (possesses ?OWNER ?SHIP))) (=> (and (instance ?REGISTRATION CertificateOfRegistry) (instance ?SHIP Ship) (registeredItem ?REGISTRATION ?SHIP) (vesselDisplacement ?SHIP ?QUANTITY)) (subsumesContentInstance ?REGISTRATION (vesselDisplacement ?SHIP ?QUANTITY))) ;; TERM: (subclass ShipRegister ContentBearingObject) (documentation ShipRegister "&%ShipRegister is the class of &%ContentBearingObjects that contain an record of each &%Ship and owner registered with the maritime authorities of the &%Nation or &%OverseasArea to which the register belongs. Ships entered in the &%ShipRegister of a given &%GeopoliticalArea fly the flag of that area and are subject to its maritime regulations and rules of taxation.") (=> (instance ?MM (MerchantMarineFn ?AREA)) (exists (?REGISTER) (and (instance ?REGISTER ShipRegister) (possesses ?AREA ?REGISTER) (inventory ?REGISTER ?MM)))) ;; FUNCTION: (instance ShipRegisterFn UnaryFunction) (domain ShipRegisterFn 1 GeopoliticalArea) (range ShipRegisterFn ShipRegister) (documentation ShipRegisterFn "(&%ShipRegisterFn ?AREA) denotes the &%ShipRegister of the &%Ships that fly the flag of the &%GeopoliticalArea ?AREA.") (=> (and (instance ?AREA GeopoliticalArea) (instance (ShipRegisterFn ?AREA) ShipRegister)) (possesses ?AREA (ShipRegisterFn ?AREA))) (=> (and (instance (ShipRegisterFn ?AREA) ShipRegister) (instance ?AREA Nation)) (instance (ShipRegisterFn ?AREA) NationalShipRegister)) (=> (and (instance (ShipRegisterFn ?AREA) ShipRegister) (instance ?AREA OverseasArea)) (instance (ShipRegisterFn ?AREA) OffshoreShipRegister)) (=> (and (instance ?SHIP Ship) (instance ?AREA GeopoliticalArea) (member ?SHIP (MerchantMarineFn ?AREA))) (exists (?REGISTRATION) (and (instance ?REGISTRATION CertificateOfRegistry) (possesses ?SHIP ?REGISTRATION) (subsumesContentInstance (ShipRegisterFn ?AREA) ?REGISTRATION)))) ;; TERM: (subclass NationalShipRegister ShipRegister) (documentation NationalShipRegister "&%NationalShipRegister is the subclass of &%ShipRegisters that belong to &%Nations.") (=> (and (instance ?NATIONAL NationalShipRegister) (possesses ?AREA ?NATIONAL)) (instance ?AREA Nation)) ;; TERM: (subclass InternalShipRegister ShipRegister) (documentation InternalRegister "&%InternalShipRegister is a subset of a &%NationalShipRegister. Ships on an internal register fly the same flag as on the national register but are subject to different taxation and crewing rules, which are typically more lenient. An internal register may function primarily as a &%FlagOfConvenienceRegister, when most of the ships registered are from countries other than the one that owns the register.") (=> (and (instance ?INTERNAL InternalShipRegister) (possesses ?AREA ?INTERNAL)) (instance ?AREA Nation)) (=> (and (instance ?INTERNAL InternalShipRegister) (possesses ?COUNTRY ?INTERNAL) (instance ?COUNTRY Nation)) (subsumesContentInstance (ShipRegisterFn ?COUNTRY) ?INTERNAL)) ;; TERM: (subclass OffshoreShipRegister ShipRegister) (names "captive register" OffshoreShipRegister) (names "offshore ship register" OffshoreShipRegister) (disjoint NationalShipRegister OffshoreShipRegister) (documentation OffshoreShipRegister "&%OffshoreShipRegister is the class of &%ShipRegisters maintained by a colony, territory, or possession (&%OffshoreArea) of a &%Nation. Typically such a register has more lenient maritime regulations with respect to taxation and crewing of ships than does the national register associated with the country of which the offshore area is a dependency.") (=> (and (instance ?OFFSHORE OffshoreShipRegister) (possesses ?AREA ?OFFSHORE)) (not (instance ?AREA Nation))) ;; TERM: (subclass FlagOfConvenienceRegister ShipRegister) (names "flag of convenience" FlagOfConvenienceRegister) (names "open register" FlagOfConvenienceRegister) (documentation FlagOfConvenienceRegister "&%FlagOfConvenienceRegister is the subclass of &%ShipRegisters in which most of the registered ships are owned outside of the &%GeopoliticalArea to which the registry belongs. &%InternalShipRegisters and &%OffshoreShipRegisters both may act as &%FlagOfConvenienceRegisters, if permitted by the maritime regulations of the registry owner.") (=> (instance ?REGISTER FlagOfConvenienceRegister) (or (instance ?REGISTER OffshoreShipRegister) (instance ?REGISTER InternalShipRegister))) (=> (and (instance ?SHIP Ship) (instance ?REGISTER FlagOfConvenienceRegister) (instance ?AREA GeopoliticalArea) (possesses ?AREA ?REGISTER)) (increasesLikelihood (member ?SHIP ?REGISTER) (exists (?OWNER) (and (possesses ?OWNER ?SHIP) (not (member ?OWNER (ResidentFn ?AREA))))))) ;; PREDICATE: (instance numberOfFOCShipsByOrigin TernaryPredicate) (domain numberOfFOCShipsByOrigin 1 MerchantMarine) (domain numberOfFOCShipsByOrigin 2 GeopoliticalArea) (domain numberOfFOCShipsByOrigin 3 NonnegativeInteger) (documentation numberOfFOCShipsByOrigin "(&%numberOfFOCShipsByOrigin ?MM ?AREA ?COUNT) means that the &%MerchantMarine ?MM of one &%GeopoliticalArea has ?COUNT number of ships owned in a different &%GeopoliticalArea ?AREA enrolled in its &%ShipRegister, using it as a &%FlagOfConvenienceRegister (FOC).") (=> (and (instance ?AREA GeopoliticalArea) (numberOfFOCShipsByOrigin (MerchantMarineFn ?AREA) ?HOME ?COUNT)) (not (equal ?HOME ?AREA))) (=> (and (numberOfFOCShipsByOrigin ?MM ?HOME ?COUNT) (cardinality ?MM ?ALL) (greaterThan ?COUNT (DivisionFn ?ALL 2)) (inventory ?REGISTER ?MM)) (instance ?REGISTER FlagOfConvenienceRegister)) ;; PREDICATE: (instance flagState BinaryPredicate) (names "flag state" flagState) (names "flag of registry" flagState) (domain flagState 1 Watercraft) (domain flagState 2 GeopoliticalArea) (documentation flagState "(&%flagState ?SHIP ?AREA) means that the &%Ship ?SHIP is enrolled in the &%ShipRegister of the &%GeopoliticalArea ?AREA and is subject to its maritime laws, regulations for operation of the ship, and rules of taxation.") (=> (flagState ?SHIP ?AREA) (member ?SHIP (ShipRegisterFn ?AREA))) (=> (and (instance ?AREA GeopoliticalArea) (instance ?SHIP Ship) (member ?SHIP (ShipRegisterFn ?AREA))) (flagState ?SHIP ?AREA)) ;;---------------------------------------------------------------------- ;; G. Airports ;; PREDICATE: (instance totalFacilityTypeInArea TernaryPredicate) (domain totalFacilityTypeInArea 1 GeographicArea) (domain totalFacilityTypeInArea 2 Class) (domain totalFacilityTypeInArea 3 NonnegativeInteger) (documentation totalFacilityTypeInArea "(&%totalFacilityTypeInArea ?AREA ?TYPE ?COUNT) means that in the &%GeographicArea ?AREA there a total of ?COUNT number of facilities of type ?TYPE.") (<=> (totalFacilityTypeInArea ?AREA ?TYPE ?COUNT) (cardinality (KappaFn ?ITEM (and (instance ?ITEM ?TYPE) (located ?ITEM ?AREA))) ?COUNT)) (=> (totalFacilityTypeInArea ?AREA ?TYPE ?COUNT) (exists (?ITEM) (and (instance ?ITEM ?TYPE) (located ?ITEM ?AREA)))) (=> (totalFacilityTypeInArea ?AREA ?TYPE 0) (not (exists (?ITEM) (and (instance ?ITEM ?TYPE) (located ?ITEM ?AREA))))) (=> (and (totalFacilityTypeInArea ?AREA1 ?TYPE ?COUNT1) (geographicSubregion ?AREA1 ?AREA2)) (exists (?COUNT2) (and (totalFacilityTypeInArea ?AREA2 ?TYPE ?COUNT2) (greaterThanOrEqualTo ?COUNT2 ?COUNT1)))) ;; TERM: (subclass Airport TransitTerminal) (subclass Airport AirTransitway) (subclass Airport LandTransitway) (documentation Airport "&%Airport is the subclass of &%TransitTerminals designed for &%Airplanes (fixed-wing &%Aircraft).") (=> (instance ?AIRPORT Airport) (exists (?TYPE) (and (subclass ?TYPE Airplane) (trafficableForTrafficType ?AIRPORT ?TYPE)))) (=> (instance ?AP Airport) (exists (?RW) (and (instance ?RW Runway) (part ?RW ?AP)))) ;; TERM ;; InternationalAirport (subclass InternationalAirport Airport) (subclass InternationalAirport CommercialAirport) (documentation InternationalAirport "&%InternationalAirport is the subclass of &%Airports that are the &%origin or &%destination for flights outside of the &%Nation where the airport is located.") ;;------------------------------------------------------------------------ ;; H. Airports - with paved runways ;; Use &%totalFacilityTypeInArea (defined above) ;; with (ExtensionFn AirportWithPavedRunway). (<=> (totalFacilityTypeInArea ?AREA (ExtensionFn AirportWithPavedRunway) ?COUNT) (cardinality (KappaFn ?AIRPORT (exists (?RUNWAY) (and (instance ?AIRPORT Airport) (instance ?RUNWAY PavedRunway) (part ?RUNWAY ?AIRPORT) (located ?AIRPORT ?AREA)))) ?COUNT)) (=> (totalFacilityTypeInArea ?AREA (ExtensionFn AirportWithPavedRunway) ?COUNT) (exists (?AIRPORT ?RUNWAY) (and (instance ?AIRPORT Airport) (instance ?RUNWAY PavedRunway) (part ?RUNWAY ?AIRPORT) (located ?AIRPORT ?AREA)))) ;; TERM: (subclass Runway LandTransitway) (documentation Runway "&%Runway is the class of &%Transitways that are used for the takeoff and landing of &%Airplanes. &%Runways are &%Transitways for an intermodal transit, which begins with a land transit and ends with air transit, or vice versa. The &%Airspace immediately above (and adjacent to) a &%Runway is an &%AirTransitway.") (=> (instance ?RUNWAY Runway) (exists (?LENGTH) (and (instance ?LENGTH LengthMeasure) (length ?RUNWAY ?LENGTH)))) (=> (instance ?RUNWAY Runway) (exists (?AIR) (and (instance ?AIR AirTransitway) (orientation ?AIR ?RUNWAY Above)))) (=> (instance ?RUNWAY Runway) (capability TakingOff path ?RUNWAY)) (=> (instance ?RUNWAY Runway) (capability Landing path ?RUNWAY)) ;; TERM (subclass PavedRunway Runway) (documentation PavedRunway "&%PavedRunway is the subclass of &%Runways that are surfaced with concrete or asphalt.") (=> (and (instance ?RUNWAY PavedRunway) (surface ?SURFACE ?RUNWAY)) (or (instance ?SURFACE Asphalt) (instance ?SURFACE Concrete))) (=> (and (instance ?RUNWAY Runway) (surface ?SURFACE ?RUNWAY) (instance ?SURFACE Asphalt)) (instance ?RUNWAY PavedRunway)) (=> (and (instance ?RUNWAY Runway) (surface ?SURFACE ?RUNWAY) (instance ?SURFACE Concrete)) (instance ?RUNWAY PavedRunway)) (=> (instance ?RW PavedRunway) (attribute ?RW Paved)) ;; TERM: (subclass AirportClassification Attribute) (documentation AirportClassification "&%AirportClassification is a class of &%Attributes for representing systems that categorize &%Airports according to some criteria. There are several such systems, including the International Civil Aviation Organization categories A to E, based on runway lengths; the Federal Aviation Administration system associated with airport functions, and the airport categorization by runway length used in the CIA World Fact Book.") ;; TERM: (subclass AirportByRunwaySurface AirportClassification) (documentation AirportByRunwaySurface "&%AirportByRunwaySurface is a subclass of &%AirportClassification attributes used to describe an airport according to the surface type of its longest runway.") ;; TERM: (instance AirportWithPavedRunway AirportByRunwaySurface) (documentation AirportWithPavedRunway "&%AirportWithPavedRunway is an &%AirportClassification attribute used to describe an airport whose longest runway is a &%PavedRunway.") (=> (and (instance ?AIRPORT Airport) (attribute ?AIRPORT AirportWithPavedRunway)) (exists (?RUNWAY) (and (instance ?RUNWAY PavedRunway) (part ?RUNWAY ?AIRPORT)))) ;; TERM: (instance AirportWithUnpavedRunway AirportByRunwaySurface) (documentation AirportWithUnpavedRunway "&%AirportWithUnpavedRunway is an &%AirportClassification attribute used to describe an airport whose longest runway is an &%UnpavedRunway.") (=> (and (instance ?AIRPORT Airport) (attribute ?AIRPORT AirportWithUnpavedRunway)) (exists (?RUNWAY) (and (instance ?RUNWAY UnpavedRunway) (part ?RUNWAY ?AIRPORT)))) ;; TERM: (subclass CIAAirportLengthClassification AirportClassification) (documentation CIAAirportLengthClassification "&%CIAAirportLengthClassification is a class of &%Attributes used to characterize &%Airports according to the length of their longest usable runway.") ;; TERM: (instance VeryShortRunwayAirport CIAAirportLengthClassification) (documentation VeryShortRunwayAirport "&%VeryShortRunwayAirport is a CIA category for &%Airports whose longest runway is less than 914 meters long.") (=> (and (instance ?AIRPORT Airport) (attribute ?AIRPORT VeryShortRunwayAirport)) (exists (?RUNWAY ?LENGTH) (and (instance ?RUNWAY Runway) (part ?RUNWAY ?AIRPORT) (length ?RUNWAY ?LENGTH) (lessThan ?LENGTH (MeasureFn 914 Meter))))) ;; TERM: (instance ShortRunwayAirport CIAAirportLengthClassification) (documentation ShortRunwayAirport "&%ShortRunwayAirport is a CIA category for &%Airports whose longest runway has a length between 914 meters and 1523 meters, inclusive.") (=> (and (instance ?AIRPORT Airport) (attribute ?AIRPORT ShortRunwayAirport)) (exists (?RUNWAY ?LENGTH) (and (instance ?RUNWAY Runway) (part ?RUNWAY ?AIRPORT) (length ?RUNWAY ?LENGTH) (or (greaterThanOrEqualTo ?LENGTH (MeasureFn 914 Meter)) (lessThanOrEqualTo ?LENGTH (MeasureFn 1523 Meter)))))) ;; TERM: (instance MediumLengthRunwayAirport CIAAirportLengthClassification) (documentation MediumLengthRunwayAirport "&%MediumLengthRunwayAirport is a CIA category for &%Airports whose longest runway has a length between 1,524 meters and 2,437 meters, inclusive.") (=> (and (instance ?AIRPORT Airport) (attribute ?AIRPORT ShortRunwayAirport)) (exists (?RUNWAY ?LENGTH) (and (instance ?RUNWAY Runway) (part ?RUNWAY ?AIRPORT) (length ?RUNWAY ?LENGTH) (or (greaterThanOrEqualTo ?LENGTH (MeasureFn 1524 Meter)) (lessThanOrEqualTo ?LENGTH (MeasureFn 2437 Meter)))))) ;; TERM: (instance LongRunwayAirport CIAAirportLengthClassification) (documentation LongRunwayAirport "&%LongRunwayAirport is a CIA category for &%Airports whose longest runway has a length between 2,438 meters and 3,047 meters, inclusive.") (=> (and (instance ?AIRPORT Airport) (attribute ?AIRPORT LongRunwayAirport)) (exists (?RUNWAY ?LENGTH) (and (instance ?RUNWAY Runway) (part ?RUNWAY ?AIRPORT) (length ?RUNWAY ?LENGTH) (or (greaterThanOrEqualTo ?LENGTH (MeasureFn 2438 Meter)) (lessThanOrEqualTo ?LENGTH (MeasureFn 3047 Meter)))))) ;; TERM: (instance VeryLongRunwayAirport CIAAirportLengthClassification) (documentation VeryLongRunwayAirport "&%VeryLongRunwayAirport is a CIA category for &%Airports whose longest runway has a length greater than 3,047 meters.") (=> (and (instance ?AIRPORT Airport) (attribute ?AIRPORT VeryLongRunwayAirport)) (exists (?RUNWAY ?LENGTH) (and (instance ?RUNWAY Runway) (part ?RUNWAY ?AIRPORT) (length ?RUNWAY ?LENGTH) (greaterThan ?LENGTH (MeasureFn 3047 Meter))))) ;;---------------------------------------------------------------------- ;; I. Airports - with unpaved runways ;; Use &%totalFacilityTypeInArea (defined above) ;; with (ExtensionFn AirportWithUnpavedRunway) (=> (and (totalFacilityTypeInArea ?AREA (ExtensionFn AirportWithUnpavedRunway) ?COUNT) (greaterThan ?COUNT 0)) (exists (?AIRPORT ?RUNWAY) (and (instance ?AIRPORT Airport) (instance ?RUNWAY UnpavedRunway) (part ?RUNWAY ?AIRPORT) (located ?AIRPORT ?AREA)))) ;; TERM (subclass UnpavedRunway Runway) (disjoint PavedRunway UnpavedRunway) (documentation UnpavedRunway "&%UnpavedRunways include &%Runways with grass, dirt, sand, or gravel surfaces. Contrast with &%PavedRunway.") (=> (instance ?RW UnpavedRunway) (attribute ?RW Unpaved)) ;;---------------------------------------------------------------------- ;; J. Heliports ;; Use &%totalFacilityTypeInArea for this data (defined above) ;; TERM: (subclass Heliport TransitTerminal) (subclass Heliport AirTransitway) (names "heliport" Heliport) (names "helipad" Heliport) (documentation Heliport "&%Heliport is the class of &%TransitTerminals designed for the takeoff and landing of &%Helicopters.") (=> (instance ?HELO Heliport) (trafficableForTrafficType ?HELO Helicopter)) ;;---------------------------------------------------------------------- ;; K. Transportation - notes ;; Section used in the CIA WFB for text comments; use &%documentation. ;;======================================================================== ;; II. General Transportation Concepts ;; A. Translocation ;; B. Transitways ;; 1. Land Transitways ;; a. Roadways ;; b. Railways ;; 2. Water Transitways ;; 3. Air Transitways ;; 4. Pipelines ;; C. Vehicles and Related Equipment ;; 1. Generic Vehicle Terms ;; 2. Land Vehicles ;; a. Road Vehicles ;; b. Rail Vehicles ;; c. Other ;; 2. Water Vehicles ;; 3. Air Vehicles ;; 4. Transportation Equipment ;; D. Trafficability ;; 1. Traffic Compatibility ;; 2. Transitway Capacity ;; 3. Transitway Obstacles ;; 4. Transitway State ;; E. Transportation Systems and Routes ;; 1. Transportation Systems ;; 2. Transit Routes ;; 3. Transitway Junctions ;; 4. Transit Terminals ;; 5. Trips ;; F. Shipping and Cargo ;; 1. Shipping and Handling ;; 2. Cargo Type and Containers ;; G. Transportation Authority and Regulation ;; 1. Transportation Authority ;; 2. Transportation Control Systems ;; 3. Transportation Control Devices ;; 4. Transitway Regulations ;; 5. Transitway Tolls and Usage Fees ;; 6. Transportation Embargoes ;; H. Transportation Organizations ;; 1. International Organizations ;; 2. Government Organizations ;; 3. Commercial Organizations ;; I. Transportation Personnel ;;------------------------------------------------------------------------- ;; A. Translocation ;; TERM: (subclass Translocation Motion) (subclass Transportation Translocation) (documentation Translocation "&%Translocation is that class of &%Motions in which an object moves from one place to another. In the case of round trips, the &%origin and &%destination are the same, but the intervening motion passes through some other locations. &%Translocation represents linear motion, in contrast to rotation or other movement in place. Unlike in &%Transportation, with translocation the use of a vehicle is optional; e.g., walking is a kind of &%Translocation.") (=> (and (instance ?MOVEMENT Translocation) (origin ?MOVEMENT ?PLACE1)) (exists (?PLACE2 ?STAGE) (and (instance ?PLACE2 Region) (not (equal ?PLACE1 ?PLACE2)) (subProcess ?STAGE ?MOVEMENT) (located ?STAGE ?PLACE2)))) ;; TERM: (subclass IntermodalTransportation Transportation) (documentation IntermodalTransportation "&%IntermodalTransportation is the subclass of &%Transportation events in which more than one kind of &%Transitway (road, rail, sea, or air) is used. That is, there are at least two &%subProcesses of the motion that use different types of &%Transitway. ") (=> (instance ?EVENT IntermodalTransportation) (exists (?PATH1 ?PATH2 ?MODE1 ?MODE2) (and (path ?EVENT ?PATH1) (path ?EVENT ?PATH2) (instance ?PATH1 ?MODE1) (instance ?PATH2 ?MODE2) (subclass ?MODE1 Transitway) (subclass ?MODE2 Transitway) (disjoint ?MODE1 ?MODE2)))) (=> (and (path ?EVENT ?PATH1) (path ?EVENT ?PATH2) (instance ?PATH1 ?MODE1) (instance ?PATH2 ?MODE2) (instance ?MODE1 ModeOfTransit) (instance ?MODE2 ModeOfTransit) (disjoint ?MODE1 ?MODE2)) (instance ?EVENT IntermodalTransportation)) ;; TERM: (subclass ModeOfTransit SetOrClass) (documentation ModeOfTransit "&%ModeOfTransit is the class of generic types of &%Transitways, e.g., road, rail, water, air.") (=> (instance ?MODE ModeOfTransit) (subclass ?MODE Transitway)) ;; AXIOMS (terms defined in their own sections): (instance Roadway ModeOfTransit) (instance Railway ModeOfTransit) (instance Waterway ModeOfTransit) (instance AirTransitway ModeOfTransit) ;; PREDICATE: (instance carrier BinaryPredicate) (instance carrier CaseRole) (domain carrier 1 Transportation) (domain carrier 2 TransportationDevice) (subrelation carrier instrument) (documentation carrier "(&%carrier ?EVENT ?OBJECT) means that in the &%Transportation process ?EVENT, the &%TransportationDevice ?OBJECT is used to carry something from the &%origin to the &%destination. If the &%carrier is a &%Vehicle, then it moves along with whatever is carried.") ;; PREDICATE: (instance transportedItem BinaryPredicate) (instance transportedItem CaseRole) (domain transportedItem 1 Transportation) (domain transportedItem 2 Object) (subrelation transportedItem patient) (documentation transportedItem "(&%transportedItem ?MOVEMENT ?ITEM) means that in the &%Transportation ?MOVEMENT, the &%Object ?ITEM is moved from one place to another using a &%TransportationDevice.") (=> (transportedItem ?MOVEMENT ?ITEM) (instance ?MOVEMENT Transportation)) (=> (and (transportedItem ?MOVEMENT ?ITEM) (origin ?MOVEMENT ?FROM) (instance ?FROM Region)) (holdsDuring (BeginFn (WhenFn ?MOVEMENT)) (located ?ITEM ?FROM))) (=> (and (transportedItem ?MOVEMENT ?ITEM) (destination ?MOVEMENT ?TO) (instance ?TO Region)) (holdsDuring (EndFn (WhenFn ?MOVEMENT)) (located ?ITEM ?TO))) ;; FUNCTION: (instance TransportationByFn UnaryFunction) (domainSubclass TransportationByFn 1 TransportationDevice) (rangeSubclass TransportationByFn Transportation) (documentation TransportationByFn "(&%TransportationByFn ?TYPE) denotes the subclass of &%Transportation events in which a &%TransportationDevice of ?TYPE is the &%carrier.") (=> (and (subclass ?TYPE TransportationDevice) (instance ?TRIP (TransportationByFn ?TYPE))) (exists (?DEVICE) (and (instance ?DEVICE ?TYPE) (carrier ?TRIP ?DEVICE)))) ;;------------------------------------------------------------------------- ;; B. Transitways ;; TERM: (subclass Transitway Region) (subclass Transitway SelfConnectedObject) (disjointDecomposition Transitway Roadway Railway Waterway AirTransitway) ;; Those subclasses are defined farther below. (documentation Transitway "&%Transitway is the broadest class of &%Regions which may be passed through as a &%path in some kind of of &%Translocation. &%Transitway includes land, air, and sea regions, and it includes both natural and artificial transitways.") (=> (instance ?WAY Transitway) (exists (?TYPE) (and (subclass ?TYPE Translocation) (capability ?TYPE path ?WAY)))) ;; AXIOM: (subrelation path partlyLocated) ;; TERM: (subclass SingleTrafficLane Transitway) (documentation SingleTrafficLane "&%SingleTrafficLane is the subclass of &%Transitways that are wide enough for passage of only one &%Vehicle at a time. Note that a &%SingleTrafficLane may be part of a larger &%Transitway.") ;; TERM: (subclass OneWayTransitway Transitway) (documentation OneWayTransitway "&%OneWayTransitway is the subclass of &%Transitways that are intended for travel in only one direction.") (=> (instance ?WAY OneWayTransitway) (exists (?DIR) (and (instance ?DIR PositionalAttribute) (forall (?MOTION) (=> (and (instance ?MOTION Translocation) (path ?MOTION ?WAY)) (direction ?MOTION ?DIR)))))) ;; 1. Land Transitways ;; TERM: (subclass LandTransitway Transitway) (subclass LandTransitway LandArea) (documentation LandTransitway "&%LandTransitway is the subclass of &%Transitways that are &%paths for motion over the ground.") ;; TERM: (subclass Bridge LandTransitway) (subclass Bridge StationaryArtifact) (documentation Bridge "&%Bridge is the subclass of &%LandTransitways that are &%Artifacts crossing over water or other obstacles to motion, both positive (e.g., railroad tracks or a wall) or negative (a chasm). A &%Bridge provides a &%path for foot traffic, &%RoadVehicles, &%Trains, or other land vehicles. &%Bridge includes &%FixedBridges and &%PortableBridges.") (=> (instance ?BRIDGE Bridge) (exists (?OBJECT) (and (instance ?OBJECT Object) (crosses ?BRIDGE ?OBJECT)))) ;; TERM: (subclass FixedBridge Bridge) (subclass FixedBridge StationaryArtifact) (documentation FixedBridge "&%FixedBridge is the subclass of &%Bridges that are permanently installed at their location. This includes &%Drawbridges; although drawbridges have moveable parts, their location is fixed.") ;; TERM: (subclass Drawbridge FixedBridge) (subclass Drawbridge Device) (documentation Drawbridge "&%Drawbridge is the subclass of &%FixedBridges that have moveable parts allowing objects taller than the bridge clearance to pass beneath the bridge, as on a &%Waterway.") (=> (instance ?BRIDGE Drawbridge) (exists (?WATER) (and (instance ?WATER WaterArea) (crosses ?BRIDGE ?WATER)))) ;; TERM: (subclass RailroadBridge FixedBridge) (subclass RailroadBridge Railway) (documentation RailroadBridge "&%RailroadBridge is the subclass of &%Bridges that carry &%RailroadTracks over a land gap, &%WaterArea, or other obstacle.") (=> (instance ?BRIDGE RailroadBridge) (exists (?RR) (and (instance ?RR Railway) (part ?BRIDGE ?RR)))) ;; TERM: (subclass PortableBridge Bridge) (subclass PortableBridge Roadway) (documentation PortableBridge "(&%PortableBridge is the subclass of &%Bridges that can be moved from one location to another; for example, various types of military bridges. &%PortableBridges are designed for &%RoadVehicles.") (=> (instance ?BRIDGE PortableBridge) (capability Transportation transportedItem ?BRIDGE)) ;; TERM: (subclass PontoonBridge PortableBridge) (documentation PontoonBridge "&%PontoonBridge is the subclass of &%PortableBridges that transit a &%WaterArea, supported on pontoons.") (=> (and (instance ?BRIDGE PontoonBridge) (crosses ?BRIDGE ?WATER)) (instance ?WATER WaterArea)) ;; TERM: (subclass Tunnel Transitway) (subclass Tunnel StationaryArtifact) (documentation Tunnel "&%Tunnel is a subclass of &%Transitways that consist of a lengthwise enclosed &%Hole that allows for transit through a solid body, as through a mountain, through the seabed below a body of water, or through a &%Building.") (=> (instance ?TUNNEL Tunnel) (exists (?HOLE) (and (instance ?HOLE Hole) (hole ?HOLE ?TUNNEL)))) (=> (and (instance ?TUNNEL Tunnel) (instance ?ROAD Roadway) (part ?TUNNEL ?ROAD)) (instance ?TUNNEL Roadway)) (=> (and (instance ?TUNNEL Tunnel) (instance ?ROAD Railway) (part ?TUNNEL ?ROAD)) (instance ?TUNNEL Railway)) ;;------------------------------------------------------------------------- ;; a. Roadways (defined in Part I, above) ;; TERM: (instance Paved TextureAttribute) (documentation Paved "&%Paved is the &%TextureAttribute that applies to &%LandTransitway surfaces that are paved.") ;; TERM: (instance Unpaved TextureAttribute) (documentation Unpaved "&%Unpaved is the &%TextureAttribute that applies to &%LandTransitway surfaces that are unpaved.") ;; TERMS: (subclass Street Roadway) (documentation Street "&%Street is the subclass of &%Roadways that are located in a &%City and have numbered addresses assigned to them.") (=> (instance ?ST Street) (exists (?CITY) (and (instance ?CITY City) (located ?ST ?CITY)))) ;; TERM: (subclass Trail LandTransitway) (disjoint Trail Railway) (documentation Trail "&%Trail is the subclass of &%LandTransitways that are walkable, skateable, bikeable &%paths. In general, &%Trails are not intended for use by motor &%Vehicles.") ;; (1) b. Railways ;; &%Railway is defined in Part I. ;;------------------------------------------------------------------------- ;; 2. Water Transitways ;; &%Waterway is defined in Part I, above. ;; TERMS: (subclass ShippingLane Waterway) (subclass ShippingChannel Waterway) (subclass SeaLane Waterway) ;; Navigable &%Rivers are &%Waterways: (=> (and (instance ?WATER River) (trafficableForTrafficType ?WATER ?TYPE) (subclass ?TYPE Watercraft)) (instance ?RIVER Waterway)) ;; TERM: (instance NorthwestPassage Waterway) (names "Northwest Passage" NorthwestPassage) (documentation NorthwestPassage "&%NorthwestPassage represents the seasonal waterway in the &%ArcticOcean adjacent to &%Canada and the &%UnitedStates.") (geographicSubregion NorthwestPassage ArcticOcean) (geographicSubregion NorthwestPassage WesternHemisphere) (orientation NorthwestPassage Canada Adjacent) (orientation NorthwestPassage UnitedStates Adjacent) ;; TERM: (instance NorthernSeaRoute Waterway) (names "Northern Sea Route" NorthernSeaRoute) (documentation NorthernSeaRoute "&%NorthernSeaRoute represents the seasonal waterway in the &%ArcticOcean adjacent to &%Russia and &%Norway.") (geographicSubregion NorthernSeaRoute ArcticOcean) (geographicSubregion NorthernSeaRoute EasternHemisphere) (orientation NorthernSeaRoute Russia Adjacent) (orientation NorthernSeaRoute Norway Adjacent) ;;------------------------------------------------------------------------- ;; 3. Air Transitways ;; &%Airport is defined in Part I, above. ;; TERM: (subclass AirTransitway Transitway) (subclass AirTransitway AtmosphericRegion) (documentation AirTransitway "&%AirTransitway is the subclass of &%Transitways through the medium of air. If an area is an &%AirTransitway, then some kind of &%Aircraft can travel through that airspace.") (=> (instance ?AT AirTransitway) (exists (?TYPE) (and (subclass ?TYPE Aircraft) (trafficableForTrafficType ?AT ?TYPE)))) ;;------------------------------------------------------------------------- ;; 4. Pipelines ;; &%Pipeline is defined in Part I, above. ;;------------------------------------------------------------------------- ;; C. Vehicles and Related Equipment ;; 1. Generic Vehicle Terms ;; TERM: (subclass Vehicle TransportationDevice) (documentation Vehicle "&%Vehicle is the subclass of &%TransportationDevices that transport passengers or goods from one place to another by moving themselves from the origin to the destination while carrying the &%transportedItem, e.g., cars, trucks, ferries, and airplanes. Contrast &%Vehicles with devices such as &%Escalators, people movers (moving walkways), and supermarket checkout belts, which carry items from one place to another by means of moving parts, without the device itself removing from the origin to the destination.") (=> (and (instance ?TRANSPORT Vehicle) (instance ?MOVE Translocation) (instrument ?MOVE ?TRANSPORT) (origin ?MOVE ?FROM)) (holdsDuring (BeginFn (WhenFn ?MOVE)) (located ?TRANSPORT ?FROM))) (=> (and (instance ?TRANSPORT Vehicle) (instance ?MOVE Translocation) (instrument ?MOVE ?TRANSPORT) (destination ?MOVE ?TO)) (holdsDuring (EndFn (WhenFn ?MOVE)) (located ?TRANSPORT ?TO))) ;; TERM: (subclass SelfPoweredVehicle Vehicle) (subclass SelfPoweredVehicle SelfPoweredDevice) (documentation SelfPoweredVehicle "&%SelfPoweredVehicle is the subclass of &%Vehicles whose motion is powered by some kind of on-board &%powerPlant. Contrast with &%UserPoweredVehicle and &%AnimalPoweredVehicle.") (=> (instance ?SPV SelfPoweredVehicle) (exists (?SOURCE) (and (instance ?SOURCE Device) (powerPlant ?SPV ?SOURCE)))) ;; TERM: (subclass AnimalPoweredVehicle Vehicle) (subclass AnimalPoweredVehicle AnimalPoweredDevice) (documentation AnimalPoweredVehicle "&%AnimalPoweredVehicle is the subclass of &%Vehicles whose motive power is provided by an animal or animals. Examples: horse-drawn carriages, oxcarts, pony carts.") (=> (and (instance ?VEHICLE AnimalPoweredVehicle) (instance ?MOTION Transportation) (instrument ?MOTION ?VEHICLE)) (exists (?ANIMAL ?PULLING) (and (instance ?ANIMAL Animal) (instance ?PULL Pulling) (agent ?PULL ?ANIMAL) (subProcess ?PULL ?MOTION) (causes ?PULL ?MOTION)))) ;; TERM: (subclass UserPoweredVehicle Vehicle) (subclass UserPoweredVehicle UserPoweredDevice) (documentation UserPoweredVehicle "&%UserPoweredVehicle is the subclass of &%Vehicles whose power source is the rider or user. Examples: &%Bicycles, &%Canoes, grocery carts.") (=> (and (instance ?VEHICLE UserPoweredVehicle) (instance ?MOTION Transportation) (instrument ?MOTION ?VEHICLE)) (exists (?RIDER) (and (instance ?RIDER Person) (agent ?MOTION ?RIDER)))) (=> (and (instance ?VEHICLE UserPoweredVehicle) (instance ?MOTION Transportation) (instrument ?MOTION ?VEHICLE) (agent ?MOTION ?RIDER) (instance ?RIDER Person)) (exists (?ACTION) (and (instance ?ACTION BodyMotion) (agent ?ACTION ?RIDER) (causes ?ACTION ?MOTION)))) ;;--------------------------------- ;; Vehicle measures and capacities: ;; PREDICATE: (instance speed BinaryPredicate) (domain speed 1 Object) (domain speed 2 PhysicalQuantity) (subrelation speed measure) (documentation speed "(&%speed ?OBJECT ?SPEED) means that the instantaneous &%speed of ?OBJECT is the &%PhysicalQuantity ?SPEED. Speed may be given in &%KnotUnitOfSpeed or in other units with &%SpeedFn. Assertions with &%speed should be temporally qualified.") ;; PREDICATE: (instance vehicleMaximumSpeed BinaryPredicate) (domain vehicleMaximumSpeed 1 Vehicle) (domain vehicleMaximumSpeed 2 PhysicalQuantity) (documentation vehicleMaximumSpeed "(&%vehicleMaximumSpeed ?TRANSPORT ?SPEED) means that the maximum speed of which the &%Vehicle ?TRANSPORT is capable is the &%PhysicalQuantity ?SPEED. This is independent of legally allowed maximum speeds.") (=> (and (instance ?TRANSPORT Vehicle) (vehicleMaximumSpeed ?TRANSPORT (SpeedFn ?DIST1 ?TIME1)) (holdsDuring ?TIME (measure ?TRANSPORT (SpeedFn ?DIST2 ?TIME2)))) (lessThanOrEqualTo (SpeedFn ?DIST2 ?TIME2) (SpeedFn ?DIST1 ?TIME1))) (=> (and (instance ?TRANSPORT Vehicle) (vehicleMaximumSpeed ?TRANSPORT ?SPEED1) (holdsDuring ?TIME (speed ?TRANSPORT ?SPEED2))) (lessThanOrEqualTo ?SPEED2 ?SPEED1)) ;; PREDICATE: (instance vehicleCruisingSpeed BinaryPredicate) (domain vehicleCruisingSpeed 1 Vehicle) (domain vehicleCruisingSpeed 2 PhysicalQuantity) (documentation vehicleCruisingSpeed "(&%vehicleCruisingSpeed ?TRANSPORT ?SPEED) means that the typical cruising speed of the &%Vehicle ?TRANSPORT is the &%PhysicalQuantity ?SPEED. This predicate need not be used with a temporal constraint. For actual vehicle speed at a given time, use &%speed or &%measure with &%SpeedFn and an appropriate temporal qualification.") ;; PREDICATE: (instance cruisingRange BinaryPredicate) (domain cruisingRange 1 Vehicle) (domain cruisingRange 2 LengthMeasure) (documentation cruisingRange "(&%cruisingRange ?VEHICLE ?RANGE) means that the &%Vehicle ?VEHICLE has a cruising range of &%LengthMeasure ?RANGE, when it is fully loaded with fuel.") ;; PREDICATE: (instance fuelCapacity BinaryPredicate) (domain fuelCapacity 1 Device) (domain fuelCapacity 2 VolumeMeasure) (documentation fuelCapacity "(&%fuelCapacity ?DEVICE ?AMOUNT) means that the &%Device ?DEVICE has the &%fuelCapacity ?AMOUNT.") ;; TERM: (subclass FuelTank Container) (documentation FuelTank "&%FuelTank is the subclass of &%Containers that are designed as reservoirs for &%Fuel. &%FuelTank includes both stand-alone fuel tanks and fuel tanks that are attached to &%Engines and &%SelfPoweredDevices.") (=> (and (equipmentCount ?DEVICE FuelTank 1) (fuelCapacity ?DEVICE ?AMOUNT)) (exists (?TANK) (and (instance ?TANK FuelTank) (component ?TANK ?DEVICE) (measure ?TANK ?AMOUNT)))) ;; PREDICATE: (instance passengerCapacityMaxCount BinaryPredicate) (instance passengerCapacityMaxCount SingleValuedRelation) (domain passengerCapacityMaxCount 1 TransportationDevice) (domain passengerCapacityMaxCount 2 NonnegativeInteger) (documentation passengerCapacityMaxCount "(&%passengerCapacityMaxCount ?TRANSPORT ?NUMBER) means that the &%TransportationDevice ?TRANSPORT has a safe or legal carrying capacity for a total ?NUMBER of passengers (not including crew). See also &%totalPersonCapacityCount.") (=> (and (passengerCapacityMaxCount ?VEHICLE ?MAX) (instance ?VEHICLE Vehicle) (instance ?MOTION Transportation) (cardinality (KappaFn ?RIDERS (and (instance ?RIDERS Human) (transportedItem ?MOTION ?RIDERS))) ?COUNT)) (lessThanOrEqualTo ?MAX ?COUNT)) ;; PREDICATE: (instance totalPersonsAboard BinaryPredicate) (instance totalPersonsAboard SingleValuedRelation) (domain totalPersonsAboard 1 TransportationDevice) (domain totalPersonsAboard 2 NonnegativeInteger) (documentation totalPersonsAboard "(&%totalPersonsAboard ?TRANSPORT ?NUMBER) means that there is a total ?NUMBER of people aboard the &%TransportationDevice ?TRANSPORT, including both crew and passengers.") ;; PREDICATE: (instance personCapacityMaxWeight BinaryPredicate) (domain personCapacityMaxWeight 1 Object) (domain personCapacityMaxWeight 2 MassMeasure) (documentation personCapacityMaxWeight "(&%personCapacityMaxWeight ?THING ?WEIGHT) means that the &%Object ?THING has a safe carrying capacity for a total ?WEIGHT of persons, as occupants, crew, or passengers, combined.") ;; PREDICATE: (instance vehicleCapacityMaxWeight BinaryPredicate) (domain vehicleCapacityMaxWeight 1 TransportationDevice) (domain vehicleCapacityMaxWeight 2 MassMeasure) (documentation vehicleCapacityMaxWeight "(&%vehicleCapacityMaxWeight ?TRANSPORT ?WEIGHT) means that the &%TransportationDevice ?TRANSPORT has a safe carrying capacity for a total &%MassMeasure of ?WEIGHT.") (=> (and (personCapacityMaxWeight ?VEHICLE ?PEOPLEWT) (vehicleCapacityMaxWeight ?VEHICLE ?TOTALWT)) (greaterThanOrEqualTo ?TOTALWT ?PEOPLEWT)) ;;----------------------------------------------------------------------- ;; 1. Land Vehicles ;; TERM: (subclass LandVehicle Vehicle) (documentation LandVehicle "&%LandVehicle is the class of &%TransportationDevices that travel on &%LandTransitways. The two main types of &%LandVehicle are &%RoadVehicle and &%RailwayVehicle, distinguished by their different types of interface with the land surface.") (=> (and (instance ?LV LandVehicle) (instance ?MOTION Transportation) (instrument ?MOTION ?LV) (path ?MOTION ?WAY)) (instance ?WAY LandTransitway)) ;;----------------------------------------------------------------------- ;; a. Road Vehicles ;; TERM: (subclass RoadVehicle LandVehicle) (documentation RoadVehicle "&%RoadVehicle is the subclass of wheeled &%LandVehicles designed to travel on &%Roadways.") (=> (instance ?VEHICLE RoadVehicle) (and (equipmentCount ?VEHICLE VehicleWheel ?COUNT) (greaterThanOrEqualTo ?COUNT 2))) ;; TERM: (subclass VehicleWheel Device) (subclass VehicleWheel Wheel) (documentation VehicleWheel "&%VehicleWheel is a class of cylindrical &%Devices used to move a &%RoadVehicle along a road, running either directly on the wheel rims or on tires attached to the wheel rims.") ;; TERM: (subclass Axle Device) (documentation Axle "&%Axle is a class of &%Devices each of which can be paired with two &%VehicleWheels to rotate and move a &%RoadVehicle.") (=> (and (instance ?WHEEL VehicleWheel) (instance ?VEHICLE RoadVehicle) (part ?WHEEL ?VEHICLE)) (exists (?ROD) (and (instance ?ROD Axle) (component ?ROD ?VEHICLE) (connected ?WHEEL ?ROD)))) ;; TERM: (subclass SelfPoweredRoadVehicle RoadVehicle) (subclass SelfPoweredRoadVehicle SelfPoweredVehicle) (documentation SelfPoweredRoadVehicle "&%SelfPoweredRoadVehicle is the class of &%RoadVehicles that are also &%SelfPoweredVehicles. &%SelfPoweredRoadVehicle covers motorcycles, semi-trailers, RVs, etc., as well as &%Automobiles. This class includes vehicles powered by electricity, gasoline, diesel, and other fuels.") ;; TERM: (subclass Motorcycle SelfPoweredRoadVehicle) (documentation Motorcycle "&%Motorcycle is the subclass of &%RoadVehicles that have two wheels one behind the other in the frame, upon which the rider sits on a seat above the engine.") (=> (instance ?MOTO Motorcycle) (equipmentCount ?MOTO VehicleWheel 2)) ;; TERM: (subclass MotorScooter SelfPoweredRoadVehicle) (documentation MotorScooter "&%MotorScooter is the subclass of &%RoadVehicles that have two or three wheels, with one of the wheels in front. &%MotorScooters generally have less powerful engines than &%Motorcycles and more comfortable, chairlike seats.") (=> (instance ?MOTO MotorScooter) (or (equipmentCount ?MOTO VehicleWheel 2) (equipmentCount ?MOTO VehicleWheel 3))) ;; TERM: (subclass Automobile SelfPoweredRoadVehicle) (documentation Automobile "&%Automobile is a subclass of &%SelfPoweredRoadVehicles including &%PassengerCars, &%FamilyVans, &%LightTrucks, and &%SportUtilityVehicles. In general, this class covers four-wheeled passenger road vehicles.") ;; TERM: (=> (instance ?AUTO Automobile) (equipmentCount ?AUTO VehicleWheel 4)) (=> (instance ?AUTO Automobile) (equipmentCount ?AUTO Axle 2)) ;; TERM: (subclass PassengerCar Automobile) (documentation PassengerCar "&%PassengerCar is the subclass of &%Automobile that includes Economy, Compact, Convertible, Midsize, Full Size, Premium, and Luxury cars.") ;; TERM: (subclass Minivan Automobile) ;; TERM: (subclass FullSizeVan Automobile) ;; TERM: (subclass SportUtilityVehicle Automobile) (abbreviation "SUV" SportUtilityVehicle) ;; TERM: (subclass LightTruck Automobile) (subclass LightTruck Truck) (documentation LightTruck "&%LightTruck is the subclass of &%Automobiles that are built on truck chassis and have a gross vehicle weight rating (GVWR) of 8,500 pounds or less and a vehicle curb weight (VCW) of 6,000 pounds or less. (49 CFR 523) As a classification for fuel emissions, &%LightTrucks may include SUVs and mini-vans that meet the weight requirements.") ;; TERM: (subclass Truck SelfPoweredRoadVehicle) (documentation Truck "&%Truck is the subclass of &%RoadVehicles that are designed primarily for transporting various kinds of non-passenger loads. &%Truck is the class of single-bodied trucks or &%TruckTractors. Note: &%TractorTrailer combinations are a distinct class.") (=> (instance ?TRUCK Truck) (exists (?LOAD) (and (subclass ?LOAD Object) (cargoType ?TRUCK ?LOAD)))) ;; TERM: (subclass TruckTractor Truck) (documentation TruckTractor "&%TruckTractor is the subclass of &%Trucks that are used to tow truck trailers. Truck tractors are the cab portions of tractor-trailers. See also &%TruckTrailer.") ;; TERM: (subclass Trailer RoadVehicle) (documentation Trailer "&%Trailer is the class of &%RoadVehicles that are designed for towing with another &%RoadVehicle.") (disjoint Trailer SelfPoweredVehicle) (disjoint Trailer UserPoweredVehicle) ;; TERM: (subclass TruckTrailer Trailer) (documentation TruckTrailer "&%TruckTrailer is the subclass of &%Trailers that are towed by &%TruckTractors. These are the trailers used in tractor-trailer (semi-trailer) rigs.") ;; TERM: (subclass TractorTrailer RoadVehicle) (subclass TractorTrailer SelfPoweredRoadVehicle) (names "semi-trailer" TractorTrailer) (names "tractor-trailer" TractorTrailer) (documentation TractorTrailer "&%TractorTrailer is the subclass of &%RoadVehicles that are truck tractor- truck trailer combinations.") (=> (instance ?BIGRIG TractorTrailer) (exists (?TRACTOR ?TRAILER) (and (instance ?TRACTOR TruckTractor) (instance ?TRAILER TruckTrailer) (part ?TRACTOR ?BIGRIG) (part ?TRAILER ?BIGRIG) (connected ?TRACTOR ?TRAILER)))) ;; TERM: (subclass Bus SelfPoweredRoadVehicle) (documentation Bus "&%Bus is the subclass of &%SelfPoweredRoadVehicles that can transport large numbers of passengers (i.e., dozens) at one time.") ;; TERM: (subclass EmergencyVehicle SelfPoweredVehicle) (documentation EmergencyVehicle "&%EmergencyVehicle is the subclass of &%Vehicles that are used for special-purpose emergency response.") ;; TERM: (subclass EmergencyRoadVehicle EmergencyVehicle) (subclass EmergencyRoadVehicle SelfPoweredRoadVehicle) (documentation EmergencyRoadVehicle "&%EmergencyRoadVehicle is the subclass of &%EmergencyVehicle that includes &%RoadVehicles designed for special use in emergencies, e.g., &%Ambulances, &%FireEngines.") ;; TERM: (subclass FireEngine EmergencyRoadVehicle) (documentation FireEngine "&%FireEngine is the subclass of &%EmergencyRoadVehicles that represents fire engines.") ;; TERM: (subclass Ambulance EmergencyRoadVehicle) (documentation Ambulance "&%Ambulance is the subclass of &%EmergencyRoadVehicles that represents ambulances.") ;; TERM: (subclass Cycle-TransportationDevice LandVehicle) (subclass Cycle-TransportationDevice UserPoweredDevice) (documentation Cycle-TransportationDevice "&%Cycle-TransportationDevice is a class of wheeled, pedal-driven &%UserPoweredVehicles that are designed to be ridden on roads or trails.") (=> (instance ?CYCLE Cycle-TransportationDevice) (and (equipmentCount ?CYCLE VehicleWheel ?COUNT) (greaterThanOrEqualTo ?COUNT 1))) ;; TERM: (subclass Bicycle Cycle-TransportationDevice) (documentation Bicycle "&%Bicycle is a class of two-wheeled, &%UserPoweredVehicles.") (=> (instance ?BIKE Bicycle) (equipmentCount ?BIKE VehicleWheel 2)) ;; See part II, section I(4) for representation of U.S. ;; Federal Highway Administration (FHWA) Vehicle Classes ;;----------------------------------------------------------------------- ;; b. Rail Vehicles ;; TERM: (subclass RailwayVehicle LandVehicle) (documentation RailwayVehicle "&%RailwayVehicle is the subclass of &%Vehicles that are designed to run on &%Railways, including both &%Trains and individual cars (&%RollingStock).") (=> (and (instance ?ROLLER RailwayVehicle) (instance ?MOTION Translocation) (instrument ?MOTION ?ROLLER) (path ?MOTION ?WAY)) (instance ?WAY Railway)) ;; TERM: (subclass Train RailwayVehicle) (subclass Train SelfPoweredVehicle) (subclass Train Collection) (documentation Train "&%Train is the subclass of &%TransportationDevice whose instances are linked sequences of &%RollingStock whose motion is driven by one or more &%Locomotives or &%MotorizedRailwayCars.") (=> (instance ?TRAIN Train) (exists (?DRIVER ?RAILCAR) (and (instance ?DRIVER RollingStock) (instance ?DRIVER SelfPoweredVehicle) (instance ?RAILCAR Railcar) (part ?DRIVER ?TRAIN) (part ?DRIVER ?RAILCAR) (connected ?DRIVER ?RAILCAR)))) (=> (instance ?TRAIN Train) (attribute ?TRAIN LineFormation)) ;; TERM: (subclass RollingStock RailwayVehicle) (documentation RollingStock "&%RollingStock is the subclass of &%RailwayVehicles that individual railway cars. &%RollingStock includes locomotives, motorized transit cars, trolleys, and all kinds of railcars.") ;; TERM: (subclass PassengerRailwayCar RollingStock) (subclass PassengerRailwayCar HumanHabitationArtifact) (documentation PassengerRailwayCar "&%PassengerRailwayCar is the subclass of &%RollingStock that is designed for transportation of &%Human beings. &%PassengerRailwayCar includes self-powered vehicles such as &%CabCars and motorized &%Streetcars, as well as the various kinds of unpowered passenger &%Railcars that are parts of &%Trains.") (=> (instance ?CAR PassengerRailwayCar) (cargoType ?CAR Human)) ;; TERM: (subclass Locomotive RollingStock) (subclass Locomotive SelfPoweredVehicle) (documentation Locomotive "&%Locomotive is the subclass of &%RollingStock that represents train locomotives, including those with &%DieselEngines and with &%SteamEngines.") ;; TERM: (subclass CabCar PassengerRailwayCar) (subclass CabCar SelfPoweredVehicle) (documentation CabCar "&%CabCar is the class of powered passenger cars that have an operating cab in one end from which train motion can be controlled in 'push' mode. A &%CabCar is placed on the opposite end of the train from the locomotive.") ;; TERM: (subclass MotorizedRailwayCar RollingStock) (subclass MotorizedRailwayCar SelfPoweredVehicle) (documentation MotorizedRailwayCar "&%MotorizedRailwayCar is the subclass of railway cars that carry their own power source.") ;; TERM: (subclass ElectrifiedRailwayCar RollingStock) (subclass ElectrifiedRailwayCar SelfPoweredVehicle) (subclass ElectrifiedRailwayCar ElectricDevice) (documentation ElectrifiedRailwayCar "&%ElectrifiedRailwayCar is the subclass of railway cars that are powered by electricity, which is provided to the car through an overhead link or electrified third rail.") (=> (and (instance ?CAR ElectrifiedRailwayCar) (instance ?TRIP Transportation) (instrument ?TRIP ?CAR)) (exists (?RAILWAY) (and (instance ?RAILWAY ElectrifiedRailway) (path ?TRIP ?RAILWAY)))) ;; TERM: (subclass Streetcar ElectrifiedRailwayCar) (documentation Streetcar "&%Streetcar is the subclass of &%ElectrifiedRailwayCars that run on tracks laid into, along, or beside city &%Streets.") ;; TERM: (subclass LocomotiveCoalCar Railcar) (documentation LocomotiveCoalCar "&%LocomotiveCoalCar is the subclass of &%Railcars used for transporting fuel &%Coal for coal-powered steam locomotives. In a train, they are placed directly behind the &%Locomotive for ready accessibility.") (=> (instance ?CAR LocomotiveCoalCar) (cargoType ?CAR Coal)) (=> (and (instance ?COALCAR LocomotiveCoalCar) (instance ?LOCO Locomotive) (instance ?TRAIN Train) (part ?COALCAR Train)) (exists (?ENGINE) (and (instance ?ENGINE SteamEngine) (component ?ENGINE ?LOCO)))) ;; TERM: (subclass HeadEndCar Railcar) (documentation HeadEndCar "&%HeadEndCar is the subclass of &%Railcars that are typically placed near the front of a train, including mail cars and baggage cars.") (=> (and (instance ?CAR HeadEndCar) (instance ?TRAIN Train) (part ?CAR ?TRAIN)) (orientation ?CAR (FrontFn ?TRAIN) Near)) ;; TERM: (subclass Railcar RollingStock) (disjoint Railcar SelfPoweredVehicle) (documentation Railcar "&%Railcar is the subclass of &%RollingStock that includes all non-locomotive, non-self-powered &%RailwayVehicles.") ;; TERM: (subclass FreightCar Railcar) (documentation FreightCar "&%FreightCar is the subclass of &%Railcars that are used for hauling freight: bulk materials, manufactured goods, and other commodities.") ;; TERM: (subclass Boxcar FreightCar) (documentation Boxcar "&%Boxcar is the subclass of &%Railcars that are general-purpose closed cars for hauling freight.") ;; TERM: (subclass HydraCushionFreightCar FreightCar) (documentation HydraCushionFreightCar "&%HydraCushionFreightCars is the subclass of &%FreightCars that have hydraulic underframes to cushion their loads.") ;; TERM: (subclass OpenTopRailcar FreightCar) (documentation OpenTopRailcar "&%OpenTopRailcar is the subset of &%FreightCars that have no roof. They may have sides or not.") (=> (instance ?CAR OpenTopRailcar) (not (exists (?TOP) (and (instance ?TOP Roof) (top ?TOP ?CAR))))) ;; TERM: (subclass GondolaRailcar OpenTopRailcar) (documentation GondolaRailcar "&%GondolaRailcar is the subclass of &%OpenTopRailcars that have fixed sides, generally used for hauling &%BulkCargo such as &%Coal.") (=> (instance ?CAR GondolaRailcar) (cargoType ?CAR BulkCargo)) ;; TERM: (subclass Flatcar FreightCar) (subclass Flatcar OpenTopRailcar) (documentation Flatcar "&%Flatcar is the subclass of &%FreightCars that do not have sides or roofs.") (=> (instance ?CAR Flatcar) (not (exists (?WALL) (and (instance ?WALL Object) (side ?WALL ?CAR))))) ;; TERM: (subclass FiveWellStackCar OpenTopRailcar) (names "stack car" FiveWellStackCar) (documentation FiveWellStackCar "&%FiveWellStackCar is the subclass of &%FreightCars that are five-unit cars that carry double-stacked &%CargoContainers.") (=> (instance ?CAR FiveWellStackCar) (cargoType ?CAR CargoContainer)) ;; TERM: (subclass SpineCar Flatcar) (documentation SpineCar "&%SpineCar is a subset of articulated &%Flatcars used to carry truck trailers or containers.") (=> (instance ?CAR SpineCar) (or (cargoType ?CAR TruckTrailer) (cargoType ?CAR CargoContainer))) ;; TERM: (subclass RotaryDumpCar GondolaRailcar) (documentation RotaryDumpCar "&%RotaryDumpCar is a subclass of open-top freight cars that have a rotating coupler allowing them to be emptied by dumping while still coupled.") ;; TERM: (subclass TankCar FreightCar) (subclass TankCar Container) (documentation TankCar "&%TankCar is the subclass of enclosed &%FreightCars that are &%Containers used to carry fluids.") (=> (instance ?CAR TankCar) (cargoType ?CAR (ExtensionFn Fluid))) ;; TERM: (subclass ScaleTestCar Railcar) (documentation ScaleTestCar "&%ScaleTestCar is a subclass of &%Railcars that have a known weight and are used to test or calibrate track scales used for weighing freight.") ;; TERM: (subclass CoachRailcar PassengerRailwayCar) (subclass CoachRailcar Railcar) (documentation CoachRailcar "&%CoachRailcar is the subclass of &%Railcars that are designed for seated transportation of paid passengers.") ;; TERM: (subclass GalleryCar PassengerRailwayCar) (subclass GalleryCar Railcar) (documentation GalleryCar "&%GalleryCar is the subclass of &%PassengerRailcars that are double-decked passenger cars with a glassed-in viewing area on the second floor.") ;; TERM: (subclass DiningCar PassengerRailwayCar) (subclass DiningCar Railcar) (documentation DiningCar "&%DiningCar is the subclass of &%PassengerRailcars that are equipped with dining tables and food preparation areas, where meals are served to passengers.") ;; TERM: (subclass SleeperRailcar PassengerRailwayCar) (subclass SleeperRailcar Railcar) (documentation SleeperRailcar "&%SleeperRailcar is the subclass of &%Railcars that are designed with sleeping accommodations for passengers.") ;; TERM: (subclass CrewDormCar PassengerRailwayCar) (subclass CrewDormCar Railcar) (documentation CrewDormCar "&%CrewDormCar is the subclass of &%Railcars that are used for housing the employee staff on long-distance trains.") ;; TERM: (subclass BusinessRailcar PassengerRailwayCar) (subclass BusinessRailcar Railcar) (documentation BusinessRailcar "&%BusinessRailcar is the subclass of &%PassengerRailCars that are reserved by a railway company for use of its own employees while travelling on business purposes.") ;; TERM: (subclass OutfitCar PassengerRailwayCar) (subclass OutfitCar Railcar) (documentation OutfitCar "&%OutfitCar is the subclass of &%Railcars that are used for housing railway construction or maintenance workers in the field. Also called 'camp cars'.") ;; TERM: (subclass PrivateRailcar Railcar) (documentation PrivateRailcar "&%PrivateRailcar is the subclass of all &%Railcars that are owned and used by private individuals rather than by a common carrier transit service.") (=> (instance ?CAR PrivateRailcar) (exists (?OWNER) (and (possesses ?OWNER ?CAR) (not (instance ?OWNER CommonCarrier))))) ;;-------------------------------------------------------------------------- ;; TERM: (subclass TrainAssembly Making) (subclass TrainAssembly Attaching) (documentation TrainAssembly "&%TrainAssembly is the process of putting together a single &%Train from one or more &%Locomotives and &%Railcars.") (=> (instance ?LINKING TrainAssembly) (exists (?PAIRING ?CAR1 ?CAR2) (and (instance ?CAR1 RollingStock) (instance ?CAR2 RollingStock) (instance ?PAIRING Attaching) (patient ?PAIRING ?CAR1) (patient ?PAIRING ?CAR2) (subProcess ?PAIRING ?LINKING)))) (=> (instance ?LINKING TrainAssembly) (exists (?TRAIN) (and (instance ?TRAIN Train) (result ?LINKING ?TRAIN)))) ;; TERM: (subclass CarDistributionSystem Managing) (documentation CarDistributionSystem "&%CarDistributionSystem is the overall process of routing railway cars and composing trains according to policy and instructions.") (=> (instance ?CDS CarDistributionSystem) (exists (?MANAGER) (and (instance ?MANAGER RailroadCompany) (agent ?CDS ?MANAGER)))) ;;----------------------------------------------------------------------- ;; 2. Water Vehicles ;; TERM: (subclass Watercraft TransportationDevice) (documentation Watercraft "&%Watercraft is the class of all &%TransportationDevices used to travel on or in water.") (=> (and (instance ?CRAFT Watercraft) (instance ?EVENT Transportation) (instrument ?EVENT ?CRAFT)) (exists (?WATER) (and (instance ?WATER WaterArea) (located ?EVENT ?WATER)))) (=> (and (subclass ?TYPE Watercraft) (instance ?EVENT (TransportationByFn ?TYPE)) (located ?EVENT ?PLACE)) (instance ?PLACE WaterArea)) ;; TERM: (subclass DisplacementHullWatercraft Watercraft) (documentation DisplacementHullWatercraft "&%DisplacementHullWatercraft is a subclass of &%Watercraft with hulls designed to move water aside as they move through the water. Contrast with &%PlaningHullWatercraft.") ;; TERM: (subclass PlaningHullWatercraft Watercraft) (documentation PlaningHullWatercraft "&%PlaningHullWatercraft is a subclass of &%Watercraft with hulls designed for a position partially on or above the water surface when they are in motion, in order to reduce drag. See also &%DisplacementHullWatercraft.") ;; TERM: (subclass Catamaran PlaningHullWatercraft) (documentation Catamaran "&%Catamaran is the subclass of &%PlaningHullWatercraft that have two or more hulls connected by a &%ShipDeck or other superstructure.") (=> (instance ?CAT Catamaran) (exists (?HULL1 ?HULL2) (and (instance ?HULL1 ShipHull) (instance ?HULL2 ShipHull) (part ?HULL1 ?CAT) (part ?HULL2 ?CAT) (not (equal ?HULL1 ?HULL2))))) ;; TERM: (subclass Ship DisplacementHullWatercraft) (documentation Ship "&%Ship is the class of large &%Watercraft used for travel on oceans, seas, or very large lakes.") ;; TERM: (subclass PassengerShip Ship) (documentation PassengerShip "&%PassengerShip is the subclass of &%Watercraft designed for the purpose of carrying passengers and capable of carrying at least thirteen passengers.") (=> (instance ?SHIP PassengerShip) (cargoType ?SHIP Human)) (=> (instance ?SHIP PassengerShip) (exists (?CABIN) (and (instance ?CABIN ShipCabin) (part ?CABIN ?SHIP)))) (=> (instance ?SHIP PassengerShip) (exists (?COUNT) (and (passengerCapacityMaxCount ?SHIP ?COUNT) (greaterThanOrEqualTo ?COUNT 13)))) ;; TERM: (subclass CruiseShip PassengerShip) (documentation CruiseShip "&%CruiseShip is the subclass of &%PassengerShips designed for the purpose of carrying passengers on extended trips and operated by a &%TransportationCompany.") ;; TERM: (subclass OceanLiner PassengerShip) (subclass OceanLiner CargoShip) (documentation OceanLiner "&%OceanLiner is the subclass of &%Ships that make regularly scheduled voyages to transport people and goods from one place to another.") ;; TERM: (subclass Barge Watercraft) (documentation Barge "&%Barge is the subclass of flat-bottomed, shallow-draft vessels designed to carry cargo on inland waterways. Barges are generally not self-powered and rely on &%Tugboats for transportion.") ;; TERM: (subclass Lighter Barge) (documentation Lighter "&%Lighter is the subclass of &%Barges that are used for short-haul transport, as for moving goods between shore and a &%CargoShip.") ;; TERM: (subclass Tugboat DisplacementHullWatercraft) (subclass Tugboat SelfPoweredVehicle) (documentation Tugboat "&%Tugboat is the subclass of diesel-powered boats that are used for moving &%Barges, barge trains, and oil platforms, or for rescue and salvage at sea.") (=> (instance ?TUG Tugboat) (exists (?DIESEL) (and (instance ?DIESEL DieselEngine) (powerPlant ?DIESEL ?TUG)))) ;; TERM: (subclass FireBoat Watercraft) (subclass FireBoat EmergencyVehicle) (documentation FireBoat "&%FireBoat is the subclass of &%EmergencyVehicles that are boats capable of spraying water to fight fires on ships or on the waterfront.") ;; Subclasses of (mainly) recreational &%Watercraft: ;; TERM: (subclass Motorboat Watercraft) ;; TERM: (subclass Sailboat Watercraft) (subclass Sailboat WindPoweredDevice) ;; TERM: (subclass Canoe Watercraft) (subclass Canoe HumanPoweredDevice) ;; TERM: (subclass Kayak Watercraft) (subclass Kayak HumanPoweredDevice) ;; TERM: (subclass PersonalWatercraft Watercraft) (subclass PersonalWatercraft SelfPoweredVehicle) (names "Jet Ski" PersonalWatercraft) (documentation PersonalWatercraft "&%PersonalWatercraft is the class of motor-driven watercraft ridden by one or more passengers, e.g., a JetSki.") ;;----------------------------------------------------------------------- ;; Measures and dimensions for &%Watercraft: ;; TERM: (instance ladenDraft BinaryPredicate) (domain ladenDraft 1 Watercraft) (domain ladenDraft 2 LengthMeasure) (documentation ladenDraft "(&%ladenDraft ?SHIP ?AMOUNT) means that the &%Watercraft ?SHIP requires a &%waterDepth greater than ?AMOUNT to sail without running aground, when she is loaded at capacity. It also means that the vertical height between the lowest part of the keel of the loaded vessel and the waterline is ?AMOUNT.") ;; PREDICATE: (instance vesselDisplacement BinaryPredicate) (domain vesselDisplacement 1 Watercraft) (domain vesselDisplacement 2 PhysicalQuantity) (subrelation vesselDisplacement measure) (documentation vesselDisplacement "(&%vesselDisplacement ?VESSEL ?AMOUNT) means that the displacement of &%Watercraft ?VESSEL is the &%PhysicalQuantity ?AMOUNT. The displacement of a vessel may be measured in &%LongTons (Dead Weight Tonnage, or DWT) or by volume (Gross Registered Tonnage, or GRT).") ;; PREDICATE: (instance vesselDeadWeightTonnage BinaryPredicate) (domain vesselDeadWeightTonnage 1 Watercraft) (domain vesselDeadWeightTonnage 2 MassMeasure) (subrelation vesselDeadWeightTonnage vesselDisplacement) (documentation vesselDeadWeightTonnage "(&%vesselDeadWeightTonnage ?VESSEL ?AMOUNT) means that the &%Watercraft ?VESSEL has a carrying capacity when fully loaded of ?AMOUNT in &%LongTons. This is the Dead Weight Tonnage, or DWT, of the vessel, which is the total weight of cargo plus stores that the vessel can carry when immersed to the proper load line.") ;; PREDICATE: (instance vesselGrossRegisteredTonnage BinaryPredicate) (domain vesselGrossRegisteredTonnage 1 Watercraft) (domain vesselGrossRegisteredTonnage 2 PhysicalQuantity) (subrelation vesselGrossRegisteredTonnage vesselDisplacement) (documentation vesselGrossRegisteredTonnage "(&%vesselGrossRegisteredTonnage ?VESSEL ?AMOUNT) means that the &%Watercraft ?VESSEL has a carrying capacity when fully loaded of ?AMOUNT, where ?AMOUNT is the Gross Registered Tonnage (GRT) of the vessel, which is based on the total sheltered volume of the vessel measured in hundreds of cubic feet, and converted to gross tons at an equivalence of 100 cubic feet per ton.") ;; TERM: (instance LongTon UnitOfMeasure) (subclass LongTon MassMeasure) (equal (MeasureFn 1 LongTon) (MeasureFn 2240 PoundMass)) (documentation LongTon "&%LongTon is the &%UnitOfMeasure, equal to 2,240 &%PoundMass, which is used to measure Dead Weight Tonnage capacity of &%Ships.") ;; TERM: (instance RegistryTon UnitOfMeasure) (names "Registry Ton" RegistryTon) (names "Gross Ton" RegistryTon) (subclass RegistryTon MassMeasure) (equal (MeasureFn 1 RegistryTon) (MeasureFn 100 CubicFoot)) (documentation RegistryTon "&%RegistryTon is a unit of measure used to represent the Gross Registered Tonnage (GRT) capacity of &%Ships. GRT is based on a volume measure, with one &%RegistryTon equal to a volume of 100 cubic feet.") ;;----------------------------------------------------------------------- ;; Parts and areas of &%Watercraft or &%Ships: ;; TERM: (subclass ShipHull Artifact) (documentation ShipHull "&%ShipHull is the class of hulls of &%Ships or other &%Watercraft.") (=> (instance ?HULL ShipHull) (exists (?SHIP) (and (instance ?SHIP Ship) (properPart ?HULL ?SHIP)))) ;; TERM: (subclass ShipDeck Artifact) (documentation ShipDeck "&%ShipDeck is the class of decks on a ship, considered as spaces or &%Regions in which passengers and crew work, live, or ride, or in which machinery and cargo are stored on a &%Ship.") (=> (instance ?DECK ShipDeck) (exists (?SHIP) (and (instance ?SHIP Ship) (properPart ?DECK ?SHIP)))) ;; TERM: (subclass FlightDeck ShipDeck) (documentation FlightDeck "&%FlightDeck is the subclass of &%ShipDecks where aircraft take off and land.") (=> (instance ?RUNWAY FlightDeck) (capability TakingOff path ?RUNWAY)) (=> (instance ?RUNWAY FlightDeck) (capability Landing path ?RUNWAY)) ;; TERM: (subclass ShipCompartment Artifact) (documentation ShipCompartment "&%ShipCompartment is the subclass of &%Artifacts that includes any fully or partly bounded section of a &%Ship.") (=> (instance ?COMPARTMENT ShipCompartment) (exists (?SHIP) (and (instance ?SHIP Ship) (properPart ?COMPARTMENT ?SHIP)))) ;; TERM: (subclass HangarBay ShipCompartment) (documentation HangarBay "&%HangarBay is the subclass of &%ShipCompartments where &%Aircraft are stored aboard ship.") ;; TERM: (subclass ShipCabin ShipCompartment) (subclass ShipCabin HumanHabitationArtifact) (documentation ShipCabin "&%ShipCabin is the subclass of all &%ShipCompartments for accommodating &%Humans aboard a ship.") ;; TERM: (subclass ShipHold ShipCompartment) (documentation ShipHold "&%ShipHold is the subclass of &%ShipCompartments that are intended for the stowage of general cargo.") ;; TERM: (subclass Bulkhead StationaryArtifact) (documentation Bulkhead "&%Bulkhead is a class of vertical walls or partitions within a &%Vehicle that prevent cargo from shifting during transit. On a ship, &%Bulkheads may form the walls of a &%ShipCompartment.") (=> (and (instance ?BH Bulkhead) (instance ?SHIP Ship) (part ?BH ?SHIP)) (exists (?COMP1 ?COMP2) (and (instance ?COMP1 ShipCompartment) (part ?COMP1 ?SHIP) (instance ?COMP2 ShipCompartment) (part ?COMP2 ?SHIP) (not (equal ?COMP1 ?COMP2)) (between ?COMP1 ?BH ?COMP2)))) ;; TERM: (subclass ShipHatch Hole) (documentation ShipHatch "&%ShipHatch is a subclass of &%Holes that are made by openings through the deck of a ship into a &%ShipCompartment.") (=> (instance ?HATCH ShipHatch) (exists (?DECK) (and (instance ?DECK ShipDeck) (hole ?HATCH ?DECK)))) (=> (instance ?HATCH ShipHatch) (exists (?COMP) (and (instance ?COMP ShipCompartment) (orientation ?COMP ?HATCH Below)))) ;; TERM: (subclass DeckCrane Crane) (documentation DeckCrane "&%DeckCrane is a subclass of &%Devices that are cranes designed and fitted for use on the deck of a &%Ship. Deck cranes are used for lift-on and lift-off of cargo (LO-LO).") (=> (instance ?CRANE DeckCrane) (exists (?DECK) (and (instance ?DECK ShipDeck) (located ?CRANE ?DECK)))) ;;----------------------------------------------------------------------- ;; 3. Air Vehicles ;; TERM: (subclass Aircraft TransportationDevice) (documentation Aircraft "&%Aircraft is the subclass of &%TransportationDevices that travel through air. Aircraft are intermodal transportation devices, since they must take off and land either on land or in water.") ;; TERM: (subclass Airplane Aircraft) (subclass Airplane SelfPoweredVehicle) (documentation Airplane "&%Airplane is the subclass of &%Aircraft that are fixed-wing aircraft which carry their own power sources. &%Airplane includes jet airplanes and propeller planes, but not &%GliderAirplanes.") ;; TERM: (subclass JetAirplane Airplane) (documentation JetAirplane "&%JetAirplane is the subclass of &%Aircraft that are powered by &%JetEngines.") (=> (instance ?JET JetAirplane) (exists (?ENGINE) (and (instance ?ENGINE JetEngine) (powerPlant ?ENGINE ?JET)))) ;; TERM: (subclass TurbopropAirplane Airplane) (names "turboprop" TurbopropAirplane) (names "propjet" TurbopropAirplane) (documentation TurbopropAirplane "&%TurbopropAirplane is the subclass of &%Aircraft whose engines use a combination of propellers and jet power.") ;; TERM: (subclass PropellerAirplane Airplane) (documentation PropellerAirplane "&%PropellerAirplane is a subclass of &%Airplanes whose driving force is provided by propellers.") (=> (instance ?PLANE PropellerAirplane) (exists (?PROP) (and (instance ?PROP AirplanePropeller) (powerPlant ?PROP ?PLANE)))) ;; TERM: (subclass Helicopter Aircraft) (subclass Helicopter SelfPoweredVehicle) (documentation Helicopter "&%Helicopter is the subclass of &%Aircraft that have rotary wings.") ;; TERM: (subclass GliderAirplane Aircraft) (subclass GliderAirplane WindPoweredDevice) (documentation GliderAirplane "&%GliderAirplane is the subclass of fixed-wing &%Aircraft that fly by gliding, without using an engine.") ;; AXIOM: (subclass TakingOff IntermodalTransportation) ;;--------------------------------------------------------------------- ;; D. Trafficability ;; 1. Traffic Compatibility ;; PREDICATE: (instance trafficableForTrafficType BinaryPredicate) (domain trafficableForTrafficType 1 Object) (domainSubclass trafficableForTrafficType 2 SelfConnectedObject) (documentation trafficableForTrafficType "(&%trafficableForTrafficType ?WAY ?TYPE) means that &%Objects of ?TYPE can move on or in the &%Transitway ?WAY.") (=> (and (trafficableForTrafficType ?PLACE ?TYPE) (subclass ?TYPE TransportationDevice) (instance ?MOVER ?TYPE)) (capableAtLocation Transportation instrument ?MOVER ?PLACE)) (=> (and (trafficableForTrafficType ?PLACE ?TYPE) (subclass ?TYPE Agent) (instance ?MOVER ?TYPE)) (capableAtLocation Translocation agent ?MOVER ?PLACE)) ;; TERM: (instance clearanceHeight BinaryPredicate) (domain clearanceHeight 1 Object) (domain clearanceHeight PhysicalQuantity) (documentation clearanceHeight "(&%clearanceHeight ?OBJECT ?HEIGHT) means that the height of the free space below an &%Object ?OBJECT (such as a &%Bridge, &%Tunnel ceiling, or &%Door lintel) is ?HEIGHT.") (=> (clearanceHeight ?OBJECT ?HEIGHT) (exists (?SPACE) (and (instance ?SPACE AtmosphericRegion) (orientation ?SPACE ?OBJECT Below) (height ?SPACE ?HEIGHT)))) (=> (and (clearanceHeight ?OBJECT ?HEIGHT1) (instance ?THING Object) (height ?THING ?HEIGHT2) (instance ?SPACE AtmosphericRegion) (orientation ?SPACE ?OBJECT Below) (lessThanOrEqualTo ?HEIGHT1 ?HEIGHT2)) (not (exists (?MOVE) (and (instance ?MOVE Transportation) (holdsDuring ?MOVE (orientation ?THING ?OBJECT Vertical)) (located ?MOVE ?SPACE) (patient ?MOVE ?THING))))) ;; PREDICATE: (instance navigableForShippingTonnage BinaryPredicate) (domain navigableForShippingTonnage 1 WaterArea) (domain navigableForShippingTonnage 2 PhysicalQuantity) (documentation navigableForShippingTonnage "(&%navigableForShippingTonnage ?WATERWAY ?TONNAGE) means that the &%Waterway ?WATERWAY can accommodate vessels of the &%vesselDeadWeightTonnage ?TONNAGE.") (=> (and (navigableForShippingTonnage ?WATERWAY (MeasureFn ?TONNAGE LongTonMass)) (instance ?VESSEL Watercraft) (vesselDisplacement ?VESSEL (MeasureFn ?DWT LongTonMass)) (lessThanOrEqualTo ?DWT ?TONNAGE)) (capability (VehicleTripFn ?VESSEL) path ?WATERWAY)) ;; PREDICATE: (instance navigableForDraft BinaryPredicate) (domain navigableForDraft 1 WaterArea) (domain navigableForDraft 2 LengthMeasure) (documentation navigableForDraft "(&%navigableForDraft ?WATERWAY ?DRAFT) means that the &%Waterway ?WATERWAY can be transited by vessels having a draft of ?DRAFT or less. &%navigableForDraft does not indicate a positive limit. To indicate a limit, state '(&%not (&%navigableForDraft ?WW ?MAX))', which implies no navigability for vessels of deeper draft than ?MAX.") (=> (navigableForDraft ?WATERWAY ?DRAFT) (exists (?DEPTH) (and (waterDepth ?WATERWAY ?DEPTH) (greaterThan ?DEPTH ?DRAFT)))) (=> (and (navigableForDraft ?WATERWAY ?DRAFT) (lessThan ?AMOUNT ?DRAFT)) (navigableForDraft ?WATERWAY ?AMOUNT)) (=> (and (not (navigableForDraft ?WATERWAY ?DRAFT)) (greaterThan ?AMOUNT ?DRAFT)) (not (navigableForDraft ?WATERWAY ?DRAFT))) (=> (and (navigableForDraft ?WATERWAY ?AMOUNT) (ladenDraft ?SHIP ?DRAFT) (greaterThan ?AMOUNT ?DRAFT)) (capability (VehicleTripFn ?SHIP) path ?WATERWAY)) (=> (and (navigableForDraft ?WATERWAY ?AMOUNT) (ladenDraft ?SHIP ?DRAFT) (lessThanOrEqualTo ?AMOUNT ?DRAFT)) (not (capability (VehicleTripFn ?SHIP) path ?WATERWAY))) (=> (and (instance ?WATERWAY Waterway) (depth ?WATERWAY (MeasureFn ?DEPTH ?UNIT)) (instance ?UNIT UnitOfMeasure) (lessThan ?DRAFT ?DEPTH)) (navigableForDraft ?WATERWAY (MeasureFn ?DRAFT ?UNIT))) ;;------------------------------------------------------------------------ ;; 2. Transitway Capacity ;; TERM: (instance transitwayMaximumWeight BinaryPredicate) (domain transitwayMaximumWeight 1 Transitway) (domain transitwayMaximumWeight 2 PhysicalQuantity) (documentation transitwayMaximumWeight "(&%transitwayMaximumWeight ?WAY ?WEIGHT) means that the &%Transitway ?WAY has a maximum safe or allowed weight of ?WEIGHT, e.g., the maximum weight that a &%Bridge can support.") (=> (and (transitwayMaximumWeight ?WAY ?LIMIT) (instance ?VEHICLE Vehicle) (weight ?VEHICLE ?WEIGHT) (greaterThan ?WEIGHT ?LIMIT)) (not (capability (VehicleTripFn ?VEHICLE) path ?WAY))) ;; 3. Transitway Capacity ;; PREDICATE: (instance transitwayCapacityCount TernaryPredicate) (domain transitwayCapacityCount 1 Transitway) (domainSubclass transitwayCapacityCount 2 SelfConnectedObject) (domain transitwayCapacity 3 NonnegativeInteger) (documentation transitwayCapacityCount "(&%transitwayCapacityCount ?WAY ?TYPE ?NUMBER) means that the &%Transitway ?WAY can accommodate a maximum of ?NUMBER items of ?TYPE at any one time.") ;; PREDICATE: (instance transitwayCapacityRate TernaryPredicate) (domain transitwayCapacityRate 1 Transitway) (domainSubclass transitwayCapacityRate 2 SelfConnectedObject) (domain transitwayCapacityRate 3 FunctionQuantity) (documentation transitwayCapacityRate "(&%transitwayCapacityRate ?WAY ?TYPE ?RATE) means that the &%Transitway WAY can transit items of ?TYPE at the maximum &%FunctionQuantity ?RATE. For example, (&%transitwayCapacityRate &%SFBayBridgeWestbound &%Automobile 500).") ;;--------------------------------------------------------------------- ;; 3. Transitway Obstacles ;; TERM: (subclass TransitwayObstacle Object) (documentation TransitwayObstacle "&%TransitwayObstacle is the general class of &%Objects that can act as obstacles to &%Motion along a &%Transitway.") ;; TERM: (subclass Dam TransitwayObstacle) ; defined in Geography.kif (=> (instance ?DAM Dam) (obstacleForTransitwayType ?DAM Waterway)) (=> (and (instance ?DAM Dam) (instance ?WATER WaterArea) (penetrates ?DAM ?WATER)) (obstacleForTransitway ?DAM ?WATER)) ;; TERM: (subclass CanalLockGate TransitwayObstacle) (subclass CanalLockGate Device) (=> (and (instance ?GATE CanalLockGate) (located ?GATE ?WAY) (instance ?WAY Canal) (holdsDuring ?TIME (deviceState ?GATE DeviceClosed))) (holdsDuring ?TIME (obstacleForTransitway ?GATE ?WAY))) (=> (and (instance ?GATE CanalLockGate) (located ?GATE ?WAY) (instance ?WAY Canal) (holdsDuring ?TIME (deviceState ?GATE DeviceOpen))) (holdsDuring ?TIME (not (obstacleForTransitway ?GATE ?WAY)))) ;; PREDICATE: (instance obstacleForTransitway BinaryPredicate) (domain obstacleForTransitway 1 Object) (domain obstacleForTransitway 2 Transitway) (documentation obstacleForTransitway "(&%obstacleForTransitway ?BLOCK ?WAY) means that the &%Object ?BLOCK presents an obstacle to the &%Transitway ?WAY.") (=> (obstacleForTransitway ?BLOCK ?WAY) (not (part ?BLOCK ?WAY))) ;; PREDICATE: (instance obstacleForTransitwayType BinaryPredicate) (domain obstacleForTransitwayType 1 Object) (domainSubclass obstacleForTransitwayType 2 Transitway) (documentation obstacleForTransitwayType "(&%obstacleForTransitwayType ?BLOCK ?TYPE) means that the &%Object ?BLOCK presents an obstacle to &%Transitways of ?TYPE.") (=> (obstacleForTransitwayType ?BLOCK ?TYPE) (not (exists (?WAY) (and (instance ?WAY ?TYPE) (traverses ?WAY ?BLOCK))))) ;; PREDICATE: (instance obstacleForMotionType BinaryPredicate) (domain obstacleForMotionType 1 Object) (domainSubclass obstacleForMotionType 2 Motion) (documentation obstacleForMotionType "(&%obstacleForMotionType ?BLOCK ?TYPE) means that the &%Object ?BLOCK is an obstacle to the type of &%Motion ?TYPE.") (=> (instance ?LAND LandArea) (obstacleForMotionType ?LAND WaterTransportation)) (=> (instance ?WATER WaterArea) (obstacleForMotionType ?WATER LandTransportation)) ;;----------------------------------------------------------------------- ;; 4. Transitway States ;; TERM: (subclass TransitwayState RelationalAttribute) (documentation TransitwayState "&%TransitwayState is the class of &%RelationalAttributes used to describe the state of a &%Transitway. This could include traffic congestion, limited visibility, or being &%ClosedForAllTraffic.") ;; TERM (ATTRIBUTE): (instance ClosedForAllTraffic TransitwayState) (=> (and (instance ?WAY Transitway) (holdsDuring ?TIME (attribute ?WAY ClosedForAllTraffic))) (not (exists (?TYPE) (and (subclass ?TYPE Object) (trafficableForTrafficType ?WAY ?TYPE))))) ;;------------------------------------------------------------------------ ;; E. Transportation Systems and Routes ;; 1. Transportation Systems ;; TERM: (subclass TransportationSystem Object) (documentation TransportationSystem "&%TransportationSystem is the subclass of complex &%Objects consisting of networks of &%Transitways and &%TransitJunctions that link together a number of &%GeographicRegions or &%TransitTerminals. &%TransportationSystem covers worldwide networks, such as internationally recognized shipping lanes or air corridors, also route systems such as those flown by a single airline, as well as &%LocalTransitSystems such as BART (Bay Area Rapid Transit).") (=> (instance ?SYSTEM TransportationSystem) (exists (?ROUTE) (and (instance ?ROUTE Transitway) (routeInSystem ?ROUTE ?SYSTEM)))) (=> (and (instance ?SYSTEM TransportationSystem) (routeInSystem ?PART ?SYSTEM)) (instance ?PART Transitway)) ;; PREDICATE: (instance subSystem BinaryPredicate) (domain subSystem 1 TransportationSystem) (domain subSystem 2 TransportationSystem) (subrelation subSystem part) (documentation subSystem "(&%subSystem ?SUB ?SYSTEM) means that the &%TransportationSystem ?SUB is a part of the &%TransportationSystem ?SYSTEM.") ;; TERM: (subclass LocalTransitSystem TransportationSystem) (documentation LocalTransitSystem "&%LocalTransitSystem is the subclass of &%TransportationSystems that are located in a regional area, under a single or unified &%TransitAuthority.") (=> (instance ?SYSTEM LocalTransitSystem) (exists (?MANAGING ?AUTHORITY) (and (instance ?AUTHORITY TransitAuthority) (instance ?MANAGING Managing) (agent ?MANAGING ?AUTHORITY) (patient ?MANAGING ?SYSTEM)))) ;; TERM: (subclass UnimodalTransportationSystem TransportationSystem) (documentation UnimodalTransportationSystem "&%UnimodalTransportationSystem is the class of &%TransportationSystems that include only one type of &%Transitway or accommodate a single type of &%TransportationDevice.") (=> (instance ?SYSTEM UnimodalTransportationSystem) (exists (?MODE) (and (instance ?MODE ModeOfTransit) (forall (?ROUTE) (=> (routeInSystem ?ROUTE ?SYSTEM) (instance ?ROUTE ?MODE)))))) ;; TERM: (subclass IntermodalTransportationSystem TransportationSystem) (documentation IntermodalTransportationSystem "&%IntermodalTransportationSystem is the class of &%TransportationSystems that include more than one type of &%Transitway and can accommodate more than one type of &%TransportationDevice.") (=> (instance ?SYSTEM IntermodalTransportationSystem) (exists (?PATH1 ?PATH2 ?MODE1 ?MODE2) (and (part ?SYSTEM ?PATH1) (part ?SYSTEM ?PATH2) (instance ?PATH1 ?MODE1) (instance ?PATH2 ?MODE2) (instance ?MODE1 ModeOfTransit) (instance ?MODE2 ModeOfTransit) (disjoint ?MODE1 ?MODE2)))) (=> (and (part ?SYSTEM ?PATH1) (part ?SYSTEM ?PATH2) (instance ?PATH1 ?MODE1) (instance ?PATH2 ?MODE2) (instance ?MODE1 ModeOfTransit) (instance ?MODE2 ModeOfTransit) (disjoint ?MODE1 ?MODE2)) (instance ?SYSTEM IntermodalTransportationSystem)) ;; TERM: (subclass RoadTransportationSystem TransportationSystem) (documentation RoadTransportationSystem "&%RoadTransportationSystem is the subclass of &%TransportationSystems whose routes are &%Roadways.") (=> (and (instance ?SYSTEM RoadTransportationSystem) (routeInSystem ?PART ?SYSTEM)) (instance ?PART Roadway)) ;; TERM: (subclass RailTransportationSystem TransportationSystem) (documentation RailTransportationSystem "&%RailTransportationSystem is the subclass of &%TransportationSystems whose routes are &%Railways.") (=> (and (instance ?SYSTEM RailTransportationSystem) (routeInSystem ?PART ?SYSTEM)) (instance ?PART Railway)) ;; TERM: (subclass WaterTransportationSystem TransportationSystem) (documentation WaterTransportationSystem "&%WaterTransportationSystem is the subclass of &%TransportationSystems whose routes are &%Waterways.") (=> (and (instance ?SYSTEM WaterTransportationSystem) (routeInSystem ?PART ?SYSTEM)) (instance ?PART Waterway)) ;; TERMS: (subclass CanalSystem WaterTransportationSystem) (documentation CanalSystem "&%CanalSystem is the subclass of &%WaterTransportationSystems with substantial parts consisting of &%Canals, linked by connecting &%Waterways.") (=> (instance ?CS CanalSystem) (exists (?CANAL) (and (instance ?CANAL Canal) (routeInSystem ?CANAL ?CS)))) ;;----------------------------------------------------------------------- ;; 2. Transit Routes ;; PREDICATE: (instance routeInSystem BinaryPredicate) (domain routeInSystem 1 Transitway) (domain routeInSystem 2 TransportationSystem) (subrelation routeInSystem pathInSystem) (documentation routeInSystem "(&%routeInSystem ?PART ?SYSTEM) means that the &%Transitway ?PART is an established route of the &%TransportationSystem ?SYSTEM.") (=> (and (subSystem ?SUB ?SYSTEM) (routeInSystem ?PART ?SUB)) (routeInSystem ?PART ?SYSTEM)) ;; PREDICATE: (instance pathInSystem BinaryPredicate) (domain pathInSystem 1 Transitway) (domain pathInSystem 2 TransportationSystem) (subrelation pathInSystem part) (documentation pathInSystem "(&%pathInSystem ?PATH ?SYSTEM) means that the &%Physical thing ?PATH consists of one or more connected routes in the &%PhysicalSystem ?SYSTEM.") (=> (pathInSystem ?PATH ?SYSTEM) (or (routeInSystem ?PATH ?SYSTEM) (exists (?RTE1 ?RTE2) (and (routeInSystem ?RTE1 ?SYSTEM) (routeInSystem ?RTE1 ?SYSTEM) (part ?RTE1 ?PATH) (part ?RTE2 ?PATH) (connected ?RTE1 ?RTE2))))) ;; PREDICATE: (instance destinationInSystem BinaryPredicate) (domain destinationInSystem 1 Object) (domain destinationInSystem 2 TransportationSystem) (documentation destinationInSystem "(&%destinationInSystem ?PLACE ?SYSTEM) means that ?PLACE is a destination along some route in the &%TransportationSystem ?SYSTEM.") (=> (destinationInSystem ?PLACE ?SYSTEM) (exists (?PATH) (and (pathInSystem ?PATH ?SYSTEM) (connected ?PLACE ?PATH)))) ;; PREDICATE: (instance pathLinking TernaryPredicate) (domain pathLinking 1 Transitway) (domain pathLinking 2 Object) (domain pathLinking 3 Object) (documentation pathLinking "(&%pathLinking ?ROUTE ?PLACE1 ?PLACE2) means that the &%Transitway ?ROUTE is a route between the *%Objects ?PLACE1 and ?PLACE2.") (=> (pathLinking ?WAY ?PLACE1 ?PLACE2) (pathLinking ?WAY ?PLACE2 ?PLACE1)) (=> (pathLinking ?WAY ?PLACE1 ?PLACE2) (and (connected ?WAY ?PLACE1) (connected ?WAY ?PLACE2))) (=> (and (pathLinking ?WAY ?PLACE1 ?PLACE2) (trafficableForTrafficType ?WAY ?TYPE)) (capability ?WAY path (TransportationByFn ?TYPE))) ;; FUNCTION: (instance RouteBetweenFn BinaryFunction) (domain RouteBetweenFn 1 Object) (domain RouteBetweenFn 2 Object) (range RouteBetweenFn Transitway) (documentation RouteBetweenFn "(&%RouteBetweenFn ?PLACE1 ?PLACE2) denotes the &%Transitway that links ?PLACE1 and ?PLACE2.") (=> (and (instance ?PLACE1 Object) (instance ?PLACE2 Object)) (pathLinking (RouteBetweenFn ?PLACE1 ?PLACE2) ?PLACE1 ?PLACE2)) (=> (equal ?RTE (RouteBetweenFn ?P1 ?P2)) (pathLinking ?RTE ?P1 ?P2)) ;; PREDICATE: (instance pathLinkingInSystem QuaternaryPredicate) (domain pathLinkingInSystem 1 Transitway) (domain pathLinkingInSystem 2 Object) (domain pathLinkingInSystem 3 Object) (domain pathLinkingInSystem 4 TransportationSystem) (documentation pathLinkingInSystem "(&%pathLinkingInSystem ?WAY ?PLACE1 ?PLACE2 ?SYSTEM) means that the &%Transitway ?WAY links the &%Objects ?PLACE1 and ?PLACE2 in the &%TransportationSystem ?SYSTEM.") (=> (pathLinkingInSystem ?WAY ?PLACE1 ?PLACE2 ?SYSTEM) (pathLinkingInSystem ?WAY ?PLACE2 ?PLACE1 ?SYSTEM)) (=> (pathLinkingInSystem ?WAY ?PLACE1 ?PLACE2 ?SYSTEM) (pathInSystem ?WAY ?SYSTEM)) (=> (pathLinkingInSystem ?WAY ?PLACE1 ?PLACE2 ?SYSTEM) (destinationInSystem ?PLACE1 ?SYSTEM)) (=> (pathLinkingInSystem ?WAY ?PLACE1 ?PLACE2 ?SYSTEM) (destinationInSystem ?PLACE2 ?SYSTEM)) (=> (pathLinkingInSystem ?WAY ?PLACE1 ?PLACE2 ?SYSTEM) (pathLinking ?WAY ?PLACE1 ?PLACE2)) ;; TERM: (subclass TransitRoute Transitway) (documentation TransitRoute "&%TransitRoute is the subclass of established &%Transitways that are routes officially recognized by some authority, civilian or military, and which are formally designated by name, headings, boundaries, or waypoints; for example, &%Bus routes or &%AirRoutes followed by &%Vehicles belonging to a &%CommercialCarrier.") ;; TERM: (subclass AirRoute TransitRoute) (subclass AirRoute AirTransitway) (documentation AirRoute "&%AirRoute is the subclass of &%AirTransitways that are officially recognized by some authority, civilian or military, and which are formally designated by name, headings, boundaries, or waypoints for use by an &%Aircraft; for example, commercial air routes or military designated air corridors.") ;;----------------------------------------------------------------------- ;; 3. Transitway Junctions ;; TERM: (subclass TransitwayJunction Transitway) (names "intersection" TransitwayJunction) (names "junction" TransitwayJunction) (documentation TransitwayJunction "&%TransitwayJunction is the class of regions where two or more &%Transitways meet and traffic may transfer from one transitway to another.") (=> (instance ?JCN TransitwayJunction) (exists (?RTE1 ?RTE2) (and (instance ?RTE1 Transitway) (instance ?RTE2 Transitway) (partlyLocated ?RTE1 ?JCN) (partlyLocated ?RTE2 ?JCN) (not (equal ?RTE1 ?RTE2)) (connectedAtJunction ?RTE1 ?RTE2 ?JCN)))) ;; PREDICATE: (instance connectedAtJunction TernaryPredicate) (domain connectedAtJunction 1 Transitway) (domain connectedAtJunction 2 Transitway) (domain connectedAtJunction 3 Region) (documentation connectedAtJunction "(&%connectedAtJunction ?WAY1 ?WAY2 ?JCN) means that the &%Transitways ?WAY1 and ?WAY2 are connected at the &%TransitwayJunction ?JCN. This means that traffic on one transitway may transfer to the other (in at least one direction). It is possible to have multiple connections at the same &%TransitwayJunction.") ;; TERM: (subclass RoadJunction TransitwayJunction) (subclass RoadJunction Roadway) (documentation RoadJunction "&%RoadJunction is the subclass of &%TransitwayJunctions where two or more &%Roadways come together.") (=> (instance ?JXN RoadJunction) (exists (?RTE1 ?RTE2) (and (instance ?RTE1 Roadway) (instance ?RTE2 Roadway) (not (equal ?RTE1 ?RTE2)) (traverses ?RTE1 ?RTE2)))) ;; TERM: (subclass RailwayJunction TransitwayJunction) (subclass RailwayJunction Railway) (documentation RailwayJunction "&%RailwayJunction is the subclass of &%TransitwayJunctions where two or more &%Railway lines come together.") (=> (instance ?JXN RailwayJunction) (exists (?RTE1 ?RTE2) (and (instance ?RTE1 Railway) (instance ?RTE2 Railway) (not (equal ?RTE1 ?RTE2)) (traverses ?RTE1 ?RTE2)))) ;; TERM: (subclass WaterwayJunction TransitwayJunction) (subclass WaterwayJunction Waterway) (documentation WaterwayJunction "&%WaterwayJunction is the subclass of &%TransitwayJunctions where two or more &%Waterways come together.") (=> (instance ?JXN WaterwayJunction) (exists (?RTE1 ?RTE2) (and (instance ?RTE1 Waterway) (instance ?RTE2 Waterway) (not (equal ?RTE1 ?RTE2)) (traverses ?RTE1 ?RTE2)))) ;;----------------------------------------------------------------------- ;; 4. Transit Terminals ;; TERM: (subclass TransitTerminal StationaryArtifact) (subclass TransitTerminal Region) (documentation TransitTerminal "A &%TransitTerminal is a place where travellers or transportation devices begin or end their journeys, or where passengers or goods may be transferred. At a terminal, &%TransportationDevices may be received, assigned, sent out, or stored. Major &%TransitTerminals have one or more &%TerminalBuildings.") ;; TERM: (subclass RailwayTerminal TransitTerminal) (documentation RailwayTerminal "&%RailwayTerminal is the subclass of &%TransitTerminals designed for &%Trains. A &%RailwayTerminal includes all the &%RailroadTrack and any outbuildings or other related structure in the terminal, as well as the &%TrainStation (if there is one).") (=> (instance ?STATION RailwayTerminal) (trafficableForTrafficType ?STATION Train)) ;; TERM: (subclass TerminalBuilding Building) (documentation TerminalBuilding "&%TerminalBuilding is the subclass of &%Buildings that are located at a &%TransitTerminal and used in support of its functions, especially for the handling of passengers and freight.") (=> (instance ?STATION TerminalBuilding) (exists (?TERMINAL) (and (instance ?TERMINAL TransitTerminal) (located ?STATION ?TERMINAL)))) ;; TERM: (subclass TrainStation TerminalBuilding) (documentation TrainStation "&%TrainStation is the subclass of &%Buildings that are located at a &%RailwayTerminal and used in support of its functions, especially for the handling of passengers and freight.") (=> (instance ?STATION TrainStation) (exists (?TERMINAL) (and (instance ?TERMINAL RailwayTerminal) (located ?STATION ?TERMINAL)))) ;; TERM: (subclass TransitStop Region) (documentation TransitStop "&%TransitStop is the subclass of places where a vehicle of a scheduled or common carrier makes a stop to discharge or take on passengers or goods.") ;; TERM: (subclass TransitShelter HumanHabitationArtifact) (documentation TransitShelter "&%TransitShelter is the class of structures that provide shelter for passengers waiting at a &%TransitStop.") (=> (instance ?SHELTER TransitShelter) (exists (?STOP) (and (instance ?STOP TransitStop) (orientation ?SHELTER ?STOP Near)))) ;; TERM: (subclass ParkingGarage Building) (documentation ParkingGarage "&%ParkingGarage is the class of areas where &%Automobiles may be stored when not in use.") (=> (instance ?GARAGE ParkingGarage) (trafficableForTrafficType ?GARAGE Automobile)) ;; TERM: (subclass ShipBerth WaterArea) (documentation ShipBerth "&%ShipBerth is the class of areas where a single &%Ship may be moored, either at an &%Anchorage, &%Pier, or dock.") (=> (instance ?BERTH ShipBerth) (trafficableForTrafficType ?BERTH Ship)) (=> (and (instance ?HARBOR Harbor) (equipmentCount ?HARBOR ShipBerth ?NUM) (greaterThan ?NUM 0)) (capability ShipBerthing path ?HARBOR)) (=> (and (instance ?PORT PortCity) (capability ShipBerthing patient ?PORT)) (exists (?HARBOR) (and (instance ?HARBOR Harbor) (connected ?HARBOR ?PORT) (capability ShipBerthing path ?HARBOR)))) ;;--------------------------------------------------------------------- ;; 5. Trips ;; TERM: (subclass Trip Translocation) (documentation Trip "&%Trip is the subclass of &%Translocations that are complete motions along a &%TransitRoute or &%Transitway from one place to another.") ;; FUNCTION: (instance VehicleTripFn UnaryFunction) (domain VehicleTripFn 1 TransportationDevice) (rangeSubclass VehicleTripFn Transportation) (documentation VehicleTripFn "(&%VehicleTripFn ?DEVICE) denotes the subclass of &%Transportation events in which the &%carrier is the individual &%TransportationDevice ?VEHICLE. Contrast this function with &%TransportationByFn, which is used to denote transportation by a specific kind of vehicle. Example: (&%VehicleTripFn &%HMSQueenMary) vs. (&%TransportationByFn &%CruiseShip). Also note that the former is an instance of the latter.") (=> (and (instance ?DEVICE TransportationDevice) (instance ?TRIP (VehicleTripFn ?DEVICE))) (carrier ?TRIP ?DEVICE)) ;; TERM ;; TransportationSchedule (subclass TransportationSchedule ContentBearingObject) (documentation TransportationSchedule "&%TransportationSchedule is the subclass of &%ContentBearingObjects that contain the schedule of trips planned by a transportation organization.") ;; TERM ;; FlightSchedule (subclass FlightSchedule TransportationSchedule) (documentation FlightSchedule "&%FlightSchedule is the subclass of &%TransportationSchedules that contain flight information.") ;; PREDICATE ;; originInSchedule (instance originInSchedule BinaryPredicate) (domain originInSchedule 1 TransportationSchedule) (domain originInSchedule 2 Object) (documentation originInSchedule "(&%originInSchedule ?SCHED ?PLACE) means that the &%TransportationSchedule ?SCHED contains information about &%Trips that originate from the &%Object ?PLACE.") ;; PREDICATE ;; destinationInSchedule (instance destinationInSchedule BinaryPredicate) (domain destinationInSchedule 1 TransportationSchedule) (domain destinationInSchedule 2 Object) (documentation destinationInSchedule "(&%destinationInSchedule ?SCHED ?PLACE) means that the &%TransportationSchedule ?SCHED contains information about &%Trips that arrive at the &%Object ?PLACE.") ;; TERM: (subclass ShipBerthing Arriving) (documentation ShipBerthing "&%ShipBerthing is the class of &%Translocation processes in which a vessel is brought to a mooring, at dockside or anchorage.") ;;----------------------------------------------------------------------- ;; F. Shipping and Cargo ;; 1. Shipping and Handling ;; TERM: (subclass Shipping Transportation) (documentation Shipping "&%Shipping is the subclass of &%Transportation events in which goods are transported from one place to another by an agent who is entrusted with the goods temporarily just in order to move them. &%Shipping may be done within an organization or it may be done by an outside commercial agent. See &%CommercialShipping.") ;; TERM: (subclass CommercialShipping Shipping) (subclass CommercialShipping CommercialService) (documentation CommercialShipping "&%CommercialShipping is the subclass of &%Transportation events in which a commercial agent provides transportation of goods for remuneration.") ;; TERM: (subclass Cabotage Transportation) (documentation Cabotage "&%Cabotage is the subclass of &%Transportation events that are commercial shipping of cargo or passengers conducted between &%Ports within the same &%Nation.") (=> (and (instance ?SHIPPING Cabotage) (origin ?SHIPPING ?FROM) (destination ?SHIPPING ?TO)) (exists (?AREA) (and (instance ?AREA Nation) (located ?FROM ?AREA) (located ?TO ?AREA)))) ;; TERM: (subclass BillOfLading ContentBearingObject) (documentation BillOfLading "&%BillOfLading is the subclass of &%ContentBearingObjects which are shipping records recording the consignment of specified goods by one agent to another for the purpose of &%Shipping them to a specified destination. A &%BillOfLading is a document listing the goods, &%consignee, carrier, destination, and the rate charged for freight. In the case of &%Shipping aboard a &%Ship, the names of the ship, port, and the &%ShipMaster will be included in the bill of lading.") (=> (instance ?BOL BillOfLading) (exists (?SHIPPING ?GOODS ?AGENT ?SENDER ?DEST) (and (instance ?SHIPPING Shipping) (instance ?GOODS Object) (instance ?AGENT Agent) (instance ?SENDER Agent) (instance ?DEST Entity) (agent ?SHIPPING ?AGENT) (transportedItem ?SHIPPING ?GOODS) (consignor ?SHIPPING ?SENDER) (destination ?SHIPPING ?DEST) (refers ?BOL ?SHIPPING) (refers ?BOL ?GOODS) (refers ?BOL ?AGENT) (refers ?BOL ?SENDER) (refers ?BOL ?DEST)))) (=> (and (instance ?BOL BillOfLading) (instance ?SHIPPING Shipping) (refers ?BOL ?SHIPPING) (instance ?SHIP Ship) (instrument ?SHIPPING ?SHIP)) (refers ?BOL ?SHIP)) (=> (and (instance ?BOL BillOfLading) (instance ?SHIPPING Shipping) (refers ?BOL ?SHIPPING) (instance ?SHIP Ship) (instrument ?SHIPPING ?SHIP) (occupiesPosition ?PERSON ShipMaster (VehicleCrewFn ?SHIP))) (refers ?BOL ?PERSON)) (=> (and (instance ?BOL BillOfLading) (instance ?SHIPPING Shipping) (refers ?BOL ?SHIPPING) (instance ?SHIP Ship) (instrument ?SHIPPING ?SHIP) (instance ?PORT PortCity) (holdsDuring (BeginFn (WhenFn ?SHIPPING)) (located ?SHIP ?PORT))) (refers ?BOL ?PORT)) ;; PREDICATE: (instance consignor BinaryPredicate) (subrelation consignor refers) (documentation consignor "(&%consignor ?BOL ?AGENT) means that the &%BillOfLading ?BOL names the &%Agent ?AGENT as the consignor, i.e., the agent who committed the goods described in the bill of lading to the &%ShipMaster named in the bill of lading, for shipment to the &%consignee.") (=> (and (consignor ?BOL ?AGENT) (instance ?SHIPPING Shipping) (refers ?BOL ?SHIPPING)) (origin ?BOL ?AGENT)) ;; PREDICATE: (instance consignee BinaryPredicate) (subrelation consignee refers) (documentation consignee "(&%consignee ?BOL ?AGENT) means that the &%BillOfLading ?BOL names the &%Agent ?AGENT as the consignee, i.e., the agent to whom the goods described in the bill of lading are to be delivered.") (=> (and (consignee ?BOL ?AGENT) (instance ?SHIPPING Shipping) (refers ?BOL ?SHIPPING)) (destination ?BOL ?AGENT)) ;; TERM: (subclass CargoManifest ContentBearingObject) (documentation CargoManifest "&%CargoManifest is the subclass of &%ContentBearingObjects that list all the cargo carried during an individual &%Shipping event.") (=> (instance ?MANIFEST CargoManifest) (exists (?SHIPPING) (and (instance ?SHIPPING Shipping) (refers ?MANIFEST ?SHIPPING)))) (=> (and (instance ?MANIFEST CargoManifest) (instance ?SHIPPING Shipping) (refers ?MANIFEST ?SHIPPING) (transportedItem ?SHIPPING ?ITEM)) (refers ?MANIFEST ?ITEM)) ;; TERM: (subclass CargoHandling Transportation) (documentation CargoHandling "&%CargoHandling is the subclass of &%Transportation that involves loading freight on and off a &%CargoShip.") ;; TERM: (subclass Containerization Transportation) (documentation Containerization "&%Containerization is the subclass of end-to-end &%Transportation processes in which cargo is transported from a source to a recipient by means of &%CargoContainers.") (=> (instance ?TRANSPORT Containerization) (exists (?BOX) (and (instance ?BOX CargoContainer) (instrument ?TRANSPORT ?BOX)))) ;; TERM: (subclass ContainerHandlingEquipment MaterialHandlingEquipment) (abbreviation "CHE" ContainerHandlingEquipment) (documentation ContainerHandlingEquipment "&%ContainerHandlingEquipment is a class of &%Devices that are equipment used for loading and unloading &%CargoContainers on &%ContainerShips or other transportation devices.") (=> (instance ?TERMINAL ContainerTerminal) (exists (?CHE) (and (instance ?CHE ContainerHandlingEquipment) (located ?CHE ?TERMINAL)))) ;;----------------------------------------------------------------------- ;; 2. Cargo Type and Containers ;; PREDICATE: (instance cargoType BinaryPredicate) (domain cargoType 1 TransportationDevice) (domainSubclass cargoType 2 Object) (documentation cargoType "(&%cargoType ?DEVICE ?TYPE) means that the &%TransportationDevice ?DEVICE can, and typically does, carry cargo of the kind ?TYPE.") ;; TERM: (subclass BulkCargo Substance) (documentation BulkCargo "&%BulkCargo is the subclass of shipped goods that are homogeneous in nature, liquid or dry, and are shipped in a loose, uncontainerized form in the holds of a &%CargoShip.") ;; TERM: (subclass DryBulkCargo BulkCargo) (documentation DryBulkCargo "&%DryBulkCargo is the subclass of &%BulkCargo that represents dry bulk cargo.") (=> (instance ?CARGO DryBulkCargo) (attribute ?CARGO Dry)) ;; TERM: (subclass DeckCargo Object) (documentation DeckCargo "&%DeckCargo is a subclass of &%Object consisting of goods that are carried on the deck of a &%Ship rather than in a cargo hold.") ;; TERM: (subclass DangerousGoods Object) (documentation DangerousGoods "&%DangerousGoods is a subclass of &%Object, representing hazardous goods that require special handling during &%Transportation.") ;; TERM: (subclass EtiologicAgent OrganicObject) (documentation EtiologicAgent "&%EtiologicAgent is a subclass of &%OrganicObjects identified in the Hazardous Materials Regulations (49 CR) as viable microorganisms, or their toxins, which may cause human disease.") ;; TERM: (subclass CargoContainer Container) (subclass CargoContainer TransportationDevice) (documentation CargoContainer "&%CargoContainer is the class of specialized large containers designed for shipping goods aboard &%ContainerShips. Some containers are sized for transfer to &%Trains or &%TruckTrailers.") (=> (instance ?BOX CargoContainer) (cargoType ?BOX Product)) ;; Subclasses of &%CargoContainer: ;; TERM: (subclass DromedaryContainer CargoContainer) (documentation DromedaryContainer "&%DromedaryContainer is the subclass of &%CargoContainers that can be mounted on &%TruckTrailers.") ;; TERM: (subclass FlatRackContainer CargoContainer) (documentation FlatRackContainer "&%FlatRackContainer is the subclass of &%CargoContainers that have open sides and top, with two adjustable or removable ends. &%FlatRackContainers meet International Standards Organization (ISO) standards.") ;; TERM: (subclass HalfHeightContainer CargoContainer) (documentation HalfHeightContainer "&%HalfHeightContainer is the subclass of &%CargoContainers that have one end door and an open top. Half-height containers meet International Standards Organization (ISO) standards.") ;; TERM: (subclass Seavan CargoContainer) (documentation Seavan "&%Seavan is the subclass of &%CargoContainers that are moved via ocean transport and have no wheels attached.") (=> (instance ?BOX Seavan) (not (exists (?WHEEL) (and (instance ?WHEEL VehicleWheel) (part ?WHEEL ?BOX))))) ;; TERM: (subclass MilitaryVan CargoContainer) (abbreviation "MILVAN" MilitaryVan) (documentation MilitaryVan "&%MilitaryVan is the subclass of &%CargoContainers that are owned by the U.S. military and are used within a military-controlled transportation system to ship military cargo. These containers meet both U.S. and international (ISO) standards.") (=> (instance ?BOX MilitaryVan) (exists (?OWNER) (and (instance ?OWNER MilitaryOrganization) (possesses ?OWNER ?BOX)))) ;;----------------------------------------------------------------------- ;; G. Transportation Authority and Regulation ;; 1. Transportation Authority ;; TERM: (subclass TransportationAuthority Organization) (documentation TransportationAuthority "&%TransportationAuthority is the class of &%Organizations that are responsible for one or more systems of transportation, usually within a particular &%GeopoliticalArea.") ;; TERM: (subclass VehicleRegistration ContentBearingObject) (documentation VehicleRegistration "&%VehicleRegistration is the class of official documents containing information about a vehicle's ownership and identifying characteristics, as required by the appropriate authority for the type and location of individual vehicles.") ;;----------------------------------------------------------------------- ;; 2. Transit Control Systems ;; TERM: (subclass TrafficControlProcess Guiding) (documentation TrafficControlProcess "&%TrafficControlProcess is a subclass of &%Guiding, representing events in which an &%Agent directly or indirectly guides the &%Motion of traffic in a &%Region.") ;; TERM: (subclass AirTrafficControlProcedure TrafficControlProcess) (documentation AirTrafficControlProcedure "&%AirTrafficControlProcedure is the subclass of &%TrafficControlProcesses directed at controlling the movement of &%Aircraft.") (=> (instance ?ORG AirTrafficControlCenter) (exists (?ACT) (and (instance ?ACT AirTrafficControlProcedure) (agent ?ACT ?ORG)))) (=> (instance ?ORG AirTrafficControlCenter) (capability AirTrafficControlProcedure agent ?ORG)) ;; ATTRIBUTE (instance AirTrafficController Profession) (documentation AirTrafficController "&%AirTrafficController is the &%attribute that describes someone who is an Air Traffic Controller (ATC).") ;; TERM (subclass AirTrafficControlCenter Organization) (documentation AirTrafficControlCenter "&%AirTrafficControlCenter is the subclass of &%Organizations whose principal members are Air Traffic Controllers.") (=> (instance ?ATC AirTrafficControlCenter) (exists (?PERSON) (and (instance ?PERSON Human) (attribute ?PERSON AirTrafficController) (employs ?ATC ?PERSON)))) ;; TERM (subclass AirTrafficControlTower AirTrafficControlCenter) (documentation AirTrafficControlTower "&%AirTrafficControlTower is the subclass of &%AirTrafficControlCenters that are located at &%Airports.") (=> (instance ?TOWER AirTrafficControlTower) (exists (?AIRPORT) (and (instance ?AIRPORT Airport) (located ?TOWER ?AIRPORT)))) ;; TERM (subclass AirTrafficControlRadarRoom AirTrafficControlCenter) (subclass AirTrafficControlRadarRoom RadarFacility) (documentation AirTrafficControlRadarRoom "&%AirTrafficControlRadarRoom is the subclass of &%AirTrafficControlCenters in which &%AirTrafficControllers work at &%Radar.") (=> (instance ?TOWER AirTrafficControlTower) (exists (?AIRPORT) (and (instance ?AIRPORT Airport) (located ?TOWER ?AIRPORT)))) ;; TERM (subclass AirTrafficControlEnRouteCenter AirTrafficControlCenter) (documentation AirTrafficControlEnRouteCenter "&%AirTrafficControlEnRouteCenter is the subclass of &%AirTrafficControlCenters that control traffic between airports and at or above 17,000 feet. In the U.S., ATC en route centers are not located at the airports but in one of two dozen centers across the country.") ;; TERM (subclass RadarFacility Organization) (documentation RadarFacility "&%RadarFacility is the subclass of &%Organizations that are equipped for monitoring and reporting activity using &%Radar.") (=> (instance ?ORG RadarFacility) (exists (?RADAR) (and (instance ?RADAR Radar) (possesses ?ORG ?RADAR)))) ;; TERM (subclass Radar RadarOrSonar) (subclass Radar ElectronicDevice) (documentation Radar "&%Radar is the subclass of &%ElectronicDevices consisting of a synchronized emitter and receiver, used to locate airborne objects or objects on earth's surface.") (=> (instance ?RADAR Radar) (capability RadioEmission instrument ?RADAR)) (=> (instance ?RADAR Radar) (capability RadioEmission origin ?RADAR)) (=> (instance ?RADAR Radar) (capability RadioEmission destination ?RADAR)) ;; TERM: (subclass RailCarrierControl ElectricalSignalling) (documentation RailCarrierControl "&%RailCarrierControl is the process of controlling the speed or direction of a &%Train by sending high or low frequency currents on the rails.") (=> (instance ?ACT RailCarrierControl) (exists (?TRACK) (and (instance ?TRACK RailroadTrack) (path ?ACT ?TRACK)))) ;; TERM: (subclass DirectingTraffic Communication) (subclass DirectingTraffic BodyMotion) (documentation DirectingTraffic "&%DirectingTraffic is the subclass of actions in which a person uses hand gestures to regulate the movement of vehicles.") ;;----------------------------------------------------------------------- ;; 3. Transportation Control Devices ;; TERM: (subclass TransportationControlDevice Device) (documentation TransportationControlDevice "&%TransportationControlDevice is a subclass of &%Devices that are used to direct, regulate, or control the flow of traffic or movement along a &%Transitway.") ;; TERM: (subclass TrafficSignal TransportationControlDevice) (documentation TrafficSignal "&%TrafficSignal is the subclass of &%TransportationControlDevices that are designed to control the flow of &%Roadway traffic. &%TrafficSignals perform some signalling process, typically using light or sound.") (=> (instance ?SIGNAL TrafficSignal) (capability Signalling instrument ?SIGNAL)) ;; TERM: (subclass TrafficLight TrafficSignal) (subclass TrafficLight ElectricDevice) (documentation TrafficLight "&%TrafficLight is the subclass of &%TrafficSignal representing traffic lights whose function is to signal traffic to stop (or go), including blinkers or three-way stop lights.") ;; TERM: (subclass AidToNavigation TransportationControlDevice) (subclass AidToNavigation ContentBearingObject) (documentation AidToNavigation "&%AidToNavigation is the subclass of &%TransportationControlDevices that are designed for guiding &%Ships or &%Aircraft in finding their location or avoiding hazards. There are several systems of &%Navigation in use, depending upon &%GeographicArea.") ;; TERM: (subclass NavigationLight AidToNavigation) (subclass NavigationLight ElectricDevice) (subclass NavigationLight LightFixture) (=> (instance ?SIGNAL NavigationLight) (capability Signalling instrument ?SIGNAL)) ;; TERM: (subclass NavigationBuoy AidToNavigation) ;; TERM: (subclass RadioNavigationBeacon AidToNavigation) (subclass RadioNavigationBeacon ElectricDevice) (=> (instance ?SIGNAL RadioNavigationBeacon) (capability Signalling instrument ?SIGNAL)) (=> (instance ?SIGNAL RadioNavigationBeacon) (capability RadioEmission instrument ?SIGNAL)) ;;----------------------------------------------------------------------- ;; 4. Transitway Regulations ;; TERM: (instance transitwayMaximumSpeed BinaryPredicate) (domain transitwayMaximumSpeed 1 Transitway) (domain transitwayMaximumSpeed 2 PhysicalQuantity) (documentation transitwayMaximumSpeed "(&%transitwayMaximumSpeed ?WAY ?SPEED) means that the &%Transitway ?WAY has a maximum allowed speed of ?SPEED, set and enforced by some authority.") ;; TERM: (instance transitwayMinimumSpeed BinaryPredicate) (domain transitwayMinimumSpeed 1 Transitway) (domain transitwayMinimumSpeed 2 PhysicalQuantity) (documentation transitwayMinimumSpeed "(&%transitwayMinimumSpeed ?WAY ?SPEED) means that the &%Transitway ?WAY has a minimum allowed speed of ?SPEED, set and enforced by some authority.") ;; TERM: (subclass MovingViolation RelationalAttribute) (documentation MovingViolation "&%MovingViolation is the class of &%Attributes that characterize &%Translocation events that are performed in some illegal manner.") (=> (and (attribute ?ACT ?ATTRIBUTE) (instance ?ATTRIBUTE MovingViolation)) (instance ?ACT Translocation)) (=> (and (attribute ?ACT ?ATTRIBUTE) (instance ?ATTRIBUTE MovingViolation) (agent ?ACT ?AGENT)) (capability LegalCharge patient ?AGENT)) ;; TERMS: (instance Speeding MovingViolation) (instance TooFastForConditions MovingViolation) (instance IllegalTurn MovingViolation) ;;-------------------------------------------------------------------------- ;; 5. Transitway Tolls and Usage Fees ;; Federal Highway Administration (FHWA) Vehicle Classes - see ;; reference at http://www.fhwa.dot.gov/ohim/tmguide/tmg4.htm, ;; list w/defs at http://www.fhwa.dot.gov/ohim/tmguide/tmg4.htm#app4c ;; These are 13 classes used by states for tolls & gov. reporting; ;; many states use internal modifications of the system. ;; TERM: (subclass VehicleClassForFHWA SetOrClass) (documentation VehicleClassForFHWA "&%VehicleClassForFHWA is a subclass of &%SetOrClass that contains thirteen subclasses used by the &%UnitedStatesFederalHighwayAdministration (and also many U.S. states) as a basis for vehicle fees and usage statistics.") (=> (instance ?CLASS VehicleClassForFHWA) (subclass ?CLASS RoadVehicle)) ;; TERM: (instance FHWAVehicleClass1 VehicleClassForFHWA) (subclass Motorcycle FHWAVehicleClass1) (=> (instance ?VEHICLE FHWAVehicleClass1) (instance ?VEHICLE Motorcycle)) ;; TERM: (instance FHWAVehicleClass2 VehicleClassForFHWA) (subclass PassengerCar FHWAVehicleClass2) (=> (instance ?VEHICLE FHWAVehicleClass2) (instance ?VEHICLE PassengerCar)) ;; TERM: (instance FHWAVehicleClass3 VehicleClassForFHWA) (documentation FHWAVehicleClass3 "&%FHWAVehicleClass3 designates Vehicle Class 3 of the &%UnitedStatesFederalHighwayAdministration, which includes all two-axle, four-tire single unit &%Vehicles other than &%PassengerCars. Examples: SUVs and 4-wheel pickup trucks.") (<=> (instance ?VEHICLE FHWAVehicleClass3) (instance ?VEHICLE (IntersectionFn Automobile (ComplementFn PassengerCar)))) ;; TERM: (instance FHWAVehicleClass4 VehicleClassForFHWA) (subclass Bus FHWAVehicleClass4) (=> (instance ?VEHICLE FHWAVehicleClass4) (instance ?VEHICLE Bus)) ;; TERM: (instance FHWAVehicleClass5 VehicleClassForFHWA) (subclass FHWAVehicleClass5 Truck) (=> (instance ?VEHICLE FHWAVehicleClass5) (equipmentCount ?VEHICLE Axle 2)) (=> (instance ?VEHICLE FHWAVehicleClass5) (equipmentCount ?VEHICLE VehicleTire 6)) (=> (and (instance ?VEHICLE Truck) (equipmentCount ?VEHICLE Axle 2) (equipmentCount ?WHEEL VehicleWheel 6)) (instance ?VEHICLE FHWAVehicleClass5)) ;; TERM: (instance FHWAVehicleClass6 VehicleClassForFHWA) (subclass FHWAVehicleClass6 Truck) (=> (instance ?VEHICLE FHWAVehicleClass6) (equipmentCount ?VEHICLE Axle 3)) ;; TERM: (instance FHWAVehicleClass7 VehicleClassForFHWA) (subclass FHWAVehicleClass7 Truck) (=> (instance ?VEHICLE FHWAVehicleClass7) (exists (?COUNT) (and (equipmentCount ?VEHICLE Axle ?COUNT) (greaterThanOrEqualTo ?COUNT 4)))) ;; TERM: (instance FHWAVehicleClass8 VehicleClassForFHWA) (subclass FHWAVehicleClass8 TractorTrailer) (=> (instance ?VEHICLE FHWAVehicleClass8) (equipmentCount ?VEHICLE TruckTrailer 1)) (=> (instance ?VEHICLE FHWAVehicleClass8) (exists (?COUNT) (and (equipmentCount ?VEHICLE Axle ?COUNT) (lessThanOrEqualTo ?COUNT 4)))) ;; TERM: (instance FHWAVehicleClass9 VehicleClassForFHWA) (subclass FHWAVehicleClass9 TractorTrailer) (=> (instance ?VEHICLE FHWAVehicleClass9) (equipmentCount ?VEHICLE TruckTrailer 1)) (=> (instance ?VEHICLE FHWAVehicleClass9) (equipmentCount ?VEHICLE Axle 5)) ;; TERM: (instance FHWAVehicleClass10 VehicleClassForFHWA) (subclass FHWAVehicleClass10 TractorTrailer) (=> (instance ?VEHICLE FHWAVehicleClass10) (equipmentCount ?VEHICLE TruckTrailer 1)) (=> (instance ?VEHICLE FHWAVehicleClass10) (exists (?COUNT) (and (equipmentCount ?VEHICLE Axle ?COUNT) (greaterThanOrEqualTo ?COUNT 6)))) ;; TERM: (instance FHWAVehicleClass11 VehicleClassForFHWA) (subclass FHWAVehicleClass11 TractorTrailer) (=> (instance ?VEHICLE FHWAVehicleClass11) (equipmentCount ?VEHICLE Axle 5)) (=> (instance ?VEHICLE FHWAVehicleClass11) (exists (?COUNT) (and (equipmentCount ?VEHICLE TruckTrailer ?COUNT) (greaterThanOrEqualTo ?COUNT 2)))) ;; TERM: (instance FHWAVehicleClass12 VehicleClassForFHWA) (subclass FHWAVehicleClass12 TractorTrailer) (=> (instance ?VEHICLE FHWAVehicleClass12) (equipmentCount ?VEHICLE Axle 6)) (=> (instance ?VEHICLE FHWAVehicleClass12) (exists (?COUNT) (and (equipmentCount ?VEHICLE TruckTrailer ?COUNT) (greaterThanOrEqualTo ?COUNT 2)))) ;; TERM: (instance FHWAVehicleClass13 VehicleClassForFHWA) (subclass FHWAVehicleClass13 TractorTrailer) (=> (instance ?VEHICLE FHWAVehicleClass13) (exists (?COUNT) (and (equipmentCount ?VEHICLE Axle ?COUNT) (greaterThanOrEqualTo ?COUNT 7)))) (=> (instance ?VEHICLE FHWAVehicleClass13) (exists (?COUNT) (and (equipmentCount ?VEHICLE TruckTrailer ?COUNT) (greaterThanOrEqualTo ?COUNT 2)))) ;;----------------------------------------------------------------------- ;; 6. Transportation Embargoes ;; TERM: (subclass TradeEmbargo OrganizationalProcess) (documentation TradeEmbargo "&%TradeEmbargo is the subclass of &%OrganizationalProcesses in which commerce and transportation of goods is forbidden by a &%Nation or &%Organization that has some means of enforcing such a ban. A &%TradeEmbargo may be against a specified class of goods (e.g., weapons of mass destruction) or against a particular &%Nation or &%Nations. See &%embargoedTradeType and &%embargoedArea.") (=> (instance ?ORDER TradeEmbargo) (exists (?ISSUER) (and (agent ?ORDER ?ISSUER) (or (instance ?ISSUER Nation) (instance ?ISSUER OrganizationOfNations))))) ;; TERM: (subclass PortEmbargo OrganizationalProcess) (documentation PortEmbargo "&%PortEmbargo is the subclass of &%OrganizationalProcesses in which a &%Nation forbids commercial vessels from leaving its ports.") (=> (instance ?EMBARGO PortEmbargo) (exists (?NATION) (and (instance ?NATION Nation) (agent ?EMBARGO (GovernmentFn ?NATION))))) (=> (and (instance ?EMBARGO PortEmbargo) (instance ?NATION Nation) (agent ?EMBARGO (GovernmentFn ?NATION)) (instance ?PORT PortCity) (geopoliticalSubdivision ?PORT ?NATION) (instance ?SHIP MerchantMarineShip) (holdsDuring (WhenFn ?EMBARGO) (located ?SHIP ?PORT))) (modalAttribute (exists (?DEPARTURE) (and (instance ?DEPARTURE Leaving) (instrument ?DEPARTURE ?SHIP) (origin ?DEPARTURE ?PORT))) Prohibition)) ;; TERM: (instance embargoedTradeType BinaryPredicate) (domain embargoedTradeType 1 TradeEmbargo) (domainSubclass embargoedTradeType 2 Object) (documentation embargoedTradeType "(&%embargoedTradeType ?EMBARGO ?TYPE) means that the &%TradeEmbargo ?EMBARGO forbids trade in the kinds of &%Object ?TYPE.") ;; TERM: (instance embargoedArea BinaryPredicate) (domain embargoedArea 1 TradeEmbargo) (domain embargoedArea 2 GeographicArea) (documentation embargoedArea "(&%embargoedArea ?EMBARGO ?AREA) means that the &%TradeEmbargo ?EMBARGO forbids trade with the &%GeographicArea ?AREA.") ;; TERM: (subclass PortDetention RegulatoryProcess) (subclass PortDetention Keeping) (documentation PortDetention "&%PortDetention is the subclass of &%RegulatoryProcesses in which a &%Ship is kept in &%PortCity by the relevant port authority or other law enforcement agency, on the basis that the crew or owners of the ship have infringed on some regulation.") (=> (instance ?KEEPING PortDetention) (exists (?PORT) (and (instance ?PORT PortCity) (located ?KEEPING ?PORT)))) (=> (instance ?KEEPING PortDetention) (exists (?SHIP) (and (instance ?SHIP Ship) (detainee ?KEEPING ?SHIP)))) (=> (and (instance ?KEEPING PortDetention) (instance ?PORT PortCity) (instance ?SHIP Ship) (located ?KEEPING ?PORT) (detainee ?KEEPING ?SHIP)) (holdsDuring (WhenFn ?KEEPING) (located ?SHIP ?PORT))) ;; TERM: (subclass MaritimeBlockade IntentionalProcess) (documentation MaritimeBlockade "&%MaritimeBlockade is the subclass of &%IntentionalProcesses in which access to and egress from a &%PortCity is prevented by physical obstacles or threats.") (=> (instance ?BLOCK MaritimeBlockade) (exists (?PORT) (and (instance ?PORT PortCity) (patient ?BLOCK ?PORT)))) (=> (and (instance ?BLOCK MaritimeBlockade) (instance ?PORT PortCity) (patient ?BLOCK ?PORT)) (holdsDuring (WhenFn ?BLOCK) (not (exists (?MOVEMENT) (and (instance ?MOVEMENT Translocation) (or (origin ?MOVEMENT ?PORT) (destination ?MOVEMENT ?PORT))))))) ;;--------------------------------------------------------------------- ;; H. Transportation Organizations ;; 1. International Transportation Organizations ;; &%InternationalCivilAviationOrganization defined in Government.kif. ;; &%LawOfTheSeaConvention defined in Geography.kif. ;; TERM: (instance UnitedNationsConventionOnTheCarriageOfGoodsBySea InternationalOrganization) (subOrganization UnitedNationsConventionOnTheCarriageOfGoodsBySea UnitedNations) (names "United Nations Convention on the Carriage of Goods by Sea" UnitedNationsConventionOnTheCarriageOfGoodsBySea) (abbreviation "UNCCGS" UnitedNationsConventionOnTheCarriageOfGoodsBySea) ;; TERM: (instance HagueRules InternationalLaw) (documentation HagueRules "The &%HagueRules are rules applicable to transportation of cargo that specify the duties of owners and shippers. The rules were published in 1924 after an international convention and subsequently made into law by many maritime nations.") ;; TERM: (instance HagueVisbyRules InternationalLaw) (documentation HagueVisbyRules "The &%HagueVisbyRules are an amendment to the &%HagueRules. They were published in 1968.") ;; TERM: (instance HamburgRules Obligation) (documentation HamburgRules "The &%HamburgRules are rules concerned with cargo owner and carriers that may be incorporated into contracts for sea transportation of goods. Adopted by UNCCGS in 1978.") ;;--------------------------------------------------------------------- ;; 2. Government Transportation Organizations (esp. U.S.) ;; TERM: (subclass DepartmentOfTransportation GovernmentOrganization) (documentation DepartmentOfTransportation "&%DepartmentOfTransportation is a subclass of &%GovernmentOrganization that includes national or subnational level departments concerned with transportation in the region where they operate or have jurisdiction. Also called, Ministry of Transportation.") ;; TERM: (instance UnitedStatesDepartmentOfTransportation DepartmentOfTransportation) (abbreviation "DOT" UnitedStatesDepartmentOfTransportation) (documentation UnitedStatesDepartmentOfTransportation "&%UnitedStatesDepartmentOfTransportation represents the cabinet-level executive department of the U.S. &%Government that is charged with developing and coordinating national transportation policies including highway, railway, airway, and maritime transportation, with consideration for economic needs, ecological impact, and national defense.") ;; TERM: (instance MaritimeAdministration GovernmentOrganization) (abbreviation "MarAd" MaritimeAdministration) (subOrganization MaritimeAdministration UnitedStatesDepartmentOfTransportation) (documentation MaritimeAdministration "&%MaritimeAdministration is the United States government agency that administers the laws for maintaining the U.S. &%MerchantMarine. The goals of the &%MaritimeAdministration are to support U.S. National Security, Shipbuilding, Intermodalism, and Trade.") ;; TERM: (instance FederalHighwayAdministration GovernmentOrganization) (abbreviation "FHWA" FederalHighwayAdministration) (subOrganization FederalHighwayAdministration UnitedStatesDepartmentOfTransportation) (documentation FederalHighwayAdministration "&%FederalHighwayAdministration is the part of the &%UnitedStatesDepartmentOfTransportation whose goal is to develop and maintain the Federal highway system of the United States, to assist U.S. states in development and maintenance of their highway systems, to protect the environment where highways intersect with it, and to provide access to Federal lands.") ;; TERM: (instance FederalAviationAdministration GovernmentOrganization) (abbreviation "FAA" FederalAviationAdministration) (subOrganization FederalAviationAdministration UnitedStatesDepartmentOfTransportation) (documentation FederalAviationAdministration "The &%FederalAviationAdministration is the part of the &%UnitedStatesDepartmentOfTransportation that is responsible for the safety of civilian aviation in the United States.") ;; TERM: (instance FederalRailroadAdministration GovernmentOrganization) (abbreviation "FRA" FederalRailroadAdministration ) (subOrganization FederalRailroadAdministration UnitedStatesDepartmentOfTransportation) (documentation FederalRailroadAdministration "The &%FederalRailroadAdministration is the part of the &%UnitedStatesDepartmentOfTransportation that is responsible for the safety and environmental impact of railroad travel in the United States.") ;; TERM: (instance DefenseTransportationSystem TransportationSystem) (abbreviation "DTS" DefenseTransportationSystem) (documentation DefenseTransportationSystem "&%DefenseTransportationSystem is a worldwide transportation infrastructure used by the U.S. Department of Defense to move personnel and materials. DTS comprises both military-owned transportation systems and commercial transit facilities under contract to the U.S. military or DOD.") ;;----------------------------------------------------------------------- ;; 3. Commercial Transportation Organizations ;; TERM (subclass CommercialAirport Airport) (subclass CommercialAirport CommercialAgent) (documentation CommercialAirport "&%CommercialAirport is the subclass of &%Airports where commerical air service is offered.") ;; PREDICATE: (instance vehicleOperator BinaryPredicate) (instance vehicleOperator AsymmetricRelation) (instance vehicleOperator IrreflexiveRelation) (domain vehicleOperator 1 CommercialAgent) (domain vehicleOperator 2 Object) (documentation vehicleOperator "(&%vehicleOperator ?AGENT ?OBJECT) means that the &%CommericalAgent ?AGENT is the commercial operator of the &%Vehicle ?OBJECT, that is, the agent that owns or leases the vehicle and supplies the crew which physically runs it.") (=> (and (vehicleOperator ?OPERATOR ?VEHICLE) (instance ?OPERATOR TransportationCompany) (instance ?TRIP (VehicleTripFn ?VEHICLE))) (exists (?PERSON) (and (instance ?PERSON Human) (employs ?OPERATOR ?PERSON) (agent ?TRIP ?PERSON)))) ;; TERM: (subclass CommercialCarrier TransportationCompany) (documentation CommercialCarrier "&%CommercialCarrier is the subclass of &%TransportationCompany whose instances provide transportation services for payment, with the intention of making a profit.") ;; TERM: (subclass CommonCarrier CommercialCarrier) (documentation CommonCarrier "&%CommonCarrier is the subclass of &%TransportationCompany whose instances offer services fairly to all customers, according to regular routes and schedules. Contrast with &%ContractCarrier.") ;; TERM: (subclass ContractCarrier CommercialCarrier) (documentation ContractCarrier "&%ContractCarrier is the subclass of &%TransportationCompany whose instances offer services to individual customers, under contract. Contrast with &%CommonCarrier.") ;; TERM: (subclass MajorAirCarrier TransportationCompany) (documentation MajorAirCarrier "&%MajorAirCarrier is a certified commercial air carrier with annual revenues of one billion dollars (U.S.) or more.") (=> (instance ?MAC MajorAirCarrier) (exists (?REV) (and (instance ?REV CurrencyMeasure) (annualRevenues ?MAC ?REV) (greaterThanOrEqualTo ?REV (MeasureFn 1 (GigaFn UnitedStatesDollar)))))) ;; TERM: (subclass ClassIRailroad RailroadCompany) (documentation ClassIRailroad "&%ClassIRailroad is the subclass of &%RailroadCompany whose instances have an average annual gross revenue above $256.4 million &%UnitedStatesDollars.") (=> (instance ?RR ClassIRailroad) (exists (?REVENUE) (and (annualRevenues ?RR ?REVENUE) (greaterThan ?REVENUE (MeasureFn 256.4 (MegaFn UnitedStatesDollar)))))) ;; TERM: (subclass ClassIIRailroad RailroadCompany) (documentation ClassIIRailroad "&%ClassIIRailroad is the subclass of &%RailroadCompany whose instances have an average annual gross revenue between $20.5 and $256.4 million &%UnitedStatesDollars.") (=> (instance ?RR ClassIIRailroad) (exists (?REV) (and (annualRevenues ?RR ?REVENUE) (greaterThanOrEqualTo ?REVENUE (MeasureFn 20.5 (MegaFn UnitedStatesDollar))) (lessThanOrEqualTo ?REVENUE (MeasureFn 256.4 (MegaFn UnitedStatesDollar)))))) ;; TERM: (subclass ClassIIIRailroad RailroadCompany) (documentation ClassIIIRailroad "&%ClassIIIRailroad is the subclass of &%RailroadCompany whose instances have an average annual gross revenue below $20.5 million &%UnitedStatesDollars.") (=> (instance ?RR ClassIIIRailroad) (exists (?REVENUE) (and (annualRevenues ?RR ?REVENUE) (lessThan ?REVENUE (MeasureFn 20.5 (MegaFn UnitedStatesDollar)))))) ;; TERM: (subclass LinerService Transportation) (subclass LinerService (TransportationByFn Ship)) (documentation LinerService "&%LinerService is the subclass of &%Transportation events that are regularly scheduled &%Ship passages offered by a &%TransportationCompany.") (=> (instance ?MOTION LinerService) (exists (?COMPANY ?VEHICLE) (and (instance ?VEHICLE Vehicle) (carrier ?MOTION ?VEHICLE) (vehicleOperator ?VEHICLE ?COMPANY) (instance ?COMPANY CommercialCarrier)))) ;;-------------------------------------------------------------------------- ;; I. Transportation Personnel ;; PREDICATE: (instance licensedOperatorOfType TernaryPredicate) (domain licensedOperatorOfType 1 Agent) (domainSubclass licensedOperatorOfType 2 Device) (domain licensedOperatorOfType 3 Organization) (documentation licensedOperatorOfType "(&%licensedOperatorOfType ?AGENT ?TYPE ?AUTHORITY) means that the &%Agent ?AGENT is licensed as a qualified operator of &%Devices of ?TYPE by an appropriate &%Organization ?AUTHORITY.") (=> (licensedOperatorOfType ?AGENT ?TYPE ?AUTHORITY) (capability (OperatingFn ?TYPE) agent ?AGENT)) (=> (licensedOperatorOfType ?AGENT ?TYPE ?AUTHORITY) (exists (?LIC) (and (instance ?LIC License) (possesses ?AGENT ?LIC) (subsumesContentInstance ?LIC (licensedOperatorOfType ?AGENT ?TYPE ?AUTHORITY))))) ;; TERM: (subclass VehicleCrew Organization) (documentation VehicleCrew "A &%VehicleCrew is an &%Organization of people who perform various functions aboard a &%Ship, &%Aircraft, &%Train, or other transportation vehicle.") (=> (and (occupiesPosition ?PERSON ?POSITION ?CREW) (instance ?CREW VehicleCrew)) (member ?PERSON ?CREW)) ;; FUNCTION: (instance VehicleCrewFn UnaryFunction) (documentation VehicleCrewFn "(&%VehicleCrewFn ?VEHICLE) denotes the &%Organization of people charged with operating the &%Vehicle ?VEHICLE.") (domain VehicleCrewFn 1 Vehicle) (range VehicleCrewFn 2 VehicleCrew) ;; PREDICATE: (instance crewSize BinaryPredicate) (domain crewSize 1 TransportationDevice) (domain crewSize 2 NonnegativeInteger) (documentation crewSize "(&%crewSize ?TRANSPORT ?COUNT) means that the &%TransportationDevice ?TRANSPORT has a specified crew size of ?COUNT.") (=> (crewSize ?VEHICLE ?COUNT) (cardinality (VehicleCrewFn ?VEHICLE) ?COUNT)) (=> (and (instance ?VEHICLE Vehicle) (cardinality (VehicleCrewFn ?VEHICLE) ?COUNT)) (crewSize ?VEHICLE ?COUNT)) ;; TERM: (subclass CrewList ContentBearingObject) (documentation CrewList "&%CrewList is the class of &%ContentBearingObjects that contain the name, position, and other information about &%members of a &%VehicleCrew.") (=> (instance ?LIST CrewList) (exists (?GROUP) (and (instance ?GROUP VehicleCrew) (inventory ?LIST ?GROUP)))) ;; Transportation-related &%Positions: ;; TERM: (instance ShipMaster Position) (names "master" ShipMaster) (names "captain" ShipMaster) (documentation ShipMaster "&%ShipMaster is the class of persons who are licensed to command a commercial vessel (i.e., &%MerchantMarineShip).") (=> (and (attribute ?PERSON ShipMaster) (member ?PERSON (VehicleCrewFn ?VEHICLE))) (instance ?VEHICLE MerchantMarineShip)) (=> (and (instance ?VEHICLE Vehicle) (occupiesPosition ?PERSON ShipMaster (VehicleCrewFn ?VEHICLE))) (instance ?VEHICLE MerchantMarineShip)) (=> (and (instance ?VEHICLE Ship) (occupiesPosition ?PERSON1 ShipMaster (VehicleCrewFn ?VEHICLE)) (instance ?PERSON2 Human) (member ?PERSON2 (VehicleCrewFn ?VEHICLE)) (not (equal ?PERSON1 ?PERSON2))) (subordinateInOrganization ?PERSON2 ?PERSON1 (VehicleCrewFn ?VEHICLE))) ;; TERM: (instance ChiefMate Position) (names "chief mate" ChiefMate) (names "first mate" ChiefMate) (documentation ChiefMate "&%ChiefMate is the &%Position attribute of an individual who is a ship's deck officer second in command below captain on a commercial vessel (i.e., &%MerchantMarineShip).") (=> (and (instance ?VEHICLE Vehicle) (occupiesPosition ?PERSON ChiefMate (VehicleCrewFn ?VEHICLE))) (instance ?VEHICLE MerchantMarineShip)) (=> (and (instance ?VEHICLE Ship) (occupiesPosition ?PERSON1 ChiefMate (VehicleCrewFn ?VEHICLE)) (instance ?PERSON2 Human) (member ?PERSON2 (VehicleCrewFn ?VEHICLE)) (not (equal ?PERSON1 ?PERSON2)) (not (occupiesPosition ?PERSON2 ShipMaster (VehicleCrewFn ?VEHICLE)))) (subordinateInOrganization ?PERSON2 ?PERSON1 (VehicleCrewFn ?VEHICLE))) ;; TERM: (instance ShipPilot Position) (documentation ShipPilot "&%ShipPilot is the &%Position attribute of an individual who is qualified (and usually licensed) to guide ships in and out of a specified &%Harbor or &%WaterArea, such as a &%River. Contrast with &%Helmsman.") (=> (attribute ?PERSON ShipPilot) (hasSkill Navigation ?PERSON)) ;; TERM: (instance Helmsman Position) (documentation Helmsman "&%Helmsman is the &%Position attribute of an individual who is qualified at &%Steering a vessel.") (=> (attribute ?PERSON Helmsman) (hasSkill (KappaFn ?STEERING (exists (?VESSEL) (and (instance ?STEERING Steering) (instance ?VESSEL Watercraft) (patient ?STEERING ?VESSEL)))) ?PERSON)) ;; TERM: (instance RadioOperator Position) (documentation RadioOperator "&%RadioOperator is the &%Position attribute of a person who is qualified to operate a &%TwoWayRadio.") (=> (attribute ?PERSON RadioOperator) (hasSkill (OperatingFn TwoWayRadio) ?PERSON)) ;; TERM: (subclass ShipAgent Agent) (documentation ShipAgent "&%ShipAgent is the subclass of agents, who may be persons or companies, that transact business in a specified port for a ship's owners or charterers. A ship's agent is not a member of the crew that travels with the &%Ship.") ;; TERM: (instance AircraftPilot Position) (documentation AircraftPilot "&%AircraftPilot is the &%Position attribute of an individual who is authorized to fly aircraft of some kind.") (=> (and (attribute ?PERSON AircraftPilot) (licensedOperatorOfType ?PERSON ?TYPE) (subclass ?TYPE Aircraft)) (hasSkill (OperatingFn ?TYPE) ?PERSON)) ;; TERM: (instance AircraftNavigator Position) (documentation AircraftNavigator "&%AircraftNavigator is the &%Position of the person who determines the course and position of an individual &%Aircraft, usually while on board, in order to guide its movements, the execution of which may be carried out by the &%AircraftPilot or copilot.") (=> (attribute ?PERSON AircraftNavigator) (hasSkill Navigation ?PERSON)) ;; TERM: (instance ShipNavigator Position) (documentation ShipNavigator "&%ShipNavigator is the &%Position of the person who determines the course and position of an individual &%Watercraft, usually while on board, in order to guide its movements, the execution of which may be carried out by the captain, skipper, or helm.") (=> (attribute ?PERSON ShipNavigator) (hasSkill Navigation ?PERSON)) ;; TERM: (subclass Navigation Guiding) (documentation Navigation "&%Navigation is the subclass of &%Guiding for processes that involve plotting a course, determining a position, or determining a heading for a &%Transportation device, especially an &%Aircraft or &%Ship. Contrast with &%Steering, which is physically guiding a vehicle, while &%Navigation is the determination of course or position. The course to be executed by the helm in &%Steering may be the result of a process of &%Navigation.") ;;======================================================================= ;; Appendix: Background Concepts more general than Transportation ;; Passports and Licenses ;; TERM ;; PassportControl (instance PassportControl GovernmentOrganization) (documentation PassportControl "&%PassportControl is the subclass of &%Organizations that are concerned with examining &%Passports being used for travel. &%PassportControl may be a government agency or authorized by a government organization to conduct its activities.") (=> (instance ?AIRPORT InternationalAirport) (exists (?CONTROL) (and (instance ?CONTROL PassportControl) (located ?CONTROL ?AIRPORT)))) ;; FUNCTION ;; PassportControlFn (instance PassportControlFn UnaryFunction) (domain PassportControlFn 1 Object) (range PassportControlFn PassportControl) (documentation PassportControlFn "(&%PassportControlFn ?PLACE) denotes the &%PassportControl organization located at the &%Object ?PLACE.") (=> (instance ?PLACE Object) (located (PassportControlFn ?PLACE) ?PLACE)) ;; INDIVIDUAL ;; UnitedStatesPassportAgency (instance UnitedStatesPassportAgency GovernmentOrganization) (subOrganization UnitedStatesPassportAgency (GovernmentFn UnitedStates)) (located UnitedStatesPassportAgency WashingtonDC) (documentation UnitedStatesPassportAgency "&%UnitedStatesPassportAgency is the U.S. government agency that issues &%Passports.") (=> (and (instance ?PASSPORT Passport) (issuedBy ?PASSPORT UnitedStatesPassportAgency)) (issuedBy ?PASSPORT UnitedStates)) (=> (and (instance ?PASSPORT Passport) (issuedBy ?PASSPORT UnitedStatesPassportAgency)) (issuedBy ?PASSPORT (GovernmentFn UnitedStates))) ;; FUNCTION ;; PassportFn (instance PassportFn BinaryFunction) (domain PassportFn 2 SymbolicString) (domain PassportFn 1 GeopoliticalArea) (range PassportFn Passport) (documentation PassportFn "(&%PassportFn ?COUNTRY ?SERIALNO) denotes the &%Passport issued by the &%GeopoliticalArea ?COUNTRY that has the &%uniqueIdentifier ?SERIALNO.") (=> (and (instance ?AREA GeopoliticalArea) (instance (PassportFn ?AREA ?STRING) Passport)) (issuedBy (PassportFn ?AREA ?STRING) ?AREA)) (=> (and (instance ?AREA GeopoliticalArea) (instance (PassportFn ?AREA ?STRING) Passport)) (passportNumber (PassportFn ?AREA ?STRING) ?STRING)) ;; Note: &%issuedBy is defined in Mid-level-ontology.txt. ;; PREDICATE ;; issuedTo (instance issuedTo BinaryPredicate) (domain issuedTo 1 Certificate) (domain issuedTo 2 CognitiveAgent) (documentation issuedTo "(&%issuedTo ?DOC ?AGENT) means that the &%Certificate ?DOC was issued to the &%CognitiveAgent ?AGENT.") (=> (issuedTo ?DOC ?AGENT) (possesses ?AGENT ?DOC)) ;; PREDICATE ;; documentNumber (instance documentNumber BinaryPredicate) (domain documentNumber 1 ContentBearingObject) (domain documentNumber 2 SymbolicString) (documentation documentNumber "(&%documentNumber ?DOC ?STRING) means that the &%ContentBearingObject ?DOC has the &%uniqueIdentifier ?STRING.") (=> (documentNumber ?DOC ?STRING) (uniqueIdentifier ?STRING ?DOC)) ;; PREDICATE ;; passportNumber (instance passportNumber BinaryPredicate) (domain passportNumber 1 Passport) (domain passportNumber 2 SymbolicString) (subrelation passportNumber documentNumber) (documentation passportNumber "(&%passportNumber ?DOC ?STRING) means that the &%Passport ?DOC has the &%uniqueIdentifier ?STRING.") ;; PREDICATE ;; licenseNumber (instance licenseNumber BinaryPredicate) (domain licenseNumber 1 License) (domain licenseNumber 2 SymbolicString) (subrelation licenseNumber documentNumber) (documentation licenseNumber "(&%licenseNumber ?LIC ?STRING) means that the &%License ?LIC has the &%uniqueIdentifier ?STRING.") ;; PREDICATE ;; dateOfIssue (instance dateOfIssue BinaryPredicate) (domain dateOfIssue 1 Certificate) (domain dateOfIssue 2 TimeInterval) (documentation dateOfIssue "(&%dateOfIssue ?DOC ?TIME) means that the &%Certificate ?DOC was issued on the date ?TIME.") ;; PREDICATE ;; addressOfHolder (instance addressOfHolder BinaryPredicate) (domain addressOfHolder 1 Certificate) (domain addressOfHolder 2 Address) (documentation addressOfHolder "(&%addressOfHolder ?DOC ?ADDRESS) means that the address of the holder of the &%Certificate ?DOC is given as the &%Address ?ADDRESS.") (=> (and (addressOfHolder ?CERT ?ADDRESS) (issuedTo ?CERT ?AGENT)) (address ?AGENT ?ADDRESS)) ;; PREDICATE ;; telephoneNumberOfHolder (instance telephoneNumberOfHolder BinaryPredicate) (domain telephoneNumberOfHolder 1 Certificate) (domain telephoneNumberOfHolder 2 SymbolicString) (documentation telephoneNumberOfHolder "(&%telephoneNumberOfHolder ?DOC ?NUMBER) means that the telephone number of the holder of the &%Certificate ?DOC is given as the &%SymbolicString ?NUMBER.") (=> (and (telephoneNumberOfHolder ?DOC ?STRING) (issuedTo ?DOC ?AGENT)) (telephoneNumber ?STRING ?AGENT)) ;; PREDICATE ;; telephoneNumberAtLocation (instance telephoneNumberAtLocation BinaryPredicate) (domain telephoneNumberAtLocation 1 SymbolicString) (domain telephoneNumberAtLocation 2 Object) (documentation telephoneNumberAtLocation "(&%telephoneNumberAtLocation ?NUMBER ?PLACE) means that the &%SymbolicString ?NUMBER is a telephone number at the &%Object ?PLACE.") ;; PREDICATE ;; addressOfLocation (instance addressOfLocation BinaryPredicate) (domain addressOfLocation 1 Address) (domain addressOfLocation 2 Object) (subrelation addressOfLocation uniquelyRepresents) (documentation addressOfLocation "(&%addressOfLocation ?ADDRESS ?PLACE) means that the &%Address ?ADDRESS describes the location of the &%Object ?PLACE. The object may be a building, lot, apartment or other building subdivision, or P.O. box.") (=> (and (addressOfLocation ?ADDRESS ?PLACE) (instance ?PLACE Residence) (inhabits ?AGENT ?PLACE)) (address ?AGENT ?ADDRESS)) ;; ----------------------------------------------------------------------- ;; FUNCTION: (documentation OperatingFn "(&%OperatingFn ?TYPE) denotes the class of events in which a &%Device of ?TYPE is being operated.") (instance OperatingFn UnaryFunction) (domainSubclass OperatingFn 1 Device) (rangeSubclass OperatingFn Process) (=> (and (instance ?PROCESS (OperatingFn ?TYPE)) (subclass ?TYPE Device)) (exists (?DEVICE) (and (instance ?DEVICE ?TYPE) (instrument ?PROCESS ?DEVICE)))) (=> (and (instance ?PROCESS (OperatingFn ?TYPE)) (subclass ?TYPE ElectricDevice) (instance ?DEVICE ?TYPE) (instrument ?PROCESS ?DEVICE)) (holdsDuring (WhenFn ?PROCESS) (deviceState ?DEVICE DeviceOn))) ;; PREDICATE: (instance subordinateInOrganization TernaryPredicate) (domain subordinateInOrganization 1 Human) (domain subordinateInOrganization 2 Human) (domain subordinateInOrganization 3 Organization) (documentation subordinateInOrganization "The predicate &%subordinateInOrganization relates two people on the basis of their seniority relation within an organization. (&%subordinateInOrganization ?PERSON1 ?PERSON2 ?ORG) means that ?PERSON1 is subordinate to ?PERSON2 in the &%Organization ?ORG. This means that ?PERSON1 reports to and is supervised by ?PERSON2 (or to an intermediary who is subordinate to ?PERSON2). This is a chain-of-command relation, not merely a relation of relative rank.") (=> (subordinateInOrganization ?PERSON1 ?PERSON2 ?ORG) (member ?PERSON1 ?ORG)) (=> (subordinateInOrganization ?PERSON1 ?PERSON2 ?ORG) (member ?PERSON2 ?ORG)) (=> (subordinateInOrganization ?PERSON1 ?PERSON2 ?ORG) (exists (?SUPERVISING) (or (and (instance ?SUPERVISING Managing) (patient ?SUPERVISING ?PERSON1) (agent ?SUPERVISING ?PERSON2)) (exists (?PERSON3) (subordinateInOrganization ?PERSON2 ?PERSON3 ?ORG))))) ;; PREDICATE: (instance lowerRankPositionInOrganization TernaryPredicate) (domain lowerRankPositionInOrganization 1 Position) (domain lowerRankPositionInOrganization 2 Position) (domain lowerRankPositionInOrganization 3 Organization) (documentation lowerRankPositionInOrganization "The predicate &%lowerRankPositionInOrganization directly relates two &%Positions (not the persons who hold them) on the basis of the relative rank of those positions within a given organization. (&%lowerRankPositionInOrganization ?RANK1 ?RANK2 ?GROUP) means that the &%Position ?RANK1 is associated with less status, authority, or pay than the &%Position ?RANK2 in the &%Organization ?GROUP. Thus, someone in the &%Position ?RANK1 has a lower-ranked position than individuals with the &%Position ?RANK2.") (=> (subordinateInOrganization ?PERSON1 ?PERSON2 ?ORG) (exists (?RANK1 ?RANK2) (and (instance ?RANK1 Position) (instance ?RANK2 Position) (lowerRankPositionInOrganization ?RANK1 ?RANK2 ?ORG) (occupiesPosition ?PERSON1 ?RANK1 ?ORG) (occupiesPosition ?PERSON2 ?RANK2 ?ORG)))) ;; TERM (ATTRIBUTE): (documentation RoughSurface "&%RoughSurface is the &%TextureAttribute that represents a rough-textured &%surface of an &%Object.") (instance RoughSurface TextureAttribute) ;; TERM (ATTRIBUTE): (documentation SmoothSurface "&%SmoothSurface is the &%TextureAttribute that represents a smooth-textured &%surface of an &%Object.") (instance SmoothSurface TextureAttribute) ;; TERM: (subclass MaterialHandlingEquipment Device) (abbreviation "MHE" MaterialHandlingEquipment) (documentation MaterialHandlingEquipment "&%MaterialHandlingEquipment is a class of &%Devices that are equipment used for handling goods and supplies more efficiently or safely. Examples are cranes, hoists, forklifts, conveyors, racks, etc.") ;; TERM: (subclass LiquefiedPetroleumGas PetroleumProduct) (subclass LiquefiedPetroleumGas (ExtensionFn Liquid)) (documentation LiquefiedPetroleumGas "&%LiquefiedPetroleumGas is a compressed hydrocarbon gas.") ;; PREDICATE: (instance memberType BinaryPredicate) (domain memberType 1 Collection) (domain memberType 2 SetOrClass) (documentation memberType "(&%memberType ?GROUP ?TYPE) means that all the members of the &%Collection ?GROUP belong to the &%SetOrClass ?TYPE.") (=> (and (memberType ?GROUP ?TYPE) (member ?MEMBER ?GROUP)) (instance ?MEMBER ?TYPE)) ;; PREDICATE: (instance memberTypeCount TernaryPredicate) (domain memberTypeCount 1 Collection) (domain memberTypeCount 2 SetOrClass) (domain memberTypeCount 3 NonnegativeInteger) (documentation memberTypeCount "(&%memberTypeCount ?GROUP ?TYPE ?NUMBER) means that the &%Collection ?GROUP has ?NUMBER members of the kind ?TYPE.") (=> (memberTypeCount ?GROUP ?TYPE ?NUMBER) (exists (?SUBGROUP) (and (subCollection ?SUBGROUP ?GROUP) (memberCount ?SUBGROUP ?NUMBER) (memberType ?SUBGROUP ?TYPE)))) (=> (and (memberCount ?GROUP ?NUMBER1) (memberTypeCount ?GROUP ?TYPE ?NUMBER2)) (greaterThanOrEqualTo ?NUMBER1 ?NUMBER2)) (=> (and (memberTypeCount ?GROUP ?TYPE ?NUMBER) (equal ?NUMBER 0)) (not (exists (?ITEM) (and (instance ?ITEM ?TYPE) (member ?ITEM ?GROUP))))) ;; TERM: (subclass Signalling Guiding) (documentation Signalling "&%Signalling is the subclass of &%Guiding processes in which an &agent, animate or inanimate, sends a signal to another &%Object. In many cases, this signal will be an electrical or electronic one. Some signals may directly control the behavior of the object signalled, while others may merely cause information to be presented. Instances of electrical &%Signalling are typically more complex than simply than operation of a &%DeviceSwitch, though in some cases, &%Signalling involves remote activation of such a switch by another device.") ;; TERM: (subclass ElectricalSignalling Signalling) (documentation ElectricalSignalling "&%ElectricalSignalling is the subclass of &%Signalling processes that involve control of an electrical current. Cf. &%ElectronicSignalling.") (=> (instance ?SIGNAL ElectricalSignalling) (exists (?DEVICE) (and (instance ?DEVICE ElectricDevice) (instrument ?SIGNAL ?DEVICE)))) ;; TERM: (subclass ElectronicSignalling ElectricalSignalling) (documentation ElectronicSignalling "&%ElectronicSignalling is the subclass of &%Signalling processes that involve a signal generated or controlled by a computer or other electronic device.") (=> (instance ?SIGNAL ElectronicSignalling) (exists (?DEVICE) (and (instance ?DEVICE ElectronicDevice) (instrument ?SIGNAL ?DEVICE)))) ;; TERM: (instance detainee BinaryPredicate) (instance detainee CaseRole) (domain detainee 1 Keeping) (domain detainee 2 Object) (subrelation detainee patient) (documentation detainee "(&%detainee ?EVENT ?OBJECT) means that in the &%Keeping ?EVENT, the &%Object ?OBJECT is restrained by force, threat, or other form of intimidation.") ;; PREDICATE: (instance equipmentCount TernaryPredicate) (domain equipmentCount 1 Object) (domainSubclass equipmentCount 2 Artifact) (domain equipmentCount 3 Quantity) (documentation equipmentCount "(&%equipmentCount ?OBJECT ?TYPE ?QUANTITY) means that ?OBJECT is equipped with devices of the type ?TYPE, in the number ?QUANTITY. Equipment of an ?OBJECT may be a &%component of ?OBJECT (such as the emergency oxygen system built into passenger jets) or it may be a device simply located on or with ?OBJECT (such as a first aid kit).") (=> (equipmentCount ?OBJECT ?TYPE ?COUNT) (exists (?DEVICE) (and (instance ?DEVICE ?TYPE) (or (part ?DEVICE ?OBJECT) (connected ?DEVICE ?OBJECT))))) (=> (equipmentCount ?OBJECT ?TYPE ?COUNT) (cardinality (KappaFn ?PARTS (or (and (instance ?PARTS ?TYPE) (part ?PARTS ?OBJECT)) (and (instance ?PARTS ?TYPE) (connected ?PARTS ?OBJECT)))) ?COUNT)) (=> (meetsSpatially ?OBJECT1 ?OBJECT2) (orientation ?OBJECT1 ?OBJECT2 Adjacent)) ;; TERM: (instance equipmentType BinaryPredicate) (domain equipmentType 1 Artifact) (domainSubclass equipmentType 2 Device) (documentation equipmentType "(&%equipmentType ?THING ?TYPE) means that the &%Artifact ?THING has a &%component or attachment of &%Device ?TYPE. See also &%equipmentTypeCount.") (=> (equipmentType ?OBJECT ?TYPE) (exists (?DEVICE) (and (instance ?DEVICE ?TYPE) (or (part ?DEVICE ?OBJECT) (connected ?DEVICE ?OBJECT))))) (=> (equipmentCount ?OBJECT ?TYPE ?COUNT) (equipmentType ?OBJECT ?TYPE)) (=> (equipmentType ?OBJECT ?TYPE) (exists (?COUNT) (and (greaterThanOrEqualTo ?COUNT 1) (equipmentCount ?OBJECT ?TYPE ?COUNT)))) ;; TERM: (subclass Crane TransportationDevice) (documentation Crane "&%Crane is a subclass of mechanical &%Devices that consist of a &%HoistingDevice on a moveable boom, designed to assist in moving heavy loads.") (=> (instance ?CRANE Crane) (exists (?HOIST) (and (instance ?HOIST HoistingDevice) (component ?HOIST ?CRANE)))) (=> (instance ?CRANE Crane) (capability MotionUpward instrument ?CRANE)) (=> (instance ?CRANE Crane) (capability MotionDownward instrument ?CRANE)) ;; TERM: (subclass HoistingDevice Device) (documentation HoistingDevice "&%HoistingDevice is a subclass of mechanical &%Devices that provide a mechanical advantage in lifting and lowering, e.g., by use of a block and tackle.") (=> (instance ?HOIST HoistingDevice) (capability MotionUpward instrument ?HOIST)) (=> (instance ?HOIST HoistingDevice) (capability MotionDownward instrument ?HOIST)) ;; PREDICATE: (instance capableAtLocation QuaternaryPredicate) (documentation capableAtLocation "(&%capableAtLocation ?TYPE ?ROLE ?OBJECT ?PLACE) means that ?OBJECT has the ability to play the &%CaseRole ?ROLE in &%Processes of ?EVENTTYPE that occur at ?PLACE.") (domainSubclass capableAtLocation 1 Process) (domain capableAtLocation 2 CaseRole) (domain capableAtLocation 3 Object) (domain capableAtLocation 4 Region) (=> (and (instance ?TYPE Process) (instance ?EVENT ?TYPE) (located ?EVENT ?REGION) (instance ?ROLE CaseRole) (instance ?OBJECT Object) (instance ?REGION GeographicArea) (holds ?ROLE ?EVENT ?OBJECT)) (capableAtLocation ?TYPE ?ROLE ?OBJECT ?PLACE)) ;; TERM: (instance registeredItem BinaryPredicate) (domain registeredItem 1 Text) (domain registeredItem 2 Physical) (subrelation registeredItem refers) (documentation registeredItem "(&%registeredItem ?DOCUMENT ?ITEM) means that the &%Text ?DOCUMENT contains an official record of the &%Physical thing ?ITEM. The registered item could be an object or an event, e.g., an automobile, a ship, a marriage, an adoption.") ;; TERM: (subclass License Certificate) (documentation License "&%License is the subclass of &%Certificates that are official documents granted by a &%GovernmentOrganization and which authorize the performance of certain kinds of actions, e.g., driving or exporting.") ;; TERM: (instance Prohibition DeonticAttribute) (documentation Prohibition "&%Prohibition is the &%DeonticAttribute that applies to &%Formulas that an &%Agent is forbidden, by some authority, to make true.") (<=> (modalAttribute ?FORMULA Prohibition) (not (modalAttribute ?FORMULA Permission))) ;; PREDICATE: (instance inventory BinaryPredicate) (domain inventory 1 ContentBearingObject) (domain inventory 2 Collection) (documentation inventory "(&%inventory ?CBO ?COLLECTION) means that the &%ContentBearingObject ?CBO contains a list or enumeration of the members of the &%Collection ?COLLECTION.") (=> (and (inventory ?CBO ?COLLECTION) (member ?ITEM ?COLLECTION)) (refers ?CBO ?ITEM)) ;; TERM: (subclass MilitaryWatercraft Watercraft) (documentation MilitaryWatercraft "&%MilitaryWatercraft is the class of all &%Watercraft owned or leased for use by some &%MilitaryOrganization.") (=> (instance ?CRAFT MilitaryWatercraft) (exists (?ORG) (and (instance ?ORG MilitaryOrganization) (possesses ?ORG ?CRAFT)))) ;; PREDICATE: (instance powerPlant BinaryPredicate) (instance powerPlant AsymmetricRelation) (instance powerPlant IrreflexiveRelation) (domain powerPlant 1 Device) (domainSubclass powerPlant 2 Artifact) (subrelation powerPlant component) (documentation powerPlant "(&%powerPlant ?GENERATOR ?THING) means that the &%Device ?GENERATOR is the power-producing component of the &%Artifact ?THING which provides the energy for its operation.") (=> (and (powerPlant ?GENERATOR ?OBJECT) (instance ?OBJECT Device)) (instance ?OBJECT SelfPoweredDevice)) (=> (powerPlant ?GENERATOR ?OBJECT) (or (instance ?GENERATOR Engine) (instance ?GENERATOR Battery))) ;; TERM: (subclass Engine Machine) (documentation Engine "&%Engine is a subclass of &%Machine. Engines are devices for converting some form of energy &%resource into mechanical power.") ;; TERM: (subclass InternalCombustionEngine Engine) (documentation InternalCombustionEngine "&%InternalCombustionEngine is the subclass of &%Engines in which a heat reaction that occurs inside the engine is transformed into mechanical energy.") (=> (instance ?RUNNING (OperatingFn InternalCombustionEngine)) (exists (?ENGINE ?CHAMBER ?FIRE) (and (instance ?ENGINE InternalCombustionEngine) (instrument ?RUNNING ?ENGINE) (hole ?CHAMBER ?ENGINE) (instance ?FIRE Combustion) (completelyFills ?FIRE ?CHAMBER)))) ;; TERM: (subclass GasolineEngine InternalCombustionEngine) (documentation GasolineEngine "&%GasolineEngine is the subclass of &%InternalCombustionEngines that use &%Gasoline as their &%resource.") (=> (instance ?RUNNING (OperatingFn GasolineEngine)) (exists (?FUEL) (and (instance ?FUEL Gasoline) (resource ?RUNNING ?FUEL)))) ;; TERM: (subclass JetEngine InternalCombustionEngine) ;; TERM: (subclass TurbojetEngine InternalCombustionEngine) ;; TERM: (subclass RocketEngine Engine) ;; TERM: (subclass DieselEngine InternalCombustionEngine) (documentation DieselEngine "&%DieselEngine is the subclass of &%InternalCombustionEngines that use &%DieselFuel as their &%resource.") (=> (instance ?RUNNING (OperatingFn DieselEngine)) (exists (?FUEL) (and (instance ?FUEL DieselFuel) (resource ?RUNNING ?FUEL)))) ;; TERM: (subclass SteamEngine Engine) (documentation SteamEngine "&%SteamEngine is the subclass of &%Engines that produce mechanical power from heat and steam pressure.") ;; TERM: (subclass Windmill Engine) (documentation Windmill "&%Windmill is the subclass of &%Engines that produce mechanical power from &%Wind energy.") ;; TERM: (subclass ElectricMotor Engine) (subclass ElectricMotor ElectricDevice) (documentation ElectricMotor "&%ElectricMotor is the subclass of &%Engines that produce mechanical power from electricity.") ;; TERM: (subclass Battery Device) (documentation Battery "&%Battery is a subclass of &%Device. Batteries are devices that use chemical means to store or produce electrical power.") ;; TERM: (subclass SelfPoweredDevice Device) (documentation SelfPoweredDevice "&%SelfPoweredDevice is the subclass of &%Devices whose action is powered by some kind of on-board component or power source (not the user).") (=> (instance ?DEVICE SelfPoweredDevice) (exists (?SOURCE) (and (instance ?SOURCE Device) (powerPlant ?DEVICE ?SOURCE)))) ;; TERM: (subclass AnimalPoweredDevice Device) (documentation AnimalPoweredDevice "&%AnimalPoweredDevice is the subclass of &%Devices that function with power supplied by animals. Examples: oxcarts, horse-drawn plows, mule-driven mills.") (=> (and (instance ?DEVICE AnimalPoweredDevice) (instrument ?PROCESS ?DEVICE)) (exists (?ANIMAL) (and (instance ?ANIMAL Animal) (instrument ?PROCESS ?ANIMAL)))) ;; TERM: (subclass UserPoweredDevice Device) (documentation UserPoweredDevice "&%UserPoweredDevice is a subclass of &%Device representing devices that perform work when a power input is supplied by the user.") ;; TERM: (subclass Fuel Substance) (documentation Fuel "&%Fuel is the class of &%Substances that can be used as &%resources in &%Combustion processes in order to produce heat. Mechanical energy can be produced by burning fuel in an &%Engine.") ;; TERM: (subclass FossilFuel Fuel) (subclass FossilFuel OrganicCompound) (documentation FossilFuel "&%FossilFuel is the subclass of &%Fuel whose instances are derived from fossilized organic deposits, such as &%Coal and &%Petroleum.") ;; TERM: (subclass Coal FossilFuel) ;; Note: &%Coal is documented in Geography.kif ;; TERM: (subclass DieselFuel FossilFuel) (documentation DieselFuel "&%DieselFuel is the subclass of &%FossilFuel that represents the kind of heavy fuel oils used in &%DieselEngines.") ;; TERM: (subclass Gasoline FossilFuel) (documentation Gasoline "&%Gasoline is the subclass of &%FossilFuel that represents the light, volatile fuels used in &%GasolineEngines.") ;; TERM: (instance LengthwiseEquidistant PositionalAttribute) (documentation LengthwiseEquidistant "&%LengthwiseEquidistant is the &%PositionalAttribute that describes things that are equidistant from one another along their length. Unlike its specialization, &%Parallel, &%LengthwiseEquidistant allows for the objects to have curved lengths or edges.") (=> (orientation ?OBJ1 ?OBJ2 LengthwiseEquidistant) (orientation ?OBJ2 ?OBJ1 LengthwiseEquidistant)) ;; TERM: (instance Parallel PositionalAttribute) (subAttribute Parallel LengthwiseEquidistant) (documentation Parallel "&%Parallel is the &%PositionalAttribute that describes things that are parallel to one another, i.e., they are &%LengthwiseEquidistant along a straight length or edge.") (=> (orientation ?OBJ1 ?OBJ2 Parallel) (orientation ?OBJ2 ?OBJ1 Parallel)) ;; TERM: (subclass Ramp Object) (documentation Ramp "&%Ramp is the class of &%Objects that are inclined planes used for moving objects from one level to another, especially used for wheeled vehicles and people who cannot climb stairs.") (=> (instance ?RAMP Ramp) (capability MotionUpward path ?RAMP)) (=> (instance ?RAMP Ramp) (capability MotionDownward path ?RAMP)) ;; TERM: (subclass RefrigeratedCompartment Container) (documentation RefrigeratedCompartment "&%RefrigeratedCompartment is the subclass of &%Containers in which the temperature is reduced from that of the outside air, by some &%Cooling process.") (=> (instance ?COOLER RefrigeratedCompartment) (exists (?COOLING) (and (instance ?COOLING Cooling) (patient ?COOLING ?COOLER)))) ;; TERM: (subclass Urea OrganicCompound) (documentation Urea "&%Urea is a dry, soluble, nitrogenous substance that is the major solid component of the urine of mammals, and which may be synthesized from ammonia and carbon dioxide; it is useful in the production of plastic and in &%Fertilizers.") ;; TERM: (subclass DeviceStateAttribute Attribute) (documentation DeviceStateAttribute "&%DeviceStateAttribute is the class of attributes that represent different states that a &%Device may be in. Examples: &%DeviceOff and &%DeviceOn, &%DeviceOpen and &%DeviceClosed.") ;; TERM (ATTRIBUTE): (instance DeviceOpen DeviceStateAttribute) (instance DeviceOpen RelationalAttribute) ;; TERM (ATTRIBUTE): (instance DeviceClosed DeviceStateAttribute) (instance DeviceClosed RelationalAttribute) (contraryAttribute DeviceOpen DeviceClosed) ;; TERM (ATTRIBUTE): (instance DeviceOn DeviceStateAttribute) (instance DeviceOn InternalAttribute) ;; TERM (ATTRIBUTE): (instance DeviceOff DeviceStateAttribute) (instance DeviceOff InternalAttribute) (contraryAttribute DeviceOn DeviceOff) ;; PREDICATE: (instance deviceState BinaryPredicate) (domain deviceState 1 Object) (domain deviceState 2 DeviceStateAttribute) (documentation deviceState "(&%deviceState ?DEVICE ?STATE) means that the &%Object ?DEVICE is in the &%DeviceStateAttribute ?STATE.") ;; ------------------------------------------------------------------------ ;; TERM: (instance MetricTon UnitOfMeasure) (subclass MetricTon MassMeasure) (documentation MetricTon "&%MetricTon is a &%UnitOfMeasure that represents a weight of 2,205 &%PoundMass.") (equal (MeasureFn 1 MetricTon) (MeasureFn 2205 PoundMass)) (<=> (measure ?OBJECT (MeasureFn ?AMOUNT MetricTon)) (measure ?OBJECT (MeasureFn (MultiplicationFn ?AMOUNT 2205) PoundMass))) ;; TERM: (instance CubicFoot UnitOfMeasure) (subclass CubicFoot VolumeMeasure) (equal (MeasureFn 1 CubicFoot) (MultiplicationFn (MeasureFn 1 Foot) (MultiplicationFn (MeasureFn 1 Foot) (MeasureFn 1 Foot)))) (documentation CubicFoot "&%CubicFoot is a unit for measuring volume, equal to a volume of one foot length in each dimension of length, width, and height.") ;; TERM: (subclass HumanHabitationSpace Region) (documentation HumanHabitationSpace "&%HumanHabitationSpace is the subclass of &%Regions that are created as or reserved for, and suited to, occupation by &%Human beings.") ;; TERM: (subclass HumanHabitationArtifact HumanHabitationSpace) (subclass HumanHabitationArtifact Artifact) (documentation HumanHabitationArtifact "&%HumanHabitationArtifact is the subclass of &%HumanHabitationSpaces that are also &%Artifacts.") ;; TERM (ATTRIBUTE): (instance ContainerFull RelationalAttribute) (documentation ContainerFull "&%ContainerFull is the &%Attribute of a &%Container that is full to capacity.") (=> (attribute ?THING ContainerFull) (instance ?THING Container)) (=> (attribute ?CONTAINER ContainerFull) (exists (?HOLE ?STUFF) (and (instance ?HOLE Hole) (hole ?HOLE ?CONTAINER) (fills ?STUFF ?CONTAINER)))) ;; TERM (ATTRIBUTE): (instance ContainerEmpty RelationalAttribute) (documentation ContainerEmpty "&%ContainerEmpty is the &%Attribute of a &%Container that is empty.") (=> (attribute ?THING ContainerEmpty) (instance ?THING Container)) (=> (attribute ?CONTAINER ContainerEmpty) (not (exists (?HOLE ?STUFF) (and (instance ?HOLE Hole) (hole ?HOLE ?CONTAINER) (partiallyFills ?STUFF ?CONTAINER))))) ;; TERM: (subclass HumanPoweredDevice Device) (documentation HumanPoweredDevice "&%HumanPoweredDevice is the subclass of &%Devices that are moved by human exertion, including &%Canoes, &%Bicycles, and hand saws.") ;; TERM: (subclass WindPoweredDevice Device) (documentation WindPoweredDevice "&%WindPoweredDevice is the subclass of &%Devices that are moved by wind power, including &%Sailboats, &%GliderAirplanes, and windmills.") ;; PREDICATE: (instance totalPersonCapacityCount BinaryPredicate) (instance totalPersonCapacityCount SingleValuedRelation) (domain totalPersonCapacityCount 1 Object) (domain totalPersonCapacityCount 2 NonnegativeInteger) (documentation totalPersonCapacityCount "(&%totalPersonCapacityCount ?THING ?COUNT) means that the &%Object ?THING can legally or safely accommodate a maximum number of people ?COUNT.") (=> (and (instance ?VEHICLE TransportationDevice) (totalPersonCapacityCount ?VEHICLE ?TOTAL) (passengerCapacityMaxCount ?VEHICLE ?PASSCOUNT) (crewSize ?VEHICLE ?CREWCOUNT)) (greaterThanOrEqualTo ?TOTAL (AdditionFn ?PASSCOUNT ?CREWCOUNT))) ;; AXIOM: (subclass LegalCharge RegulatoryProcess) ;;========================================================================