1/* @(#)contai.pl	24.1 2/23/88 */
    2
    3/* 
    4	Copyright 1986, Fernando C.N. Pereira and David H.D. Warren,
    5
    6			   All Rights Reserved
    7*/
    8% Inversion of the 'in' relation.
    9% ------------------------------
   10
   11:-mode contains0(+,?).
   12
   13contains(X,Y) :- contains0(X,Y).
   14contains(X,Y) :- contains0(X,W), contains(W,Y).
   15
   16contains0(africa,central_africa).
   17contains0(africa,east_africa).
   18contains0(africa,north_africa).
   19contains0(africa,southern_africa).
   20contains0(africa,west_africa).
   21
   22contains0(america,caribbean).
   23contains0(america,central_america).
   24contains0(america,north_america).
   25contains0(america,south_america).
   26
   27contains0(asia,far_east).
   28contains0(asia,indian_subcontinent).
   29contains0(asia,middle_east).
   30contains0(asia,northern_asia).
   31contains0(asia,southeast_east).
   32
   33contains0(australasia,australia).
   34contains0(australasia,fiji).
   35contains0(australasia,new_zealand).
   36contains0(australasia,papua_new_guinea).
   37contains0(australasia,tonga).
   38contains0(australasia,western_samoa).
   39
   40contains0(europe,eastern_europe).
   41contains0(europe,scandinavia).
   42contains0(europe,southern_europe).
   43contains0(europe,western_europe).
   44
   45contains0(scandinavia,denmark).
   46contains0(scandinavia,finland).
   47contains0(scandinavia,norway).
   48contains0(scandinavia,sweden).
   49
   50contains0(western_europe,austria).
   51contains0(western_europe,belgium).
   52contains0(western_europe,eire).
   53contains0(western_europe,france).
   54contains0(western_europe,iceland).
   55contains0(western_europe,liechtenstein).
   56contains0(western_europe,luxembourg).
   57contains0(western_europe,netherlands).
   58contains0(western_europe,switzerland).
   59contains0(western_europe,united_kingdom).
   60contains0(western_europe,west_germany).
   61
   62contains0(eastern_europe,bulgaria).
   63contains0(eastern_europe,czechoslovakia).
   64contains0(eastern_europe,east_germany).
   65contains0(eastern_europe,hungary).
   66contains0(eastern_europe,poland).
   67contains0(eastern_europe,romania).
   68
   69contains0(southern_europe,albania).
   70contains0(southern_europe,andorra).
   71contains0(southern_europe,cyprus).
   72contains0(southern_europe,greece).
   73contains0(southern_europe,italy).
   74contains0(southern_europe,malta).
   75contains0(southern_europe,monaco).
   76contains0(southern_europe,portugal).
   77contains0(southern_europe,san_marino).
   78contains0(southern_europe,spain).
   79contains0(southern_europe,yugoslavia).
   80
   81contains0(north_america,canada).
   82contains0(north_america,united_states).
   83
   84contains0(central_america,belize).
   85contains0(central_america,costa_rica).
   86contains0(central_america,el_salvador).
   87contains0(central_america,guatemala).
   88contains0(central_america,honduras).
   89contains0(central_america,mexico).
   90contains0(central_america,nicaragua).
   91contains0(central_america,panama).
   92
   93contains0(caribbean,bahamas).
   94contains0(caribbean,barbados).
   95contains0(caribbean,cuba).
   96contains0(caribbean,dominican_republic).
   97contains0(caribbean,grenada).
   98contains0(caribbean,haiti).
   99contains0(caribbean,jamaica).
  100contains0(caribbean,trinidad_and_tobago).
  101
  102contains0(south_america,argentina).
  103contains0(south_america,bolivia).
  104contains0(south_america,brazil).
  105contains0(south_america,chile).
  106contains0(south_america,colombia).
  107contains0(south_america,ecuador).
  108contains0(south_america,french_guiana).
  109contains0(south_america,guyana).
  110contains0(south_america,paraguay).
  111contains0(south_america,peru).
  112contains0(south_america,surinam).
  113contains0(south_america,uruguay).
  114contains0(south_america,venezuela).
  115
  116contains0(north_africa,algeria).
  117contains0(north_africa,egypt).
  118contains0(north_africa,libya).
  119contains0(north_africa,morocco).
  120contains0(north_africa,tunisia).
  121
  122contains0(west_africa,cameroon).
  123contains0(west_africa,dahomey).
  124contains0(west_africa,equatorial_guinea).
  125contains0(west_africa,gambia).
  126contains0(west_africa,ghana).
  127contains0(west_africa,guinea).
  128contains0(west_africa,guinea_bissau).
  129contains0(west_africa,ivory_coast).
  130contains0(west_africa,liberia).
  131contains0(west_africa,mali).
  132contains0(west_africa,mauritania).
  133contains0(west_africa,niger).
  134contains0(west_africa,nigeria).
  135contains0(west_africa,senegal).
  136contains0(west_africa,sierra_leone).
  137contains0(west_africa,togo).
  138contains0(west_africa,upper_volta).
  139
  140contains0(central_africa,burundi).
  141contains0(central_africa,central_african_republic).
  142contains0(central_africa,chad).
  143contains0(central_africa,congo).
  144contains0(central_africa,gabon).
  145contains0(central_africa,rwanda).
  146contains0(central_africa,sudan).
  147contains0(central_africa,zaire).
  148
  149contains0(east_africa,djibouti).
  150contains0(east_africa,ethiopia).
  151contains0(east_africa,kenya).
  152contains0(east_africa,seychelles).
  153contains0(east_africa,somalia).
  154contains0(east_africa,tanzania).
  155contains0(east_africa,uganda).
  156
  157contains0(southern_africa,angola).
  158contains0(southern_africa,botswana).
  159contains0(southern_africa,lesotho).
  160contains0(southern_africa,malagasy).
  161contains0(southern_africa,malawi).
  162contains0(southern_africa,mauritius).
  163contains0(southern_africa,mozambique).
  164contains0(southern_africa,south_africa).
  165contains0(southern_africa,swaziland).
  166contains0(southern_africa,zambia).
  167contains0(southern_africa,zimbabwe).
  168
  169contains0(middle_east,bahrain).
  170contains0(middle_east,iran).
  171contains0(middle_east,iraq).
  172contains0(middle_east,israel).
  173contains0(middle_east,jordan).
  174contains0(middle_east,kuwait).
  175contains0(middle_east,lebanon).
  176contains0(middle_east,oman).
  177contains0(middle_east,qatar).
  178contains0(middle_east,saudi_arabia).
  179contains0(middle_east,south_yemen).
  180contains0(middle_east,syria).
  181contains0(middle_east,turkey).
  182contains0(middle_east,united_arab_emirates).
  183contains0(middle_east,yemen).
  184
  185contains0(indian_subcontinent,afghanistan).
  186contains0(indian_subcontinent,bangladesh).
  187contains0(indian_subcontinent,bhutan).
  188contains0(indian_subcontinent,india).
  189contains0(indian_subcontinent,maldives).
  190contains0(indian_subcontinent,nepal).
  191contains0(indian_subcontinent,pakistan).
  192contains0(indian_subcontinent,sri_lanka).
  193
  194contains0(southeast_east,burma).
  195contains0(southeast_east,cambodia).
  196contains0(southeast_east,indonesia).
  197contains0(southeast_east,laos).
  198contains0(southeast_east,malaysia).
  199contains0(southeast_east,philippines).
  200contains0(southeast_east,singapore).
  201contains0(southeast_east,thailand).
  202contains0(southeast_east,vietnam).
  203
  204contains0(far_east,china).
  205contains0(far_east,japan).
  206contains0(far_east,north_korea).
  207contains0(far_east,south_korea).
  208contains0(far_east,taiwan).
  209
  210contains0(northern_asia,mongolia).
  211contains0(northern_asia,soviet_union).
  212
  213contains0(afghanistan,amu_darya).
  214
  215contains0(angola,cubango).
  216contains0(angola,zambesi).
  217
  218contains0(argentina,buenos_aires).
  219contains0(argentina,parana).
  220
  221contains0(australia,melbourne).
  222contains0(australia,murray).
  223contains0(australia,sydney).
  224
  225contains0(austria,danube).
  226contains0(austria,vienna).
  227
  228contains0(bangladesh,brahmaputra).
  229
  230contains0(belgium,brussels).
  231
  232contains0(brazil,amazon).
  233contains0(brazil,parana).
  234contains0(brazil,rio_de_janeiro).
  235contains0(brazil,sao_paulo).
  236
  237contains0(burma,irrawaddy).
  238contains0(burma,salween).
  239
  240contains0(cambodia,mekong).
  241
  242contains0(canada,mackenzie).
  243contains0(canada,montreal).
  244contains0(canada,toronto).
  245contains0(canada,yukon).
  246
  247contains0(chile,santiago).
  248
  249contains0(china,amur).
  250contains0(china,brahmaputra).
  251contains0(china,canton).
  252contains0(china,chungking).
  253contains0(china,dairen).
  254contains0(china,ganges).
  255contains0(china,harbin).
  256contains0(china,hwang_ho).
  257contains0(china,indus).
  258contains0(china,kowloon).
  259contains0(china,mekong).
  260contains0(china,mukden).
  261contains0(china,peking).
  262contains0(china,salween).
  263contains0(china,shanghai).
  264contains0(china,sian).
  265contains0(china,tientsin).
  266contains0(china,yangtze).
  267
  268contains0(colombia,orinoco).
  269
  270contains0(czechoslovakia,danube).
  271contains0(czechoslovakia,elbe).
  272contains0(czechoslovakia,oder).
  273
  274contains0(east_germany,berlin).
  275contains0(east_germany,elbe).
  276
  277contains0(egypt,cairo).
  278contains0(egypt,nile).
  279
  280contains0(france,paris).
  281contains0(france,rhone).
  282
  283contains0(ghana,volta).
  284
  285contains0(greece,athens).
  286
  287contains0(guinea,niger_river).
  288contains0(guinea,senegal_river).
  289
  290contains0(hungary,budapest).
  291contains0(hungary,danube).
  292
  293contains0(india,bombay).
  294contains0(india,calcutta).
  295contains0(india,delhi).
  296contains0(india,ganges).
  297contains0(india,hyderabad).
  298contains0(india,indus).
  299contains0(india,madras).
  300
  301contains0(indonesia,jakarta).
  302
  303contains0(iran,tehran).
  304
  305contains0(iraq,euphrates).
  306
  307contains0(italy,milan).
  308contains0(italy,naples).
  309contains0(italy,rome).
  310
  311contains0(japan,kobe).
  312contains0(japan,kyoto).
  313contains0(japan,nagoya).
  314contains0(japan,nanking).
  315contains0(japan,osaka).
  316contains0(japan,tokyo).
  317contains0(japan,yokohama).
  318
  319contains0(laos,mekong).
  320
  321contains0(lesotho,orange).
  322
  323contains0(mali,niger_river).
  324contains0(mali,senegal_river).
  325
  326contains0(mexico,colorado).
  327contains0(mexico,mexico_city).
  328contains0(mexico,rio_grande).
  329
  330contains0(mongolia,amur).
  331contains0(mongolia,yenisei).
  332
  333contains0(mozambique,limpopo).
  334contains0(mozambique,zambesi).
  335
  336contains0(netherlands,rhine).
  337
  338contains0(niger,niger_river).
  339
  340contains0(nigeria,niger_river).
  341
  342contains0(pakistan,indus).
  343contains0(pakistan,karachi).
  344
  345contains0(paraguay,parana).
  346
  347contains0(peru,amazon).
  348contains0(peru,lima).
  349
  350contains0(philippines,manila).
  351
  352contains0(poland,oder).
  353contains0(poland,vistula).
  354contains0(poland,warsaw).
  355
  356contains0(portugal,tagus).
  357
  358contains0(romania,bucharest).
  359contains0(romania,danube).
  360
  361contains0(senegal,senegal_river).
  362
  363contains0(singapore,singapore_city).
  364
  365contains0(south_africa,cubango).
  366contains0(south_africa,johannesburg).
  367contains0(south_africa,limpopo).
  368contains0(south_africa,orange).
  369
  370contains0(south_korea,pusan).
  371contains0(south_korea,seoul).
  372
  373contains0(soviet_union,amu_darya).
  374contains0(soviet_union,amur).
  375contains0(soviet_union,don).
  376contains0(soviet_union,kiev).
  377contains0(soviet_union,lena).
  378contains0(soviet_union,leningrad).
  379contains0(soviet_union,moscow).
  380contains0(soviet_union,ob).
  381contains0(soviet_union,volga).
  382contains0(soviet_union,yenisei).
  383
  384contains0(spain,barcelona).
  385contains0(spain,madrid).
  386contains0(spain,tagus).
  387
  388contains0(sudan,nile).
  389
  390contains0(switzerland,rhine).
  391contains0(switzerland,rhone).
  392
  393contains0(syria,euphrates).
  394
  395contains0(thailand,bangkok).
  396
  397contains0(turkey,euphrates).
  398contains0(turkey,istanbul).
  399
  400contains0(uganda,nile).
  401
  402contains0(united_kingdom,birmingham).
  403contains0(united_kingdom,glasgow).
  404contains0(united_kingdom,london).
  405
  406contains0(united_states,chicago).
  407contains0(united_states,colorado).
  408contains0(united_states,detroit).
  409contains0(united_states,los_angeles).
  410contains0(united_states,mississippi).
  411contains0(united_states,new_york).
  412contains0(united_states,philadelphia).
  413contains0(united_states,rio_grande).
  414contains0(united_states,yukon).
  415
  416contains0(upper_volta,volta).
  417
  418contains0(venezuela,caracas).
  419contains0(venezuela,orinoco).
  420
  421contains0(vietnam,mekong).
  422contains0(vietnam,saigon).
  423
  424contains0(west_germany,danube).
  425contains0(west_germany,elbe).
  426contains0(west_germany,hamburg).
  427contains0(west_germany,rhine).
  428
  429contains0(yugoslavia,danube).
  430
  431contains0(zaire,congo_river).
  432
  433contains0(zambia,congo_river).
  434contains0(zambia,zambesi)