destroy-sortbase destroy style lisp ;--------------------------------------------------------------------- ; A Declarative RELFUN Knowledge Base on Plastics Production/Recycling ; Partitioned ; Into a Sort Base (Inheritance) and an Inference Base (Resolution) ;--------------------------------------------------------------------- ; ; (c) Harold Boley, Ulrich Buhrmann, Victoria Hall 20 Sep. 94 ; Michael Herfert, Michael Sintek Rev. 18 Jan. 98 ; ; Sorts are regarded as unary predicates defined in a KB partition ; and usable in relational queries and variable annotations consult-sortbase rtplast-taxo-sub compile-sortbase browse-sortbase thermoplastic sp sortbase pause() % Load inference base sl consult rtplast-inf sp % Load some auxiliary predicates e.g. MEMBER consult auxil % Unary predicates are marked as sorts by a `$'-prefix % Show all atributes of novodurs listing Attribute($novodur, V) pause() % Show additives of materials listing additives(Material, V) pause() % A relation defining materials' E-module (tension module of elasticity) listing tension_module_of_elasticity pause() % For each novodur-rec-1, a subsort of novodur, find its % tension_module_of_elasticity % Variable annotations are marked by a `:'-infix tension_module_of_elasticity(Ident : $novodur-rec-1, E-module) more more listing ball_thrust_hardness pause() % Use of sorted variables % Find each novodur-rec-1 with its tension_module_of_elasticity % and an unspecified ball_thrust_hardness tension_module_of_elasticity(I : $novodur-rec-1, E-module), ball_thrust_hardness(I, Bh) more more pause() % Find each novodur-rec-1 with its tension_module_of_elasticity % and a given ball_thrust_hardness of 90 tension_module_of_elasticity(I : $thermoplastic, E-module), ball_thrust_hardness(I, 90) more more % A relation linking materials to production processes of products listing used-for % Let's find a material for producing electrical devices. used-for(Material, Verarbeitungsform[elektrogeraete]) more more pause() % A relation storing a material's recyclability rule, if any listing recyclable pause() % A function computing the kind of horizontal recyclability listing horizontal-recycling pause() % Now let's find a recyclable electrical device used-for(Material, Verarbeitungsform[elektrogeraete]), recyclable(Material,Rule) & Rule(Material) more more pause() % `Terminological' knowledge about the attributes themselves listing Att(ball_thrust_hardness, Value) cardinality(ball_thrust_hardness, Fun[Val]) & Fun(Val,1)