h65037 s 00828/00000/00000 d D 1.1 94/09/20 16:45:50 buhrmann 1 0 c date and time created 94/09/20 16:45:50 by buhrmann e u U f e 0 t T I 1

RTPLAST-script

rfi-l> exec rtplast

rfi-l> style prolog
rfi-p> 
rfi-p> %------------------------------------------------------------------------
rfi-p> %|      A Declarative Knowledge Base on Recyclable Thermoplastics       |
rfi-p> %|       Using Attribute Terms, Sorts, and Inheritance in RELFUN        |
rfi-p> %------------------------------------------------------------------------
rfi-p> 
rfi-p> %                                                     April 1994
rfi-p> % (c) Ulrich Buhrmann, Michael Sintek
rfi-p> %
rfi-p> emul
rfe-p> replace rtplast
% Reading file "/home/buhrmann/rfm/sampler/kunststoffe/rtplast.rfp" ..
rfe-p> % uses the n-ary translation:
rfe-p> orf n
rfe-p> size
(clauses 136)
(literals 178)
rfe-p> compile
rfe-p> size
(clauses 138)
(literals 466)
rfe-p> 
rfe-p> 
rfe-p> %           Original object-centered version of RTPLAST
rfe-p> %------------------------------------------------------------------------
rfe-p> 
rfe-p> % Two sample instances of one sample class of recyclable novodurs
rfe-p> % (attribute-value pairs prefixed by the class name)
rfe-p> % novodur-rec-1(
rfe-p> %   identifier[novodur_r_5320],
rfe-p> %   yield_stress[38],
rfe-p> %   yield_elangation[2.1],
rfe-p> %   tension_module_of_elasticity[2000],
rfe-p> %   dimensional_stability_hdt/a[90],
rfe-p> %   dimensional_stability_hdt/b[95]).
rfe-p> % novodur-rec-1(
rfe-p> %   identifier[novodur_r_5322],
rfe-p> %   yield_stress[40],
rfe-p> %   yield_elangation[2.3],
rfe-p> %   tension_module_of_elasticity[2200],
rfe-p> %   dimensional_stability_hdt/a[96],
rfe-p> %   dimensional_stability_hdt/b[100]).
rfe-p> 
rfe-p> % Goal retrieving the elasticity modules of both instances 
rfe-p> novodur-rec-1(identifier[I], tension_module_of_elasticity[E-module])
true
I = novodur_r_5320
E-module = 2000
rfe-p> more 
true
I = novodur_r_5322
E-module = 2200
rfe-p> more 
unknown
rfe-p> inter
rfi-p> pause()

rfi-p> bye
true
rfi-p> emul
rfe-p> 
rfe-p> % One sample prototype declared below novodur and above novodur-rec-1
rfe-p> % declare(proto-class[novodur-rec-1-prototype,
rfe-p> %                     super[novodur]]).
rfe-p> % 
rfe-p> % novodur-rec-1-prototype(
rfe-p> %   izod-impact_strength_23[60],
rfe-p> %   izod-impact_strength_-30[40], 
rfe-p> %   izod-notched-bar_impact_strength_23[12], 
rfe-p> %   izod-notched-bar_impact_strength_-30[6],
rfe-p> %   ball_thrust_hardness[90],
rfe-p> %   recycled[true],
rfe-p> %   additives[[]]).
rfe-p> % 
rfe-p> % declare(indi-class[novodur-rec-1,
rfe-p> %                    super[novodur-rec-1-prototype]]).
rfe-p> 
rfe-p> % Goal additionally inheriting the ball thrust hardness from the prototype
rfe-p> novodur-rec-1(identifier[I],
                     tension_module_of_elasticity[E-module],
                     ball_thrust_hardness[Bh])
true
I = novodur_r_5320
E-module = 2000
Bh = 90
rfe-p> more
true
I = novodur_r_5322
E-module = 2200
Bh = 90
rfe-p> inter
rfi-p> pause()

rfi-p> bye
true
rfi-p> emul
rfe-p> 
rfe-p> % Querying the same attributes for all instances below thermoplastic
rfe-p> % (the variable Indi-class will be bound to their class names)
rfe-p> instance>(thermoplastic(), 
                 Indi-class(identifier[I],
                            tension_module_of_elasticity[E-module],
                            ball_thrust_hardness[Bh]))
