· 5 years ago · May 22, 2020, 11:46 AM
1domains
2address = address(symbol City, symbol Street, integer House_num, integer Flat_num).
3
4property = auto_own(symbol Brand, symbol Color, integer Cost); building_own(symbol Type, integer Floors, integer Cost); land_own(symbol Type, integer Plottage, integer Cost); water_transport_own(symbol Type, integer Cost).
5
6predicates
7phone_book(symbol Surname, symbol Phone_num, address)
8auto(symbol Surname, symbol Brand, symbol Color, integer Cost)
9deposit(symbol Surname, symbol Bank, integer Bill, integer Sum)
10
11owner(symbol Surname, property Property)
12
13rule_1_2(symbol Surname, symbol Own_name, integer Cost)
14clauses
15phone_book(ivanov, "32-17-77", address(moscow, ilmenskiy, 14, 1018)).
16
17phone_book(petrov, "37-87-70", address(pyatigosk, lenina, 73, 527)).
18phone_book(sidorov, "98-36-83", address(moscow, tverskaya, 103, 17)).
19phone_book(vasilev, "59-60-55", address(samara, lesnaya, 10, 7)).
20
21auto(ivanov, bmw, white, 7800000).
22
23auto(petrov, volvo, red, 1300000).
24auto(sidorov, audi, green ,1600000).
25
26deposit(ivanov, vtb, 00232973, 300000).
27deposit(petrov, sberbank, 00101023, 36000).
28deposit(sidorov, alfabank, 00014584, 200000).
29
30owner(Surname, auto_own(Brand, Color, Cost)):- auto(Surname, Brand, Color, Cost).
31owner(ivanov, building_own(supermarket, 1, 20000000)).
32owner(petrov, building_own(townhouse, 3, 15000000)).
33
34owner(petrov, land_own(field, 40, 4000000)).
35owner(petrov, water_transport_own(hydrocycle, 200000)).
36owner(vasiliev, water_transport_own(boat, 100000)).
37
38rule_1_2(Surname, Brand, Cost):-owner(Surname, auto_own(Brand, _, Cost)).
39
40rule_1_2(Surname, Type, Cost):-owner(Surname, building_own(Type, _, Cost)).
41rule_1_2(Surname, Type, Cost):-owner(Surname, land_own(Type, _, Cost)).
42rule_1_2(Surname, Type, Cost):-owner(Surname, water_transport_own(Type, Cost)).
43goal
44%rule_1_2(ivanov, Own_name, _).
45
46%rule_1_2(petrov, Own_name, Cost).