home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / lifeos2.zip / LIFE-1.02 / TESTS / FILES / BABEL.LF next >
Text File  |  1996-06-04  |  67KB  |  2,032 lines

  1. % PVR (17.9.92): Several spelling errors have been corrected.
  2. %                Alas, much of the hierarchy is inconsistent because
  3. %                the 'definition' fields clash!
  4.  
  5.     %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  6.     %                                            %
  7.     %        THE    LIBRARY    OF    BABEL       %
  8.     %                                            %
  9.     %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  10.  
  11. % The Knowledge Base of BABEL
  12.  
  13. %                [...]  solution to the ancient problem:
  14. %                The library is unlimited and cyclical.}
  15. %                If an eternal traveler were to cross it
  16. %                in   any  direction, after centuries he
  17. %                would  see that  the same volumes  were
  18. %                repeated in  the same  disorder (which,
  19. %                thus repeated,  would be an  order: the
  20. %                Order).
  21. %                
  22. %                                      Jorge Luis Borges
  23. %                                   The Library of Babel
  24.  
  25.  
  26. %                The  practical  upshot of all  this  is
  27. %                that if you stick a  Babel fish in your
  28. %                ear  you   can    instantly  understand
  29. %                everything said  to you  in any form of
  30. %                language.
  31. %                
  32. %                                          Douglas Adams
  33. %                  The Hitchhicker's Guide to the Galaxy
  34.  
  35.  
  36.    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  37.    %                                                                  %
  38.    %   The class 'library_material' is a class of  all materials in   %
  39.    %   the library, and  hence can be defined as  the highest class   %
  40.    %   of the library class  hierarchy.  Each  library  item is  an   %
  41.    %   instance of  'library_material'.   Every library item shares   %
  42.    %   common  attributes.  Those common attributes can  be defined   %
  43.    %   at the highest class  of  the hierarchy, 'library_material'.   %
  44.    %   Among the  attributes of  each  object,  definition explains   %
  45.    %   what the object is, and attribute explains the attributes of   %
  46.    %   the  object if  the object  has  any  attributes other  than   %
  47.    %   definition.                                                    %
  48.    %                                                                  %
  49.    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  50.  
  51. op(100,xfx,--)?
  52.  
  53. library_material := 
  54.    @(title => string
  55.     ,l_responsibility => list_responsibility
  56.     ,s_responsibility => set_responsibility
  57.     ,language => languages
  58.     ,subject => subjects
  59.     ,publisher => publish
  60.     ,call_number => lc_number
  61.     ,date_of_pub => date
  62.     ,lend_info => lend_tab
  63.     ,recalled => record__key
  64.     ,recall_info => record__key
  65.     ,reserve_info => record__key
  66.     ,definition => "library_material spans all objects in the library"
  67.     ,attribute => "
  68.      'library_material' has following attributes:").
  69. %       title: the title of the item.
  70. %       l_responsibility and s_responsibility:
  71. %            the name of either authors, editors or associations which are
  72. %            responsible for the item. The difference between these two is
  73. %            the later keeps the names as a disjunctive classes, 
  74. %            while the former keeps those as a list of names.
  75. %       language: the language in which the item is described.
  76. %       publisher: the information about the publisher.
  77. %       call_number: the library of congress number.
  78. %       date_of_pub: the date of publish.
  79. %       lend_info: the information about lend status of the item.
  80. %       recalled:  a record__key which is the key of the record which 
  81. %           contains either 'yes' or 'no' to show whether the item is recalled.
  82. %       recall_info: a record__key which is the key of the record which contains
  83. %            the information table for the user who recalled the item.
  84. %       reserve_info: a record__key which is the key of the record which 
  85. %            contains the reserve information of the item.").
  86.  
  87. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  88. %   if the value 'type' in 'lresponsibility' is 'author',                  %
  89. %    then 'list_responsibility'  has an attribute, 'author => name_list',  %
  90. %  if the value 'type' in 'lresponsibility' is 'editor',                   %
  91. %    then 'list_responsibility'  has an attribute, 'editor => name_list',  %
  92. %  if the value 'type' in 'lresponsibility' is 'association',              %
  93. %    then 'list_responsibility'  has an attribute,                         %
  94. %                                            'association => assoc_list'.  %
  95. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  96.  
  97. list_responsibility :=
  98.    { author_list(type => author, author => name_list)
  99.    ; editor_list(type => editor, editor => name_list)
  100.    ; association_list(type => association, association => assoc_list)}.
  101.  
  102. set_responsibility :=
  103.    { author_set(type => author, author => name_set)
  104.    ; editor_set(type => editor, editor => name_set)
  105.    ; association_set(type => association, association => assoc_set)}.
  106.  
  107. name_set -> 
  108.     { full_name ; name_set }.
  109.  
  110. assoc_set ->
  111.     { string ; assoc_set }.
  112.  
  113. name_list := 
  114.    @(name => full_name
  115.     ,co_name => name_list
  116.     ,definition => "'name_list' is a list of names of people"
  117.     ,attribute => "
  118.      'name_list' has two attributes:
  119.        'name': A full name of a person.
  120.        'co_name': Either instantiated to a name_list or uninstantiated.
  121.                   If co_name is instantiated to a name_list, name_list 
  122.                   has a full_name of another people.").
  123.  
  124. full_name := 
  125.    @(fname => string
  126.     ,mname => string
  127.     ,lname => string
  128.     ,definition => "'full_name' is a full name of a person"
  129.     ,attribute => "
  130.      'full_name' has three attributes. 'fname' for first name,
  131.      'mname' for middle name, 'lname' for last name").
  132.  
  133. assoc_list := 
  134.    @(assoc_name => string
  135.     ,co_assoc => assoc_list
  136.     ,definition => "'assoc_name' is a list of the names of associations"
  137.     ,attribute => "
  138.      'assoc_list' has two attributes.
  139.         'assoc_name' is a name of an association,
  140.         'co_assoc' is either another 'assoc_list' or uninstantiated."). 
  141.  
  142.  
  143. languages := 
  144.     {english;french;german;japanese;chinese;korean;
  145.      spanish; portuguese;italian;latin;greek;hebrew}.
  146.  
  147. publish := 
  148.    @(publisher_name => List1
  149.     ,address => place
  150.     ,definition => "'publish' has the information of publisher"
  151.     ,attribute => "'publish' has two attributes, publisher_name and address.").
  152.  
  153. place  :=  
  154.    @(street => string
  155.     ,city   => string
  156.     ,state  => string
  157.     ,zip_code => string
  158.     ,nation => string
  159.     ,definition => "'place' is an address"
  160.     ,attribute => "
  161.      'place' has five attributes: 'street' which is a street address, 
  162.      'city', 'state', 'zip_code', and 'nation'").
  163.  
  164. lc_number :=
  165.    @(c_letter => string
  166.     ,f_digit  => [1--9999]
  167.     ,s_digit  => [1--9999999]
  168.     ,cuttering => string
  169.     ,definition => "'lc_number' is a library congress number."
  170.     ,attribute => "
  171.      'lc_number' consists of four attributes:
  172.         'c_letter': a category letter which is one or two alphabet characters.
  173.         'f_digit':  the first four digits of lc_number.
  174.         's_digit':  the second 7 digits.
  175.         'cuttering':  a cutterring of the item" ).
  176.  
  177. date  :=  
  178.    @(day => [1--31]
  179.     ,month => [1--12]
  180.     ,year => [0--3000]
  181.     ,definition => "It is a date"
  182.     ,attribute => "'date' has three attributes, day, month, and year").
  183.  
  184. lend_tab := 
  185.    @(library_use_only  => record__key      % a key of a record of boolean
  186.     ,lend_period       => record__key      % a key of a record of period
  187.     ,checked_out       => record__key      % a key of a record of boolean
  188.     ,checking_time     => record__key      % a key of a record of time
  189.     ,ss_number         => record__key      % a key of a record of ss_num
  190.     ,return_time       => record__key      % a key of a record of time
  191.     ,definition => "
  192.      'lend_tab' contains informations about lend status of a material"
  193.     ,attribute => "
  194.      'lend_tab' has five attributes:
  195.        'library_use_only': boolean if a material can be checked out.
  196.        'lend_period'  :  allowed check out period of a material.
  197.        'checked_out'  :  a boolean if a material is currently checked out.
  198.        'checking_time':  the time a material is checked out.
  199.        'return_time'  :  the time a material is returned." ).
  200.  
  201. boolean := {yes;no}.
  202.  
  203. period := 
  204.    @(unit => time_unit
  205.     ,amount => integer
  206.     ,definition => "It is a period"
  207.     ,attribute => "
  208.      'period' has two attributes:
  209.        'unit': a unit of time.
  210.        'amount': the amount of time. 
  211.      For example, if 'unit' is 'weeks' and 'amount' is 5, 
  212.      then 'period' is 5 weeks.").
  213.  
  214. time_unit := {hours; days; weeks; months; years}.
  215.  
  216. time := 
  217.    @(minute => [0--59]
  218.     ,hour   => [0--23]
  219.     ,check_date => date
  220.     ,definition => "It is a time"
  221.     ,attribute => "
  222.      'time' has three attributes:
  223.        'minute', 'hour', and 'check_date' which is the date of the time").
  224.  
  225. recall_tab := 
  226.    @(type => {recall; search}
  227.     ,ss_number => ss_num
  228.     ,more => record__key         % a key of a record of another recall_tab
  229.     ,definition => "
  230.      'recall_tab' is a table which contains the information for
  231.       all recall requests for the material."
  232.     ,attribute => "
  233.      'recall_tab' has five attributes:
  234.         'type': the type of recall, recall or search.
  235.         'ss_number': a social security number of the user.
  236.         'more': a record__key to 'recall_tab' for another user who 
  237.                 recalled the same item.").
  238.  
  239. ss_num := 
  240.    @(first => ['000'--'999']
  241.     ,middle => ['00'--'99']
  242.     ,last  => ['0000'--'9999']
  243.     ,definition => "'ss_num' is a social security number"
  244.     ,attribute => "
  245.      'ss_num' has three attributes:
  246.         'first': the first three digits of a social security number.
  247.         'middle': the two digits in the middle.
  248.         'last': is the last four digits.").
  249.  
  250. reserve_tab := 
  251.    @(instructor => full_name
  252.     ,course_name => string
  253.     ,course_number => string
  254.     ,semester => semesters
  255.     ,year => [1900--2000]
  256.     ,definition => "
  257.      'reserve_tab' is a table which contains informations about course name,
  258.       instructor, and reserved period."
  259.     ,attribute => "
  260.      'reserve_tab' has six attributes:
  261.         'instructor': the name of the instructor reserved the item.
  262.         'course_name' and 'course_number' for which the item is reserved.
  263.         'lend_period': the lend period of the item.
  264.         'semester' and 'year': the semester during which the item is reserved.").
  265.  
  266. semesters := {spring; summer; fall}.
  267.  
  268. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  269. %                                                                  %
  270. %  Hierarchy of the class of library objects according to physical %
  271. %  description.                                                    %
  272. %                                                                  %
  273. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  274.  
  275. printed_monograph := 
  276.   library_material
  277.     (pages => integer
  278.     ,definition => "
  279.      'printed_monograph' is a class of all printed material including books,
  280.       pamphlets, and printed sheets."
  281.     ,attribute => "
  282.      'printed_monograph' has attribute, 'pages', which is the number of pages
  283.       of the material. It has two subclasses, 'pamphlet' and 'monograph'." ).
  284.  
  285. pamphlet := 
  286.   printed_monograph
  287.    (definition => "'pamphlet' is a class of all printed sheets and pamphlets.").
  288.  
  289. monograph := 
  290.   printed_monograph
  291.     (isbn => string
  292.     ,definition => "'monograph' is a class of all kinds of books."
  293.     ,attribute => "
  294.      'monograph' has an attribute, 'isbn', which is an international standard 
  295.       book number of the item. It has three subclasses, 'thesis', 'textbook',
  296.       and 'books'.").
  297.  
  298. thesis := 
  299.   monograph
  300.     (major => string
  301.     ,institute => string
  302.     ,degree => degree_list
  303.     ,award_date => date
  304.     ,definition => "'thesis' is a class of theses including technical report."
  305.     ,attribute => "
  306.      'thesis' has attributes, 'major', 'institute', 'degree', and 
  307.       'award_date'.  It has one subclass, technical_report.").
  308.  
  309. technical_report := 
  310.     thesis
  311.     (report_number => string
  312.     ,definition => "
  313.      'technical_report' is a class of all technical reports."
  314.     ,attribute => "
  315.      'technical_report' has an attribute, 'number', which is a serial 
  316.       number of a technical report.").
  317.  
  318. degree_list := {'Ph.D'; 'M.A.';'M.S.';'M.D.';'M.B.A.'}.
  319.  
  320. textbook := 
  321.   monograph
  322.     (edition => integer
  323.     ,definition => "'textbook' is a class of all textbooks."
  324.     ,attribute => "
  325.      'textbook' has an attribute, edition, which is an edition number. 
  326.       It has two subclasses, 'elementary_textbook', and 'advanced_textbook'.").
  327.  
  328. elementary_textbook := 
  329.   textbook
  330.     (definition => "
  331.      'elementary_textbook' is a class of all textbooks for elementary school.").
  332.  
  333. advanced_textbook := 
  334.   textbook
  335.     (definition => "
  336.      'advanced_textbook' is a class of all textbooks for high school.").
  337.  
  338. books := 
  339.   monograph
  340.     (edition => integer
  341.     ,definition => "'books' is a class of all books."
  342.     ,attribute => "
  343.      'books' has an attribute, edition, for the edition number of a book.
  344.       It has several subclasses.   Those are 'multi_volume_books', 
  345.       'single_volume_books', and 'series_books'.").
  346.  
  347. multi_volume_books := 
  348.   books
  349.     (volume => integer
  350.     ,definition => "
  351.      'multi_volume_books' is a class of all books which consist of several 
  352.       volumes.    However it does not include 'series_books'."
  353.     ,attribute => "
  354.      'multi_volume_books' has an attribute, 'volume', which is the volume
  355.       number of the book.").
  356. single_volume_books := 
  357.   books
  358.     (definition => "
  359.      'single_volume_books' is a class of all single volume books.").
  360.  
  361. cartographic_material := 
  362.   library_material
  363.    (definition => "
  364.       'cartographic_material' is a class of all geographical representations.
  365.        It has several subclasses include 'globes' and 'maps_atlas'.").
  366.  
  367. globes := 
  368.   cartographic_material
  369.     (scale => integer
  370.     ,definition => "'globes' is a class of all 3-dimensional globes of earth."
  371.     ,attribute => "
  372.      'globes' has an attribute, scale, which is a reciprocal of scale, 
  373.       i.e., 50000 for  1 : 50000 scale globe.").
  374.  
  375. maps_atlas := 
  376.   cartographic_material
  377.     (edition => integer
  378.     ,definition => "'maps_atlas' is a class of all kind of maps and atlas."
  379.     ,attribute => "
  380.      'maps_atlas' has an attribute, 'edition', which has edition number.
  381.       It has several subclasses including 'maps' and 'atlas'.").
  382.  
  383. maps := 
  384.   maps_atlas
  385.     (scale => integer
  386.     ,definition => "'maps' is a class of all maps."
  387.     ,attribute => "
  388.      'maps' has an attribute, 'scale', which is a reciprocal of scale.").
  389.  
  390. atlas := 
  391.   maps_atlas
  392.     (isbn => string
  393.     ,pages => integer
  394.     ,definition => "
  395.      'atlas' is a volume of maps with or without descriptive letterpress."
  396.     ,attribute => "
  397.      'atlas' has attributes, 'isbn and 'pages'. 
  398.         'isbn' is an international standard book number,
  399.         'pages' is the number of pages in an atlas.
  400.       It has several subclasses including 'world_atlas', 'national_atlas',
  401.       and 'thematic_atlas'.").
  402.  
  403. world_atlas := 
  404.   atlas
  405.     (definition => "
  406.      'world_atlas' is a class of all atlas which contain mostly world maps.").
  407.  
  408. national_atlas := 
  409.   atlas
  410.     (definition => "
  411.      'national_atlas' is a class of all atlas which contains national maps.").
  412.  
  413. world_map := 
  414.   maps
  415.     (definition => "
  416.      'world_map' is a class of all maps which describe the world.").
  417.  
  418. national_map := 
  419.   maps
  420.     (definition => "
  421.      'national_map' is a class of all maps which describe a nation").
  422.  
  423. local_map := 
  424.   maps
  425.     (definition => "
  426.      'local_map' is a class of all maps which describe a part of a nation.").
  427.  
  428. music_score := 
  429.   library_material
  430.     (edition => integer
  431.     ,op_number => integer
  432.     ,pages => integer
  433.     ,definition => "'music_score' is a class of all music score."
  434.     ,attribute => "
  435.      'music_score' has three attributes. 'edition' for edition number,
  436.      'op_number' for opus number, and 'pages' for the number of pages.").
  437.  
  438. chorus_score := 
  439.   music_score
  440.     (definition => "
  441.      'chorus_score' is a class of all scores of vocal work showing only
  442.       the chorus part.").
  443.  
  444. instrument_score :=
  445.   music_score
  446.     (definition => "
  447.      'instrument_score' is a class of all scores of a instrument part
  448.       of a music.").
  449.  
  450. vocal_score := 
  451.   music_score
  452.     (definition => "
  453.      'vocal_score' is a class of all scores showing all vocal parts.").
  454.  
  455. sound_recording :=
  456.   library_material
  457.     (playing_time => running_time
  458.     ,num_channel => channels
  459.     ,recording_type => rec_type
  460.     ,definition => "
  461.      'sound_recording' is a class of all recordings."
  462.     ,attribute => "
  463.      'sound_recording' has three attributes. 'playing_time' is total
  464.       playing time of a recording. 'num_channel' is the number of channel,
  465.       'recording_type' is the type of recording such as digital for digital
  466.       recording, and analog for analog recording.
  467.       It has sevral subclasses including 'disk', 'tape', and 'sound_film'.").
  468.  
  469. running_time := 
  470.    @(sec => [0--59]
  471.     ,min => [0--59]
  472.     ,hour => [0--99]
  473.     ,definition => "'running_time' is the total playing time."
  474.     ,attribute => "'runing_time' has attributes, 'sec', 'min', and 'hour'.").
  475.  
  476. channels := {mono; stereo; '4_track'; '8_track'}.
  477. rec_type := {analog; digital}.
  478.  
  479. disc := 
  480.   sound_recording
  481.     (definition => "
  482.      'disc' is a class of all sound recordings which are recorded on disc.
  483.       It has several subclasses including 'compact_disc' and 'poly_disc'.") .
  484.  
  485. compact_disc := 
  486.   disc
  487.     (definition => "'compact_disc' is a class of all compact discs.").
  488.  
  489. poly_disc :=
  490.   disc
  491.     (playing_speed => disc_speed
  492.     ,definition => "'poly_disc' is a class of all conventional record discs."
  493.     ,attribute => "
  494.      'poly_disc' has an attribute, 'playing_speed', which is the speed of 
  495.       a turntable for the disc.").
  496.  
  497. disc_speed := {lp; sp; lsp}.
  498.  
  499. tape := 
  500.   sound_recording
  501.     (definition => "
  502.      'tape' is a class of all sound recording recorded in tape.
  503.       It has several subclasses including 'cassette', 'cartridge',
  504.       and 'reel_to_reel' according to extent of item.").
  505.  
  506. cassette := 
  507.   tape
  508.     (definition => "'cassette' is a class of all cassette tape.").
  509.  
  510. cartridge := 
  511.   tape
  512.     (definition => "'cartridge is a class of all cartridge tape.").
  513.  
  514. reel_to_reel :=
  515.   tape
  516.     (definition => "
  517.      'reel_to_reel' is a class of all open reel tape.").
  518.  
  519. motion_picture := 
  520.   library_material
  521.     (playing_time => running_time
  522.     ,color => boolean
  523.     ,sound => boolean
  524.     ,definition => "
  525.      'motion_picture' is a class of all films including cideo tapes and 
  526.       video discs."
  527.     ,attribute => "
  528.      'motion_picture' has three attributes. 
  529.        'playing_time' is the total length of playing time. 
  530.        'color' is a boolean showing whether the color of images is
  531.         natural color or black and white. 
  532.        'sound' is a boolean which shows whether it has sound.").
  533.  
  534. motion_film :=
  535.   motion_picture
  536.     (definition => "
  537.      'motion_film' is a class of allN motion_picture in length of film.").
  538.  
  539. video_tape := 
  540.   motion_picture
  541.     (definition => "'video_tape' is a class of all video cassette tapes.").
  542.  
  543. video_disc := 
  544.   motion_picture
  545.     (definition => "'video_disc' is a class of all video disc.").
  546.  
  547. sound_film := 
  548.   sound_recording
  549.     (definition => "'sound_film' is a class of all film with sound track.").
  550.  
  551. sound_film <| motion_film.
  552.  
  553. sound_vtape := 
  554.   sound_recording
  555.     (definition => "
  556.      'sound_vtape' is a class of all video tape with sound track.").
  557.  
  558. sound_vtape <| video_tape.
  559.  
  560. sound_vdisc := 
  561.   sound_recording
  562.     (definition => "
  563.      'sound_vdisc' is a class of all video disc with sound track.").
  564.  
  565. sound_vdisc <| video_disc.
  566.  
  567. microforms := 
  568.   library_material
  569.     (definition => "
  570.      'microforms' is a class of all library material in any medium 
  571.       transparent or opaque, bearing micro images.").
  572.  
  573. microfilm := 
  574.   microforms
  575.     (definition => "'microfilm' is a class of all microfilms.").
  576.  
  577. microfiche := 
  578.   microforms
  579.     (num_frame => integer
  580.     ,definition => "
  581.      'microfiche' is a class of all microforms in a sheet of
  582.       film bearing a number of microimages in a two dimensional array."
  583.     ,attribute => "
  584.      'microfiche' has an attribute, 'num_frame', which is the number of 
  585.       microimages in each sheet.").
  586.  
  587. books_in_microforms := 
  588.   microforms
  589.     (definition => "
  590.      'books_in_microforms' is a class of all microforms whose content 
  591.       is the copy of a book.").
  592.  
  593. books_in_microforms <| books.
  594.  
  595. multi_volume_books_in_microforms := 
  596.   multi_volume_books
  597.     (definition => "
  598.      'multi_volume_books_in_microforms' is a class of all microforms of 
  599.       which content is the copy of a multi_volume book.").
  600.  
  601. multi_volume_books_in_microforms <| books_in_microforms.
  602.  
  603. single_volume_books_in_microforms := 
  604.   single_volume_books
  605.     (definition => "
  606.      'single_volume_books_in_microforms' is a class of all microforms of 
  607.       which content is the copy of a single_volume book.").
  608.  
  609. single_volume_books_in_microforms <| books_in_microforms.
  610.  
  611. books_in_microfilm := 
  612.   microfilm
  613.     (definition => "
  614.      'books_in_microfilm' is a class of all microfilms whose content 
  615.       is the copy of a book.").
  616.  
  617. books_in_microfilm <| books.
  618.  
  619. multi_volume_books_in_microfilm := 
  620.   multi_volume_books_in_microforms
  621.     (definition => "
  622.      'multi_volume_books_in_microfilm' is a class of all  microfilms
  623.       whose content is the copy of a multi_volume book.").
  624.  
  625. multi_volume_books_in_microfilm <| books_in_microfilm.
  626.  
  627. single_volume_books_in_microfilm := 
  628.   single_volume_books_in_microforms
  629.     (definition => "
  630.      'single_volume_books_in_microfilm' is a class of all microfilms
  631.       whose content is the copy of a single_volume book.").
  632.  
  633. single_volume_books_in_microfilm <| books_in_microfilm.
  634.  
  635. serials := 
  636.   library_material
  637.     (volume => integer
  638.     ,number => integer
  639.     ,issn => string
  640.     ,definition => "
  641.      'serials' is a class of all publications in any medium issued in 
  642.       successive parts bearing numerical or chronological designations 
  643.       and intended to be continued indefinitely."
  644.     ,attribute => "
  645.      'serials' has three attributes, 'volume' for a volume number of a 
  646.       material, 'number' for a number within a volume, 
  647.       and 'issn' for international standard serial number.").
  648.  
  649. series := 
  650.   serials
  651.     (definition => "
  652.      'series' is a group of seperate items related one another by the 
  653.       fact that each item bears.").
  654.  
  655. series_books := 
  656.   books
  657.     (definition => "'series_books' is a class of all books in series").
  658.  
  659. series_books <| series.
  660.  
  661. series_books_in_microforms := 
  662.   series_books
  663.     (definition => "
  664.      'series_books_in_microforms' is a class of all microforms whose
  665.       content is a copy of a series books.").
  666.  
  667. series_books_in_microforms <| books_in_microforms.
  668.  
  669. series_books_in_microfilm := 
  670.   series_books_in_microforms
  671.     (definition => "
  672.      'series_books_in_microfilm' is a class of all microfilms whose 
  673.       content is a copy of a series book.").
  674.  
  675. series_books_in_microfilm <| books_in_microfilm.
  676.  
  677. periodical := 
  678.   serials
  679.     (definition := "
  680.      'periodical' is a class of all serials which is regulary issued.").
  681.  
  682. academic_journal := 
  683.   serials
  684.     (definition => "
  685.      'academic_journal' is a class of all journals whose content is 
  686.       a news of academic society and research papers.").
  687.  
  688. journalism_serial := 
  689.   serials
  690.     (definition => "
  691.      'journalism_serial' is a class of all serials of news media, including
  692.       newspaper, weekly news magazine.").
  693.  
  694. magazines := 
  695.   serials
  696.     (definition => "
  697.      'magazines' is a class of all magazines which are not academic journals
  698.       nor news magazines. It includes magazine for hobbiest and consumer
  699.       reports.").
  700.  
  701. transactions := 
  702.   serials
  703.     (definition => "
  704.      'transactions' is a class of all transactions of societies").
  705.  
  706. proceedings :=
  707.   serials
  708.     (definition => "
  709.      'proceedings' is a class of all proceedings of conferences of societies.").
  710.  
  711. daily_periodical := 
  712.   periodical
  713.     (frequency => 'daily'
  714.     ,definition => "
  715.      'daily_periodical' is a class of all periodicals issued daily."
  716.     ,attribute => "
  717.      'daily_periodical' has one attribute, 'frequency', whose value is
  718.       a string, 'daily'.").
  719.  
  720. weekly_periodical := 
  721.   periodical
  722.     (frequency => 'weekly'
  723.     ,definition => "
  724.      'weekly_periodical' is a class of all periodicals issued weekly."
  725.     ,attribute => "
  726.      'weekly_periodical' has an attribute, 'frequency', whose value is
  727.       a string, 'weekly'.").
  728.  
  729. monthly_periodical := 
  730.   periodical
  731.     (frequency => 'monthly'
  732.     ,definition => "
  733.      'monthly_periodical' is a class of all periodicals issued monthly."
  734.     ,attribute => "
  735.      'monthly_periodical' has an attribute, 'frequency', whose value is
  736.       a string, 'monthly'.").
  737.  
  738. quarterly_periodical := 
  739.   periodical
  740.     (frequency => 'quarterly'
  741.     ,definition => "
  742.      'quarterly_periodical' is a class of all periodicals issued quarterly."
  743.     ,attribute => "
  744.      'quarterly_periodical' has one attribute, 'frequency', whose value is
  745.       a string, 'quarterly'.").
  746.  
  747. yearly_periodical := 
  748.   periodical
  749.     (frequency => 'yearly'
  750.     ,definition => "
  751.      'yearly_periodical' is a class of all periodicals issued yearly."
  752.     ,attribute => "
  753.      'yearly_periodical' has one attribute, 'frequency', whose value is
  754.       a string, 'yearly'.").
  755.  
  756. weekly_academic_journal := 
  757.   weekly_periodical
  758.     (definition => "
  759.      'weekly_academic_journal' is a class of all academic journals
  760.      issued every week.").
  761.  
  762. weekly_academic_journal <| academic_journal.
  763.  
  764. monthly_academic_journal := 
  765.   monthly_periodical
  766.     (definition => "
  767.      'monthly_academic_journal' is a class of all academic journals
  768.       issued every month.").
  769.  
  770. monthly_academic_journal <| academic_journal.
  771.  
  772. quarterly_academic_journal := 
  773.   quarterly_periodical
  774.     (definition => "
  775.      'quarterly_academic_journal' is a class of all academic journals
  776.       issued every three months.").
  777.  
  778. quarterly_academic_journal <| academic_journal.
  779.  
  780. yearly_academic_journal := 
  781.   yearly_periodical
  782.     (definition => "
  783.      'yearly_academic_journal' is a class of all academic journals
  784.       issued every year.").
  785.  
  786. yearly_academic_journal <| academic_journal.
  787.  
  788. daily_newspaper := 
  789.   daily_periodical
  790.     (definition => "
  791.      'daily_newspaper' is a class of all newspapers which are
  792.       issued on every day.").
  793.  
  794. daily_newspaper <| journalism_serial.
  795.  
  796. weekly_news_magazine := 
  797.   weekly_periodical
  798.     (definition => "
  799.      'weekly_news_magazine' is a class of all news magazines
  800.       issued every week.").
  801.  
  802. weekly_news_magazine <| journalism_serial.
  803.  
  804. monthly_news_magazine := 
  805.   monthly_periodical
  806.     (definition => "
  807.      'monthly_news_magazine' is a class of all news magazines which are
  808.       issued every month.").
  809.  
  810. monthly_news_magazine <| journalism_serial.
  811.  
  812. weekly_magazine := 
  813.   magazine
  814.     (definition => "
  815.      'weekly_magazine' is a class of all magazines which is issued
  816.       every week.").
  817.  
  818. weekly_magazine <| weekly_periodical.
  819.  
  820. monthly_magazine <| monthly_periodical.
  821.  
  822. monthly_magazine := 
  823.   magazine
  824.     (definition => "
  825.      'monthly_magazine' is a class of all  magazines which are issued
  826.       every month.").
  827.  
  828. quarterly_magazine := 
  829.   magazine
  830.     (definition => "
  831.      'quarterly_magazine' is a class of all magazines which are issued
  832.       every three months.").
  833.  
  834. quarterly_magazine <| quarterly_periodical.
  835.  
  836. monthly_transactions := 
  837.   transactions
  838.     (definition => "
  839.      'monthly_transactions' is a class of all transactions of  
  840.       societies issued every month.").
  841. monthly_transactions <| monthly_periodical.
  842.  
  843. quarterly_transactions := 
  844.   transactions
  845.     (definition => "
  846.      'quarterly_transactions' is a class of all transactions of societies
  847.       issued every three months.").
  848.  
  849. quarterly_transactions <| qurterly_periodical.
  850.  
  851. yearly_transactions := 
  852.   transactions
  853.     (definition => "
  854.      'yearly_transactions' is a class of all transactions of a 
  855.       society  issued every year.").
  856. yearly_transactions <| yearly_periodical.
  857.  
  858. monthly_proceedings := 
  859.   proceedings
  860.     (definition => "
  861.      'monthly_proceedingss' is a class of all proceedings of  
  862.       conference of societies issued every month.").
  863.  
  864. monthly_proceedings <| monthly_periodical.
  865.  
  866. quarterly_proceedings := 
  867.   proceedings
  868.     (definition => "
  869.      'quarterly_proceedingss' is a class of all proceedings of 
  870.       conference of societies issued every three months.").
  871.  
  872. quarterly_proceedings <| qurterly_periodical.
  873.  
  874. yearly_proceedings := 
  875.   proceedings
  876.     (definition => "
  877.      'yearly_proceedingss' is a class of all proceedings of a
  878.       conference of societies which is issued every year.").
  879.  
  880. yearly_proceedings <| yearly_periodical.
  881.  
  882. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  883. %                                                                 %
  884. %                  Hierarchy according to subject.                %
  885. %                                                                 %
  886. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  887.  
  888. general_reference :=
  889.   library_material
  890.     (definition => "
  891.      'general_reference' is a class of all materials which are 
  892.       used as references.").
  893.  
  894. encyclopedia :=
  895.   general_reference
  896.     (definition => "
  897.      'encyclopedia' is a class of all encyclopedia. It has 
  898.       two subclasses, 'general_encyclopedia' and 'subject_encyclopedia'").
  899.  
  900. dictionary  :=
  901.   general_reference
  902.     (definition => "
  903.      'dictionary' is a class of all dictionary. It has several subclasses
  904.       including 'unabridged_dictionary', 'desk_dictionary',
  905.       and special_dictionary.").
  906.  
  907. geographic_reference :=
  908.   general_reference
  909.     (definition => "
  910.      'geographic_reference' is a class of references for all kinds of
  911.       geographic matter. It has several subclasses like 'maps_atlas', 
  912.       'gazeteer', and 'guidebook'.").
  913.  
  914. gazeteer :=
  915.   geographic_reference
  916.     (definition => "
  917.      'gazeteer' is a class of all geographical dictionary.").
  918.  
  919. maps_atlas <| geographical_reference.
  920.  
  921. general_encyclopedia :=
  922.   encyclopedia
  923.     (definition => "
  924.      'general_encyclopedia' is a class of all encyclopedia that 
  925.       contain information on all branches of knowledge.").
  926.  
  927. subject_encyclopedia :=
  928.   encyclopedia
  929.     (definition => "
  930.      'subject_encyclopedia' is a class of all encyclopedia that 
  931.       treats comprehensively a particular branch of knowledge.").
  932.  
  933. unabridged_dictionary :=
  934.   dictionary
  935.     (definition => "
  936.      'unabridged_dictionary' is a class of all unabridged dictionary").
  937.  
  938. desk_dictionary :=
  939.   dictionary
  940.     (definition => "
  941.      'desk_dictionary' is a class of all  dictionary which is abridged, 
  942.       and contains college level words.").
  943.  
  944. special_dictionary :=
  945.   dictionary
  946.     (definition => "
  947.      'special_dictionary' is a class of all dictionary which has special
  948.      purpose like slang, 'synonym_antonym', or 'foreign_language' dictionary").
  949.  
  950. slang_dictionary :=
  951.   special_dictionary
  952.     (definition => "
  953.      'slang_dictionary' is a class of all slang dictionaries.").
  954.  
  955. synonym_antonym_dictionary :=
  956.   special_dictionary
  957.     (definition => "
  958.      'synonym_antonym_dictionary' is a class of all  dictionarie which
  959.       explains synonym and/or antonym of words.").
  960.  
  961. foreign_language_dictionary :=
  962.   special_dictionary
  963.     (source_language => languages
  964.     ,destination_language => languages
  965.     ,definition => " 
  966.      'foreign_language_dictionary' is a class of all  dictionaries for
  967.       foreign languages."
  968.     ,attribute => "
  969.      'foreign_language_dictionary' has two attributes, 'source_language'
  970.       and 'destination_language'.").
  971.  
  972. philosophy_material :=
  973.   library_material
  974.     (subject => philosophy
  975.     ,definition => "
  976.      'philosophy_material' is a class of all library materials whose 
  977.       subject is philosophy.").
  978.  
  979. religion_material :=
  980.   library_material
  981.     (subject => religion
  982.     ,definition => "
  983.      'religion_material' is a class of all library materials whose subject 
  984.       is religion.").
  985.  
  986. social_science_material :=
  987.   library_material
  988.     (subject => social_science
  989.     ,definition => "
  990.      'social_science_material' is a class of all library materials whose 
  991.       subject is social science.").
  992.  
  993. language_material :=
  994.   library_material
  995.     (subject => language
  996.     ,definition => "
  997.      'language_material' is a class of all library materials whose subject 
  998.       is language.").
  999.  
  1000. pure_science_material :=
  1001.   library_material
  1002.     (subject => pure_science
  1003.     ,definition => "
  1004.      'pure_science_material' is a class of all library materials whose 
  1005.       subject is pure science.").
  1006.  
  1007. applied_science_material :=
  1008.   library_material
  1009.     (subject => applied_science
  1010.     ,definition => "
  1011.      'applied_science_material' is a class of all library materials whose 
  1012.       subject is applied science.").
  1013.  
  1014. art_material :=
  1015.   library_material
  1016.     (subject => art
  1017.     ,definition => "
  1018.      'art_material' is a class of all library materials whose subject 
  1019.       is art.").
  1020.  
  1021. literature_material :=
  1022.   library_material
  1023.     (subject => literature
  1024.     ,definition => "
  1025.      'literature_material' is a class of all library materials whose 
  1026.       subject is literature.").
  1027.  
  1028. history_material :=
  1029.   library_material
  1030.     (subject => history
  1031.     ,definition => "
  1032.      'history_material' is a class of all library materials whose subject 
  1033.       is history.").
  1034.  
  1035. metaphysics_material :=
  1036.   philosophy_material
  1037.     (subject => metaphysics
  1038.     ,definition => "
  1039.      'metaphysics_material' is a class of all philosophy materials whose 
  1040.       subject is metaphysics.").
  1041.  
  1042. psychology_material :=
  1043.   philosophy_material
  1044.     (subject => psychology
  1045.     ,definition => "
  1046.      'psychology_material' is a class of all philosophy materials whose 
  1047.       subject is psychology.").
  1048.  
  1049. logic_material :=
  1050.   philosophy_material
  1051.     (subject => logic
  1052.     ,definition => "
  1053.      'logic_material' is a class of all philosophy materials whose 
  1054.       subject is logic.").
  1055.  
  1056. ethics_material :=
  1057.   philosophy_material
  1058.     (subject => ethics
  1059.     ,definition => "
  1060.      'ethics_material' is a class of all philosophy materials whose 
  1061.       subject is ethics.").
  1062.  
  1063. physiological_psychology_material :=
  1064.   psychology_material
  1065.     (subject => physiological_psychology
  1066.     ,definition => "
  1067.      'physiological_psychology_material' is a class of all psychology 
  1068.       materials whose subject is physiological psychology").
  1069.  
  1070. intelligent_intellect_material :=
  1071.   psychology_material
  1072.     (subject => intelligent_intellect
  1073.     ,definition => "
  1074.      'intelligent_intellect_material' is a class of all psychology materials 
  1075.       whose subject is intelligent intellect").
  1076.  
  1077. induction_material :=
  1078.   logic_material
  1079.     (subject => induction
  1080.     ,definition => "
  1081.      'induction_material' is a class of all logic materials whose
  1082.       subject is induction").
  1083.  
  1084. deduction_material := 
  1085.   logic_material
  1086.     (subject => deduction
  1087.     ,definition => "
  1088.      'deduction_material' is a class of all logic materials whose subject
  1089.       is deduction").
  1090.  
  1091. analogy_material :=
  1092.   logic_material
  1093.     (subject => analogy
  1094.     ,definition => "
  1095.      'analogy_material' is a class of all logic materials whose 
  1096.       subject is analogy").
  1097.  
  1098. natural_religion_material :=
  1099.   religion_material
  1100.     (subject => natural_religion
  1101.     ,definition => "
  1102.      'natural_religion_material' is a class of all religion materials whose 
  1103.       subject is natural religion").
  1104.  
  1105. christian_theology_material :=
  1106.   religion_material
  1107.     (subject => christian_theology
  1108.     ,definition => "
  1109.      'christian_theology_material' is a class of all religion materials of 
  1110.       which subject is christian theology").
  1111.  
  1112. other_religion_material :=
  1113.   religion_material
  1114.     (subject => other_religion
  1115.     ,definition => "
  1116.      'other_religion_material' is a class of all religion materials whose 
  1117.       subject deals with non-christian religions.").
  1118.  
  1119. statistics_material :=
  1120.   social_science_material
  1121.     (subject => the_statistics
  1122.     ,definition => "
  1123.      'statistics_material' is a class of all social science materials whose 
  1124.       subject is statistics.").
  1125.  
  1126. political_science_material :=
  1127.   social_science_material
  1128.     (subject => political_science
  1129.     ,definition => "
  1130.      'political_science_material' is a class of all social science materials 
  1131.       whose subject is political science").
  1132.  
  1133. economics_material :=
  1134.   social_science_material
  1135.     (subject => economics
  1136.     ,definition => "
  1137.      'economics_material' is a class of all social science materials whose 
  1138.       subject is economics").
  1139.  
  1140. law_material :=
  1141.   social_science_material
  1142.     (subject => law
  1143.     ,definition => "
  1144.      'law_material' is a class of all social science materials whose 
  1145.       subject is law").
  1146.  
  1147. linguistics_material :=
  1148.   language_material
  1149.     (subject => linguistics
  1150.     ,definition => "
  1151.      'linguistics_material' is a class of all language materials whose 
  1152.       subject is linguistics").
  1153.  
  1154. english_material :=
  1155.   language_material
  1156.     (subject => english
  1157.     ,definition => "
  1158.      'english_material' is a class of all language materials whose 
  1159.       subject is english").
  1160.  
  1161. german_material :=
  1162.   language_material
  1163.     (subject => german
  1164.     ,definition => "
  1165.      'german_material' is a class of all language materials whose 
  1166.       subject is german").
  1167.  
  1168. french_material :=
  1169.   language_material
  1170.     (subject => french
  1171.     ,definition => "
  1172.      'french_material' is a class of all language materials whose 
  1173.       subject is french").
  1174.  
  1175. computational_liguistics_material :=
  1176.   linguistics_material
  1177.     (subject => computational_linguistics
  1178.     ,definition => "
  1179.      'computational_linguistics_material' is a class of all linguistics 
  1180.       materials whose subject is computational linguistics.").
  1181.  
  1182. etymology_material :=
  1183.   linguistics_material
  1184.     (subject => etymology
  1185.     ,definition => "
  1186.      'etymology_material' is a class of all linguistics materials whose 
  1187.       subject is etymology.").
  1188.  
  1189. phonology_material :=
  1190.   linguistics_material
  1191.     (subject => phonology
  1192.     ,definition => "
  1193.      'phonology_material' is a class of all linguistics materials whose 
  1194.       subject is phonology.").
  1195.  
  1196. structural_system_material :=
  1197.   linguistics_material
  1198.     (subject => structural_system
  1199.     ,definition => "
  1200.      'structural_system_material' is a class of all linguistics materials 
  1201.       whose subject is structural system.").
  1202.  
  1203. mathematics_material :=
  1204.   pure_science_material
  1205.     (subject => mathematics
  1206.     ,definition => "
  1207.      'mathematics_material' is a class of all pure science materials whose 
  1208.       subject is mathematics.").
  1209.  
  1210. computer_science_material :=
  1211.   pure_science_material
  1212.     (subject => computer_science
  1213.     ,definition => "
  1214.      'computer_science_material' is a class of all pure science materials 
  1215.       whose subject is computer science.").
  1216.  
  1217. physics_material :=
  1218.   pure_science_material
  1219.     (subject => physics
  1220.     ,definition => "
  1221.      'physics_material' is a class of all pure science materials whose 
  1222.       subject is physics.").
  1223.  
  1224. chemistry_material :=
  1225.   pure_science_material
  1226.     (subject => chemistry
  1227.     ,definition => "
  1228.      'chemistry_material' is a class of all pure science materials whose 
  1229.       subject is chemistry.").
  1230.  
  1231. biology_material :=
  1232.   pure_science_material
  1233.     (subject => biology
  1234.     ,definition => "
  1235.      'biology_material' is a class of all pure science materials whose 
  1236.       subject is biology.").
  1237.  
  1238. algebra_material :=
  1239.   mathematics_material
  1240.     (subject => algebra
  1241.     ,definition => "
  1242.      'algebra_material' is a class of all mathematics materials whose 
  1243.       subject is algebra.").
  1244.  
  1245. analysis_material :=
  1246.   mathematics_material
  1247.     (subject => analysis
  1248.     ,definition => "
  1249.      'analysis_material' is a class of all mathematics materials whose 
  1250.       subject is analysis.").
  1251.  
  1252. topology_material :=
  1253.   mathematics_material
  1254.     (subject => topology
  1255.     ,definition => "
  1256.      'topology_material' is a class of all mathematics materials, whose 
  1257.       subject is topology.").
  1258.  
  1259. theory_of_computation_material :=
  1260.   computer_science_material
  1261.     (subject => theory_of_computation
  1262.     ,definition => "
  1263.      'theory_of_computation_material' is a subclass of computer science and 
  1264.       mathematics  materials. The area of theory of computer science 
  1265.       includes mathematical theory of computer sciences, automata theory, 
  1266.       and mathematical logic.  Subject is theory of computation.").
  1267.  
  1268. theory_of_computation_material := 
  1269.   mathematics_material
  1270.     (subject => theory_of_computation).
  1271.  
  1272. artificial_intelligence_material := 
  1273.   computer_science_material
  1274.     (subject => artificial_intelligence
  1275.     ,definition => "
  1276.      'artificial_intelligence_material' is a class of all A.I. materials. 
  1277.        The area of artificial intelligence includes the areas of knowledge 
  1278.        representation, search heuristics, natural language processing, machine
  1279.        learning, expert system, automatic theorem proving, robotics, computer 
  1280.        vision, AI machine, parallel processing for AI, and AI programming 
  1281.        language.  Subject is artificial intelligence.").
  1282.  
  1283. distributed_system_material :=
  1284.   computer_science_material
  1285.     (subject => distributed_system
  1286.     ,definition => "
  1287.      'distributed_system_material is a subclass of  computer science 
  1288.       materials.  Subject is distributed system.").
  1289.  
  1290. computer_architecture_material :=
  1291.   computer_science_material
  1292.     (subject => computer_architecture
  1293.     ,definition => "
  1294.      'computer_architecture_material' is a subclass of  both computer science 
  1295.       and computer engineering materials. Subject is computer architecture.").
  1296.  
  1297. software_engineering_material :=
  1298.   computer_science_material
  1299.     (subject => software_engineering
  1300.     ,definition => "
  1301.      'software_engineering_material' is a subclass of computer science 
  1302.       materials.  Subject is software engineering").
  1303.  
  1304. parallel_processing_material :=
  1305.   computer_science_material
  1306.     (subject => parallel_processing
  1307.     ,definition => "
  1308.      'parallel_processing_material' is a subclass of computer science 
  1309.       materials.   Subject is parallel processing").
  1310.  
  1311. programming_language_material :=
  1312.   computer_science_material
  1313.     (subject => programming_languages
  1314.     ,definition => "
  1315.      'programming_language_material' is a subclass of computer science
  1316.       materials.  Subject is programming languages").
  1317.  
  1318. vlsi_material :=
  1319.   computer_science_material
  1320.     (subject => vlsi
  1321.     ,definition => "
  1322.      'vlsi_material' is a subclass of all both computer science and computer 
  1323.       engineering  materials.   Subject is VLSI.").
  1324.  
  1325. database_material :=
  1326.   computer_science_material
  1327.     (subject => database
  1328.     ,definition => "
  1329.      'database_material' is a subclass of computer science materials. 
  1330.       Subject is database").
  1331.  
  1332. computer_network_material :=
  1333.   computer_science_material
  1334.     (subject => computer_network
  1335.     ,definition => "
  1336.      'computer_network_material' is a subclass of both computer science and 
  1337.       computer engineering materials.   Subject is computer network").
  1338.  
  1339. modeling_analysis_material :=
  1340.   computer_science_material
  1341.     (subject => modeling_analysis
  1342.     ,definition => "
  1343.      'modeling_analysis_material' is a subclass of computer science 
  1344.       materials.  Subject is modeling analysis").
  1345.  
  1346. medical_material :=
  1347.   applied_science_material
  1348.     (subject => medicine
  1349.     ,definition => "
  1350.      'medical_material' is a subclass of applied science materials. 
  1351.       Subject is medicine.").
  1352.  
  1353. engineering_material :=
  1354.   applied_science_material
  1355.     (subject => engineering
  1356.     ,definition => "
  1357.      'engineering_material' is a subclass of applied science materials. 
  1358.       Subject is  engineering").
  1359.  
  1360. building_material :=
  1361.   applied_science_material
  1362.     (subject => building
  1363.     ,definition => "
  1364.      'building_material' is a subclass of applied science materials. 
  1365.       Subject is building.").
  1366.  
  1367. medical_engineering_material :=
  1368.   medical_material
  1369.     (subject => medical_engineering
  1370.     ,definition => "
  1371.      'medical_engineering_material' is a subclass of both medicine and 
  1372.       engineering materials.   Subject is medical engineering.").
  1373.  
  1374. medical_engineering_material := 
  1375.   engineering_material
  1376.     (subject => medical_engineering).
  1377.  
  1378. electrical_engineering_material :=
  1379.   engineering_material
  1380.     (subject => electrical_engineering
  1381.     ,definition => "
  1382.      'electrical_engineering_material' is an engineering material. 
  1383.       Subject is electrical engineering.").
  1384.  
  1385. civil_engineering_material :=
  1386.   engineering_material
  1387.     (subject => civil_engineering
  1388.     ,definition => "
  1389.      'civil_engineering_material' is an engineering material. 
  1390.       Subject is civil engineering.").
  1391.  
  1392. petroleum_engineering_material :=
  1393.   engineering_material
  1394.     (subject => petroleum_engineering
  1395.     ,definition => "
  1396.      'petroleum_engineering_material' is an engineering material. 
  1397.       Subject is petroleum engineering.").
  1398.  
  1399. computer_engineering_material :=
  1400.   electrical_engineering_material
  1401.     (subject => computer_engineering
  1402.     ,definition => "
  1403.      'computer_engineering_material' is an electrical engineering material.
  1404.       Subject is computer engineering").
  1405.  
  1406. computer_architecture_material := 
  1407.   computer_engineering_material
  1408.     (subject => computer_architecture).
  1409.  
  1410. vlsi_material := 
  1411.   computer_engineering_material
  1412.     (subject => vlsi).
  1413.  
  1414. computer_network_material :=
  1415.   computer_engineering_material
  1416.     (subject => computer_network).
  1417.  
  1418. music_material :=
  1419.   art_material
  1420.     (subject => music
  1421.     ,definition => "
  1422.      'music_material' is an art material which is related to music.
  1423.       The area of music includes music score, sound recording...
  1424.       Subject is music.").
  1425.  
  1426. painting_material :=
  1427.   art_material
  1428.     (subject => painting
  1429.     ,definition => "
  1430.      'painting_material' is an art material which is related to painting
  1431.       Subject is painting.").
  1432.  
  1433. sculpture_material :=
  1434.   art_material
  1435.     (subject => sculpture
  1436.     ,definition => "
  1437.      'sculpture_material' is an art material which is related to sculpture.
  1438.       Subject is sculpture.").
  1439.  
  1440. architecture_material :=
  1441.   art_material
  1442.     (subject => architecture
  1443.     ,definition => "
  1444.      'architecture_material' is an art material which is related to 
  1445.       architecture.  Subject is architecture").
  1446.  
  1447. american_literature_material :=
  1448.   literature_material
  1449.     (subject => american_literature
  1450.     ,definition => "
  1451.      'american_literature_material' is a literature material which is 
  1452.       related to american literature.  Subject is american literature.").
  1453.  
  1454. german_literature_material :=
  1455.   literature_material
  1456.     (subject => german_literature
  1457.     ,definition => "
  1458.      'german_literature_material' is a literature material which is related to
  1459.       german literature.  Subject is german literature.").
  1460.  
  1461. italian_literature_material :=
  1462.   literature_material
  1463.     (subject => italian_literature
  1464.     ,definition => "
  1465.      'italian_literature_material' is a literature material which is related to
  1466.       italian literature.  Subject is italian literature.").
  1467.  
  1468. ancient_history_material :=
  1469.   history_material
  1470.     (subject => ancient_history
  1471.     ,definition => "
  1472.      'ancient_history_material' is a history material which is related to
  1473.       ancient history.  Subject is ancient history").
  1474.  
  1475. europe_history_material :=
  1476.   history_material
  1477.     (subject => europe_history
  1478.     ,definition => "
  1479.      'europe_history_material' is a history material which is related to
  1480.       europe history.  Subject is europe history").
  1481.  
  1482. asia_history_material :=
  1483.   history_material
  1484.     (subject => asia_history
  1485.     ,definition => "
  1486.      'asia_history_material' is a history material which is related to
  1487.       asia history.  Subject is asia history").
  1488.  
  1489. america_history_material :=
  1490.   history_material
  1491.     (subject => america_history
  1492.     ,definition => "
  1493.      'america_history_material' is a history material which is related to
  1494.       america history.  Subject is america history").
  1495.  
  1496. mathematical_logic_material :=
  1497.   theory_of_computation_material
  1498.     (subject => mathematical_logic
  1499.     ,definition => "
  1500.      'mathematical_logic_material' is a both theory of computation and logic 
  1501.       material which is related to mathematical logic.  
  1502.       Subject is mathematical logic").
  1503.  
  1504. mathematical_logic_material := 
  1505.   logic_material
  1506.     (subject => mathematical_logic).
  1507.  
  1508. automata_material := theory_of_computation_material
  1509.     (subject => automata
  1510.     ,definition => "
  1511.      'automata_material' is a both theory of computation and structural system
  1512.       material which is related to automata.  
  1513.       Subject is automata").
  1514.  
  1515. automata_material := 
  1516.   structural_system_material
  1517.     (subject => automata).
  1518.  
  1519. knowledge_representation_material :=
  1520.   artificial_intelligence_material
  1521.     (subject => knowledge_representation
  1522.     ,definition => "
  1523.      'knowledge_representation_material' is an artificial intelligence material
  1524.       which is related to knowledge representation.  
  1525.       Subject is knowledge representation").
  1526.  
  1527. search_heuristics_material :=
  1528.   artificial_intelligence_material
  1529.     (subject => search_heuristics
  1530.     ,definition => "
  1531.      'search_heuristics_material' is an artificial intelligence material 
  1532.       which is related to search heuristics.  
  1533.       Subject is search heuristics").
  1534.  
  1535. natural_language_processing_material :=
  1536.   computational_linguistics_material 
  1537.     (subject => natural_language_processing
  1538.     ,definition => "
  1539.      'natural_language_processing_material' is a both computational linguistics
  1540.       and artificial intelligence material which is related to natural language
  1541.       processing.  Subject is natural language processing").
  1542.  
  1543. natural_language_processing_material := 
  1544.   artificial_intelligence_material
  1545.     (subject => natural_language_processing).
  1546.  
  1547. machine_learning_material := 
  1548.        artificial_intelligence_material
  1549.     (subject => machine_learning
  1550.     ,definition => "
  1551.      'machine_learning_material' is an artificial intelligence material 
  1552.       which is related to machine learning.  
  1553.       Subject is machine learning").
  1554.  
  1555. expert_system_material :=
  1556.   artificial_intelligence_material
  1557.     (subject => expert_system
  1558.     ,definition => "
  1559.      'expert_system_material' is an artificial intelligence material 
  1560.       which is related to expert system.
  1561.       Subject is expert system.").
  1562.  
  1563. automatic_theorem_proving_material :=
  1564.   artificial_intelligence_material
  1565.     (subject => automatic_theorem_proving
  1566.     ,definition => "
  1567.      'automatic_theorem_proving_material' is an artificial intelligence 
  1568.       material  which is related to automatic theorem proving.  
  1569.       Subject is automatic theorem proving").
  1570.  
  1571. robotics_material :=
  1572.   artificial_intelligence_material
  1573.     (subject => robotics
  1574.     ,definition => "
  1575.      'robotics_material' is an artificial intelligence material which is 
  1576.       related to robotics.  Subject is robotics").
  1577.  
  1578. computer_vision_material :=
  1579.   artificial_intelligence_material
  1580.     (subject => computer_vision
  1581.     ,definition => "
  1582.      'computer_vision_material' is an artificial intelligence material 
  1583.       which is related to computer vision. Subject is computer vision").
  1584.  
  1585. ai_machine_material :=
  1586.   artificial_intelligence_material
  1587.     (subject => ai_machine
  1588.     ,definition => "
  1589.      'ai_machine_material' is a both computer architecture and artificial 
  1590.       intelligence material which is related to AI machine. 
  1591.       Subject is AI machine").
  1592.  
  1593. ai_machine_material := 
  1594.   computer_architecture_material
  1595.     (subject => ai_machine).
  1596.  
  1597. parallel_processing_for_ai_material := 
  1598.      artificial_intelligence_material
  1599.     (subject => parallel_processing_for_ai
  1600.     ,definition => "
  1601.      'parallel_processing_for_ai_material' is a both parallel processing and
  1602.       artificial intelligence material which is related to parallel processing
  1603.       for AI.   Subject is parallel processing for AI").
  1604.  
  1605. parallel_processing_for_ai_material := 
  1606.   parallel_processing_material
  1607.     (subject => parallel_processing_for_ai).
  1608.  
  1609. ai_programming_language_material := 
  1610.       artificial_intelligence_material
  1611.     (subject => ai_programming_language
  1612.     ,definition => "
  1613.      'ai_programming_language_material' is a both programming language and 
  1614.       artificial intelligence material which is related to AI programming 
  1615.       language.   Subject is AI programming language").
  1616.  
  1617. ai_programming_language_material :=
  1618.   programming_language_material
  1619.     (subject => ai_programming_language).
  1620.  
  1621. medical_expert_system_material := 
  1622.       expert_system_material
  1623.     (subject => medical_expert_system
  1624.     ,definition => "
  1625.      'medical_expert_material' is a both expert system and medical engineering
  1626.       material which is related to medical expert system.
  1627.       Subject is medical expert system.").
  1628.  
  1629. medical_expert_system_material := 
  1630.   medical_engineering_material(subject => medical_expert_system).
  1631.  
  1632. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  1633. %                                                                 %
  1634. %  Of course, there might be lots of subjects which  are  not     %
  1635. %  listed above.  We can generate a new  class by combining any   %
  1636. %  of  the  class listed  above  with  any class  in   physical   %
  1637. %  description hierarchy.    For example,   we can define  new    %
  1638. %  classes as in the next section.                                %
  1639. %                                                                 %
  1640. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  1641.  
  1642. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  1643. %                                                                 %
  1644. %   New classes generated  by combining the classes in subject    %
  1645. %   hierarchy and the classes from  the  hierarchy by  physical   %
  1646. %   description.                                                  %
  1647. %                                                                 %
  1648. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  1649.  
  1650. pure_science_periodical :=
  1651.   periodical
  1652.     (definition => "
  1653.      'pure_science_periodical' is a periodical whose subject is pure science").
  1654.  
  1655. pure_science_periodical <| pure_science_material.
  1656.  
  1657. computer_science_periodical :=
  1658.   pure_science_periodical
  1659.     (definition => "
  1660.      'computer_science_periodical' is a pure science periodical whose subject
  1661.       is computer science").
  1662.  
  1663. computer_science_periodical <| computer_science_material.
  1664.  
  1665. artificial_intelligence_periodical :=
  1666.   artficial_intelligence_material
  1667.     (definition => "
  1668.      'artificial_intelligence_periodical' is a computer science periodical
  1669.       whose subject is artificial intelligence.").
  1670. artificial_intelligence_periodical <| computer_science_periodical.
  1671.  
  1672. monthly_computer_science_journal :=
  1673.   computer_science_periodical
  1674.     (definition => "
  1675.      'monthly_computer_science_journal' is a computer science journal which is
  1676.       issued every month.").
  1677.  
  1678. monthly_computer_science_journal <| monthly_academic_journal.
  1679.  
  1680. monthly_artificial_intelligence_journal :=
  1681.   monthly_computer_science_journal
  1682.     (definition => "
  1683.      'monthly_artificial_intelligence_journal' is an artificial intelligence 
  1684.       journal which is issued every month.").
  1685.  
  1686. monthly_artificial_intelligence_journal <| artificial_intelligence_periodical.
  1687.  
  1688. computer_science_transactions :=
  1689.   computer_science_periodical
  1690.     (definition => "
  1691.      'computer_science_transactions' is a computer science periodical which
  1692.       is a transaction of a computer science society.").
  1693. computer_science_transactions <| transactions.
  1694.  
  1695. artificial_intelligence_transactions :=
  1696.   artificial_intelligence_periodical
  1697.     (definition => "
  1698.      'artificial_intelligence_transactions' is an artificial intelligence 
  1699.      periodical which is a transaction of artificial intelligence societies.").
  1700. artificial_intelligence_transactions <| computer_science_transactions.
  1701.  
  1702. monthly_computer_science_transactions :=
  1703.   monthly_transactions
  1704.     (definition => "
  1705.      'monthly_computer_science_transactions' is a computer science transactions
  1706.       which is issued every month.").
  1707.  
  1708. monthly_computer_science_transactions <| computer_science_transactions.
  1709.  
  1710. monthly_artificial_intelligence_transactions :=
  1711.   monthly_computer_science_transactions
  1712.     (definition => "
  1713.      'monthly_artificial_intelligence_transactions' is an artificial 
  1714.       intelligence transactions which is issued every month.").
  1715.  
  1716. monthly_artificial_intelligence_transactions <| 
  1717.                                          artificial_intelligence_transactions.
  1718.  
  1719. quarterly_computer_science_transactions :=
  1720.   quarterly_transactions
  1721.     (definition => "
  1722.      'quarterly_computer_science_transactions' is a computer science 
  1723.       transactions  which is issued every three months.").
  1724.  
  1725. quarterly_computer_science_transactions <| computer_science_transactions.
  1726.  
  1727. quarterly_artificial_intelligence_transactions :=
  1728.   quarterly_computer_science_transactions
  1729.     (definition => "
  1730.      'quarterly_artificial_intelligence_transactions' is an artificial 
  1731.       intelligence transactions which is issued every three month.").
  1732.  
  1733. quarterly_artificial_intelligence_transactions <| 
  1734.                                          artificial_intelligence_transactions.
  1735.  
  1736. computer_science_proceedings :=
  1737.   computer_science_periodical
  1738.     (definition => "
  1739.      'computer_science_proceedings' is a computer science periodical which is
  1740.       issued as a computer science conference proceedings.").
  1741.  
  1742. computer_science_proceedings <| proceedings.
  1743.  
  1744. yearly_computer_science_proceedings :=
  1745.   computer_science_proceedings
  1746.     (definition => "
  1747.      'yearly_computer_science_proceedings' is a computer science proceedings
  1748.       which is issued every year.").
  1749.  
  1750. yearly_computer_science_proceedings <| yearly_proceedings.
  1751.  
  1752. artificial_intelligence_proceedings :=
  1753.   artificial_intelligence_periodical
  1754.     (definition => "
  1755.      'artificial_intelligence_proceedings' is an artificial intelligence 
  1756.       periodical which is issued as a AI conference proceedings.").
  1757.  
  1758. artificial_intelligence_proceedings <| computer_science_proceedings.
  1759.  
  1760. yearly_artificial_intelligence_proceedings :=
  1761.   yearly_computer_science_proceedings
  1762.     (definition => "
  1763.      'yearly_artificial_intelligence_proceedings' is an artificial
  1764.       intelligence proceedings which is issued every year.").
  1765.  
  1766. yearly_artificial_intelligence_proceedings <| 
  1767.                              artificial_intelligence_proceedings.
  1768.  
  1769. computer_science_encyclopedia :=
  1770.   computer_science_material
  1771.     (definition => "
  1772.      'computer_science_encyclopedia' is a subject encyclopedia whose subject
  1773.       is computer science.").
  1774.  
  1775. computer_science_encyclopedia <| subject_encyclopedia.
  1776.  
  1777. multi_volume_encyclopedia :=
  1778.   encyclopedia
  1779.     (definition => "
  1780.      'multi_volume_encyclopedia' is an encyclopedia which consists of several
  1781.       volumes.").
  1782.  
  1783. multi_volume_encyclopedia <| multi_volume_books.
  1784.  
  1785. multi_volume_subject_encyclopedia :=
  1786.   multi_volume_encyclopedia
  1787.     (definition => "
  1788.      'multi_volume_subject_encyclopedia' is a subject encyclopedia which 
  1789.       consists of several volumes.").
  1790.  
  1791. multi_volume_subject_encyclopedia <| subject_encyclopedia.
  1792.  
  1793. multi_volume_general_encyclopedia :=
  1794.   multi_volume_encyclopedia
  1795.     (definition => "
  1796.      'multi_volume_general_encyclopedia' is a general encyclopedia which 
  1797.       consists of several volumes.").
  1798.  
  1799. multi_volume_general_encyclopedia <| general_encyclopedia.
  1800.  
  1801. multi_volume_computer_science_encyclopedia :=
  1802.   computer_science_encyclopedia
  1803.     (definition => "
  1804.      'multi_volume_computer_science_encyclopedia' is a computer science 
  1805.       encyclopedia which consists of several volumes.").
  1806.  
  1807. multi_volume_computer_science_encyclopedia <| multi_volume_subject_encyclopedia.
  1808.  
  1809. single_volume_encyclopedia :=
  1810.   encyclopedia
  1811.     (definition => "
  1812.      'single_volume_encyclopedia' is an encyclopedia which consists of single
  1813.       volume.").
  1814.  
  1815. single_volume_encyclopedia <| single_volume_books.
  1816.  
  1817. single_volume_pure_science_books :=
  1818.   single_volume_books
  1819.     (definition => "
  1820.      'single_volume_pure_science_books' is a single volume books whose 
  1821.       subject is pure science.").
  1822.  
  1823. single_volume_pure_science_books <| pure_science_material.
  1824.  
  1825. single_volume_computer_science_books :=
  1826.   computer_science_material
  1827.     (definition => "
  1828.      'single_volume_computer_science_books' is a  computer science material
  1829.       written in single volume books.").
  1830.  
  1831. single_volume_computer_science_books <| single_volume_pure_science_books.
  1832.  
  1833. single_volume_artificial_intelligence_books :=
  1834.   single_volume_computer_science_books
  1835.     (definition => "
  1836.      'single_volume_artificial_intelligence_books' is an artificial 
  1837.       intelligence material written in single volume books.").
  1838. single_volume_artificial_intelligence_books <| artificial_intelligence_material.
  1839.  
  1840. single_volume_expert_system_books :=
  1841.   single_volume_artificial_intelligence_books
  1842.     (definition => "
  1843.      'single_volume_expert_system_books' is an expert system
  1844.       material written in single volume books.").
  1845.  
  1846. single_volume_expert_system_books <| expert_system_material.
  1847.  
  1848. single_volume_medical_expert_system_books :=
  1849.   medical_expert_system_material
  1850.     (definition => "
  1851.      'single_volume_medical_expert_system_books' is a medical expert system
  1852.       material written in single volume books.").
  1853.  
  1854. single_volume_medical_expert_system_books <| single_volume_expert_system_books.
  1855.  
  1856. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  1857. %                                                                 %
  1858. %     Each class in this hierarchy is not a class  of  library    %
  1859. %   items.   Each class represents a  conceptual term  which  is  %
  1860. %   used as  a value  of the attribute, 'subject', of  the class  %
  1861. %   'libarary_material'.   This hierarchy  make  it possible  to  %
  1862. %   succeed  when we  try  to unify  two  terms  which have some  %
  1863. %   relationships using   generalized  unification algorithm  in  %
  1864. %   LOGIN.                                                        %
  1865. %                                                                 %
  1866. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  1867.  
  1868.  
  1869. philosophy <| subjects.
  1870. religion <| subjects.
  1871. social_science <| subjects.
  1872. language <| subjects.
  1873. pure_science <| subjects.
  1874. applied_science <| subjects.
  1875. art <| subjects.
  1876. literature <| subjects.
  1877. history <| subjects.
  1878.  
  1879. metaphysics <| philosophy.
  1880. psychology <| philosophy.
  1881. logic <| philosophy.
  1882. ethics <| philosophy.
  1883.  
  1884. physiological_psychology <| psychology.
  1885. intelligent_intellect <| psychology.
  1886.  
  1887. induction <| logic.
  1888. deduction <| logic.
  1889. analogy <| logic.
  1890.  
  1891. natural_religion <| religion.
  1892. christian_theology <| religion.
  1893. other_religion <| religion.
  1894.  
  1895. the_statistics <| social_science.
  1896. political_science <| social_science.
  1897. economics <| social_science.
  1898. law <| social_science.
  1899.  
  1900. linguistics <| language.
  1901. english <| language.
  1902. german <| language.
  1903. french <| language.
  1904.  
  1905. computational_linguistics <| linguistics.
  1906. etymology <| linguistics.
  1907. phonology <| linguistics.
  1908. structural_system <| linguistics.
  1909.  
  1910. mathematics <| pure_science.
  1911. computer_science <| pure_science.
  1912. physics <| pure_science.
  1913. chemistry <| pure_science.
  1914. biology <| pure_science.
  1915.  
  1916. algebra <| mathematics.
  1917. analysis <| mathematics.
  1918. topology <| mathematics.
  1919.  
  1920. theory_of_computation <| computer_science.
  1921. theory_of_computation <| mathematics.
  1922. artificial_intelligence <| computer_science.
  1923. distributed_system <| computer_science.
  1924. computer_architecture <| computer_science.
  1925. software_engineering <| computer_science.
  1926. parallel_processing <| computer_science.
  1927. programming_language <| computer_science.
  1928. vlsi <| computer_science.
  1929. database <| computer_science.
  1930. computer_network <| computer_science.
  1931. modeling_analysis <| computer_science.
  1932.  
  1933. medicine <| applied_science.
  1934. engineering <| applied_science.
  1935. building <| applied_science.
  1936.  
  1937. medical_engineering <| medicine.
  1938. medical_engineering <| engineering.
  1939. electrical_engineering <| engineering.
  1940. civil_engineering <| engineering.
  1941. petroleum_engineering <| engineering.
  1942.  
  1943. computer_engineering <| electrical_engineering.
  1944. computer_architecture <| computer_engineering.
  1945. vlsi <| computer_engineering.
  1946. computer_network <| computer_egineering.
  1947.  
  1948. music <| art.
  1949. painting <| art.
  1950. sculpture <| art.
  1951. architecture <| art.
  1952.  
  1953. american_literature <| literature.
  1954. german_literature <| literature.
  1955. italian_literature <| literature.
  1956.  
  1957. ancient_history <| history.
  1958. europe_history <| history.
  1959. asia_history <| history.
  1960. america_history <| history.
  1961.  
  1962. mathematical_logic <| theory_of_computation.
  1963. mathematical_logic <| logic.
  1964. automata <| theory_of_computation.
  1965. automata <| structural_system.
  1966.  
  1967. knowledge_representation <| artificial_intelligence.
  1968. search_heuristics <| artificial_intelligence.
  1969. natural_language_processing <| computational_linguistics.
  1970. natural_language_processing <| artificial_intelligence.
  1971. machine_learning <| artificial_intelligence.
  1972. expert_system <| artificial_intelligence.
  1973. automatic_theorem_proving <| artificial_intelligence.
  1974. robotics <| artificial_intelligence.
  1975.  
  1976. computer_vision <| artificial_intelligence.
  1977. ai_machine <| artificial_intelligence.
  1978. ai_machine <| computer_architecture.
  1979. parallel_processing_for_ai <| artificial_intelligence.
  1980. parallel_processing_for_ai <| parallel_processing.
  1981. ai_programming_language <| artificial_intelligence.
  1982. ai_programming_language <| programming_language.
  1983.  
  1984. medical_expert_system <| expert_system.
  1985. medical_expert_system <| medical_engineering.
  1986.  
  1987. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  1988. %                                                                 %
  1989. %                 Hierarchy  of  Library  Users                   %
  1990. %                                                                 %
  1991. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  1992.  
  1993. library_user := 
  1994.    @(ss_number => ss_num
  1995.     ,name      => full_name 
  1996.     ,address   => place
  1997.     ,fine      => object_state_key     % a key value to the record of fine 
  1998.     ,definition => "
  1999.      'library_user' is an authorized person to use a library"
  2000.     ,attribute => "
  2001.      'library_user' has three attributes, 'ss_number', 'name', and
  2002.       'address'. "). 
  2003.  
  2004. professor_user :=
  2005.   library_user
  2006.     (status => professor).
  2007.  
  2008. staff_user := 
  2009.   library_user
  2010.     (status => staff).
  2011.  
  2012. student_user :=
  2013.   library_user
  2014.     (status => student).
  2015.  
  2016. graduate_student_user := 
  2017.   student
  2018.     (status => graduate_student).
  2019.  
  2020. undergraduate_student_user := student(status => undergraduate_student).
  2021.  
  2022. graduate_student <| student.
  2023.  
  2024. undergraduate_student <| student.
  2025.  
  2026.  
  2027. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  2028. %                                                                 %
  2029. %                     END OF BABEL CLASSES                        %
  2030. %                                                                 %
  2031. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  2032.