true
Indi-class = hostalen-rest
I = hostalen_ppk_1060_f1
E-module = 1300
Bh = 67
rfe-p> more
true
Indi-class = hostalen-ppn-1
I = hostalen_ppn_1060
E-module = 1300
Bh = 68
rfe-p> more
true
Indi-class = hostalen-ppn-1
I = hostalen_ppn_1060_f
E-module = 1300
Bh = 68
rfe-p> more
true
Indi-class = hostalen-ppn-1
I = hostalen_ppn_1060_f1
E-module = 1300
Bh = 68
rfe-p> more
true
Indi-class = hostalen-ppn-1
I = hostalen_ppn_1060_f3
E-module = 1300
Bh = 68
rfe-p> more
true
Indi-class = hostalen-ppn-1
I = hostalen_ppn_2060
E-module = 1300
Bh = 68
rfe-p> more
true
Indi-class = hostalen-ppn-1
I = hostalen_ppn_4160
E-module = 1300
Bh = 68
rfe-p> more
true
Indi-class = novodur-rec-1
I = novodur_r_5320
E-module = 2000
Bh = 90
rfe-p> more
true
Indi-class = novodur-rec-1
I = novodur_r_5322
E-module = 2200
Bh = 90
rfe-p> inter
rfi-p> pause()

rfi-p> bye
true
rfi-p> emul
rfe-p> 
rfe-p> % Conjunction implementing simple material pre-selection
rfe-p> % (P1="ball thrust hardness greater 85", 
rfe-p> %  M1=novodur_r_5320, M2=novodur_r_5322)
rfe-p> instance>(thermoplastic(), Indi-class(identifier[I], 
                                             ball_thrust_hardness[Bh])),
       nonvar(Bh), >(Bh, 85)
t
Indi-class = novodur-rec-1
I = novodur_r_5320
Bh = 90
rfe-p> more
t
Indi-class = novodur-rec-1
I = novodur_r_5322
Bh = 90
rfe-p> more
unknown
rfe-p> inter
rfi-p> pause()

rfi-p> bye
true
rfi-p> emul
rfe-p> 
rfe-p> % cost for novodur_r_5320 and novodur_r_5322 added Horn-logically
rfe-p> l cost
cost(novodur_r_5320, 4.3).
cost(novodur_r_5322, 4.5).
rfe-p> 
rfe-p> % Goal implementing special material selection
rfe-p> % (optimality criterion assumed to be cost minimization)
rfe-p> min-cost([novodur_r_5320, novodur_r_5322], M)
true
M = novodur_r_5320
rfe-p> 
rfe-p> pause()
unknown
rfe-p> 
rfe-p> % Goal implementing the interpolation of the attribute value of 
rfe-p> % stress-strain by a higher order function call
rfe-p> instance>(thermoplastic(),
                 Indi-class(identifier[I],
                            stress-strain[[Method, Chart]])),
       nonvar(Method),
       Method(Chart,2.3)
27.473159400564154
Indi-class = hostalen-ppn-1
I = hostalen_ppn_1060
Method = interpol
Chart = [[0.71, 13.4],
         [1.42, 22.2],
         [2.13, 26.7],
         [2.84, 29.5],
         [3.55, 31.6],
         [4.26, 33.2],
         [4.97, 34.3],
         [5.68, 35.2],
         [6.39, 35.7],
         [7.1, 36.0]]
rfe-p> inter
rfi-p> pause()

