http://www.cs.ox.ac.uk/Ian.Horrocks/dlbook/ex2-sol.pdf

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.
Boats  hasPart.(Wheel)

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.
Human Vehicle

Wheels or engines are not humans.
Wheel Engine Human

Humans are either adults or children.
Human Adult Child

Adults are not children.
Adult Child

Bob controls a car.
(controls.Car)(Bob)

Bob is a human.
Human(Bob)

Bob controls QE2
Vehicle(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)

Modifié le: lundi 2 novembre 2020, 09:40