Solution Exercice 4 et 10 Horrocks
Cars are exactly those vehicles that have wheels and are powered by an engine.
Car Vehicle hasPart.Wheel poweredBy.Engine
Bicycles are exactly those vehicles that have wheels and are powered by a human.
Bicycle Vehicle hasPart.Wheel poweredBy.Human
Boats are exactly those vehicles that travel on water.
Boat Vehicle travelsOn.Water
Boats have no wheels.
Cars and bicycles do not travel on water.
Bicycle Car travelsOn.(Water)
Wheels are exactly those devices that have an axle and are capable of rotation.
Wheel Device hasPart.Axle capableOf.Rotation
Drivers are exactly those humans who control a vehicle.
Driver Human controls.Vehicle
Drivers of cars are adults.
Driver controls.Vehicle Adult
Humans are not vehicles.
Wheels or engines are not humans.
Wheel Engine Human
Humans are either adults or children.
Human Adult Child
Adults are not children.
Bob controls a car.
Bob is a human.
Bob controls QE2
controls(Bob, QE2) # Infère Driver(Bob) et Adult(Bob)
QE2 is a vehicle that travels on water.
(Vehicle travelsOn.Water)(QE2) # Infère Boat(QE2)
Cars have between three and four wheels.
Car >=3hasPart.Wheel <=4hasPart.Wheel
Bicycles have exactly two wheels.
Bicycle >=2hasPart.Wheel <=2hasPart.Wheel
A human who legally controls a car holds a driving license and is an adult
Human legallyControls.Car Adult owns.DrivingLicense
A vehicle is controlled by exactly one human.
Vehicle >=1controls-.Human <=1controls-.Human
A thing’s parts’ parts are that thing’s parts.
TransitiveProperty(:hasPart) # Pas de façon d'écrire ça en logique descriptive
A car with a broken part is broken.
Car hasPart.Broken Broken
Bob controls a car with a wheel that has a broken axle.
(controls.(Car hasPart.(Wheel hasPart(Axle Broken))))(Bob)