rfi-p> bye
true
rfi-p> 
rfi-p> 
rfi-p> %               working with the positioned representation
rfi-p> %------------------------------------------------------------------------
rfi-p> 
rfi-p> replace rtplast
% Reading file "/home/buhrmann/rfm/sampler/kunststoffe/rtplast.rfp" ..
rfi-p> orf n
rfi-p> undeclare
rfi-p> untype
rfi-p> normalize
rfi-p> 
rfi-p> listing novodur-rec-1
novodur-rec-1(Additives1989,
              Ball_thrust_hardness1990,
              Density1991,
              90,
              95,
              novodur_r_5320,
              Izod-impact_strength_-301995,
              Izod-impact_strength_01996,
              Izod-impact_strength_231997,
              Izod-notched-bar_impact_strength_-301998,
              Izod-notched-bar_impact_strength_01999,
              Izod-notched-bar_impact_strength_232000,
              Melting_index_mfi_12001,
              Melting_index_mfi_1_stress2002,
              Melting_index_mfi_1_temperature2003,
              Melting_index_mfi_22004,
              Melting_index_mfi_2_stress2005,
              Melting_index_mfi_2_temperature2006,
              Melting_index_mfi_32007,
              Melting_index_mfi_3_stress2008,
              Melting_index_mfi_3_temperature2009,
              Notched-bar_impact_strength2010,
              Producer2011,
              Recyclable2012,
              Recycled2013,
              Stress-strain2014,
              Tension_module_of_criep_1000_h2015,
              Tension_module_of_criep_1_h2016,
              2000,
              Tension_notched-bar_impact_strength2018,
              Used-for2019,
              Vicat_a/502020,
              Vicat_b/502021,
              Volume_per_unit_time_mvr_12022,
              Volume_per_unit_time_mvr_1_stress2023,
              Volume_per_unit_time_mvr_1_temperature2024,
              Volume_per_unit_time_mvr_22025,
              Volume_per_unit_time_mvr_2_stress2026,
              Volume_per_unit_time_mvr_2_temperature2027,
              2.1,
              38)
     :- novodur-rec-1-prototype(Additives1989,
                                Ball_thrust_hardness1990,
                                Density1991,
                                90,
                                95,
                                novodur_r_5320,
                                Izod-impact_strength_-301995,
                                Izod-impact_strength_01996,
                                Izod-impact_strength_231997,
                                Izod-notched-bar_impact_strength_-301998,
                                Izod-notched-bar_impact_strength_01999,
                                Izod-notched-bar_impact_strength_232000,
                                Melting_index_mfi_12001,
                                Melting_index_mfi_1_stress2002,
                                Melting_index_mfi_1_temperature2003,
                                Melting_index_mfi_22004,
                                Melting_index_mfi_2_stress2005,
                                Melting_index_mfi_2_temperature2006,
                                Melting_index_mfi_32007,
                                Melting_index_mfi_3_stress2008,
                                Melting_index_mfi_3_temperature2009,
                                Notched-bar_impact_strength2010,
                                Producer2011,
                                Recyclable2012,
                                Recycled2013,
                                Stress-strain2014,
                                Tension_module_of_criep_1000_h2015,
                                Tension_module_of_criep_1_h2016,
                                2000,
                                Tension_notched-bar_impact_strength2018,
                                Used-for2019,
                                Vicat_a/502020,
                                Vicat_b/502021,
                                Volume_per_unit_time_mvr_12022,
                                Volume_per_unit_time_mvr_1_stress2023,
                                Volume_per_unit_time_mvr_1_temperature2024,
                                Volume_per_unit_time_mvr_22025,
                                Volume_per_unit_time_mvr_2_stress2026,
                                Volume_per_unit_time_mvr_2_temperature2027,
                                2.1,
                                38).
novodur-rec-1(Additives2030,
              Ball_thrust_hardness2031,
              Density2032,
              96,
              100,
              novodur_r_5322,
              Izod-impact_strength_-302036,
              Izod-impact_strength_02037,
              Izod-impact_strength_232038,
              Izod-notched-bar_impact_strength_-302039,
              Izod-notched-bar_impact_strength_02040,
              Izod-notched-bar_impact_strength_232041,
              Melting_index_mfi_12042,
              Melting_index_mfi_1_stress2043,
              Melting_index_mfi_1_temperature2044,
              Melting_index_mfi_22045,
              Melting_index_mfi_2_stress2046,
              Melting_index_mfi_2_temperature2047,
              Melting_index_mfi_32048,
              Melting_index_mfi_3_stress2049,
              Melting_index_mfi_3_temperature2050,
              Notched-bar_impact_strength2051,
              Producer2052,
              Recyclable2053,
              Recycled2054,
              Stress-strain2055,
              Tension_module_of_criep_1000_h2056,
              Tension_module_of_criep_1_h2057,
              2200,
              Tension_notched-bar_impact_strength2059,
              Used-for2060,
              Vicat_a/502061,
              Vicat_b/502062,
              Volume_per_unit_time_mvr_12063,
              Volume_per_unit_time_mvr_1_stress2064,
              Volume_per_unit_time_mvr_1_temperature2065,
              Volume_per_unit_time_mvr_22066,
              Volume_per_unit_time_mvr_2_stress2067,
              Volume_per_unit_time_mvr_2_temperature2068,
              2.3,
              40)
     :- novodur-rec-1-prototype(Additives2030,
                                Ball_thrust_hardness2031,
                                Density2032,
                                96,
                                100,
                                novodur_r_5322,
                                Izod-impact_strength_-302036,
                                Izod-impact_strength_02037,
                                Izod-impact_strength_232038,
                                Izod-notched-bar_impact_strength_-302039,
                                Izod-notched-bar_impact_strength_02040,
                                Izod-notched-bar_impact_strength_232041,
                                Melting_index_mfi_12042,
                                Melting_index_mfi_1_stress2043,
                                Melting_index_mfi_1_temperature2044,
                                Melting_index_mfi_22045,
                                Melting_index_mfi_2_stress2046,
                                Melting_index_mfi_2_temperature2047,
                                Melting_index_mfi_32048,
                                Melting_index_mfi_3_stress2049,
                                Melting_index_mfi_3_temperature2050,
                                Notched-bar_impact_strength2051,
                                Producer2052,
                                Recyclable2053,
                                Recycled2054,
                                Stress-strain2055,
                                Tension_module_of_criep_1000_h2056,
                                Tension_module_of_criep_1_h2057,
                                2200,
                                Tension_notched-bar_impact_strength2059,
                                Used-for2060,
                                Vicat_a/502061,
                                Vicat_b/502062,
                                Volume_per_unit_time_mvr_12063,
                                Volume_per_unit_time_mvr_1_stress2064,
                                Volume_per_unit_time_mvr_1_temperature2065,
                                Volume_per_unit_time_mvr_22066,
                                Volume_per_unit_time_mvr_2_stress2067,
                                Volume_per_unit_time_mvr_2_temperature2068,
                                2.3,
                                40).
rfi-p> 
rfi-p> pause()

rfi-p> bye
true
rfi-p> 
rfi-p> novodur-rec-1(| All)
true
All = [[],
       90,
       Density1391*6,
       90,
       95,
       novodur_r_5320,
       40,
       Izod-impact_strength_01376*8,
       60,
       6,
       Izod-notched-bar_impact_strength_01379*8,
       12,
       Melting_index_mfi_11393*6,
       Melting_index_mfi_1_stress1394*6,
       Melting_index_mfi_1_temperature1395*6,
       Melting_index_mfi_21396*6,
       Melting_index_mfi_2_stress1397*6,
       Melting_index_mfi_2_temperature1398*6,
       Melting_index_mfi_31399*6,
       Melting_index_mfi_3_stress1400*6,
       Melting_index_mfi_3_temperature1401*6,
       Notched-bar_impact_strength1381*8,
       bayer,
       recyclable-rule,
       true,
       Stress-strain1411*10,
       Tension_module_of_criep_1000_h1382*8,
       Tension_module_of_criep_1_h1383*8,
       2000,
       Tension_notched-bar_impact_strength1385*8,
       Used-for1414*12,
       Vicat_a/501386*8,
       Vicat_b/501387*8,
       Volume_per_unit_time_mvr_11404*6,
       Volume_per_unit_time_mvr_1_stress1405*6,
       Volume_per_unit_time_mvr_1_temperature1406*6,
       Volume_per_unit_time_mvr_21407*6,
       Volume_per_unit_time_mvr_2_stress1408*6,
       Volume_per_unit_time_mvr_2_temperature1409*6,
       2.1,
       38]
rfi-p> 
rfi-p> pause()

rfi-p> bye
true
rfi-p> 
rfi-p> novodur-rec-1(_, Ball_thrust_hardness, _, _, _, Identifier | _)
true
Ball_thrust_hardness = 90
Identifier = novodur_r_5320
rfi-p> 
rfi-p> pause()

rfi-p> bye
true
rfi-p> 
rfi-p> trace novodur-rec-1 novodur-rec-1-prototype
rfi-p> novodur-rec-1(_, Ball_thrust_hardness, _, _, _, Identifier | _)
>1  novodur-rec-1(Additives1989*1,
                  Ball_thrust_hardness1990*1,
                  Density1991*1,
                  90,
                  95,
                  novodur_r_5320,
                  Izod-impact_strength_-301995*1,
                  Izod-impact_strength_01996*1,
                  Izod-impact_strength_231997*1,
                  Izod-notched-bar_impact_strength_-301998*1,
                  Izod-notched-bar_impact_strength_01999*1,
                  Izod-notched-bar_impact_strength_232000*1,
                  Melting_index_mfi_12001*1,
                  Melting_index_mfi_1_stress2002*1,
                  Melting_index_mfi_1_temperature2003*1,
                  Melting_index_mfi_22004*1,
                  Melting_index_mfi_2_stress2005*1,
                  Melting_index_mfi_2_temperature2006*1,
                  Melting_index_mfi_32007*1,
                  Melting_index_mfi_3_stress2008*1,
                  Melting_index_mfi_3_temperature2009*1,
                  Notched-bar_impact_strength2010*1,
                  Producer2011*1,
                  Recyclable2012*1,
                  Recycled2013*1,
                  Stress-strain2014*1,
                  Tension_module_of_criep_1000_h2015*1,
                  Tension_module_of_criep_1_h2016*1,
                  2000,
                  Tension_notched-bar_impact_strength2018*1,
                  Used-for2019*1,
                  Vicat_a/502020*1,
                  Vicat_b/502021*1,
                  Volume_per_unit_time_mvr_12022*1,
                  Volume_per_unit_time_mvr_1_stress2023*1,
                  Volume_per_unit_time_mvr_1_temperature2024*1,
                  Volume_per_unit_time_mvr_22025*1,
                  Volume_per_unit_time_mvr_2_stress2026*1,
                  Volume_per_unit_time_mvr_2_temperature2027*1,
                  2.1,
                  38) :- 
  >1  novodur-rec-1-prototype(Additives1948*9,
                              90,
                              Density1950*9,
                              90,
                              95,
                              novodur_r_5320,
                              40,
                              Izod-impact_strength_01955*9,
                              60,
                              6,
                              Izod-notched-bar_impact_strength_01958*9,
                              12,
                              Melting_index_mfi_11960*9,
                              Melting_index_mfi_1_stress1961*9,
                              Melting_index_mfi_1_temperature1962*9,
                              Melting_index_mfi_21963*9,
                              Melting_index_mfi_2_stress1964*9,
                              Melting_index_mfi_2_temperature1965*9,
                              Melting_index_mfi_31966*9,
                              Melting_index_mfi_3_stress1967*9,
                              Melting_index_mfi_3_temperature1968*9,
                              Notched-bar_impact_strength1969*9,
                              Producer1970*9,
                              Recyclable1971*9,
                              true,
                              Stress-strain1973*9,
                              Tension_module_of_criep_1000_h1974*9,
                              Tension_module_of_criep_1_h1975*9,
                              2000,
                              Tension_notched-bar_impact_strength1977*9,
                              Used-for1978*9,
                              Vicat_a/501979*9,
                              Vicat_b/501980*9,
                              Volume_per_unit_time_mvr_11981*9,
                              Volume_per_unit_time_mvr_1_stress1982*9,
                              Volume_per_unit_time_mvr_1_temperature1983*9,
                              Volume_per_unit_time_mvr_21984*9,
                              Volume_per_unit_time_mvr_2_stress1985*9,
                              Volume_per_unit_time_mvr_2_temperature1986*9,
                              2.1,
                              38) :- 
  <1  novodur-rec-1-prototype([],
                              90,
                              Density1391*20,
                              90,
                              95,
                              novodur_r_5320,
                              40,
                              Izod-impact_strength_01376*22,
                              60,
                              6,
                              Izod-notched-bar_impact_strength_01379*22,
                              12,
                              Melting_index_mfi_11393*20,
                              Melting_index_mfi_1_stress1394*20,
                              Melting_index_mfi_1_temperature1395*20,
                              Melting_index_mfi_21396*20,
                              Melting_index_mfi_2_stress1397*20,
                              Melting_index_mfi_2_temperature1398*20,
                              Melting_index_mfi_31399*20,
                              Melting_index_mfi_3_stress1400*20,
                              Melting_index_mfi_3_temperature1401*20,
                              Notched-bar_impact_strength1381*22,
                              bayer,
                              recyclable-rule,
                              true,
                              Stress-strain1411*24,
                              Tension_module_of_criep_1000_h1382*22,
                              Tension_module_of_criep_1_h1383*22,
                              2000,
                              Tension_notched-bar_impact_strength1385*22,
                              Used-for1414*26,
                              Vicat_a/501386*22,
                              Vicat_b/501387*22,
                              Volume_per_unit_time_mvr_11404*20,
                              Volume_per_unit_time_mvr_1_stress1405*20,
                              Volume_per_unit_time_mvr_1_temperature1406*20,
                              Volume_per_unit_time_mvr_21407*20,
                              Volume_per_unit_time_mvr_2_stress1408*20,
                              Volume_per_unit_time_mvr_2_temperature1409*20,
                              2.1,
                              38) :- 
<1  novodur-rec-1([],
                  90,
                  Density1391*20,
                  90,
                  95,
                  novodur_r_5320,
                  40,
                  Izod-impact_strength_01376*22,
                  60,
                  6,
                  Izod-notched-bar_impact_strength_01379*22,
                  12,
                  Melting_index_mfi_11393*20,
                  Melting_index_mfi_1_stress1394*20,
                  Melting_index_mfi_1_temperature1395*20,
                  Melting_index_mfi_21396*20,
                  Melting_index_mfi_2_stress1397*20,
                  Melting_index_mfi_2_temperature1398*20,
                  Melting_index_mfi_31399*20,
                  Melting_index_mfi_3_stress1400*20,
                  Melting_index_mfi_3_temperature1401*20,
                  Notched-bar_impact_strength1381*22,
                  bayer,
                  recyclable-rule,
                  true,
                  Stress-strain1411*24,
                  Tension_module_of_criep_1000_h1382*22,
                  Tension_module_of_criep_1_h1383*22,
                  2000,
                  Tension_notched-bar_impact_strength1385*22,
                  Used-for1414*26,
                  Vicat_a/501386*22,
                  Vicat_b/501387*22,
                  Volume_per_unit_time_mvr_11404*20,
                  Volume_per_unit_time_mvr_1_stress1405*20,
                  Volume_per_unit_time_mvr_1_temperature1406*20,
                  Volume_per_unit_time_mvr_21407*20,
                  Volume_per_unit_time_mvr_2_stress1408*20,
                  Volume_per_unit_time_mvr_2_temperature1409*20,
                  2.1,
                  38) :- 
true
Ball_thrust_hardness = 90
Identifier = novodur_r_5320
rfi-p> nospy
rfi-p> 
rfi-p> pause()

rfi-p> bye
true
rfi-p> 
rfi-p> 
rfi-p> %          Translated sorted Horn-logic version of RTPLAST
rfi-p> %------------------------------------------------------------------------
rfi-p> 
rfi-p> replace rtplast
% Reading file "/home/buhrmann/rfm/sampler/kunststoffe/rtplast.rfp" ..
rfi-p> % uses the sorted version:
rfi-p> orf 2
rfi-p> size
(clauses 136)
(literals 178)
rfi-p> undeclare
rfi-p> unorf
rfi-p> size
(clauses 265)
(literals 342)
rfi-p> inter
rfi-p> pause()

rfi-p> bye
true
rfi-p> 
rfi-p> % listing of one sample class of recyclable novodurs
rfi-p> % (class name becomes unary predicate)
rfi-p> l novodur-rec-1 
novodur-rec-1(novodur_r_5320).
novodur-rec-1(novodur_r_5322).
rfi-p> 
rfi-p> % `object centered' LISTINGS of the sample instances novodur_r_5320 
rfi-p> % and novodur_r_5322
rfi-p> % (attributes become binary predicates, instances copied into first
rfi-p> %  argument)
rfi-p> l Attribute(novodur_r_5320, Value)
yield_stress(novodur_r_5320, 38).
yield_elangation(novodur_r_5320, 2.1).
tension_module_of_elasticity(novodur_r_5320, 2000).
dimensional_stability_hdt/a(novodur_r_5320, 90).
dimensional_stability_hdt/b(novodur_r_5320, 95).
cost(novodur_r_5320, 4.3).
rfi-p> l Attribute(novodur_r_5322, Value)
yield_stress(novodur_r_5322, 40).
yield_elangation(novodur_r_5322, 2.3).
tension_module_of_elasticity(novodur_r_5322, 2200).
dimensional_stability_hdt/a(novodur_r_5322, 96).
dimensional_stability_hdt/b(novodur_r_5322, 100).
cost(novodur_r_5322, 4.5).
rfi-p> 
rfi-p> % `attribute centered' LISTING of tension_module_of_elasticity
rfi-p> % (`:' associates the sort hostalen-ppn-1-prototype with the Variable X)
rfi-p> l tension_module_of_elasticity
tension_module_of_elasticity(hostalen_ppk_1060_f1, 1300).
tension_module_of_elasticity(X : hostalen-ppn-1-prototype, 1300).
tension_module_of_elasticity(novodur_r_5320, 2000).
tension_module_of_elasticity(novodur_r_5322, 2200).
rfi-p> 
rfi-p> pause()

rfi-p> bye
true
rfi-p> 
rfi-p> % meta-information about the attribute dimensional_stability_hdt/a
rfi-p> l Attribute(dimensional_stability_hdt/a, Value)
method_for_test(dimensional_stability_hdt/a, [iso_75, din_53461]).
measurement(dimensional_stability_hdt/a, c).
rfi-p> 
rfi-p> pause()

rfi-p> bye
true
rfi-p> 
rfi-p> untype
rfi-p> uncomma
rfi-p> size
(clauses 265)
(literals 404)
rfi-p> 
rfi-p> % listing of tension_module_of_elasticity after transformation of 
rfi-p> % `:' sorts to unary predicates
rfi-p> l tension_module_of_elasticity
tension_module_of_elasticity(hostalen_ppk_1060_f1, 1300).
tension_module_of_elasticity(X, 1300) :- hostalen-ppn-1-prototype(X).
tension_module_of_elasticity(novodur_r_5320, 2000).
tension_module_of_elasticity(novodur_r_5322, 2200).
rfi-p> 
rfi-p> pause()

rfi-p> bye
true
rfi-p> 
rfi-p> % Earlier object-centered query
rfi-p> % novodur-rec-1(identifier[I], tension_module_of_elasticity[E-module])
rfi-p> % becomes equivalent Ident-conjoined Horn query
rfi-p> novodur-rec-1(Ident), tension_module_of_elasticity(Ident, E-module) 
true
Ident = novodur_r_5320
E-module = 2000
rfi-p> more
true
Ident = novodur_r_5322
E-module = 2200
rfi-p> more
unknown
rfi-p> 
rfi-p> pause()

rfi-p> bye
true
rfi-p> 
rfi-p> % The sample protoype Horn-rule-defined above novodur-rec-1
rfi-p> l novodur-rec-1-prototype
novodur-rec-1-prototype(X) :- novodur-rec-1(X).
rfi-p> 
rfi-p> % `attribute-centered' listing shows ball_thrust_hardness of the
rfi-p> % novodur prototype and of other plastics
rfi-p> l ball_thrust_hardness
ball_thrust_hardness(hostalen_ppk_1060_f1, 67).
ball_thrust_hardness(X, 68) :- hostalen-ppn-1-prototype(X).
ball_thrust_hardness(X, 90) :- novodur-rec-1-prototype(X).
rfi-p> 
rfi-p> pause()

rfi-p> bye
true
rfi-p> 
rfi-p> % Earlier object-centered, inheriting goal
rfi-p> % novodur-rec-1(identifier[I],
rfi-p> %               tension_module_of_elasticity[E-module],
rfi-p> %               ball_thrust_hardness[Bh])
rfi-p> % becomes equivalent I-conjoined Horn query, inheriting via the above rules 
rfi-p> novodur-rec-1(I),
       tension_module_of_elasticity(I, E-module),
       ball_thrust_hardness(I, Bh)
true
I = novodur_r_5320
E-module = 2000
Bh = 90
rfi-p> more
true
I = novodur_r_5322
E-module = 2200
Bh = 90
rfi-p> more
unknown
rfi-p> 
rfi-p> pause()

rfi-p> bye
true
rfi-p> 
rfi-p> % Query of all instances below thermoplastic with fixed ball_thrust_hardness
rfi-p> %  instance>(thermoplastic(), 
rfi-p> %            Indi-class(identifier[I],
rfi-p> %                       tension_module_of_elasticity[E-module],
rfi-p> %                       ball_thrust_hardness[90]))
rfi-p> % becomes Horn conjunction starting with thermoplastic predicate 
rfi-p> % (no Indi-class variable)
rfi-p> thermoplastic(I),
       tension_module_of_elasticity(I, E-module),
       ball_thrust_hardness(I, 90)
true
I = novodur_r_5320
E-module = 2000
rfi-p> more
true
I = novodur_r_5322
E-module = 2200
rfi-p> more
unknown
rfi-p> 
RTPLAST-script | Uli Buhrmann | buhrmann@dfki.uni-kl.de
E 1