Blob Blame History Raw
# Suomi-malaga, suomen kielen muoto-opin kuvaus.
#
# Tekijänoikeus © 2006-2013 Hannu Väisänen (Etunimi.Sukunimi@uef.fi)
#
# Tämä ohjelma on vapaa; tätä ohjelmaa on sallittu levittää
# edelleen ja muuttaa GNU yleisen lisenssin (GPL lisenssin)
# ehtojen mukaan sellaisina kuin Free Software Foundation
# on ne julkaissut; joko Lisenssin version 2, tai (valinnan
# mukaan) minkä tahansa myöhemmän version mukaisesti.
#
# Tätä ohjelmaa levitetään siinä toivossa, että se olisi
# hyödyllinen, mutta ilman mitään takuuta; ilman edes
# hiljaista takuuta kaupallisesti hyväksyttävästä laadusta tai
# soveltuvuudesta tiettyyn tarkoitukseen. Katso GPL
# lisenssistä lisää yksityiskohtia.
#
# Tämän ohjelman mukana pitäisi tulla kopio GPL
# lisenssistä; jos näin ei ole, kirjoita osoitteeseen Free
# Software Foundation Inc., 51 Franklin Street, Fifth Floor,
# Boston, MA 02110-1301, USA.
#
# Tämän ohjeman linkittäminen staattisesti tai dynaamisesti
# muihin moduuleihin on ohjelmaan perustuvan teoksen
# tekemistä, joka on siis GPL lisenssin ehtojen alainen.
#
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; see the file COPYING.  If not, write to the
# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
# 02110-1301, USA.
#
# Linking this program statically or dynamically with other modules is
# making a combined work based on this program.  Thus, the terms and
# conditions of the GNU General Public License cover the whole
# combination.


# Tämä tiedosto on tehty ohjelmalla generoi.sh --- älä muuta!


include "suomi.inc";


allo_rule generate_allos ($tietue):
##  define $malli := switch (malli);  # Katso tiedosto suomi-*.pro.


##define $aa := transmit (<"a"> + <$tietue.perusmuoto> + <$tietue.alku> + <$tietue.äs>);
#if ($tietue.luokka = lukusana) then
#define $ö := transmit ("[perusmuoto: §" + $tietue.perusmuoto + "§" +
#                       ", alku: §"      + $tietue.alku + "§" +
#                       ", luokka: "     + value_string ($tietue.luokka) +
#                       ", jatko: "      + value_string ($tietue.jatko) +
#                       ", äs: "         + value_string ($tietue.äs) +
#                       "];");
#end;

  assert (value_type($tietue) = record);


  # Nämä sanat voivat olla myös erillisinä sanoina.
  #
  if (($tietue.tiedot /= nil) and (ysj in $tietue.tiedot) and
      (($tietue.perusmuoto /= nil) and
      (($tietue.perusmuoto = "vuotias") and ($tietue.luokka = nimi_laatusana)))) then
    $tietue.tiedot :=- <ysj>;
  end;

  if ($tietue.rakenne /= nil) then
    $tietue :=- rakenne;
  end;

  if ($tietue.luokka = lyhenne) then

    # Lyhenteitä, joissa on piste lopussa ei tarvita, mikäli on samanlainen pisteetön lyhenne.
    #
    if ($tietue.alku in <"em.", "kk.", "mm.", "s.", "ym.">) then
      stop;
    end;

    # Lyhennettä "MM" ei tarvita, koska "mm" on olemassa.
    #
    if (($tietue.alku = "MM") and (capital($tietue.alku) = yes)) then
      stop;
    end;

    # Poistetaan pisteet lyhenteitten lopusta.
    #
    if ($tietue.alku matches ".*" : $alku, "\\.") then
      $tietue.alku := $alku;
    end;
  end;


  # Tunnistetaan yhdyssanoina tai johdoksina.
  #
  if ($tietue.perusmuoto in <"amerikanjuutalainen", "amerikansuomalainen",
                             "Itämeri", "itävaltalainen", "kazakstanilainen",
                             "suomalais-permiläinen", "tongalainen">) then
    stop;
  end;

  # Paikannimien jälkiliitteet.
  #
  if ($tietue.perusmuoto in <"harju",
                             "joki", "järvi",
                             "kangas", "katu", "korpi", "kuja", "kylä",
                             "laakso", "lahti", "lampi",
                             "maa", "meri", "mäki", "niemi",
                             "polku", "puistikko", "puisto",
                             "ranta", "rinne", "saari", "sarvi", "selkä",
                             "tie", "torni", "vaara", "virta", "vuori">) then
    $tietue :=+ [paikannimen_jälkiliite: yes];
  end;

  # Etunimien jälkiliitteet.
  # Esim. Pietarinkirkko, Kallenpoika, Marianpäivä, Kallentytär.
  #
  if ($tietue.perusmuoto in <"kirkko", "poika", "päivä", "niemi", "silta", "tori", "tytär">) then
    $tietue :=+ [etunimen_jälkiliite: yes];
  end;

  if ($tietue.perusmuoto in <"ala", "bitti", "kallas", "malli", "pölyte", "terve">) then
    $tietue :=+ [tiedot: <ei_inen>];
  end;

  if ($tietue.perusmuoto in <"eosinofiili", "klooni">) then
    $tietue :=+ [tiedot: <ei_inen>];
  end;

  if ($tietue.perusmuoto in <"yhde">) then
    $tietue :=+ [tiedot: <ei_inen, ei_ys>];
  end;

  if ($tietue.perusmuoto in <"id", "nano", "älä"> and $tietue.luokka = nimisana) then
    $tietue :=+ [tiedot: <ei_ys>];
  end;

  if ($tietue.perusmuoto in <"kukkaisa", "laatuisa", "lari", "luisti", "mani", "miehinen",
                             "nasu", "paikko",
                             "poli", "tisu">) then
    if ($tietue.tiedot /= nil) then
      $tietue.tiedot :=+ <ei_ys>;
    else
      $tietue :=+ [tiedot: <ei_ys>];
    end;
  end;

  if (($tietue.perusmuoto in <"soida">) and ($tietue.tiedot /= nil) and (ei_ysj in $tietue.tiedot)) then
    $tietue.tiedot :=- <ei_ysj>;
    if ($tietue.tiedot = nil) then
      $tietue :=- tiedot;
    end;
  end;

  if ($tietue.perusmuoto in
        <"amme", "höyli", "kokkari", "koksi", "lehdes", "riksi", "silla", "säkä", "tavi">) then
    if ($tietue.tiedot /= nil) then
      $tietue.tiedot :=+ <ei_ysj>;
    else
      $tietue :=+ [tiedot: <ei_ysj>];
    end;
  end;

  if (($tietue.perusmuoto in <"erityinen", "vittu">) and
      ($tietue.luokka in <nimisana, laatusana, nimi_laatusana>)) then
    if ($tietue.tiedot /= nil) then
      $tietue.tiedot :=- <ei_ysa>;
    else
      $tietue :=- [tiedot: <ei_ysa>];
    end;
  end;

  if ($tietue.perusmuoto in <"alunen">) then
    if ($tietue.tiedot /= nil) then
      $tietue.tiedot :=+ <ei_ysa>;
    else
      $tietue :=+ [tiedot: <ei_ysa>];
    end;
  end;

  if ($tietue.perusmuoto in <"aktivisti", "fluoksetiini", "parametri",
                             "bentsodiatsepiini", "diatsepiini", "karbamatsepiini",
                             "lipofiili", "okskarbatsepiini", "triatsolobentsodiatsepiini">) then
    $tietue.äs := aä;
  end;

  # Mattila on paikannimi ja sukunimi, ja tiedostojen indeksoinnissa
  # riittää niistä vain toinen.
  #
  if ($tietue.perusmuoto = "Mattila" and $tietue.luokka = sukunimi) then
    stop;
  end;


  # Seitsen on myös etuliite, ja se riittää Sukijassa.
  #
  if ($tietue.perusmuoto = "seitsen" and $tietue.luokka = lukusana) then
    stop;
  end;


  # Kymmen on myös nimisana.
  #
  if ($tietue.perusmuoto = "kymmen" and $tietue.luokka = lukusana) then
    stop;
  end;

  if ($tietue.perusmuoto in <"nasta", "pöllö", "riiviö", "vilja">) then
    if ($tietue.luokka = nimisana) then
      stop;
    elseif ($tietue.luokka = laatusana) then
      $tietue.luokka := nimi_laatusana;
    end;
  end;

  if ($tietue.perusmuoto in <"parka">) then
    $tietue.luokka := nimisana;
  end;

  if ($tietue.luokka = lukusana) then
    if ($tietue.alaluokka in <toista>) then
      $tietue.jatko :=+ <yhdyssana, tavuviiva>;
    end;
    if ($tietue.alaluokka in <erikoisluku>) then
      $tietue.jatko :=+ <tavuviiva>;
    end;
  end;

  if ($tietue.luokka = etuliite) then
    $tietue.jatko := set ($tietue.jatko);
  end;

  if ($tietue.jatko = <rakentaa> and $tietue.perusmuoto matches ".*ääntää") then
    $tietue.jatko := <kääntää>;
  end;

  if ($tietue.perusmuoto in <"ihme", "kartesiolainen", "keynesiläinen">) then
    $tietue.luokka := nimi_laatusana;
  end;

  # Estetään eräitten -mainen-loppuisten sanojen tunnistuminen kahdesti.
  #
  if (($tietue.luokka in <paikannimi, sukunimi>) and
      ($tietue.perusmuoto in <"Kanerva", "Keihänen", "Kurikka", "Lanka", "Manner",
                              "Osta", "Pippuri", "Rautiainen", "Sormunen", "Tiainen">)) then
    $tietue.jatko :=- <johdin_mAinen>;
    if ($tietue.tiedot = nil) then
      $tietue :=+ [tiedot: <ei_mAinen>];
    else
      $tietue.tiedot :=+ <ei_mAinen>;
    end;
  end;


  if  ($tietue.perusmuoto in <"kääntää", "ojentaa", "rakentaa", "vääntää">) and
      ($tietue.tiedot = nil) then
    stop;
  end;

#  if ($tietue.luokka = lukusanan_jälkiliite) then
#    stop;
#  end;

  # Inen-loppuiset laatusanat.
#  if ($tietue.luokka in <laatusana, nimi_laatusana> and $tietue.perusmuoto matches ".*inen") then
#    $tietue :=+ [inen_loppu: yes];
#  end;

  if (($tietue.tiedot /= nil) and (ei_sukija in $tietue.tiedot)) then
    stop;

#####################################################################
##=================================================================##
#####################################################################

  elseif (valo in $tietue.jatko) then
    choose $i in valo ($tietue, "", "");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (aalto in $tietue.jatko) then
    choose $i in valo ($tietue, "t"+O($tietue), "l"+O($tietue));
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (alku in $tietue.jatko) then
    choose $i in valo ($tietue, "k"+U($tietue), U($tietue));
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (anto in $tietue.jatko) then
    choose $i in valo ($tietue, "t"+O($tietue), "n"+O($tietue));
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (apu in $tietue.jatko) then
    choose $i in valo ($tietue, "p"+U($tietue), "v"+U($tietue));
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (hanko in $tietue.jatko) then
    choose $i in valo ($tietue, "k"+O($tietue), "g"+O($tietue));
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (hattu in $tietue.jatko) then
    choose $i in valo ($tietue, "t"+U($tietue), U($tietue));
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (hinku in $tietue.jatko) then
    choose $i in valo ($tietue, "k"+U($tietue), "g"+U($tietue));
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (hoppu in $tietue.jatko) then
    choose $i in valo ($tietue, "p"+U($tietue), U($tietue));
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (kaarto in $tietue.jatko) then
    choose $i in valo ($tietue, "t"+O($tietue), "r"+O($tietue));
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (kippo in $tietue.jatko) then
    choose $i in valo ($tietue, "p"+O($tietue), O($tietue));
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (koko in $tietue.jatko) then
    choose $i in koko ($tietue, "k"+O($tietue), O($tietue), "'"+O($tietue));
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (kumpu in $tietue.jatko) then
    choose $i in valo ($tietue, "p"+U($tietue), "m"+U($tietue));
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (laatu in $tietue.jatko) then
    choose $i in valo ($tietue, "t"+U($tietue), "d"+U($tietue));
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (lepo in $tietue.jatko) then
    choose $i in valo ($tietue, "p"+O($tietue), "v"+O($tietue));
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (leuto in $tietue.jatko) then
    choose $i in valo ($tietue, "t"+O($tietue), "d"+O($tietue));
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (liitto in $tietue.jatko) then
    choose $i in valo ($tietue, "t"+O($tietue), O($tietue));
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (lintu in $tietue.jatko) then
    choose $i in valo ($tietue, "t"+U($tietue), "n"+U($tietue));
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (luku in $tietue.jatko) then
    choose $i in valo ($tietue, "k"+U($tietue), "v"+U($tietue));
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (oltu in $tietue.jatko) then
    choose $i in valo ($tietue, "t"+U($tietue), "l"+U($tietue));
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (purtu in $tietue.jatko) then
    choose $i in valo ($tietue, "t"+U($tietue), "r"+U($tietue));
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (ruoko in $tietue.jatko) then
    choose $i in valo ($tietue, "k"+O($tietue), "'"+O($tietue));
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (sampo in $tietue.jatko) then
    choose $i in valo ($tietue, "p"+O($tietue), "m"+O($tietue));
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (tiuku in $tietue.jatko) then
    choose $i in valo ($tietue, "k"+U($tietue), "'"+U($tietue));
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (verkko in $tietue.jatko) then
    choose $i in valo ($tietue, "k"+O($tietue), O($tietue));
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (vihko in $tietue.jatko) then
    choose $i in vihko ($tietue, "k"+O($tietue), O($tietue));
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (arvelu in $tietue.jatko) then
    choose $i in arvelu ($tietue, "", "");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (alanko in $tietue.jatko) then
    choose $i in arvelu ($tietue, "k"+O($tietue), "g"+O($tietue));
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (avanto in $tietue.jatko) then
    choose $i in arvelu ($tietue, "t"+O($tietue), "n"+O($tietue));
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (hontelo in $tietue.jatko) then
    choose $i in hontelo ($tietue, O($tietue), "");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (katseltu in $tietue.jatko) then
    choose $i in puhuttu ($tietue, "t"+U($tietue), "l"+U($tietue));
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (laatikko in $tietue.jatko) then
    choose $i in laatikko ($tietue, "k"+O($tietue), O($tietue));
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (nuolaistu in $tietue.jatko) then
    choose $i in puhuttu ($tietue, "t"+U($tietue), "t"+U($tietue));
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (pihatto in $tietue.jatko) then
    choose $i in laatikko ($tietue, "t"+O($tietue), O($tietue));
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (puhuttu in $tietue.jatko) then
    choose $i in puhuttu ($tietue, "tt"+U($tietue), "t"+U($tietue));
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (raamattu in $tietue.jatko) then
    choose $i in laatikko ($tietue, "t"+U($tietue), U($tietue));
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (aarteisto in $tietue.jatko) then
    choose $i in aarteisto ($tietue, "ist"+O($tietue), "hist"+O($tietue));
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (autio in $tietue.jatko) then
    choose $i in autio ($tietue, "");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (obligaatio in $tietue.jatko) then
    choose $i in obligaatio ($tietue, A($tietue)+A($tietue)+"ti"+O($tietue), A($tietue)+"ti"+O($tietue), A($tietue)+"tsi"+O($tietue)+"ni", A($tietue)+"tsi"+O($tietue)+O($tietue)+"ni", A($tietue)+"ti"+O($tietue)+"ni", A($tietue)+"ti"+O($tietue)+O($tietue)+"ni", A($tietue)+"tsi"+O($tietue)+"ne", A($tietue)+"tsi"+O($tietue)+O($tietue)+"ne", A($tietue)+"ti"+O($tietue)+"ne", A($tietue)+"ti"+O($tietue)+O($tietue)+"ne", A($tietue)+"tsi"+O($tietue)+"n", A($tietue)+"tsi"+O($tietue)+O($tietue)+"n", A($tietue)+"ti"+O($tietue)+"n", A($tietue)+"ti"+O($tietue)+O($tietue)+"n");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (resoluutio in $tietue.jatko) then
    choose $i in obligaatio ($tietue, U($tietue)+U($tietue)+"ti"+O($tietue), U($tietue)+"ti"+O($tietue), U($tietue)+"tsi"+O($tietue)+"ni", U($tietue)+"tsi"+O($tietue)+O($tietue)+"ni", U($tietue)+"ti"+O($tietue)+"ni", U($tietue)+"ti"+O($tietue)+O($tietue)+"ni", U($tietue)+"tsi"+O($tietue)+"ne", U($tietue)+"tsi"+O($tietue)+O($tietue)+"ne", U($tietue)+"ti"+O($tietue)+"ne", U($tietue)+"ti"+O($tietue)+O($tietue)+"ne", U($tietue)+"tsi"+O($tietue)+"n", U($tietue)+"tsi"+O($tietue)+O($tietue)+"n", U($tietue)+"ti"+O($tietue)+"n", U($tietue)+"ti"+O($tietue)+O($tietue)+"n");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (illuusio in $tietue.jatko) then
    choose $i in illuusio ($tietue, U($tietue)+U($tietue)+"si"+O($tietue), U($tietue)+"si"+O($tietue), U($tietue)+"si"+O($tietue)+"ni", U($tietue)+"si"+O($tietue)+O($tietue)+"ni", U($tietue)+"si"+O($tietue)+"ne", U($tietue)+"si"+O($tietue)+O($tietue)+"ne", U($tietue)+"si"+O($tietue)+"n", U($tietue)+"si"+O($tietue)+O($tietue)+"n");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (traditio in $tietue.jatko) then
    choose $i in traditio ($tietue, "iti"+O($tietue), "itsi"+O($tietue), "itsi"+O($tietue)+"ni", "itsi"+O($tietue)+O($tietue)+"ni", "itsi"+O($tietue)+"ne", "itsi"+O($tietue)+O($tietue)+"ne", "itsi"+O($tietue)+"n", "itsi"+O($tietue)+O($tietue)+"n");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (funktio in $tietue.jatko) then
    choose $i in traditio ($tietue, "kti"+O($tietue), "ktsi"+O($tietue), "ktsi"+O($tietue)+"ni", "ktsi"+O($tietue)+O($tietue)+"ni", "ktsi"+O($tietue)+"ne", "ktsi"+O($tietue)+O($tietue)+"ne", "ktsi"+O($tietue)+"n", "ktsi"+O($tietue)+O($tietue)+"n");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (risti in $tietue.jatko) then
    choose $i in risti ($tietue, "i", "i", "e", "e", "", "i");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (hupi in $tietue.jatko) then
    choose $i in risti ($tietue, "pi", "vi", "pe", "ve", "p", "pi");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (keppi in $tietue.jatko) then
    choose $i in risti ($tietue, "pi", "i", "pe", "e", "p", "pi");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (kaihi in $tietue.jatko) then
    choose $i in kaihi ($tietue, "i", "e", "");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (pelti in $tietue.jatko) then
    choose $i in risti ($tietue, "ti", "li", "te", "le", "t", "ti");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (renki in $tietue.jatko) then
    choose $i in risti ($tietue, "ki", "gi", "ke", "ge", "k", "ki");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (siisti in $tietue.jatko) then
    choose $i in risti ($tietue, "i", "i", "e", "e", "i", "e");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (takki in $tietue.jatko) then
    choose $i in risti ($tietue, "ki", "i", "ke", "e", "k", "ki");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (tatti in $tietue.jatko) then
    choose $i in risti ($tietue, "ti", "i", "te", "e", "t", "ti");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (tunti in $tietue.jatko) then
    choose $i in risti ($tietue, "ti", "ni", "te", "ne", "t", "ti");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (vati in $tietue.jatko) then
    choose $i in risti ($tietue, "ti", "di", "te", "de", "t", "ti");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (telefoni_di in $tietue.jatko) then
    choose $i in telefoni ($tietue, "di", O($tietue)+"di", "de", O($tietue)+"de", "d", O($tietue)+"d");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (telefoni_fi in $tietue.jatko) then
    choose $i in telefoni ($tietue, "fi", O($tietue)+"fi", "fe", O($tietue)+"fe", "f", O($tietue)+"f");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (telefoni_gi in $tietue.jatko) then
    choose $i in telefoni ($tietue, "gi", O($tietue)+"gi", "ge", O($tietue)+"ge", "g", O($tietue)+"g");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (telefoni_li in $tietue.jatko) then
    choose $i in telefoni ($tietue, "li", O($tietue)+"li", "le", O($tietue)+"le", "l", O($tietue)+"l");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (telefoni_mi in $tietue.jatko) then
    choose $i in telefoni ($tietue, "mi", O($tietue)+"mi", "me", O($tietue)+"me", "m", O($tietue)+"m");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (telefoni_ni in $tietue.jatko) then
    choose $i in telefoni ($tietue, "ni", O($tietue)+"ni", "ne", O($tietue)+"ne", "n", O($tietue)+"n");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (telefoni_ri in $tietue.jatko) then
    choose $i in telefoni ($tietue, "ri", O($tietue)+"ri", "re", O($tietue)+"re", "r", O($tietue)+"r");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (telefoni_vi in $tietue.jatko) then
    choose $i in telefoni ($tietue, "vi", O($tietue)+"vi", "ve", O($tietue)+"ve", "v", O($tietue)+"v");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (marinadi in $tietue.jatko) then
    choose $i in marinadi ($tietue, A($tietue)+"di", A($tietue)+A($tietue)+"di", A($tietue)+"de", A($tietue)+A($tietue)+"de", A($tietue)+"d", A($tietue)+A($tietue)+"d");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (biografi in $tietue.jatko) then
    choose $i in marinadi ($tietue, A($tietue)+"fi", A($tietue)+A($tietue)+"fi", A($tietue)+"fe", A($tietue)+A($tietue)+"fe", A($tietue)+"f", A($tietue)+A($tietue)+"f");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (pyramidi in $tietue.jatko) then
    choose $i in marinadi ($tietue, "idi", "iidi", "ide", "iide", "id", "iid");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (äiti in $tietue.jatko) then
    choose $i in äiti ($tietue, "ti", "di", "te", "de", "t");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (paperi in $tietue.jatko) then
    choose $i in paperi ($tietue, "i", "i", "e", "e", "");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (banaali in $tietue.jatko) then
    choose $i in paperi ($tietue, "i", "i", "e", "e", "");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (edam in $tietue.jatko) then
    choose $i in laser ($tietue, "", "i", "e");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (hollanti in $tietue.jatko) then
    choose $i in paperi ($tietue, "ti", "ni", "ne", "te", "t");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (kajakki in $tietue.jatko) then
    choose $i in paperi ($tietue, "ki", "i", "e", "ke", "k");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (killinki in $tietue.jatko) then
    choose $i in paperi ($tietue, "ki", "gi", "ge", "ke", "k");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (konvehti in $tietue.jatko) then
    choose $i in paperi ($tietue, "ti", "di", "de", "te", "t");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (salaatti in $tietue.jatko) then
    choose $i in paperi ($tietue, "ti", "i", "e", "te", "t");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (sinappi in $tietue.jatko) then
    choose $i in paperi ($tietue, "pi", "i", "e", "pe", "p");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (balladi in $tietue.jatko) then
    choose $i in balladi ($tietue, "di", A($tietue)+"di", "de", A($tietue)+"de", "d", A($tietue)+"d");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (symboli_di in $tietue.jatko) then
    choose $i in symboli ($tietue, "di", O($tietue)+"di", "de", O($tietue)+"de", "d", O($tietue)+"d");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (symboli_fi in $tietue.jatko) then
    choose $i in symboli ($tietue, "fi", O($tietue)+"fi", "fe", O($tietue)+"fe", "f", O($tietue)+"f");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (symboli_gi in $tietue.jatko) then
    choose $i in symboli ($tietue, "gi", O($tietue)+"gi", "ge", O($tietue)+"ge", "g", O($tietue)+"g");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (symboli_li in $tietue.jatko) then
    choose $i in symboli ($tietue, "li", O($tietue)+"li", "le", O($tietue)+"le", "l", O($tietue)+"l");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (symboli_mi in $tietue.jatko) then
    choose $i in symboli ($tietue, "mi", O($tietue)+"mi", "me", O($tietue)+"me", "m", O($tietue)+"m");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (symboli_ni in $tietue.jatko) then
    choose $i in symboli ($tietue, "ni", O($tietue)+"ni", "ne", O($tietue)+"ne", "n", O($tietue)+"n");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (symboli_ri in $tietue.jatko) then
    choose $i in symboli ($tietue, "ri", O($tietue)+"ri", "re", O($tietue)+"re", "r", O($tietue)+"r");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (symboli_vi in $tietue.jatko) then
    choose $i in symboli ($tietue, "vi", O($tietue)+"vi", "ve", O($tietue)+"ve", "v", O($tietue)+"v");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (kamari in $tietue.jatko) then
    choose $i in symboli ($tietue, A($tietue)+"ri", "m"+A($tietue)+"ri", A($tietue)+"re", "m"+A($tietue)+"re", A($tietue)+"r", "m"+A($tietue)+"r");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (pistooli in $tietue.jatko) then
    choose $i in symboli ($tietue, O($tietue)+"li", "li", O($tietue)+"le", "le", O($tietue)+"l", "l");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (poliisi in $tietue.jatko) then
    choose $i in symboli ($tietue, "isi", "si", "ise", "se", "is", "s");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (kalsium in $tietue.jatko) then
    choose $i in kalsium ($tietue, "", "i", "e");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (fan in $tietue.jatko) then
    choose $i in pop ($tietue, "", "i", "i", "", "e", "e");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (pop in $tietue.jatko) then
    choose $i in pop ($tietue, "", "pi", "i", "p", "e", "pe");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (punk in $tietue.jatko) then
    choose $i in pop ($tietue, "", "ki", "i", "k", "e", "ke");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (lovi in $tietue.jatko) then
    choose $i in lovi ($tietue, "i", "e", "e", "", "");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (hanki in $tietue.jatko) then
    choose $i in lovi ($tietue, "ki", "ke", "ge", "k", "g");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (happi in $tietue.jatko) then
    choose $i in lovi ($tietue, "pi", "pe", "e", "p", "");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (jälki in $tietue.jatko) then
    choose $i in lovi ($tietue, "ki", "ke", "je", "k", "j");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (kaikki in $tietue.jatko) then
    choose $i in lovi ($tietue, "ki", "ke", "e", "k", "");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (kiiski in $tietue.jatko) then
    choose $i in kiiski ($tietue, "i", "e", "");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (kylki in $tietue.jatko) then
    choose $i in lovi ($tietue, "ki", "ke", "je", "k", "j");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (lampi in $tietue.jatko) then
    choose $i in lampi ($tietue, "pi", "pe", "me", "mi", "p", "m");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (lehti in $tietue.jatko) then
    choose $i in lovi ($tietue, "ti", "te", "de", "t", "d");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (piki in $tietue.jatko) then
    choose $i in lovi ($tietue, "ki", "ke", "e", "k", "'");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (sampi in $tietue.jatko) then
    choose $i in lovi ($tietue, "pi", "pe", "me", "p", "m");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (siipi in $tietue.jatko) then
    choose $i in lovi ($tietue, "pi", "pe", "ve", "p", "v");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (veli in $tietue.jatko) then
    choose $i in lovi ($tietue, "i", "je", "je", "j", "j");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (nalle in $tietue.jatko) then
    choose $i in nalle ($tietue, "", "", "");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (atte in $tietue.jatko) then
    choose $i in nalle ($tietue, "te", "e", "");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (nukke in $tietue.jatko) then
    choose $i in nalle ($tietue, "ke", "e", "");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (kolme in $tietue.jatko) then
    choose $i in kolme ($tietue, "e", "");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (kala in $tietue.jatko) then
    choose $i in kala ($tietue, A($tietue), A($tietue), O($tietue), O($tietue), "e", "", "");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (aika in $tietue.jatko) then
    choose $i in kala ($tietue, "ik"+A($tietue), "j"+A($tietue), "ik"+O($tietue), "j"+O($tietue), "je", "j", "ik");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (aitta in $tietue.jatko) then
    choose $i in kala ($tietue, "t"+A($tietue), A($tietue), "t"+O($tietue), O($tietue), "te", "", "t");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (haka in $tietue.jatko) then
    choose $i in kala ($tietue, "k"+A($tietue), A($tietue), "k"+O($tietue), O($tietue), "e", "", "k");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (hanka in $tietue.jatko) then
    choose $i in kala ($tietue, "k"+A($tietue), "g"+A($tietue), "k"+O($tietue), "g"+O($tietue), "ge", "g", "k");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (kampa in $tietue.jatko) then
    choose $i in kala ($tietue, "p"+A($tietue), "m"+A($tietue), "p"+O($tietue), "m"+O($tietue), "me", "m", "p");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (kanta in $tietue.jatko) then
    choose $i in kala ($tietue, "t"+A($tietue), "n"+A($tietue), "t"+O($tietue), "n"+O($tietue), "ne", "n", "t");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (kappa in $tietue.jatko) then
    choose $i in kala ($tietue, "p"+A($tietue), A($tietue), "p"+O($tietue), O($tietue), "e", "", "p");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (liika in $tietue.jatko) then
    choose $i in kala ($tietue, "k"+A($tietue), A($tietue), "k"+O($tietue), O($tietue), "e", "'", "k");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (nahka in $tietue.jatko) then
    choose $i in nahka ($tietue, "k"+A($tietue), A($tietue), "k"+O($tietue), O($tietue), "e", "ke", "");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (napa in $tietue.jatko) then
    choose $i in kala ($tietue, "p"+A($tietue), "v"+A($tietue), "p"+O($tietue), "v"+O($tietue), "ve", "v", "p");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (parta in $tietue.jatko) then
    choose $i in kala ($tietue, "t"+A($tietue), "r"+A($tietue), "t"+O($tietue), "r"+O($tietue), "e", "r", "t");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (pata in $tietue.jatko) then
    choose $i in kala ($tietue, "t"+A($tietue), "d"+A($tietue), "t"+O($tietue), "d"+O($tietue), "de", "d", "t");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (raaka in $tietue.jatko) then
    choose $i in kala ($tietue, "k"+A($tietue), "'"+A($tietue), "k"+O($tietue), O($tietue), "e", "", "k");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (valta in $tietue.jatko) then
    choose $i in kala ($tietue, "t"+A($tietue), "l"+A($tietue), "t"+O($tietue), "l"+O($tietue), "le", "l", "t");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (koira in $tietue.jatko) then
    choose $i in koira ($tietue, A($tietue), A($tietue), "", "", "e");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (hoikka in $tietue.jatko) then
    choose $i in koira ($tietue, "k"+A($tietue), A($tietue), "k", "", "e");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (honka in $tietue.jatko) then
    choose $i in koira ($tietue, "k"+A($tietue), "g"+A($tietue), "k", "g", "ge");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (huopa in $tietue.jatko) then
    choose $i in koira ($tietue, "p"+A($tietue), "v"+A($tietue), "p", "v", "ve");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (ikä in $tietue.jatko) then
    choose $i in koira ($tietue, "k"+A($tietue), A($tietue), "k", "'", "e");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (juhta in $tietue.jatko) then
    choose $i in koira ($tietue, "t"+A($tietue), "d"+A($tietue), "t", "d", "de");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (kenttä in $tietue.jatko) then
    choose $i in koira ($tietue, "t"+A($tietue), A($tietue), "t", "", "e");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (kompa in $tietue.jatko) then
    choose $i in koira ($tietue, "p"+A($tietue), "m"+A($tietue), "p", "m", "pe");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (kulta in $tietue.jatko) then
    choose $i in koira ($tietue, "t"+A($tietue), "l"+A($tietue), "t", "l", "le");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (myyjä in $tietue.jatko) then
    choose $i in koira ($tietue, "j"+A($tietue), "j"+A($tietue), "j", "j", "je");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (pitkä in $tietue.jatko) then
    choose $i in pitkä ($tietue, "tk"+A($tietue), "tk", "te", "de", "s");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (poika in $tietue.jatko) then
    choose $i in koira ($tietue, "ik"+A($tietue), "j"+A($tietue), "ik", "j", "je");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (ruoka in $tietue.jatko) then
    choose $i in ruoka ($tietue, O($tietue)+"k"+A($tietue), O($tietue)+A($tietue), U($tietue)+A($tietue), O($tietue)+"k", O($tietue), U($tietue), O($tietue)+"e", U($tietue)+"e");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (tolppa in $tietue.jatko) then
    choose $i in koira ($tietue, "p"+A($tietue), A($tietue), "p", "", "e");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (turta in $tietue.jatko) then
    choose $i in koira ($tietue, "t"+A($tietue), "r"+A($tietue), "t", "r", "re");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (suunta in $tietue.jatko) then
    choose $i in koira ($tietue, "t"+A($tietue), "n"+A($tietue), "t", "n", "ne");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (ylkä in $tietue.jatko) then
    choose $i in koira ($tietue, "k"+A($tietue), "j"+A($tietue), "k", "j", "je");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (matala in $tietue.jatko) then
    choose $i in matala ($tietue, A($tietue), A($tietue), "", O($tietue), O($tietue), "");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (vihanta in $tietue.jatko) then
    choose $i in matala ($tietue, "t"+A($tietue), "n"+A($tietue), "t", "n"+O($tietue), "t"+O($tietue), "n");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (asema in $tietue.jatko) then
    choose $i in asema ($tietue, A($tietue), A($tietue), "", "");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (emäntä in $tietue.jatko) then
    choose $i in asema ($tietue, "t"+A($tietue), "n"+A($tietue), "t", "n");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (kulkija in $tietue.jatko) then
    choose $i in kulkija ($tietue, "j"+A($tietue), "j"+O($tietue), "j");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (apila in $tietue.jatko) then
    choose $i in kulkija ($tietue, A($tietue), O($tietue), "");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (video in $tietue.jatko) then
    choose $i in kulkija ($tietue, "", "", "");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (karahka in $tietue.jatko) then
    choose $i in karahka ($tietue, A($tietue), A($tietue), O($tietue), O($tietue), "");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (savotta in $tietue.jatko) then
    choose $i in solakka ($tietue, "t"+A($tietue), A($tietue), "t"+O($tietue), O($tietue), "t");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (solakka in $tietue.jatko) then
    choose $i in solakka ($tietue, "k"+A($tietue), A($tietue), "k"+O($tietue), O($tietue), "k");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (ulappa in $tietue.jatko) then
    choose $i in solakka ($tietue, "p"+A($tietue), A($tietue), "p"+O($tietue), O($tietue), "p");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (veranta in $tietue.jatko) then
    choose $i in karahka ($tietue, "t"+A($tietue), "n"+A($tietue), "t"+O($tietue), "n"+O($tietue), "n");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (analogia in $tietue.jatko) then
    choose $i in analogia ($tietue, "gi"+A($tietue), O($tietue)+"gi"+A($tietue), "gi"+O($tietue), O($tietue)+"gi"+O($tietue));
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (filosofia in $tietue.jatko) then
    choose $i in analogia ($tietue, "fi"+A($tietue), O($tietue)+"fi"+A($tietue), "fi"+O($tietue), O($tietue)+"fi"+O($tietue));
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (topografia in $tietue.jatko) then
    choose $i in analogia ($tietue, "fi"+A($tietue), A($tietue)+"fi"+A($tietue), "fi"+O($tietue), A($tietue)+"fi"+O($tietue));
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (kantaja in $tietue.jatko) then
    choose $i in kantaja ($tietue, "j"+A($tietue), "j"+O($tietue), "j");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (apaja in $tietue.jatko) then
    choose $i in apaja ($tietue, A($tietue), O($tietue), "");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (kahdeksan in $tietue.jatko) then
    choose $i in kahdeksan ($tietue, A($tietue)+"n", A($tietue), O($tietue), "");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (peruna in $tietue.jatko) then
    choose $i in peruna ($tietue, A($tietue), O($tietue), "");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (pasuuna in $tietue.jatko) then
    choose $i in pasuuna ($tietue, A($tietue), A($tietue), O($tietue), O($tietue), "", "");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (opotta in $tietue.jatko) then
    choose $i in pasuuna ($tietue, "t"+A($tietue), A($tietue), "t"+O($tietue), O($tietue), "t", "");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (ainoa in $tietue.jatko) then
    choose $i in ainoa ($tietue, A($tietue), O($tietue), "");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (herttua in $tietue.jatko) then
    choose $i in herttua ($tietue, A($tietue), O($tietue), "");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (korkea in $tietue.jatko) then
    choose $i in korkea ($tietue, "e"+A($tietue), "i"+A($tietue), "ee", "ehe", "e", "i"+O($tietue), "eh", "ehit", "e"+O($tietue));
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (harteet in $tietue.jatko) then
    choose $i in harteet ($tietue, "ee", "e", "ehit", "eh");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (suurempi in $tietue.jatko) then
    choose $i in suurempi ($tietue, "mpi", "mp"+A($tietue), "mm"+A($tietue), "mp", "mm");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (vapaa in $tietue.jatko) then
    choose $i in vapaa ($tietue, A($tietue), "h"+A($tietue), "", "hit", "h");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (tienoo in $tietue.jatko) then
    choose $i in tienoo ($tietue, O($tietue), "h"+O($tietue), "", "h", "hit");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (leikkuu in $tietue.jatko) then
    choose $i in leikkuu ($tietue, U($tietue), U($tietue)+"se", "");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (kamee in $tietue.jatko) then
    choose $i in kamee ($tietue, "e", "");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (nugaa in $tietue.jatko) then
    choose $i in kamee ($tietue, A($tietue), "");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (trikoo in $tietue.jatko) then
    choose $i in kamee ($tietue, O($tietue), "");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (revyy in $tietue.jatko) then
    choose $i in kamee ($tietue, U($tietue), "");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (pii in $tietue.jatko) then
    choose $i in pii ($tietue, "i", "");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (maa in $tietue.jatko) then
    choose $i in maa ($tietue, A($tietue), "");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (puu in $tietue.jatko) then
    choose $i in puu ($tietue, U($tietue), "");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (gnu in $tietue.jatko) then
    choose $i in puu ($tietue, "", "");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (tee in $tietue.jatko) then
    choose $i in puu ($tietue, "e", "");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (tiu in $tietue.jatko) then
    choose $i in tiu ($tietue, "");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (suo in $tietue.jatko) then
    choose $i in suo ($tietue, U($tietue)+O($tietue), O($tietue));
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (tie in $tietue.jatko) then
    choose $i in suo ($tietue, "ie", "e");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (yö in $tietue.jatko) then
    choose $i in yö ($tietue, "");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (bébé in $tietue.jatko) then
    choose $i in bébé ($tietue, "");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (rosé in $tietue.jatko) then
    choose $i in bébé ($tietue, "");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (spray in $tietue.jatko) then
    choose $i in bébé ($tietue, "");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (parfait in $tietue.jatko) then
    choose $i in parfait ($tietue, "", "'");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (tuohi in $tietue.jatko) then
    choose $i in tuohi ($tietue, "i", "e", "");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (meri in $tietue.jatko) then
    choose $i in meri ($tietue, "i", "e", "");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (neiti in $tietue.jatko) then
    choose $i in neiti ($tietue, "ti", "te", "de", "", "n", "t", "d");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (lohi in $tietue.jatko) then
    choose $i in lohi ($tietue, "i", "e", "");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (lahti in $tietue.jatko) then
    choose $i in lahti ($tietue, "ti", "te", "de", "", "t", "d");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (lumi in $tietue.jatko) then
    choose $i in lumi ($tietue, "mi", "me", "n", "m");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (tuomi in $tietue.jatko) then
    choose $i in tuomi ($tietue, "mi", "me", "n", "m");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (niemi in $tietue.jatko) then
    choose $i in tuomi ($tietue, "mi", "me", "n", "m");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (pieni in $tietue.jatko) then
    choose $i in pieni ($tietue, "i", "e", "");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (nuori in $tietue.jatko) then
    choose $i in nuori ($tietue, "i", "e", "");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (susi in $tietue.jatko) then
    choose $i in susi ($tietue, "si", "te", "de", "", "s", "t");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (tosi in $tietue.jatko) then
    choose $i in tosi ($tietue, "si", "te", "de", "", "s", "t");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (hirsi in $tietue.jatko) then
    choose $i in hirsi ($tietue, "si", "te", "re", "", "s", "t");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (jälsi in $tietue.jatko) then
    choose $i in jälsi ($tietue, "si", "te", "le", "", "s", "t");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (kansi in $tietue.jatko) then
    choose $i in kansi ($tietue, "si", "te", "ne", "", "s", "t");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (lapsi in $tietue.jatko) then
    choose $i in lapsi ($tietue, "psi", "pse", "s", "ps");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (hapsi in $tietue.jatko) then
    choose $i in hapsi ($tietue, "psi", "pse", "s", "ps");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (veitsi in $tietue.jatko) then
    choose $i in veitsi ($tietue, "tsi", "tse", "s", "ts");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (peitsi in $tietue.jatko) then
    choose $i in peitsi ($tietue, "tsi", "tse", "s", "ts");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (suksi in $tietue.jatko) then
    choose $i in suksi ($tietue, "ksi", "kse", "s", "ks");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (uksi in $tietue.jatko) then
    choose $i in uksi ($tietue, "ksi", "kse", "s", "ks");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (kaksi in $tietue.jatko) then
    choose $i in kaksi ($tietue, "ksi", "hte", "hde", "he", "h", "ks");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (sankari in $tietue.jatko) then
    choose $i in sankari ($tietue, "i", "", "e");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (jumala in $tietue.jatko) then
    choose $i in jumala ($tietue, A($tietue), "", O($tietue));
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (sisar in $tietue.jatko) then
    choose $i in sisar ($tietue, "", "e", "");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (tytär in $tietue.jatko) then
    choose $i in sisar ($tietue, A($tietue)+"r", "t"+A($tietue)+"re", "t"+A($tietue)+"r");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (ahven in $tietue.jatko) then
    choose $i in ahven ($tietue, "", "e", "");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (ien in $tietue.jatko) then
    choose $i in ahven ($tietue, "en", "kene", "ken");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (kymmenen in $tietue.jatko) then
    choose $i in kymmenen ($tietue, "en", "e", "");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (uistin in $tietue.jatko) then
    choose $i in uistin ($tietue, "n", "me", "m");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (hapan in $tietue.jatko) then
    choose $i in hapan ($tietue, A($tietue)+"n", "p"+A($tietue)+"me", "p"+A($tietue)+"m"+A($tietue), "p"+A($tietue)+"m");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (kaadin in $tietue.jatko) then
    choose $i in uistin ($tietue, "din", "time", "tim");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (kaavin in $tietue.jatko) then
    choose $i in uistin ($tietue, "vin", "pime", "pim");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (kerroin in $tietue.jatko) then
    choose $i in uistin ($tietue, "r"+O($tietue)+"in", "t"+O($tietue)+"ime", "t"+O($tietue)+"im");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (kiharrin in $tietue.jatko) then
    choose $i in uistin ($tietue, "rin", "time", "tim");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (laidun in $tietue.jatko) then
    choose $i in uistin ($tietue, "d"+U($tietue)+"n", "t"+U($tietue)+"me", "t"+U($tietue)+"m");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (poljin in $tietue.jatko) then
    choose $i in uistin ($tietue, "jin", "kime", "kim");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (puin in $tietue.jatko) then
    choose $i in uistin ($tietue, "in", "kime", "kim");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (sivellin in $tietue.jatko) then
    choose $i in uistin ($tietue, "lin", "time", "tim");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (suodatin in $tietue.jatko) then
    choose $i in uistin ($tietue, "in", "time", "tim");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (vaimennin in $tietue.jatko) then
    choose $i in uistin ($tietue, "nin", "time", "tim");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (onneton in $tietue.jatko) then
    choose $i in onneton ($tietue, "t"+O($tietue)+"n", "t"+O($tietue)+"in", "tt"+O($tietue)+"m"+A($tietue), "tt"+O($tietue)+"m");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (alaston in $tietue.jatko) then
    choose $i in onneton ($tietue, "t"+O($tietue)+"n", "t"+O($tietue)+"in", "t"+O($tietue)+"m"+A($tietue), "t"+O($tietue)+"m");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (lämmin in $tietue.jatko) then
    choose $i in lämmin ($tietue, "min", "pim"+A($tietue), "pim", "mpimin");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (pahin in $tietue.jatko) then
    choose $i in pahin ($tietue, "in", "imp"+A($tietue), "imm"+A($tietue), "imp", "imm");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (vasen in $tietue.jatko) then
    choose $i in vasen ($tietue, "n", "mp"+A($tietue), "mm"+A($tietue), "mp", "mm");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (muuan in $tietue.jatko) then
    choose $i in muuan ($tietue, A($tietue)+"n", "d"+A($tietue)+"n", "t"+A($tietue)+"m"+A($tietue), A($tietue), "d"+A($tietue), "t"+A($tietue)+"m");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (seitsemän in $tietue.jatko) then
    choose $i in seitsemän ($tietue, "m"+A($tietue)+"n", "m"+A($tietue), "n", "m");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (nainen in $tietue.jatko) then
    choose $i in hevonen ($tietue, "nen", "se", "s");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (punainen in $tietue.jatko) then
    choose $i in punainen ($tietue, "inen", "nen", "ise", "se", "is", "s");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (hevoinen in $tietue.jatko) then
    choose $i in punainen ($tietue, "nen", "inen", "se", "ise", "s", "is");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (ironinen in $tietue.jatko) then
    choose $i in ironinen ($tietue, "ninen", O($tietue)+"ninen", "nise", O($tietue)+"nise", "nis", O($tietue)+"nis");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (allegorinen in $tietue.jatko) then
    choose $i in ironinen ($tietue, "rinen", O($tietue)+"rinen", "rise", O($tietue)+"rise", "ris", O($tietue)+"ris");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (filosofinen in $tietue.jatko) then
    choose $i in ironinen ($tietue, "finen", O($tietue)+"finen", "fise", O($tietue)+"fise", "fis", O($tietue)+"fis");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (psykologinen in $tietue.jatko) then
    choose $i in ironinen ($tietue, "ginen", O($tietue)+"ginen", "gise", O($tietue)+"gise", "gis", O($tietue)+"gis");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (topografinen in $tietue.jatko) then
    choose $i in ironinen ($tietue, "finen", A($tietue)+"finen", "fise", A($tietue)+"fise", "fis", A($tietue)+"fis");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (eeppinen in $tietue.jatko) then
    choose $i in ironinen ($tietue, "pinen", "illinen", "pise", "illise", "pis", "illis");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (kriittinen in $tietue.jatko) then
    choose $i in ironinen ($tietue, "tinen", "illinen", "tise", "illise", "tis", "illis");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (psyykkinen in $tietue.jatko) then
    choose $i in ironinen ($tietue, "kinen", "illinen", "kise", "illise", "kis", "illis");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (relatiivinen in $tietue.jatko) then
    choose $i in ironinen ($tietue, "ivinen", "vinen", "ivise", "vise", "ivis", "vis");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (vastaus in $tietue.jatko) then
    choose $i in vastaus ($tietue, "s", "kse", "ks");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (aivoitus in $tietue.jatko) then
    choose $i in jaotus ($tietue, "it"+U($tietue)+"s", "t"+U($tietue)+"s", "it"+U($tietue)+"kse", "t"+U($tietue)+"kse", "it"+U($tietue)+"ks", "t"+U($tietue)+"ks");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (jaotus in $tietue.jatko) then
    choose $i in jaotus ($tietue, "t"+U($tietue)+"s", "it"+U($tietue)+"s", "t"+U($tietue)+"kse", "it"+U($tietue)+"kse", "t"+U($tietue)+"ks", "it"+U($tietue)+"ks");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (kalleus in $tietue.jatko) then
    choose $i in kalleus ($tietue, "s", "te", "de", "t", "ks", "kse");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (vieras in $tietue.jatko) then
    choose $i in vieras ($tietue, "s", A($tietue), "h"+A($tietue), "", "hit", "h", "");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (ahdas in $tietue.jatko) then
    choose $i in vieras ($tietue, "d"+A($tietue)+"s", "t"+A($tietue)+A($tietue), "t"+A($tietue)+"h"+A($tietue), "t"+A($tietue), "t"+A($tietue)+"hit", "t"+A($tietue)+"h", "t"+A($tietue));
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (allas in $tietue.jatko) then
    choose $i in vieras ($tietue, "l"+A($tietue)+"s", "t"+A($tietue)+A($tietue), "t"+A($tietue)+"h"+A($tietue), "t"+A($tietue), "t"+A($tietue)+"hit", "t"+A($tietue)+"h", "t"+A($tietue));
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (antelias in $tietue.jatko) then
    choose $i in utelias ($tietue, "s", A($tietue), "", "is"+U($tietue));
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (autuas in $tietue.jatko) then
    choose $i in vieras ($tietue, A($tietue)+"s", A($tietue)+A($tietue), A($tietue)+"h"+A($tietue), A($tietue), A($tietue)+"hit", A($tietue)+"h", "");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (harras in $tietue.jatko) then
    choose $i in vieras ($tietue, "r"+A($tietue)+"s", "t"+A($tietue)+A($tietue), "t"+A($tietue)+"h"+A($tietue), "t"+A($tietue), "t"+A($tietue)+"hit", "t"+A($tietue)+"h", "t"+A($tietue));
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (hammas in $tietue.jatko) then
    choose $i in vieras ($tietue, "m"+A($tietue)+"s", "p"+A($tietue)+A($tietue), "p"+A($tietue)+"h"+A($tietue), "p"+A($tietue), "p"+A($tietue)+"hit", "p"+A($tietue)+"h", "p"+A($tietue));
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (iäkäs in $tietue.jatko) then
    choose $i in iäkäs ($tietue, A($tietue)+"s", "k"+A($tietue)+A($tietue), "k"+A($tietue)+"h"+A($tietue), "k"+A($tietue), "k"+A($tietue)+"h", "k"+U($tietue), "k"+A($tietue)+"is"+U($tietue));
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (kangas in $tietue.jatko) then
    choose $i in vieras ($tietue, "g"+A($tietue)+"s", "k"+A($tietue)+A($tietue), "k"+A($tietue)+"h"+A($tietue), "k"+A($tietue), "k"+A($tietue)+"hit", "k"+A($tietue)+"h", "k"+A($tietue));
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (kinnas in $tietue.jatko) then
    choose $i in vieras ($tietue, "n"+A($tietue)+"s", "t"+A($tietue)+A($tietue), "t"+A($tietue)+"h"+A($tietue), "t"+A($tietue), "t"+A($tietue)+"hit", "t"+A($tietue)+"h", "t"+A($tietue));
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (laupias in $tietue.jatko) then
    choose $i in vieras ($tietue, "i"+A($tietue)+"s", "i"+A($tietue)+A($tietue), "ih"+A($tietue), "i"+A($tietue), "ihit", "ih", "i");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (paras in $tietue.jatko) then
    choose $i in paras ($tietue, A($tietue)+"s", "h"+A($tietue)+A($tietue), A($tietue)+"h"+A($tietue), "h"+A($tietue), A($tietue)+"hit", A($tietue)+"h", "e");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (ratas in $tietue.jatko) then
    choose $i in vieras ($tietue, A($tietue)+"s", "t"+A($tietue)+A($tietue), "t"+A($tietue)+"h"+A($tietue), "t"+A($tietue), "t"+A($tietue)+"hit", "t"+A($tietue)+"h", "t"+A($tietue));
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (saapas in $tietue.jatko) then
    choose $i in vieras ($tietue, A($tietue)+"s", "p"+A($tietue)+A($tietue), "p"+A($tietue)+"h"+A($tietue), "p"+A($tietue), "p"+A($tietue)+"hit", "p"+A($tietue)+"h", "p"+A($tietue));
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (utelias in $tietue.jatko) then
    choose $i in utelias ($tietue, "s", A($tietue), "", "is"+U($tietue));
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (varvas in $tietue.jatko) then
    choose $i in vieras ($tietue, "v"+A($tietue)+"s", "p"+A($tietue)+A($tietue), "p"+A($tietue)+"h"+A($tietue), "p"+A($tietue), "p"+A($tietue)+"hit", "p"+A($tietue)+"h", "p"+A($tietue));
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (varas in $tietue.jatko) then
    choose $i in vieras ($tietue, A($tietue)+"s", "k"+A($tietue)+A($tietue), "k"+A($tietue)+"h"+A($tietue), "k"+A($tietue), "k"+A($tietue)+"hit", "k"+A($tietue)+"h", "k"+A($tietue));
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (maineikas in $tietue.jatko) then
    choose $i in maineikas ($tietue, "ik"+A($tietue)+"s", "hik"+A($tietue)+"s", "ikk"+A($tietue)+A($tietue), "hikk"+A($tietue)+A($tietue), "ikk"+A($tietue)+"h"+A($tietue), "hikk"+A($tietue)+"h"+A($tietue), "ikk"+A($tietue), "hikk"+A($tietue), "ikk"+U($tietue), "hikk"+U($tietue), "ikk"+A($tietue)+"is"+U($tietue), "hikk"+A($tietue)+"is"+U($tietue));
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (kirves in $tietue.jatko) then
    choose $i in kirves ($tietue, "s", "e", "he", "", "h", "he", "", "h");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (ies in $tietue.jatko) then
    choose $i in kirves ($tietue, "es", "kee", "kehe", "ke", "keh", "he", "", "h");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (kauris in $tietue.jatko) then
    choose $i in kauris ($tietue, "is", "ii", "ihi", "i", "ih", "e", "eh");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (raitis in $tietue.jatko) then
    choose $i in kauris ($tietue, "is", "tii", "tihi", "ti", "tih", "te", "teh");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (ruis in $tietue.jatko) then
    choose $i in kauris ($tietue, "is", "kii", "kihi", "ki", "kih", "ke", "keh");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (kaunis in $tietue.jatko) then
    choose $i in kaunis ($tietue, "is", "ii", "ihi", "is", "i", "e", "ih", "eh", "ehit", "ehi", "e");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (valmis in $tietue.jatko) then
    choose $i in kaunis ($tietue, "is", "ii", "ihi", "is", "i", "e", "ih", "eh", "ehit", "ehi", "i");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (altis in $tietue.jatko) then
    choose $i in kaunis ($tietue, "is", "tii", "tihi", "tis", "ti", "te", "tih", "teh", "tihit", "tehi", "ti");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (koiras in $tietue.jatko) then
    choose $i in koiras ($tietue, "s", A($tietue), "kse", "h"+A($tietue), "ks", "h", "", "hit");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (uros in $tietue.jatko) then
    choose $i in uros ($tietue, "s", O($tietue), "kse", "h"+O($tietue), "ks", "h", "", "hit");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (mies in $tietue.jatko) then
    choose $i in mies ($tietue, "s", "he", "h");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (airut in $tietue.jatko) then
    choose $i in airut ($tietue, "t", "e", "", "hit", "h", "he");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (neitsyt in $tietue.jatko) then
    choose $i in neitsyt ($tietue, U($tietue)+"t", U($tietue)+"e", U($tietue)+"ee", "ee", U($tietue), "e", U($tietue)+"hit", "ehit", U($tietue)+"h", "eh");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (kevät in $tietue.jatko) then
    choose $i in kevät ($tietue, "t", A($tietue), "h"+A($tietue), "", "hit", "h");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (kahdeksas in $tietue.jatko) then
    choose $i in kahdeksas ($tietue, "s", "nte", "nne", "", "n", "ns");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (tuhat in $tietue.jatko) then
    choose $i in tuhat ($tietue, "t", "nte", "nne", "", "ns", "n", "nt");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (kuollut in $tietue.jatko) then
    choose $i in kuollut ($tietue, "l"+U($tietue)+"t", "lee", "lehe", "le", "lehit", "leh");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (punonut in $tietue.jatko) then
    choose $i in kuollut ($tietue, "n"+U($tietue)+"t", "nee", "nehe", "ne", "nehit", "neh");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (purrut in $tietue.jatko) then
    choose $i in kuollut ($tietue, "r"+U($tietue)+"t", "ree", "rehe", "re", "rehit", "reh");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (juossut in $tietue.jatko) then
    choose $i in kuollut ($tietue, "s"+U($tietue)+"t", "see", "sehe", "se", "sehit", "seh");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (hame in $tietue.jatko) then
    choose $i in hame ($tietue, "", "e", "he", "", "t", "hit", "h");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (alkeet in $tietue.jatko) then
    choose $i in alkeet ($tietue, "e", "he", "", "is");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (enne in $tietue.jatko) then
    choose $i in hame ($tietue, "ne", "tee", "tehe", "te", "net", "tehit", "teh");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (helle in $tietue.jatko) then
    choose $i in hame ($tietue, "le", "tee", "tehe", "te", "let", "tehit", "teh");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (kierre in $tietue.jatko) then
    choose $i in hame ($tietue, "re", "tee", "tehe", "te", "ret", "tehit", "teh");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (lahje in $tietue.jatko) then
    choose $i in hame ($tietue, "je", "kee", "kehe", "ke", "jet", "kehit", "keh");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (lape in $tietue.jatko) then
    choose $i in hame ($tietue, "e", "pee", "pehe", "pe", "et", "pehit", "peh");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (lumme in $tietue.jatko) then
    choose $i in hame ($tietue, "me", "pee", "pehe", "pe", "met", "pehit", "peh");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (osoite in $tietue.jatko) then
    choose $i in osoite ($tietue, "ite", "te", "ittee", "ttee", "itte", "tte");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (sade in $tietue.jatko) then
    choose $i in hame ($tietue, "de", "tee", "tehe", "te", "det", "tehit", "teh");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (taive in $tietue.jatko) then
    choose $i in hame ($tietue, "ve", "pee", "pehe", "pe", "vet", "pehit", "peh");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (tarvike in $tietue.jatko) then
    choose $i in hame ($tietue, "e", "kee", "kehe", "ke", "et", "kehit", "keh");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (tiedote in $tietue.jatko) then
    choose $i in osoite ($tietue, "te", "ite", "ttee", "ittee", "tte", "itte");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (vaate in $tietue.jatko) then
    choose $i in hame ($tietue, "e", "tee", "tehe", "te", "et", "tehit", "teh");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (viive in $tietue.jatko) then
    choose $i in viive ($tietue, "ve", "pee", "vee", "pe");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (terve in $tietue.jatko) then
    choose $i in terve ($tietue, "", "e", "he", "n", "t", "hit", "h");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (ori in $tietue.jatko) then
    choose $i in ori ($tietue, "i", "ii", "ihi", "e", "it", "ihit", "ih");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (kiiru in $tietue.jatko) then
    choose $i in kiiru ($tietue, "", U($tietue), "h"+U($tietue), "t", "hit", "h", "te");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (askel in $tietue.jatko) then
    choose $i in askel ($tietue, "", "e", "ee", "et", "");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (auer in $tietue.jatko) then
    choose $i in askel ($tietue, "er", "tere", "teree", "teret", "ter");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (kannel in $tietue.jatko) then
    choose $i in askel ($tietue, "nel", "tele", "telee", "telet", "tel");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (kinner in $tietue.jatko) then
    choose $i in askel ($tietue, "ner", "tere", "teree", "teret", "ter");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (ommel in $tietue.jatko) then
    choose $i in askel ($tietue, "mel", "pele", "pelee", "pelet", "pel");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (penger in $tietue.jatko) then
    choose $i in askel ($tietue, "ger", "kere", "keree", "keret", "ker");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (piennar in $tietue.jatko) then
    choose $i in askel ($tietue, "n"+A($tietue)+"r", "t"+A($tietue)+"re", "t"+A($tietue)+"ree", "t"+A($tietue)+"ret", "t"+A($tietue)+"r");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (säen in $tietue.jatko) then
    choose $i in askel ($tietue, "en", "kene", "kenee", "kenet", "ken");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (taival in $tietue.jatko) then
    choose $i in askel ($tietue, "v"+A($tietue)+"l", "p"+A($tietue)+"le", "p"+A($tietue)+"lee", "p"+A($tietue)+"let", "p"+A($tietue)+"l");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (udar in $tietue.jatko) then
    choose $i in askel ($tietue, "d"+A($tietue)+"r", "t"+A($tietue)+"re", "t"+A($tietue)+"ree", "t"+A($tietue)+"ret", "t"+A($tietue)+"r");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (hän in $tietue.jatko) then
    choose $i in hän ($tietue, "n", "ne", "");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (joka in $tietue.jatko) then
    choose $i in joka ($tietue, "k"+A($tietue), "");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (keväämmällä in $tietue.jatko) then
    choose $i in keväämmällä ($tietue, "p"+A($tietue), "m"+A($tietue));
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (loitolla in $tietue.jatko) then
    choose $i in loitolla ($tietue, "mp"+A($tietue), "mm"+A($tietue), "");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (me in $tietue.jatko) then
    choose $i in me ($tietue, "");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (sivumpana in $tietue.jatko) then
    choose $i in sivumpana ($tietue, "p"+A($tietue), "m"+A($tietue));
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (sydän in $tietue.jatko) then
    choose $i in sydän ($tietue, "n", "me", "mme", "m", "mm");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (punoa in $tietue.jatko) then
    choose $i in punoa ($tietue, "", "");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (aikoa in $tietue.jatko) then
    choose $i in punoa ($tietue, "k"+O($tietue), O($tietue));
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (ampua in $tietue.jatko) then
    choose $i in punoa ($tietue, "p"+U($tietue), "m"+U($tietue))
                 + punottaa ($tietue, "m"+U($tietue)+"t");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (ammottua in $tietue.jatko) then
    choose $i in ammottua ($tietue, "tt"+U($tietue), "itt"+U($tietue), "t"+U($tietue), "it"+U($tietue));
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (asettua in $tietue.jatko) then
    choose $i in punoa ($tietue, "t"+U($tietue), U($tietue));
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (harppoa in $tietue.jatko) then
    choose $i in punoa ($tietue, "p"+O($tietue), O($tietue));
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (jakaantua in $tietue.jatko) then
    choose $i in punoa ($tietue, "t"+U($tietue), "n"+U($tietue));
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (kaatua in $tietue.jatko) then
    choose $i in punoa ($tietue, "t"+U($tietue), "d"+U($tietue));
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (kertoa in $tietue.jatko) then
    choose $i in punoa ($tietue, "t"+O($tietue), "r"+O($tietue));
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (kiekua in $tietue.jatko) then
    choose $i in punoa ($tietue, "k"+U($tietue), U($tietue));
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (kieppua in $tietue.jatko) then
    choose $i in punoa ($tietue, "p"+U($tietue), U($tietue));
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (kirjoittua in $tietue.jatko) then
    choose $i in kirjoittua ($tietue, "itt"+U($tietue), "tt"+U($tietue), "it"+U($tietue), "t"+U($tietue));
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (kumartua in $tietue.jatko) then
    choose $i in punoa ($tietue, "t"+U($tietue), "r"+U($tietue));
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (leipoa in $tietue.jatko) then
    choose $i in punoa ($tietue, "p"+O($tietue), "v"+O($tietue));
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (liukua in $tietue.jatko) then
    choose $i in punoa ($tietue, "k"+U($tietue), "'"+U($tietue));
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (mankua in $tietue.jatko) then
    choose $i in punoa ($tietue, "k"+U($tietue), "g"+U($tietue));
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (muistua in $tietue.jatko) then
    choose $i in muistua ($tietue, "");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (paleltua in $tietue.jatko) then
    choose $i in punoa ($tietue, "t"+U($tietue), "l"+U($tietue));
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (penkoa in $tietue.jatko) then
    choose $i in punoa ($tietue, "k"+O($tietue), "g"+O($tietue));
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (saapua in $tietue.jatko) then
    choose $i in punoa ($tietue, "p"+U($tietue), "v"+U($tietue));
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (tahtoa in $tietue.jatko) then
    choose $i in punoa ($tietue, "t"+O($tietue), "d"+O($tietue));
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (tempoa in $tietue.jatko) then
    choose $i in punoa ($tietue, "p"+O($tietue), "m"+O($tietue));
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (viittoa in $tietue.jatko) then
    choose $i in punoa ($tietue, "t"+O($tietue), O($tietue));
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (muistaa in $tietue.jatko) then
    choose $i in muistaa ($tietue, A($tietue), "e", "");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (aavistaa in $tietue.jatko) then
    choose $i in alittaa ($tietue, A($tietue), "e", A($tietue), "", "", "", "-")
                 + muistua2 ($tietue, "", "", "");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (alittaa in $tietue.jatko) then
    choose $i in alittaa ($tietue, "t"+A($tietue), "e", A($tietue), "", "t", "t", "-")
                 + muistua2 ($tietue, "", "t", "");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (ammottaa in $tietue.jatko) then
    choose $i in ammottaa ($tietue, "tt"+A($tietue), "itt"+A($tietue), "te", "ite", "t"+A($tietue), "it"+A($tietue), "t", "it", "tt", "itt")
                 + ammottua2 ($tietue);
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (asettaa in $tietue.jatko) then
    choose $i in alittaa ($tietue, "t"+A($tietue), "e", A($tietue), "", "t", "t", "")
                 + muistua2 ($tietue, "", "t", "");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (astahtaa in $tietue.jatko) then
    choose $i in alittaa ($tietue, "t"+A($tietue), "de", "d"+A($tietue), "d", "t", "d", "-");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (autioittaa in $tietue.jatko) then
    choose $i in autioittaa ($tietue, "t"+A($tietue), "e", A($tietue), "", "t");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (heittää in $tietue.jatko) then
    choose $i in heittää ($tietue, "t"+A($tietue), "e", A($tietue), "", "t", "t");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (hidastaa in $tietue.jatko) then
    choose $i in hidastaa ($tietue, A($tietue), "e", "")
                 + muistua2 ($tietue, "", "", "")
                 + punottaa ($tietue, U($tietue)+"t");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (hohtaa in $tietue.jatko) then
    choose $i in hohtaa ($tietue, "t"+A($tietue), "de", "d"+A($tietue), "d", "t", "", "d")
                 + punottaa ($tietue, "d"+A($tietue)+"t");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (hujahtaa in $tietue.jatko) then
    choose $i in alittaa ($tietue, "ht"+A($tietue), "hde", "hd"+A($tietue), "hd", "ht", "hd", "-")
                 + punottaa ($tietue, U($tietue)+"t");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (inttää in $tietue.jatko) then
    choose $i in voitaa ($tietue, "t"+A($tietue), "e", A($tietue), "", "t", "t");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (itää in $tietue.jatko) then
    choose $i in voitaa ($tietue, "t"+A($tietue), "de", "d"+A($tietue), "d", "t", "d");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (kirjoittaa in $tietue.jatko) then
    choose $i in kirjoittaa ($tietue, "itt"+A($tietue), "tt"+A($tietue), "ite", "te", "it"+A($tietue), "t"+A($tietue), "it", "t", "itt", "tt")
                 + kirjoittua2 ($tietue);
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (kuluttaa in $tietue.jatko) then
    choose $i in alittaa ($tietue, "t"+A($tietue), "e", A($tietue), "", "t", "t", "-");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (kyntää in $tietue.jatko) then
    choose $i in voitaa ($tietue, "t"+A($tietue), "ne", "n"+A($tietue), "n", "t", "n");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (loistaa in $tietue.jatko) then
    choose $i in loistaa ($tietue, A($tietue), "e", "");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (longertaa in $tietue.jatko) then
    choose $i in alittaa ($tietue, "t"+A($tietue), "re", "r"+A($tietue), "r", "t", "r", "-");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (purkaa in $tietue.jatko) then
    choose $i in voitaa ($tietue, "k"+A($tietue), "e", A($tietue), "", "k", "");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (sulaa in $tietue.jatko) then
    choose $i in voitaa ($tietue, A($tietue), "e", A($tietue), "", "", "");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (voitaa in $tietue.jatko) then
    choose $i in voitaa ($tietue, "t"+A($tietue), "de", "d"+A($tietue), "d", "t", "d");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (huutaa in $tietue.jatko) then
    choose $i in huutaa ($tietue, "t"+A($tietue), "de", "d"+A($tietue), "s", "d", "t", "");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (alentaa in $tietue.jatko) then
    choose $i in alentaa ($tietue, "t"+A($tietue), "ne", "n"+A($tietue), "s", "n", "t");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (soutaa in $tietue.jatko) then
    choose $i in soutaa ($tietue, "t"+A($tietue), "de", "d"+A($tietue), "s", "d", "t");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (vuotaa in $tietue.jatko) then
    choose $i in soutaa ($tietue, "t"+A($tietue), "de", "d"+A($tietue), "s", "d", "t");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (juurtaa in $tietue.jatko) then
    choose $i in puoltaa ($tietue, "t"+A($tietue), "re", "r"+A($tietue), "s", "r", "t");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (jäykentää in $tietue.jatko) then
    choose $i in jäykentää ($tietue, "t"+A($tietue), "ne", "n"+A($tietue), "s", "n", "t");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (nuotintaa in $tietue.jatko) then
    choose $i in puoltaa ($tietue, "t"+A($tietue), "ne", "n"+A($tietue), "s", "n", "t");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (puoltaa in $tietue.jatko) then
    choose $i in puoltaa ($tietue, "t"+A($tietue), "le", "l"+A($tietue), "s", "l", "t");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (pyörtää in $tietue.jatko) then
    choose $i in pyörtää ($tietue, "t"+A($tietue), "re", "r"+A($tietue), "s", "r", "t")
                 + pyörtö ($tietue);
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (saksantaa in $tietue.jatko) then
    choose $i in puoltaa ($tietue, "t"+A($tietue), "ne", "n"+A($tietue), "s", "n", "t");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (sukeltaa in $tietue.jatko) then
    choose $i in sukeltaa ($tietue, "t"+A($tietue), "le", "l"+A($tietue), "s", "l", "t");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (paleltaa in $tietue.jatko) then
    choose $i in puoltaa ($tietue, "t"+A($tietue), "le", "l"+A($tietue), "s", "l", "t");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (murtaa in $tietue.jatko) then
    choose $i in murtaa ($tietue, "t"+A($tietue), "re", "r"+A($tietue), "s", "r", "t")
                 + muistua2 ($tietue, "", "t", "r")
                 + murto ($tietue);
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (musertaa in $tietue.jatko) then
    choose $i in musertaa ($tietue, "t"+A($tietue), "re", "r"+A($tietue), "s", "r", "t");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (sortaa in $tietue.jatko) then
    choose $i in sortaa ($tietue, "t"+A($tietue), "re", "r"+A($tietue), "s", "r", "t")
                 + murto ($tietue);
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (pahentaa in $tietue.jatko) then
    choose $i in pahentaa ($tietue, "t"+A($tietue), "ne", "n"+A($tietue), "s", "n", "t")
                 + pahentua ($tietue, "t", "n");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (juontaa in $tietue.jatko) then
    choose $i in juontaa ($tietue, "t"+A($tietue), "ne", "n"+A($tietue), "s", "n", "t")
                 + pahentua ($tietue, "t", "n")
                 + juonto ($tietue);
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (kaivaa in $tietue.jatko) then
    choose $i in kaivaa ($tietue, A($tietue), "e", A($tietue), O($tietue), O($tietue), "")
                 + punottaa ($tietue, A($tietue)+"t");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (ajaa in $tietue.jatko) then
    choose $i in kaivaa ($tietue, A($tietue), "e", A($tietue), O($tietue), O($tietue), "");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (antaa in $tietue.jatko) then
    choose $i in antaa ($tietue, "t"+A($tietue), "ne", "n"+A($tietue), "n"+O($tietue), "t"+O($tietue), "n")
                 + punottaa ($tietue, "n"+A($tietue)+"t");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (jakaa in $tietue.jatko) then
    choose $i in jakaa ($tietue, "k"+A($tietue), "e", A($tietue), O($tietue), "k"+O($tietue));
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (kapsaa in $tietue.jatko) then
    choose $i in lappaa ($tietue, A($tietue), "e", A($tietue), O($tietue), O($tietue));
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (lappaa in $tietue.jatko) then
    choose $i in lappaa ($tietue, "p"+A($tietue), "e", A($tietue), O($tietue), "p"+O($tietue));
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (palaa in $tietue.jatko) then
    choose $i in lappaa ($tietue, A($tietue), "e", A($tietue), O($tietue), O($tietue));
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (raataa in $tietue.jatko) then
    choose $i in kaivaa ($tietue, "t"+A($tietue), "de", "d"+A($tietue), "d"+O($tietue), "t"+O($tietue), "d");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (saattaa in $tietue.jatko) then
    choose $i in kaivaa ($tietue, "t"+A($tietue), "e", A($tietue), O($tietue), "t"+O($tietue), "t");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (haastaa in $tietue.jatko) then
    choose $i in haastaa ($tietue, A($tietue), "e", A($tietue), O($tietue), "", O($tietue), "", "");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (kaihtaa in $tietue.jatko) then
    choose $i in haastaa ($tietue, "t"+A($tietue), "de", "d"+A($tietue), "d"+O($tietue), "d", "t"+O($tietue), "t", "d");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (laittaa in $tietue.jatko) then
    choose $i in haastaa ($tietue, "t"+A($tietue), "e", A($tietue), O($tietue), "", "t"+O($tietue), "t", "t");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (paistaa in $tietue.jatko) then
    choose $i in paistaa ($tietue, A($tietue), "e", A($tietue), O($tietue), "", O($tietue), "", "");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (virkkaa in $tietue.jatko) then
    choose $i in virkkaa ($tietue, "k"+A($tietue), "e", A($tietue), O($tietue), "", "k"+O($tietue), "k");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (paahtaa in $tietue.jatko) then
    choose $i in paistaa ($tietue, "t"+A($tietue), "de", "d"+A($tietue), "d"+O($tietue), "d", "t"+O($tietue), "t", "d");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (taittaa in $tietue.jatko) then
    choose $i in paistaa ($tietue, "t"+A($tietue), "e", A($tietue), O($tietue), "", O($tietue), "t", "t");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (saartaa in $tietue.jatko) then
    choose $i in saartaa ($tietue, "t"+A($tietue), "re", "r"+A($tietue), "r"+O($tietue), "s", "t", "t"+O($tietue))
                 + murto ($tietue);
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (laskea in $tietue.jatko) then
    choose $i in laskea ($tietue, "e", "i", "e", "", "");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (hakea in $tietue.jatko) then
    choose $i in laskea ($tietue, "ke", "ki", "e", "", "k");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (kutea in $tietue.jatko) then
    choose $i in laskea ($tietue, "te", "ti", "de", "d", "t");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (polkea in $tietue.jatko) then
    choose $i in laskea ($tietue, "ke", "ki", "je", "j", "k");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (rypeä in $tietue.jatko) then
    choose $i in laskea ($tietue, "pe", "pi", "ve", "v", "p");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (tunkea in $tietue.jatko) then
    choose $i in laskea ($tietue, "ke", "ki", "ge", "g", "k");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (tuntea in $tietue.jatko) then
    choose $i in tuntea ($tietue, "te", "ti", "ne", "s", "t");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (potea in $tietue.jatko) then
    choose $i in potea ($tietue, "te", "ti", "de", "d", "t", "s");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (lähteä in $tietue.jatko) then
    choose $i in lähteä ($tietue, "hte", "hti", "hde", "hd", "ks", "ht", "ksi");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (sallia in $tietue.jatko) then
    choose $i in sallia ($tietue, "i", "i", "", "");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (empiä in $tietue.jatko) then
    choose $i in sallia ($tietue, "pi", "mi", "m", "p");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (hylkiä in $tietue.jatko) then
    choose $i in sallia ($tietue, "ki", "ji", "j", "k");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (kaapia in $tietue.jatko) then
    choose $i in sallia ($tietue, "pi", "vi", "v", "p");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (kontia in $tietue.jatko) then
    choose $i in sallia ($tietue, "ti", "ni", "n", "t");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (laatia in $tietue.jatko) then
    choose $i in sallia ($tietue, "ti", "di", "d", "t");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (loikkia in $tietue.jatko) then
    choose $i in sallia ($tietue, "ki", "i", "", "k");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (onkia in $tietue.jatko) then
    choose $i in sallia ($tietue, "ki", "gi", "g", "k");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (oppia in $tietue.jatko) then
    choose $i in sallia ($tietue, "pi", "i", "", "p");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (poikia in $tietue.jatko) then
    choose $i in sallia ($tietue, "ki", "'i", "'", "k");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (sättiä in $tietue.jatko) then
    choose $i in sallia ($tietue, "ti", "i", "", "t");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (voida in $tietue.jatko) then
    choose $i in voida ($tietue, "i", "id", "");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (kanavoida in $tietue.jatko) then
    choose $i in voida ($tietue, "i", "id", "")
                 + muistua2 ($tietue, "i", "t", "d");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (saada in $tietue.jatko) then
    choose $i in saada ($tietue, A($tietue), A($tietue)+"d", "");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (myydä in $tietue.jatko) then
    choose $i in myydä ($tietue, U($tietue), U($tietue)+"d", "");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (juoda in $tietue.jatko) then
    choose $i in juoda ($tietue, U($tietue)+O($tietue), U($tietue)+O($tietue)+"d", O($tietue));
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (viedä in $tietue.jatko) then
    choose $i in viedä ($tietue, "ie", "ied", "e");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (käydä in $tietue.jatko) then
    choose $i in käydä ($tietue, U($tietue), U($tietue)+"d", "v", "vi");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (nuolaista in $tietue.jatko) then
    choose $i in nuolaista ($tietue, "is", "s", "ist", "st", "ise", "se", "isi", "si");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (rangaista in $tietue.jatko) then
    choose $i in rangaista ($tietue, "g"+A($tietue)+"is", "g"+A($tietue)+"s", "g"+A($tietue)+"ist", "g"+A($tietue)+"st", "k"+A($tietue)+"ise", "k"+A($tietue)+"se", "k"+A($tietue)+"is", "k"+A($tietue)+"s", "k"+A($tietue)+"isi", "k"+A($tietue)+"si", "is");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (kalista in $tietue.jatko) then
    choose $i in kalista ($tietue, "is", "ist", "ise", "isi", "i");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (nousta in $tietue.jatko) then
    choose $i in nousta ($tietue, "", "t", "e", "i");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (seistä in $tietue.jatko) then
    choose $i in seistä ($tietue, "", "t");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (tulla in $tietue.jatko) then
    choose $i in tulla ($tietue, "", "l", "e", "i");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (purra in $tietue.jatko) then
    choose $i in purra ($tietue, "", "r", "e", "i");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (mennä in $tietue.jatko) then
    choose $i in mennä ($tietue, "", "n", "e", "i");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (katsella in $tietue.jatko) then
    choose $i in katsella ($tietue, "", "l", "e", "", "i");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (aatella in $tietue.jatko) then
    choose $i in katsella ($tietue, "el", "ell", "tele", "tel", "teli");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (askarrella in $tietue.jatko) then
    choose $i in katsella ($tietue, "rel", "rell", "tele", "tel", "teli");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (ilotella in $tietue.jatko) then
    choose $i in ilotella ($tietue, "tel", "itel", "tell", "itell", "ttele", "ittele", "ttel", "ittel", "tteli", "itteli");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (kilvoitella in $tietue.jatko) then
    choose $i in kilvoitella ($tietue, "itel", "tel", "itell", "tell", "ittele", "ttele", "ittel", "ttel", "itteli", "tteli");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (kohdella in $tietue.jatko) then
    choose $i in katsella ($tietue, "del", "dell", "tele", "tel", "teli");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (nakella in $tietue.jatko) then
    choose $i in katsella ($tietue, "el", "ell", "kele", "kel", "keli");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (ommella in $tietue.jatko) then
    choose $i in katsella ($tietue, "mel", "mell", "pele", "pel", "peli");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (pienennellä in $tietue.jatko) then
    choose $i in katsella ($tietue, "nel", "nell", "tele", "tel", "teli");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (takellella in $tietue.jatko) then
    choose $i in katsella ($tietue, "lel", "lell", "tele", "tel", "teli");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (tapella in $tietue.jatko) then
    choose $i in katsella ($tietue, "el", "ell", "pele", "pel", "peli");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (arvailla in $tietue.jatko) then
    choose $i in arvailla ($tietue, "il", "el", "ill", "ell", "ile", "ele", "ili", "eli");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (haravoida in $tietue.jatko) then
    choose $i in haravoida ($tietue, "i", "id", "it", "itse", "in", "", "its", "itsi")
                 + muistua2 ($tietue, "i", "t", "d");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (valita in $tietue.jatko) then
    choose $i in valita ($tietue, "", "t", "tse", "n", "ts", "tsi");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (juosta in $tietue.jatko) then
    choose $i in juosta ($tietue, "s", "st", "kse", "ks", "ksi");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (nähdä in $tietue.jatko) then
    choose $i in nähdä ($tietue, "h", "hd", "ke", "e", "", "k", "ki");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (aleta in $tietue.jatko) then
    choose $i in aleta ($tietue, "", "t", "ne", "n", "n", "ni")
                 + loitontaa ($tietue, "n")
                 + loitontua ($tietue, "n");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (edetä in $tietue.jatko) then
    choose $i in aleta ($tietue, "de", "det", "tene", "den", "ten", "teni");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (erata in $tietue.jatko) then
    choose $i in aleta ($tietue, A($tietue), A($tietue)+"t", "k"+A($tietue)+"ne", A($tietue)+"n", "k"+A($tietue)+"n", "k"+A($tietue)+"ni");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (hapata in $tietue.jatko) then
    choose $i in aleta ($tietue, A($tietue), A($tietue)+"t", "p"+A($tietue)+"ne", A($tietue)+"n", "p"+A($tietue)+"n", "p"+A($tietue)+"ni")
                 + loitontua ($tietue, A($tietue)+"n");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (kangeta in $tietue.jatko) then
    choose $i in aleta ($tietue, "ge", "get", "kene", "gen", "ken", "keni");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (kaveta in $tietue.jatko) then
    choose $i in aleta ($tietue, "ve", "vet", "pene", "ven", "pen", "peni")
                 + loitontaa ($tietue, "ven")
                 + loitontua ($tietue, "ven");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (kevetä in $tietue.jatko) then
    choose $i in kevetä ($tietue, "ve", "vet", "pene", "vene", "ven", "pen", "peni", "veni")
                 + loitontaa ($tietue, "ven")
                 + loitontua ($tietue, "ven");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (leudota in $tietue.jatko) then
    choose $i in aleta ($tietue, "d"+O($tietue), "d"+O($tietue)+"t", "t"+O($tietue)+"ne", "d"+O($tietue)+"n", "t"+O($tietue)+"n", "t"+O($tietue)+"ni")
                 + loitontaa ($tietue, "d"+O($tietue)+"n")
                 + loitontua ($tietue, "d"+O($tietue)+"n");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (loitota in $tietue.jatko) then
    choose $i in aleta ($tietue, O($tietue), O($tietue)+"t", "t"+O($tietue)+"ne", O($tietue)+"n", "t"+O($tietue)+"n", "t"+O($tietue)+"ni")
                 + loitontaa ($tietue, O($tietue)+"n")
                 + loitontua ($tietue, O($tietue)+"n");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (lämmetä in $tietue.jatko) then
    choose $i in aleta ($tietue, "me", "met", "pene", "men", "pen", "peni");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (mädätä in $tietue.jatko) then
    choose $i in aleta ($tietue, "d"+A($tietue), "d"+A($tietue)+"t", "t"+A($tietue)+"ne", "d"+A($tietue)+"n", "t"+A($tietue)+"n", "t"+A($tietue)+"ni")
                 + loitontua ($tietue, "d"+A($tietue)+"n");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (suipeta in $tietue.jatko) then
    choose $i in aleta ($tietue, "e", "et", "pene", "en", "pen", "peni")
                 + loitontaa ($tietue, "en")
                 + loitontua ($tietue, "en");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (tarjeta in $tietue.jatko) then
    choose $i in aleta ($tietue, "je", "jet", "kene", "jen", "ken", "keni");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (ulota in $tietue.jatko) then
    choose $i in aleta ($tietue, O($tietue), O($tietue)+"t", "k"+O($tietue)+"ne", O($tietue)+"n", "k"+O($tietue)+"n", "k"+O($tietue)+"ni")
                 + loitontua ($tietue, O($tietue)+"n");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (vaieta in $tietue.jatko) then
    choose $i in aleta ($tietue, "e", "et", "kene", "en", "ken", "keni")
                 + loitontaa ($tietue, "en")
                 + loitontua ($tietue, "en");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (salata in $tietue.jatko) then
    choose $i in salata ($tietue, A($tietue), A($tietue)+"t", A($tietue)+A($tietue), A($tietue)+"n", A($tietue)+"s", A($tietue), A($tietue));
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (lobata in $tietue.jatko) then
    choose $i in salata ($tietue, A($tietue), A($tietue)+"t", "b"+A($tietue)+A($tietue), A($tietue)+"n", "b"+A($tietue)+"s", "b"+A($tietue), "b"+A($tietue));
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (digata in $tietue.jatko) then
    choose $i in salata ($tietue, A($tietue), A($tietue)+"t", "g"+A($tietue)+A($tietue), A($tietue)+"n", "g"+A($tietue)+"s", "g"+A($tietue), "g"+A($tietue));
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (hangata in $tietue.jatko) then
    choose $i in salata ($tietue, "g"+A($tietue), "g"+A($tietue)+"t", "k"+A($tietue)+A($tietue), "g"+A($tietue)+"n", "k"+A($tietue)+"s", "k"+A($tietue), "k"+A($tietue));
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (huiskata in $tietue.jatko) then
    choose $i in salata ($tietue, A($tietue), A($tietue), A($tietue), A($tietue), A($tietue), A($tietue), A($tietue));
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (kammata in $tietue.jatko) then
    choose $i in salata ($tietue, "m"+A($tietue), "m"+A($tietue)+"t", "p"+A($tietue)+A($tietue), "m"+A($tietue)+"n", "p"+A($tietue)+"s", "p"+A($tietue), "p"+A($tietue));
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (kelvata in $tietue.jatko) then
    choose $i in salata ($tietue, "v"+A($tietue), "v"+A($tietue)+"t", "p"+A($tietue)+A($tietue), "v"+A($tietue)+"n", "p"+A($tietue)+"s", "p"+A($tietue), "p"+A($tietue));
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (kerrata in $tietue.jatko) then
    choose $i in salata ($tietue, "r"+A($tietue), "r"+A($tietue)+"t", "t"+A($tietue)+A($tietue), "r"+A($tietue)+"n", "t"+A($tietue)+"s", "t"+A($tietue), "t"+A($tietue));
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (kivetä in $tietue.jatko) then
    choose $i in salata ($tietue, "", "t", A($tietue), "n", "s", "", "-");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (kuitata in $tietue.jatko) then
    choose $i in salata ($tietue, A($tietue), A($tietue)+"t", "t"+A($tietue)+A($tietue), A($tietue)+"n", "t"+A($tietue)+"s", "t"+A($tietue), "t"+A($tietue));
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (ladata in $tietue.jatko) then
    choose $i in salata ($tietue, "d"+A($tietue), "d"+A($tietue)+"t", "t"+A($tietue)+A($tietue), "d"+A($tietue)+"n", "t"+A($tietue)+"s", "t"+A($tietue), "t"+A($tietue));
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (pakata in $tietue.jatko) then
    choose $i in salata ($tietue, A($tietue), A($tietue)+"t", "k"+A($tietue)+A($tietue), A($tietue)+"n", "k"+A($tietue)+"s", "k"+A($tietue), "k"+A($tietue));
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (pompata in $tietue.jatko) then
    choose $i in salata ($tietue, A($tietue), A($tietue)+"t", "p"+A($tietue)+A($tietue), A($tietue)+"n", "p"+A($tietue)+"s", "p"+A($tietue), "p"+A($tietue));
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (saneerata in $tietue.jatko) then
    choose $i in salata ($tietue, A($tietue), A($tietue)+"t", A($tietue)+A($tietue), A($tietue)+"n", A($tietue)+"s", A($tietue), "-");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (suunnata in $tietue.jatko) then
    choose $i in salata ($tietue, "n"+A($tietue), "n"+A($tietue)+"t", "t"+A($tietue)+A($tietue), "n"+A($tietue)+"n", "t"+A($tietue)+"s", "t"+A($tietue), "t"+A($tietue));
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (taata in $tietue.jatko) then
    choose $i in salata ($tietue, A($tietue), A($tietue)+"t", "k"+A($tietue)+A($tietue), A($tietue)+"n", "k"+A($tietue)+"s", "k"+A($tietue), "k"+A($tietue));
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (vallata in $tietue.jatko) then
    choose $i in salata ($tietue, "l"+A($tietue), "l"+A($tietue)+"t", "t"+A($tietue)+A($tietue), "l"+A($tietue)+"n", "t"+A($tietue)+"s", "t"+A($tietue), "t"+A($tietue));
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (katketa in $tietue.jatko) then
    choose $i in katketa ($tietue, "", "t", A($tietue), "e", "n", "s", "");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (kammeta in $tietue.jatko) then
    choose $i in katketa ($tietue, "me", "met", "pe"+A($tietue), "pee", "men", "pes", "pe");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (langeta in $tietue.jatko) then
    choose $i in katketa ($tietue, "ge", "get", "ke"+A($tietue), "kee", "gen", "kes", "ke");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (lohjeta in $tietue.jatko) then
    choose $i in katketa ($tietue, "je", "jet", "ke"+A($tietue), "kee", "jen", "kes", "ke");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (lotota in $tietue.jatko) then
    choose $i in katketa ($tietue, O($tietue), O($tietue)+"t", "t"+O($tietue)+A($tietue), "t"+O($tietue)+O($tietue), O($tietue)+"n", "t"+O($tietue)+"s", "t"+O($tietue));
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (poiketa in $tietue.jatko) then
    choose $i in katketa ($tietue, "e", "et", "ke"+A($tietue), "kee", "en", "kes", "ke");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (ruveta in $tietue.jatko) then
    choose $i in katketa ($tietue, "ve", "vet", "pe"+A($tietue), "pee", "ven", "pes", "pe");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (todeta in $tietue.jatko) then
    choose $i in katketa ($tietue, "de", "det", "te"+A($tietue), "tee", "den", "tes", "te");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (selvitä in $tietue.jatko) then
    choose $i in selvitä ($tietue, "i", "it", "i"+A($tietue), "ii", "in", "is", "i");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (hellitä in $tietue.jatko) then
    choose $i in selvitä ($tietue, "li", "lit", "ti"+A($tietue), "tii", "lin", "tis", "ti");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (keritä in $tietue.jatko) then
    choose $i in selvitä ($tietue, "i", "it", "ki"+A($tietue), "kii", "in", "kis", "ki");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (lämmitä in $tietue.jatko) then
    choose $i in selvitä ($tietue, "mi", "mit", "pi"+A($tietue), "pii", "min", "pis", "pi");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (kutiaa in $tietue.jatko) then
    choose $i in kutiaa ($tietue, "");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (kohota in $tietue.jatko) then
    choose $i in kohota ($tietue, "", "t", A($tietue), O($tietue), "n", "s", O($tietue), "");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (aallota in $tietue.jatko) then
    choose $i in kohota ($tietue, "l"+O($tietue), "l"+O($tietue)+"t", "t"+O($tietue)+A($tietue), "t"+O($tietue)+O($tietue), "l"+O($tietue)+"n", "t"+O($tietue)+"s", "t"+O($tietue), "-");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (irrota in $tietue.jatko) then
    choose $i in kohota ($tietue, "r"+O($tietue), "r"+O($tietue)+"t", "t"+O($tietue)+A($tietue), "t"+O($tietue)+O($tietue), "r"+O($tietue)+"n", "t"+O($tietue)+"s", "t"+O($tietue), "t"+O($tietue));
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (laota in $tietue.jatko) then
    choose $i in kohota ($tietue, O($tietue), O($tietue)+"t", "k"+O($tietue)+A($tietue), "k"+O($tietue)+O($tietue), O($tietue)+"n", "k"+O($tietue)+"s", "k"+O($tietue), "k"+O($tietue));
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (saota in $tietue.jatko) then
    choose $i in kohota ($tietue, O($tietue), O($tietue)+"t", "k"+O($tietue)+A($tietue), "k"+O($tietue)+O($tietue), O($tietue)+"n", "k"+O($tietue)+"s", "k"+O($tietue), "-");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (kadota in $tietue.jatko) then
    choose $i in kohota ($tietue, "d"+O($tietue), "d"+O($tietue)+"t", "t"+O($tietue)+A($tietue), "t"+O($tietue)+O($tietue), "d"+O($tietue)+"n", "t"+O($tietue)+"s", "t"+O($tietue), "t"+O($tietue));
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (puota in $tietue.jatko) then
    choose $i in kohota ($tietue, O($tietue), O($tietue)+"t", "t"+O($tietue)+A($tietue), "t"+O($tietue)+O($tietue), O($tietue)+"n", "t"+O($tietue)+"s", "t"+O($tietue), "-");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (kimmota in $tietue.jatko) then
    choose $i in kohota ($tietue, "m"+O($tietue), "m"+O($tietue)+"t", "p"+O($tietue)+A($tietue), "p"+O($tietue)+O($tietue), "m"+O($tietue)+"n", "p"+O($tietue)+"s", "p"+O($tietue), "p"+O($tietue));
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (lingota in $tietue.jatko) then
    choose $i in kohota ($tietue, "g"+O($tietue), "g"+O($tietue)+"t", "k"+O($tietue)+A($tietue), "k"+O($tietue)+O($tietue), "g"+O($tietue)+"n", "k"+O($tietue)+"s", "k"+O($tietue), "k"+O($tietue));
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (netota in $tietue.jatko) then
    choose $i in kohota ($tietue, O($tietue), O($tietue)+"t", "t"+O($tietue)+A($tietue), "t"+O($tietue)+O($tietue), O($tietue)+"n", "t"+O($tietue)+"s", "t"+O($tietue), "t"+O($tietue));
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (siivota in $tietue.jatko) then
    choose $i in siivota ($tietue, "", "t", A($tietue), O($tietue), "n", "s", "");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (turvota in $tietue.jatko) then
    choose $i in kohota ($tietue, "v"+O($tietue), "v"+O($tietue)+"t", "p"+O($tietue)+A($tietue), "p"+O($tietue)+O($tietue), "v"+O($tietue)+"n", "p"+O($tietue)+"s", "p"+O($tietue), "p"+O($tietue));
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (upota in $tietue.jatko) then
    choose $i in kohota ($tietue, O($tietue), O($tietue)+"t", "p"+O($tietue)+A($tietue), "p"+O($tietue)+O($tietue), O($tietue)+"n", "p"+O($tietue)+"s", "p"+O($tietue), "p"+O($tietue));
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (haluta in $tietue.jatko) then
    choose $i in haluta ($tietue, "", "t", A($tietue), U($tietue), "n", "s", "", "-");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (bingota in $tietue.jatko) then
    choose $i in haluta ($tietue, "", "t", A($tietue), O($tietue), "n", "s", "", "-");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (juoruta in $tietue.jatko) then
    choose $i in haluta ($tietue, "", "t", A($tietue), U($tietue), "n", "s", "", "");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (kavuta in $tietue.jatko) then
    choose $i in haluta ($tietue, "v"+U($tietue), "v"+U($tietue)+"t", "p"+U($tietue)+A($tietue), "p"+U($tietue)+U($tietue), "v"+U($tietue)+"n", "p"+U($tietue)+"s", "p"+U($tietue), "-");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (kummuta in $tietue.jatko) then
    choose $i in haluta ($tietue, "m"+U($tietue), "m"+U($tietue)+"t", "p"+U($tietue)+A($tietue), "p"+U($tietue)+U($tietue), "m"+U($tietue)+"n", "p"+U($tietue)+"s", "p"+U($tietue), "p"+U($tietue));
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (luututa in $tietue.jatko) then
    choose $i in haluta ($tietue, U($tietue), U($tietue)+"t", "t"+U($tietue)+A($tietue), "t"+U($tietue)+U($tietue), U($tietue)+"n", "t"+U($tietue)+"s", "t"+U($tietue), "-");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (silputa in $tietue.jatko) then
    choose $i in haluta ($tietue, U($tietue), U($tietue)+"t", "p"+U($tietue)+A($tietue), "p"+U($tietue)+U($tietue), U($tietue)+"n", "p"+U($tietue)+"s", "p"+U($tietue), "-");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (ryöpytä in $tietue.jatko) then
    choose $i in haluta ($tietue, U($tietue), U($tietue)+"t", "p"+U($tietue)+A($tietue), "p"+U($tietue)+U($tietue), U($tietue)+"n", "p"+U($tietue)+"s", "p"+U($tietue), "p"+U($tietue));
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (takuta in $tietue.jatko) then
    choose $i in haluta ($tietue, U($tietue), U($tietue)+"t", "k"+U($tietue)+A($tietue), "k"+U($tietue)+U($tietue), U($tietue)+"n", "k"+U($tietue)+"s", "k"+U($tietue), "k"+U($tietue));
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (vivuta in $tietue.jatko) then
    choose $i in haluta ($tietue, "v"+U($tietue), "v"+U($tietue)+"t", "p"+U($tietue)+A($tietue), "p"+U($tietue)+U($tietue), "v"+U($tietue)+"n", "p"+U($tietue)+"s", "p"+U($tietue), "-");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (palata in $tietue.jatko) then
    choose $i in palata ($tietue, A($tietue), A($tietue)+"t", A($tietue)+A($tietue), A($tietue)+"n", A($tietue)+"j"+A($tietue), A($tietue)+"s", A($tietue), A($tietue));
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (hyljätä in $tietue.jatko) then
    choose $i in hyljätä ($tietue, "j"+A($tietue), "j"+A($tietue)+"t", "k"+A($tietue)+A($tietue), "j"+A($tietue)+"n", "j"+A($tietue)+A($tietue), "k"+A($tietue)+"j"+A($tietue), "k"+A($tietue)+"s", "j"+A($tietue)+"s", "k");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (hylätä in $tietue.jatko) then
    choose $i in palata ($tietue, A($tietue), A($tietue)+"t", "k"+A($tietue)+A($tietue), A($tietue)+"n", "k"+A($tietue)+"j"+A($tietue), "k"+A($tietue)+"s", "k"+A($tietue), "k"+A($tietue));
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (levätä in $tietue.jatko) then
    choose $i in palata ($tietue, "v"+A($tietue), "v"+A($tietue)+"t", "p"+A($tietue)+A($tietue), "v"+A($tietue)+"n", "p"+A($tietue)+"j"+A($tietue), "p"+A($tietue)+"s", "p"+A($tietue), "p"+A($tietue));
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (varata in $tietue.jatko) then
    choose $i in palata ($tietue, "r"+A($tietue), "r"+A($tietue)+"t", "r"+A($tietue)+A($tietue), "r"+A($tietue)+"n", "r"+A($tietue)+"j"+A($tietue), "r"+A($tietue)+"s", "r"+A($tietue), "-");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (kihistä in $tietue.jatko) then
    choose $i in kihistä ($tietue, "is", A($tietue)+"j"+A($tietue), "ist", "ise", A($tietue)+"j", "isi", "i")
                 + kihahtaa ($tietue)
                 + kihauttaa ($tietue);
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (kitistä in $tietue.jatko) then
    choose $i in kihistä ($tietue, "is", A($tietue)+"j"+A($tietue), "ist", "ise", A($tietue)+"j", "isi", "i");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (rakentaa in $tietue.jatko) then
    choose $i in rakentaa ($tietue, "nt"+A($tietue), "", "t", "nne", "n", "nn"+A($tietue), "ns", "nn", "nt");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (kääntää in $tietue.jatko) then
    choose $i in kääntää ($tietue, "nt"+A($tietue), "", "t", "nne", "n", "nn"+A($tietue), "ns", "nn", "nt");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (taitaa in $tietue.jatko) then
    choose $i in taitaa ($tietue, "t"+A($tietue), "de", "n", "", "d"+A($tietue), "s");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (antautua in $tietue.jatko) then
    choose $i in antautua ($tietue, "t"+U($tietue), "", "d"+U($tietue), "n", "s");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (kirjoittautua in $tietue.jatko) then
    choose $i in kirjoittautua ($tietue, "itt"+A($tietue)+U($tietue)+"t"+U($tietue), "tt"+A($tietue)+U($tietue)+"t"+U($tietue), "itt"+A($tietue)+U($tietue), "tt"+A($tietue)+U($tietue), "itt"+A($tietue)+U($tietue)+"d"+U($tietue), "tt"+A($tietue)+U($tietue)+"d"+U($tietue), "itt"+A($tietue)+U($tietue)+"n", "tt"+A($tietue)+U($tietue)+"n", "itt"+A($tietue)+U($tietue)+"s", "tt"+A($tietue)+U($tietue)+"s");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;
  elseif (olla in $tietue.jatko) then
    choose $i in olla ($tietue, "l", "ll", "le", "li");
    if (value_type($i) = record) then
      result $i.alku, $i - alku;
    else
      foreach $j in $i:
        result $j.alku, $j - alku;
      end;
    end;

#####################################################################
##=================================================================##
#####################################################################


  elseif (yö_monikko in $tietue.jatko) then
    choose $i in taivutuskaava ($tietue,
                                [omanto_iT:        <<"", <>>>,
                                 osanto_itA:       <<"", <>>>,
                                 olento_inA:       <<"", <>>>,
                                 tulento_iksi:     <<"", <>>>,
                                 sisäolento_issA:  <<"", <>>>,
                                 sisäeronto_istA:  <<"", <>>>,
                                 sisätulento_ihin: <<"", <>>>,
                                 ulko_olento_illA: <<"", <>>>,
                                 ulkoeronto_iltA:  <<"", <>>>,
                                 ulkotulento_ille: <<"", <>>>,
                                 vajanto_ittA:     <<"", <>>>,
                                 seuranto_ine:     <<"", <>>>,
                                 keinonto_in:      <<"", <>>>,
                                 johdin_ittain:    <<"", <>>>]);
    result $i.alku, $i - alku;

    
######################################

# Vaillinnainen taivutus.
#
#  elseif (kumajaa in $tietue.jatko) then
#  elseif (kaikaa in $tietue.jatko) then


######################################


  elseif (lienee in $tietue.jatko) then
    choose $i in taivutus ($tietue, "", @kestämän_tekijäpääte,
                           [tapaluokka: ehtotapa, aikamuoto: kestämä]);
    result $i.alku, $i - alku;


#========================================

  elseif ($tietue.alku /= nil) then
#define $a := transmit (<"a"> + <$tietue.alku> + <$tietue - alku>);
    result $tietue.alku, $tietue - alku;
  else
#define $b := transmit (<"b"> + <$tietue.perusmuoto> + <$tietue - alku>);
    result $tietue.perusmuoto, $tietue - alku;
  end;
##define $b := transmit (<$tietue.perusmuoto> + <$tietue.alku> + <$tietue.äs>);
end;
subrule koko ($tietue, $param01, $param02, $param03):
  return taivutuskaava ($tietue,
                        [nimentö: <<$param01, <>>>,
                         omistusliite: <<$param01, <>>>,
                         omanto_n: <<$param02, <>>>,
                         osanto_A: <<$param01, <>>>,
                         olento_nA: <<$param01, <>>>,
                         tulento_ksi: <<$param02, <>>>,
                         sisäolento_ssA: <<$param02, <>>>,
                         sisäeronto_stA: <<$param02, <>>>,
                         sisätulento_Vn: <<$param01, <>>>,
                         sisätulento_hVn: <<$param01, <vanha_h>>>,
                         ulko_olento_llA: <<$param02, <>>>,
                         ulkoeronto_ltA: <<$param02, <>>>,
                         ulkotulento_lle: <<$param02, <>>>,
                         vajanto_ttA: <<$param02, <>>>,
                         nimentö_t: <<$param02, <>>>,
                         omanto_jen: <<$param01, <>>>,
                         omanto_in: <<$param01, <ei_voikko>>>,
                         osanto_jA: <<$param01, <>>>,
                         olento_inA: <<$param01, <>>>,
                         tulento_iksi: <<$param03, <>>>,
                         sisäolento_issA: <<$param03, <>>>,
                         sisäeronto_istA: <<$param03, <>>>,
                         sisätulento_ihin: <<$param01, <>>>,
                         ulko_olento_illA: <<$param03, <>>>,
                         ulkoeronto_iltA: <<$param03, <>>>,
                         ulkotulento_ille: <<$param03, <>>>,
                         vajanto_ittA: <<$param03, <>>>,
                         seuranto_ine: <<$param01, <>>>,
                         keinonto_in: <<$param03, <>>>,
                         kerronto_sti: <<$param02, <>>>,
                         voittoaste: <<$param02, <>>>,
                         yliaste: <<$param03, <>>>,
                         johdin_inen: <<$param01, <>>>,
                         johdin_ittain: <<$param03, <>>>,
                         johdin_lAinen: <<$param01, <>>>,
                         johdin_llinen: <<$param02, <>>>,
                         johdin_mAinen: <<$param01, <>>>,
                         johdin_tOn: <<$param02, <>>>,
                         johdin_Us: <<$param01, <>>>,
                         tavuviiva: <<$param01, <>>>,
                         yhdyssana: <<$param01, <>>>]);
end;
subrule valo ($tietue, $param01, $param02):
  return taivutuskaava ($tietue,
                        [nimentö: <<$param01, <>>>,
                         omistusliite: <<$param01, <>>>,
                         omanto_n: <<$param02, <>>>,
                         osanto_A: <<$param01, <>>>,
                         olento_nA: <<$param01, <>>>,
                         tulento_ksi: <<$param02, <>>>,
                         sisäolento_ssA: <<$param02, <>>>,
                         sisäeronto_stA: <<$param02, <>>>,
                         sisätulento_Vn: <<$param01, <>>>,
                         sisätulento_hVn: <<$param01, <vanha_h>>>,
                         ulko_olento_llA: <<$param02, <>>>,
                         ulkoeronto_ltA: <<$param02, <>>>,
                         ulkotulento_lle: <<$param02, <>>>,
                         vajanto_ttA: <<$param02, <>>>,
                         nimentö_t: <<$param02, <>>>,
                         omanto_jen: <<$param01, <>>>,
                         omanto_in: <<$param01, <ei_voikko>>>,
                         osanto_jA: <<$param01, <>>>,
                         olento_inA: <<$param01, <>>>,
                         tulento_iksi: <<$param02, <>>>,
                         sisäolento_issA: <<$param02, <>>>,
                         sisäeronto_istA: <<$param02, <>>>,
                         sisätulento_ihin: <<$param01, <>>>,
                         ulko_olento_illA: <<$param02, <>>>,
                         ulkoeronto_iltA: <<$param02, <>>>,
                         ulkotulento_ille: <<$param02, <>>>,
                         vajanto_ittA: <<$param02, <>>>,
                         seuranto_ine: <<$param01, <>>>,
                         keinonto_in: <<$param02, <>>>,
                         kerronto_sti: <<$param02, <>>>,
                         voittoaste: <<$param02, <>>>,
                         yliaste: <<$param02, <>>>,
                         johdin_inen: <<$param01, <>>>,
                         johdin_ittain: <<$param02, <>>>,
                         johdin_lAinen: <<$param01, <>>>,
                         johdin_llinen: <<$param02, <>>>,
                         johdin_mAinen: <<$param01, <>>>,
                         johdin_tOn: <<$param02, <>>>,
                         johdin_Us: <<$param01, <>>>,
                         tavuviiva: <<$param01, <>>>,
                         yhdyssana: <<$param01, <>>>]);
end;
subrule vihko ($tietue, $param01, $param02):
  return taivutuskaava ($tietue,
                        [nimentö: <<$param01, <>>>,
                         omistusliite: <<$param01, <>>>,
                         omanto_n: <<$param02, <>>, <$param01, <>>>,
                         osanto_A: <<$param01, <>>>,
                         olento_nA: <<$param01, <>>>,
                         tulento_ksi: <<$param02, <>>, <$param01, <>>>,
                         sisäolento_ssA: <<$param02, <>>, <$param01, <>>>,
                         sisäeronto_stA: <<$param02, <>>, <$param01, <>>>,
                         sisätulento_Vn: <<$param01, <>>>,
                         sisätulento_hVn: <<$param01, <vanha_h>>>,
                         ulko_olento_llA: <<$param02, <>>, <$param01, <>>>,
                         ulkoeronto_ltA: <<$param02, <>>, <$param01, <>>>,
                         ulkotulento_lle: <<$param02, <>>, <$param01, <>>>,
                         vajanto_ttA: <<$param02, <>>, <$param01, <>>>,
                         nimentö_t: <<$param02, <>>, <$param01, <>>>,
                         omanto_jen: <<$param01, <>>>,
                         omanto_in: <<$param01, <ei_voikko>>>,
                         osanto_jA: <<$param01, <>>>,
                         olento_inA: <<$param01, <>>>,
                         tulento_iksi: <<$param02, <>>, <$param01, <>>>,
                         sisäolento_issA: <<$param02, <>>, <$param01, <>>>,
                         sisäeronto_istA: <<$param02, <>>, <$param01, <>>>,
                         sisätulento_ihin: <<$param01, <>>>,
                         ulko_olento_illA: <<$param02, <>>, <$param01, <>>>,
                         ulkoeronto_iltA: <<$param02, <>>, <$param01, <>>>,
                         ulkotulento_ille: <<$param02, <>>, <$param01, <>>>,
                         vajanto_ittA: <<$param02, <>>, <$param01, <>>>,
                         seuranto_ine: <<$param01, <>>>,
                         keinonto_in: <<$param02, <>>, <$param01, <>>>,
                         kerronto_sti: <<$param02, <>>, <$param01, <>>>,
                         voittoaste: <<$param02, <>>, <$param01, <>>>,
                         yliaste: <<$param02, <>>, <$param01, <>>>,
                         johdin_inen: <<$param01, <>>>,
                         johdin_ittain: <<$param02, <>>, <$param01, <>>>,
                         johdin_lAinen: <<$param01, <>>>,
                         johdin_llinen: <<$param02, <>>, <$param01, <>>>,
                         johdin_mAinen: <<$param01, <>>>,
                         johdin_tOn: <<$param02, <>>, <$param01, <>>>,
                         johdin_Us: <<$param01, <>>>,
                         tavuviiva: <<$param01, <>>>,
                         yhdyssana: <<$param01, <>>>]);
end;
subrule aarteisto ($tietue, $param01, $param02):
  return taivutuskaava ($tietue,
                        [nimentö: <<$param01, <>>, <$param02, <>>>,
                         omistusliite: <<$param01, <>>, <$param02, <>>>,
                         omanto_n: <<$param01, <>>, <$param02, <>>>,
                         osanto_A: <<$param01, <>>, <$param02, <>>>,
                         olento_nA: <<$param01, <>>, <$param02, <>>>,
                         tulento_ksi: <<$param01, <>>, <$param02, <>>>,
                         sisäolento_ssA: <<$param01, <>>, <$param02, <>>>,
                         sisäeronto_stA: <<$param01, <>>, <$param02, <>>>,
                         sisätulento_Vn: <<$param01, <>>, <$param02, <>>>,
                         sisätulento_hVn: <<$param01, <vanha_h>>, <$param02, <vanha_h>>>,
                         ulko_olento_llA: <<$param01, <>>, <$param02, <>>>,
                         ulkoeronto_ltA: <<$param01, <>>, <$param02, <>>>,
                         ulkotulento_lle: <<$param01, <>>, <$param02, <>>>,
                         vajanto_ttA: <<$param01, <>>, <$param02, <>>>,
                         nimentö_t: <<$param01, <>>, <$param02, <>>>,
                         omanto_jen: <<$param01, <>>, <$param02, <>>>,
                         omanto_iT: <<$param01, <>>, <$param02, <>>>,
                         omanto_in: <<$param01, <>>, <$param02, <>>>,
                         osanto_jA: <<$param01, <>>, <$param02, <>>>,
                         osanto_itA: <<$param01, <>>, <$param02, <>>>,
                         olento_inA: <<$param01, <>>, <$param02, <>>>,
                         tulento_iksi: <<$param01, <>>, <$param02, <>>>,
                         sisäolento_issA: <<$param01, <>>, <$param02, <>>>,
                         sisäeronto_istA: <<$param01, <>>, <$param02, <>>>,
                         sisätulento_ihin: <<$param01, <>>, <$param02, <>>>,
                         ulko_olento_illA: <<$param01, <>>, <$param02, <>>>,
                         ulkoeronto_iltA: <<$param01, <>>, <$param02, <>>>,
                         ulkotulento_ille: <<$param01, <>>, <$param02, <>>>,
                         vajanto_ittA: <<$param01, <>>, <$param02, <>>>,
                         seuranto_ine: <<$param01, <>>, <$param02, <>>>,
                         keinonto_in: <<$param01, <>>, <$param02, <>>>,
                         johdin_inen: <<$param01, <>>, <$param02, <>>>,
                         johdin_ittain: <<$param01, <>>, <$param02, <>>>,
                         johdin_lAinen: <<$param01, <>>, <$param02, <>>>,
                         johdin_llinen: <<$param01, <>>, <$param02, <>>>,
                         johdin_mAinen: <<$param01, <>>, <$param02, <>>>,
                         johdin_tOn: <<$param01, <>>, <$param02, <>>>,
                         tavuviiva: <<$param01, <>>, <$param02, <>>>,
                         yhdyssana: <<$param01, <>>, <$param02, <>>>]);
end;
subrule arvelu ($tietue, $param01, $param02):
  return taivutuskaava ($tietue,
                        [nimentö: <<$param01, <>>>,
                         omistusliite: <<$param01, <>>>,
                         omanto_n: <<$param02, <>>>,
                         osanto_A: <<$param01, <>>>,
                         olento_nA: <<$param01, <>>>,
                         tulento_ksi: <<$param02, <>>>,
                         sisäolento_ssA: <<$param02, <>>>,
                         sisäeronto_stA: <<$param02, <>>>,
                         sisätulento_Vn: <<$param01, <>>>,
                         sisätulento_hVn: <<$param01, <vanha_h>>>,
                         ulko_olento_llA: <<$param02, <>>>,
                         ulkoeronto_ltA: <<$param02, <>>>,
                         ulkotulento_lle: <<$param02, <>>>,
                         vajanto_ttA: <<$param02, <>>>,
                         nimentö_t: <<$param02, <>>>,
                         omanto_jen: <<$param01, <>>>,
                         omanto_iT: <<$param02, <>>>,
                         omanto_in: <<$param01, <ei_voikko>>>,
                         osanto_jA: <<$param01, <>>>,
                         osanto_itA: <<$param02, <>>>,
                         olento_inA: <<$param01, <>>>,
                         tulento_iksi: <<$param02, <>>>,
                         sisäolento_issA: <<$param02, <>>>,
                         sisäeronto_istA: <<$param02, <>>>,
                         sisätulento_ihin: <<$param01, <>>, <$param02, <>>>,
                         ulko_olento_illA: <<$param02, <>>>,
                         ulkoeronto_iltA: <<$param02, <>>>,
                         ulkotulento_ille: <<$param02, <>>>,
                         vajanto_ittA: <<$param02, <>>>,
                         seuranto_ine: <<$param01, <>>>,
                         keinonto_in: <<$param02, <>>>,
                         kerronto_sti: <<$param02, <>>>,
                         voittoaste: <<$param02, <>>>,
                         yliaste: <<$param02, <>>>,
                         johdin_inen: <<$param01, <>>>,
                         johdin_ittain: <<$param02, <>>>,
                         johdin_lAinen: <<$param01, <>>>,
                         johdin_llinen: <<$param02, <>>>,
                         johdin_mAinen: <<$param01, <>>>,
                         johdin_tOn: <<$param02, <>>>,
                         johdin_Us: <<$param01, <>>>,
                         tavuviiva: <<$param01, <>>>,
                         yhdyssana: <<$param01, <>>>]);
end;
subrule hontelo ($tietue, $param01, $param02):
  return taivutuskaava ($tietue,
                        [nimentö: <<$param01, <>>>,
                         omistusliite: <<$param01, <>>>,
                         omanto_n: <<$param01, <>>>,
                         osanto_A: <<$param01, <>>>,
                         olento_nA: <<$param01, <>>>,
                         tulento_ksi: <<$param01, <>>>,
                         sisäolento_ssA: <<$param01, <>>>,
                         sisäeronto_stA: <<$param01, <>>>,
                         sisätulento_Vn: <<$param01, <>>>,
                         sisätulento_hVn: <<$param01, <vanha_h>>>,
                         ulko_olento_llA: <<$param01, <>>>,
                         ulkoeronto_ltA: <<$param01, <>>>,
                         ulkotulento_lle: <<$param01, <>>>,
                         vajanto_ttA: <<$param01, <>>>,
                         nimentö_t: <<$param01, <>>>,
                         omanto_jen: <<$param01, <>>>,
                         omanto_iT: <<$param01, <>>>,
                         omanto_in: <<$param01, <ei_voikko>>>,
                         osanto_jA: <<$param01, <>>>,
                         osanto_itA: <<$param01, <>>>,
                         olento_inA: <<$param01, <>>>,
                         tulento_iksi: <<$param01, <>>>,
                         sisäolento_issA: <<$param01, <>>>,
                         sisäeronto_istA: <<$param01, <>>>,
                         sisätulento_ihin: <<$param01, <>>>,
                         ulko_olento_illA: <<$param01, <>>>,
                         ulkoeronto_iltA: <<$param01, <>>>,
                         ulkotulento_ille: <<$param01, <>>>,
                         vajanto_ittA: <<$param01, <>>>,
                         seuranto_ine: <<$param01, <>>>,
                         keinonto_in: <<$param01, <>>>,
                         kerronto_sti: <<$param01, <>>>,
                         voittoaste: <<$param01, <>>>,
                         yliaste: <<$param01, <>>>,
                         johdin_inen: <<$param01, <>>>,
                         johdin_ittain: <<$param01, <>>>,
                         johdin_lAinen: <<$param01, <>>>,
                         johdin_llinen: <<$param01, <>>>,
                         johdin_mAinen: <<$param01, <>>>,
                         johdin_tOn: <<$param01, <>>>,
                         johdin_UUs: <<$param02, <>>>,
                         tavuviiva: <<$param01, <>>>,
                         yhdyssana: <<$param01, <>>>]);
end;
subrule laatikko ($tietue, $param01, $param02):
  return taivutuskaava ($tietue,
                        [nimentö: <<$param01, <>>>,
                         omistusliite: <<$param01, <>>>,
                         omanto_n: <<$param02, <>>>,
                         osanto_A: <<$param01, <>>>,
                         olento_nA: <<$param01, <>>>,
                         tulento_ksi: <<$param02, <>>>,
                         sisäolento_ssA: <<$param02, <>>>,
                         sisäeronto_stA: <<$param02, <>>>,
                         sisätulento_Vn: <<$param01, <>>>,
                         sisätulento_hVn: <<$param01, <vanha_h>>>,
                         ulko_olento_llA: <<$param02, <>>>,
                         ulkoeronto_ltA: <<$param02, <>>>,
                         ulkotulento_lle: <<$param02, <>>>,
                         vajanto_ttA: <<$param02, <>>>,
                         nimentö_t: <<$param02, <>>>,
                         omanto_jen: <<$param01, <>>>,
                         omanto_iT: <<$param02, <>>>,
                         omanto_in: <<$param01, <ei_voikko>>>,
                         osanto_jA: <<$param01, <>>>,
                         osanto_itA: <<$param02, <>>>,
                         olento_inA: <<$param01, <>>, <$param02, <>>>,
                         tulento_iksi: <<$param02, <>>>,
                         sisäolento_issA: <<$param02, <>>>,
                         sisäeronto_istA: <<$param02, <>>>,
                         sisätulento_ihin: <<$param01, <>>, <$param02, <>>>,
                         ulko_olento_illA: <<$param02, <>>>,
                         ulkoeronto_iltA: <<$param02, <>>>,
                         ulkotulento_ille: <<$param02, <>>>,
                         vajanto_ittA: <<$param02, <>>>,
                         seuranto_ine: <<$param01, <>>, <$param02, <>>>,
                         keinonto_in: <<$param02, <>>>,
                         kerronto_sti: <<$param02, <>>>,
                         voittoaste: <<$param02, <>>>,
                         yliaste: <<$param02, <>>>,
                         johdin_inen: <<$param01, <>>>,
                         johdin_ittain: <<$param02, <>>>,
                         johdin_lAinen: <<$param01, <>>>,
                         johdin_llinen: <<$param02, <>>>,
                         johdin_mAinen: <<$param01, <>>>,
                         johdin_tOn: <<$param02, <>>>,
                         johdin_Us: <<$param01, <>>>,
                         tavuviiva: <<$param01, <>>>,
                         yhdyssana: <<$param01, <>>>]);
end;
subrule puhuttu ($tietue, $param01, $param02):
  return taivutuskaava ($tietue,
                        [nimentö: <<$param01, <>>>,
                         omistusliite: <<$param01, <>>>,
                         omanto_n: <<$param02, <>>>,
                         osanto_A: <<$param01, <>>>,
                         olento_nA: <<$param01, <>>>,
                         tulento_ksi: <<$param02, <>>>,
                         sisäolento_ssA: <<$param02, <>>>,
                         sisäeronto_stA: <<$param02, <>>>,
                         sisätulento_Vn: <<$param01, <>>>,
                         sisätulento_hVn: <<$param01, <vanha_h>>>,
                         ulko_olento_llA: <<$param02, <>>>,
                         ulkoeronto_ltA: <<$param02, <>>>,
                         ulkotulento_lle: <<$param02, <>>>,
                         vajanto_ttA: <<$param02, <>>>,
                         nimentö_t: <<$param02, <>>>,
                         omanto_jen: <<$param01, <>>>,
                         omanto_iT: <<$param02, <vanhat_muodot>>>,
                         omanto_in: <<$param01, <ei_voikko>>>,
                         osanto_jA: <<$param01, <>>>,
                         osanto_itA: <<$param02, <>>>,
                         olento_inA: <<$param01, <>>>,
                         tulento_iksi: <<$param02, <>>>,
                         sisäolento_issA: <<$param02, <>>>,
                         sisäeronto_istA: <<$param02, <>>>,
                         sisätulento_ihin: <<$param01, <>>>,
                         ulko_olento_illA: <<$param02, <>>>,
                         ulkoeronto_iltA: <<$param02, <>>>,
                         ulkotulento_ille: <<$param02, <>>>,
                         vajanto_ittA: <<$param02, <>>>,
                         seuranto_ine: <<$param01, <>>>,
                         keinonto_in: <<$param02, <>>>,
                         kerronto_sti: <<$param02, <>>>,
                         voittoaste: <<$param02, <>>>,
                         yliaste: <<$param02, <>>>,
                         johdin_Us: <<$param01, <>>>,
                         tavuviiva: <<$param01, <>>>,
                         yhdyssana: <<$param01, <>>>]);
end;
subrule autio ($tietue, $param01):
  return taivutuskaava ($tietue,
                        [nimentö: <<$param01, <>>>,
                         omistusliite: <<$param01, <>>>,
                         omanto_n: <<$param01, <>>>,
                         osanto_tA: <<$param01, <>>>,
                         osanto_A: <<$param01, <ei_voikko>>>,
                         olento_nA: <<$param01, <>>>,
                         tulento_ksi: <<$param01, <>>>,
                         sisäolento_ssA: <<$param01, <>>>,
                         sisäeronto_stA: <<$param01, <>>>,
                         sisätulento_Vn: <<$param01, <>>>,
                         sisätulento_hVn: <<$param01, <vanha_h>>>,
                         ulko_olento_llA: <<$param01, <>>>,
                         ulkoeronto_ltA: <<$param01, <>>>,
                         ulkotulento_lle: <<$param01, <>>>,
                         vajanto_ttA: <<$param01, <>>>,
                         nimentö_t: <<$param01, <>>>,
                         omanto_iT: <<$param01, <>>>,
                         omanto_in: <<$param01, <ei_voikko>>>,
                         osanto_itA: <<$param01, <>>>,
                         olento_inA: <<$param01, <>>>,
                         tulento_iksi: <<$param01, <>>>,
                         sisäolento_issA: <<$param01, <>>>,
                         sisäeronto_istA: <<$param01, <>>>,
                         sisätulento_ihin: <<$param01, <>>>,
                         ulko_olento_illA: <<$param01, <>>>,
                         ulkoeronto_iltA: <<$param01, <>>>,
                         ulkotulento_ille: <<$param01, <>>>,
                         vajanto_ittA: <<$param01, <>>>,
                         seuranto_ine: <<$param01, <>>>,
                         keinonto_in: <<$param01, <>>>,
                         kerronto_sti: <<$param01, <>>>,
                         voittoaste: <<$param01, <>>>,
                         yliaste: <<$param01, <>>>,
                         johdin_inen: <<$param01, <>>>,
                         johdin_ittain: <<$param01, <>>>,
                         johdin_lAinen: <<$param01, <>>>,
                         johdin_llinen: <<$param01, <>>>,
                         johdin_mAinen: <<$param01, <>>>,
                         johdin_tOn: <<$param01, <>>>,
                         johdin_Us: <<$param01, <>>>,
                         tavuviiva: <<$param01, <>>>,
                         yhdyssana: <<$param01, <>>>]);
end;
subrule illuusio ($tietue, $param01, $param02, $param03, $param04, $param05, $param06, $param07, $param08):
  return taivutuskaava ($tietue,
                        [nimentö: <<$param01, <>>, <$param02, <>>, <$param03, <>>, <$param04, <>>>,
                         omistusliite: <<$param01, <>>, <$param02, <>>, <$param03, <>>, <$param04, <>>>,
                         omanto_n: <<$param01, <>>, <$param02, <>>, <$param03, <>>, <$param04, <>>>,
                         osanto_tA: <<$param01, <>>, <$param02, <>>>,
                         osanto_A: <<$param01, <>>, <$param02, <>>, <$param03, <>>, <$param04, <>>>,
                         olento_nA: <<$param01, <>>, <$param02, <>>, <$param03, <>>, <$param04, <>>>,
                         tulento_ksi: <<$param01, <>>, <$param02, <>>, <$param03, <>>, <$param04, <>>>,
                         sisäolento_ssA: <<$param01, <>>, <$param02, <>>, <$param03, <>>, <$param04, <>>>,
                         sisäeronto_stA: <<$param01, <>>, <$param02, <>>, <$param03, <>>, <$param04, <>>>,
                         sisätulento_Vn: <<$param01, <>>, <$param02, <>>, <$param03, <>>, <$param04, <>>>,
                         sisätulento_hVn: <<$param01, <vanha_h>>, <$param02, <vanha_h>>, <$param03, <vanha_h>>, <$param04, <vanha_h>>>,
                         ulko_olento_llA: <<$param01, <>>, <$param02, <>>, <$param03, <>>, <$param04, <>>>,
                         ulkoeronto_ltA: <<$param01, <>>, <$param02, <>>, <$param03, <>>, <$param04, <>>>,
                         ulkotulento_lle: <<$param01, <>>, <$param02, <>>, <$param03, <>>, <$param04, <>>>,
                         vajanto_ttA: <<$param01, <>>, <$param02, <>>, <$param03, <>>, <$param04, <>>>,
                         nimentö_t: <<$param01, <>>, <$param02, <>>, <$param03, <>>, <$param04, <>>>,
                         omanto_en: <<$param03, <>>, <$param04, <>>>,
                         omanto_iT: <<$param01, <>>, <$param02, <>>, <$param05, <>>, <$param06, <>>>,
                         omanto_in: <<$param01, <>>, <$param02, <>>, <$param05, <>>, <$param06, <>>>,
                         osanto_itA: <<$param01, <>>, <$param02, <>>, <$param05, <>>, <$param06, <>>>,
                         osanto_jA: <<$param05, <>>, <$param06, <>>>,
                         olento_inA: <<$param01, <>>, <$param02, <>>, <$param05, <>>, <$param06, <>>>,
                         tulento_iksi: <<$param01, <>>, <$param02, <>>, <$param05, <>>, <$param06, <>>>,
                         sisäolento_issA: <<$param01, <>>, <$param02, <>>, <$param05, <>>, <$param06, <>>>,
                         sisäeronto_istA: <<$param01, <>>, <$param02, <>>, <$param05, <>>, <$param06, <>>>,
                         sisätulento_ihin: <<$param01, <>>, <$param02, <>>, <$param05, <>>, <$param06, <>>>,
                         ulko_olento_illA: <<$param01, <>>, <$param02, <>>, <$param05, <>>, <$param06, <>>>,
                         ulkoeronto_iltA: <<$param01, <>>, <$param02, <>>, <$param05, <>>, <$param06, <>>>,
                         ulkotulento_ille: <<$param01, <>>, <$param02, <>>, <$param05, <>>, <$param06, <>>>,
                         vajanto_ittA: <<$param01, <>>, <$param05, <>>, <$param05, <>>, <$param06, <>>>,
                         seuranto_ine: <<$param01, <>>, <$param02, <>>, <$param05, <>>, <$param06, <>>>,
                         keinonto_in: <<$param01, <>>, <$param02, <>>, <$param05, <>>, <$param06, <>>>,
                         kerronto_sti: <<$param01, <>>, <$param02, <>>, <$param03, <>>, <$param04, <>>>,
                         voittoaste: <<$param01, <>>, <$param02, <>>, <$param03, <>>, <$param04, <>>>,
                         yliaste: <<$param01, <>>, <$param02, <>>, <$param05, <>>, <$param06, <>>>,
                         johdin_inen: <<$param01, <>>, <$param02, <>>, <$param07, <>>, <$param08, <>>>,
                         johdin_ittain: <<$param01, <>>, <$param02, <>>, <$param05, <>>, <$param06, <>>>,
                         johdin_lAinen: <<$param01, <>>, <$param02, <>>, <$param03, <>>, <$param04, <>>>,
                         johdin_llinen: <<$param01, <>>, <$param02, <>>, <$param03, <>>, <$param04, <>>>,
                         johdin_mAinen: <<$param01, <>>, <$param02, <>>, <$param03, <>>, <$param04, <>>>,
                         johdin_tOn: <<$param01, <>>, <$param02, <>>, <$param03, <>>, <$param04, <>>>,
                         johdin_Us: <<$param01, <>>, <$param02, <>>, <$param03, <>>, <$param04, <>>>,
                         tavuviiva: <<$param01, <>>, <$param02, <>>, <$param03, <>>, <$param04, <>>>,
                         yhdyssana: <<$param01, <>>, <$param02, <>>, <$param03, <>>, <$param04, <>>>]);
end;
subrule obligaatio ($tietue, $param01, $param02, $param03, $param04, $param05, $param06, $param07, $param08, $param09, $param10, $param11, $param12, $param13, $param14):
  return taivutuskaava ($tietue,
                        [nimentö: <<$param01, <>>, <$param02, <>>, <$param03, <>>, <$param04, <>>, <$param05, <>>, <$param06, <>>>,
                         omistusliite: <<$param01, <>>, <$param02, <>>, <$param03, <>>, <$param04, <>>, <$param05, <>>, <$param06, <>>>,
                         omanto_n: <<$param01, <>>, <$param02, <>>, <$param03, <>>, <$param04, <>>, <$param05, <>>, <$param06, <>>>,
                         osanto_tA: <<$param01, <>>, <$param02, <>>>,
                         osanto_A: <<$param01, <>>, <$param02, <>>, <$param03, <>>, <$param04, <>>, <$param05, <>>, <$param06, <>>>,
                         olento_nA: <<$param01, <>>, <$param02, <>>, <$param03, <>>, <$param04, <>>, <$param05, <>>, <$param06, <>>>,
                         tulento_ksi: <<$param01, <>>, <$param02, <>>, <$param03, <>>, <$param04, <>>, <$param05, <>>, <$param06, <>>>,
                         sisäolento_ssA: <<$param01, <>>, <$param02, <>>, <$param03, <>>, <$param04, <>>, <$param05, <>>, <$param06, <>>>,
                         sisäeronto_stA: <<$param01, <>>, <$param02, <>>, <$param03, <>>, <$param04, <>>, <$param05, <>>, <$param06, <>>>,
                         sisätulento_Vn: <<$param01, <>>, <$param02, <>>, <$param03, <>>, <$param04, <>>, <$param05, <>>, <$param06, <>>>,
                         sisätulento_hVn: <<$param01, <vanha_h>>, <$param02, <vanha_h>>, <$param03, <vanha_h>>, <$param04, <vanha_h>>, <$param05, <vanha_h>>, <$param06, <vanha_h>>>,
                         ulko_olento_llA: <<$param01, <>>, <$param02, <>>, <$param03, <>>, <$param04, <>>, <$param05, <>>, <$param06, <>>>,
                         ulkoeronto_ltA: <<$param01, <>>, <$param02, <>>, <$param03, <>>, <$param04, <>>, <$param05, <>>, <$param06, <>>>,
                         ulkotulento_lle: <<$param01, <>>, <$param02, <>>, <$param03, <>>, <$param04, <>>, <$param05, <>>, <$param06, <>>>,
                         vajanto_ttA: <<$param01, <>>, <$param02, <>>, <$param03, <>>, <$param04, <>>, <$param05, <>>, <$param06, <>>>,
                         nimentö_t: <<$param01, <>>, <$param02, <>>, <$param03, <>>, <$param04, <>>, <$param05, <>>, <$param06, <>>>,
                         omanto_en: <<$param03, <>>, <$param04, <>>, <$param05, <>>, <$param06, <>>>,
                         omanto_iT: <<$param01, <>>, <$param02, <>>, <$param07, <>>, <$param08, <>>, <$param09, <>>, <$param10, <>>>,
                         omanto_in: <<$param01, <>>, <$param02, <>>, <$param07, <>>, <$param08, <>>, <$param09, <>>, <$param10, <>>>,
                         osanto_itA: <<$param01, <>>, <$param02, <>>, <$param07, <>>, <$param08, <>>, <$param09, <>>, <$param10, <>>>,
                         osanto_jA: <<$param07, <>>, <$param08, <>>, <$param09, <>>, <$param10, <>>>,
                         olento_inA: <<$param01, <>>, <$param02, <>>, <$param07, <>>, <$param08, <>>, <$param09, <>>, <$param10, <>>>,
                         tulento_iksi: <<$param01, <>>, <$param02, <>>, <$param07, <>>, <$param08, <>>, <$param09, <>>, <$param10, <>>>,
                         sisäolento_issA: <<$param01, <>>, <$param02, <>>, <$param07, <>>, <$param08, <>>, <$param09, <>>, <$param10, <>>>,
                         sisäeronto_istA: <<$param01, <>>, <$param02, <>>, <$param07, <>>, <$param08, <>>, <$param09, <>>, <$param10, <>>>,
                         sisätulento_ihin: <<$param01, <>>, <$param02, <>>, <$param07, <>>, <$param08, <>>, <$param09, <>>, <$param10, <>>>,
                         ulko_olento_illA: <<$param01, <>>, <$param02, <>>, <$param07, <>>, <$param08, <>>, <$param09, <>>, <$param10, <>>>,
                         ulkoeronto_iltA: <<$param01, <>>, <$param02, <>>, <$param07, <>>, <$param08, <>>, <$param09, <>>, <$param10, <>>>,
                         ulkotulento_ille: <<$param01, <>>, <$param02, <>>, <$param07, <>>, <$param08, <>>, <$param09, <>>, <$param10, <>>>,
                         vajanto_ittA: <<$param01, <>>, <$param09, <>>, <$param07, <>>, <$param08, <>>, <$param09, <>>, <$param10, <>>>,
                         seuranto_ine: <<$param01, <>>, <$param02, <>>, <$param07, <>>, <$param08, <>>, <$param09, <>>, <$param10, <>>>,
                         keinonto_in: <<$param01, <>>, <$param02, <>>, <$param07, <>>, <$param08, <>>, <$param09, <>>, <$param10, <>>>,
                         kerronto_sti: <<$param01, <>>, <$param02, <>>, <$param03, <>>, <$param04, <>>, <$param05, <>>, <$param06, <>>>,
                         voittoaste: <<$param01, <>>, <$param02, <>>, <$param03, <>>, <$param04, <>>, <$param05, <>>, <$param06, <>>>,
                         yliaste: <<$param01, <>>, <$param02, <>>, <$param07, <>>, <$param08, <>>, <$param09, <>>>,
                         johdin_inen: <<$param01, <>>, <$param02, <>>, <$param11, <>>, <$param12, <>>, <$param13, <>>, <$param14, <>>>,
                         johdin_ittain: <<$param01, <>>, <$param02, <>>, <$param07, <>>, <$param08, <>>, <$param09, <>>, <$param10, <>>>,
                         johdin_lAinen: <<$param01, <>>, <$param02, <>>, <$param03, <>>, <$param04, <>>, <$param05, <>>, <$param06, <>>>,
                         johdin_llinen: <<$param01, <>>, <$param02, <>>, <$param03, <>>, <$param04, <>>, <$param05, <>>, <$param06, <>>>,
                         johdin_mAinen: <<$param01, <>>, <$param02, <>>, <$param03, <>>, <$param04, <>>, <$param05, <>>, <$param06, <>>>,
                         johdin_tOn: <<$param01, <>>, <$param02, <>>, <$param03, <>>, <$param04, <>>, <$param05, <>>, <$param06, <>>>,
                         johdin_Us: <<$param01, <>>, <$param02, <>>, <$param03, <>>, <$param04, <>>, <$param05, <>>, <$param06, <>>>,
                         tavuviiva: <<$param01, <>>, <$param02, <>>, <$param03, <>>, <$param04, <>>, <$param05, <>>, <$param06, <>>>,
                         yhdyssana: <<$param01, <>>, <$param02, <>>, <$param03, <>>, <$param04, <>>, <$param05, <>>, <$param06, <>>>]);
end;
subrule traditio ($tietue, $param01, $param02, $param03, $param04, $param05, $param06, $param07, $param08):
  return taivutuskaava ($tietue,
                        [nimentö: <<$param01, <>>, <$param02, <>>, <$param03, <>>, <$param04, <>>>,
                         omistusliite: <<$param01, <>>, <$param02, <>>, <$param03, <>>, <$param04, <>>>,
                         omanto_n: <<$param01, <>>, <$param02, <>>, <$param03, <>>, <$param04, <>>>,
                         osanto_tA: <<$param01, <>>, <$param02, <>>>,
                         osanto_A: <<$param01, <>>, <$param02, <>>, <$param03, <>>, <$param04, <>>>,
                         olento_nA: <<$param01, <>>, <$param02, <>>, <$param03, <>>, <$param04, <>>>,
                         tulento_ksi: <<$param01, <>>, <$param02, <>>, <$param03, <>>, <$param04, <>>>,
                         sisäolento_ssA: <<$param01, <>>, <$param02, <>>, <$param03, <>>, <$param04, <>>>,
                         sisäeronto_stA: <<$param01, <>>, <$param02, <>>, <$param03, <>>, <$param04, <>>>,
                         sisätulento_Vn: <<$param01, <>>, <$param02, <>>, <$param03, <>>, <$param04, <>>>,
                         sisätulento_hVn: <<$param01, <vanha_h>>, <$param02, <vanha_h>>, <$param03, <vanha_h>>, <$param04, <vanha_h>>>,
                         ulko_olento_llA: <<$param01, <>>, <$param02, <>>, <$param03, <>>, <$param04, <>>>,
                         ulkoeronto_ltA: <<$param01, <>>, <$param02, <>>, <$param03, <>>, <$param04, <>>>,
                         ulkotulento_lle: <<$param01, <>>, <$param02, <>>, <$param03, <>>, <$param04, <>>>,
                         vajanto_ttA: <<$param01, <>>, <$param02, <>>, <$param03, <>>, <$param04, <>>>,
                         nimentö_t: <<$param01, <>>, <$param02, <>>, <$param03, <>>, <$param04, <>>>,
                         omanto_en: <<$param03, <>>, <$param04, <>>, <$param03, <>>>,
                         omanto_iT: <<$param01, <>>, <$param02, <>>, <$param05, <>>, <$param06, <>>>,
                         omanto_in: <<$param01, <>>, <$param02, <>>, <$param05, <>>, <$param06, <>>>,
                         osanto_itA: <<$param01, <>>, <$param02, <>>, <$param05, <>>, <$param06, <>>>,
                         osanto_jA: <<$param05, <>>, <$param06, <>>>,
                         olento_inA: <<$param01, <>>, <$param02, <>>, <$param05, <>>, <$param06, <>>>,
                         tulento_iksi: <<$param01, <>>, <$param02, <>>, <$param05, <>>, <$param06, <>>>,
                         sisäolento_issA: <<$param01, <>>, <$param02, <>>, <$param05, <>>, <$param06, <>>>,
                         sisäeronto_istA: <<$param01, <>>, <$param02, <>>, <$param05, <>>, <$param06, <>>>,
                         sisätulento_ihin: <<$param01, <>>, <$param02, <>>, <$param05, <>>, <$param06, <>>>,
                         ulko_olento_illA: <<$param01, <>>, <$param02, <>>, <$param05, <>>, <$param06, <>>>,
                         ulkoeronto_iltA: <<$param01, <>>, <$param02, <>>, <$param05, <>>, <$param06, <>>>,
                         ulkotulento_ille: <<$param01, <>>, <$param02, <>>, <$param05, <>>, <$param06, <>>>,
                         vajanto_ittA: <<$param01, <>>, <$param05, <>>, <$param05, <>>, <$param06, <>>>,
                         seuranto_ine: <<$param01, <>>, <$param02, <>>, <$param05, <>>, <$param06, <>>>,
                         keinonto_in: <<$param01, <>>, <$param02, <>>, <$param05, <>>, <$param06, <>>>,
                         kerronto_sti: <<$param01, <>>, <$param02, <>>, <$param03, <>>, <$param04, <>>>,
                         voittoaste: <<$param01, <>>, <$param02, <>>, <$param03, <>>, <$param04, <>>>,
                         yliaste: <<$param01, <>>, <$param02, <>>, <$param05, <>>, <$param06, <>>>,
                         johdin_inen: <<$param01, <>>, <$param02, <>>, <$param07, <>>, <$param08, <>>>,
                         johdin_ittain: <<$param01, <>>, <$param02, <>>, <$param05, <>>, <$param06, <>>>,
                         johdin_lAinen: <<$param01, <>>, <$param02, <>>, <$param03, <>>, <$param04, <>>>,
                         johdin_llinen: <<$param01, <>>, <$param02, <>>, <$param03, <>>, <$param04, <>>>,
                         johdin_mAinen: <<$param01, <>>, <$param02, <>>, <$param03, <>>, <$param04, <>>>,
                         johdin_tOn: <<$param01, <>>, <$param02, <>>, <$param03, <>>, <$param04, <>>>,
                         johdin_Us: <<$param01, <>>, <$param02, <>>, <$param03, <>>, <$param04, <>>>,
                         tavuviiva: <<$param01, <>>, <$param02, <>>, <$param03, <>>, <$param04, <>>>,
                         yhdyssana: <<$param01, <>>, <$param02, <>>, <$param03, <>>, <$param04, <>>>]);
end;
subrule kaihi ($tietue, $param01, $param02, $param03):
  return taivutuskaava ($tietue,
                        [nimentö: <<$param01, <>>>,
                         omistusliite: <<$param01, <>>, <$param02, <>>>,
                         omanto_n: <<$param01, <>>, <$param02, <>>>,
                         osanto_A: <<$param01, <>>, <$param02, <>>>,
                         olento_nA: <<$param01, <>>, <$param02, <>>>,
                         tulento_ksi: <<$param01, <>>, <$param02, <>>>,
                         sisäolento_ssA: <<$param01, <>>, <$param02, <>>>,
                         sisäeronto_stA: <<$param01, <>>, <$param02, <>>>,
                         sisätulento_Vn: <<$param01, <>>, <$param02, <>>>,
                         sisätulento_hVn: <<$param01, <vanha_h>>, <$param02, <vanha_h>>>,
                         ulko_olento_llA: <<$param01, <>>, <$param02, <>>>,
                         ulkoeronto_ltA: <<$param01, <>>, <$param02, <>>>,
                         ulkotulento_lle: <<$param01, <>>, <$param02, <>>>,
                         vajanto_ttA: <<$param01, <>>, <$param02, <>>>,
                         nimentö_t: <<$param01, <>>, <$param02, <>>>,
                         omanto_ien: <<$param03, <>>>,
                         omanto_in: <<$param02, <ei_voikko>>>,
                         osanto_jA: <<$param02, <>>>,
                         osanto_iA: <<$param03, <>>>,
                         olento_inA: <<$param02, <>>, <$param03, <>>>,
                         tulento_iksi: <<$param02, <>>, <$param03, <>>>,
                         sisäolento_issA: <<$param02, <>>, <$param03, <>>>,
                         sisäeronto_istA: <<$param02, <>>, <$param03, <>>>,
                         sisätulento_ihin: <<$param02, <>>, <$param03, <vanha_h>>>,
                         sisätulento_iin: <<$param03, <>>>,
                         ulko_olento_illA: <<$param02, <>>, <$param03, <>>>,
                         ulkoeronto_iltA: <<$param02, <>>, <$param03, <>>>,
                         ulkotulento_ille: <<$param02, <>>, <$param03, <>>>,
                         vajanto_ittA: <<$param02, <>>, <$param03, <>>>,
                         seuranto_ine: <<$param02, <>>, <$param03, <>>>,
                         keinonto_in: <<$param02, <>>, <$param03, <>>>,
                         johdin_inen: <<$param03, <>>>,
                         johdin_ittain: <<$param02, <>>, <$param03, <>>>,
                         johdin_lAinen: <<$param01, <>>>,
                         johdin_llinen: <<$param01, <>>>,
                         johdin_mAinen: <<$param01, <>>>,
                         johdin_tOn: <<$param01, <>>, <$param02, <>>>,
                         tavuviiva: <<$param01, <>>>,
                         yhdyssana: <<$param01, <>>>]);
end;
subrule marinadi ($tietue, $param01, $param02, $param03, $param04, $param05, $param06):
  return taivutuskaava ($tietue,
                        [nimentö: <<$param01, <>>, <$param02, <>>>,
                         omistusliite: <<$param01, <>>, <$param02, <>>>,
                         omanto_n: <<$param01, <>>, <$param02, <>>>,
                         osanto_A: <<$param01, <>>, <$param02, <>>>,
                         olento_nA: <<$param01, <>>, <$param02, <>>>,
                         tulento_ksi: <<$param01, <>>, <$param02, <>>>,
                         sisäolento_ssA: <<$param01, <>>, <$param02, <>>>,
                         sisäeronto_stA: <<$param01, <>>, <$param02, <>>>,
                         sisätulento_Vn: <<$param01, <>>, <$param02, <>>>,
                         sisätulento_hVn: <<$param01, <vanha_h>>, <$param02, <vanha_h>>>,
                         ulko_olento_llA: <<$param01, <>>, <$param02, <>>>,
                         ulkoeronto_ltA: <<$param01, <>>, <$param02, <>>>,
                         ulkotulento_lle: <<$param01, <>>, <$param02, <>>>,
                         vajanto_ttA: <<$param01, <>>, <$param02, <>>>,
                         nimentö_t: <<$param01, <>>, <$param02, <>>>,
                         omanto_en: <<$param01, <>>, <$param02, <>>>,
                         omanto_in: <<$param03, <ei_voikko>>, <$param04, <ei_voikko>>>,
                         osanto_jA: <<$param03, <>>, <$param04, <>>>,
                         olento_inA: <<$param03, <>>, <$param04, <>>>,
                         tulento_iksi: <<$param03, <>>, <$param04, <>>>,
                         sisäolento_issA: <<$param03, <>>, <$param04, <>>>,
                         sisäeronto_istA: <<$param03, <>>, <$param04, <>>>,
                         sisätulento_ihin: <<$param03, <>>, <$param04, <>>>,
                         ulko_olento_illA: <<$param03, <>>, <$param04, <>>>,
                         ulkoeronto_iltA: <<$param03, <>>, <$param04, <>>>,
                         ulkotulento_ille: <<$param03, <>>, <$param04, <>>>,
                         vajanto_ittA: <<$param03, <>>, <$param04, <>>>,
                         seuranto_ine: <<$param03, <>>, <$param04, <>>>,
                         keinonto_in: <<$param03, <>>, <$param04, <>>>,
                         kerronto_sti: <<$param01, <>>, <$param02, <>>>,
                         voittoaste: <<$param01, <>>, <$param02, <>>>,
                         yliaste: <<$param03, <>>, <$param04, <>>>,
                         johdin_inen: <<$param05, <>>, <$param06, <>>>,
                         johdin_ittain: <<$param03, <>>, <$param04, <>>>,
                         johdin_lAinen: <<$param01, <>>, <$param02, <>>>,
                         johdin_llinen: <<$param01, <>>, <$param02, <>>>,
                         johdin_mAinen: <<$param01, <>>, <$param02, <>>>,
                         johdin_tOn: <<$param01, <>>, <$param02, <>>>,
                         johdin_Us: <<$param01, <>>, <$param02, <>>>,
                         tavuviiva: <<$param01, <>>, <$param02, <>>>,
                         yhdyssana: <<$param01, <>>, <$param02, <>>>]);
end;
subrule risti ($tietue, $param01, $param02, $param03, $param04, $johdin_inen, $johdin_Us):
  return taivutuskaava ($tietue,
                        [nimentö: <<$param01, <>>>,
                         omistusliite: <<$param01, <>>>,
                         omanto_n: <<$param02, <>>>,
                         osanto_A: <<$param01, <>>>,
                         olento_nA: <<$param01, <>>>,
                         tulento_ksi: <<$param02, <>>>,
                         sisäolento_ssA: <<$param02, <>>>,
                         sisäeronto_stA: <<$param02, <>>>,
                         sisätulento_Vn: <<$param01, <>>>,
                         sisätulento_hVn: <<$param01, <vanha_h>>>,
                         ulko_olento_llA: <<$param02, <>>>,
                         ulkoeronto_ltA: <<$param02, <>>>,
                         ulkotulento_lle: <<$param02, <>>>,
                         vajanto_ttA: <<$param02, <>>>,
                         nimentö_t: <<$param02, <>>>,
                         omanto_en: <<$param01, <>>>,
                         omanto_in: <<$param03, <ei_voikko>>>,
                         osanto_jA: <<$param03, <>>>,
                         olento_inA: <<$param03, <>>>,
                         tulento_iksi: <<$param04, <>>>,
                         sisäolento_issA: <<$param04, <>>>,
                         sisäeronto_istA: <<$param04, <>>>,
                         sisätulento_ihin: <<$param03, <>>>,
                         ulko_olento_illA: <<$param04, <>>>,
                         ulkoeronto_iltA: <<$param04, <>>>,
                         ulkotulento_ille: <<$param04, <>>>,
                         vajanto_ittA: <<$param04, <>>>,
                         seuranto_ine: <<$param03, <>>>,
                         keinonto_in: <<$param04, <>>>,
                         kerronto_sti: <<$param02, <>>>,
                         voittoaste: <<$param02, <>>>,
                         yliaste: <<$param04, <>>>,
                         johdin_inen: <<$johdin_inen, <>>>,
                         johdin_ittain: <<$param04, <>>>,
                         johdin_lAinen: <<$param01, <>>>,
                         johdin_llinen: <<$param02, <>>>,
                         johdin_mAinen: <<$param01, <>>>,
                         johdin_tOn: <<$param02, <>>>,
                         johdin_Us: <<$johdin_Us, <>>>,
                         tavuviiva: <<$param01, <>>>,
                         yhdyssana: <<$param01, <>>>]);
end;
subrule telefoni ($tietue, $param01, $param02, $param03, $param04, $param05, $param06):
  return taivutuskaava ($tietue,
                        [nimentö: <<$param01, <>>, <$param02, <>>>,
                         omistusliite: <<$param01, <>>, <$param02, <>>>,
                         omanto_n: <<$param01, <>>, <$param02, <>>>,
                         osanto_A: <<$param01, <>>, <$param02, <>>>,
                         olento_nA: <<$param01, <>>, <$param02, <>>>,
                         tulento_ksi: <<$param01, <>>, <$param02, <>>>,
                         sisäolento_ssA: <<$param01, <>>, <$param02, <>>>,
                         sisäeronto_stA: <<$param01, <>>, <$param02, <>>>,
                         sisätulento_Vn: <<$param01, <>>, <$param02, <>>>,
                         sisätulento_hVn: <<$param01, <vanha_h>>, <$param02, <vanha_h>>>,
                         ulko_olento_llA: <<$param01, <>>, <$param02, <>>>,
                         ulkoeronto_ltA: <<$param01, <>>, <$param02, <>>>,
                         ulkotulento_lle: <<$param01, <>>, <$param02, <>>>,
                         vajanto_ttA: <<$param01, <>>, <$param02, <>>>,
                         nimentö_t: <<$param01, <>>, <$param02, <>>>,
                         omanto_en: <<$param01, <>>, <$param02, <>>>,
                         omanto_in: <<$param03, <ei_voikko>>, <$param04, <ei_voikko>>>,
                         osanto_jA: <<$param03, <>>, <$param04, <>>>,
                         olento_inA: <<$param03, <>>, <$param04, <>>>,
                         tulento_iksi: <<$param03, <>>, <$param04, <>>>,
                         sisäolento_issA: <<$param03, <>>, <$param04, <>>>,
                         sisäeronto_istA: <<$param03, <>>, <$param04, <>>>,
                         sisätulento_ihin: <<$param03, <>>, <$param04, <>>>,
                         ulko_olento_illA: <<$param03, <>>, <$param04, <>>>,
                         ulkoeronto_iltA: <<$param03, <>>, <$param04, <>>>,
                         ulkotulento_ille: <<$param03, <>>, <$param04, <>>>,
                         vajanto_ittA: <<$param03, <>>, <$param04, <>>>,
                         seuranto_ine: <<$param03, <>>, <$param04, <>>>,
                         keinonto_in: <<$param03, <>>, <$param04, <>>>,
                         kerronto_sti: <<$param01, <>>, <$param02, <>>>,
                         voittoaste: <<$param01, <>>, <$param02, <>>>,
                         yliaste: <<$param03, <>>, <$param04, <>>>,
                         johdin_inen: <<$param05, <>>, <$param06, <>>>,
                         johdin_ittain: <<$param03, <>>, <$param04, <>>>,
                         johdin_lAinen: <<$param01, <>>, <$param02, <>>>,
                         johdin_llinen: <<$param01, <>>, <$param02, <>>>,
                         johdin_mAinen: <<$param01, <>>, <$param02, <>>>,
                         johdin_tOn: <<$param01, <>>, <$param02, <>>>,
                         johdin_Us: <<$param01, <>>, <$param02, <>>>,
                         tavuviiva: <<$param01, <>>, <$param02, <>>>,
                         yhdyssana: <<$param01, <>>, <$param02, <>>>]);
end;
subrule äiti ($tietue, $param01, $param02, $param03, $param04, $param05):
  return taivutuskaava ($tietue,
                        [nimentö: <<$param01, <>>>,
                         omistusliite: <<$param01, <>>>,
                         omanto_n: <<$param02, <>>, <$param01, <>>>,
                         osanto_A: <<$param01, <>>>,
                         olento_nA: <<$param01, <>>>,
                         tulento_ksi: <<$param02, <>>, <$param01, <>>>,
                         sisäolento_ssA: <<$param02, <>>, <$param01, <>>>,
                         sisäeronto_stA: <<$param02, <>>, <$param01, <>>>,
                         sisätulento_Vn: <<$param01, <>>>,
                         sisätulento_hVn: <<$param01, <vanha_h>>>,
                         ulko_olento_llA: <<$param02, <>>, <$param01, <>>>,
                         ulkoeronto_ltA: <<$param02, <>>, <$param01, <>>>,
                         ulkotulento_lle: <<$param02, <>>, <$param01, <>>>,
                         vajanto_ttA: <<$param02, <>>, <$param01, <>>>,
                         nimentö_t: <<$param02, <>>, <$param01, <>>>,
                         omanto_en: <<$param01, <>>>,
                         omanto_in: <<$param03, <ei_voikko>>>,
                         osanto_jA: <<$param03, <>>>,
                         olento_inA: <<$param03, <>>>,
                         tulento_iksi: <<$param04, <>>, <$param03, <>>>,
                         sisäolento_issA: <<$param04, <>>, <$param03, <>>>,
                         sisäeronto_istA: <<$param04, <>>, <$param03, <>>>,
                         sisätulento_ihin: <<$param03, <>>>,
                         ulko_olento_illA: <<$param04, <>>, <$param03, <>>>,
                         ulkoeronto_iltA: <<$param04, <>>, <$param03, <>>>,
                         ulkotulento_ille: <<$param04, <>>, <$param03, <>>>,
                         vajanto_ittA: <<$param04, <>>, <$param03, <>>>,
                         seuranto_ine: <<$param03, <>>>,
                         keinonto_in: <<$param04, <>>, <$param03, <>>>,
                         kerronto_sti: <<$param02, <>>, <$param01, <>>>,
                         voittoaste: <<$param02, <>>, <$param01, <>>>,
                         yliaste: <<$param04, <>>, <$param03, <>>>,
                         johdin_inen: <<$param05, <>>>,
                         johdin_ittain: <<$param04, <>>, <$param03, <>>>,
                         johdin_lAinen: <<$param01, <>>>,
                         johdin_llinen: <<$param02, <>>, <$param01, <>>>,
                         johdin_mAinen: <<$param01, <>>>,
                         johdin_tOn: <<$param02, <>>, <$param01, <>>>,
                         johdin_Us: <<$param01, <>>>,
                         tavuviiva: <<$param01, <>>>,
                         yhdyssana: <<$param01, <>>>]);
end;
subrule balladi ($tietue, $param01, $param02, $param03, $param04, $param05, $param06):
  return taivutuskaava ($tietue,
                        [nimentö: <<$param01, <>>, <$param02, <>>>,
                         omistusliite: <<$param01, <>>, <$param02, <>>>,
                         omanto_n: <<$param01, <>>, <$param02, <>>>,
                         osanto_A: <<$param01, <>>, <$param02, <>>>,
                         olento_nA: <<$param01, <>>, <$param02, <>>>,
                         tulento_ksi: <<$param01, <>>, <$param02, <>>>,
                         sisäolento_ssA: <<$param01, <>>, <$param02, <>>>,
                         sisäeronto_stA: <<$param01, <>>, <$param02, <>>>,
                         sisätulento_Vn: <<$param01, <>>, <$param02, <>>>,
                         sisätulento_hVn: <<$param01, <vanha_h>>, <$param02, <vanha_h>>>,
                         ulko_olento_llA: <<$param01, <>>, <$param02, <>>>,
                         ulkoeronto_ltA: <<$param01, <>>, <$param02, <>>>,
                         ulkotulento_lle: <<$param01, <>>, <$param02, <>>>,
                         vajanto_ttA: <<$param01, <>>, <$param02, <>>>,
                         nimentö_t: <<$param01, <>>, <$param02, <>>>,
                         omanto_en: <<$param01, <>>, <$param02, <>>>,
                         omanto_iT: <<$param03, <>>, <$param04, <>>>,
                         omanto_in: <<$param03, <ei_voikko>>, <$param04, <ei_voikko>>>,
                         osanto_jA: <<$param03, <>>, <$param04, <>>>,
                         osanto_itA: <<$param03, <>>, <$param04, <>>>,
                         olento_inA: <<$param03, <>>, <$param04, <>>>,
                         tulento_iksi: <<$param03, <>>, <$param04, <>>>,
                         sisäolento_issA: <<$param03, <>>, <$param04, <>>>,
                         sisäeronto_istA: <<$param03, <>>, <$param04, <>>>,
                         sisätulento_ihin: <<$param03, <>>, <$param04, <>>>,
                         ulko_olento_illA: <<$param03, <>>, <$param04, <>>>,
                         ulkoeronto_iltA: <<$param03, <>>, <$param04, <>>>,
                         ulkotulento_ille: <<$param03, <>>, <$param04, <>>>,
                         vajanto_ittA: <<$param03, <>>, <$param04, <>>>,
                         seuranto_ine: <<$param03, <>>, <$param04, <>>>,
                         keinonto_in: <<$param03, <>>, <$param04, <>>>,
                         kerronto_sti: <<$param01, <>>, <$param02, <>>>,
                         voittoaste: <<$param01, <>>, <$param02, <>>>,
                         yliaste: <<$param03, <>>, <$param04, <>>>,
                         johdin_inen: <<$param05, <>>, <$param06, <>>>,
                         johdin_ittain: <<$param03, <>>, <$param04, <>>>,
                         johdin_lAinen: <<$param01, <>>, <$param02, <>>>,
                         johdin_llinen: <<$param01, <>>, <$param02, <>>>,
                         johdin_mAinen: <<$param01, <>>, <$param02, <>>>,
                         johdin_tOn: <<$param01, <>>, <$param02, <>>>,
                         johdin_Us: <<$param01, <>>, <$param02, <>>>,
                         tavuviiva: <<$param01, <>>, <$param02, <>>>,
                         yhdyssana: <<$param01, <>>, <$param02, <>>>]);
end;
subrule laser ($tietue, $param01, $param02, $param03):
  return taivutuskaava ($tietue,
                        [nimentö: <<$param01, <>>>,
                         omistusliite: <<$param02, <>>>,
                         omanto_n: <<$param02, <>>>,
                         osanto_A: <<$param02, <>>>,
                         olento_nA: <<$param02, <>>>,
                         tulento_ksi: <<$param02, <>>>,
                         sisäolento_ssA: <<$param02, <>>>,
                         sisäeronto_stA: <<$param02, <>>>,
                         sisätulento_Vn: <<$param02, <>>>,
                         sisätulento_hVn: <<$param02, <vanha_h>>>,
                         ulko_olento_llA: <<$param02, <>>>,
                         ulkoeronto_ltA: <<$param02, <>>>,
                         ulkotulento_lle: <<$param02, <>>>,
                         vajanto_ttA: <<$param02, <>>>,
                         nimentö_t: <<$param02, <>>>,
                         omanto_en: <<$param02, <>>>,
                         omanto_iT: <<$param03, <>>>,
                         omanto_in: <<$param03, <ei_voikko>>>,
                         osanto_jA: <<$param03, <>>>,
                         osanto_itA: <<$param03, <>>>,
                         olento_inA: <<$param03, <>>>,
                         tulento_iksi: <<$param03, <>>>,
                         sisäolento_issA: <<$param03, <>>>,
                         sisäeronto_istA: <<$param03, <>>>,
                         sisätulento_ihin: <<$param03, <>>>,
                         ulko_olento_illA: <<$param03, <>>>,
                         ulkoeronto_iltA: <<$param03, <>>>,
                         ulkotulento_ille: <<$param03, <>>>,
                         vajanto_ittA: <<$param03, <>>>,
                         seuranto_ine: <<$param03, <>>>,
                         keinonto_in: <<$param03, <>>>,
                         kerronto_sti: <<$param02, <>>>,
                         voittoaste: <<$param02, <>>>,
                         yliaste: <<$param03, <>>>,
                         johdin_inen: <<$param01, <>>>,
                         johdin_ittain: <<$param03, <>>>,
                         johdin_lAinen: <<$param02, <>>>,
                         johdin_llinen: <<$param02, <>>>,
                         johdin_mAinen: <<$param01, <>>>,
                         johdin_tOn: <<$param02, <>>>,
                         johdin_Us: <<$param02, <>>>,
                         tavuviiva: <<$param01, <>>>,
                         yhdyssana: <<$param01, <>>>]);
end;
subrule paperi ($tietue, $param01, $param02, $param03, $param04, $param05):
  return taivutuskaava ($tietue,
                        [nimentö: <<$param01, <>>>,
                         omistusliite: <<$param01, <>>>,
                         omanto_n: <<$param02, <>>>,
                         osanto_A: <<$param01, <>>>,
                         olento_nA: <<$param01, <>>>,
                         tulento_ksi: <<$param02, <>>>,
                         sisäolento_ssA: <<$param02, <>>>,
                         sisäeronto_stA: <<$param02, <>>>,
                         sisätulento_Vn: <<$param01, <>>>,
                         sisätulento_hVn: <<$param01, <vanha_h>>>,
                         ulko_olento_llA: <<$param02, <>>>,
                         ulkoeronto_ltA: <<$param02, <>>>,
                         ulkotulento_lle: <<$param02, <>>>,
                         vajanto_ttA: <<$param02, <>>>,
                         nimentö_t: <<$param02, <>>>,
                         omanto_en: <<$param01, <>>>,
                         omanto_iT: <<$param03, <>>>,
                         omanto_in: <<$param04, <ei_voikko>>>,
                         osanto_jA: <<$param04, <>>>,
                         osanto_itA: <<$param03, <>>>,
                         olento_inA: <<$param04, <>>>,
                         tulento_iksi: <<$param03, <>>>,
                         sisäolento_issA: <<$param03, <>>>,
                         sisäeronto_istA: <<$param03, <>>>,
                         sisätulento_ihin: <<$param04, <>>>,
                         ulko_olento_illA: <<$param03, <>>>,
                         ulkoeronto_iltA: <<$param03, <>>>,
                         ulkotulento_ille: <<$param03, <>>>,
                         vajanto_ittA: <<$param03, <>>>,
                         seuranto_ine: <<$param04, <>>>,
                         keinonto_in: <<$param03, <>>>,
                         kerronto_sti: <<$param02, <>>>,
                         voittoaste: <<$param02, <>>>,
                         yliaste: <<$param03, <>>>,
                         johdin_inen: <<$param05, <>>>,
                         johdin_ittain: <<$param03, <>>>,
                         johdin_lAinen: <<$param01, <>>>,
                         johdin_llinen: <<$param02, <>>>,
                         johdin_mAinen: <<$param01, <>>>,
                         johdin_tOn: <<$param02, <>>>,
                         johdin_Us: <<$param01, <>>>,
                         tavuviiva: <<$param01, <>>>,
                         yhdyssana: <<$param01, <>>>]);
end;
subrule symboli ($tietue, $param01, $param02, $param03, $param04, $param05, $param06):
  return taivutuskaava ($tietue,
                        [nimentö: <<$param01, <>>, <$param02, <>>>,
                         omistusliite: <<$param01, <>>, <$param02, <>>>,
                         omanto_n: <<$param01, <>>, <$param02, <>>>,
                         osanto_A: <<$param01, <>>, <$param02, <>>>,
                         olento_nA: <<$param01, <>>, <$param02, <>>>,
                         tulento_ksi: <<$param01, <>>, <$param02, <>>>,
                         sisäolento_ssA: <<$param01, <>>, <$param02, <>>>,
                         sisäeronto_stA: <<$param01, <>>, <$param02, <>>>,
                         sisätulento_Vn: <<$param01, <>>, <$param02, <>>>,
                         sisätulento_hVn: <<$param01, <vanha_h>>, <$param02, <vanha_h>>>,
                         ulko_olento_llA: <<$param01, <>>, <$param02, <>>>,
                         ulkoeronto_ltA: <<$param01, <>>, <$param02, <>>>,
                         ulkotulento_lle: <<$param01, <>>, <$param02, <>>>,
                         vajanto_ttA: <<$param01, <>>, <$param02, <>>>,
                         nimentö_t: <<$param01, <>>, <$param02, <>>>,
                         omanto_en: <<$param01, <>>, <$param02, <>>>,
                         omanto_iT: <<$param03, <>>, <$param04, <>>>,
                         omanto_in: <<$param03, <ei_voikko>>, <$param04, <ei_voikko>>>,
                         osanto_jA: <<$param03, <>>, <$param04, <>>>,
                         osanto_itA: <<$param03, <>>, <$param04, <>>>,
                         olento_inA: <<$param03, <>>, <$param04, <>>>,
                         tulento_iksi: <<$param03, <>>, <$param04, <>>>,
                         sisäolento_issA: <<$param03, <>>, <$param04, <>>>,
                         sisäeronto_istA: <<$param03, <>>, <$param04, <>>>,
                         sisätulento_ihin: <<$param03, <>>, <$param04, <>>>,
                         ulko_olento_illA: <<$param03, <>>, <$param04, <>>>,
                         ulkoeronto_iltA: <<$param03, <>>, <$param04, <>>>,
                         ulkotulento_ille: <<$param03, <>>, <$param04, <>>>,
                         vajanto_ittA: <<$param03, <>>, <$param04, <>>>,
                         seuranto_ine: <<$param03, <>>, <$param04, <>>>,
                         keinonto_in: <<$param03, <>>, <$param04, <>>>,
                         kerronto_sti: <<$param01, <>>, <$param02, <>>>,
                         voittoaste: <<$param01, <>>, <$param02, <>>>,
                         yliaste: <<$param03, <>>, <$param04, <>>>,
                         johdin_inen: <<$param05, <>>, <$param06, <>>>,
                         johdin_ittain: <<$param03, <>>, <$param04, <>>>,
                         johdin_lAinen: <<$param01, <>>, <$param02, <>>>,
                         johdin_llinen: <<$param01, <>>, <$param02, <>>>,
                         johdin_mAinen: <<$param01, <>>, <$param02, <>>>,
                         johdin_tOn: <<$param01, <>>, <$param02, <>>>,
                         johdin_Us: <<$param01, <>>, <$param02, <>>>,
                         tavuviiva: <<$param01, <>>, <$param02, <>>>,
                         yhdyssana: <<$param01, <>>, <$param02, <>>>]);
end;
subrule kalsium ($tietue, $param01, $param02, $param03):
  return taivutuskaava ($tietue,
                        [nimentö: <<$param01, <>>>,
                         omistusliite: <<$param02, <>>>,
                         omanto_n: <<$param02, <>>>,
                         osanto_A: <<$param02, <>>>,
                         olento_nA: <<$param02, <>>>,
                         tulento_ksi: <<$param02, <>>>,
                         sisäolento_ssA: <<$param02, <>>>,
                         sisäeronto_stA: <<$param02, <>>>,
                         sisätulento_Vn: <<$param02, <>>>,
                         sisätulento_hVn: <<$param02, <vanha_h>>>,
                         ulko_olento_llA: <<$param02, <>>>,
                         ulkoeronto_ltA: <<$param02, <>>>,
                         ulkotulento_lle: <<$param02, <>>>,
                         vajanto_ttA: <<$param02, <>>>,
                         nimentö_t: <<$param02, <>>>,
                         omanto_en: <<$param02, <>>>,
                         omanto_in: <<$param03, <ei_voikko>>>,
                         osanto_jA: <<$param03, <>>>,
                         olento_inA: <<$param03, <>>>,
                         tulento_iksi: <<$param03, <>>>,
                         sisäolento_issA: <<$param03, <>>>,
                         sisäeronto_istA: <<$param03, <>>>,
                         sisätulento_ihin: <<$param03, <>>>,
                         ulko_olento_illA: <<$param03, <>>>,
                         ulkoeronto_iltA: <<$param03, <>>>,
                         ulkotulento_ille: <<$param03, <>>>,
                         vajanto_ittA: <<$param03, <>>>,
                         seuranto_ine: <<$param03, <>>>,
                         keinonto_in: <<$param03, <>>>,
                         kerronto_sti: <<$param02, <>>>,
                         voittoaste: <<$param02, <>>>,
                         yliaste: <<$param03, <>>>,
                         johdin_inen: <<$param01, <>>>,
                         johdin_ittain: <<$param03, <>>>,
                         johdin_lAinen: <<$param02, <>>>,
                         johdin_llinen: <<$param02, <>>>,
                         johdin_mAinen: <<$param01, <>>>,
                         johdin_tOn: <<$param02, <>>>,
                         johdin_Us: <<$param02, <>>>,
                         tavuviiva: <<$param01, <>>>,
                         yhdyssana: <<$param01, <>>>]);
end;
subrule pop ($tietue, $param01, $param02, $param03, $param04, $param05, $param06):
  return taivutuskaava ($tietue,
                        [nimentö: <<$param01, <>>, <$param02, <>>>,
                         omistusliite: <<$param03, <>>, <$param02, <>>>,
                         omanto_n: <<$param03, <>>>,
                         osanto_A: <<$param03, <>>, <$param02, <>>>,
                         olento_nA: <<$param03, <>>, <$param02, <>>>,
                         tulento_ksi: <<$param03, <>>>,
                         sisäolento_ssA: <<$param03, <>>>,
                         sisäeronto_stA: <<$param03, <>>>,
                         sisätulento_Vn: <<$param03, <>>, <$param02, <>>>,
                         sisätulento_hVn: <<$param03, <vanha_h>>, <$param02, <vanha_h>>>,
                         ulko_olento_llA: <<$param03, <>>>,
                         ulkoeronto_ltA: <<$param03, <>>>,
                         ulkotulento_lle: <<$param03, <>>>,
                         vajanto_ttA: <<$param03, <>>>,
                         nimentö_t: <<$param03, <>>>,
                         omanto_ien: <<$param01, <>>, <$param04, <>>>,
                         omanto_in: <<$param05, <ei_voikko>>, <$param06, <ei_voikko>>>,
                         osanto_jA: <<$param05, <>>, <$param06, <>>>,
                         olento_inA: <<$param05, <>>, <$param06, <>>>,
                         tulento_iksi: <<$param05, <>>>,
                         sisäolento_issA: <<$param05, <>>>,
                         sisäeronto_istA: <<$param05, <>>>,
                         sisätulento_ihin: <<$param05, <>>, <$param06, <>>>,
                         ulko_olento_illA: <<$param05, <>>>,
                         ulkoeronto_iltA: <<$param05, <>>>,
                         ulkotulento_ille: <<$param05, <>>>,
                         vajanto_ittA: <<$param05, <>>>,
                         seuranto_ine: <<$param05, <>>, <$param06, <>>>,
                         keinonto_in: <<$param05, <>>>,
                         kerronto_sti: <<$param03, <>>>,
                         voittoaste: <<$param03, <>>>,
                         yliaste: <<$param05, <>>>,
                         johdin_inen: <<$param01, <>>, <$param04, <>>>,
                         johdin_ittain: <<$param05, <>>>,
                         johdin_lAinen: <<$param01, <>>, <$param02, <>>>,
                         johdin_llinen: <<$param03, <>>>,
                         johdin_mAinen: <<$param01, <>>, <$param02, <>>>,
                         johdin_tOn: <<$param03, <>>>,
                         johdin_Us: <<$param03, <>>, <$param02, <>>>,
                         tavuviiva: <<$param01, <>>, <$param02, <>>>,
                         yhdyssana: <<$param01, <>>, <$param02, <>>>]);
end;
subrule kiiski ($tietue, $param01, $param02, $param03):
  return taivutuskaava ($tietue,
                        [nimentö: <<$param01, <>>>,
                         omistusliite: <<$param02, <>>, <$param01, <ei_voikko>>>,
                         omanto_n: <<$param02, <>>, <$param01, <ei_voikko>>>,
                         osanto_A: <<$param02, <>>, <$param01, <ei_voikko>>>,
                         olento_nA: <<$param02, <>>, <$param01, <ei_voikko>>>,
                         tulento_ksi: <<$param02, <>>, <$param01, <ei_voikko>>>,
                         sisäolento_ssA: <<$param02, <>>, <$param01, <ei_voikko>>>,
                         sisäeronto_stA: <<$param02, <>>, <$param01, <ei_voikko>>>,
                         sisätulento_Vn: <<$param02, <>>, <$param01, <ei_voikko>>>,
                         sisätulento_hVn: <<$param02, <vanha_h>>, <$param01, <vanha_h,ei_voikko>>>,
                         ulko_olento_llA: <<$param02, <>>, <$param01, <ei_voikko>>>,
                         ulkoeronto_ltA: <<$param02, <>>, <$param01, <ei_voikko>>>,
                         ulkotulento_lle: <<$param02, <>>, <$param01, <ei_voikko>>>,
                         vajanto_ttA: <<$param02, <>>, <$param01, <ei_voikko>>>,
                         nimentö_t: <<$param02, <>>, <$param01, <ei_voikko>>>,
                         omanto_ien: <<$param03, <>>>,
                         omanto_in: <<$param02, <ei_voikko>>>,
                         osanto_jA: <<$param02, <ei_voikko>>>,
                         osanto_iA: <<$param03, <>>>,
                         olento_inA: <<$param03, <>>, <$param02, <ei_voikko>>>,
                         tulento_iksi: <<$param03, <>>, <$param02, <ei_voikko>>>,
                         sisäolento_issA: <<$param03, <>>, <$param02, <ei_voikko>>>,
                         sisäeronto_istA: <<$param03, <>>, <$param02, <ei_voikko>>>,
                         sisätulento_ihin: <<$param02, <ei_voikko>>, <$param03, <vanha_h>>>,
                         sisätulento_iin: <<$param03, <>>>,
                         ulko_olento_illA: <<$param03, <>>, <$param02, <ei_voikko>>>,
                         ulkoeronto_iltA: <<$param03, <>>, <$param02, <ei_voikko>>>,
                         ulkotulento_ille: <<$param03, <>>, <$param02, <ei_voikko>>>,
                         vajanto_ittA: <<$param03, <>>, <$param02, <ei_voikko>>>,
                         seuranto_ine: <<$param03, <>>, <$param02, <ei_voikko>>>,
                         keinonto_in: <<$param03, <>>, <$param02, <ei_voikko>>>,
                         johdin_inen: <<$param03, <>>>,
                         johdin_ittain: <<$param03, <>>, <$param02, <ei_voikko>>>,
                         johdin_lAinen: <<$param01, <>>>,
                         johdin_llinen: <<$param01, <>>>,
                         johdin_mAinen: <<$param01, <>>>,
                         johdin_tOn: <<$param02, <>>, <$param01, <ei_voikko>>>,
                         tavuviiva: <<$param01, <>>>,
                         yhdyssana: <<$param01, <>>>]);
end;
subrule lampi ($tietue, $param01, $param02, $param03, $param04, $param05, $param06):
  return taivutuskaava ($tietue,
                        [nimentö: <<$param01, <>>>,
                         omistusliite: <<$param02, <>>>,
                         omanto_n: <<$param03, <>>, <$param04, <>>>,
                         osanto_A: <<$param02, <>>>,
                         olento_nA: <<$param02, <>>>,
                         tulento_ksi: <<$param03, <>>, <$param04, <>>>,
                         sisäolento_ssA: <<$param03, <>>, <$param04, <>>>,
                         sisäeronto_stA: <<$param03, <>>, <$param04, <>>>,
                         sisätulento_Vn: <<$param02, <>>>,
                         sisätulento_hVn: <<$param02, <vanha_h>>>,
                         ulko_olento_llA: <<$param03, <>>, <$param04, <>>>,
                         ulkoeronto_ltA: <<$param03, <>>, <$param04, <>>>,
                         ulkotulento_lle: <<$param03, <>>, <$param04, <>>>,
                         vajanto_ttA: <<$param03, <>>, <$param04, <>>>,
                         nimentö_t: <<$param03, <>>, <$param04, <>>>,
                         omanto_ien: <<$param05, <>>>,
                         omanto_in: <<$param02, <ei_voikko>>>,
                         osanto_iA: <<$param05, <>>>,
                         olento_inA: <<$param05, <>>>,
                         tulento_iksi: <<$param06, <>>, <$param03, <>>>,
                         sisäolento_issA: <<$param06, <>>, <$param03, <>>>,
                         sisäeronto_istA: <<$param06, <>>, <$param03, <>>>,
                         sisätulento_iin: <<$param05, <>>>,
                         sisätulento_ihin: <<$param05, <vanha_h>>>,
                         ulko_olento_illA: <<$param06, <>>, <$param03, <>>>,
                         ulkoeronto_iltA: <<$param06, <>>, <$param03, <>>>,
                         ulkotulento_ille: <<$param06, <>>, <$param03, <>>>,
                         vajanto_ittA: <<$param06, <>>, <$param03, <>>>,
                         seuranto_ine: <<$param05, <>>>,
                         keinonto_in: <<$param06, <>>, <$param03, <>>>,
                         kerronto_sti: <<$param03, <>>, <$param04, <>>>,
                         voittoaste: <<$param03, <>>, <$param04, <>>>,
                         yliaste: <<$param06, <>>, <$param03, <>>>,
                         johdin_inen: <<$param05, <>>>,
                         johdin_ittain: <<$param06, <>>, <$param03, <>>>,
                         johdin_lAinen: <<$param01, <>>>,
                         johdin_llinen: <<$param03, <>>, <$param04, <>>>,
                         johdin_mAinen: <<$param01, <>>>,
                         johdin_tOn: <<$param03, <>>, <$param04, <>>>,
                         johdin_Us: <<$param01, <>>>,
                         tavuviiva: <<$param01, <>>>,
                         yhdyssana: <<$param01, <>>>]);
end;
subrule lovi ($tietue, $param01, $param02, $param03, $param04, $param05):
  return taivutuskaava ($tietue,
                        [nimentö: <<$param01, <>>>,
                         omistusliite: <<$param02, <>>>,
                         omanto_n: <<$param03, <>>>,
                         osanto_A: <<$param02, <>>>,
                         olento_nA: <<$param02, <>>>,
                         tulento_ksi: <<$param03, <>>>,
                         sisäolento_ssA: <<$param03, <>>>,
                         sisäeronto_stA: <<$param03, <>>>,
                         sisätulento_Vn: <<$param02, <>>>,
                         sisätulento_hVn: <<$param02, <vanha_h>>>,
                         ulko_olento_llA: <<$param03, <>>>,
                         ulkoeronto_ltA: <<$param03, <>>>,
                         ulkotulento_lle: <<$param03, <>>>,
                         vajanto_ttA: <<$param03, <>>>,
                         nimentö_t: <<$param03, <>>>,
                         omanto_ien: <<$param04, <>>>,
                         omanto_in: <<$param02, <ei_voikko>>>,
                         osanto_iA: <<$param04, <>>>,
                         olento_inA: <<$param04, <>>>,
                         tulento_iksi: <<$param05, <>>>,
                         sisäolento_issA: <<$param05, <>>>,
                         sisäeronto_istA: <<$param05, <>>>,
                         sisätulento_iin: <<$param04, <>>>,
                         sisätulento_ihin: <<$param04, <vanha_h>>>,
                         ulko_olento_illA: <<$param05, <>>>,
                         ulkoeronto_iltA: <<$param05, <>>>,
                         ulkotulento_ille: <<$param05, <>>>,
                         vajanto_ittA: <<$param05, <>>>,
                         seuranto_ine: <<$param04, <>>>,
                         keinonto_in: <<$param05, <>>>,
                         kerronto_sti: <<$param03, <>>>,
                         voittoaste: <<$param03, <>>>,
                         yliaste: <<$param05, <>>>,
                         johdin_inen: <<$param04, <>>>,
                         johdin_ittain: <<$param05, <>>>,
                         johdin_lAinen: <<$param02, <>>>,
                         johdin_llinen: <<$param03, <>>>,
                         johdin_mAinen: <<$param01, <>>>,
                         johdin_tOn: <<$param03, <>>>,
                         johdin_Us: <<$param01, <>>>,
                         tavuviiva: <<$param01, <>>>,
                         yhdyssana: <<$param01, <>>>]);
end;
subrule kolme ($tietue, $param01, $param02):
  return taivutuskaava ($tietue,
                        [nimentö: <<$param01, <>>>,
                         omistusliite: <<$param01, <>>>,
                         omanto_n: <<$param01, <>>>,
                         osanto_A: <<$param01, <>>>,
                         olento_nA: <<$param01, <>>>,
                         tulento_ksi: <<$param01, <>>>,
                         sisäolento_ssA: <<$param01, <>>>,
                         sisäeronto_stA: <<$param01, <>>>,
                         sisätulento_Vn: <<$param01, <>>>,
                         sisätulento_hVn: <<$param01, <vanha_h>>>,
                         ulko_olento_llA: <<$param01, <>>>,
                         ulkoeronto_ltA: <<$param01, <>>>,
                         ulkotulento_lle: <<$param01, <>>>,
                         vajanto_ttA: <<$param01, <>>>,
                         nimentö_t: <<$param01, <>>>,
                         omanto_ien: <<$param02, <>>>,
                         omanto_in: <<$param01, <ei_voikko>>>,
                         osanto_iA: <<$param02, <>>>,
                         olento_inA: <<$param02, <>>>,
                         tulento_iksi: <<$param02, <>>>,
                         sisäolento_issA: <<$param02, <>>>,
                         sisäeronto_istA: <<$param02, <>>>,
                         sisätulento_iin: <<$param02, <>>>,
                         sisätulento_ihin: <<$param02, <vanha_h>>>,
                         ulko_olento_illA: <<$param02, <>>>,
                         ulkoeronto_iltA: <<$param02, <>>>,
                         ulkotulento_ille: <<$param02, <>>>,
                         vajanto_ittA: <<$param02, <>>>,
                         seuranto_ine: <<$param02, <>>>,
                         keinonto_in: <<$param02, <>>>,
                         kerronto_sti: <<$param01, <>>>,
                         johdin_ittain: <<$param02, <>>>,
                         tavuviiva: <<$param01, <>>>,
                         yhdyssana: <<$param01, <>>>]);
end;
subrule nalle ($tietue, $param01, $param02, $param03):
  return taivutuskaava ($tietue,
                        [nimentö: <<$param01, <>>>,
                         omistusliite: <<$param01, <>>>,
                         omanto_n: <<$param02, <>>>,
                         osanto_A: <<$param01, <>>>,
                         olento_nA: <<$param01, <>>>,
                         tulento_ksi: <<$param02, <>>>,
                         sisäolento_ssA: <<$param02, <>>>,
                         sisäeronto_stA: <<$param02, <>>>,
                         sisätulento_Vn: <<$param01, <>>>,
                         sisätulento_hVn: <<$param01, <vanha_h>>>,
                         ulko_olento_llA: <<$param02, <>>>,
                         ulkoeronto_ltA: <<$param02, <>>>,
                         ulkotulento_lle: <<$param02, <>>>,
                         vajanto_ttA: <<$param02, <>>>,
                         nimentö_t: <<$param02, <>>>,
                         omanto_jen: <<$param01, <>>>,
                         omanto_in: <<$param01, <>>>,
                         osanto_jA: <<$param01, <>>>,
                         olento_inA: <<$param01, <>>>,
                         tulento_iksi: <<$param02, <>>>,
                         sisäolento_issA: <<$param02, <>>>,
                         sisäeronto_istA: <<$param02, <>>>,
                         sisätulento_ihin: <<$param01, <>>>,
                         ulko_olento_illA: <<$param02, <>>>,
                         ulkoeronto_iltA: <<$param02, <>>>,
                         ulkotulento_ille: <<$param02, <>>>,
                         vajanto_ittA: <<$param02, <>>>,
                         seuranto_ine: <<$param01, <>>>,
                         keinonto_in: <<$param02, <>>>,
                         kerronto_sti: <<$param02, <>>>,
                         voittoaste: <<$param02, <>>>,
                         yliaste: <<$param02, <>>>,
                         johdin_inen: <<$param01, <>>>,
                         johdin_ittain: <<$param02, <>>>,
                         johdin_lAinen: <<$param01, <>>>,
                         johdin_llinen: <<$param02, <>>>,
                         johdin_mAinen: <<$param01, <>>>,
                         johdin_tOn: <<$param02, <>>>,
                         johdin_Us: <<$param03, <>>>,
                         tavuviiva: <<$param01, <>>>,
                         yhdyssana: <<$param01, <>>>]);
end;
subrule kala ($tietue, $param01, $param02, $param03, $param04, $param05, $param06, $param07):
  return taivutuskaava ($tietue,
                        [nimentö: <<$param01, <>>>,
                         omistusliite: <<$param01, <>>>,
                         omanto_n: <<$param02, <>>>,
                         osanto_A: <<$param01, <>>>,
                         olento_nA: <<$param01, <>>>,
                         tulento_ksi: <<$param02, <>>>,
                         sisäolento_ssA: <<$param02, <>>>,
                         sisäeronto_stA: <<$param02, <>>>,
                         sisätulento_Vn: <<$param01, <>>>,
                         sisätulento_hVn: <<$param01, <vanha_h>>>,
                         ulko_olento_llA: <<$param02, <>>>,
                         ulkoeronto_ltA: <<$param02, <>>>,
                         ulkotulento_lle: <<$param02, <>>>,
                         vajanto_ttA: <<$param02, <>>>,
                         nimentö_t: <<$param02, <>>>,
                         omanto_jen: <<$param03, <>>>,
                         omanto_in: <<$param01, <>>>,
                         osanto_jA: <<$param03, <>>>,
                         olento_inA: <<$param03, <>>>,
                         tulento_iksi: <<$param04, <>>>,
                         sisäolento_issA: <<$param04, <>>>,
                         sisäeronto_istA: <<$param04, <>>>,
                         sisätulento_ihin: <<$param03, <>>>,
                         ulko_olento_illA: <<$param04, <>>>,
                         ulkoeronto_iltA: <<$param04, <>>>,
                         ulkotulento_ille: <<$param04, <>>>,
                         vajanto_ittA: <<$param04, <>>>,
                         seuranto_ine: <<$param03, <>>>,
                         keinonto_in: <<$param04, <>>>,
                         kerronto_sti: <<$param02, <>>>,
                         voittoaste: <<$param05, <>>>,
                         yliaste: <<$param06, <>>>,
                         johdin_inen: <<$param01, <>>>,
                         johdin_ittain: <<$param04, <>>>,
                         johdin_lAinen: <<$param01, <>>>,
                         johdin_llinen: <<$param02, <>>>,
                         johdin_mAinen: <<$param01, <>>>,
                         johdin_tOn: <<$param02, <>>>,
                         johdin_UUs: <<$param07, <>>>,
                         tavuviiva: <<$param01, <>>>,
                         yhdyssana: <<$param01, <>>>]);
end;
subrule nahka ($tietue, $param01, $param02, $param03, $param04, $param05, $param06, $param07):
  return taivutuskaava ($tietue,
                        [nimentö: <<$param01, <>>>,
                         omistusliite: <<$param01, <>>>,
                         omanto_n: <<$param02, <>>, <$param01, <>>>,
                         osanto_A: <<$param01, <>>>,
                         olento_nA: <<$param01, <>>>,
                         tulento_ksi: <<$param02, <>>, <$param01, <>>>,
                         sisäolento_ssA: <<$param02, <>>, <$param01, <>>>,
                         sisäeronto_stA: <<$param02, <>>, <$param01, <>>>,
                         sisätulento_Vn: <<$param01, <>>>,
                         sisätulento_hVn: <<$param01, <vanha_h>>>,
                         ulko_olento_llA: <<$param02, <>>, <$param01, <>>>,
                         ulkoeronto_ltA: <<$param02, <>>, <$param01, <>>>,
                         ulkotulento_lle: <<$param02, <>>, <$param01, <>>>,
                         vajanto_ttA: <<$param02, <>>, <$param01, <>>>,
                         nimentö_t: <<$param02, <>>, <$param01, <>>>,
                         omanto_jen: <<$param03, <>>>,
                         omanto_in: <<$param01, <>>>,
                         osanto_jA: <<$param03, <>>>,
                         olento_inA: <<$param03, <>>>,
                         tulento_iksi: <<$param04, <>>, <$param03, <>>>,
                         sisäolento_issA: <<$param04, <>>, <$param03, <>>>,
                         sisäeronto_istA: <<$param04, <>>, <$param03, <>>>,
                         sisätulento_ihin: <<$param03, <>>>,
                         ulko_olento_illA: <<$param04, <>>, <$param03, <>>>,
                         ulkoeronto_iltA: <<$param04, <>>, <$param03, <>>>,
                         ulkotulento_ille: <<$param04, <>>, <$param03, <>>>,
                         vajanto_ittA: <<$param04, <>>, <$param03, <>>>,
                         seuranto_ine: <<$param03, <>>>,
                         keinonto_in: <<$param04, <>>, <$param03, <>>>,
                         kerronto_sti: <<$param02, <>>, <$param01, <>>>,
                         voittoaste: <<$param05, <>>, <$param06, <>>>,
                         yliaste: <<$param07, <>>>,
                         johdin_inen: <<$param01, <>>>,
                         johdin_ittain: <<$param04, <>>, <$param03, <>>>,
                         johdin_lAinen: <<$param01, <>>>,
                         johdin_llinen: <<$param02, <>>, <$param01, <>>>,
                         johdin_mAinen: <<$param01, <>>>,
                         johdin_tOn: <<$param02, <>>, <$param01, <>>>,
                         johdin_Us: <<$param07, <>>>,
                         tavuviiva: <<$param01, <>>>,
                         yhdyssana: <<$param01, <>>>]);
end;
subrule koira ($tietue, $param01, $param02, $param03, $param04, $param05):
  return taivutuskaava ($tietue,
                        [nimentö: <<$param01, <>>>,
                         omistusliite: <<$param01, <>>>,
                         omanto_n: <<$param02, <>>>,
                         osanto_A: <<$param01, <>>>,
                         olento_nA: <<$param01, <>>>,
                         tulento_ksi: <<$param02, <>>>,
                         sisäolento_ssA: <<$param02, <>>>,
                         sisäeronto_stA: <<$param02, <>>>,
                         sisätulento_Vn: <<$param01, <>>>,
                         sisätulento_hVn: <<$param01, <vanha_h>>>,
                         ulko_olento_llA: <<$param02, <>>>,
                         ulkoeronto_ltA: <<$param02, <>>>,
                         ulkotulento_lle: <<$param02, <>>>,
                         vajanto_ttA: <<$param02, <>>>,
                         nimentö_t: <<$param02, <>>>,
                         omanto_ien: <<$param03, <>>>,
                         omanto_in: <<$param01, <>>>,
                         osanto_iA: <<$param03, <>>>,
                         olento_inA: <<$param03, <>>>,
                         tulento_iksi: <<$param04, <>>>,
                         sisäolento_issA: <<$param04, <>>>,
                         sisäeronto_istA: <<$param04, <>>>,
                         sisätulento_iin: <<$param03, <>>>,
                         sisätulento_ihin: <<$param03, <vanha_h>>>,
                         ulko_olento_illA: <<$param04, <>>>,
                         ulkoeronto_iltA: <<$param04, <>>>,
                         ulkotulento_ille: <<$param04, <>>>,
                         vajanto_ittA: <<$param04, <>>>,
                         seuranto_ine: <<$param03, <>>>,
                         keinonto_in: <<$param04, <>>>,
                         kerronto_sti: <<$param02, <>>>,
                         voittoaste: <<$param05, <>>>,
                         yliaste: <<$param04, <>>>,
                         johdin_inen: <<$param01, <>>>,
                         johdin_ittain: <<$param04, <>>>,
                         johdin_lAinen: <<$param01, <>>>,
                         johdin_llinen: <<$param02, <>>>,
                         johdin_mAinen: <<$param01, <>>>,
                         johdin_tOn: <<$param02, <>>>,
                         johdin_UUs: <<$param03, <>>>,
                         tavuviiva: <<$param01, <>>>,
                         yhdyssana: <<$param01, <>>>]);
end;
subrule pitkä ($tietue, $param01, $param02, $param03, $param04, $param05):
  return taivutuskaava ($tietue,
                        [nimentö: <<$param01, <>>>,
                         omistusliite: <<$param01, <>>>,
                         omanto_n: <<$param01, <>>>,
                         osanto_A: <<$param01, <>>>,
                         olento_nA: <<$param01, <>>>,
                         tulento_ksi: <<$param01, <>>>,
                         sisäolento_ssA: <<$param01, <>>>,
                         sisäeronto_stA: <<$param01, <>>>,
                         sisätulento_Vn: <<$param01, <>>>,
                         sisätulento_hVn: <<$param01, <vanha_h>>>,
                         ulko_olento_llA: <<$param01, <>>>,
                         ulkoeronto_ltA: <<$param01, <>>>,
                         ulkotulento_lle: <<$param01, <>>>,
                         vajanto_ttA: <<$param01, <>>>,
                         nimentö_t: <<$param01, <>>>,
                         omanto_ien: <<$param02, <>>>,
                         omanto_in: <<$param01, <>>>,
                         osanto_iA: <<$param02, <>>>,
                         olento_inA: <<$param02, <>>>,
                         tulento_iksi: <<$param02, <>>>,
                         sisäolento_issA: <<$param02, <>>>,
                         sisäeronto_istA: <<$param02, <>>>,
                         sisätulento_iin: <<$param02, <>>>,
                         sisätulento_ihin: <<$param02, <vanha_h>>>,
                         ulko_olento_illA: <<$param02, <>>>,
                         ulkoeronto_iltA: <<$param02, <>>>,
                         ulkotulento_ille: <<$param02, <>>>,
                         vajanto_ittA: <<$param02, <>>>,
                         seuranto_ine: <<$param02, <>>>,
                         keinonto_in: <<$param02, <>>>,
                         kerronto_sti: <<$param01, <>>>,
                         voittoaste: <<$param03, <>>, <$param04, <>>>,
                         yliaste: <<$param05, <>>>,
                         johdin_ittAin: <<$param02, <>>>,
                         tavuviiva: <<$param01, <>>>,
                         yhdyssana: <<$param01, <>>>]);
end;
subrule ruoka ($tietue, $param01, $param02, $param03, $param04, $param05, $param06, $param07, $param08):
  return taivutuskaava ($tietue,
                        [nimentö: <<$param01, <>>>,
                         omistusliite: <<$param01, <>>>,
                         omanto_n: <<$param02, <>>, <$param03, <>>>,
                         osanto_A: <<$param01, <>>>,
                         olento_nA: <<$param01, <>>>,
                         tulento_ksi: <<$param02, <>>, <$param03, <>>>,
                         sisäolento_ssA: <<$param02, <>>, <$param03, <>>>,
                         sisäeronto_stA: <<$param02, <>>, <$param03, <>>>,
                         sisätulento_Vn: <<$param01, <>>>,
                         sisätulento_hVn: <<$param01, <vanha_h>>>,
                         ulko_olento_llA: <<$param02, <>>, <$param03, <>>>,
                         ulkoeronto_ltA: <<$param02, <>>, <$param03, <>>>,
                         ulkotulento_lle: <<$param02, <>>, <$param03, <>>>,
                         vajanto_ttA: <<$param02, <>>, <$param03, <>>>,
                         nimentö_t: <<$param02, <>>, <$param03, <>>>,
                         omanto_ien: <<$param04, <>>>,
                         omanto_in: <<$param01, <>>>,
                         osanto_iA: <<$param04, <>>>,
                         olento_inA: <<$param04, <>>>,
                         tulento_iksi: <<$param05, <>>, <$param06, <>>>,
                         sisäolento_issA: <<$param05, <>>, <$param06, <>>>,
                         sisäeronto_istA: <<$param05, <>>, <$param06, <>>>,
                         sisätulento_iin: <<$param04, <>>>,
                         sisätulento_ihin: <<$param04, <vanha_h>>>,
                         ulko_olento_illA: <<$param05, <>>, <$param06, <>>>,
                         ulkoeronto_iltA: <<$param05, <>>, <$param06, <>>>,
                         ulkotulento_ille: <<$param05, <>>, <$param06, <>>>,
                         vajanto_ittA: <<$param05, <>>, <$param06, <>>>,
                         seuranto_ine: <<$param04, <>>>,
                         keinonto_in: <<$param05, <>>, <$param06, <>>>,
                         kerronto_sti: <<$param02, <>>, <$param03, <>>>,
                         voittoaste: <<$param07, <>>, <$param08, <>>>,
                         yliaste: <<$param05, <>>, <$param06, <>>>,
                         johdin_inen: <<$param01, <>>>,
                         johdin_ittain: <<$param05, <>>, <$param06, <>>>,
                         johdin_lAinen: <<$param01, <>>>,
                         johdin_llinen: <<$param02, <>>, <$param03, <>>>,
                         johdin_mAinen: <<$param01, <>>>,
                         johdin_tOn: <<$param02, <>>, <$param03, <>>>,
                         johdin_Us: <<$param04, <>>>,
                         tavuviiva: <<$param01, <>>>,
                         yhdyssana: <<$param01, <>>>]);
end;
subrule matala ($tietue, $param01, $param02, $param03, $param04, $param05, $param06):
  return taivutuskaava ($tietue,
                        [nimentö: <<$param01, <>>>,
                         omistusliite: <<$param01, <>>>,
                         omanto_n: <<$param02, <>>>,
                         osanto_A: <<$param01, <>>>,
                         osanto_tA: <<$param01, <ei_voikko>>>,
                         olento_nA: <<$param01, <>>>,
                         tulento_ksi: <<$param02, <>>>,
                         sisäolento_ssA: <<$param02, <>>>,
                         sisäeronto_stA: <<$param02, <>>>,
                         sisätulento_Vn: <<$param01, <>>>,
                         sisätulento_hVn: <<$param01, <vanha_h>>>,
                         ulko_olento_llA: <<$param02, <>>>,
                         ulkoeronto_ltA: <<$param02, <>>>,
                         ulkotulento_lle: <<$param02, <>>>,
                         vajanto_ttA: <<$param02, <>>>,
                         nimentö_t: <<$param02, <>>>,
                         omanto_ien: <<$param03, <>>>,
                         omanto_iT: <<$param04, <>>>,
                         omanto_in: <<$param01, <>>>,
                         omanto_jen: <<$param05, <>>>,
                         osanto_iA: <<$param03, <>>>,
                         osanto_itA: <<$param04, <>>>,
                         osanto_jA: <<$param05, <>>>,
                         olento_inA: <<$param03, <>>, <$param05, <>>>,
                         tulento_iksi: <<$param06, <>>, <$param04, <>>>,
                         sisäolento_issA: <<$param06, <>>, <$param04, <>>>,
                         sisäeronto_istA: <<$param06, <>>, <$param04, <>>>,
                         sisätulento_iin: <<$param03, <>>>,
                         sisätulento_ihin: <<$param05, <>>, <$param04, <ei_voikko>>, <$param03, <vanha_h>>>,
                         ulko_olento_illA: <<$param06, <>>, <$param04, <>>>,
                         ulkoeronto_iltA: <<$param06, <>>, <$param04, <>>>,
                         ulkotulento_ille: <<$param06, <>>, <$param04, <>>>,
                         vajanto_ittA: <<$param06, <>>, <$param04, <>>>,
                         seuranto_ine: <<$param03, <>>, <$param05, <>>>,
                         keinonto_in: <<$param06, <>>, <$param04, <>>>,
                         kerronto_sti: <<$param02, <>>>,
                         voittoaste: <<$param02, <>>>,
                         yliaste: <<$param06, <>>, <$param04, <>>>,
                         johdin_inen: <<$param01, <>>>,
                         johdin_ittain: <<$param06, <>>, <$param04, <>>>,
                         johdin_lAinen: <<$param01, <>>>,
                         johdin_llinen: <<$param02, <>>>,
                         johdin_mAinen: <<$param01, <>>>,
                         johdin_tOn: <<$param02, <>>>,
                         johdin_UUs: <<$param06, <>>>,
                         tavuviiva: <<$param01, <>>>,
                         yhdyssana: <<$param01, <>>>]);
end;
subrule asema ($tietue, $param01, $param02, $param03, $param04):
  return taivutuskaava ($tietue,
                        [nimentö: <<$param01, <>>>,
                         omistusliite: <<$param01, <>>>,
                         omanto_n: <<$param02, <>>>,
                         osanto_A: <<$param01, <>>>,
                         osanto_tA: <<$param01, <ei_voikko>>>,
                         olento_nA: <<$param01, <>>>,
                         tulento_ksi: <<$param02, <>>>,
                         sisäolento_ssA: <<$param02, <>>>,
                         sisäeronto_stA: <<$param02, <>>>,
                         sisätulento_Vn: <<$param01, <>>>,
                         sisätulento_hVn: <<$param01, <vanha_h>>>,
                         ulko_olento_llA: <<$param02, <>>>,
                         ulkoeronto_ltA: <<$param02, <>>>,
                         ulkotulento_lle: <<$param02, <>>>,
                         vajanto_ttA: <<$param02, <>>>,
                         nimentö_t: <<$param02, <>>>,
                         omanto_ien: <<$param03, <>>>,
                         omanto_in: <<$param01, <>>>,
                         osanto_iA: <<$param03, <>>>,
                         olento_inA: <<$param03, <>>>,
                         tulento_iksi: <<$param04, <>>>,
                         sisäolento_issA: <<$param04, <>>>,
                         sisäeronto_istA: <<$param04, <>>>,
                         sisätulento_iin: <<$param03, <>>>,
                         sisätulento_ihin: <<$param03, <vanha_h>>>,
                         ulko_olento_illA: <<$param04, <>>>,
                         ulkoeronto_iltA: <<$param04, <>>>,
                         ulkotulento_ille: <<$param04, <>>>,
                         vajanto_ittA: <<$param04, <>>>,
                         seuranto_ine: <<$param03, <>>>,
                         keinonto_in: <<$param04, <>>>,
                         kerronto_sti: <<$param02, <>>>,
                         voittoaste: <<$param02, <>>>,
                         yliaste: <<$param04, <>>>,
                         johdin_inen: <<$param01, <>>>,
                         johdin_ittain: <<$param04, <>>>,
                         johdin_lAinen: <<$param01, <>>>,
                         johdin_llinen: <<$param02, <>>>,
                         johdin_mAinen: <<$param01, <>>>,
                         johdin_tOn: <<$param02, <>>>,
                         johdin_UUs: <<$param04, <>>>,
                         tavuviiva: <<$param01, <>>>,
                         yhdyssana: <<$param01, <>>>]);
end;
subrule kulkija ($tietue, $param01, $param02, $param03):
  return taivutuskaava ($tietue,
                        [nimentö: <<$param01, <>>>,
                         omistusliite: <<$param01, <>>>,
                         omanto_n: <<$param01, <>>>,
                         osanto_A: <<$param01, <>>>,
                         osanto_tA: <<$param01, <ei_voikko>>>,
                         olento_nA: <<$param01, <>>>,
                         tulento_ksi: <<$param01, <>>>,
                         sisäolento_ssA: <<$param01, <>>>,
                         sisäeronto_stA: <<$param01, <>>>,
                         sisätulento_Vn: <<$param01, <>>>,
                         sisätulento_hVn: <<$param01, <vanha_h>>>,
                         ulko_olento_llA: <<$param01, <>>>,
                         ulkoeronto_ltA: <<$param01, <>>>,
                         ulkotulento_lle: <<$param01, <>>>,
                         vajanto_ttA: <<$param01, <>>>,
                         nimentö_t: <<$param01, <>>>,
                         omanto_iT: <<$param02, <>>>,
                         omanto_in: <<$param01, <>>>,
                         osanto_itA: <<$param02, <>>>,
                         olento_inA: <<$param02, <>>>,
                         tulento_iksi: <<$param02, <>>>,
                         sisäolento_issA: <<$param02, <>>>,
                         sisäeronto_istA: <<$param02, <>>>,
                         sisätulento_ihin: <<$param02, <>>>,
                         ulko_olento_illA: <<$param02, <>>>,
                         ulkoeronto_iltA: <<$param02, <>>>,
                         ulkotulento_ille: <<$param02, <>>>,
                         vajanto_ittA: <<$param02, <>>>,
                         seuranto_ine: <<$param02, <>>>,
                         keinonto_in: <<$param02, <>>>,
                         kerronto_sti: <<$param01, <>>>,
                         voittoaste: <<$param01, <>>>,
                         yliaste: <<$param02, <>>>,
                         johdin_inen: <<$param01, <>>>,
                         johdin_ittain: <<$param02, <>>>,
                         johdin_lAinen: <<$param01, <>>>,
                         johdin_llinen: <<$param01, <>>>,
                         johdin_mAinen: <<$param01, <>>>,
                         johdin_tOn: <<$param01, <>>>,
                         johdin_UUs: <<$param03, <>>>,
                         tavuviiva: <<$param01, <>>>,
                         yhdyssana: <<$param01, <>>>]);
end;
subrule analogia ($tietue, $param01, $param02, $param03, $param04):
  return taivutuskaava ($tietue,
                        [nimentö: <<$param01, <>>, <$param02, <>>>,
                         omistusliite: <<$param01, <>>, <$param02, <>>>,
                         omanto_n: <<$param01, <>>, <$param02, <>>>,
                         osanto_A: <<$param01, <>>, <$param02, <>>>,
                         osanto_tA: <<$param01, <ei_voikko>>, <$param02, <ei_voikko>>>,
                         olento_nA: <<$param01, <>>, <$param02, <>>>,
                         tulento_ksi: <<$param01, <>>, <$param02, <>>>,
                         sisäolento_ssA: <<$param01, <>>, <$param02, <>>>,
                         sisäeronto_stA: <<$param01, <>>, <$param02, <>>>,
                         sisätulento_Vn: <<$param01, <>>, <$param02, <>>>,
                         sisätulento_hVn: <<$param01, <vanha_h>>, <$param02, <vanha_h>>>,
                         ulko_olento_llA: <<$param01, <>>, <$param02, <>>>,
                         ulkoeronto_ltA: <<$param01, <>>, <$param02, <>>>,
                         ulkotulento_lle: <<$param01, <>>, <$param02, <>>>,
                         vajanto_ttA: <<$param01, <>>, <$param02, <>>>,
                         nimentö_t: <<$param01, <>>, <$param02, <>>>,
                         omanto_jen: <<$param03, <>>, <$param04, <>>>,
                         omanto_iT: <<$param03, <>>, <$param04, <>>>,
                         omanto_in: <<$param01, <>>, <$param02, <>>>,
                         osanto_jA: <<$param03, <>>, <$param04, <>>>,
                         osanto_itA: <<$param03, <>>, <$param04, <>>>,
                         olento_inA: <<$param03, <>>, <$param04, <>>>,
                         tulento_iksi: <<$param03, <>>, <$param04, <>>>,
                         sisäolento_issA: <<$param03, <>>, <$param04, <>>>,
                         sisäeronto_istA: <<$param03, <>>, <$param04, <>>>,
                         sisätulento_ihin: <<$param03, <>>, <$param04, <>>>,
                         ulko_olento_illA: <<$param03, <>>, <$param04, <>>>,
                         ulkoeronto_iltA: <<$param03, <>>, <$param04, <>>>,
                         ulkotulento_ille: <<$param03, <>>, <$param04, <>>>,
                         vajanto_ittA: <<$param03, <>>, <$param04, <>>>,
                         seuranto_ine: <<$param03, <>>, <$param04, <>>>,
                         keinonto_in: <<$param03, <>>, <$param04, <>>>,
                         kerronto_sti: <<$param01, <>>, <$param02, <>>>,
                         voittoaste: <<$param01, <>>, <$param02, <>>>,
                         yliaste: <<$param02, <>>>,
                         johdin_inen: <<$param01, <>>, <$param02, <>>>,
                         johdin_ittain: <<$param03, <>>, <$param04, <>>>,
                         johdin_lAinen: <<$param01, <>>, <$param02, <>>>,
                         johdin_llinen: <<$param01, <>>, <$param02, <>>>,
                         johdin_mAinen: <<$param01, <>>, <$param02, <>>>,
                         johdin_tOn: <<$param01, <>>, <$param02, <>>>,
                         tavuviiva: <<$param01, <>>, <$param02, <>>>,
                         yhdyssana: <<$param01, <>>, <$param02, <>>>]);
end;
subrule karahka ($tietue, $param01, $param02, $param03, $param04, $param05):
  return taivutuskaava ($tietue,
                        [nimentö: <<$param01, <>>>,
                         omistusliite: <<$param01, <>>>,
                         omanto_n: <<$param02, <>>>,
                         osanto_A: <<$param01, <>>>,
                         osanto_tA: <<$param01, <ei_voikko>>>,
                         olento_nA: <<$param01, <>>>,
                         tulento_ksi: <<$param02, <>>>,
                         sisäolento_ssA: <<$param02, <>>>,
                         sisäeronto_stA: <<$param02, <>>>,
                         sisätulento_Vn: <<$param01, <>>>,
                         sisätulento_hVn: <<$param01, <vanha_h>>>,
                         ulko_olento_llA: <<$param02, <>>>,
                         ulkoeronto_ltA: <<$param02, <>>>,
                         ulkotulento_lle: <<$param02, <>>>,
                         vajanto_ttA: <<$param02, <>>>,
                         nimentö_t: <<$param02, <>>>,
                         omanto_jen: <<$param03, <>>>,
                         omanto_iT: <<$param04, <>>>,
                         omanto_in: <<$param01, <>>>,
                         osanto_jA: <<$param03, <>>>,
                         osanto_itA: <<$param04, <>>>,
                         olento_inA: <<$param03, <>>>,
                         tulento_iksi: <<$param04, <>>>,
                         sisäolento_issA: <<$param04, <>>>,
                         sisäeronto_istA: <<$param04, <>>>,
                         sisätulento_ihin: <<$param03, <>>>,
                         ulko_olento_illA: <<$param04, <>>>,
                         ulkoeronto_iltA: <<$param04, <>>>,
                         ulkotulento_ille: <<$param04, <>>>,
                         vajanto_ittA: <<$param04, <>>>,
                         seuranto_ine: <<$param03, <>>>,
                         keinonto_in: <<$param04, <>>>,
                         kerronto_sti: <<$param02, <>>>,
                         voittoaste: <<$param02, <>>>,
                         yliaste: <<$param02, <>>>,
                         johdin_inen: <<$param01, <>>>,
                         johdin_ittain: <<$param04, <>>>,
                         johdin_lAinen: <<$param01, <>>>,
                         johdin_llinen: <<$param02, <>>>,
                         johdin_mAinen: <<$param01, <>>>,
                         johdin_tOn: <<$param02, <>>>,
                         johdin_UUs: <<$param05, <>>>,
                         tavuviiva: <<$param01, <>>>,
                         yhdyssana: <<$param01, <>>>]);
end;
subrule solakka ($tietue, $param01, $param02, $param03, $param04, $param05):
  return taivutuskaava ($tietue,
                        [nimentö: <<$param01, <>>>,
                         omistusliite: <<$param01, <>>>,
                         omanto_n: <<$param02, <>>>,
                         osanto_A: <<$param01, <>>>,
                         osanto_tA: <<$param01, <ei_voikko>>>,
                         olento_nA: <<$param01, <>>>,
                         tulento_ksi: <<$param02, <>>>,
                         sisäolento_ssA: <<$param02, <>>>,
                         sisäeronto_stA: <<$param02, <>>>,
                         sisätulento_Vn: <<$param01, <>>>,
                         sisätulento_hVn: <<$param01, <vanha_h>>>,
                         ulko_olento_llA: <<$param02, <>>>,
                         ulkoeronto_ltA: <<$param02, <>>>,
                         ulkotulento_lle: <<$param02, <>>>,
                         vajanto_ttA: <<$param02, <>>>,
                         nimentö_t: <<$param02, <>>>,
                         omanto_jen: <<$param03, <>>>,
                         omanto_iT: <<$param04, <>>>,
                         omanto_in: <<$param01, <ei_voikko>>>,
                         osanto_jA: <<$param03, <>>>,
                         osanto_itA: <<$param04, <>>>,
                         olento_inA: <<$param03, <>>, <$param04, <>>>,
                         tulento_iksi: <<$param04, <>>>,
                         sisäolento_issA: <<$param04, <>>>,
                         sisäeronto_istA: <<$param04, <>>>,
                         sisätulento_ihin: <<$param03, <>>, <$param04, <>>>,
                         ulko_olento_illA: <<$param04, <>>>,
                         ulkoeronto_iltA: <<$param04, <>>>,
                         ulkotulento_ille: <<$param04, <>>>,
                         vajanto_ittA: <<$param04, <>>>,
                         seuranto_ine: <<$param03, <>>, <$param04, <>>>,
                         keinonto_in: <<$param04, <>>>,
                         kerronto_sti: <<$param02, <>>>,
                         voittoaste: <<$param02, <>>>,
                         yliaste: <<$param04, <>>>,
                         johdin_inen: <<$param01, <>>>,
                         johdin_ittain: <<$param04, <>>>,
                         johdin_lAinen: <<$param01, <>>>,
                         johdin_llinen: <<$param02, <>>>,
                         johdin_mAinen: <<$param01, <>>>,
                         johdin_tOn: <<$param02, <>>>,
                         johdin_UUs: <<$param05, <>>>,
                         tavuviiva: <<$param01, <>>>,
                         yhdyssana: <<$param01, <>>>]);
end;
subrule apaja ($tietue, $param01, $param02, $param03):
  return taivutuskaava ($tietue,
                        [nimentö: <<$param01, <>>>,
                         omistusliite: <<$param01, <>>>,
                         omanto_n: <<$param01, <>>>,
                         osanto_A: <<$param01, <>>>,
                         osanto_tA: <<$param01, <ei_voikko>>>,
                         olento_nA: <<$param01, <>>>,
                         tulento_ksi: <<$param01, <>>>,
                         sisäolento_ssA: <<$param01, <>>>,
                         sisäeronto_stA: <<$param01, <>>>,
                         sisätulento_Vn: <<$param01, <>>>,
                         sisätulento_hVn: <<$param01, <vanha_h>>>,
                         ulko_olento_llA: <<$param01, <>>>,
                         ulkoeronto_ltA: <<$param01, <>>>,
                         ulkotulento_lle: <<$param01, <>>>,
                         vajanto_ttA: <<$param01, <>>>,
                         nimentö_t: <<$param01, <>>>,
                         omanto_iT: <<$param02, <ei_voikko>>>,
                         omanto_ien: <<$param03, <>>>,
                         omanto_in: <<$param01, <>>>,
                         osanto_iA: <<$param03, <>>>,
                         osanto_itA: <<$param02, <ei_voikko>>>,
                         olento_inA: <<$param03, <>>, <$param02, <ei_voikko>>>,
                         tulento_iksi: <<$param03, <>>, <$param02, <ei_voikko>>>,
                         sisäolento_issA: <<$param03, <>>, <$param02, <ei_voikko>>>,
                         sisäeronto_istA: <<$param03, <>>, <$param02, <ei_voikko>>>,
                         sisätulento_iin: <<$param03, <>>>,
                         sisätulento_ihin: <<$param02, <ei_voikko>>, <$param03, <vanha_h>>>,
                         ulko_olento_illA: <<$param03, <>>, <$param02, <ei_voikko>>>,
                         ulkoeronto_iltA: <<$param03, <>>, <$param02, <ei_voikko>>>,
                         ulkotulento_ille: <<$param03, <>>, <$param02, <ei_voikko>>>,
                         vajanto_ittA: <<$param03, <>>, <$param02, <ei_voikko>>>,
                         seuranto_ine: <<$param03, <>>, <$param02, <ei_voikko>>>,
                         keinonto_in: <<$param03, <>>, <$param02, <ei_voikko>>>,
                         kerronto_sti: <<$param01, <>>>,
                         voittoaste: <<$param01, <>>>,
                         yliaste: <<$param03, <>>>,
                         johdin_inen: <<$param01, <>>>,
                         johdin_ittain: <<$param03, <>>, <$param02, <ei_voikko>>>,
                         johdin_lAinen: <<$param01, <>>>,
                         johdin_llinen: <<$param01, <>>>,
                         johdin_mAinen: <<$param01, <>>>,
                         johdin_tOn: <<$param01, <>>>,
                         johdin_Us: <<$param03, <>>>,
                         tavuviiva: <<$param01, <>>>,
                         yhdyssana: <<$param01, <>>>]);
end;
subrule kahdeksan ($tietue, $param01, $param02, $param03, $param04):
  return taivutuskaava ($tietue,
                        [nimentö: <<$param01, <>>>,
                         omistusliite: <<$param02, <>>>,
                         omanto_n: <<$param02, <>>>,
                         osanto_A: <<$param02, <>>>,
                         osanto_tA: <<$param02, <ei_voikko>>>,
                         olento_nA: <<$param02, <>>>,
                         tulento_ksi: <<$param02, <>>>,
                         sisäolento_ssA: <<$param02, <>>>,
                         sisäeronto_stA: <<$param02, <>>>,
                         sisätulento_Vn: <<$param02, <>>>,
                         sisätulento_hVn: <<$param02, <vanha_h>>>,
                         ulko_olento_llA: <<$param02, <>>>,
                         ulkoeronto_ltA: <<$param02, <>>>,
                         ulkotulento_lle: <<$param02, <>>>,
                         vajanto_ttA: <<$param02, <>>>,
                         nimentö_t: <<$param02, <>>>,
                         omanto_iT: <<$param03, <ei_voikko>>>,
                         omanto_ien: <<$param04, <>>>,
                         omanto_in: <<$param02, <>>>,
                         osanto_iA: <<$param04, <>>>,
                         osanto_itA: <<$param03, <ei_voikko>>>,
                         olento_inA: <<$param04, <>>, <$param03, <ei_voikko>>>,
                         tulento_iksi: <<$param04, <>>, <$param03, <ei_voikko>>>,
                         sisäolento_issA: <<$param04, <>>, <$param03, <ei_voikko>>>,
                         sisäeronto_istA: <<$param04, <>>, <$param03, <ei_voikko>>>,
                         sisätulento_iin: <<$param04, <>>>,
                         sisätulento_ihin: <<$param03, <ei_voikko>>, <$param04, <vanha_h>>>,
                         ulko_olento_illA: <<$param04, <>>, <$param03, <ei_voikko>>>,
                         ulkoeronto_iltA: <<$param04, <>>, <$param03, <ei_voikko>>>,
                         ulkotulento_ille: <<$param04, <>>, <$param03, <ei_voikko>>>,
                         vajanto_ittA: <<$param04, <>>, <$param03, <ei_voikko>>>,
                         seuranto_ine: <<$param04, <>>, <$param03, <ei_voikko>>>,
                         keinonto_in: <<$param04, <>>, <$param03, <ei_voikko>>>,
                         kerronto_sti: <<$param02, <>>>,
                         voittoaste: <<$param02, <>>>,
                         yliaste: <<$param04, <>>>,
                         johdin_inen: <<$param02, <>>>,
                         tavuviiva: <<$param01, <>>>,
                         yhdyssana: <<$param01, <>>>]);
end;
subrule kantaja ($tietue, $param01, $param02, $param03):
  return taivutuskaava ($tietue,
                        [nimentö: <<$param01, <>>>,
                         omistusliite: <<$param01, <>>>,
                         omanto_n: <<$param01, <>>>,
                         osanto_A: <<$param01, <>>>,
                         osanto_tA: <<$param01, <ei_voikko>>>,
                         olento_nA: <<$param01, <>>>,
                         tulento_ksi: <<$param01, <>>>,
                         sisäolento_ssA: <<$param01, <>>>,
                         sisäeronto_stA: <<$param01, <>>>,
                         sisätulento_Vn: <<$param01, <>>>,
                         sisätulento_hVn: <<$param01, <vanha_h>>>,
                         ulko_olento_llA: <<$param01, <>>>,
                         ulkoeronto_ltA: <<$param01, <>>>,
                         ulkotulento_lle: <<$param01, <>>>,
                         vajanto_ttA: <<$param01, <>>>,
                         nimentö_t: <<$param01, <>>>,
                         omanto_iT: <<$param02, <ei_voikko>>>,
                         omanto_ien: <<$param03, <>>>,
                         omanto_in: <<$param01, <>>>,
                         osanto_iA: <<$param03, <>>>,
                         osanto_itA: <<$param02, <ei_voikko>>>,
                         olento_inA: <<$param03, <>>, <$param02, <ei_voikko>>>,
                         tulento_iksi: <<$param03, <>>, <$param02, <ei_voikko>>>,
                         sisäolento_issA: <<$param03, <>>, <$param02, <ei_voikko>>>,
                         sisäeronto_istA: <<$param03, <>>, <$param02, <ei_voikko>>>,
                         sisätulento_iin: <<$param03, <>>>,
                         sisätulento_ihin: <<$param02, <ei_voikko>>, <$param03, <vanha_h>>>,
                         ulko_olento_illA: <<$param03, <>>, <$param02, <ei_voikko>>>,
                         ulkoeronto_iltA: <<$param03, <>>, <$param02, <ei_voikko>>>,
                         ulkotulento_ille: <<$param03, <>>, <$param02, <ei_voikko>>>,
                         vajanto_ittA: <<$param03, <>>, <$param02, <ei_voikko>>>,
                         seuranto_ine: <<$param03, <>>, <$param02, <ei_voikko>>>,
                         keinonto_in: <<$param03, <>>, <$param02, <ei_voikko>>>,
                         kerronto_sti: <<$param01, <>>>,
                         voittoaste: <<$param01, <>>>,
                         yliaste: <<$param03, <>>>,
                         johdin_inen: <<$param01, <>>>,
                         johdin_ittain: <<$param03, <>>, <$param02, <ei_voikko>>>,
                         johdin_lAinen: <<$param01, <>>>,
                         johdin_llinen: <<$param01, <>>>,
                         johdin_mAinen: <<$param01, <>>>,
                         johdin_tOn: <<$param01, <>>>,
                         johdin_UUs: <<$param03, <>>>,
                         tavuviiva: <<$param01, <>>>,
                         yhdyssana: <<$param01, <>>>]);
end;
subrule peruna ($tietue, $param01, $param02, $param03):
  return taivutuskaava ($tietue,
                        [nimentö: <<$param01, <>>>,
                         omistusliite: <<$param01, <>>>,
                         omanto_n: <<$param01, <>>>,
                         osanto_A: <<$param01, <>>>,
                         osanto_tA: <<$param01, <>>>,
                         olento_nA: <<$param01, <>>>,
                         tulento_ksi: <<$param01, <>>>,
                         sisäolento_ssA: <<$param01, <>>>,
                         sisäeronto_stA: <<$param01, <>>>,
                         sisätulento_Vn: <<$param01, <>>>,
                         sisätulento_hVn: <<$param01, <vanha_h>>>,
                         ulko_olento_llA: <<$param01, <>>>,
                         ulkoeronto_ltA: <<$param01, <>>>,
                         ulkotulento_lle: <<$param01, <>>>,
                         vajanto_ttA: <<$param01, <>>>,
                         nimentö_t: <<$param01, <>>>,
                         omanto_jen: <<$param02, <>>>,
                         omanto_iT: <<$param02, <>>>,
                         omanto_in: <<$param01, <>>>,
                         omanto_ien: <<$param03, <>>>,
                         osanto_iA: <<$param03, <>>>,
                         osanto_itA: <<$param02, <>>>,
                         osanto_jA: <<$param02, <>>>,
                         olento_inA: <<$param03, <>>, <$param02, <>>>,
                         tulento_iksi: <<$param03, <>>, <$param02, <>>>,
                         sisäolento_issA: <<$param03, <>>, <$param02, <>>>,
                         sisäeronto_istA: <<$param03, <>>, <$param02, <>>>,
                         sisätulento_iin: <<$param03, <>>>,
                         sisätulento_ihin: <<$param02, <>>, <$param03, <vanha_h>>>,
                         ulko_olento_illA: <<$param03, <>>, <$param02, <>>>,
                         ulkoeronto_iltA: <<$param03, <>>, <$param02, <>>>,
                         ulkotulento_ille: <<$param03, <>>, <$param02, <>>>,
                         vajanto_ittA: <<$param03, <>>, <$param02, <>>>,
                         seuranto_ine: <<$param03, <>>, <$param02, <>>>,
                         keinonto_in: <<$param03, <>>, <$param02, <>>>,
                         kerronto_sti: <<$param01, <>>>,
                         voittoaste: <<$param01, <>>>,
                         yliaste: <<$param03, <>>>,
                         johdin_inen: <<$param01, <>>>,
                         johdin_ittain: <<$param03, <>>, <$param02, <>>>,
                         johdin_lAinen: <<$param01, <>>>,
                         johdin_llinen: <<$param01, <>>>,
                         johdin_mAinen: <<$param01, <>>>,
                         johdin_tOn: <<$param01, <>>>,
                         johdin_UUs: <<$param03, <>>>,
                         tavuviiva: <<$param01, <>>>,
                         yhdyssana: <<$param01, <>>>]);
end;
subrule pasuuna ($tietue, $param01, $param02, $param03, $param04, $param05, $param06):
  return taivutuskaava ($tietue,
                        [nimentö: <<$param01, <>>>,
                         omistusliite: <<$param01, <>>>,
                         omanto_n: <<$param02, <>>>,
                         osanto_A: <<$param01, <>>>,
                         osanto_tA: <<$param01, <ei_voikko>>>,
                         olento_nA: <<$param01, <>>>,
                         tulento_ksi: <<$param02, <>>>,
                         sisäolento_ssA: <<$param02, <>>>,
                         sisäeronto_stA: <<$param02, <>>>,
                         sisätulento_Vn: <<$param01, <>>>,
                         sisätulento_hVn: <<$param01, <vanha_h>>>,
                         ulko_olento_llA: <<$param02, <>>>,
                         ulkoeronto_ltA: <<$param02, <>>>,
                         ulkotulento_lle: <<$param02, <>>>,
                         vajanto_ttA: <<$param02, <>>>,
                         nimentö_t: <<$param02, <>>>,
                         omanto_jen: <<$param03, <>>>,
                         omanto_iT: <<$param04, <>>>,
                         omanto_in: <<$param01, <>>>,
                         omanto_ien: <<$param05, <>>>,
                         osanto_iA: <<$param05, <>>>,
                         osanto_itA: <<$param04, <>>>,
                         osanto_jA: <<$param03, <>>>,
                         olento_inA: <<$param05, <>>, <$param03, <>>>,
                         tulento_iksi: <<$param06, <>>, <$param04, <>>>,
                         sisäolento_issA: <<$param06, <>>, <$param04, <>>>,
                         sisäeronto_istA: <<$param06, <>>, <$param04, <>>>,
                         sisätulento_iin: <<$param05, <>>>,
                         sisätulento_ihin: <<$param03, <>>, <$param05, <vanha_h>>>,
                         ulko_olento_illA: <<$param06, <>>, <$param04, <>>>,
                         ulkoeronto_iltA: <<$param06, <>>, <$param04, <>>>,
                         ulkotulento_ille: <<$param06, <>>, <$param04, <>>>,
                         vajanto_ittA: <<$param06, <>>, <$param04, <>>>,
                         seuranto_ine: <<$param05, <>>, <$param03, <>>>,
                         keinonto_in: <<$param06, <>>, <$param04, <>>>,
                         kerronto_sti: <<$param02, <>>>,
                         voittoaste: <<$param02, <>>>,
                         yliaste: <<$param06, <>>>,
                         johdin_inen: <<$param01, <>>>,
                         johdin_ittain: <<$param06, <>>, <$param04, <>>>,
                         johdin_lAinen: <<$param01, <>>>,
                         johdin_llinen: <<$param01, <>>>,
                         johdin_mAinen: <<$param01, <>>>,
                         johdin_tOn: <<$param02, <>>>,
                         johdin_UUs: <<$param05, <>>>,
                         tavuviiva: <<$param01, <>>>,
                         yhdyssana: <<$param01, <>>>]);
end;
subrule ainoa ($tietue, $param01, $param02, $param03):
  return taivutuskaava ($tietue,
                        [nimentö: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         omistusliite: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         omanto_n: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         osanto_A: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         osanto_tA: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         olento_nA: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         tulento_ksi: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         sisäolento_ssA: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         sisäeronto_stA: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         sisätulento_Vn: <<$param01, <>>>,
                         sisätulento_hVn: <<$param01, <vanha_h>>>,
                         ulko_olento_llA: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         ulkoeronto_ltA: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         ulkotulento_lle: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         vajanto_ttA: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         nimentö_t: <<$param01, <>>>,
                         omanto_iT: <<$param03, <>>>,
                         omanto_in: <<$param01, <>>>,
                         osanto_itA: <<$param03, <>>>,
                         olento_inA: <<$param03, <>>>,
                         tulento_iksi: <<$param03, <>>>,
                         sisäolento_issA: <<$param03, <>>>,
                         sisäeronto_istA: <<$param03, <>>>,
                         sisätulento_ihin: <<$param03, <>>>,
                         sisätulento_isiin: <<$param03, <ei_ns>>>,
                         ulko_olento_illA: <<$param03, <>>>,
                         ulkoeronto_iltA: <<$param03, <>>>,
                         ulkotulento_ille: <<$param03, <>>>,
                         vajanto_ittA: <<$param03, <>>>,
                         seuranto_ine: <<$param03, <>>>,
                         keinonto_in: <<$param03, <>>>,
                         kerronto_sti: <<$param01, <>>>,
                         voittoaste: <<$param01, <>>>,
                         yliaste: <<$param01, <>>>,
                         johdin_Us: <<$param03, <>>>,
                         tavuviiva: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         yhdyssana: <<$param01, <>>, <$param02, <ei_voikko>>>]);
end;
subrule herttua ($tietue, $param01, $param02, $param03):
  return taivutuskaava ($tietue,
                        [nimentö: <<$param01, <>>>,
                         omistusliite: <<$param01, <>>>,
                         omanto_n: <<$param01, <>>>,
                         osanto_A: <<$param01, <>>>,
                         osanto_tA: <<$param01, <ei_voikko>>>,
                         olento_nA: <<$param01, <>>>,
                         tulento_ksi: <<$param01, <>>>,
                         sisäolento_ssA: <<$param01, <>>>,
                         sisäeronto_stA: <<$param01, <>>>,
                         sisätulento_Vn: <<$param01, <>>>,
                         sisätulento_hVn: <<$param01, <vanha_h>>>,
                         ulko_olento_llA: <<$param01, <>>>,
                         ulkoeronto_ltA: <<$param01, <>>>,
                         ulkotulento_lle: <<$param01, <>>>,
                         vajanto_ttA: <<$param01, <>>>,
                         nimentö_t: <<$param01, <>>>,
                         omanto_iT: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         omanto_in: <<$param01, <>>>,
                         osanto_itA: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         olento_inA: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         tulento_iksi: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         sisäolento_issA: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         sisäeronto_istA: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         sisätulento_ihin: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         ulko_olento_illA: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         ulkoeronto_iltA: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         ulkotulento_ille: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         vajanto_ittA: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         seuranto_ine: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         keinonto_in: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         johdin_inen: <<$param01, <>>>,
                         johdin_ittain: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         johdin_lAinen: <<$param01, <>>>,
                         johdin_llinen: <<$param01, <>>>,
                         johdin_mAinen: <<$param01, <>>>,
                         johdin_tOn: <<$param01, <>>>,
                         tavuviiva: <<$param01, <>>>,
                         yhdyssana: <<$param01, <>>>]);
end;
subrule harteet ($tietue, $param01, $param02, $param03, $param04):
  return taivutuskaava ($tietue,
                        [nimentö_t: <<$param01, <>>>,
                         omanto_iT: <<$param02, <>>>,
                         omanto_ten: <<$param03, <vanha_h>>>,
                         osanto_itA: <<$param02, <>>>,
                         osanto_tA: <<$param04, <>>>,
                         olento_inA: <<$param02, <>>, <$param04, <vanha_h>>>,
                         tulento_iksi: <<$param02, <>>, <$param04, <vanha_h>>>,
                         sisäolento_issA: <<$param02, <>>, <$param04, <vanha_h>>>,
                         sisäeronto_istA: <<$param02, <>>, <$param04, <vanha_h>>>,
                         sisätulento_ihin: <<$param02, <>>>,
                         sisätulento_isiin: <<$param02, <>>>,
                         sisätulento_isin: <<$param04, <vanha_h>>>,
                         ulko_olento_illA: <<$param02, <>>, <$param04, <vanha_h>>>,
                         ulkoeronto_iltA: <<$param02, <>>, <$param04, <vanha_h>>>,
                         ulkotulento_ille: <<$param02, <>>, <$param04, <vanha_h>>>,
                         vajanto_ittA: <<$param02, <>>, <$param04, <vanha_h>>>,
                         seuranto_ine: <<$param02, <>>, <$param04, <vanha_h>>>,
                         keinonto_in: <<$param02, <>>, <$param04, <vanha_h>>>,
                         johdin_inen: <<$param02, <>>>,
                         johdin_ittain: <<$param02, <>>, <$param04, <vanha_h>>>,
                         johdin_tOn: <<$param01, <>>>]);
end;
subrule korkea ($tietue, $param01, $param02, $param03, $param04, $param05, $param06, $param07, $param08, $param09):
  return taivutuskaava ($tietue,
                        [nimentö: <<$param01, <>>, <$param02, <ei_voikko>>, <$param03, <ei_voikko>>>,
                         omistusliite: <<$param01, <>>, <$param02, <ei_voikko>>, <$param03, <ei_voikko>>, <$param04, <vanha_h>>>,
                         omanto_n: <<$param01, <>>, <$param02, <ei_voikko>>, <$param03, <ei_voikko>>, <$param04, <vanha_h>>>,
                         osanto_A: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         osanto_tA: <<$param01, <ei_voikko>>, <$param02, <ei_voikko>>, <$param03, <ei_voikko>>>,
                         olento_nA: <<$param01, <>>, <$param02, <ei_voikko>>, <$param03, <ei_voikko>>, <$param04, <vanha_h>>>,
                         tulento_ksi: <<$param01, <>>, <$param02, <ei_voikko>>, <$param03, <ei_voikko>>, <$param04, <vanha_h>>>,
                         sisäolento_ssA: <<$param01, <>>, <$param02, <ei_voikko>>, <$param03, <ei_voikko>>, <$param04, <vanha_h>>>,
                         sisäeronto_stA: <<$param01, <>>, <$param02, <ei_voikko>>, <$param03, <ei_voikko>>, <$param04, <vanha_h>>>,
                         sisätulento_Vn: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         sisätulento_hVn: <<$param01, <vanha_h>>, <$param02, <vanha_h>>>,
                         sisätulento_seen: <<$param03, <ei_voikko>>>,
                         sisätulento_sen: <<$param04, <vanha_h>>>,
                         ulko_olento_llA: <<$param01, <>>, <$param02, <ei_voikko>>, <$param03, <ei_voikko>>, <$param04, <vanha_h>>>,
                         ulkoeronto_ltA: <<$param01, <>>, <$param02, <ei_voikko>>, <$param03, <ei_voikko>>, <$param04, <vanha_h>>>,
                         ulkotulento_lle: <<$param01, <>>, <$param02, <ei_voikko>>, <$param03, <ei_voikko>>, <$param04, <vanha_h>>>,
                         vajanto_ttA: <<$param01, <>>, <$param02, <ei_voikko>>, <$param03, <ei_voikko>>, <$param04, <vanha_h>>>,
                         nimentö_t: <<$param01, <>>, <$param02, <ei_voikko>>, <$param03, <ei_voikko>>, <$param04, <vanha_h>>>,
                         omanto_iT: <<$param05, <>>, <$param06, <ei_voikko>>>,
                         omanto_ien: <<$param07, <vanha_h>>>,
                         omanto_ten: <<$param08, <vanha_h>>>,
                         omanto_in: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         osanto_itA: <<$param05, <>>, <$param09, <ei_voikko>>, <$param06, <ei_voikko>>>,
                         osanto_iA: <<$param07, <vanha_h>>>,
                         olento_inA: <<$param05, <>>, <$param07, <vanha_h>>, <$param09, <ei_voikko>>, <$param06, <ei_voikko>>>,
                         tulento_iksi: <<$param05, <>>, <$param07, <vanha_h>>, <$param09, <ei_voikko>>, <$param06, <ei_voikko>>>,
                         sisäolento_issA: <<$param05, <>>, <$param07, <vanha_h>>, <$param09, <ei_voikko>>, <$param06, <ei_voikko>>>,
                         sisäeronto_istA: <<$param05, <>>, <$param07, <vanha_h>>, <$param09, <ei_voikko>>, <$param06, <ei_voikko>>>,
                         sisätulento_ihin: <<$param05, <>>, <$param09, <ei_voikko>>, <$param06, <ei_voikko>>>,
                         sisätulento_isiin: <<$param05, <>>, <$param09, <ei_voikko>>, <$param06, <ei_voikko>>>,
                         sisätulento_isin: <<$param07, <vanha_h>>>,
                         ulko_olento_illA: <<$param05, <>>, <$param07, <vanha_h>>, <$param06, <ei_voikko>>>,
                         ulkoeronto_iltA: <<$param05, <>>, <$param07, <vanha_h>>, <$param09, <ei_voikko>>, <$param06, <ei_voikko>>>,
                         ulkotulento_ille: <<$param05, <>>, <$param07, <vanha_h>>, <$param09, <ei_voikko>>, <$param06, <ei_voikko>>>,
                         vajanto_ittA: <<$param05, <>>, <$param07, <vanha_h>>, <$param09, <ei_voikko>>, <$param06, <ei_voikko>>>,
                         seuranto_ine: <<$param05, <>>, <$param07, <vanha_h>>, <$param09, <ei_voikko>>, <$param06, <ei_voikko>>>,
                         keinonto_in: <<$param05, <>>, <$param07, <vanha_h>>, <$param09, <ei_voikko>>, <$param06, <ei_voikko>>>,
                         kerronto_sti: <<$param01, <>>, <$param02, <ei_voikko>>, <$param03, <ei_voikko>>, <$param04, <vanha_h>>>,
                         voittoaste: <<$param01, <>>, <$param02, <ei_voikko>>, <$param03, <ei_voikko>>, <$param04, <vanha_h>>>,
                         yliaste: <<$param05, <>>, <$param07, <vanha_h>>, <$param06, <ei_voikko>>>,
                         johdin_inen: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         johdin_ittain: <<$param05, <>>, <$param07, <vanha_h>>, <$param09, <ei_voikko>>, <$param06, <ei_voikko>>>,
                         johdin_lAinen: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         johdin_llinen: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         johdin_mAinen: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         johdin_tOn: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         johdin_Us: <<$param05, <>>>,
                         tavuviiva: <<$param01, <>>, <$param02, <ei_voikko>>, <$param03, <ei_voikko>>>,
                         yhdyssana: <<$param01, <>>, <$param02, <ei_voikko>>, <$param03, <ei_voikko>>>]);
end;
subrule suurempi ($tietue, $param01, $param02, $param03, $param04, $param05):
  return taivutuskaava ($tietue,
                        [nimentö: <<$param01, <>>>,
                         omistusliite: <<$param02, <>>>,
                         omanto_n: <<$param03, <>>>,
                         osanto_A: <<$param02, <>>>,
                         osanto_tA: <<$param02, <ei_voikko>>>,
                         olento_nA: <<$param02, <>>>,
                         tulento_ksi: <<$param03, <>>>,
                         sisäolento_ssA: <<$param03, <>>>,
                         sisäeronto_stA: <<$param03, <>>>,
                         sisätulento_Vn: <<$param02, <>>>,
                         sisätulento_hVn: <<$param02, <vanha_h>>>,
                         ulko_olento_llA: <<$param03, <>>>,
                         ulkoeronto_ltA: <<$param03, <>>>,
                         ulkotulento_lle: <<$param03, <>>>,
                         vajanto_ttA: <<$param03, <>>>,
                         nimentö_t: <<$param03, <>>>,
                         omanto_ien: <<$param04, <>>>,
                         omanto_in: <<$param02, <>>>,
                         osanto_iA: <<$param04, <>>>,
                         olento_inA: <<$param04, <>>>,
                         tulento_iksi: <<$param05, <>>>,
                         sisäolento_issA: <<$param05, <>>>,
                         sisäeronto_istA: <<$param05, <>>>,
                         sisätulento_iin: <<$param04, <>>>,
                         sisätulento_ihin: <<$param04, <vanha_h>>>,
                         ulko_olento_illA: <<$param05, <>>>,
                         ulkoeronto_iltA: <<$param05, <>>>,
                         ulkotulento_ille: <<$param05, <>>>,
                         vajanto_ittA: <<$param05, <>>>,
                         seuranto_ine: <<$param04, <>>>,
                         keinonto_in: <<$param05, <>>>,
                         kerronto_sti: <<$param03, <>>>,
                         johdin_UUs: <<$param05, <>>>,
                         tavuviiva: <<$param01, <>>>,
                         yhdyssana: <<$param01, <>>>]);
end;
subrule vapaa ($tietue, $param01, $param02, $param03, $param04, $param05):
  return taivutuskaava ($tietue,
                        [nimentö: <<$param01, <>>>,
                         omistusliite: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         omanto_n: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         osanto_tA: <<$param01, <>>>,
                         olento_nA: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         tulento_ksi: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         sisäolento_ssA: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         sisäeronto_stA: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         sisätulento_seen: <<$param01, <>>>,
                         sisätulento_sen: <<$param02, <ei_voikko>>>,
                         ulko_olento_llA: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         ulkoeronto_ltA: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         ulkotulento_lle: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         vajanto_ttA: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         nimentö_t: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         omanto_iT: <<$param03, <>>>,
                         omanto_ten: <<$param04, <ei_voikko>>>,
                         osanto_itA: <<$param03, <>>>,
                         osanto_iA: <<$param05, <ei_voikko>>>,
                         olento_inA: <<$param03, <>>, <$param05, <ei_voikko>>>,
                         tulento_iksi: <<$param03, <>>, <$param05, <ei_voikko>>>,
                         sisäolento_issA: <<$param03, <>>, <$param05, <ei_voikko>>>,
                         sisäeronto_istA: <<$param03, <>>, <$param05, <ei_voikko>>>,
                         sisätulento_ihin: <<$param03, <>>>,
                         sisätulento_isiin: <<$param03, <>>>,
                         sisätulento_isin: <<$param05, <ei_voikko>>>,
                         ulko_olento_illA: <<$param03, <>>, <$param05, <ei_voikko>>>,
                         ulkoeronto_iltA: <<$param03, <>>, <$param05, <ei_voikko>>>,
                         ulkotulento_ille: <<$param03, <>>, <$param05, <ei_voikko>>>,
                         vajanto_ittA: <<$param03, <>>, <$param05, <ei_voikko>>>,
                         seuranto_ine: <<$param03, <>>, <$param05, <ei_voikko>>>,
                         keinonto_in: <<$param03, <>>, <$param05, <ei_voikko>>>,
                         kerronto_sti: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         voittoaste: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         yliaste: <<$param03, <>>, <$param05, <ei_voikko>>>,
                         johdin_inen: <<$param03, <>>, <$param05, <ei_voikko>>>,
                         johdin_ittain: <<$param03, <>>, <$param05, <ei_voikko>>>,
                         johdin_lAinen: <<$param01, <>>>,
                         johdin_llinen: <<$param01, <>>>,
                         johdin_mAinen: <<$param01, <>>>,
                         johdin_tOn: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         johdin_Us: <<$param03, <>>>,
                         tavuviiva: <<$param01, <>>>,
                         yhdyssana: <<$param01, <>>>]);
end;
subrule tienoo ($tietue, $param01, $param02, $param03, $param04, $param05):
  return taivutuskaava ($tietue,
                        [nimentö: <<$param01, <>>>,
                         omistusliite: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         omanto_n: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         osanto_tA: <<$param01, <>>>,
                         olento_nA: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         tulento_ksi: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         sisäolento_ssA: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         sisäeronto_stA: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         sisätulento_seen: <<$param01, <>>>,
                         sisätulento_sen: <<$param02, <ei_voikko>>>,
                         ulko_olento_llA: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         ulkoeronto_ltA: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         ulkotulento_lle: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         vajanto_ttA: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         nimentö_t: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         omanto_iT: <<$param03, <>>>,
                         omanto_ien: <<$param04, <ei_voikko>>>,
                         omanto_ten: <<$param05, <ei_voikko>>>,
                         osanto_itA: <<$param03, <>>>,
                         osanto_iA: <<$param04, <ei_voikko>>>,
                         olento_inA: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         tulento_iksi: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         sisäolento_issA: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         sisäeronto_istA: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         sisätulento_ihin: <<$param03, <>>>,
                         sisätulento_isiin: <<$param03, <>>>,
                         sisätulento_isin: <<$param04, <ei_voikko>>>,
                         ulko_olento_illA: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         ulkoeronto_iltA: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         ulkotulento_ille: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         vajanto_ittA: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         seuranto_ine: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         keinonto_in: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         kerronto_sti: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         voittoaste: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         yliaste: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         johdin_inen: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         johdin_ittain: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         johdin_lAinen: <<$param01, <>>>,
                         johdin_llinen: <<$param01, <>>>,
                         johdin_mAinen: <<$param01, <>>>,
                         johdin_tOn: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         johdin_Us: <<$param03, <>>>,
                         tavuviiva: <<$param01, <>>>,
                         yhdyssana: <<$param01, <>>>]);
end;
subrule leikkuu ($tietue, $param01, $param02, $param03):
  return taivutuskaava ($tietue,
                        [nimentö: <<$param01, <>>>,
                         omistusliite: <<$param01, <>>>,
                         omanto_n: <<$param01, <>>>,
                         osanto_tA: <<$param01, <>>>,
                         olento_nA: <<$param01, <>>>,
                         tulento_ksi: <<$param01, <>>>,
                         sisäolento_ssA: <<$param01, <>>>,
                         sisäeronto_stA: <<$param01, <>>>,
                         sisätulento_seen: <<$param01, <>>>,
                         sisätulento_hVn: <<$param02, <vanha_h>>>,
                         ulko_olento_llA: <<$param01, <>>>,
                         ulkoeronto_ltA: <<$param01, <>>>,
                         ulkotulento_lle: <<$param01, <>>>,
                         vajanto_ttA: <<$param01, <>>>,
                         nimentö_t: <<$param01, <>>>,
                         omanto_iT: <<$param03, <>>>,
                         osanto_itA: <<$param03, <>>>,
                         olento_inA: <<$param03, <>>>,
                         tulento_iksi: <<$param03, <>>>,
                         sisäolento_issA: <<$param03, <>>>,
                         sisäeronto_istA: <<$param03, <>>>,
                         sisätulento_ihin: <<$param03, <>>>,
                         sisätulento_isiin: <<$param03, <>>>,
                         ulko_olento_illA: <<$param03, <>>>,
                         ulkoeronto_iltA: <<$param03, <>>>,
                         ulkotulento_ille: <<$param03, <>>>,
                         vajanto_ittA: <<$param03, <>>>,
                         seuranto_ine: <<$param03, <>>>,
                         keinonto_in: <<$param03, <>>>,
                         kerronto_sti: <<$param01, <>>>,
                         voittoaste: <<$param01, <>>>,
                         yliaste: <<$param03, <>>>,
                         johdin_inen: <<$param03, <>>>,
                         johdin_ittain: <<$param03, <>>>,
                         johdin_lAinen: <<$param01, <>>>,
                         johdin_llinen: <<$param01, <>>>,
                         johdin_mAinen: <<$param01, <>>>,
                         johdin_tOn: <<$param01, <>>>,
                         tavuviiva: <<$param01, <>>>,
                         yhdyssana: <<$param01, <>>>]);
end;
subrule kamee ($tietue, $param01, $param02):
  return taivutuskaava ($tietue,
                        [nimentö: <<$param01, <>>>,
                         omistusliite: <<$param01, <>>>,
                         omanto_n: <<$param01, <>>>,
                         osanto_tA: <<$param01, <>>>,
                         olento_nA: <<$param01, <>>>,
                         tulento_ksi: <<$param01, <>>>,
                         sisäolento_ssA: <<$param01, <>>>,
                         sisäeronto_stA: <<$param01, <>>>,
                         sisätulento_hVn: <<$param01, <>>>,
                         sisätulento_seen: <<$param01, <>>>,
                         ulko_olento_llA: <<$param01, <>>>,
                         ulkoeronto_ltA: <<$param01, <>>>,
                         ulkotulento_lle: <<$param01, <>>>,
                         vajanto_ttA: <<$param01, <>>>,
                         nimentö_t: <<$param01, <>>>,
                         omanto_iT: <<$param02, <>>>,
                         osanto_itA: <<$param02, <>>>,
                         olento_inA: <<$param02, <>>>,
                         tulento_iksi: <<$param02, <>>>,
                         sisäolento_issA: <<$param02, <>>>,
                         sisäeronto_istA: <<$param02, <>>>,
                         sisätulento_ihin: <<$param02, <>>>,
                         sisätulento_isiin: <<$param02, <>>>,
                         ulko_olento_illA: <<$param02, <>>>,
                         ulkoeronto_iltA: <<$param02, <>>>,
                         ulkotulento_ille: <<$param02, <>>>,
                         vajanto_ittA: <<$param02, <>>>,
                         seuranto_ine: <<$param02, <>>>,
                         keinonto_in: <<$param02, <>>>,
                         johdin_inen: <<$param02, <>>>,
                         johdin_ittain: <<$param02, <>>>,
                         johdin_lAinen: <<$param01, <>>>,
                         johdin_llinen: <<$param01, <>>>,
                         johdin_mAinen: <<$param01, <>>>,
                         johdin_tOn: <<$param01, <>>>,
                         tavuviiva: <<$param01, <>>>,
                         yhdyssana: <<$param01, <>>>]);
end;
subrule pii ($tietue, $param01, $param02):
  return taivutuskaava ($tietue,
                        [nimentö: <<$param01, <>>>,
                         omistusliite: <<$param01, <>>>,
                         omanto_n: <<$param01, <>>>,
                         osanto_tA: <<$param01, <>>>,
                         olento_nA: <<$param01, <>>>,
                         tulento_ksi: <<$param01, <>>>,
                         sisäolento_ssA: <<$param01, <>>>,
                         sisäeronto_stA: <<$param01, <>>>,
                         sisätulento_hVn: <<$param01, <>>>,
                         ulko_olento_llA: <<$param01, <>>>,
                         ulkoeronto_ltA: <<$param01, <>>>,
                         ulkotulento_lle: <<$param01, <>>>,
                         vajanto_ttA: <<$param01, <>>>,
                         nimentö_t: <<$param01, <>>>,
                         omanto_iT: <<$param02, <>>>,
                         osanto_itA: <<$param02, <>>>,
                         olento_inA: <<$param02, <>>>,
                         tulento_iksi: <<$param02, <>>>,
                         sisäolento_issA: <<$param02, <>>>,
                         sisäeronto_istA: <<$param02, <>>>,
                         sisätulento_ihin: <<$param02, <>>>,
                         ulko_olento_illA: <<$param02, <>>>,
                         ulkoeronto_iltA: <<$param02, <>>>,
                         ulkotulento_ille: <<$param02, <>>>,
                         vajanto_ittA: <<$param02, <>>>,
                         seuranto_ine: <<$param02, <>>>,
                         keinonto_in: <<$param02, <>>>,
                         johdin_inen: <<$param02, <>>>,
                         johdin_ittain: <<$param02, <>>>,
                         johdin_lAinen: <<$param01, <>>>,
                         johdin_llinen: <<$param01, <>>>,
                         johdin_mAinen: <<$param01, <>>>,
                         johdin_tOn: <<$param01, <>>>,
                         tavuviiva: <<$param01, <>>>,
                         yhdyssana: <<$param01, <>>>]);
end;
subrule maa ($tietue, $param01, $param02):
  return taivutuskaava ($tietue,
                        [nimentö: <<$param01, <>>>,
                         omistusliite: <<$param01, <>>>,
                         omanto_n: <<$param01, <>>>,
                         osanto_tA: <<$param01, <>>>,
                         olento_nA: <<$param01, <>>>,
                         tulento_ksi: <<$param01, <>>>,
                         sisäolento_ssA: <<$param01, <>>>,
                         sisäeronto_stA: <<$param01, <>>>,
                         sisätulento_hVn: <<$param01, <>>>,
                         ulko_olento_llA: <<$param01, <>>>,
                         ulkoeronto_ltA: <<$param01, <>>>,
                         ulkotulento_lle: <<$param01, <>>>,
                         vajanto_ttA: <<$param01, <>>>,
                         nimentö_t: <<$param01, <>>>,
                         omanto_iT: <<$param02, <>>>,
                         osanto_itA: <<$param02, <>>>,
                         olento_inA: <<$param02, <>>>,
                         tulento_iksi: <<$param02, <>>>,
                         sisäolento_issA: <<$param02, <>>>,
                         sisäeronto_istA: <<$param02, <>>>,
                         sisätulento_ihin: <<$param02, <>>>,
                         ulko_olento_illA: <<$param02, <>>>,
                         ulkoeronto_iltA: <<$param02, <>>>,
                         ulkotulento_ille: <<$param02, <>>>,
                         vajanto_ittA: <<$param02, <>>>,
                         seuranto_ine: <<$param02, <>>>,
                         keinonto_in: <<$param02, <>>>,
                         johdin_inen: <<$param02, <>>>,
                         johdin_ittain: <<$param02, <>>>,
                         johdin_lAinen: <<$param01, <>>>,
                         johdin_llinen: <<$param01, <>>>,
                         johdin_mAinen: <<$param01, <>>>,
                         johdin_tOn: <<$param01, <>>>,
                         tavuviiva: <<$param01, <>>>,
                         yhdyssana: <<$param01, <>>>]);
end;
subrule puu ($tietue, $param01, $param02):
  return taivutuskaava ($tietue,
                        [nimentö: <<$param01, <>>>,
                         omistusliite: <<$param01, <>>>,
                         omanto_n: <<$param01, <>>>,
                         osanto_tA: <<$param01, <>>>,
                         olento_nA: <<$param01, <>>>,
                         tulento_ksi: <<$param01, <>>>,
                         sisäolento_ssA: <<$param01, <>>>,
                         sisäeronto_stA: <<$param01, <>>>,
                         sisätulento_hVn: <<$param01, <>>>,
                         ulko_olento_llA: <<$param01, <>>>,
                         ulkoeronto_ltA: <<$param01, <>>>,
                         ulkotulento_lle: <<$param01, <>>>,
                         vajanto_ttA: <<$param01, <>>>,
                         nimentö_t: <<$param01, <>>>,
                         omanto_iT: <<$param02, <>>>,
                         osanto_itA: <<$param02, <>>>,
                         olento_inA: <<$param02, <>>>,
                         tulento_iksi: <<$param02, <>>>,
                         sisäolento_issA: <<$param02, <>>>,
                         sisäeronto_istA: <<$param02, <>>>,
                         sisätulento_ihin: <<$param02, <>>>,
                         ulko_olento_illA: <<$param02, <>>>,
                         ulkoeronto_iltA: <<$param02, <>>>,
                         ulkotulento_ille: <<$param02, <>>>,
                         vajanto_ittA: <<$param02, <>>>,
                         seuranto_ine: <<$param02, <>>>,
                         keinonto_in: <<$param02, <>>>,
                         johdin_inen: <<$param02, <>>>,
                         johdin_ittain: <<$param02, <>>>,
                         johdin_lAinen: <<$param01, <>>>,
                         johdin_llinen: <<$param01, <>>>,
                         johdin_mAinen: <<$param01, <>>>,
                         johdin_tOn: <<$param01, <>>>,
                         tavuviiva: <<$param01, <>>>,
                         yhdyssana: <<$param01, <>>>]);
end;
subrule tiu ($tietue, $param01):
  return taivutuskaava ($tietue,
                        [nimentö: <<$param01, <>>>,
                         omistusliite: <<$param01, <>>>,
                         omanto_n: <<$param01, <>>>,
                         osanto_tA: <<$param01, <>>>,
                         olento_nA: <<$param01, <>>>,
                         tulento_ksi: <<$param01, <>>>,
                         sisäolento_ssA: <<$param01, <>>>,
                         sisäeronto_stA: <<$param01, <>>>,
                         sisätulento_hVn: <<$param01, <>>>,
                         ulko_olento_llA: <<$param01, <>>>,
                         ulkoeronto_ltA: <<$param01, <>>>,
                         ulkotulento_lle: <<$param01, <>>>,
                         vajanto_ttA: <<$param01, <>>>,
                         nimentö_t: <<$param01, <>>>,
                         tavuviiva: <<$param01, <>>>,
                         yhdyssana: <<$param01, <>>>]);
end;
subrule suo ($tietue, $param01, $param02):
  return taivutuskaava ($tietue,
                        [nimentö: <<$param01, <>>>,
                         omistusliite: <<$param01, <>>>,
                         omanto_n: <<$param01, <>>>,
                         osanto_tA: <<$param01, <>>>,
                         olento_nA: <<$param01, <>>>,
                         tulento_ksi: <<$param01, <>>>,
                         sisäolento_ssA: <<$param01, <>>>,
                         sisäeronto_stA: <<$param01, <>>>,
                         sisätulento_hVn: <<$param01, <>>>,
                         ulko_olento_llA: <<$param01, <>>>,
                         ulkoeronto_ltA: <<$param01, <>>>,
                         ulkotulento_lle: <<$param01, <>>>,
                         vajanto_ttA: <<$param01, <>>>,
                         nimentö_t: <<$param01, <>>>,
                         omanto_iT: <<$param02, <>>>,
                         osanto_itA: <<$param02, <>>>,
                         olento_inA: <<$param02, <>>>,
                         tulento_iksi: <<$param02, <>>>,
                         sisäolento_issA: <<$param02, <>>>,
                         sisäeronto_istA: <<$param02, <>>>,
                         sisätulento_ihin: <<$param02, <>>>,
                         ulko_olento_illA: <<$param02, <>>>,
                         ulkoeronto_iltA: <<$param02, <>>>,
                         ulkotulento_ille: <<$param02, <>>>,
                         vajanto_ittA: <<$param02, <>>>,
                         seuranto_ine: <<$param02, <>>>,
                         keinonto_in: <<$param02, <>>>,
                         johdin_inen: <<$param02, <>>>,
                         johdin_ittain: <<$param02, <>>>,
                         johdin_lAinen: <<$param01, <>>>,
                         johdin_llinen: <<$param01, <>>>,
                         johdin_mAinen: <<$param01, <>>>,
                         johdin_tOn: <<$param01, <>>>,
                         tavuviiva: <<$param01, <>>>,
                         yhdyssana: <<$param01, <>>>]);
end;
subrule yö ($tietue, $param01):
  return taivutuskaava ($tietue,
                        [nimentö: <<$param01, <>>>,
                         omistusliite: <<$param01, <>>>,
                         omanto_n: <<$param01, <>>>,
                         osanto_tA: <<$param01, <>>>,
                         olento_nA: <<$param01, <>>>,
                         tulento_ksi: <<$param01, <>>>,
                         sisäolento_ssA: <<$param01, <>>>,
                         sisäeronto_stA: <<$param01, <>>>,
                         sisätulento_hVn: <<$param01, <>>>,
                         ulko_olento_llA: <<$param01, <>>>,
                         ulkoeronto_ltA: <<$param01, <>>>,
                         ulkotulento_lle: <<$param01, <>>>,
                         vajanto_ttA: <<$param01, <>>>,
                         nimentö_t: <<$param01, <>>>,
                         johdin_lAinen: <<$param01, <>>>,
                         johdin_llinen: <<$param01, <>>>,
                         johdin_mAinen: <<$param01, <>>>,
                         johdin_tOn: <<$param01, <>>>,
                         tavuviiva: <<$param01, <>>>,
                         yhdyssana: <<$param01, <>>>]);
end;
subrule bébé ($tietue, $param01):
  return taivutuskaava ($tietue,
                        [nimentö: <<$param01, <>>>,
                         omistusliite: <<$param01, <>>>,
                         omanto_n: <<$param01, <>>>,
                         osanto_tA: <<$param01, <>>>,
                         olento_nA: <<$param01, <>>>,
                         tulento_ksi: <<$param01, <>>>,
                         sisäolento_ssA: <<$param01, <>>>,
                         sisäeronto_stA: <<$param01, <>>>,
                         sisätulento_hVn: <<$param01, <>>>,
                         ulko_olento_llA: <<$param01, <>>>,
                         ulkoeronto_ltA: <<$param01, <>>>,
                         ulkotulento_lle: <<$param01, <>>>,
                         vajanto_ttA: <<$param01, <>>>,
                         nimentö_t: <<$param01, <>>>,
                         omanto_iT: <<$param01, <>>>,
                         osanto_itA: <<$param01, <>>>,
                         olento_inA: <<$param01, <>>>,
                         tulento_iksi: <<$param01, <>>>,
                         sisäolento_issA: <<$param01, <>>>,
                         sisäeronto_istA: <<$param01, <>>>,
                         sisätulento_ihin: <<$param01, <>>>,
                         ulko_olento_illA: <<$param01, <>>>,
                         ulkoeronto_iltA: <<$param01, <>>>,
                         ulkotulento_ille: <<$param01, <>>>,
                         vajanto_ittA: <<$param01, <>>>,
                         seuranto_ine: <<$param01, <>>>,
                         keinonto_in: <<$param01, <>>>,
                         johdin_inen: <<$param01, <>>>,
                         johdin_ittain: <<$param01, <>>>,
                         johdin_lAinen: <<$param01, <>>>,
                         johdin_llinen: <<$param01, <>>>,
                         johdin_mAinen: <<$param01, <>>>,
                         johdin_tOn: <<$param01, <>>>,
                         tavuviiva: <<$param01, <>>>,
                         yhdyssana: <<$param01, <>>>]);
end;
subrule parfait ($tietue, $param01, $param02):
  return taivutuskaava ($tietue,
                        [nimentö: <<$param01, <>>>,
                         omistusliite: <<$param02, <>>>,
                         omanto_n: <<$param02, <>>>,
                         osanto_tA: <<$param02, <>>>,
                         olento_nA: <<$param02, <>>>,
                         tulento_ksi: <<$param02, <>>>,
                         sisäolento_ssA: <<$param02, <>>>,
                         sisäeronto_stA: <<$param02, <>>>,
                         sisätulento_hVn: <<$param02, <>>>,
                         ulko_olento_llA: <<$param02, <>>>,
                         ulkoeronto_ltA: <<$param02, <>>>,
                         ulkotulento_lle: <<$param02, <>>>,
                         vajanto_ttA: <<$param02, <>>>,
                         nimentö_t: <<$param02, <>>>,
                         omanto_iT: <<$param02, <>>, <$param02, <>>>,
                         osanto_itA: <<$param02, <>>>,
                         olento_inA: <<$param02, <>>>,
                         tulento_iksi: <<$param02, <>>>,
                         sisäolento_issA: <<$param02, <>>>,
                         sisäeronto_istA: <<$param02, <>>>,
                         sisätulento_ihin: <<$param02, <>>>,
                         ulko_olento_illA: <<$param02, <>>>,
                         ulkoeronto_iltA: <<$param02, <>>>,
                         ulkotulento_ille: <<$param02, <>>>,
                         vajanto_ittA: <<$param02, <>>>,
                         seuranto_ine: <<$param02, <>>>,
                         keinonto_in: <<$param02, <>>>,
                         johdin_inen: <<$param02, <>>>,
                         johdin_ittain: <<$param02, <>>>,
                         johdin_lAinen: <<$param02, <>>>,
                         johdin_llinen: <<$param02, <>>>,
                         johdin_mAinen: <<$param02, <>>>,
                         johdin_tOn: <<$param02, <>>>,
                         tavuviiva: <<$param01, <>>>,
                         yhdyssana: <<$param01, <>>>]);
end;
subrule meri ($tietue, $param01, $param02, $param03):
  return taivutuskaava ($tietue,
                        [nimentö: <<$param01, <>>>,
                         omistusliite: <<$param02, <>>>,
                         omanto_n: <<$param02, <>>>,
                         olento_nA: <<$param02, <>>>,
                         tulento_ksi: <<$param02, <>>>,
                         sisäolento_ssA: <<$param02, <>>>,
                         sisäeronto_stA: <<$param02, <>>>,
                         sisätulento_Vn: <<$param02, <>>>,
                         sisätulento_hVn: <<$param02, <vanha_h>>>,
                         ulko_olento_llA: <<$param02, <>>>,
                         ulkoeronto_ltA: <<$param02, <>>>,
                         ulkotulento_lle: <<$param02, <>>>,
                         vajanto_ttA: <<$param02, <>>>,
                         nimentö_t: <<$param02, <>>>,
                         omanto_ien: <<$param03, <>>>,
                         omanto_ten: <<$param03, <>>>,
                         osanto_iA: <<$param03, <>>>,
                         olento_inA: <<$param03, <>>>,
                         tulento_iksi: <<$param03, <>>>,
                         sisäolento_issA: <<$param03, <>>>,
                         sisäeronto_istA: <<$param03, <>>>,
                         sisätulento_iin: <<$param03, <>>>,
                         sisätulento_ihin: <<$param03, <vanha_h>>>,
                         ulko_olento_illA: <<$param03, <>>>,
                         ulkoeronto_iltA: <<$param03, <>>>,
                         ulkotulento_ille: <<$param03, <>>>,
                         vajanto_ittA: <<$param03, <>>>,
                         seuranto_ine: <<$param03, <>>>,
                         keinonto_in: <<$param03, <>>>,
                         johdin_inen: <<$param03, <>>>,
                         johdin_ittain: <<$param03, <>>>,
                         johdin_llinen: <<$param02, <>>>,
                         johdin_mAinen: <<$param01, <>>>,
                         johdin_tOn: <<$param02, <>>>,
                         tavuviiva: <<$param01, <>>>,
                         yhdyssana: <<$param01, <>>>]);
end;
subrule neiti ($tietue, $param01, $param02, $param03, $param04, $param05, $param06, $param07):
  return taivutuskaava ($tietue,
                        [nimentö: <<$param01, <>>>,
                         omistusliite: <<$param02, <>>>,
                         omanto_n: <<$param03, <>>>,
                         osanto_ttA: <<$param04, <>>>,
                         olento_nA: <<$param02, <>>, <$param05, <>>>,
                         tulento_ksi: <<$param03, <>>>,
                         sisäolento_ssA: <<$param03, <>>>,
                         sisäeronto_stA: <<$param03, <>>>,
                         sisätulento_Vn: <<$param02, <>>>,
                         sisätulento_hVn: <<$param02, <vanha_h>>>,
                         ulko_olento_llA: <<$param03, <>>>,
                         ulkoeronto_ltA: <<$param03, <>>>,
                         ulkotulento_lle: <<$param03, <>>>,
                         vajanto_ttA: <<$param03, <>>>,
                         nimentö_t: <<$param03, <>>>,
                         omanto_ien: <<$param06, <>>>,
                         omanto_ten: <<$param06, <>>>,
                         osanto_iA: <<$param06, <>>>,
                         olento_inA: <<$param06, <>>>,
                         tulento_iksi: <<$param07, <>>>,
                         sisäolento_issA: <<$param07, <>>>,
                         sisäeronto_istA: <<$param07, <>>>,
                         sisätulento_iin: <<$param06, <>>>,
                         sisätulento_ihin: <<$param06, <vanha_h>>>,
                         ulko_olento_illA: <<$param07, <>>>,
                         ulkoeronto_iltA: <<$param07, <>>>,
                         ulkotulento_ille: <<$param07, <>>>,
                         vajanto_ittA: <<$param07, <>>>,
                         seuranto_ine: <<$param06, <>>>,
                         keinonto_in: <<$param07, <>>>,
                         johdin_ittain: <<$param07, <>>>,
                         johdin_tOn: <<$param03, <>>>,
                         tavuviiva: <<$param01, <>>>,
                         yhdyssana: <<$param01, <>>>]);
end;
subrule tuohi ($tietue, $param01, $param02, $param03):
  return taivutuskaava ($tietue,
                        [nimentö: <<$param01, <>>>,
                         omistusliite: <<$param02, <>>>,
                         omanto_n: <<$param02, <>>>,
                         osanto_tA: <<$param03, <>>>,
                         olento_nA: <<$param02, <>>>,
                         tulento_ksi: <<$param02, <>>>,
                         sisäolento_ssA: <<$param02, <>>>,
                         sisäeronto_stA: <<$param02, <>>>,
                         sisätulento_Vn: <<$param02, <>>>,
                         sisätulento_hVn: <<$param02, <vanha_h>>>,
                         ulko_olento_llA: <<$param02, <>>>,
                         ulkoeronto_ltA: <<$param02, <>>>,
                         ulkotulento_lle: <<$param02, <>>>,
                         vajanto_ttA: <<$param02, <>>>,
                         nimentö_t: <<$param02, <>>>,
                         omanto_ien: <<$param03, <>>>,
                         omanto_ten: <<$param03, <>>>,
                         osanto_iA: <<$param03, <>>>,
                         olento_inA: <<$param03, <>>>,
                         tulento_iksi: <<$param03, <>>>,
                         sisäolento_issA: <<$param03, <>>>,
                         sisäeronto_istA: <<$param03, <>>>,
                         sisätulento_iin: <<$param03, <>>>,
                         sisätulento_ihin: <<$param03, <vanha_h>>>,
                         ulko_olento_illA: <<$param03, <>>>,
                         ulkoeronto_iltA: <<$param03, <>>>,
                         ulkotulento_ille: <<$param03, <>>>,
                         vajanto_ittA: <<$param03, <>>>,
                         seuranto_ine: <<$param03, <>>>,
                         keinonto_in: <<$param03, <>>>,
                         johdin_inen: <<$param03, <>>>,
                         johdin_ittain: <<$param03, <>>>,
                         johdin_lAinen: <<$param01, <>>>,
                         johdin_llinen: <<$param02, <>>>,
                         johdin_mAinen: <<$param01, <>>>,
                         johdin_tOn: <<$param02, <>>>,
                         tavuviiva: <<$param01, <>>>,
                         yhdyssana: <<$param01, <>>>]);
end;
subrule lohi ($tietue, $param01, $param02, $param03):
  return taivutuskaava ($tietue,
                        [nimentö: <<$param01, <>>>,
                         omistusliite: <<$param02, <>>>,
                         omanto_n: <<$param02, <>>>,
                         osanto_tA: <<$param03, <>>>,
                         olento_nA: <<$param02, <>>>,
                         tulento_ksi: <<$param02, <>>>,
                         sisäolento_ssA: <<$param02, <>>>,
                         sisäeronto_stA: <<$param02, <>>>,
                         sisätulento_Vn: <<$param02, <>>>,
                         sisätulento_hVn: <<$param02, <vanha_h>>>,
                         ulko_olento_llA: <<$param02, <>>>,
                         ulkoeronto_ltA: <<$param02, <>>>,
                         ulkotulento_lle: <<$param02, <>>>,
                         vajanto_ttA: <<$param02, <>>>,
                         nimentö_t: <<$param02, <>>>,
                         omanto_ien: <<$param03, <>>>,
                         omanto_ten: <<$param03, <ei_voikko>>>,
                         osanto_iA: <<$param03, <>>>,
                         olento_inA: <<$param03, <>>>,
                         tulento_iksi: <<$param03, <>>>,
                         sisäolento_issA: <<$param03, <>>>,
                         sisäeronto_istA: <<$param03, <>>>,
                         sisätulento_iin: <<$param03, <>>>,
                         sisätulento_ihin: <<$param03, <vanha_h>>>,
                         ulko_olento_illA: <<$param03, <>>>,
                         ulkoeronto_iltA: <<$param03, <>>>,
                         ulkotulento_ille: <<$param03, <>>>,
                         vajanto_ittA: <<$param03, <>>>,
                         seuranto_ine: <<$param03, <>>>,
                         keinonto_in: <<$param03, <>>>,
                         johdin_inen: <<$param03, <>>>,
                         johdin_ittain: <<$param03, <>>>,
                         johdin_lAinen: <<$param01, <>>>,
                         johdin_llinen: <<$param02, <>>>,
                         johdin_mAinen: <<$param01, <>>>,
                         johdin_tOn: <<$param02, <>>>,
                         tavuviiva: <<$param01, <>>>,
                         yhdyssana: <<$param01, <>>>]);
end;
subrule lahti ($tietue, $param01, $param02, $param03, $param04, $param05, $param06):
  return taivutuskaava ($tietue,
                        [nimentö: <<$param01, <>>>,
                         omistusliite: <<$param02, <>>>,
                         omanto_n: <<$param03, <>>>,
                         osanto_A: <<$param02, <>>>,
                         osanto_tA: <<$param04, <ei_voikko>>>,
                         olento_nA: <<$param02, <>>>,
                         tulento_ksi: <<$param03, <>>>,
                         sisäolento_ssA: <<$param03, <>>>,
                         sisäeronto_stA: <<$param03, <>>>,
                         sisätulento_Vn: <<$param02, <>>>,
                         sisätulento_hVn: <<$param02, <vanha_h>>>,
                         ulko_olento_llA: <<$param03, <>>>,
                         ulkoeronto_ltA: <<$param03, <>>>,
                         ulkotulento_lle: <<$param03, <>>>,
                         vajanto_ttA: <<$param03, <>>>,
                         nimentö_t: <<$param03, <>>>,
                         omanto_ien: <<$param05, <>>>,
                         omanto_in: <<$param02, <ei_voikko>>>,
                         osanto_iA: <<$param05, <>>>,
                         olento_inA: <<$param05, <>>>,
                         tulento_iksi: <<$param06, <>>>,
                         sisäolento_issA: <<$param06, <>>>,
                         sisäeronto_istA: <<$param06, <>>>,
                         sisätulento_iin: <<$param05, <>>>,
                         sisätulento_ihin: <<$param05, <vanha_h>>>,
                         ulko_olento_illA: <<$param06, <>>>,
                         ulkoeronto_iltA: <<$param06, <>>>,
                         ulkotulento_ille: <<$param06, <>>>,
                         vajanto_ittA: <<$param06, <>>>,
                         seuranto_ine: <<$param05, <>>>,
                         keinonto_in: <<$param06, <>>>,
                         johdin_inen: <<$param05, <>>>,
                         johdin_ittain: <<$param06, <>>>,
                         johdin_lAinen: <<$param02, <>>>,
                         johdin_llinen: <<$param03, <>>>,
                         johdin_mAinen: <<$param01, <>>>,
                         johdin_tOn: <<$param03, <>>>,
                         tavuviiva: <<$param01, <>>>,
                         yhdyssana: <<$param01, <>>>]);
end;
subrule lumi ($tietue, $param01, $param02, $param03, $param04):
  return taivutuskaava ($tietue,
                        [nimentö: <<$param01, <>>>,
                         omistusliite: <<$param02, <>>>,
                         omanto_n: <<$param02, <>>>,
                         osanto_tA: <<$param03, <>>>,
                         olento_nA: <<$param02, <>>>,
                         tulento_ksi: <<$param02, <>>>,
                         sisäolento_ssA: <<$param02, <>>>,
                         sisäeronto_stA: <<$param02, <>>>,
                         sisätulento_Vn: <<$param02, <>>>,
                         sisätulento_hVn: <<$param02, <vanha_h>>>,
                         ulko_olento_llA: <<$param02, <>>>,
                         ulkoeronto_ltA: <<$param02, <>>>,
                         ulkotulento_lle: <<$param02, <>>>,
                         vajanto_ttA: <<$param02, <>>>,
                         nimentö_t: <<$param02, <>>>,
                         omanto_ien: <<$param04, <>>>,
                         omanto_ten: <<$param03, <>>>,
                         osanto_iA: <<$param04, <>>>,
                         olento_inA: <<$param04, <>>>,
                         tulento_iksi: <<$param04, <>>>,
                         sisäolento_issA: <<$param04, <>>>,
                         sisäeronto_istA: <<$param04, <>>>,
                         sisätulento_iin: <<$param04, <>>>,
                         sisätulento_ihin: <<$param04, <vanha_h>>>,
                         ulko_olento_illA: <<$param04, <>>>,
                         ulkoeronto_iltA: <<$param04, <>>>,
                         ulkotulento_ille: <<$param04, <>>>,
                         vajanto_ittA: <<$param04, <>>>,
                         seuranto_ine: <<$param04, <>>>,
                         keinonto_in: <<$param04, <>>>,
                         johdin_inen: <<$param04, <>>>,
                         johdin_ittain: <<$param04, <>>>,
                         johdin_lAinen: <<$param01, <>>>,
                         johdin_llinen: <<$param02, <>>>,
                         johdin_mAinen: <<$param01, <>>>,
                         johdin_tOn: <<$param02, <>>>,
                         tavuviiva: <<$param01, <>>>,
                         yhdyssana: <<$param01, <>>>]);
end;
subrule tuomi ($tietue, $param01, $param02, $param03, $param04):
  return taivutuskaava ($tietue,
                        [nimentö: <<$param01, <>>>,
                         omistusliite: <<$param02, <>>>,
                         omanto_n: <<$param02, <>>>,
                         osanto_A: <<$param02, <>>>,
                         osanto_tA: <<$param03, <>>>,
                         olento_nA: <<$param02, <>>>,
                         tulento_ksi: <<$param02, <>>>,
                         sisäolento_ssA: <<$param02, <>>>,
                         sisäeronto_stA: <<$param02, <>>>,
                         sisätulento_Vn: <<$param02, <>>>,
                         sisätulento_hVn: <<$param02, <vanha_h>>>,
                         ulko_olento_llA: <<$param02, <>>>,
                         ulkoeronto_ltA: <<$param02, <>>>,
                         ulkotulento_lle: <<$param02, <>>>,
                         vajanto_ttA: <<$param02, <>>>,
                         nimentö_t: <<$param02, <>>>,
                         omanto_ien: <<$param04, <>>>,
                         omanto_ten: <<$param03, <>>>,
                         osanto_iA: <<$param04, <>>>,
                         olento_inA: <<$param04, <>>>,
                         tulento_iksi: <<$param04, <>>>,
                         sisäolento_issA: <<$param04, <>>>,
                         sisäeronto_istA: <<$param04, <>>>,
                         sisätulento_iin: <<$param04, <>>>,
                         sisätulento_ihin: <<$param04, <vanha_h>>>,
                         ulko_olento_illA: <<$param04, <>>>,
                         ulkoeronto_iltA: <<$param04, <>>>,
                         ulkotulento_ille: <<$param04, <>>>,
                         vajanto_ittA: <<$param04, <>>>,
                         seuranto_ine: <<$param04, <>>>,
                         keinonto_in: <<$param04, <>>>,
                         johdin_inen: <<$param04, <>>>,
                         johdin_ittain: <<$param04, <>>>,
                         johdin_lAinen: <<$param01, <>>>,
                         johdin_llinen: <<$param02, <>>>,
                         johdin_mAinen: <<$param01, <>>>,
                         johdin_tOn: <<$param02, <>>>,
                         tavuviiva: <<$param01, <>>>,
                         yhdyssana: <<$param01, <>>>]);
end;
subrule pieni ($tietue, $param01, $param02, $param03):
  return taivutuskaava ($tietue,
                        [nimentö: <<$param01, <>>>,
                         omistusliite: <<$param02, <>>>,
                         omanto_n: <<$param02, <>>>,
                         osanto_tA: <<$param03, <>>>,
                         olento_nA: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         tulento_ksi: <<$param02, <>>>,
                         sisäolento_ssA: <<$param02, <>>>,
                         sisäeronto_stA: <<$param02, <>>>,
                         sisätulento_Vn: <<$param02, <>>>,
                         sisätulento_hVn: <<$param02, <vanha_h>>>,
                         ulko_olento_llA: <<$param02, <>>>,
                         ulkoeronto_ltA: <<$param02, <>>>,
                         ulkotulento_lle: <<$param02, <>>>,
                         vajanto_ttA: <<$param02, <>>>,
                         nimentö_t: <<$param02, <>>>,
                         omanto_ien: <<$param03, <>>>,
                         omanto_ten: <<$param03, <>>>,
                         osanto_iA: <<$param03, <>>>,
                         olento_inA: <<$param03, <>>>,
                         tulento_iksi: <<$param03, <>>>,
                         sisäolento_issA: <<$param03, <>>>,
                         sisäeronto_istA: <<$param03, <>>>,
                         sisätulento_iin: <<$param03, <>>>,
                         sisätulento_ihin: <<$param03, <vanha_h>>>,
                         ulko_olento_illA: <<$param03, <>>>,
                         ulkoeronto_iltA: <<$param03, <>>>,
                         ulkotulento_ille: <<$param03, <>>>,
                         vajanto_ittA: <<$param03, <>>>,
                         seuranto_ine: <<$param03, <>>>,
                         keinonto_in: <<$param03, <>>>,
                         kerronto_sti: <<$param02, <>>>,
                         voittoaste: <<$param02, <>>>,
                         yliaste: <<$param03, <>>>,
                         johdin_inen: <<$param03, <>>>,
                         johdin_ittain: <<$param03, <>>>,
                         johdin_lAinen: <<$param01, <>>>,
                         johdin_llinen: <<$param02, <>>>,
                         johdin_mAinen: <<$param01, <>>>,
                         johdin_tOn: <<$param02, <>>>,
                         johdin_Us: <<$param02, <>>>,
                         tavuviiva: <<$param01, <>>>,
                         yhdyssana: <<$param01, <>>>]);
end;
subrule nuori ($tietue, $param01, $param02, $param03):
  return taivutuskaava ($tietue,
                        [nimentö: <<$param01, <>>>,
                         omistusliite: <<$param02, <>>>,
                         omanto_n: <<$param02, <>>>,
                         osanto_tA: <<$param03, <>>>,
                         olento_nA: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         olento_rA: <<$param03, <ei_voikko>>>,
                         tulento_ksi: <<$param02, <>>>,
                         sisäolento_ssA: <<$param02, <>>>,
                         sisäeronto_stA: <<$param02, <>>>,
                         sisätulento_Vn: <<$param02, <>>>,
                         sisätulento_hVn: <<$param02, <vanha_h>>>,
                         ulko_olento_llA: <<$param02, <>>>,
                         ulkoeronto_ltA: <<$param02, <>>>,
                         ulkotulento_lle: <<$param02, <>>>,
                         vajanto_ttA: <<$param02, <>>>,
                         nimentö_t: <<$param02, <>>>,
                         omanto_ien: <<$param03, <>>>,
                         omanto_ten: <<$param03, <>>>,
                         osanto_iA: <<$param03, <>>>,
                         olento_inA: <<$param03, <>>>,
                         tulento_iksi: <<$param03, <>>>,
                         sisäolento_issA: <<$param03, <>>>,
                         sisäeronto_istA: <<$param03, <>>>,
                         sisätulento_iin: <<$param03, <>>>,
                         sisätulento_ihin: <<$param03, <vanha_h>>>,
                         ulko_olento_illA: <<$param03, <>>>,
                         ulkoeronto_iltA: <<$param03, <>>>,
                         ulkotulento_ille: <<$param03, <>>>,
                         vajanto_ittA: <<$param03, <>>>,
                         seuranto_ine: <<$param03, <>>>,
                         keinonto_in: <<$param03, <>>>,
                         kerronto_sti: <<$param02, <>>>,
                         voittoaste: <<$param02, <>>>,
                         yliaste: <<$param03, <>>>,
                         johdin_inen: <<$param03, <>>>,
                         johdin_ittain: <<$param03, <>>>,
                         johdin_lAinen: <<$param01, <>>>,
                         johdin_llinen: <<$param02, <>>>,
                         johdin_mAinen: <<$param01, <>>>,
                         johdin_tOn: <<$param02, <>>>,
                         johdin_UUs: <<$param03, <>>>,
                         tavuviiva: <<$param01, <>>>,
                         yhdyssana: <<$param01, <>>>]);
end;
subrule susi ($tietue, $param01, $param02, $param03, $param04, $param05, $param06):
  return taivutuskaava ($tietue,
                        [nimentö: <<$param01, <>>>,
                         omistusliite: <<$param02, <>>>,
                         omanto_n: <<$param03, <>>>,
                         osanto_ttA: <<$param04, <>>>,
                         olento_nA: <<$param02, <>>>,
                         tulento_ksi: <<$param03, <>>>,
                         sisäolento_ssA: <<$param03, <>>>,
                         sisäeronto_stA: <<$param03, <>>>,
                         sisätulento_Vn: <<$param02, <>>>,
                         sisätulento_hVn: <<$param02, <vanha_h>>>,
                         ulko_olento_llA: <<$param03, <>>>,
                         ulkoeronto_ltA: <<$param03, <>>>,
                         ulkotulento_lle: <<$param03, <>>>,
                         vajanto_ttA: <<$param03, <>>>,
                         nimentö_t: <<$param03, <>>>,
                         omanto_ien: <<$param05, <>>>,
                         omanto_ten: <<$param06, <>>>,
                         osanto_iA: <<$param05, <>>>,
                         olento_inA: <<$param05, <>>>,
                         tulento_iksi: <<$param05, <>>>,
                         sisäolento_issA: <<$param05, <>>>,
                         sisäeronto_istA: <<$param05, <>>>,
                         sisätulento_iin: <<$param05, <>>>,
                         sisätulento_ihin: <<$param05, <vanha_h>>>,
                         ulko_olento_illA: <<$param05, <>>>,
                         ulkoeronto_iltA: <<$param05, <>>>,
                         ulkotulento_ille: <<$param05, <>>>,
                         vajanto_ittA: <<$param05, <>>>,
                         seuranto_ine: <<$param05, <>>>,
                         keinonto_in: <<$param05, <>>>,
                         kerronto_sti: <<$param03, <>>>,
                         voittoaste: <<$param03, <>>>,
                         yliaste: <<$param05, <>>>,
                         johdin_inen: <<$param05, <>>>,
                         johdin_ittain: <<$param05, <>>>,
                         johdin_lAinen: <<$param01, <>>>,
                         johdin_llinen: <<$param03, <>>>,
                         johdin_mAinen: <<$param01, <>>>,
                         johdin_tOn: <<$param03, <>>>,
                         johdin_UUs: <<$param06, <>>>,
                         tavuviiva: <<$param01, <>>>,
                         yhdyssana: <<$param01, <>>>]);
end;
subrule tosi ($tietue, $param01, $param02, $param03, $param04, $param05, $param06):
  return taivutuskaava ($tietue,
                        [nimentö: <<$param01, <>>>,
                         omistusliite: <<$param02, <>>>,
                         omanto_n: <<$param03, <>>>,
                         osanto_ttA: <<$param04, <>>>,
                         olento_nA: <<$param02, <>>>,
                         tulento_ksi: <<$param03, <>>>,
                         sisäolento_ssA: <<$param03, <>>>,
                         sisäeronto_stA: <<$param03, <>>>,
                         sisätulento_Vn: <<$param02, <>>>,
                         sisätulento_hVn: <<$param02, <vanha_h>>>,
                         ulko_olento_llA: <<$param03, <>>>,
                         ulkoeronto_ltA: <<$param03, <>>>,
                         ulkotulento_lle: <<$param03, <>>>,
                         vajanto_ttA: <<$param03, <>>>,
                         nimentö_t: <<$param03, <>>>,
                         omanto_ien: <<$param05, <>>>,
                         osanto_iA: <<$param05, <>>>,
                         olento_inA: <<$param05, <>>>,
                         tulento_iksi: <<$param05, <>>>,
                         sisäolento_issA: <<$param05, <>>>,
                         sisäeronto_istA: <<$param05, <>>>,
                         sisätulento_iin: <<$param05, <>>>,
                         sisätulento_ihin: <<$param05, <vanha_h>>>,
                         ulko_olento_illA: <<$param05, <>>>,
                         ulkoeronto_iltA: <<$param05, <>>>,
                         ulkotulento_ille: <<$param05, <>>>,
                         vajanto_ittA: <<$param05, <>>>,
                         seuranto_ine: <<$param05, <>>>,
                         keinonto_in: <<$param05, <>>>,
                         kerronto_sti: <<$param03, <>>>,
                         voittoaste: <<$param03, <>>>,
                         yliaste: <<$param05, <>>>,
                         johdin_inen: <<$param06, <>>>,
                         johdin_ittain: <<$param05, <>>>,
                         johdin_lAinen: <<$param01, <>>>,
                         johdin_llinen: <<$param03, <>>>,
                         johdin_mAinen: <<$param01, <>>>,
                         johdin_tOn: <<$param03, <>>>,
                         tavuviiva: <<$param01, <>>>,
                         yhdyssana: <<$param01, <>>>]);
end;
subrule hirsi ($tietue, $param01, $param02, $param03, $param04, $param05, $param06):
  return taivutuskaava ($tietue,
                        [nimentö: <<$param01, <>>>,
                         omistusliite: <<$param02, <>>>,
                         omanto_n: <<$param03, <>>>,
                         osanto_ttA: <<$param04, <>>>,
                         olento_nA: <<$param02, <>>>,
                         tulento_ksi: <<$param03, <>>>,
                         sisäolento_ssA: <<$param03, <>>>,
                         sisäeronto_stA: <<$param03, <>>>,
                         sisätulento_Vn: <<$param02, <>>>,
                         sisätulento_hVn: <<$param02, <vanha_h>>>,
                         ulko_olento_llA: <<$param03, <>>>,
                         ulkoeronto_ltA: <<$param03, <>>>,
                         ulkotulento_lle: <<$param03, <>>>,
                         vajanto_ttA: <<$param03, <>>>,
                         nimentö_t: <<$param03, <>>>,
                         omanto_ien: <<$param05, <>>>,
                         omanto_ten: <<$param06, <>>>,
                         osanto_iA: <<$param05, <>>>,
                         olento_inA: <<$param05, <>>>,
                         tulento_iksi: <<$param05, <>>>,
                         sisäolento_issA: <<$param05, <>>>,
                         sisäeronto_istA: <<$param05, <>>>,
                         sisätulento_iin: <<$param05, <>>>,
                         sisätulento_ihin: <<$param05, <vanha_h>>>,
                         ulko_olento_illA: <<$param05, <>>>,
                         ulkoeronto_iltA: <<$param05, <>>>,
                         ulkotulento_ille: <<$param05, <>>>,
                         vajanto_ittA: <<$param05, <>>>,
                         seuranto_ine: <<$param05, <>>>,
                         keinonto_in: <<$param05, <>>>,
                         kerronto_sti: <<$param03, <>>>,
                         voittoaste: <<$param03, <>>>,
                         yliaste: <<$param05, <>>>,
                         johdin_inen: <<$param05, <>>>,
                         johdin_ittain: <<$param05, <>>>,
                         johdin_lAinen: <<$param01, <>>>,
                         johdin_llinen: <<$param03, <>>>,
                         johdin_mAinen: <<$param01, <>>>,
                         johdin_tOn: <<$param03, <>>>,
                         johdin_Us: <<$param01, <>>>,
                         tavuviiva: <<$param01, <>>>,
                         yhdyssana: <<$param01, <>>>]);
end;
subrule jälsi ($tietue, $param01, $param02, $param03, $param04, $param05, $param06):
  return taivutuskaava ($tietue,
                        [nimentö: <<$param01, <>>>,
                         omistusliite: <<$param02, <>>>,
                         omanto_n: <<$param03, <>>>,
                         osanto_ttA: <<$param04, <>>>,
                         olento_nA: <<$param02, <>>>,
                         tulento_ksi: <<$param03, <>>>,
                         sisäolento_ssA: <<$param03, <>>>,
                         sisäeronto_stA: <<$param03, <>>>,
                         sisätulento_Vn: <<$param02, <>>>,
                         sisätulento_hVn: <<$param02, <vanha_h>>>,
                         ulko_olento_llA: <<$param03, <>>>,
                         ulkoeronto_ltA: <<$param03, <>>>,
                         ulkotulento_lle: <<$param03, <>>>,
                         vajanto_ttA: <<$param03, <>>>,
                         nimentö_t: <<$param03, <>>>,
                         omanto_ien: <<$param05, <>>>,
                         omanto_ten: <<$param06, <>>>,
                         osanto_iA: <<$param05, <>>>,
                         olento_inA: <<$param05, <>>>,
                         tulento_iksi: <<$param05, <>>>,
                         sisäolento_issA: <<$param05, <>>>,
                         sisäeronto_istA: <<$param05, <>>>,
                         sisätulento_iin: <<$param05, <>>>,
                         sisätulento_ihin: <<$param05, <vanha_h>>>,
                         ulko_olento_illA: <<$param05, <>>>,
                         ulkoeronto_iltA: <<$param05, <>>>,
                         ulkotulento_ille: <<$param05, <>>>,
                         vajanto_ittA: <<$param05, <>>>,
                         seuranto_ine: <<$param05, <>>>,
                         keinonto_in: <<$param05, <>>>,
                         kerronto_sti: <<$param03, <>>>,
                         voittoaste: <<$param03, <>>>,
                         yliaste: <<$param05, <>>>,
                         johdin_inen: <<$param05, <>>>,
                         johdin_ittain: <<$param05, <>>>,
                         johdin_lAinen: <<$param01, <>>>,
                         johdin_llinen: <<$param03, <>>>,
                         johdin_mAinen: <<$param01, <>>>,
                         johdin_tOn: <<$param03, <>>>,
                         johdin_Us: <<$param01, <>>>,
                         tavuviiva: <<$param01, <>>>,
                         yhdyssana: <<$param01, <>>>]);
end;
subrule kansi ($tietue, $param01, $param02, $param03, $param04, $param05, $param06):
  return taivutuskaava ($tietue,
                        [nimentö: <<$param01, <>>>,
                         omistusliite: <<$param02, <>>>,
                         omanto_n: <<$param03, <>>>,
                         osanto_ttA: <<$param04, <>>>,
                         olento_nA: <<$param02, <>>>,
                         tulento_ksi: <<$param03, <>>>,
                         sisäolento_ssA: <<$param03, <>>>,
                         sisäeronto_stA: <<$param03, <>>>,
                         sisätulento_Vn: <<$param02, <>>>,
                         sisätulento_hVn: <<$param02, <vanha_h>>>,
                         ulko_olento_llA: <<$param03, <>>>,
                         ulkoeronto_ltA: <<$param03, <>>>,
                         ulkotulento_lle: <<$param03, <>>>,
                         vajanto_ttA: <<$param03, <>>>,
                         nimentö_t: <<$param03, <>>>,
                         omanto_ien: <<$param05, <>>>,
                         omanto_ten: <<$param06, <>>>,
                         osanto_iA: <<$param05, <>>>,
                         olento_inA: <<$param05, <>>>,
                         tulento_iksi: <<$param05, <>>>,
                         sisäolento_issA: <<$param05, <>>>,
                         sisäeronto_istA: <<$param05, <>>>,
                         sisätulento_iin: <<$param05, <>>>,
                         sisätulento_ihin: <<$param05, <vanha_h>>>,
                         ulko_olento_illA: <<$param05, <>>>,
                         ulkoeronto_iltA: <<$param05, <>>>,
                         ulkotulento_ille: <<$param05, <>>>,
                         vajanto_ittA: <<$param05, <>>>,
                         seuranto_ine: <<$param05, <>>>,
                         keinonto_in: <<$param05, <>>>,
                         kerronto_sti: <<$param03, <>>>,
                         voittoaste: <<$param03, <>>>,
                         yliaste: <<$param05, <>>>,
                         johdin_inen: <<$param06, <>>>,
                         johdin_ittain: <<$param05, <>>>,
                         johdin_lAinen: <<$param01, <>>>,
                         johdin_llinen: <<$param03, <>>>,
                         johdin_mAinen: <<$param01, <>>>,
                         johdin_tOn: <<$param03, <>>>,
                         johdin_Us: <<$param01, <>>>,
                         tavuviiva: <<$param01, <>>>,
                         yhdyssana: <<$param01, <>>>]);
end;
subrule lapsi ($tietue, $param01, $param02, $param03, $param04):
  return taivutuskaava ($tietue,
                        [nimentö: <<$param01, <>>>,
                         omistusliite: <<$param02, <>>>,
                         omanto_n: <<$param02, <>>>,
                         osanto_tA: <<$param03, <>>>,
                         olento_nA: <<$param02, <>>, <$param03, <>>>,
                         tulento_ksi: <<$param02, <>>>,
                         sisäolento_ssA: <<$param02, <>>>,
                         sisäeronto_stA: <<$param02, <>>>,
                         sisätulento_Vn: <<$param02, <>>>,
                         sisätulento_hVn: <<$param02, <vanha_h>>>,
                         ulko_olento_llA: <<$param02, <>>>,
                         ulkoeronto_ltA: <<$param02, <>>>,
                         ulkotulento_lle: <<$param02, <>>>,
                         vajanto_ttA: <<$param02, <>>>,
                         nimentö_t: <<$param02, <>>>,
                         omanto_ien: <<$param04, <>>>,
                         omanto_ten: <<$param03, <>>>,
                         osanto_iA: <<$param04, <>>>,
                         olento_inA: <<$param04, <>>>,
                         tulento_iksi: <<$param04, <>>>,
                         sisäolento_issA: <<$param04, <>>>,
                         sisäeronto_istA: <<$param04, <>>>,
                         sisätulento_iin: <<$param04, <>>>,
                         sisätulento_ihin: <<$param04, <vanha_h>>>,
                         ulko_olento_illA: <<$param04, <>>>,
                         ulkoeronto_iltA: <<$param04, <>>>,
                         ulkotulento_ille: <<$param04, <>>>,
                         vajanto_ittA: <<$param04, <>>>,
                         seuranto_ine: <<$param04, <>>>,
                         keinonto_in: <<$param04, <>>>,
                         kerronto_sti: <<$param02, <>>>,
                         voittoaste: <<$param02, <>>>,
                         yliaste: <<$param04, <>>>,
                         johdin_inen: <<$param04, <>>>,
                         johdin_ittain: <<$param04, <>>>,
                         johdin_lAinen: <<$param01, <>>>,
                         johdin_llinen: <<$param02, <>>>,
                         johdin_mAinen: <<$param01, <>>>,
                         johdin_tOn: <<$param02, <>>>,
                         johdin_UUs: <<$param04, <>>>,
                         tavuviiva: <<$param01, <>>>,
                         yhdyssana: <<$param01, <>>>]);
end;
subrule hapsi ($tietue, $param01, $param02, $param03, $param04):
  return taivutuskaava ($tietue,
                        [nimentö: <<$param01, <>>>,
                         omistusliite: <<$param02, <>>>,
                         omanto_n: <<$param02, <>>>,
                         osanto_A: <<$param02, <>>>,
                         osanto_tA: <<$param03, <>>>,
                         olento_nA: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         tulento_ksi: <<$param02, <>>>,
                         sisäolento_ssA: <<$param02, <>>>,
                         sisäeronto_stA: <<$param02, <>>>,
                         sisätulento_Vn: <<$param02, <>>>,
                         sisätulento_hVn: <<$param02, <vanha_h>>>,
                         ulko_olento_llA: <<$param02, <>>>,
                         ulkoeronto_ltA: <<$param02, <>>>,
                         ulkotulento_lle: <<$param02, <>>>,
                         vajanto_ttA: <<$param02, <>>>,
                         nimentö_t: <<$param02, <>>>,
                         omanto_ien: <<$param04, <>>>,
                         omanto_ten: <<$param03, <>>>,
                         osanto_iA: <<$param04, <>>>,
                         olento_inA: <<$param04, <>>>,
                         tulento_iksi: <<$param04, <>>>,
                         sisäolento_issA: <<$param04, <>>>,
                         sisäeronto_istA: <<$param04, <>>>,
                         sisätulento_iin: <<$param04, <>>>,
                         sisätulento_ihin: <<$param04, <vanha_h>>>,
                         ulko_olento_illA: <<$param04, <>>>,
                         ulkoeronto_iltA: <<$param04, <>>>,
                         ulkotulento_ille: <<$param04, <>>>,
                         vajanto_ittA: <<$param04, <>>>,
                         seuranto_ine: <<$param04, <>>>,
                         keinonto_in: <<$param04, <>>>,
                         kerronto_sti: <<$param02, <>>>,
                         voittoaste: <<$param02, <>>>,
                         yliaste: <<$param04, <>>>,
                         johdin_inen: <<$param04, <>>>,
                         johdin_ittain: <<$param04, <>>>,
                         johdin_lAinen: <<$param01, <>>>,
                         johdin_llinen: <<$param02, <>>>,
                         johdin_mAinen: <<$param01, <>>>,
                         johdin_tOn: <<$param02, <>>>,
                         johdin_UUs: <<$param04, <>>>,
                         tavuviiva: <<$param01, <>>>,
                         yhdyssana: <<$param01, <>>>]);
end;
subrule veitsi ($tietue, $param01, $param02, $param03, $param04):
  return taivutuskaava ($tietue,
                        [nimentö: <<$param01, <>>>,
                         omistusliite: <<$param02, <>>>,
                         omanto_n: <<$param02, <>>>,
                         osanto_tA: <<$param03, <>>>,
                         olento_nA: <<$param02, <>>>,
                         tulento_ksi: <<$param02, <>>>,
                         sisäolento_ssA: <<$param02, <>>>,
                         sisäeronto_stA: <<$param02, <>>>,
                         sisätulento_Vn: <<$param02, <>>>,
                         sisätulento_hVn: <<$param02, <vanha_h>>>,
                         ulko_olento_llA: <<$param02, <>>>,
                         ulkoeronto_ltA: <<$param02, <>>>,
                         ulkotulento_lle: <<$param02, <>>>,
                         vajanto_ttA: <<$param02, <>>>,
                         nimentö_t: <<$param02, <>>>,
                         omanto_ien: <<$param04, <>>>,
                         omanto_ten: <<$param03, <>>>,
                         osanto_iA: <<$param04, <>>>,
                         olento_inA: <<$param04, <>>>,
                         tulento_iksi: <<$param04, <>>>,
                         sisäolento_issA: <<$param04, <>>>,
                         sisäeronto_istA: <<$param04, <>>>,
                         sisätulento_iin: <<$param04, <>>>,
                         sisätulento_ihin: <<$param04, <vanha_h>>>,
                         ulko_olento_illA: <<$param04, <>>>,
                         ulkoeronto_iltA: <<$param04, <>>>,
                         ulkotulento_ille: <<$param04, <>>>,
                         vajanto_ittA: <<$param04, <>>>,
                         seuranto_ine: <<$param04, <>>>,
                         keinonto_in: <<$param04, <>>>,
                         kerronto_sti: <<$param02, <>>>,
                         voittoaste: <<$param02, <>>>,
                         yliaste: <<$param04, <>>>,
                         johdin_inen: <<$param04, <>>>,
                         johdin_ittain: <<$param04, <>>>,
                         johdin_lAinen: <<$param01, <>>>,
                         johdin_llinen: <<$param02, <>>>,
                         johdin_mAinen: <<$param01, <>>>,
                         johdin_tOn: <<$param02, <>>>,
                         tavuviiva: <<$param01, <>>>,
                         yhdyssana: <<$param01, <>>>]);
end;
subrule peitsi ($tietue, $param01, $param02, $param03, $param04):
  return taivutuskaava ($tietue,
                        [nimentö: <<$param01, <>>>,
                         omistusliite: <<$param02, <>>>,
                         omanto_n: <<$param02, <>>>,
                         osanto_A: <<$param02, <>>>,
                         osanto_tA: <<$param03, <>>>,
                         olento_nA: <<$param02, <>>>,
                         tulento_ksi: <<$param02, <>>>,
                         sisäolento_ssA: <<$param02, <>>>,
                         sisäeronto_stA: <<$param02, <>>>,
                         sisätulento_Vn: <<$param02, <>>>,
                         sisätulento_hVn: <<$param02, <vanha_h>>>,
                         ulko_olento_llA: <<$param02, <>>>,
                         ulkoeronto_ltA: <<$param02, <>>>,
                         ulkotulento_lle: <<$param02, <>>>,
                         vajanto_ttA: <<$param02, <>>>,
                         nimentö_t: <<$param02, <>>>,
                         omanto_ien: <<$param04, <>>>,
                         omanto_ten: <<$param03, <>>>,
                         osanto_iA: <<$param04, <>>>,
                         olento_inA: <<$param04, <>>>,
                         tulento_iksi: <<$param04, <>>>,
                         sisäolento_issA: <<$param04, <>>>,
                         sisäeronto_istA: <<$param04, <>>>,
                         sisätulento_iin: <<$param04, <>>>,
                         sisätulento_ihin: <<$param04, <vanha_h>>>,
                         ulko_olento_illA: <<$param04, <>>>,
                         ulkoeronto_iltA: <<$param04, <>>>,
                         ulkotulento_ille: <<$param04, <>>>,
                         vajanto_ittA: <<$param04, <>>>,
                         seuranto_ine: <<$param04, <>>>,
                         keinonto_in: <<$param04, <>>>,
                         kerronto_sti: <<$param02, <>>>,
                         voittoaste: <<$param02, <>>>,
                         yliaste: <<$param04, <>>>,
                         johdin_inen: <<$param04, <>>>,
                         johdin_ittain: <<$param04, <>>>,
                         johdin_lAinen: <<$param01, <>>>,
                         johdin_llinen: <<$param02, <>>>,
                         johdin_mAinen: <<$param01, <>>>,
                         johdin_tOn: <<$param02, <>>>,
                         tavuviiva: <<$param01, <>>>,
                         yhdyssana: <<$param01, <>>>]);
end;
subrule suksi ($tietue, $param01, $param02, $param03, $param04):
  return taivutuskaava ($tietue,
                        [nimentö: <<$param01, <>>>,
                         omistusliite: <<$param02, <>>>,
                         omanto_n: <<$param02, <>>>,
                         osanto_A: <<$param02, <>>>,
                         osanto_tA: <<$param03, <ei_voikko>>>,
                         olento_nA: <<$param02, <>>>,
                         tulento_ksi: <<$param02, <>>>,
                         sisäolento_ssA: <<$param02, <>>>,
                         sisäeronto_stA: <<$param02, <>>>,
                         sisätulento_Vn: <<$param02, <>>>,
                         sisätulento_hVn: <<$param02, <vanha_h>>>,
                         ulko_olento_llA: <<$param02, <>>>,
                         ulkoeronto_ltA: <<$param02, <>>>,
                         ulkotulento_lle: <<$param02, <>>>,
                         vajanto_ttA: <<$param02, <>>>,
                         nimentö_t: <<$param02, <>>>,
                         omanto_ien: <<$param04, <>>>,
                         omanto_in: <<$param02, <>>>,
                         omanto_ten: <<$param03, <>>>,
                         osanto_iA: <<$param04, <>>>,
                         olento_inA: <<$param04, <>>>,
                         tulento_iksi: <<$param04, <>>>,
                         sisäolento_issA: <<$param04, <>>>,
                         sisäeronto_istA: <<$param04, <>>>,
                         sisätulento_iin: <<$param04, <>>>,
                         sisätulento_ihin: <<$param04, <vanha_h>>>,
                         ulko_olento_illA: <<$param04, <>>>,
                         ulkoeronto_iltA: <<$param04, <>>>,
                         ulkotulento_ille: <<$param04, <>>>,
                         vajanto_ittA: <<$param04, <>>>,
                         seuranto_ine: <<$param04, <>>>,
                         keinonto_in: <<$param04, <>>>,
                         johdin_inen: <<$param04, <>>>,
                         johdin_ittain: <<$param04, <>>>,
                         johdin_lAinen: <<$param01, <>>>,
                         johdin_llinen: <<$param02, <>>>,
                         johdin_mAinen: <<$param01, <>>>,
                         johdin_tOn: <<$param02, <>>>,
                         tavuviiva: <<$param01, <>>>,
                         yhdyssana: <<$param01, <>>>]);
end;
subrule uksi ($tietue, $param01, $param02, $param03, $param04):
  return taivutuskaava ($tietue,
                        [nimentö: <<$param01, <>>>,
                         omistusliite: <<$param02, <>>>,
                         omanto_n: <<$param02, <>>>,
                         osanto_A: <<$param02, <>>>,
                         osanto_tA: <<$param03, <ei_voikko>>>,
                         olento_nA: <<$param02, <>>>,
                         tulento_ksi: <<$param02, <>>>,
                         sisäolento_ssA: <<$param02, <>>>,
                         sisäeronto_stA: <<$param02, <>>>,
                         sisätulento_Vn: <<$param02, <>>>,
                         sisätulento_hVn: <<$param02, <vanha_h>>>,
                         ulko_olento_llA: <<$param02, <>>>,
                         ulkoeronto_ltA: <<$param02, <>>>,
                         ulkotulento_lle: <<$param02, <>>>,
                         vajanto_ttA: <<$param02, <>>>,
                         nimentö_t: <<$param02, <>>>,
                         omanto_ien: <<$param04, <>>>,
                         omanto_ten: <<$param03, <>>>,
                         osanto_iA: <<$param04, <>>>,
                         olento_inA: <<$param04, <>>>,
                         tulento_iksi: <<$param04, <>>>,
                         sisäolento_issA: <<$param04, <>>>,
                         sisäeronto_istA: <<$param04, <>>>,
                         sisätulento_iin: <<$param04, <>>>,
                         sisätulento_ihin: <<$param04, <vanha_h>>>,
                         ulko_olento_illA: <<$param04, <>>>,
                         ulkoeronto_iltA: <<$param04, <>>>,
                         ulkotulento_ille: <<$param04, <>>>,
                         vajanto_ittA: <<$param04, <>>>,
                         seuranto_ine: <<$param04, <>>>,
                         keinonto_in: <<$param04, <>>>,
                         johdin_inen: <<$param04, <>>>,
                         johdin_ittain: <<$param04, <>>>,
                         johdin_lAinen: <<$param01, <>>>,
                         johdin_llinen: <<$param02, <>>>,
                         johdin_mAinen: <<$param01, <>>>,
                         johdin_tOn: <<$param02, <>>>,
                         tavuviiva: <<$param01, <>>>,
                         yhdyssana: <<$param01, <>>>]);
end;
subrule kaksi ($tietue, $param01, $param02, $param03, $param04, $param05, $param06):
  return taivutuskaava ($tietue,
                        [nimentö: <<$param01, <>>>,
                         omistusliite: <<$param02, <>>>,
                         omanto_n: <<$param03, <>>, <$param04, <hd_h0>>>,
                         osanto_tA: <<$param05, <>>>,
                         olento_nA: <<$param02, <>>>,
                         tulento_ksi: <<$param03, <>>, <$param04, <hd_h0>>>,
                         sisäolento_ssA: <<$param03, <>>, <$param04, <hd_h0>>>,
                         sisäeronto_stA: <<$param03, <>>, <$param04, <hd_h0>>>,
                         sisätulento_Vn: <<$param02, <>>>,
                         sisätulento_hVn: <<$param02, <vanha_h>>>,
                         ulko_olento_llA: <<$param03, <>>, <$param04, <hd_h0>>>,
                         ulkoeronto_ltA: <<$param03, <>>, <$param04, <hd_h0>>>,
                         ulkotulento_lle: <<$param03, <>>, <$param04, <hd_h0>>>,
                         vajanto_ttA: <<$param03, <>>, <$param04, <hd_h0>>>,
                         nimentö_t: <<$param03, <>>, <$param04, <hd_h0>>>,
                         omanto_ien: <<$param06, <>>>,
                         osanto_iA: <<$param06, <>>>,
                         olento_inA: <<$param06, <>>>,
                         tulento_iksi: <<$param06, <>>>,
                         sisäolento_issA: <<$param06, <>>>,
                         sisäeronto_istA: <<$param06, <>>>,
                         sisätulento_iin: <<$param06, <>>>,
                         sisätulento_ihin: <<$param06, <vanha_h>>>,
                         ulko_olento_illA: <<$param06, <>>>,
                         ulkoeronto_iltA: <<$param06, <>>>,
                         ulkotulento_ille: <<$param06, <>>>,
                         vajanto_ittA: <<$param06, <>>>,
                         seuranto_ine: <<$param06, <>>>,
                         keinonto_in: <<$param06, <>>>,
                         kerronto_sti: <<$param03, <>>, <$param04, <hd_h0>>>,
                         johdin_ittain: <<$param06, <>>>,
                         tavuviiva: <<$param01, <>>>,
                         yhdyssana: <<$param01, <>>>]);
end;
subrule sankari ($tietue, $param01, $param02, $param03):
  return taivutuskaava ($tietue,
                        [nimentö: <<$param01, <>>>,
                         omistusliite: <<$param01, <>>>,
                         omanto_n: <<$param01, <>>>,
                         osanto_A: <<$param01, <>>>,
                         olento_nA: <<$param01, <>>>,
                         tulento_ksi: <<$param01, <>>>,
                         sisäolento_ssA: <<$param01, <>>>,
                         sisäeronto_stA: <<$param01, <>>>,
                         sisätulento_Vn: <<$param01, <>>>,
                         sisätulento_hVn: <<$param01, <vanha_h>>>,
                         ulko_olento_llA: <<$param01, <>>>,
                         ulkoeronto_ltA: <<$param01, <>>>,
                         ulkotulento_lle: <<$param01, <>>>,
                         vajanto_ttA: <<$param01, <>>>,
                         nimentö_t: <<$param01, <>>>,
                         omanto_ien: <<$param02, <>>>,
                         omanto_iT: <<$param03, <>>>,
                         omanto_ten: <<$param02, <>>>,
                         omanto_in: <<$param03, <ei_voikko>>>,
                         osanto_jA: <<$param03, <>>>,
                         osanto_itA: <<$param03, <>>>,
                         olento_inA: <<$param03, <>>>,
                         tulento_iksi: <<$param03, <>>>,
                         sisäolento_issA: <<$param03, <>>>,
                         sisäeronto_istA: <<$param03, <>>>,
                         sisätulento_ihin: <<$param03, <>>>,
                         ulko_olento_illA: <<$param03, <>>>,
                         ulkoeronto_iltA: <<$param03, <>>>,
                         ulkotulento_ille: <<$param03, <>>>,
                         vajanto_ittA: <<$param03, <>>>,
                         seuranto_ine: <<$param03, <>>>,
                         keinonto_in: <<$param03, <>>>,
                         kerronto_sti: <<$param01, <>>>,
                         voittoaste: <<$param01, <>>>,
                         yliaste: <<$param03, <>>>,
                         johdin_inen: <<$param02, <>>>,
                         johdin_ittain: <<$param03, <>>>,
                         johdin_lAinen: <<$param01, <>>>,
                         johdin_llinen: <<$param01, <>>>,
                         johdin_mAinen: <<$param01, <>>>,
                         johdin_tOn: <<$param01, <>>>,
                         johdin_UUs: <<$param02, <>>>,
                         tavuviiva: <<$param01, <>>>,
                         yhdyssana: <<$param01, <>>>]);
end;
subrule jumala ($tietue, $param01, $param02, $param03):
  return taivutuskaava ($tietue,
                        [nimentö: <<$param01, <>>>,
                         omistusliite: <<$param01, <>>>,
                         omanto_n: <<$param01, <>>>,
                         osanto_A: <<$param01, <>>>,
                         osanto_tA: <<$param01, <>>>,
                         olento_nA: <<$param01, <>>>,
                         tulento_ksi: <<$param01, <>>>,
                         sisäolento_ssA: <<$param01, <>>>,
                         sisäeronto_stA: <<$param01, <>>>,
                         sisätulento_Vn: <<$param01, <>>>,
                         sisätulento_hVn: <<$param01, <vanha_h>>>,
                         ulko_olento_llA: <<$param01, <>>>,
                         ulkoeronto_ltA: <<$param01, <>>>,
                         ulkotulento_lle: <<$param01, <>>>,
                         vajanto_ttA: <<$param01, <>>>,
                         nimentö_t: <<$param01, <>>>,
                         omanto_ien: <<$param02, <>>>,
                         omanto_iT: <<$param03, <>>>,
                         omanto_in: <<$param01, <>>>,
                         omanto_ten: <<$param02, <>>>,
                         osanto_iA: <<$param02, <>>>,
                         osanto_itA: <<$param03, <ei_voikko>>>,
                         olento_inA: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         tulento_iksi: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         sisäolento_issA: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         sisäeronto_istA: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         sisätulento_iin: <<$param02, <>>>,
                         sisätulento_ihin: <<$param02, <vanha_h>>, <$param03, <ei_voikko>>>,
                         ulko_olento_illA: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         ulkoeronto_iltA: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         ulkotulento_ille: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         vajanto_ittA: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         seuranto_ine: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         keinonto_in: <<$param02, <>>>,
                         johdin_inen: <<$param01, <>>>,
                         johdin_ittain: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         johdin_lAinen: <<$param01, <>>>,
                         johdin_llinen: <<$param01, <>>>,
                         johdin_mAinen: <<$param01, <>>>,
                         johdin_tOn: <<$param01, <>>>,
                         johdin_UUs: <<$param02, <>>>,
                         tavuviiva: <<$param01, <>>>,
                         yhdyssana: <<$param01, <>>>]);
end;
subrule sisar ($tietue, $param01, $param02, $param03):
  return taivutuskaava ($tietue,
                        [nimentö: <<$param01, <>>>,
                         omistusliite: <<$param02, <>>>,
                         omanto_n: <<$param02, <>>>,
                         osanto_tA: <<$param01, <>>>,
                         olento_nA: <<$param02, <>>>,
                         tulento_ksi: <<$param02, <>>>,
                         sisäolento_ssA: <<$param02, <>>>,
                         sisäeronto_stA: <<$param02, <>>>,
                         sisätulento_Vn: <<$param02, <>>>,
                         sisätulento_hVn: <<$param02, <vanha_h>>>,
                         ulko_olento_llA: <<$param02, <>>>,
                         ulkoeronto_ltA: <<$param02, <>>>,
                         ulkotulento_lle: <<$param02, <>>>,
                         vajanto_ttA: <<$param02, <>>>,
                         nimentö_t: <<$param02, <>>>,
                         omanto_ien: <<$param03, <>>>,
                         omanto_ten: <<$param01, <>>>,
                         osanto_iA: <<$param03, <>>>,
                         olento_inA: <<$param03, <>>>,
                         tulento_iksi: <<$param03, <>>>,
                         sisäolento_issA: <<$param03, <>>>,
                         sisäeronto_istA: <<$param03, <>>>,
                         sisätulento_iin: <<$param03, <>>>,
                         sisätulento_ihin: <<$param03, <vanha_h>>>,
                         ulko_olento_illA: <<$param03, <>>>,
                         ulkoeronto_iltA: <<$param03, <>>>,
                         ulkotulento_ille: <<$param03, <>>>,
                         vajanto_ittA: <<$param03, <>>>,
                         seuranto_ine: <<$param03, <>>>,
                         keinonto_in: <<$param03, <>>>,
                         johdin_inen: <<$param03, <>>>,
                         johdin_ittain: <<$param03, <>>>,
                         johdin_lAinen: <<$param01, <>>>,
                         johdin_llinen: <<$param02, <>>>,
                         johdin_mAinen: <<$param01, <>>>,
                         johdin_tOn: <<$param02, <>>>,
                         johdin_UUs: <<$param03, <>>>,
                         tavuviiva: <<$param01, <>>>,
                         yhdyssana: <<$param01, <>>>]);
end;
subrule ahven ($tietue, $param01, $param02, $param03):
  return taivutuskaava ($tietue,
                        [nimentö: <<$param01, <>>>,
                         omistusliite: <<$param02, <>>>,
                         omanto_n: <<$param02, <>>>,
                         osanto_tA: <<$param01, <>>>,
                         olento_nA: <<$param02, <>>, <$param01, <ei_voikko>>>,
                         tulento_ksi: <<$param02, <>>>,
                         sisäolento_ssA: <<$param02, <>>>,
                         sisäeronto_stA: <<$param02, <>>>,
                         sisätulento_Vn: <<$param02, <>>>,
                         sisätulento_hVn: <<$param02, <vanha_h>>>,
                         ulko_olento_llA: <<$param02, <>>>,
                         ulkoeronto_ltA: <<$param02, <>>>,
                         ulkotulento_lle: <<$param02, <>>>,
                         vajanto_ttA: <<$param02, <>>>,
                         nimentö_t: <<$param02, <>>>,
                         omanto_ien: <<$param03, <>>>,
                         omanto_ten: <<$param01, <>>>,
                         osanto_iA: <<$param03, <>>>,
                         olento_inA: <<$param03, <>>>,
                         tulento_iksi: <<$param03, <>>>,
                         sisäolento_issA: <<$param03, <>>>,
                         sisäeronto_istA: <<$param03, <>>>,
                         sisätulento_iin: <<$param03, <>>>,
                         sisätulento_ihin: <<$param03, <vanha_h>>>,
                         ulko_olento_illA: <<$param03, <>>>,
                         ulkoeronto_iltA: <<$param03, <>>>,
                         ulkotulento_ille: <<$param03, <>>>,
                         vajanto_ittA: <<$param03, <>>>,
                         seuranto_ine: <<$param03, <>>>,
                         keinonto_in: <<$param03, <>>>,
                         kerronto_sti: <<$param02, <>>>,
                         voittoaste: <<$param02, <>>>,
                         yliaste: <<$param03, <>>>,
                         johdin_inen: <<$param03, <>>>,
                         johdin_ittain: <<$param03, <>>>,
                         johdin_lAinen: <<$param01, <>>>,
                         johdin_llinen: <<$param02, <>>>,
                         johdin_mAinen: <<$param01, <>>>,
                         johdin_tOn: <<$param02, <>>>,
                         johdin_UUs: <<$param03, <>>>,
                         tavuviiva: <<$param01, <>>>,
                         yhdyssana: <<$param01, <>>>]);
end;
subrule kymmenen ($tietue, $param01, $param02, $param03):
  return taivutuskaava ($tietue,
                        [nimentö: <<$param01, <>>>,
                         omistusliite: <<$param02, <>>>,
                         omanto_n: <<$param02, <>>>,
                         osanto_tA: <<$param03, <>>>,
                         olento_nA: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         tulento_ksi: <<$param02, <>>>,
                         sisäolento_ssA: <<$param02, <>>>,
                         sisäeronto_stA: <<$param02, <>>>,
                         sisätulento_Vn: <<$param02, <>>>,
                         sisätulento_hVn: <<$param02, <vanha_h>>>,
                         ulko_olento_llA: <<$param02, <>>>,
                         ulkoeronto_ltA: <<$param02, <>>>,
                         ulkotulento_lle: <<$param02, <>>>,
                         vajanto_ttA: <<$param02, <>>>,
                         nimentö_t: <<$param02, <>>>,
                         omanto_ien: <<$param03, <>>>,
                         omanto_ten: <<$param03, <>>>,
                         osanto_iA: <<$param03, <>>>,
                         olento_inA: <<$param03, <>>>,
                         tulento_iksi: <<$param03, <>>>,
                         sisäolento_issA: <<$param03, <>>>,
                         sisäeronto_istA: <<$param03, <>>>,
                         sisätulento_iin: <<$param03, <>>>,
                         sisätulento_ihin: <<$param03, <vanha_h>>>,
                         ulko_olento_illA: <<$param03, <>>>,
                         ulkoeronto_iltA: <<$param03, <>>>,
                         ulkotulento_ille: <<$param03, <>>>,
                         vajanto_ittA: <<$param03, <>>>,
                         seuranto_ine: <<$param03, <>>>,
                         keinonto_in: <<$param03, <>>>,
                         kerronto_sti: <<$param02, <>>>,
                         johdin_inen: <<$param03, <>>>,
                         johdin_ittain: <<$param03, <>>>,
                         johdin_llinen: <<$param02, <>>>,
                         johdin_tOn: <<$param02, <>>>,
                         tavuviiva: <<$param01, <>>>,
                         yhdyssana: <<$param01, <>>>]);
end;
subrule hapan ($tietue, $param01, $param02, $param03, $param04):
  return taivutuskaava ($tietue,
                        [nimentö: <<$param01, <>>>,
                         omistusliite: <<$param02, <>>, <$param03, <>>>,
                         omanto_n: <<$param02, <>>, <$param03, <>>>,
                         osanto_tA: <<$param01, <>>>,
                         olento_nA: <<$param02, <>>, <$param03, <>>>,
                         tulento_ksi: <<$param02, <>>, <$param03, <>>>,
                         sisäolento_ssA: <<$param02, <>>, <$param03, <>>>,
                         sisäeronto_stA: <<$param02, <>>, <$param03, <>>>,
                         sisätulento_Vn: <<$param02, <>>, <$param03, <>>>,
                         sisätulento_hVn: <<$param02, <vanha_h>>, <$param03, <vanha_h>>>,
                         ulko_olento_llA: <<$param02, <>>, <$param03, <>>>,
                         ulkoeronto_ltA: <<$param02, <>>, <$param03, <>>>,
                         ulkotulento_lle: <<$param02, <>>, <$param03, <>>>,
                         vajanto_ttA: <<$param02, <>>, <$param03, <>>>,
                         nimentö_t: <<$param02, <>>, <$param03, <>>>,
                         omanto_ien: <<$param04, <>>>,
                         omanto_ten: <<$param01, <>>>,
                         osanto_iA: <<$param04, <>>>,
                         olento_inA: <<$param04, <>>>,
                         tulento_iksi: <<$param04, <>>>,
                         sisäolento_issA: <<$param04, <>>>,
                         sisäeronto_istA: <<$param04, <>>>,
                         sisätulento_iin: <<$param04, <>>>,
                         sisätulento_ihin: <<$param04, <vanha_h>>>,
                         ulko_olento_illA: <<$param04, <>>>,
                         ulkoeronto_iltA: <<$param04, <>>>,
                         ulkotulento_ille: <<$param04, <>>>,
                         vajanto_ittA: <<$param04, <>>>,
                         seuranto_ine: <<$param04, <>>>,
                         keinonto_in: <<$param04, <>>>,
                         kerronto_sti: <<$param02, <>>, <$param03, <>>>,
                         voittoaste: <<$param02, <>>, <$param03, <>>>,
                         yliaste: <<$param04, <>>>,
                         johdin_tOn: <<$param02, <>>, <$param03, <>>>,
                         johdin_UUs: <<$param04, <>>>,
                         tavuviiva: <<$param01, <>>>,
                         yhdyssana: <<$param01, <>>>]);
end;
subrule uistin ($tietue, $param01, $param02, $param03):
  return taivutuskaava ($tietue,
                        [nimentö: <<$param01, <>>>,
                         omistusliite: <<$param02, <>>>,
                         omanto_n: <<$param02, <>>>,
                         osanto_tA: <<$param01, <>>>,
                         olento_nA: <<$param02, <>>>,
                         tulento_ksi: <<$param02, <>>>,
                         sisäolento_ssA: <<$param02, <>>>,
                         sisäeronto_stA: <<$param02, <>>>,
                         sisätulento_Vn: <<$param02, <>>>,
                         sisätulento_hVn: <<$param02, <vanha_h>>>,
                         ulko_olento_llA: <<$param02, <>>>,
                         ulkoeronto_ltA: <<$param02, <>>>,
                         ulkotulento_lle: <<$param02, <>>>,
                         vajanto_ttA: <<$param02, <>>>,
                         nimentö_t: <<$param02, <>>>,
                         omanto_ien: <<$param03, <>>>,
                         omanto_ten: <<$param01, <>>>,
                         osanto_iA: <<$param03, <>>>,
                         olento_inA: <<$param03, <>>>,
                         tulento_iksi: <<$param03, <>>>,
                         sisäolento_issA: <<$param03, <>>>,
                         sisäeronto_istA: <<$param03, <>>>,
                         sisätulento_iin: <<$param03, <>>>,
                         sisätulento_ihin: <<$param03, <vanha_h>>>,
                         ulko_olento_illA: <<$param03, <>>>,
                         ulkoeronto_iltA: <<$param03, <>>>,
                         ulkotulento_ille: <<$param03, <>>>,
                         vajanto_ittA: <<$param03, <>>>,
                         seuranto_ine: <<$param03, <>>>,
                         keinonto_in: <<$param03, <>>>,
                         kerronto_sti: <<$param02, <>>>,
                         voittoaste: <<$param02, <>>>,
                         yliaste: <<$param03, <>>>,
                         johdin_inen: <<$param03, <>>>,
                         johdin_ittain: <<$param03, <>>>,
                         johdin_lAinen: <<$param01, <>>>,
                         johdin_llinen: <<$param02, <>>>,
                         johdin_mAinen: <<$param01, <>>>,
                         johdin_tOn: <<$param02, <>>>,
                         johdin_UUs: <<$param03, <>>>,
                         tavuviiva: <<$param01, <>>>,
                         yhdyssana: <<$param01, <>>>]);
end;
subrule onneton ($tietue, $param01, $param02, $param03, $param04):
  return taivutuskaava ($tietue,
                        [nimentö: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         omistusliite: <<$param03, <>>>,
                         omanto_n: <<$param03, <>>>,
                         osanto_tA: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         olento_nA: <<$param03, <>>, <$param01, <ei_voikko>>, <$param02, <ei_voikko>>>,
                         tulento_ksi: <<$param03, <>>>,
                         sisäolento_ssA: <<$param03, <>>>,
                         sisäeronto_stA: <<$param03, <>>>,
                         sisätulento_Vn: <<$param03, <>>>,
                         sisätulento_hVn: <<$param03, <vanha_h>>>,
                         ulko_olento_llA: <<$param03, <>>>,
                         ulkoeronto_ltA: <<$param03, <>>>,
                         ulkotulento_lle: <<$param03, <>>>,
                         vajanto_ttA: <<$param03, <>>>,
                         nimentö_t: <<$param03, <>>>,
                         omanto_ien: <<$param04, <>>>,
                         omanto_in: <<$param03, <ei_voikko>>>,
                         omanto_ten: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         osanto_iA: <<$param04, <>>>,
                         olento_inA: <<$param04, <>>>,
                         tulento_iksi: <<$param04, <>>>,
                         sisäolento_issA: <<$param04, <>>>,
                         sisäeronto_istA: <<$param04, <>>>,
                         sisätulento_iin: <<$param04, <>>>,
                         sisätulento_ihin: <<$param04, <vanha_h>>>,
                         ulko_olento_illA: <<$param04, <>>>,
                         ulkoeronto_iltA: <<$param04, <>>>,
                         ulkotulento_ille: <<$param04, <>>>,
                         vajanto_ittA: <<$param04, <>>>,
                         seuranto_ine: <<$param04, <>>>,
                         keinonto_in: <<$param04, <>>>,
                         kerronto_sti: <<$param03, <>>>,
                         voittoaste: <<$param03, <>>>,
                         yliaste: <<$param04, <>>>,
                         johdin_UUs: <<$param04, <>>>,
                         tavuviiva: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         yhdyssana: <<$param01, <>>, <$param02, <ei_voikko>>>]);
end;
subrule lämmin ($tietue, $param01, $param02, $param03, $param04):
  return taivutuskaava ($tietue,
                        [nimentö: <<$param01, <>>>,
                         omistusliite: <<$param02, <>>>,
                         omanto_n: <<$param02, <>>>,
                         osanto_tA: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         osanto_A: <<$param02, <ei_voikko>>>,
                         olento_nA: <<$param02, <>>, <$param01, <ei_voikko>>>,
                         tulento_ksi: <<$param02, <>>>,
                         sisäolento_ssA: <<$param02, <>>>,
                         sisäeronto_stA: <<$param02, <>>>,
                         sisätulento_Vn: <<$param02, <>>>,
                         sisätulento_hVn: <<$param02, <vanha_h>>>,
                         ulko_olento_llA: <<$param02, <>>>,
                         ulkoeronto_ltA: <<$param02, <>>>,
                         ulkotulento_lle: <<$param02, <>>>,
                         vajanto_ttA: <<$param02, <>>>,
                         nimentö_t: <<$param02, <>>>,
                         omanto_ien: <<$param03, <>>>,
                         omanto_in: <<$param02, <>>>,
                         omanto_ten: <<$param04, <ei_voikko>>>,
                         osanto_iA: <<$param03, <>>>,
                         olento_inA: <<$param03, <>>>,
                         tulento_iksi: <<$param03, <>>>,
                         sisäolento_issA: <<$param03, <>>>,
                         sisäeronto_istA: <<$param03, <>>>,
                         sisätulento_iin: <<$param03, <>>>,
                         sisätulento_ihin: <<$param03, <vanha_h>>>,
                         ulko_olento_illA: <<$param03, <>>>,
                         ulkoeronto_iltA: <<$param03, <>>>,
                         ulkotulento_ille: <<$param03, <>>>,
                         vajanto_ittA: <<$param03, <>>>,
                         seuranto_ine: <<$param03, <>>>,
                         keinonto_in: <<$param03, <>>>,
                         kerronto_sti: <<$param02, <>>>,
                         voittoaste: <<$param02, <>>>,
                         yliaste: <<$param03, <>>>,
                         johdin_UUs: <<$param03, <>>>,
                         tavuviiva: <<$param01, <>>>,
                         yhdyssana: <<$param01, <>>>]);
end;
subrule pahin ($tietue, $param01, $param02, $param03, $param04, $param05):
  return taivutuskaava ($tietue,
                        [nimentö: <<$param01, <>>>,
                         omistusliite: <<$param02, <>>>,
                         omanto_n: <<$param03, <>>>,
                         osanto_tA: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         osanto_A: <<$param02, <>>>,
                         olento_nA: <<$param02, <>>, <$param01, <ei_voikko>>>,
                         tulento_ksi: <<$param03, <>>>,
                         sisäolento_ssA: <<$param03, <>>>,
                         sisäeronto_stA: <<$param03, <>>>,
                         sisätulento_Vn: <<$param02, <>>>,
                         sisätulento_hVn: <<$param02, <vanha_h>>>,
                         ulko_olento_llA: <<$param03, <>>>,
                         ulkoeronto_ltA: <<$param03, <>>>,
                         ulkotulento_lle: <<$param03, <>>>,
                         vajanto_ttA: <<$param03, <>>>,
                         nimentö_t: <<$param03, <>>>,
                         omanto_ien: <<$param04, <>>>,
                         omanto_in: <<$param02, <>>>,
                         omanto_ten: <<$param01, <>>>,
                         osanto_iA: <<$param04, <>>>,
                         olento_inA: <<$param04, <>>>,
                         tulento_iksi: <<$param05, <>>>,
                         sisäolento_issA: <<$param05, <>>>,
                         sisäeronto_istA: <<$param05, <>>>,
                         sisätulento_iin: <<$param04, <>>>,
                         sisätulento_ihin: <<$param04, <vanha_h>>>,
                         ulko_olento_illA: <<$param05, <>>>,
                         ulkoeronto_iltA: <<$param05, <>>>,
                         ulkotulento_ille: <<$param05, <>>>,
                         vajanto_ittA: <<$param05, <>>>,
                         seuranto_ine: <<$param04, <>>>,
                         keinonto_in: <<$param05, <>>>,
                         kerronto_sti: <<$param03, <>>>,
                         johdin_UUs: <<$param05, <>>>,
                         tavuviiva: <<$param01, <>>>,
                         yhdyssana: <<$param01, <>>>]);
end;
subrule vasen ($tietue, $param01, $param02, $param03, $param04, $param05):
  return taivutuskaava ($tietue,
                        [nimentö: <<$param01, <>>>,
                         omistusliite: <<$param02, <>>>,
                         omanto_n: <<$param03, <>>>,
                         osanto_tA: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         osanto_A: <<$param02, <>>>,
                         olento_nA: <<$param02, <>>>,
                         tulento_ksi: <<$param03, <>>>,
                         sisäolento_ssA: <<$param03, <>>>,
                         sisäeronto_stA: <<$param03, <>>>,
                         sisätulento_Vn: <<$param02, <>>>,
                         sisätulento_hVn: <<$param02, <vanha_h>>>,
                         ulko_olento_llA: <<$param03, <>>>,
                         ulkoeronto_ltA: <<$param03, <>>>,
                         ulkotulento_lle: <<$param03, <>>>,
                         vajanto_ttA: <<$param03, <>>>,
                         nimentö_t: <<$param03, <>>>,
                         omanto_ien: <<$param04, <>>>,
                         omanto_in: <<$param02, <>>>,
                         omanto_ten: <<$param01, <>>>,
                         osanto_iA: <<$param04, <>>>,
                         olento_inA: <<$param04, <>>>,
                         tulento_iksi: <<$param05, <>>>,
                         sisäolento_issA: <<$param05, <>>>,
                         sisäeronto_istA: <<$param05, <>>>,
                         sisätulento_iin: <<$param04, <>>>,
                         sisätulento_ihin: <<$param04, <vanha_h>>>,
                         ulko_olento_illA: <<$param05, <>>>,
                         ulkoeronto_iltA: <<$param05, <>>>,
                         ulkotulento_ille: <<$param05, <>>>,
                         vajanto_ittA: <<$param05, <>>>,
                         seuranto_ine: <<$param04, <>>>,
                         keinonto_in: <<$param05, <>>>,
                         kerronto_sti: <<$param03, <>>>,
                         tavuviiva: <<$param01, <>>>,
                         yhdyssana: <<$param01, <>>>]);
end;
subrule muuan ($tietue, $param01, $param02, $param03, $param04, $param05, $param06):
  return taivutuskaava ($tietue,
                        [nimentö: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         omistusliite: <<$param03, <>>>,
                         omanto_n: <<$param03, <>>>,
                         osanto_A: <<$param03, <>>>,
                         osanto_tA: <<$param03, <ei_voikko>>>,
                         osanto_ttA: <<$param04, <ei_voikko>>, <$param05, <ei_voikko>>>,
                         olento_nA: <<$param03, <>>, <$param01, <ei_voikko>>, <$param02, <ei_voikko>>>,
                         tulento_ksi: <<$param03, <>>>,
                         sisäolento_ssA: <<$param03, <>>>,
                         sisäeronto_stA: <<$param03, <>>>,
                         sisätulento_Vn: <<$param03, <>>>,
                         sisätulento_hVn: <<$param03, <vanha_h>>>,
                         ulko_olento_llA: <<$param03, <>>>,
                         ulkoeronto_ltA: <<$param03, <>>>,
                         ulkotulento_lle: <<$param03, <>>>,
                         vajanto_ttA: <<$param03, <>>>,
                         nimentö_t: <<$param03, <>>>,
                         omanto_ien: <<$param06, <>>>,
                         omanto_in: <<$param03, <>>>,
                         osanto_iA: <<$param06, <>>>,
                         olento_inA: <<$param06, <>>>,
                         tulento_iksi: <<$param06, <>>>,
                         sisäolento_issA: <<$param06, <>>>,
                         sisäeronto_istA: <<$param06, <>>>,
                         sisätulento_iin: <<$param06, <>>>,
                         sisätulento_ihin: <<$param06, <vanha_h>>>,
                         ulko_olento_illA: <<$param06, <>>>,
                         ulkoeronto_iltA: <<$param06, <>>>,
                         ulkotulento_ille: <<$param06, <>>>,
                         vajanto_ittA: <<$param06, <>>>,
                         seuranto_ine: <<$param06, <>>>,
                         keinonto_in: <<$param06, <>>>,
                         tavuviiva: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         yhdyssana: <<$param01, <>>, <$param02, <ei_voikko>>>]);
end;
subrule seitsemän ($tietue, $param01, $param02, $param03, $param04):
  return taivutuskaava ($tietue,
                        [nimentö: <<$param01, <>>>,
                         omistusliite: <<$param02, <>>>,
                         omanto_n: <<$param02, <>>>,
                         osanto_A: <<$param02, <>>>,
                         osanto_tA: <<$param03, <ei_voikko>>, <$param02, <ei_voikko>>>,
                         olento_nA: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         tulento_ksi: <<$param02, <>>>,
                         sisäolento_ssA: <<$param02, <>>>,
                         sisäeronto_stA: <<$param02, <>>>,
                         sisätulento_Vn: <<$param02, <>>>,
                         sisätulento_hVn: <<$param02, <vanha_h>>>,
                         ulko_olento_llA: <<$param02, <>>>,
                         ulkoeronto_ltA: <<$param02, <>>>,
                         ulkotulento_lle: <<$param02, <>>>,
                         vajanto_ttA: <<$param02, <>>>,
                         nimentö_t: <<$param02, <>>>,
                         omanto_ien: <<$param04, <>>>,
                         omanto_in: <<$param02, <>>>,
                         omanto_ten: <<$param03, <>>>,
                         osanto_iA: <<$param04, <>>>,
                         olento_inA: <<$param04, <>>>,
                         tulento_iksi: <<$param04, <>>>,
                         sisäolento_issA: <<$param04, <>>>,
                         sisäeronto_istA: <<$param04, <>>>,
                         sisätulento_iin: <<$param04, <>>>,
                         sisätulento_ihin: <<$param04, <vanha_h>>>,
                         ulko_olento_illA: <<$param04, <>>>,
                         ulkoeronto_iltA: <<$param04, <>>>,
                         ulkotulento_ille: <<$param04, <>>>,
                         vajanto_ittA: <<$param04, <>>>,
                         seuranto_ine: <<$param04, <>>>,
                         keinonto_in: <<$param04, <>>>,
                         kerronto_sti: <<$param02, <>>>,
                         tavuviiva: <<$param01, <>>>,
                         yhdyssana: <<$param01, <>>>]);
end;
subrule hevonen ($tietue, $param01, $param02, $param03):
  return taivutuskaava ($tietue,
                        [nimentö: <<$param01, <>>>,
                         omistusliite: <<$param02, <>>>,
                         omanto_n: <<$param02, <>>>,
                         osanto_tA: <<$param03, <>>>,
                         olento_nA: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         tulento_ksi: <<$param02, <>>>,
                         sisäolento_ssA: <<$param02, <>>>,
                         sisäeronto_stA: <<$param02, <>>>,
                         sisätulento_Vn: <<$param02, <>>>,
                         sisätulento_hVn: <<$param02, <vanha_h>>>,
                         ulko_olento_llA: <<$param02, <>>>,
                         ulkoeronto_ltA: <<$param02, <>>>,
                         ulkotulento_lle: <<$param02, <>>>,
                         vajanto_ttA: <<$param02, <>>>,
                         nimentö_t: <<$param02, <>>>,
                         omanto_ien: <<$param03, <>>>,
                         omanto_ten: <<$param03, <>>>,
                         osanto_iA: <<$param03, <>>>,
                         olento_inA: <<$param03, <>>>,
                         tulento_iksi: <<$param03, <>>>,
                         sisäolento_issA: <<$param03, <>>>,
                         sisäeronto_istA: <<$param03, <>>>,
                         sisätulento_iin: <<$param03, <>>>,
                         sisätulento_ihin: <<$param03, <vanha_h>>>,
                         ulko_olento_illA: <<$param03, <>>>,
                         ulkoeronto_iltA: <<$param03, <>>>,
                         ulkotulento_ille: <<$param03, <>>>,
                         vajanto_ittA: <<$param03, <>>>,
                         seuranto_ine: <<$param03, <>>>,
                         keinonto_in: <<$param03, <>>>,
                         kerronto_sti: <<$param02, <>>>,
                         voittoaste: <<$param02, <>>>,
                         yliaste: <<$param03, <>>>,
                         johdin_inen: <<$param03, <>>>,
                         johdin_ittain: <<$param03, <>>>,
                         johdin_lAinen: <<$param03, <>>>,
                         johdin_llinen: <<$param02, <>>>,
                         johdin_mAinen: <<$param03, <>>>,
                         johdin_tOn: <<$param02, <>>>,
                         johdin_UUs: <<$param03, <>>>,
                         loppu: <<$param03, <ei_voikko>>>,
                         tavuviiva: <<$param03, <>>>,
                         yhdyssana: <<$param03, <>>>]);
end;
subrule ironinen ($tietue, $param01, $param02, $param03, $param04, $param05, $param06):
  return taivutuskaava ($tietue,
                        [nimentö: <<$param01, <>>, <$param02, <>>>,
                         omistusliite: <<$param03, <>>, <$param04, <>>>,
                         omanto_n: <<$param03, <>>, <$param04, <>>>,
                         osanto_tA: <<$param05, <>>, <$param06, <>>>,
                         olento_nA: <<$param03, <>>, <$param04, <>>, <$param05, <>>, <$param06, <>>>,
                         tulento_ksi: <<$param03, <>>, <$param04, <>>>,
                         sisäolento_ssA: <<$param03, <>>, <$param04, <>>>,
                         sisäeronto_stA: <<$param03, <>>, <$param04, <>>>,
                         sisätulento_Vn: <<$param03, <>>, <$param04, <>>>,
                         sisätulento_hVn: <<$param03, <vanha_h>>, <$param04, <vanha_h>>>,
                         ulko_olento_llA: <<$param03, <>>, <$param04, <>>>,
                         ulkoeronto_ltA: <<$param03, <>>, <$param04, <>>>,
                         ulkotulento_lle: <<$param03, <>>, <$param04, <>>>,
                         vajanto_ttA: <<$param03, <>>, <$param04, <>>>,
                         nimentö_t: <<$param03, <>>, <$param04, <>>>,
                         omanto_ien: <<$param05, <>>, <$param06, <>>>,
                         omanto_ten: <<$param05, <>>, <$param06, <>>>,
                         osanto_iA: <<$param05, <>>, <$param06, <>>>,
                         olento_inA: <<$param05, <>>, <$param06, <>>>,
                         tulento_iksi: <<$param05, <>>, <$param06, <>>>,
                         sisäolento_issA: <<$param05, <>>, <$param06, <>>>,
                         sisäeronto_istA: <<$param05, <>>, <$param06, <>>>,
                         sisätulento_iin: <<$param05, <>>, <$param06, <>>>,
                         sisätulento_ihin: <<$param05, <vanha_h>>, <$param06, <vanha_h>>>,
                         ulko_olento_illA: <<$param05, <>>, <$param06, <>>>,
                         ulkoeronto_iltA: <<$param05, <>>, <$param06, <>>>,
                         ulkotulento_ille: <<$param05, <>>, <$param06, <>>>,
                         vajanto_ittA: <<$param05, <>>, <$param06, <>>>,
                         seuranto_ine: <<$param05, <>>, <$param06, <>>>,
                         keinonto_in: <<$param05, <>>, <$param06, <>>>,
                         kerronto_sti: <<$param03, <>>, <$param04, <>>>,
                         voittoaste: <<$param03, <>>, <$param04, <>>>,
                         yliaste: <<$param05, <>>, <$param06, <>>>,
                         johdin_ittain: <<$param05, <>>, <$param06, <>>>,
                         johdin_lAinen: <<$param05, <>>, <$param06, <>>>,
                         johdin_llinen: <<$param03, <>>, <$param04, <>>>,
                         johdin_mAinen: <<$param05, <>>, <$param06, <>>>,
                         johdin_tOn: <<$param03, <>>, <$param04, <>>>,
                         johdin_UUs: <<$param05, <>>, <$param06, <>>>,
                         loppu: <<$param05, <>>, <$param06, <>>>,
                         tavuviiva: <<$param05, <>>, <$param06, <>>>,
                         yhdyssana: <<$param05, <>>, <$param06, <>>>]);
end;
subrule punainen ($tietue, $param01, $param02, $param03, $param04, $param05, $param06):
  return taivutuskaava ($tietue,
                        [nimentö: <<$param01, <>>, <$param02, <>>>,
                         omistusliite: <<$param03, <>>, <$param04, <>>>,
                         omanto_n: <<$param03, <>>, <$param04, <>>>,
                         osanto_tA: <<$param05, <>>, <$param06, <>>>,
                         olento_nA: <<$param03, <>>, <$param04, <>>, <$param05, <>>, <$param06, <>>>,
                         tulento_ksi: <<$param03, <>>, <$param04, <>>>,
                         sisäolento_ssA: <<$param03, <>>, <$param04, <>>>,
                         sisäeronto_stA: <<$param03, <>>, <$param04, <>>>,
                         sisätulento_Vn: <<$param03, <>>, <$param04, <>>>,
                         sisätulento_hVn: <<$param03, <vanha_h>>, <$param04, <vanha_h>>>,
                         ulko_olento_llA: <<$param03, <>>, <$param04, <>>>,
                         ulkoeronto_ltA: <<$param03, <>>, <$param04, <>>>,
                         ulkotulento_lle: <<$param03, <>>, <$param04, <>>>,
                         vajanto_ttA: <<$param03, <>>, <$param04, <>>>,
                         nimentö_t: <<$param03, <>>, <$param04, <>>>,
                         omanto_ien: <<$param05, <>>, <$param06, <>>>,
                         omanto_ten: <<$param05, <>>, <$param06, <>>>,
                         osanto_iA: <<$param05, <>>, <$param06, <>>>,
                         olento_inA: <<$param05, <>>, <$param06, <>>>,
                         tulento_iksi: <<$param05, <>>, <$param06, <>>>,
                         sisäolento_issA: <<$param05, <>>, <$param06, <>>>,
                         sisäeronto_istA: <<$param05, <>>, <$param06, <>>>,
                         sisätulento_iin: <<$param05, <>>, <$param06, <>>>,
                         sisätulento_ihin: <<$param05, <vanha_h>>, <$param06, <vanha_h>>>,
                         ulko_olento_illA: <<$param05, <>>, <$param06, <>>>,
                         ulkoeronto_iltA: <<$param05, <>>, <$param06, <>>>,
                         ulkotulento_ille: <<$param05, <>>, <$param06, <>>>,
                         vajanto_ittA: <<$param05, <>>, <$param06, <>>>,
                         seuranto_ine: <<$param05, <>>, <$param06, <>>>,
                         keinonto_in: <<$param05, <>>, <$param06, <>>>,
                         kerronto_sti: <<$param03, <>>, <$param04, <>>>,
                         voittoaste: <<$param03, <>>, <$param04, <>>>,
                         yliaste: <<$param05, <>>, <$param06, <>>>,
                         johdin_inen: <<$param05, <>>, <$param06, <>>>,
                         johdin_ittain: <<$param05, <>>, <$param06, <>>>,
                         johdin_lAinen: <<$param05, <>>, <$param06, <>>>,
                         johdin_llinen: <<$param03, <>>, <$param04, <>>>,
                         johdin_mAinen: <<$param05, <>>, <$param06, <>>>,
                         johdin_tOn: <<$param03, <>>, <$param04, <>>>,
                         johdin_UUs: <<$param05, <>>, <$param06, <>>>,
                         loppu: <<$param05, <>>, <$param06, <>>>,
                         tavuviiva: <<$param05, <>>, <$param06, <>>>,
                         yhdyssana: <<$param05, <>>, <$param06, <>>>]);
end;
subrule jaotus ($tietue, $param01, $param02, $param03, $param04, $param05, $param06):
  return taivutuskaava ($tietue,
                        [nimentö: <<$param01, <>>, <$param02, <>>>,
                         omistusliite: <<$param03, <>>, <$param04, <>>>,
                         omanto_n: <<$param03, <>>, <$param04, <>>>,
                         osanto_tA: <<$param01, <>>, <$param02, <>>>,
                         olento_nA: <<$param03, <>>, <$param04, <>>>,
                         tulento_ksi: <<$param03, <>>, <$param04, <>>>,
                         sisäolento_ssA: <<$param03, <>>, <$param04, <>>>,
                         sisäeronto_stA: <<$param03, <>>, <$param04, <>>>,
                         sisätulento_Vn: <<$param03, <>>, <$param04, <>>>,
                         sisätulento_hVn: <<$param03, <vanha_h>>, <$param04, <vanha_h>>>,
                         ulko_olento_llA: <<$param03, <>>, <$param04, <>>>,
                         ulkoeronto_ltA: <<$param03, <>>, <$param04, <>>>,
                         ulkotulento_lle: <<$param03, <>>, <$param04, <>>>,
                         vajanto_ttA: <<$param03, <>>, <$param04, <>>>,
                         nimentö_t: <<$param03, <>>, <$param04, <>>>,
                         omanto_ien: <<$param05, <>>, <$param06, <>>>,
                         omanto_ten: <<$param01, <>>, <$param02, <>>>,
                         osanto_iA: <<$param05, <>>, <$param06, <>>>,
                         olento_inA: <<$param05, <>>, <$param06, <>>>,
                         tulento_iksi: <<$param05, <>>, <$param06, <>>>,
                         sisäolento_issA: <<$param05, <>>, <$param06, <>>>,
                         sisäeronto_istA: <<$param05, <>>, <$param06, <>>>,
                         sisätulento_iin: <<$param05, <>>, <$param06, <>>>,
                         sisätulento_ihin: <<$param05, <vanha_h>>, <$param06, <vanha_h>>>,
                         ulko_olento_illA: <<$param05, <>>, <$param06, <>>>,
                         ulkoeronto_iltA: <<$param05, <>>, <$param06, <>>>,
                         ulkotulento_ille: <<$param05, <>>, <$param06, <>>>,
                         vajanto_ittA: <<$param05, <>>, <$param06, <>>>,
                         seuranto_ine: <<$param05, <>>, <$param06, <>>>,
                         keinonto_in: <<$param05, <>>, <$param06, <>>>,
                         kerronto_sti: <<$param03, <>>, <$param04, <>>>,
                         voittoaste: <<$param03, <>>, <$param04, <>>>,
                         yliaste: <<$param05, <>>, <$param06, <>>>,
                         johdin_inen: <<$param05, <>>, <$param06, <>>>,
                         johdin_ittain: <<$param05, <>>, <$param06, <>>>,
                         johdin_lAinen: <<$param01, <>>, <$param02, <>>>,
                         johdin_llinen: <<$param03, <>>, <$param04, <>>>,
                         johdin_mAinen: <<$param01, <>>, <$param02, <>>>,
                         johdin_tOn: <<$param03, <>>, <$param04, <>>>,
                         tavuviiva: <<$param01, <>>, <$param02, <>>>,
                         yhdyssana: <<$param01, <>>, <$param02, <>>>]);
end;
subrule vastaus ($tietue, $param01, $param02, $param03):
  return taivutuskaava ($tietue,
                        [nimentö: <<$param01, <>>>,
                         omistusliite: <<$param02, <>>>,
                         omanto_n: <<$param02, <>>>,
                         osanto_tA: <<$param01, <>>>,
                         olento_nA: <<$param02, <>>>,
                         tulento_ksi: <<$param02, <>>>,
                         sisäolento_ssA: <<$param02, <>>>,
                         sisäeronto_stA: <<$param02, <>>>,
                         sisätulento_Vn: <<$param02, <>>>,
                         sisätulento_hVn: <<$param02, <vanha_h>>>,
                         ulko_olento_llA: <<$param02, <>>>,
                         ulkoeronto_ltA: <<$param02, <>>>,
                         ulkotulento_lle: <<$param02, <>>>,
                         vajanto_ttA: <<$param02, <>>>,
                         nimentö_t: <<$param02, <>>>,
                         omanto_ien: <<$param03, <>>>,
                         omanto_ten: <<$param01, <>>>,
                         osanto_iA: <<$param03, <>>>,
                         olento_inA: <<$param03, <>>>,
                         tulento_iksi: <<$param03, <>>>,
                         sisäolento_issA: <<$param03, <>>>,
                         sisäeronto_istA: <<$param03, <>>>,
                         sisätulento_iin: <<$param03, <>>>,
                         sisätulento_ihin: <<$param03, <vanha_h>>>,
                         ulko_olento_illA: <<$param03, <>>>,
                         ulkoeronto_iltA: <<$param03, <>>>,
                         ulkotulento_ille: <<$param03, <>>>,
                         vajanto_ittA: <<$param03, <>>>,
                         seuranto_ine: <<$param03, <>>>,
                         keinonto_in: <<$param03, <>>>,
                         kerronto_sti: <<$param02, <>>>,
                         voittoaste: <<$param02, <>>>,
                         yliaste: <<$param03, <>>>,
                         johdin_inen: <<$param03, <>>>,
                         johdin_ittain: <<$param03, <>>>,
                         johdin_lAinen: <<$param01, <>>>,
                         johdin_llinen: <<$param02, <>>>,
                         johdin_mAinen: <<$param01, <>>>,
                         johdin_tOn: <<$param02, <>>>,
                         tavuviiva: <<$param01, <>>>,
                         yhdyssana: <<$param01, <>>>]);
end;
subrule kalleus ($tietue, $param01, $param02, $param03, $param04, $param05, $param06):
  return taivutuskaava ($tietue,
                        [nimentö: <<$param01, <>>>,
                         omistusliite: <<$param02, <>>>,
                         omanto_n: <<$param03, <>>>,
                         osanto_tA: <<$param04, <>>>,
                         olento_nA: <<$param02, <>>>,
                         tulento_ksi: <<$param03, <>>>,
                         sisäolento_ssA: <<$param03, <>>>,
                         sisäeronto_stA: <<$param03, <>>>,
                         sisätulento_Vn: <<$param02, <>>>,
                         sisätulento_hVn: <<$param02, <vanha_h>>>,
                         ulko_olento_llA: <<$param03, <>>>,
                         ulkoeronto_ltA: <<$param03, <>>>,
                         ulkotulento_lle: <<$param03, <>>>,
                         vajanto_ttA: <<$param03, <>>>,
                         nimentö_t: <<$param03, <>>>,
                         omanto_ien: <<$param05, <>>>,
                         omanto_ten: <<$param04, <ei_voikko>>>,
                         osanto_iA: <<$param05, <>>>,
                         olento_inA: <<$param05, <>>>,
                         tulento_iksi: <<$param05, <>>>,
                         sisäolento_issA: <<$param05, <>>>,
                         sisäeronto_istA: <<$param05, <>>>,
                         sisätulento_iin: <<$param05, <>>>,
                         sisätulento_ihin: <<$param05, <vanha_h>>>,
                         ulko_olento_illA: <<$param05, <>>>,
                         ulkoeronto_iltA: <<$param05, <>>>,
                         ulkotulento_ille: <<$param05, <>>>,
                         vajanto_ittA: <<$param05, <>>>,
                         seuranto_ine: <<$param05, <>>>,
                         keinonto_in: <<$param05, <>>>,
                         johdin_inen: <<$param05, <>>>,
                         johdin_ittain: <<$param05, <>>>,
                         johdin_lAinen: <<$param01, <>>, <$param02, <>>>,
                         johdin_llinen: <<$param03, <>>, <$param06, <>>>,
                         johdin_mAinen: <<$param01, <>>>,
                         johdin_tOn: <<$param03, <>>>,
                         tavuviiva: <<$param01, <>>>,
                         yhdyssana: <<$param01, <>>>]);
end;
subrule iäkäs ($tietue, $param01, $param02, $param03, $param04, $param05, $param06, $param07):
  return taivutuskaava ($tietue,
                        [nimentö: <<$param01, <>>>,
                         omistusliite: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         omanto_n: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         osanto_tA: <<$param01, <>>>,
                         olento_nA: <<$param02, <>>, <$param03, <ei_voikko>>, <$param01, <ei_voikko>>>,
                         tulento_ksi: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         sisäolento_ssA: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         sisäeronto_stA: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         sisätulento_seen: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         ulko_olento_llA: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         ulkoeronto_ltA: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         ulkotulento_lle: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         vajanto_ttA: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         nimentö_t: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         omanto_iT: <<$param04, <>>>,
                         omanto_ten: <<$param01, <ei_voikko>>>,
                         osanto_itA: <<$param04, <>>>,
                         olento_inA: <<$param04, <>>>,
                         tulento_iksi: <<$param04, <>>>,
                         sisäolento_issA: <<$param04, <>>>,
                         sisäeronto_istA: <<$param04, <>>>,
                         sisätulento_isiin: <<$param04, <>>>,
                         sisätulento_ihin: <<$param04, <>>>,
                         ulko_olento_illA: <<$param04, <>>>,
                         ulkoeronto_iltA: <<$param04, <>>>,
                         ulkotulento_ille: <<$param04, <>>>,
                         vajanto_ittA: <<$param04, <>>>,
                         seuranto_ine: <<$param04, <>>>,
                         keinonto_in: <<$param04, <>>>,
                         kerronto_sti: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         voittoaste: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         yliaste: <<$param04, <>>, <$param05, <>>>,
                         johdin_inen: <<$param04, <>>>,
                         johdin_ittain: <<$param04, <>>>,
                         johdin_lAinen: <<$param01, <>>>,
                         johdin_llinen: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         johdin_mAinen: <<$param01, <>>>,
                         johdin_tOn: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         johdin_Us: <<$param06, <>>, <$param07, <ei_voikko>>>,
                         tavuviiva: <<$param01, <>>>,
                         yhdyssana: <<$param01, <>>>]);
end;
subrule maineikas ($tietue, $param01, $param02, $param03, $param04, $param05, $param06, $param07, $param08, $param09, $param10, $param11, $param12):
  return taivutuskaava ($tietue,
                        [nimentö: <<$param01, <>>, <$param02, <>>>,
                         omistusliite: <<$param03, <>>, <$param04, <>>, <$param05, <>>, <$param06, <>>>,
                         omanto_n: <<$param03, <>>, <$param04, <>>, <$param05, <>>, <$param06, <>>>,
                         osanto_tA: <<$param01, <>>, <$param02, <>>>,
                         olento_nA: <<$param03, <>>, <$param04, <>>, <$param05, <>>, <$param06, <>>, <$param01, <>>, <$param02, <>>>,
                         tulento_ksi: <<$param03, <>>, <$param04, <>>, <$param05, <>>, <$param06, <>>>,
                         sisäolento_ssA: <<$param03, <>>, <$param04, <>>, <$param05, <>>, <$param06, <>>>,
                         sisäeronto_stA: <<$param03, <>>, <$param04, <>>, <$param05, <>>, <$param06, <>>>,
                         sisätulento_seen: <<$param03, <>>, <$param04, <>>, <$param05, <>>, <$param06, <>>>,
                         ulko_olento_llA: <<$param03, <>>, <$param04, <>>, <$param05, <>>, <$param06, <>>>,
                         ulkoeronto_ltA: <<$param03, <>>, <$param04, <>>, <$param05, <>>, <$param06, <>>>,
                         ulkotulento_lle: <<$param03, <>>, <$param04, <>>, <$param05, <>>, <$param06, <>>>,
                         vajanto_ttA: <<$param03, <>>, <$param04, <>>, <$param05, <>>, <$param06, <>>>,
                         nimentö_t: <<$param03, <>>, <$param04, <>>, <$param05, <>>, <$param06, <>>>,
                         omanto_iT: <<$param07, <>>, <$param08, <>>>,
                         omanto_ten: <<$param01, <>>, <$param02, <>>>,
                         osanto_itA: <<$param07, <>>, <$param08, <>>>,
                         olento_inA: <<$param07, <>>, <$param08, <>>>,
                         tulento_iksi: <<$param07, <>>, <$param08, <>>>,
                         sisäolento_issA: <<$param07, <>>, <$param08, <>>>,
                         sisäeronto_istA: <<$param07, <>>, <$param08, <>>>,
                         sisätulento_isiin: <<$param07, <>>, <$param08, <>>>,
                         sisätulento_ihin: <<$param07, <>>, <$param08, <>>>,
                         ulko_olento_illA: <<$param07, <>>, <$param08, <>>>,
                         ulkoeronto_iltA: <<$param07, <>>, <$param08, <>>>,
                         ulkotulento_ille: <<$param07, <>>, <$param08, <>>>,
                         vajanto_ittA: <<$param07, <>>, <$param08, <>>>,
                         seuranto_ine: <<$param07, <>>, <$param08, <>>>,
                         keinonto_in: <<$param07, <>>, <$param08, <>>>,
                         kerronto_sti: <<$param03, <>>, <$param04, <>>, <$param05, <>>, <$param06, <>>>,
                         voittoaste: <<$param03, <>>, <$param04, <>>, <$param05, <>>, <$param06, <>>>,
                         yliaste: <<$param07, <>>, <$param08, <>>>,
                         johdin_inen: <<$param07, <>>, <$param08, <>>>,
                         johdin_ittain: <<$param07, <>>, <$param08, <>>>,
                         johdin_lAinen: <<$param01, <>>, <$param02, <>>>,
                         johdin_llinen: <<$param03, <>>, <$param04, <>>, <$param05, <>>, <$param06, <>>>,
                         johdin_mAinen: <<$param01, <>>, <$param02, <>>>,
                         johdin_tOn: <<$param03, <>>, <$param04, <>>, <$param05, <>>, <$param06, <>>>,
                         johdin_Us: <<$param09, <>>, <$param10, <>>, <$param11, <>>, <$param12, <>>>,
                         tavuviiva: <<$param01, <>>, <$param02, <>>>,
                         yhdyssana: <<$param01, <>>, <$param02, <>>>]);
end;
subrule paras ($tietue, $param01, $param02, $param03, $param04, $param05, $param06, $param07):
  return taivutuskaava ($tietue,
                        [nimentö: <<$param01, <>>>,
                         omistusliite: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         omanto_n: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         osanto_tA: <<$param01, <>>>,
                         olento_nA: <<$param02, <>>, <$param01, <ei_voikko>>, <$param03, <ei_voikko>>>,
                         tulento_ksi: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         sisäolento_ssA: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         sisäeronto_stA: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         sisätulento_seen: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         sisätulento_sen: <<$param03, <ei_voikko>>>,
                         ulko_olento_llA: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         ulkoeronto_ltA: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         ulkotulento_lle: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         vajanto_ttA: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         nimentö_t: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         omanto_iT: <<$param04, <>>>,
                         omanto_ten: <<$param01, <ei_voikko>>, <$param05, <ei_voikko>>>,
                         omanto_ien: <<$param06, <ei_voikko>>>,
                         osanto_iA: <<$param06, <ei_voikko>>>,
                         osanto_itA: <<$param04, <>>>,
                         olento_inA: <<$param04, <>>, <$param06, <ei_voikko>>>,
                         tulento_iksi: <<$param04, <>>, <$param06, <ei_voikko>>>,
                         sisäolento_issA: <<$param04, <>>, <$param06, <ei_voikko>>>,
                         sisäeronto_istA: <<$param04, <>>, <$param06, <ei_voikko>>>,
                         sisätulento_isiin: <<$param04, <>>>,
                         sisätulento_isin: <<$param04, <ei_voikko>>, <$param06, <ei_voikko>>>,
                         sisätulento_ihin: <<$param04, <>>>,
                         ulko_olento_illA: <<$param04, <>>, <$param06, <ei_voikko>>>,
                         ulkoeronto_iltA: <<$param04, <>>, <$param06, <ei_voikko>>>,
                         ulkotulento_ille: <<$param04, <>>, <$param06, <ei_voikko>>>,
                         vajanto_ittA: <<$param04, <>>, <$param06, <ei_voikko>>>,
                         seuranto_ine: <<$param04, <>>, <$param06, <ei_voikko>>>,
                         keinonto_in: <<$param04, <>>, <$param06, <ei_voikko>>>,
                         kerronto_sti: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         voittoaste: <<$param07, <>>, <$param02, <>>, <$param03, <ei_voikko>>>,
                         yliaste: <<$param04, <>>, <$param06, <ei_voikko>>>,
                         johdin_inen: <<$param04, <>>, <$param06, <ei_voikko>>>,
                         johdin_ittain: <<$param04, <>>, <$param06, <ei_voikko>>>,
                         johdin_lAinen: <<$param01, <>>, <$param02, <>>>,
                         johdin_llinen: <<$param02, <>>>,
                         johdin_mAinen: <<$param01, <>>>,
                         johdin_tOn: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         johdin_Us: <<$param04, <>>>,
                         tavuviiva: <<$param01, <>>>,
                         yhdyssana: <<$param01, <>>>]);
end;
subrule utelias ($tietue, $param01, $param02, $param03, $param04):
  return taivutuskaava ($tietue,
                        [nimentö: <<$param01, <>>>,
                         omistusliite: <<$param02, <>>>,
                         omanto_n: <<$param02, <>>>,
                         osanto_tA: <<$param01, <>>>,
                         olento_nA: <<$param02, <>>, <$param01, <ei_voikko>>>,
                         tulento_ksi: <<$param02, <>>>,
                         sisäolento_ssA: <<$param02, <>>>,
                         sisäeronto_stA: <<$param02, <>>>,
                         sisätulento_seen: <<$param02, <>>>,
                         ulko_olento_llA: <<$param02, <>>>,
                         ulkoeronto_ltA: <<$param02, <>>>,
                         ulkotulento_lle: <<$param02, <>>>,
                         vajanto_ttA: <<$param02, <>>>,
                         nimentö_t: <<$param02, <>>>,
                         omanto_iT: <<$param03, <>>>,
                         omanto_ten: <<$param01, <ei_voikko>>>,
                         osanto_itA: <<$param03, <>>>,
                         olento_inA: <<$param03, <>>>,
                         tulento_iksi: <<$param03, <>>>,
                         sisäolento_issA: <<$param03, <>>>,
                         sisäeronto_istA: <<$param03, <>>>,
                         sisätulento_isiin: <<$param03, <>>>,
                         sisätulento_ihin: <<$param03, <>>>,
                         ulko_olento_illA: <<$param03, <>>>,
                         ulkoeronto_iltA: <<$param03, <>>>,
                         ulkotulento_ille: <<$param03, <>>>,
                         vajanto_ittA: <<$param03, <>>>,
                         seuranto_ine: <<$param03, <>>>,
                         keinonto_in: <<$param03, <>>>,
                         kerronto_sti: <<$param02, <>>>,
                         voittoaste: <<$param02, <>>>,
                         yliaste: <<$param03, <>>>,
                         johdin_inen: <<$param03, <>>>,
                         johdin_ittain: <<$param03, <>>>,
                         johdin_lAinen: <<$param01, <>>>,
                         johdin_llinen: <<$param02, <>>>,
                         johdin_mAinen: <<$param01, <>>>,
                         johdin_tOn: <<$param02, <>>>,
                         johdin_Us: <<$param04, <>>>,
                         tavuviiva: <<$param01, <>>>,
                         yhdyssana: <<$param01, <>>>]);
end;
subrule vieras ($tietue, $param01, $param02, $param03, $param04, $param05, $param06, $johdin_Us):
  return taivutuskaava ($tietue,
                        [nimentö: <<$param01, <>>>,
                         omistusliite: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         omanto_n: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         osanto_tA: <<$param01, <>>>,
                         olento_nA: <<$param02, <>>, <$param01, <ei_voikko>>, <$param03, <ei_voikko>>>,
                         tulento_ksi: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         sisäolento_ssA: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         sisäeronto_stA: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         sisätulento_seen: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         sisätulento_sen: <<$param03, <ei_voikko>>>,
                         ulko_olento_llA: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         ulkoeronto_ltA: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         ulkotulento_lle: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         vajanto_ttA: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         nimentö_t: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         omanto_iT: <<$param04, <>>>,
                         omanto_ten: <<$param01, <ei_voikko>>, <$param05, <ei_voikko>>>,
                         omanto_ien: <<$param06, <ei_voikko>>>,
                         osanto_iA: <<$param06, <ei_voikko>>>,
                         osanto_itA: <<$param04, <>>>,
                         olento_inA: <<$param04, <>>, <$param06, <ei_voikko>>>,
                         tulento_iksi: <<$param04, <>>, <$param06, <ei_voikko>>>,
                         sisäolento_issA: <<$param04, <>>, <$param06, <ei_voikko>>>,
                         sisäeronto_istA: <<$param04, <>>, <$param06, <ei_voikko>>>,
                         sisätulento_isiin: <<$param04, <>>>,
                         sisätulento_isin: <<$param06, <ei_voikko>>>,
                         sisätulento_ihin: <<$param04, <>>>,
                         ulko_olento_illA: <<$param04, <>>, <$param06, <ei_voikko>>>,
                         ulkoeronto_iltA: <<$param04, <>>, <$param06, <ei_voikko>>>,
                         ulkotulento_ille: <<$param04, <>>, <$param06, <ei_voikko>>>,
                         vajanto_ittA: <<$param04, <>>, <$param06, <ei_voikko>>>,
                         seuranto_ine: <<$param04, <>>, <$param06, <ei_voikko>>>,
                         keinonto_in: <<$param04, <>>, <$param06, <ei_voikko>>>,
                         kerronto_sti: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         voittoaste: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         yliaste: <<$param04, <>>, <$param06, <ei_voikko>>>,
                         johdin_inen: <<$param04, <>>, <$param06, <ei_voikko>>>,
                         johdin_ittain: <<$param04, <>>, <$param06, <ei_voikko>>>,
                         johdin_lAinen: <<$param01, <>>, <$param02, <>>>,
                         johdin_llinen: <<$param02, <>>>,
                         johdin_mAinen: <<$param01, <>>>,
                         johdin_tOn: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         johdin_Us: <<$johdin_Us, <>>>,
                         tavuviiva: <<$param01, <>>>,
                         yhdyssana: <<$param01, <>>>]);
end;
subrule kirves ($tietue, $param01, $param02, $param03, $param04, $param05, $param06, $param07, $param08):
  return taivutuskaava ($tietue,
                        [nimentö: <<$param01, <>>>,
                         omistusliite: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         omanto_n: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         osanto_tA: <<$param01, <>>>,
                         olento_nA: <<$param02, <>>, <$param01, <ei_voikko>>, <$param03, <ei_voikko>>>,
                         tulento_ksi: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         sisäolento_ssA: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         sisäeronto_stA: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         sisätulento_seen: <<$param02, <>>>,
                         sisätulento_sen: <<$param03, <ei_voikko>>>,
                         ulko_olento_llA: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         ulkoeronto_ltA: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         ulkotulento_lle: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         vajanto_ttA: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         nimentö_t: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         omanto_iT: <<$param04, <>>>,
                         omanto_ten: <<$param01, <ei_voikko>>>,
                         omanto_ien: <<$param05, <ei_voikko>>>,
                         osanto_iA: <<$param05, <ei_voikko>>>,
                         osanto_itA: <<$param04, <>>>,
                         olento_inA: <<$param04, <>>, <$param05, <ei_voikko>>>,
                         tulento_iksi: <<$param04, <>>, <$param05, <ei_voikko>>>,
                         sisäolento_issA: <<$param04, <>>, <$param05, <ei_voikko>>>,
                         sisäeronto_istA: <<$param04, <>>, <$param05, <ei_voikko>>>,
                         sisätulento_isiin: <<$param04, <>>>,
                         sisätulento_isin: <<$param04, <ei_voikko>>, <$param05, <ei_voikko>>>,
                         sisätulento_ihin: <<$param04, <>>>,
                         ulko_olento_illA: <<$param04, <>>, <$param05, <ei_voikko>>>,
                         ulkoeronto_iltA: <<$param04, <>>, <$param05, <ei_voikko>>>,
                         ulkotulento_ille: <<$param04, <>>, <$param05, <ei_voikko>>>,
                         vajanto_ittA: <<$param04, <>>, <$param05, <ei_voikko>>>,
                         seuranto_ine: <<$param04, <>>, <$param05, <ei_voikko>>>,
                         keinonto_in: <<$param04, <>>, <$param05, <ei_voikko>>>,
                         kerronto_sti: <<$param04, <>>, <$param06, <ei_voikko>>>,
                         voittoaste: <<$param04, <>>, <$param06, <ei_voikko>>>,
                         yliaste: <<$param07, <>>, <$param08, <ei_voikko>>>,
                         johdin_inen: <<$param04, <>>>,
                         johdin_ittain: <<$param04, <>>>,
                         johdin_lAinen: <<$param01, <>>>,
                         johdin_llinen: <<$param02, <>>>,
                         johdin_mAinen: <<$param01, <>>>,
                         johdin_tOn: <<$param02, <>>>,
                         tavuviiva: <<$param01, <>>>,
                         yhdyssana: <<$param01, <>>>]);
end;
subrule kauris ($tietue, $param01, $param02, $param03, $param04, $param05, $param06, $param07):
  return taivutuskaava ($tietue,
                        [nimentö: <<$param01, <>>>,
                         omistusliite: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         omanto_n: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         osanto_tA: <<$param01, <>>>,
                         olento_nA: <<$param02, <>>, <$param01, <ei_voikko>>, <$param03, <ei_voikko>>>,
                         tulento_ksi: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         sisäolento_ssA: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         sisäeronto_stA: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         sisätulento_Vn: <<$param02, <>>>,
                         sisätulento_seen: <<$param02, <>>>,
                         sisätulento_sen: <<$param03, <ei_voikko>>>,
                         ulko_olento_llA: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         ulkoeronto_ltA: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         ulkotulento_lle: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         vajanto_ttA: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         nimentö_t: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         omanto_iT: <<$param04, <>>>,
                         omanto_ten: <<$param01, <ei_voikko>>>,
                         omanto_ien: <<$param05, <ei_voikko>>>,
                         osanto_itA: <<$param04, <>>>,
                         osanto_iA: <<$param05, <ei_voikko>>>,
                         olento_inA: <<$param04, <>>, <$param05, <ei_voikko>>>,
                         tulento_iksi: <<$param04, <>>, <$param05, <ei_voikko>>>,
                         sisäolento_issA: <<$param04, <>>, <$param05, <ei_voikko>>>,
                         sisäeronto_istA: <<$param04, <>>, <$param05, <ei_voikko>>>,
                         sisätulento_isiin: <<$param04, <>>>,
                         sisätulento_isin: <<$param05, <ei_voikko>>>,
                         sisätulento_ihin: <<$param04, <>>, <$param05, <ei_voikko>>>,
                         ulko_olento_illA: <<$param04, <>>, <$param05, <ei_voikko>>>,
                         ulkoeronto_iltA: <<$param04, <>>, <$param05, <ei_voikko>>>,
                         ulkotulento_ille: <<$param04, <>>, <$param05, <ei_voikko>>>,
                         vajanto_ittA: <<$param04, <>>, <$param05, <ei_voikko>>>,
                         seuranto_ine: <<$param04, <>>, <$param05, <ei_voikko>>>,
                         keinonto_in: <<$param04, <>>, <$param05, <ei_voikko>>>,
                         kerronto_sti: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         voittoaste: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         yliaste: <<$param06, <>>, <$param07, <ei_voikko>>>,
                         johdin_inen: <<$param04, <>>>,
                         johdin_ittain: <<$param04, <>>>,
                         johdin_lAinen: <<$param01, <>>>,
                         johdin_llinen: <<$param02, <>>>,
                         johdin_mAinen: <<$param01, <>>>,
                         johdin_tOn: <<$param02, <>>>,
                         johdin_Us: <<$param04, <>>>,
                         tavuviiva: <<$param01, <>>>,
                         yhdyssana: <<$param01, <>>>]);
end;
subrule kaunis ($tietue, $param01, $param02, $param03, $param04, $param05, $param06, $param07, $param08, $param09, $param10, $johdin_Us):
  return taivutuskaava ($tietue,
                        [nimentö: <<$param01, <>>>,
                         omistusliite: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         omanto_n: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         osanto_tA: <<$param04, <>>>,
                         olento_nA: <<$param02, <>>, <$param01, <ei_voikko>>, <$param03, <ei_voikko>>>,
                         tulento_ksi: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         sisäolento_ssA: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         sisäeronto_stA: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         sisätulento_seen: <<$param02, <>>>,
                         sisätulento_sen: <<$param02, <ei_voikko>>, <$param03, <ei_voikko>>>,
                         ulko_olento_llA: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         ulkoeronto_ltA: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         ulkotulento_lle: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         vajanto_ttA: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         nimentö_t: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         omanto_iT: <<$param05, <>>, <$param06, <ei_voikko>>>,
                         omanto_ien: <<$param07, <ei_voikko>>, <$param08, <ei_voikko>>>,
                         omanto_ten: <<$param01, <ei_voikko>>, <$param09, <ei_voikko>>>,
                         osanto_itA: <<$param05, <>>, <$param06, <ei_voikko>>>,
                         osanto_iA: <<$param07, <ei_voikko>>, <$param08, <ei_voikko>>>,
                         olento_inA: <<$param05, <>>, <$param06, <ei_voikko>>, <$param07, <ei_voikko>>, <$param08, <ei_voikko>>>,
                         tulento_iksi: <<$param05, <>>, <$param06, <ei_voikko>>, <$param07, <ei_voikko>>, <$param08, <ei_voikko>>>,
                         sisäolento_issA: <<$param05, <>>, <$param06, <ei_voikko>>, <$param07, <ei_voikko>>, <$param08, <ei_voikko>>>,
                         sisäeronto_istA: <<$param05, <>>, <$param06, <ei_voikko>>, <$param07, <ei_voikko>>, <$param08, <ei_voikko>>>,
                         sisätulento_ihin: <<$param05, <>>, <$param06, <ei_voikko>>>,
                         sisätulento_isiin: <<$param05, <>>, <$param06, <ei_voikko>>>,
                         sisätulento_isin: <<$param07, <ei_voikko>>, <$param08, <ei_voikko>>>,
                         ulko_olento_illA: <<$param05, <>>, <$param06, <ei_voikko>>, <$param07, <ei_voikko>>, <$param08, <ei_voikko>>>,
                         ulkoeronto_iltA: <<$param05, <>>, <$param06, <ei_voikko>>, <$param07, <ei_voikko>>, <$param08, <ei_voikko>>>,
                         ulkotulento_ille: <<$param05, <>>, <$param06, <ei_voikko>>, <$param07, <ei_voikko>>, <$param08, <ei_voikko>>>,
                         vajanto_ittA: <<$param05, <>>, <$param06, <ei_voikko>>, <$param07, <ei_voikko>>, <$param08, <ei_voikko>>>,
                         seuranto_ine: <<$param05, <>>, <$param06, <ei_voikko>>, <$param07, <ei_voikko>>, <$param08, <ei_voikko>>>,
                         keinonto_in: <<$param05, <>>, <$param06, <ei_voikko>>, <$param07, <ei_voikko>>, <$param08, <ei_voikko>>>,
                         kerronto_sti: <<$param02, <>>, <$param03, <ei_voikko>>, <$param10, <ei_voikko>>>,
                         voittoaste: <<$param02, <>>, <$param03, <ei_voikko>>, <$param10, <ei_voikko>>>,
                         yliaste: <<$param06, <>>, <$param08, <ei_voikko>>>,
                         johdin_Us: <<$johdin_Us, <>>>,
                         tavuviiva: <<$param01, <>>>,
                         yhdyssana: <<$param01, <>>>]);
end;
subrule koiras ($tietue, $param01, $param02, $param03, $param04, $param05, $param06, $param07, $param08):
  return taivutuskaava ($tietue,
                        [nimentö: <<$param01, <>>>,
                         omistusliite: <<$param02, <>>, <$param03, <>>, <$param04, <ei_voikko>>>,
                         omanto_n: <<$param02, <>>, <$param03, <>>, <$param04, <ei_voikko>>>,
                         osanto_tA: <<$param01, <>>>,
                         olento_nA: <<$param02, <>>, <$param03, <>>, <$param04, <ei_voikko>>, <$param01, <ei_voikko>>>,
                         tulento_ksi: <<$param02, <>>, <$param03, <>>, <$param04, <ei_voikko>>>,
                         sisäolento_ssA: <<$param02, <>>, <$param03, <>>, <$param04, <ei_voikko>>>,
                         sisäeronto_stA: <<$param02, <>>, <$param03, <>>, <$param04, <ei_voikko>>>,
                         sisätulento_seen: <<$param02, <>>>,
                         sisätulento_sen: <<$param04, <ei_voikko>>>,
                         sisätulento_Vn: <<$param03, <>>>,
                         ulko_olento_llA: <<$param02, <>>, <$param03, <>>, <$param04, <ei_voikko>>>,
                         ulkoeronto_ltA: <<$param02, <>>, <$param03, <>>, <$param04, <ei_voikko>>>,
                         ulkotulento_lle: <<$param02, <>>, <$param03, <>>, <$param04, <ei_voikko>>>,
                         vajanto_ttA: <<$param02, <>>, <$param03, <>>, <$param04, <ei_voikko>>>,
                         nimentö_t: <<$param02, <>>, <$param04, <ei_voikko>>>,
                         omanto_ien: <<$param05, <>>, <$param06, <ei_voikko>>>,
                         omanto_iT: <<$param07, <>>>,
                         omanto_ten: <<$param01, <>>, <$param08, <ei_voikko>>>,
                         osanto_iA: <<$param05, <>>, <$param06, <ei_voikko>>>,
                         osanto_itA: <<$param07, <>>>,
                         olento_inA: <<$param07, <>>, <$param05, <>>, <$param06, <ei_voikko>>>,
                         tulento_iksi: <<$param07, <>>, <$param05, <>>, <$param06, <ei_voikko>>>,
                         sisäolento_issA: <<$param07, <>>, <$param05, <>>, <$param06, <ei_voikko>>>,
                         sisäeronto_istA: <<$param07, <>>, <$param05, <>>, <$param06, <ei_voikko>>>,
                         sisätulento_ihin: <<$param07, <>>, <$param05, <vanha_h>>>,
                         sisätulento_isiin: <<$param07, <>>>,
                         sisätulento_isin: <<$param06, <ei_voikko>>>,
                         sisätulento_iin: <<$param05, <>>>,
                         ulko_olento_illA: <<$param07, <>>, <$param05, <>>, <$param06, <ei_voikko>>>,
                         ulkoeronto_iltA: <<$param07, <>>, <$param05, <>>, <$param06, <ei_voikko>>>,
                         ulkotulento_ille: <<$param07, <>>, <$param05, <>>, <$param06, <ei_voikko>>>,
                         vajanto_ittA: <<$param07, <>>, <$param05, <>>, <$param06, <ei_voikko>>>,
                         seuranto_ine: <<$param07, <>>, <$param05, <>>, <$param06, <ei_voikko>>>,
                         keinonto_in: <<$param07, <>>, <$param05, <>>, <$param06, <ei_voikko>>>,
                         johdin_inen: <<$param05, <>>, <$param06, <ei_voikko>>>,
                         johdin_ittain: <<$param07, <>>, <$param05, <>>, <$param06, <ei_voikko>>>,
                         johdin_lAinen: <<$param01, <>>, <$param03, <>>>,
                         johdin_llinen: <<$param03, <>>>,
                         johdin_mAinen: <<$param01, <>>>,
                         johdin_tOn: <<$param02, <>>, <$param03, <>>, <$param04, <ei_voikko>>>,
                         tavuviiva: <<$param01, <>>>,
                         yhdyssana: <<$param01, <>>>]);
end;
subrule uros ($tietue, $param01, $param02, $param03, $param04, $param05, $param06, $param07, $param08):
  return taivutuskaava ($tietue,
                        [nimentö: <<$param01, <>>>,
                         omistusliite: <<$param02, <>>, <$param03, <>>, <$param04, <ei_voikko>>>,
                         omanto_n: <<$param02, <>>, <$param03, <>>, <$param04, <ei_voikko>>>,
                         osanto_tA: <<$param01, <>>>,
                         olento_nA: <<$param02, <>>, <$param03, <>>, <$param04, <ei_voikko>>, <$param01, <ei_voikko>>>,
                         tulento_ksi: <<$param02, <>>, <$param03, <>>, <$param04, <ei_voikko>>>,
                         sisäolento_ssA: <<$param02, <>>, <$param03, <>>, <$param04, <ei_voikko>>>,
                         sisäeronto_stA: <<$param02, <>>, <$param03, <>>, <$param04, <ei_voikko>>>,
                         sisätulento_seen: <<$param02, <>>>,
                         sisätulento_sen: <<$param04, <ei_voikko>>>,
                         sisätulento_Vn: <<$param03, <>>>,
                         ulko_olento_llA: <<$param02, <>>, <$param03, <>>, <$param04, <ei_voikko>>>,
                         ulkoeronto_ltA: <<$param02, <>>, <$param03, <>>, <$param04, <ei_voikko>>>,
                         ulkotulento_lle: <<$param02, <>>, <$param03, <>>, <$param04, <ei_voikko>>>,
                         vajanto_ttA: <<$param02, <>>, <$param03, <>>, <$param04, <ei_voikko>>>,
                         nimentö_t: <<$param03, <>>, <$param02, <>>, <$param04, <ei_voikko>>>,
                         omanto_ien: <<$param05, <>>, <$param06, <ei_voikko>>>,
                         omanto_iT: <<$param07, <>>>,
                         omanto_ten: <<$param01, <>>, <$param08, <ei_voikko>>>,
                         osanto_iA: <<$param05, <>>, <$param06, <ei_voikko>>>,
                         osanto_itA: <<$param07, <>>>,
                         olento_inA: <<$param07, <>>, <$param05, <>>, <$param06, <ei_voikko>>>,
                         tulento_iksi: <<$param07, <>>, <$param05, <>>, <$param06, <ei_voikko>>>,
                         sisäolento_issA: <<$param07, <>>, <$param05, <>>, <$param06, <ei_voikko>>>,
                         sisäeronto_istA: <<$param07, <>>, <$param05, <>>, <$param06, <ei_voikko>>>,
                         sisätulento_ihin: <<$param07, <>>>,
                         sisätulento_isiin: <<$param07, <>>>,
                         sisätulento_isin: <<$param06, <ei_voikko>>>,
                         sisätulento_iin: <<$param05, <>>>,
                         ulko_olento_illA: <<$param07, <>>, <$param05, <>>, <$param06, <ei_voikko>>>,
                         ulkoeronto_iltA: <<$param07, <>>, <$param05, <>>, <$param06, <ei_voikko>>>,
                         ulkotulento_ille: <<$param07, <>>, <$param05, <>>, <$param06, <ei_voikko>>>,
                         vajanto_ittA: <<$param07, <>>, <$param05, <>>, <$param06, <ei_voikko>>>,
                         seuranto_ine: <<$param07, <>>, <$param05, <>>, <$param06, <ei_voikko>>>,
                         keinonto_in: <<$param07, <>>, <$param05, <>>, <$param06, <ei_voikko>>>,
                         johdin_inen: <<$param05, <>>, <$param06, <ei_voikko>>>,
                         johdin_ittain: <<$param07, <>>, <$param05, <>>, <$param06, <ei_voikko>>>,
                         johdin_lAinen: <<$param01, <>>, <$param03, <>>>,
                         johdin_llinen: <<$param03, <>>>,
                         johdin_mAinen: <<$param01, <>>>,
                         johdin_tOn: <<$param02, <>>, <$param03, <>>, <$param04, <ei_voikko>>>,
                         tavuviiva: <<$param01, <>>>,
                         yhdyssana: <<$param01, <>>>]);
end;
subrule mies ($tietue, $param01, $param02, $param03):
  return taivutuskaava ($tietue,
                        [nimentö: <<$param01, <>>>,
                         omistusliite: <<$param02, <>>>,
                         omanto_n: <<$param02, <>>>,
                         osanto_tA: <<$param01, <>>>,
                         olento_nA: <<$param02, <>>, <$param01, <ei_voikko>>>,
                         olento_sA: <<$param01, <ei_voikko>>>,
                         tulento_ksi: <<$param02, <>>>,
                         sisäolento_ssA: <<$param02, <>>>,
                         sisäeronto_stA: <<$param02, <>>>,
                         sisätulento_Vn: <<$param02, <>>>,
                         ulko_olento_llA: <<$param02, <>>>,
                         ulkoeronto_ltA: <<$param02, <>>>,
                         ulkotulento_lle: <<$param02, <>>>,
                         vajanto_ttA: <<$param02, <>>>,
                         nimentö_t: <<$param02, <>>>,
                         omanto_ien: <<$param03, <>>>,
                         omanto_ten: <<$param01, <>>>,
                         osanto_iA: <<$param03, <>>>,
                         olento_inA: <<$param03, <>>>,
                         tulento_iksi: <<$param03, <>>>,
                         sisäolento_issA: <<$param03, <>>>,
                         sisäeronto_istA: <<$param03, <>>>,
                         sisätulento_iin: <<$param03, <>>>,
                         sisätulento_ihin: <<$param03, <vanha_h>>>,
                         ulko_olento_illA: <<$param03, <>>>,
                         ulkoeronto_iltA: <<$param03, <>>>,
                         ulkotulento_ille: <<$param03, <>>>,
                         vajanto_ittA: <<$param03, <>>>,
                         seuranto_ine: <<$param03, <>>>,
                         keinonto_in: <<$param03, <>>>,
                         johdin_inen: <<$param03, <>>>,
                         johdin_ittain: <<$param03, <>>>,
                         johdin_lAinen: <<$param01, <>>>,
                         johdin_llinen: <<$param02, <>>>,
                         johdin_mAinen: <<$param01, <>>>,
                         johdin_tOn: <<$param02, <>>>,
                         tavuviiva: <<$param01, <>>>,
                         yhdyssana: <<$param01, <>>>]);
end;
subrule airut ($tietue, $param01, $param02, $param03, $param04, $param05, $param06):
  return taivutuskaava ($tietue,
                        [nimentö: <<$param01, <>>>,
                         omistusliite: <<$param02, <>>>,
                         omanto_n: <<$param02, <>>>,
                         osanto_ttA: <<$param03, <>>>,
                         olento_nA: <<$param02, <>>>,
                         tulento_ksi: <<$param02, <>>>,
                         sisäolento_ssA: <<$param02, <>>>,
                         sisäeronto_stA: <<$param02, <>>>,
                         sisätulento_Vn: <<$param02, <>>>,
                         sisätulento_hVn: <<$param02, <vanha_h>>>,
                         ulko_olento_llA: <<$param02, <>>>,
                         ulkoeronto_ltA: <<$param02, <>>>,
                         ulkotulento_lle: <<$param02, <>>>,
                         vajanto_ttA: <<$param02, <>>>,
                         nimentö_t: <<$param02, <>>>,
                         omanto_iT: <<$param03, <>>, <$param02, <ei_voikko>>>,
                         omanto_ten: <<$param01, <ei_voikko>>, <$param04, <ei_voikko>>>,
                         omanto_ien: <<$param05, <ei_voikko>>>,
                         osanto_iA: <<$param05, <ei_voikko>>>,
                         osanto_itA: <<$param03, <>>, <$param02, <ei_voikko>>>,
                         olento_inA: <<$param03, <>>, <$param02, <ei_voikko>>, <$param05, <ei_voikko>>>,
                         tulento_iksi: <<$param03, <>>, <$param02, <ei_voikko>>, <$param05, <ei_voikko>>>,
                         sisäolento_issA: <<$param03, <>>, <$param02, <ei_voikko>>, <$param05, <ei_voikko>>>,
                         sisäeronto_istA: <<$param03, <>>, <$param02, <ei_voikko>>, <$param05, <ei_voikko>>>,
                         sisätulento_ihin: <<$param03, <>>>,
                         sisätulento_isiin: <<$param03, <>>, <$param02, <ei_voikko>>>,
                         sisätulento_eseen: <<$param02, <ei_voikko>>>,
                         sisätulento_isin: <<$param05, <ei_voikko>>>,
                         ulko_olento_illA: <<$param03, <>>, <$param02, <ei_voikko>>, <$param05, <ei_voikko>>>,
                         ulkoeronto_iltA: <<$param03, <>>, <$param02, <ei_voikko>>, <$param05, <ei_voikko>>>,
                         ulkotulento_ille: <<$param03, <>>, <$param02, <ei_voikko>>, <$param05, <ei_voikko>>>,
                         vajanto_ittA: <<$param03, <>>, <$param02, <ei_voikko>>, <$param05, <ei_voikko>>>,
                         seuranto_ine: <<$param03, <>>, <$param05, <ei_voikko>>>,
                         keinonto_in: <<$param03, <>>, <$param05, <ei_voikko>>>,
                         kerronto_sti: <<$param02, <>>>,
                         voittoaste: <<$param02, <>>>,
                         yliaste: <<$param03, <>>>,
                         johdin_inen: <<$param03, <>>, <$param02, <ei_voikko>>, <$param05, <>>>,
                         johdin_ittain: <<$param03, <>>, <$param05, <ei_voikko>>>,
                         johdin_lAinen: <<$param01, <>>>,
                         johdin_llinen: <<$param02, <>>>,
                         johdin_mAinen: <<$param01, <>>>,
                         johdin_tOn: <<$param02, <>>, <$param06, <ei_voikko>>>,
                         johdin_Us: <<$param03, <>>>,
                         tavuviiva: <<$param01, <>>>,
                         yhdyssana: <<$param01, <>>>]);
end;
subrule neitsyt ($tietue, $param01, $param02, $param03, $param04, $param05, $param06, $param07, $param08, $param09, $param10):
  return taivutuskaava ($tietue,
                        [nimentö: <<$param01, <>>>,
                         omistusliite: <<$param02, <>>, <$param03, <ei_voikko>>, <$param04, <ei_voikko>>>,
                         omanto_n: <<$param02, <>>, <$param03, <ei_voikko>>, <$param04, <ei_voikko>>>,
                         osanto_ttA: <<$param05, <>>>,
                         olento_nA: <<$param02, <>>, <$param03, <ei_voikko>>, <$param04, <ei_voikko>>>,
                         tulento_ksi: <<$param02, <>>, <$param03, <ei_voikko>>, <$param04, <ei_voikko>>>,
                         sisäolento_ssA: <<$param02, <>>, <$param03, <ei_voikko>>, <$param04, <ei_voikko>>>,
                         sisäeronto_stA: <<$param02, <>>, <$param03, <ei_voikko>>, <$param04, <ei_voikko>>>,
                         sisätulento_Vn: <<$param02, <>>>,
                         sisätulento_hVn: <<$param03, <vanha_h>>, <$param02, <vanha_h>>>,
                         sisätulento_seen: <<$param04, <ei_voikko>>>,
                         ulko_olento_llA: <<$param02, <>>, <$param03, <ei_voikko>>, <$param04, <ei_voikko>>>,
                         ulkoeronto_ltA: <<$param02, <>>, <$param03, <ei_voikko>>, <$param04, <ei_voikko>>>,
                         ulkotulento_lle: <<$param02, <>>, <$param03, <ei_voikko>>, <$param04, <ei_voikko>>>,
                         vajanto_ttA: <<$param02, <>>, <$param03, <ei_voikko>>, <$param04, <ei_voikko>>>,
                         nimentö_t: <<$param02, <>>, <$param03, <ei_voikko>>, <$param04, <ei_voikko>>>,
                         omanto_iT: <<$param05, <>>, <$param02, <ei_voikko>>, <$param06, <ei_voikko>>>,
                         omanto_ten: <<$param01, <ei_voikko>>, <$param07, <ei_voikko>>, <$param08, <ei_voikko>>>,
                         omanto_ien: <<$param09, <ei_voikko>>, <$param10, <ei_voikko>>>,
                         osanto_iA: <<$param09, <ei_voikko>>, <$param10, <ei_voikko>>>,
                         osanto_itA: <<$param05, <>>, <$param02, <ei_voikko>>, <$param06, <ei_voikko>>>,
                         olento_inA: <<$param05, <>>, <$param02, <ei_voikko>>, <$param09, <ei_voikko>>, <$param06, <ei_voikko>>, <$param10, <ei_voikko>>>,
                         tulento_iksi: <<$param05, <>>, <$param02, <ei_voikko>>, <$param09, <ei_voikko>>, <$param06, <ei_voikko>>, <$param10, <ei_voikko>>>,
                         sisäolento_issA: <<$param05, <>>, <$param02, <ei_voikko>>, <$param09, <ei_voikko>>, <$param06, <ei_voikko>>, <$param10, <ei_voikko>>>,
                         sisäeronto_istA: <<$param05, <>>, <$param02, <ei_voikko>>, <$param09, <ei_voikko>>, <$param06, <ei_voikko>>, <$param10, <ei_voikko>>>,
                         sisätulento_ihin: <<$param05, <>>, <$param02, <ei_voikko>>, <$param09, <ei_voikko>>, <$param06, <ei_voikko>>, <$param10, <ei_voikko>>>,
                         sisätulento_isiin: <<$param05, <>>, <$param02, <ei_voikko>>>,
                         sisätulento_isin: <<$param09, <ei_voikko>>, <$param10, <ei_voikko>>>,
                         ulko_olento_illA: <<$param05, <>>, <$param02, <ei_voikko>>, <$param09, <ei_voikko>>, <$param06, <ei_voikko>>, <$param10, <ei_voikko>>>,
                         ulkoeronto_iltA: <<$param05, <>>, <$param02, <ei_voikko>>, <$param09, <ei_voikko>>, <$param06, <ei_voikko>>, <$param10, <ei_voikko>>>,
                         ulkotulento_ille: <<$param05, <>>, <$param02, <ei_voikko>>, <$param09, <ei_voikko>>, <$param06, <ei_voikko>>, <$param10, <ei_voikko>>>,
                         vajanto_ittA: <<$param05, <>>, <$param02, <ei_voikko>>, <$param09, <ei_voikko>>, <$param06, <ei_voikko>>, <$param10, <ei_voikko>>>,
                         seuranto_ine: <<$param05, <>>, <$param02, <ei_voikko>>, <$param09, <ei_voikko>>, <$param06, <ei_voikko>>, <$param10, <ei_voikko>>>,
                         keinonto_in: <<$param05, <>>, <$param02, <ei_voikko>>, <$param09, <ei_voikko>>, <$param06, <ei_voikko>>, <$param10, <ei_voikko>>>,
                         johdin_inen: <<$param05, <>>, <$param09, <ei_voikko>>, <$param06, <ei_voikko>>, <$param10, <ei_voikko>>>,
                         johdin_ittain: <<$param05, <>>, <$param09, <ei_voikko>>, <$param06, <ei_voikko>>, <$param10, <ei_voikko>>>,
                         johdin_lAinen: <<$param01, <>>>,
                         johdin_llinen: <<$param02, <>>, <$param03, <ei_voikko>>, <$param04, <>>>,
                         johdin_mAinen: <<$param01, <>>>,
                         johdin_tOn: <<$param02, <>>, <$param03, <ei_voikko>>, <$param04, <>>>,
                         johdin_Us: <<$param05, <>>, <$param06, <ei_voikko>>>,
                         tavuviiva: <<$param01, <>>>,
                         yhdyssana: <<$param01, <>>>]);
end;
subrule kevät ($tietue, $param01, $param02, $param03, $param04, $param05, $param06):
  return taivutuskaava ($tietue,
                        [nimentö: <<$param01, <>>>,
                         omistusliite: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         omanto_n: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         osanto_tA: <<$param01, <>>>,
                         olento_nA: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         tulento_ksi: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         sisäolento_ssA: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         sisäeronto_stA: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         sisätulento_seen: <<$param02, <>>>,
                         sisätulento_sen: <<$param03, <ei_voikko,ei_voikko>>>,
                         ulko_olento_llA: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         ulkoeronto_ltA: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         ulkotulento_lle: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         vajanto_ttA: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         nimentö_t: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         omanto_iT: <<$param04, <>>>,
                         omanto_ten: <<$param01, <ei_voikko>>, <$param05, <ei_voikko>>>,
                         omanto_ien: <<$param06, <ei_voikko>>>,
                         osanto_itA: <<$param04, <>>>,
                         osanto_iA: <<$param06, <ei_voikko>>>,
                         olento_inA: <<$param04, <>>, <$param06, <ei_voikko>>>,
                         tulento_iksi: <<$param04, <>>, <$param06, <ei_voikko>>>,
                         sisäolento_issA: <<$param04, <>>, <$param06, <ei_voikko>>>,
                         sisäeronto_istA: <<$param04, <>>, <$param06, <ei_voikko>>>,
                         sisätulento_isiin: <<$param04, <>>>,
                         sisätulento_ihin: <<$param04, <>>>,
                         sisätulento_isin: <<$param06, <ei_voikko,ei_voikko>>>,
                         ulko_olento_illA: <<$param04, <>>, <$param06, <ei_voikko>>>,
                         ulkoeronto_iltA: <<$param04, <>>, <$param06, <ei_voikko>>>,
                         ulkotulento_ille: <<$param04, <>>, <$param06, <ei_voikko>>>,
                         vajanto_ittA: <<$param04, <>>, <$param06, <ei_voikko>>>,
                         seuranto_ine: <<$param04, <>>, <$param06, <ei_voikko>>>,
                         keinonto_in: <<$param04, <>>, <$param06, <ei_voikko>>>,
                         johdin_inen: <<$param04, <>>, <$param06, <ei_voikko>>>,
                         johdin_ittain: <<$param04, <>>, <$param06, <ei_voikko>>>,
                         johdin_llinen: <<$param02, <>>>,
                         johdin_mAinen: <<$param01, <>>>,
                         johdin_tOn: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         tavuviiva: <<$param01, <>>>,
                         yhdyssana: <<$param01, <>>>]);
end;
subrule kahdeksas ($tietue, $param01, $param02, $param03, $param04, $param05, $param06):
  return taivutuskaava ($tietue,
                        [nimentö: <<$param01, <>>>,
                         omistusliite: <<$param02, <>>>,
                         omanto_n: <<$param03, <>>>,
                         osanto_ttA: <<$param04, <>>>,
                         olento_nA: <<$param02, <>>, <$param05, <ei_voikko>>>,
                         tulento_ksi: <<$param03, <>>>,
                         sisäolento_ssA: <<$param03, <>>>,
                         sisäeronto_stA: <<$param03, <>>>,
                         sisätulento_Vn: <<$param02, <>>>,
                         sisätulento_hVn: <<$param02, <vanha_h>>>,
                         ulko_olento_llA: <<$param03, <>>>,
                         ulkoeronto_ltA: <<$param03, <>>>,
                         ulkotulento_lle: <<$param03, <>>>,
                         vajanto_ttA: <<$param03, <>>>,
                         nimentö_t: <<$param03, <>>>,
                         omanto_ien: <<$param06, <>>>,
                         osanto_iA: <<$param06, <>>>,
                         olento_inA: <<$param06, <>>>,
                         tulento_iksi: <<$param06, <>>>,
                         sisäolento_issA: <<$param06, <>>>,
                         sisäeronto_istA: <<$param06, <>>>,
                         sisätulento_iin: <<$param06, <>>>,
                         sisätulento_ihin: <<$param06, <vanha_h>>>,
                         ulko_olento_illA: <<$param06, <>>>,
                         ulkoeronto_iltA: <<$param06, <>>>,
                         ulkotulento_ille: <<$param06, <>>>,
                         vajanto_ittA: <<$param06, <>>>,
                         seuranto_ine: <<$param06, <>>>,
                         keinonto_in: <<$param06, <>>>,
                         kerronto_sti: <<$param03, <>>>,
                         tavuviiva: <<$param01, <>>>,
                         yhdyssana: <<$param01, <>>>]);
end;
subrule tuhat ($tietue, $param01, $param02, $param03, $param04, $param05, $param06, $param07):
  return taivutuskaava ($tietue,
                        [nimentö: <<$param01, <>>>,
                         omistusliite: <<$param02, <>>>,
                         omanto_n: <<$param03, <>>>,
                         osanto_ttA: <<$param04, <>>>,
                         olento_nA: <<$param02, <>>>,
                         tulento_ksi: <<$param03, <>>>,
                         sisäolento_ssA: <<$param03, <>>>,
                         sisäeronto_stA: <<$param03, <>>>,
                         sisätulento_Vn: <<$param02, <>>>,
                         sisätulento_hVn: <<$param02, <vanha_h>>>,
                         ulko_olento_llA: <<$param03, <>>>,
                         ulkoeronto_ltA: <<$param03, <>>>,
                         ulkotulento_lle: <<$param03, <>>>,
                         vajanto_ttA: <<$param03, <>>>,
                         nimentö_t: <<$param03, <>>>,
                         omanto_ien: <<$param05, <>>>,
                         omanto_ten: <<$param06, <>>>,
                         osanto_iA: <<$param05, <>>>,
                         olento_inA: <<$param05, <>>>,
                         tulento_iksi: <<$param05, <>>>,
                         sisäolento_issA: <<$param05, <>>>,
                         sisäeronto_istA: <<$param05, <>>>,
                         sisätulento_iin: <<$param05, <>>>,
                         sisätulento_ihin: <<$param05, <vanha_h>>>,
                         ulko_olento_illA: <<$param05, <>>>,
                         ulkoeronto_iltA: <<$param05, <>>>,
                         ulkotulento_ille: <<$param05, <>>>,
                         vajanto_ittA: <<$param05, <>>>,
                         seuranto_ine: <<$param05, <>>>,
                         keinonto_in: <<$param05, <>>>,
                         kerronto_sti: <<$param03, <>>>,
                         johdin_inen: <<$param07, <>>, <$param05, <>>>,
                         johdin_ittain: <<$param05, <>>>,
                         tavuviiva: <<$param01, <>>>,
                         yhdyssana: <<$param01, <>>>]);
end;
subrule kuollut ($tietue, $param01, $param02, $param03, $param04, $param05, $param06):
  return taivutuskaava ($tietue,
                        [nimentö: <<$param01, <>>>,
                         omistusliite: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         omanto_n: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         osanto_tA: <<$param01, <>>>,
                         olento_nA: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         tulento_ksi: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         sisäolento_ssA: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         sisäeronto_stA: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         sisätulento_seen: <<$param02, <>>>,
                         sisätulento_hVn: <<$param04, <vanha_h>>>,
                         sisätulento_sen: <<$param03, <ei_voikko>>>,
                         ulko_olento_llA: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         ulkoeronto_ltA: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         ulkotulento_lle: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         vajanto_ttA: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         nimentö_t: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         omanto_iT: <<$param04, <>>>,
                         omanto_ten: <<$param01, <ei_voikko>>, <$param05, <ei_voikko>>>,
                         omanto_ien: <<$param06, <ei_voikko>>>,
                         osanto_itA: <<$param04, <>>>,
                         osanto_iA: <<$param06, <ei_voikko>>>,
                         olento_inA: <<$param04, <>>, <$param06, <ei_voikko>>>,
                         tulento_iksi: <<$param04, <>>, <$param06, <ei_voikko>>>,
                         sisäolento_issA: <<$param04, <>>, <$param06, <ei_voikko>>>,
                         sisäeronto_istA: <<$param04, <>>, <$param06, <ei_voikko>>>,
                         sisätulento_isiin: <<$param04, <>>>,
                         sisätulento_ihin: <<$param04, <>>>,
                         sisätulento_isin: <<$param06, <ei_voikko>>>,
                         ulko_olento_illA: <<$param04, <>>, <$param06, <ei_voikko>>>,
                         ulkoeronto_iltA: <<$param04, <>>, <$param06, <ei_voikko>>>,
                         ulkotulento_ille: <<$param04, <>>, <$param06, <ei_voikko>>>,
                         vajanto_ittA: <<$param04, <>>, <$param06, <ei_voikko>>>,
                         seuranto_ine: <<$param04, <>>, <$param06, <ei_voikko>>>,
                         keinonto_in: <<$param04, <>>, <$param06, <ei_voikko>>>,
                         kerronto_sti: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         voittoaste: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         yliaste: <<$param04, <>>, <$param06, <ei_voikko>>>,
                         tavuviiva: <<$param01, <>>>,
                         yhdyssana: <<$param01, <>>>]);
end;
subrule alkeet ($tietue, $param01, $param02, $param03, $param04):
  return taivutuskaava ($tietue,
                        [nimentö_t: <<$param01, <>>, <$param02, <vanha_h>>>,
                         omanto_iT: <<$param03, <>>>,
                         osanto_itA: <<$param03, <>>>,
                         olento_inA: <<$param03, <>>>,
                         tulento_iksi: <<$param03, <>>>,
                         sisäolento_issA: <<$param03, <>>>,
                         sisäeronto_istA: <<$param03, <>>>,
                         sisätulento_isiin: <<$param03, <>>>,
                         sisätulento_ihin: <<$param03, <>>>,
                         ulko_olento_illA: <<$param03, <>>>,
                         ulkoeronto_iltA: <<$param03, <>>>,
                         ulkotulento_ille: <<$param03, <>>>,
                         vajanto_ittA: <<$param03, <>>>,
                         seuranto_ine: <<$param03, <>>>,
                         keinonto_in: <<$param03, <>>>,
                         johdin_inen: <<$param03, <>>>,
                         johdin_ittain: <<$param03, <>>>,
                         johdin_llinen: <<$param01, <>>>,
                         johdin_tOn: <<$param01, <>>>,
                         loppu: <<$param04, <ei_voikko>>>,
                         tavuviiva: <<$param04, <>>>,
                         yhdyssana: <<$param04, <>>>]);
end;
subrule hame ($tietue, $param01, $param02, $param03, $param04, $param05, $param06, $param07):
  return taivutuskaava ($tietue,
                        [nimentö: <<$param01, <>>>,
                         omistusliite: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         omanto_n: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         osanto_ttA: <<$param01, <>>>,
                         olento_nA: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         tulento_ksi: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         sisäolento_ssA: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         sisäeronto_stA: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         sisätulento_seen: <<$param02, <>>>,
                         sisätulento_sen: <<$param02, <ei_voikko>>, <$param03, <ei_voikko>>>,
                         ulko_olento_llA: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         ulkoeronto_ltA: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         ulkotulento_lle: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         vajanto_ttA: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         nimentö_t: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         omanto_iT: <<$param04, <>>>,
                         omanto_ten: <<$param05, <ei_voikko>>, <$param06, <ei_voikko>>>,
                         omanto_ien: <<$param07, <ei_voikko>>>,
                         osanto_itA: <<$param04, <>>, <$param07, <ei_voikko>>>,
                         osanto_iA: <<$param07, <ei_voikko>>>,
                         olento_inA: <<$param04, <>>, <$param07, <ei_voikko>>>,
                         tulento_iksi: <<$param04, <>>, <$param07, <ei_voikko>>>,
                         sisäolento_issA: <<$param04, <>>, <$param07, <ei_voikko>>>,
                         sisäeronto_istA: <<$param04, <>>, <$param07, <ei_voikko>>>,
                         sisätulento_isiin: <<$param04, <>>, <$param07, <ei_voikko>>>,
                         sisätulento_ihin: <<$param04, <>>>,
                         sisätulento_isin: <<$param07, <ei_voikko>>>,
                         ulko_olento_illA: <<$param04, <>>, <$param07, <ei_voikko>>>,
                         ulkoeronto_iltA: <<$param04, <>>, <$param07, <ei_voikko>>>,
                         ulkotulento_ille: <<$param04, <>>, <$param07, <ei_voikko>>>,
                         vajanto_ittA: <<$param04, <>>, <$param07, <ei_voikko>>>,
                         seuranto_ine: <<$param04, <>>, <$param07, <ei_voikko>>>,
                         keinonto_in: <<$param04, <>>, <$param07, <ei_voikko>>>,
                         kerronto_sti: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         voittoaste: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         yliaste: <<$param04, <>>, <$param07, <ei_voikko>>>,
                         johdin_inen: <<$param04, <>>, <$param07, <ei_voikko>>>,
                         johdin_ittain: <<$param04, <>>, <$param07, <ei_voikko>>>,
                         johdin_lAinen: <<$param01, <>>>,
                         johdin_llinen: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         johdin_mAinen: <<$param01, <>>>,
                         johdin_tOn: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         johdin_Us: <<$param04, <>>>,
                         tavuviiva: <<$param01, <>>>,
                         yhdyssana: <<$param01, <>>>]);
end;
subrule osoite ($tietue, $param01, $param02, $param03, $param04, $param05, $param06):
  return taivutuskaava ($tietue,
                        [nimentö: <<$param01, <>>, <$param02, <>>>,
                         omistusliite: <<$param03, <>>, <$param04, <>>>,
                         omanto_n: <<$param03, <>>, <$param04, <>>>,
                         osanto_ttA: <<$param01, <>>, <$param02, <>>>,
                         olento_nA: <<$param03, <>>, <$param04, <>>>,
                         tulento_ksi: <<$param03, <>>, <$param04, <>>>,
                         sisäolento_ssA: <<$param03, <>>, <$param04, <>>>,
                         sisäeronto_stA: <<$param03, <>>, <$param04, <>>>,
                         sisätulento_seen: <<$param03, <>>, <$param04, <>>>,
                         ulko_olento_llA: <<$param03, <>>, <$param04, <>>>,
                         ulkoeronto_ltA: <<$param03, <>>, <$param04, <>>>,
                         ulkotulento_lle: <<$param03, <>>, <$param04, <>>>,
                         vajanto_ttA: <<$param03, <>>, <$param04, <>>>,
                         nimentö_t: <<$param03, <>>, <$param04, <>>>,
                         omanto_iT: <<$param05, <>>, <$param06, <>>>,
                         osanto_itA: <<$param05, <>>, <$param06, <>>>,
                         olento_inA: <<$param05, <>>, <$param06, <>>>,
                         tulento_iksi: <<$param05, <>>, <$param06, <>>>,
                         sisäolento_issA: <<$param05, <>>, <$param06, <>>>,
                         sisäeronto_istA: <<$param05, <>>, <$param06, <>>>,
                         sisätulento_isiin: <<$param05, <>>, <$param06, <>>>,
                         sisätulento_ihin: <<$param05, <>>, <$param06, <>>>,
                         ulko_olento_illA: <<$param05, <>>, <$param06, <>>>,
                         ulkoeronto_iltA: <<$param05, <>>, <$param06, <>>>,
                         ulkotulento_ille: <<$param05, <>>, <$param06, <>>>,
                         vajanto_ittA: <<$param05, <>>, <$param06, <>>>,
                         seuranto_ine: <<$param05, <>>, <$param06, <>>>,
                         keinonto_in: <<$param05, <>>, <$param06, <>>>,
                         kerronto_sti: <<$param03, <>>, <$param04, <>>>,
                         voittoaste: <<$param03, <>>, <$param04, <>>>,
                         yliaste: <<$param05, <>>, <$param06, <>>>,
                         johdin_inen: <<$param05, <>>, <$param06, <>>>,
                         johdin_ittain: <<$param05, <>>, <$param06, <>>>,
                         johdin_lAinen: <<$param01, <>>, <$param02, <>>>,
                         johdin_llinen: <<$param03, <>>, <$param04, <>>>,
                         johdin_mAinen: <<$param01, <>>, <$param02, <>>>,
                         johdin_tOn: <<$param03, <>>, <$param04, <>>>,
                         johdin_Us: <<$param05, <>>, <$param06, <>>>,
                         tavuviiva: <<$param01, <>>, <$param02, <>>>,
                         yhdyssana: <<$param01, <>>, <$param02, <>>>]);
end;
subrule viive ($tietue, $param01, $param02, $param03, $param04):
  return taivutuskaava ($tietue,
                        [nimentö: <<$param01, <>>>,
                         omistusliite: <<$param02, <>>, <$param03, <>>>,
                         omanto_n: <<$param02, <>>, <$param03, <>>>,
                         osanto_ttA: <<$param01, <>>>,
                         olento_nA: <<$param02, <>>, <$param03, <>>>,
                         tulento_ksi: <<$param02, <>>, <$param03, <>>>,
                         sisäolento_ssA: <<$param02, <>>, <$param03, <>>>,
                         sisäeronto_stA: <<$param02, <>>, <$param03, <>>>,
                         sisätulento_seen: <<$param02, <>>, <$param03, <>>>,
                         ulko_olento_llA: <<$param02, <>>, <$param03, <>>>,
                         ulkoeronto_ltA: <<$param02, <>>, <$param03, <>>>,
                         ulkotulento_lle: <<$param02, <>>, <$param03, <>>>,
                         vajanto_ttA: <<$param02, <>>, <$param03, <>>>,
                         nimentö_t: <<$param02, <>>, <$param03, <>>>,
                         omanto_iT: <<$param04, <>>, <$param01, <>>>,
                         osanto_itA: <<$param04, <>>, <$param01, <>>>,
                         olento_inA: <<$param04, <>>, <$param01, <>>>,
                         tulento_iksi: <<$param04, <>>, <$param01, <>>>,
                         sisäolento_issA: <<$param04, <>>, <$param01, <>>>,
                         sisäeronto_istA: <<$param04, <>>, <$param01, <>>>,
                         sisätulento_isiin: <<$param04, <>>>,
                         sisätulento_ihin: <<$param04, <>>, <$param01, <>>>,
                         ulko_olento_illA: <<$param04, <>>, <$param01, <>>>,
                         ulkoeronto_iltA: <<$param04, <>>, <$param01, <>>>,
                         ulkotulento_ille: <<$param04, <>>, <$param01, <>>>,
                         vajanto_ittA: <<$param04, <>>, <$param01, <>>>,
                         seuranto_ine: <<$param04, <>>, <$param01, <>>>,
                         keinonto_in: <<$param04, <>>, <$param01, <>>>,
                         kerronto_sti: <<$param02, <>>, <$param03, <>>>,
                         voittoaste: <<$param02, <>>, <$param03, <>>>,
                         yliaste: <<$param04, <>>, <$param01, <>>>,
                         johdin_inen: <<$param04, <>>, <$param01, <>>>,
                         johdin_ittain: <<$param04, <>>, <$param01, <>>>,
                         johdin_lAinen: <<$param01, <>>>,
                         johdin_llinen: <<$param02, <>>, <$param03, <>>>,
                         johdin_mAinen: <<$param01, <>>>,
                         johdin_tOn: <<$param02, <>>, <$param03, <>>>,
                         johdin_Us: <<$param04, <>>, <$param01, <>>>,
                         tavuviiva: <<$param01, <>>>,
                         yhdyssana: <<$param01, <>>>]);
end;
subrule terve ($tietue, $param01, $param02, $param03, $param04, $param05, $param06, $param07):
  return taivutuskaava ($tietue,
                        [nimentö: <<$param01, <>>>,
                         omistusliite: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         omanto_n: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         osanto_ttA: <<$param01, <>>>,
                         olento_nA: <<$param02, <>>, <$param04, <ei_voikko>>, <$param03, <ei_voikko>>>,
                         tulento_ksi: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         sisäolento_ssA: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         sisäeronto_stA: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         sisätulento_seen: <<$param02, <>>>,
                         sisätulento_sen: <<$param03, <ei_voikko>>>,
                         ulko_olento_llA: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         ulkoeronto_ltA: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         ulkotulento_lle: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         vajanto_ttA: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         nimentö_t: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         omanto_iT: <<$param01, <>>>,
                         omanto_ten: <<$param05, <ei_voikko>>, <$param06, <ei_voikko>>>,
                         omanto_ien: <<$param07, <ei_voikko>>>,
                         osanto_iA: <<$param07, <ei_voikko>>>,
                         osanto_itA: <<$param01, <>>>,
                         olento_inA: <<$param01, <>>, <$param07, <ei_voikko>>>,
                         tulento_iksi: <<$param01, <>>, <$param07, <ei_voikko>>>,
                         sisäolento_issA: <<$param01, <>>, <$param07, <ei_voikko>>>,
                         sisäeronto_istA: <<$param01, <>>, <$param07, <ei_voikko>>>,
                         sisätulento_isiin: <<$param01, <>>>,
                         sisätulento_ihin: <<$param01, <>>>,
                         sisätulento_isin: <<$param07, <ei_voikko>>>,
                         ulko_olento_illA: <<$param01, <>>, <$param07, <ei_voikko>>>,
                         ulkoeronto_iltA: <<$param01, <>>, <$param07, <ei_voikko>>>,
                         ulkotulento_ille: <<$param01, <>>, <$param07, <ei_voikko>>>,
                         vajanto_ittA: <<$param01, <>>, <$param07, <ei_voikko>>>,
                         seuranto_ine: <<$param01, <>>, <$param07, <ei_voikko>>>,
                         keinonto_in: <<$param01, <>>, <$param07, <ei_voikko>>>,
                         kerronto_sti: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         voittoaste: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         yliaste: <<$param01, <>>, <$param07, <ei_voikko>>>,
                         johdin_inen: <<$param01, <>>, <$param07, <ei_voikko>>>,
                         johdin_ittain: <<$param01, <>>, <$param07, <ei_voikko>>>,
                         johdin_llinen: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         johdin_mAinen: <<$param01, <>>>,
                         johdin_tOn: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         johdin_Us: <<$param01, <>>>,
                         tavuviiva: <<$param01, <>>>,
                         yhdyssana: <<$param01, <>>>]);
end;
subrule ori ($tietue, $param01, $param02, $param03, $param04, $param05, $param06, $param07):
  return taivutuskaava ($tietue,
                        [nimentö: <<$param01, <>>>,
                         omistusliite: <<$param01, <>>, <$param02, <>>, <$param03, <ei_voikko>>>,
                         omanto_n: <<$param01, <>>, <$param02, <>>, <$param03, <ei_voikko>>>,
                         osanto_A: <<$param01, <>>>,
                         osanto_ttA: <<$param01, <>>>,
                         olento_nA: <<$param01, <>>, <$param02, <>>, <$param03, <ei_voikko>>>,
                         tulento_ksi: <<$param01, <>>, <$param02, <>>, <$param03, <ei_voikko>>>,
                         sisäolento_ssA: <<$param01, <>>, <$param02, <>>, <$param03, <ei_voikko>>>,
                         sisäeronto_stA: <<$param01, <>>, <$param02, <>>, <$param03, <ei_voikko>>>,
                         sisätulento_Vn: <<$param01, <>>>,
                         sisätulento_seen: <<$param02, <>>>,
                         sisätulento_sen: <<$param03, <ei_voikko,ei_voikko>>>,
                         ulko_olento_llA: <<$param01, <>>, <$param02, <>>, <$param03, <ei_voikko>>>,
                         ulkoeronto_ltA: <<$param01, <>>, <$param02, <>>, <$param03, <ei_voikko>>>,
                         ulkotulento_lle: <<$param01, <>>, <$param02, <>>, <$param03, <ei_voikko>>>,
                         vajanto_ttA: <<$param01, <>>, <$param02, <>>, <$param03, <ei_voikko>>>,
                         nimentö_t: <<$param01, <>>, <$param02, <>>, <$param03, <ei_voikko>>>,
                         omanto_en: <<$param01, <>>>,
                         omanto_iT: <<$param01, <>>>,
                         omanto_in: <<$param04, <ei_voikko>>>,
                         omanto_ten: <<$param05, <ei_voikko>>, <$param06, <ei_voikko>>>,
                         omanto_ien: <<$param07, <ei_voikko>>>,
                         osanto_iA: <<$param07, <ei_voikko>>>,
                         osanto_itA: <<$param01, <>>>,
                         osanto_jA: <<$param04, <>>>,
                         olento_inA: <<$param04, <>>, <$param01, <>>, <$param07, <ei_voikko>>>,
                         tulento_iksi: <<$param04, <>>, <$param01, <>>, <$param07, <ei_voikko>>>,
                         sisäolento_issA: <<$param04, <>>, <$param01, <>>, <$param07, <ei_voikko>>>,
                         sisäeronto_istA: <<$param04, <>>, <$param01, <>>, <$param07, <ei_voikko>>>,
                         sisätulento_ihin: <<$param04, <>>>,
                         sisätulento_isiin: <<$param01, <>>>,
                         sisätulento_isin: <<$param07, <ei_voikko>>>,
                         ulko_olento_illA: <<$param04, <>>, <$param01, <>>, <$param07, <ei_voikko>>>,
                         ulkoeronto_iltA: <<$param04, <>>, <$param01, <>>, <$param07, <ei_voikko>>>,
                         ulkotulento_ille: <<$param04, <>>, <$param01, <>>, <$param07, <ei_voikko>>>,
                         vajanto_ittA: <<$param04, <>>, <$param01, <>>, <$param07, <ei_voikko>>>,
                         seuranto_ine: <<$param04, <>>, <$param01, <>>, <$param07, <ei_voikko>>>,
                         keinonto_in: <<$param04, <>>, <$param01, <>>, <$param07, <ei_voikko>>>,
                         johdin_inen: <<$param01, <>>, <$param01, <>>, <$param07, <>>>,
                         johdin_ittain: <<$param04, <>>, <$param01, <>>, <$param07, <>>>,
                         johdin_lAinen: <<$param01, <>>>,
                         johdin_llinen: <<$param01, <>>, <$param02, <>>>,
                         johdin_mAinen: <<$param01, <>>>,
                         johdin_tOn: <<$param01, <>>>,
                         tavuviiva: <<$param01, <>>>,
                         yhdyssana: <<$param01, <>>>]);
end;
subrule kiiru ($tietue, $param01, $param02, $param03, $param04, $param05, $param06, $param07):
  return taivutuskaava ($tietue,
                        [nimentö: <<$param01, <>>>,
                         omistusliite: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         omanto_n: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         osanto_ttA: <<$param01, <>>>,
                         olento_nA: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         tulento_ksi: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         sisäolento_ssA: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         sisäeronto_stA: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         sisätulento_seen: <<$param02, <>>>,
                         sisätulento_sen: <<$param03, <ei_voikko>>>,
                         ulko_olento_llA: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         ulkoeronto_ltA: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         ulkotulento_lle: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         vajanto_ttA: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         nimentö_t: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         omanto_iT: <<$param01, <>>>,
                         omanto_ten: <<$param04, <ei_voikko>>, <$param05, <ei_voikko>>>,
                         omanto_ien: <<$param06, <ei_voikko>>>,
                         osanto_iA: <<$param06, <ei_voikko>>>,
                         osanto_itA: <<$param01, <>>>,
                         olento_inA: <<$param01, <>>, <$param06, <ei_voikko>>>,
                         tulento_iksi: <<$param01, <>>, <$param06, <ei_voikko>>>,
                         sisäolento_issA: <<$param01, <>>, <$param06, <ei_voikko>>>,
                         sisäeronto_istA: <<$param01, <>>, <$param06, <ei_voikko>>>,
                         sisätulento_isiin: <<$param01, <>>>,
                         sisätulento_ihin: <<$param01, <>>>,
                         sisätulento_isin: <<$param06, <ei_voikko>>>,
                         ulko_olento_illA: <<$param01, <>>, <$param06, <ei_voikko>>>,
                         ulkoeronto_iltA: <<$param01, <>>, <$param06, <ei_voikko>>>,
                         ulkotulento_ille: <<$param01, <>>, <$param06, <ei_voikko>>>,
                         vajanto_ittA: <<$param01, <>>, <$param06, <ei_voikko>>>,
                         seuranto_ine: <<$param01, <>>, <$param06, <ei_voikko>>>,
                         keinonto_in: <<$param01, <>>, <$param06, <ei_voikko>>>,
                         kerronto_sti: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         voittoaste: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         yliaste: <<$param01, <>>, <$param06, <ei_voikko>>>,
                         johdin_inen: <<$param01, <>>, <$param06, <ei_voikko>>>,
                         johdin_ittain: <<$param01, <>>, <$param06, <ei_voikko>>>,
                         johdin_lAinen: <<$param01, <>>>,
                         johdin_llinen: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         johdin_mAinen: <<$param01, <>>>,
                         johdin_tOn: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         johdin_Us: <<$param07, <>>>,
                         tavuviiva: <<$param01, <>>>,
                         yhdyssana: <<$param01, <>>>]);
end;
subrule askel ($tietue, $param01, $param02, $param03, $param04, $param05):
  return taivutuskaava ($tietue,
                        [nimentö: <<$param01, <>>, <$param02, <>>>,
                         omistusliite: <<$param02, <>>, <$param03, <>>>,
                         omanto_n: <<$param02, <>>, <$param03, <>>>,
                         osanto_tA: <<$param01, <>>>,
                         osanto_ttA: <<$param02, <>>>,
                         olento_nA: <<$param02, <>>, <$param03, <>>>,
                         tulento_ksi: <<$param02, <>>, <$param03, <>>>,
                         sisäolento_ssA: <<$param02, <>>, <$param03, <>>>,
                         sisäeronto_stA: <<$param02, <>>, <$param03, <>>>,
                         sisätulento_Vn: <<$param02, <>>>,
                         sisätulento_hVn: <<$param02, <>>>,
                         sisätulento_seen: <<$param03, <>>>,
                         ulko_olento_llA: <<$param02, <>>, <$param03, <>>>,
                         ulkoeronto_ltA: <<$param02, <>>, <$param03, <>>>,
                         ulkotulento_lle: <<$param02, <>>, <$param03, <>>>,
                         vajanto_ttA: <<$param02, <>>, <$param03, <>>>,
                         nimentö_t: <<$param02, <>>, <$param03, <>>>,
                         omanto_ten: <<$param01, <>>, <$param04, <ei_voikko>>>,
                         omanto_ien: <<$param05, <>>>,
                         omanto_iT: <<$param02, <>>>,
                         osanto_iA: <<$param05, <>>>,
                         osanto_itA: <<$param02, <>>>,
                         olento_inA: <<$param05, <>>, <$param02, <>>>,
                         tulento_iksi: <<$param05, <>>, <$param02, <>>>,
                         sisäolento_issA: <<$param05, <>>, <$param02, <>>>,
                         sisäeronto_istA: <<$param05, <>>, <$param02, <>>>,
                         sisätulento_iin: <<$param05, <>>>,
                         sisätulento_ihin: <<$param05, <ei_voikko>>, <$param02, <>>>,
                         sisätulento_isiin: <<$param02, <>>>,
                         ulko_olento_illA: <<$param05, <>>, <$param02, <>>>,
                         ulkoeronto_iltA: <<$param05, <>>, <$param02, <>>>,
                         ulkotulento_ille: <<$param05, <>>, <$param02, <>>>,
                         vajanto_ittA: <<$param05, <>>, <$param02, <>>>,
                         seuranto_ine: <<$param05, <>>, <$param02, <>>>,
                         keinonto_in: <<$param05, <>>, <$param02, <>>>,
                         johdin_inen: <<$param02, <>>, <$param02, <>>>,
                         johdin_ittain: <<$param05, <>>, <$param02, <>>>,
                         johdin_lAinen: <<$param01, <>>, <$param02, <>>>,
                         johdin_llinen: <<$param02, <>>, <$param03, <>>>,
                         johdin_mAinen: <<$param01, <>>, <$param02, <>>>,
                         johdin_tOn: <<$param02, <>>, <$param03, <>>>,
                         tavuviiva: <<$param01, <>>, <$param02, <>>>,
                         yhdyssana: <<$param01, <>>, <$param02, <>>>]);
end;
subrule hän ($tietue, $param01, $param02, $param03):
  return taivutuskaava ($tietue,
                        [nimentö: <<$param01, <>>>,
                         omanto_n: <<$param02, <>>>,
                         kohdanto_t: <<$param02, <>>>,
                         osanto_tA: <<$param01, <>>>,
                         olento_nA: <<$param02, <>>>,
                         tulento_ksi: <<$param02, <>>>,
                         sisäolento_ssA: <<$param02, <>>>,
                         sisäeronto_stA: <<$param02, <>>>,
                         sisätulento_Vn: <<$param02, <>>>,
                         ulko_olento_llA: <<$param02, <>>, <$param03, <>>>,
                         ulkoeronto_ltA: <<$param02, <>>, <$param03, <>>>,
                         ulkotulento_lle: <<$param02, <>>, <$param03, <>>>,
                         vajanto_ttA: <<$param02, <>>>,
                         tavuviiva: <<$param01, <>>>,
                         yhdyssana: <<$param01, <>>>]);
end;
subrule joka ($tietue, $param01, $param02):
  return taivutuskaava ($tietue,
                        [nimentö: <<$param01, <>>>,
                         omanto_nkA: <<$param02, <>>>,
                         osanto_tA: <<$param02, <>>>,
                         olento_nA: <<$param02, <>>>,
                         tulento_ksi: <<$param02, <>>>,
                         sisäolento_ssA: <<$param02, <>>>,
                         sisäeronto_stA: <<$param02, <>>>,
                         sisätulento_hVn: <<$param02, <>>>,
                         sisätulento_nne: <<$param02, <>>>,
                         ulko_olento_llA: <<$param02, <>>>,
                         ulkoeronto_ltA: <<$param02, <>>>,
                         ulkotulento_lle: <<$param02, <>>>,
                         nimentö_tkA: <<$param02, <>>>,
                         omanto_iT: <<$param02, <>>>,
                         osanto_itA: <<$param02, <>>>,
                         olento_inA: <<$param02, <>>>,
                         tulento_iksi: <<$param02, <>>>,
                         sisäolento_issA: <<$param02, <>>>,
                         sisäeronto_istA: <<$param02, <>>>,
                         sisätulento_ihin: <<$param02, <>>>,
                         ulko_olento_illA: <<$param02, <>>>,
                         ulkoeronto_iltA: <<$param02, <>>>,
                         ulkotulento_ille: <<$param02, <>>>,
                         vajanto_ittA: <<$param02, <>>>,
                         seuranto_ine: <<$param02, <>>>,
                         tavuviiva: <<$param01, <>>>,
                         yhdyssana: <<$param01, <>>>]);
end;
subrule keväämmällä ($tietue, $param01, $param02):
  return taivutuskaava ($tietue,
                        [olento_nA: <<$param01, <>>>,
                         tulento_ksi: <<$param02, <>>>,
                         ulko_olento_llA: <<$param02, <>>>,
                         ulkoeronto_ltA: <<$param02, <>>>,
                         ulkotulento_lle: <<$param02, <>>>]);
end;
subrule loitolla ($tietue, $param01, $param02, $param03):
  return taivutuskaava ($tietue,
                        [osanto_A: <<$param01, <>>>,
                         olento_nA: <<$param01, <>>>,
                         tulento_ksi: <<$param02, <>>>,
                         sisäolento_ssA: <<$param02, <>>>,
                         sisäeronto_stA: <<$param02, <>>>,
                         sisätulento_Vn: <<$param01, <>>>,
                         ulko_olento_llA: <<$param02, <>>, <$param03, <>>>,
                         ulkoeronto_ltA: <<$param02, <>>, <$param03, <>>>,
                         ulkotulento_lle: <<$param02, <>>, <$param03, <>>>,
                         tulento_s: <<$param02, <>>, <$param03, <>>>]);
end;
subrule me ($tietue, $param01):
  return taivutuskaava ($tietue,
                        [nimentö: <<$param01, <>>>,
                         omanto_idän: <<$param01, <>>>,
                         kohdanto_idät: <<$param01, <>>>,
                         osanto_itA: <<$param01, <>>>,
                         olento_inA: <<$param01, <>>>,
                         tulento_iksi: <<$param01, <>>>,
                         sisäolento_issA: <<$param01, <>>>,
                         sisäeronto_istA: <<$param01, <>>>,
                         sisätulento_ihin: <<$param01, <>>>,
                         ulko_olento_illA: <<$param01, <>>>,
                         ulkoeronto_iltA: <<$param01, <>>>,
                         ulkotulento_ille: <<$param01, <>>>,
                         vajanto_ittA: <<$param01, <>>>,
                         seuranto_ine: <<$param01, <>>>,
                         keinonto_in: <<$param01, <>>>,
                         tavuviiva: <<$param01, <>>>,
                         yhdyssana: <<$param01, <>>>]);
end;
subrule sivumpana ($tietue, $param01, $param02):
  return taivutuskaava ($tietue,
                        [osanto_A: <<$param01, <>>>,
                         olento_nA: <<$param01, <>>>,
                         tulento_ksi: <<$param02, <>>>,
                         sisäolento_ssA: <<$param02, <>>>,
                         sisäeronto_stA: <<$param02, <>>>,
                         sisätulento_Vn: <<$param01, <>>>,
                         ulko_olento_llA: <<$param02, <>>>,
                         ulkoeronto_ltA: <<$param02, <>>>,
                         ulkotulento_lle: <<$param02, <>>>,
                         tulento_s: <<$param02, <>>>]);
end;
subrule sydän ($tietue, $param01, $param02, $param03, $param04, $param05):
  return taivutuskaava ($tietue,
                        [nimentö: <<$param01, <>>>,
                         omistusliite: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         omanto_n: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         osanto_tA: <<$param01, <>>>,
                         olento_nA: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         tulento_ksi: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         sisäolento_ssA: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         sisäeronto_stA: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         sisätulento_Vn: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         sisätulento_hVn: <<$param02, <vanha_h>>, <$param03, <ei_voikko>>>,
                         ulko_olento_llA: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         ulkoeronto_ltA: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         ulkotulento_lle: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         vajanto_ttA: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         nimentö_t: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         omanto_ien: <<$param04, <>>, <$param05, <ei_voikko>>>,
                         omanto_ten: <<$param01, <>>>,
                         osanto_iA: <<$param04, <>>, <$param05, <ei_voikko>>>,
                         olento_inA: <<$param04, <>>, <$param05, <ei_voikko>>>,
                         tulento_iksi: <<$param04, <>>, <$param05, <ei_voikko>>>,
                         sisäolento_issA: <<$param04, <>>, <$param05, <ei_voikko>>>,
                         sisäeronto_istA: <<$param04, <>>, <$param05, <ei_voikko>>>,
                         sisätulento_iin: <<$param04, <>>, <$param05, <ei_voikko>>>,
                         sisätulento_ihin: <<$param04, <vanha_h>>, <$param05, <ei_voikko>>>,
                         ulko_olento_illA: <<$param04, <>>, <$param05, <ei_voikko>>>,
                         ulkoeronto_iltA: <<$param04, <>>, <$param05, <ei_voikko>>>,
                         ulkotulento_ille: <<$param04, <>>, <$param05, <ei_voikko>>>,
                         vajanto_ittA: <<$param04, <>>, <$param05, <ei_voikko>>>,
                         seuranto_ine: <<$param04, <>>, <$param05, <ei_voikko>>>,
                         keinonto_in: <<$param04, <>>, <$param05, <ei_voikko>>>,
                         johdin_inen: <<$param04, <>>, <$param05, <ei_voikko>>>,
                         johdin_ittain: <<$param04, <>>, <$param05, <ei_voikko>>>,
                         johdin_lAinen: <<$param01, <>>>,
                         johdin_llinen: <<$param02, <>>>,
                         johdin_mAinen: <<$param01, <>>>,
                         johdin_tOn: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         tavuviiva: <<$param01, <>>>,
                         yhdyssana: <<$param01, <>>>]);
end;
subrule ammottua ($tietue, $param01, $param02, $param03, $param04):
  return taivutuskaava ($tietue,
                        [nimitapa_1_A: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         nimitapa_2: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         nimitapa_2_ttA: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         nimitapa_3: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         nimitapa_3_ttA: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         nimitapa_4: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         nimitapa_5: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         laatutapa_1_vA: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         laatutapa_1_ttA: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         laatutapa_2_nUt: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         laatutapa_2_ttU: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         kestämän_tekijäpääte_y1: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         kestämän_tekijäpääte_y2: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         kestämän_tekijäpääte_y3: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         kestämän_tekijäpääte_y3_vi: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         kestämän_tekijäpääte_y3_Vpi: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         kestämän_tekijäpääte_y3_Vvi: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         kestämän_tekijäpääte_m1: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         kestämän_tekijäpääte_m2: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         kestämän_tekijäpääte_m3: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         tositavan_kestämä_tAAn: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         kertoman_tekijäpääte_y1: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         kertoman_tekijäpääte_y2: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         kertoman_tekijäpääte_y3: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         kertoman_tekijäpääte_m1: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         kertoman_tekijäpääte_m2: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         kertoman_tekijäpääte_m3: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         tositavan_kertoma_ttiin: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         ehtotapa: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         ehtotapa_ttA: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         mahtotapa_ne: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         mahtotapa_ttA: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         käskytapa_y2: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         käskytapa_kielto: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         käskytapa_ttA: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         johdin_jA_kantaja: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         johdin_vA: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         johdin_vAinen: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         johdin_mA: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         käskytapa: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         johdin_ttAvA: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         johdin_ttAvAinen: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         tositavan_kestämä_tAAn_kielto: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         johdin_nUt: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         johdin_ttU: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         mahtotapa_ne_kielto: <<$param01, <>>, <$param02, <ei_voikko>>>]);
end;
subrule kirjoittua ($tietue, $param01, $param02, $param03, $param04):
  return taivutuskaava ($tietue,
                        [nimitapa_1_A: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         nimitapa_2: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         nimitapa_2_ttA: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         nimitapa_3: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         nimitapa_3_ttA: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         nimitapa_4: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         nimitapa_5: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         laatutapa_1_vA: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         laatutapa_1_ttA: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         laatutapa_2_nUt: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         laatutapa_2_ttU: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         kestämän_tekijäpääte_y1: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         kestämän_tekijäpääte_y2: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         kestämän_tekijäpääte_y3: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         kestämän_tekijäpääte_y3_vi: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         kestämän_tekijäpääte_y3_Vpi: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         kestämän_tekijäpääte_y3_Vvi: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         kestämän_tekijäpääte_m1: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         kestämän_tekijäpääte_m2: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         kestämän_tekijäpääte_m3: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         tositavan_kestämä_tAAn: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         kertoman_tekijäpääte_y1: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         kertoman_tekijäpääte_y2: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         kertoman_tekijäpääte_y3: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         kertoman_tekijäpääte_m1: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         kertoman_tekijäpääte_m2: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         kertoman_tekijäpääte_m3: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         tositavan_kertoma_ttiin: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         ehtotapa: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         ehtotapa_ttA: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         mahtotapa_ne: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         mahtotapa_ttA: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         käskytapa_y2: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         käskytapa_kielto: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         käskytapa_ttA: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         johdin_jA_kantaja: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         johdin_vA: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         johdin_vAinen: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         johdin_mA: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         käskytapa: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         johdin_ttAvA: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         johdin_ttAvAinen: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         tositavan_kestämä_tAAn_kielto: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         johdin_nUt: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         johdin_ttU: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         mahtotapa_ne_kielto: <<$param01, <>>, <$param02, <ei_voikko>>>]);
end;
subrule muistua ($tietue, $param01):
  return taivutuskaava ($tietue,
                        [nimitapa_1_A: <<$param01, <>>>,
                         nimitapa_2: <<$param01, <>>>,
                         nimitapa_2_ttA: <<$param01, <>>>,
                         nimitapa_3: <<$param01, <>>>,
                         nimitapa_3_ttA: <<$param01, <>>>,
                         nimitapa_4: <<$param01, <>>>,
                         nimitapa_5: <<$param01, <>>>,
                         laatutapa_1_vA: <<$param01, <>>>,
                         laatutapa_1_ttA: <<$param01, <>>>,
                         laatutapa_2_nUt: <<$param01, <>>>,
                         laatutapa_2_ttU: <<$param01, <>>>,
                         kestämän_tekijäpääte_y1: <<$param01, <>>>,
                         kestämän_tekijäpääte_y2: <<$param01, <>>>,
                         kestämän_tekijäpääte_y3: <<$param01, <>>>,
                         kestämän_tekijäpääte_y3_vi: <<$param01, <>>>,
                         kestämän_tekijäpääte_y3_Vpi: <<$param01, <>>>,
                         kestämän_tekijäpääte_y3_Vvi: <<$param01, <>>>,
                         kestämän_tekijäpääte_m1: <<$param01, <>>>,
                         kestämän_tekijäpääte_m2: <<$param01, <>>>,
                         kestämän_tekijäpääte_m3: <<$param01, <>>>,
                         tositavan_kestämä_tAAn: <<$param01, <>>>,
                         kertoman_tekijäpääte_y1: <<$param01, <>>>,
                         kertoman_tekijäpääte_y2: <<$param01, <>>>,
                         kertoman_tekijäpääte_y3: <<$param01, <>>>,
                         kertoman_tekijäpääte_m1: <<$param01, <>>>,
                         kertoman_tekijäpääte_m2: <<$param01, <>>>,
                         kertoman_tekijäpääte_m3: <<$param01, <>>>,
                         tositavan_kertoma_ttiin: <<$param01, <>>>,
                         ehtotapa: <<$param01, <>>>,
                         ehtotapa_ttA: <<$param01, <>>>,
                         mahtotapa_ne: <<$param01, <>>>,
                         mahtotapa_ttA: <<$param01, <>>>,
                         käskytapa_y2: <<$param01, <>>>,
                         käskytapa_kielto: <<$param01, <>>>,
                         käskytapa_ttA: <<$param01, <>>>,
                         johdin_jA_kantaja: <<$param01, <>>>,
                         johdin_vA: <<$param01, <>>>,
                         johdin_vAinen: <<$param01, <>>>,
                         johdin_mA: <<$param01, <>>>,
                         käskytapa: <<$param01, <>>>,
                         johdin_ttAvA: <<$param01, <>>>,
                         johdin_ttAvAinen: <<$param01, <>>>,
                         tositavan_kestämä_tAAn_kielto: <<$param01, <>>>,
                         johdin_nUt: <<$param01, <>>>,
                         johdin_ttU: <<$param01, <>>>,
                         mahtotapa_ne_kielto: <<$param01, <>>>]);
end;
subrule punoa ($tietue, $param01, $param02):
  return taivutuskaava ($tietue,
                        [nimitapa_1_A: <<$param01, <>>>,
                         nimitapa_2: <<$param01, <>>>,
                         nimitapa_2_ttA: <<$param02, <>>>,
                         nimitapa_3: <<$param01, <>>>,
                         nimitapa_3_ttA: <<$param02, <>>>,
                         nimitapa_4: <<$param01, <>>>,
                         nimitapa_5: <<$param01, <>>>,
                         laatutapa_1_vA: <<$param01, <>>>,
                         laatutapa_1_ttA: <<$param02, <>>>,
                         laatutapa_2_nUt: <<$param01, <>>>,
                         laatutapa_2_ttU: <<$param02, <>>>,
                         kestämän_tekijäpääte_y1: <<$param02, <>>>,
                         kestämän_tekijäpääte_y2: <<$param02, <>>>,
                         kestämän_tekijäpääte_y3: <<$param01, <>>>,
                         kestämän_tekijäpääte_y3_vi: <<$param01, <>>>,
                         kestämän_tekijäpääte_y3_Vpi: <<$param01, <>>>,
                         kestämän_tekijäpääte_y3_Vvi: <<$param01, <>>>,
                         kestämän_tekijäpääte_m1: <<$param02, <>>>,
                         kestämän_tekijäpääte_m2: <<$param02, <>>>,
                         kestämän_tekijäpääte_m3: <<$param01, <>>>,
                         tositavan_kestämä_tAAn: <<$param02, <>>>,
                         kertoman_tekijäpääte_y1: <<$param02, <>>>,
                         kertoman_tekijäpääte_y2: <<$param02, <>>>,
                         kertoman_tekijäpääte_y3: <<$param01, <>>>,
                         kertoman_tekijäpääte_m1: <<$param02, <>>>,
                         kertoman_tekijäpääte_m2: <<$param02, <>>>,
                         kertoman_tekijäpääte_m3: <<$param01, <>>>,
                         tositavan_kertoma_ttiin: <<$param02, <>>>,
                         ehtotapa: <<$param01, <>>>,
                         ehtotapa_ttA: <<$param02, <>>>,
                         mahtotapa_ne: <<$param01, <>>>,
                         mahtotapa_ttA: <<$param02, <>>>,
                         käskytapa_y2: <<$param02, <>>>,
                         käskytapa_kielto: <<$param01, <>>>,
                         käskytapa_ttA: <<$param02, <>>>,
                         johdin_jA_kantaja: <<$param01, <>>>,
                         johdin_ntA: <<$param02, <>>>,
                         johdin_vA: <<$param01, <>>>,
                         johdin_vAinen: <<$param01, <>>>,
                         johdin_mA: <<$param01, <>>>,
                         käskytapa: <<$param01, <>>>,
                         johdin_ttAvA: <<$param02, <>>>,
                         johdin_ttAvAinen: <<$param02, <>>>,
                         tositavan_kestämä_tAAn_kielto: <<$param02, <>>>,
                         johdin_nUt: <<$param01, <>>>,
                         johdin_ttU: <<$param02, <>>>,
                         mahtotapa_ne_kielto: <<$param01, <>>>]);
end;
subrule alittaa ($tietue, $param01, $param02, $param03, $param04, $param05, $johdin_ellA, $johdin_tAUtUA):
  return taivutuskaava ($tietue,
                        [nimitapa_1_A: <<$param01, <>>>,
                         nimitapa_2: <<$param01, <>>>,
                         nimitapa_2_ttA: <<$param02, <>>>,
                         nimitapa_3: <<$param01, <>>>,
                         nimitapa_3_ttA: <<$param02, <>>>,
                         nimitapa_4: <<$param01, <>>>,
                         nimitapa_5: <<$param01, <>>>,
                         laatutapa_1_vA: <<$param01, <>>>,
                         laatutapa_1_ttA: <<$param02, <>>>,
                         laatutapa_2_nUt: <<$param01, <>>>,
                         laatutapa_2_ttU: <<$param02, <>>>,
                         kestämän_tekijäpääte_y1: <<$param03, <>>>,
                         kestämän_tekijäpääte_y2: <<$param03, <>>>,
                         kestämän_tekijäpääte_y3: <<$param01, <>>>,
                         kestämän_tekijäpääte_y3_vi: <<$param01, <>>>,
                         kestämän_tekijäpääte_y3_Vpi: <<$param01, <>>>,
                         kestämän_tekijäpääte_y3_Vvi: <<$param01, <>>>,
                         kestämän_tekijäpääte_m1: <<$param03, <>>>,
                         kestämän_tekijäpääte_m2: <<$param03, <>>>,
                         kestämän_tekijäpääte_m3: <<$param01, <>>>,
                         tositavan_kestämä_tAAn: <<$param02, <>>>,
                         kertoman_tekijäpääte_y1: <<$param04, <>>>,
                         kertoman_tekijäpääte_y2: <<$param04, <>>>,
                         kertoman_tekijäpääte_y3: <<$param05, <>>>,
                         kertoman_tekijäpääte_m1: <<$param04, <>>>,
                         kertoman_tekijäpääte_m2: <<$param04, <>>>,
                         kertoman_tekijäpääte_m3: <<$param05, <>>>,
                         tositavan_kertoma_ttiin: <<$param02, <>>>,
                         ehtotapa: <<$param01, <>>>,
                         ehtotapa_ttA: <<$param02, <>>>,
                         mahtotapa_ne: <<$param01, <>>>,
                         mahtotapa_ttA: <<$param02, <>>>,
                         käskytapa_y2: <<$param03, <>>>,
                         käskytapa_kielto: <<$param01, <>>>,
                         käskytapa_ttA: <<$param02, <>>>,
                         johdin_jA_kantaja: <<$param01, <>>>,
                         johdin_Us_ksen: <<$param04, <>>>,
                         johdin_ellA: <<$johdin_ellA, <>>>,
                         johdin_tAUtUA: <<$johdin_tAUtUA, <>>>,
                         johdin_vA: <<$param01, <>>>,
                         johdin_vAinen: <<$param01, <>>>,
                         johdin_mA: <<$param01, <>>>,
                         käskytapa: <<$param01, <>>>,
                         johdin_ttAvA: <<$param02, <>>>,
                         johdin_ttAvAinen: <<$param02, <>>>,
                         tositavan_kestämä_tAAn_kielto: <<$param02, <>>>,
                         johdin_nUt: <<$param01, <>>>,
                         johdin_ttU: <<$param02, <>>>,
                         mahtotapa_ne_kielto: <<$param01, <>>>]);
end;
subrule ammottaa ($tietue, $param01, $param02, $param03, $param04, $param05, $param06, $param07, $param08, $param09, $param10):
  return taivutuskaava ($tietue,
                        [nimitapa_1_A: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         nimitapa_2: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         nimitapa_2_ttA: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         nimitapa_3: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         nimitapa_3_ttA: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         nimitapa_4: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         nimitapa_5: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         laatutapa_1_vA: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         laatutapa_1_ttA: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         laatutapa_2_nUt: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         laatutapa_2_ttU: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         kestämän_tekijäpääte_y1: <<$param05, <>>, <$param06, <ei_voikko>>>,
                         kestämän_tekijäpääte_y2: <<$param05, <>>, <$param06, <ei_voikko>>>,
                         kestämän_tekijäpääte_y3: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         kestämän_tekijäpääte_y3_vi: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         kestämän_tekijäpääte_y3_Vpi: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         kestämän_tekijäpääte_y3_Vvi: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         kestämän_tekijäpääte_m1: <<$param05, <>>, <$param06, <ei_voikko>>>,
                         kestämän_tekijäpääte_m2: <<$param05, <>>, <$param06, <ei_voikko>>>,
                         kestämän_tekijäpääte_m3: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         tositavan_kestämä_tAAn: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         kertoman_tekijäpääte_y1: <<$param07, <>>, <$param08, <ei_voikko>>>,
                         kertoman_tekijäpääte_y2: <<$param07, <>>, <$param08, <ei_voikko>>>,
                         kertoman_tekijäpääte_y3: <<$param09, <>>, <$param10, <ei_voikko>>>,
                         kertoman_tekijäpääte_m1: <<$param07, <>>, <$param08, <ei_voikko>>>,
                         kertoman_tekijäpääte_m2: <<$param07, <>>, <$param08, <ei_voikko>>>,
                         kertoman_tekijäpääte_m3: <<$param09, <>>, <$param10, <ei_voikko>>>,
                         tositavan_kertoma_ttiin: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         ehtotapa: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         ehtotapa_ttA: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         mahtotapa_ne: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         mahtotapa_ttA: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         käskytapa_y2: <<$param05, <>>, <$param06, <ei_voikko>>>,
                         käskytapa_kielto: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         käskytapa_ttA: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         johdin_jA_kantaja: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         johdin_Us_ksen: <<$param07, <>>, <$param08, <ei_voikko>>>,
                         johdin_OtellA: <<$param07, <>>, <$param08, <ei_voikko>>>,
                         johdin_tAUtUA: <<$param07, <>>, <$param08, <ei_voikko>>>,
                         johdin_vA: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         johdin_vAinen: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         johdin_mA: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         käskytapa: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         johdin_ttAvA: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         johdin_ttAvAinen: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         tositavan_kestämä_tAAn_kielto: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         johdin_nUt: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         johdin_ttU: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         mahtotapa_ne_kielto: <<$param01, <>>, <$param02, <ei_voikko>>>]);
end;
subrule autioittaa ($tietue, $param01, $param02, $param03, $param04, $param05):
  return taivutuskaava ($tietue,
                        [nimitapa_1_A: <<$param01, <>>>,
                         nimitapa_2: <<$param01, <>>>,
                         nimitapa_2_ttA: <<$param02, <>>>,
                         nimitapa_3: <<$param01, <>>>,
                         nimitapa_3_ttA: <<$param02, <>>>,
                         nimitapa_4: <<$param01, <>>>,
                         nimitapa_5: <<$param01, <>>>,
                         laatutapa_1_vA: <<$param01, <>>>,
                         laatutapa_1_ttA: <<$param02, <>>>,
                         laatutapa_2_nUt: <<$param01, <>>>,
                         laatutapa_2_ttU: <<$param02, <>>>,
                         kestämän_tekijäpääte_y1: <<$param03, <>>>,
                         kestämän_tekijäpääte_y2: <<$param03, <>>>,
                         kestämän_tekijäpääte_y3: <<$param01, <>>>,
                         kestämän_tekijäpääte_y3_vi: <<$param01, <>>>,
                         kestämän_tekijäpääte_y3_Vpi: <<$param01, <>>>,
                         kestämän_tekijäpääte_y3_Vvi: <<$param01, <>>>,
                         kestämän_tekijäpääte_m1: <<$param03, <>>>,
                         kestämän_tekijäpääte_m2: <<$param03, <>>>,
                         kestämän_tekijäpääte_m3: <<$param01, <>>>,
                         tositavan_kestämä_tAAn: <<$param02, <>>>,
                         kertoman_tekijäpääte_y1: <<$param04, <>>>,
                         kertoman_tekijäpääte_y2: <<$param04, <>>>,
                         kertoman_tekijäpääte_y3: <<$param05, <>>>,
                         kertoman_tekijäpääte_m1: <<$param04, <>>>,
                         kertoman_tekijäpääte_m2: <<$param04, <>>>,
                         kertoman_tekijäpääte_m3: <<$param05, <>>>,
                         tositavan_kertoma_ttiin: <<$param02, <>>>,
                         ehtotapa: <<$param01, <>>>,
                         ehtotapa_ttA: <<$param02, <>>>,
                         mahtotapa_ne: <<$param01, <>>>,
                         mahtotapa_ttA: <<$param02, <>>>,
                         käskytapa_y2: <<$param03, <>>>,
                         käskytapa_kielto: <<$param01, <>>>,
                         käskytapa_ttA: <<$param02, <>>>,
                         johdin_jA_kantaja: <<$param01, <>>>,
                         johdin_vA: <<$param01, <>>>,
                         johdin_vAinen: <<$param01, <>>>,
                         johdin_mA: <<$param01, <>>>,
                         käskytapa: <<$param01, <>>>,
                         johdin_ttAvA: <<$param02, <>>>,
                         johdin_ttAvAinen: <<$param02, <>>>,
                         tositavan_kestämä_tAAn_kielto: <<$param02, <>>>,
                         johdin_nUt: <<$param01, <>>>,
                         johdin_ttU: <<$param02, <>>>,
                         mahtotapa_ne_kielto: <<$param01, <>>>]);
end;
subrule heittää ($tietue, $param01, $param02, $param03, $param04, $param05, $johdin_ellA):
  return taivutuskaava ($tietue,
                        [nimitapa_1_A: <<$param01, <>>>,
                         nimitapa_2: <<$param01, <>>>,
                         nimitapa_2_ttA: <<$param02, <>>>,
                         nimitapa_3: <<$param01, <>>>,
                         nimitapa_3_ttA: <<$param02, <>>>,
                         nimitapa_4: <<$param01, <>>>,
                         nimitapa_5: <<$param01, <>>>,
                         laatutapa_1_vA: <<$param01, <>>>,
                         laatutapa_1_ttA: <<$param02, <>>>,
                         laatutapa_2_nUt: <<$param01, <>>>,
                         laatutapa_2_ttU: <<$param02, <>>>,
                         kestämän_tekijäpääte_y1: <<$param03, <>>>,
                         kestämän_tekijäpääte_y2: <<$param03, <>>>,
                         kestämän_tekijäpääte_y3: <<$param01, <>>>,
                         kestämän_tekijäpääte_y3_vi: <<$param01, <>>>,
                         kestämän_tekijäpääte_y3_Vpi: <<$param01, <>>>,
                         kestämän_tekijäpääte_y3_Vvi: <<$param01, <>>>,
                         kestämän_tekijäpääte_m1: <<$param03, <>>>,
                         kestämän_tekijäpääte_m2: <<$param03, <>>>,
                         kestämän_tekijäpääte_m3: <<$param01, <>>>,
                         tositavan_kestämä_tAAn: <<$param02, <>>>,
                         kertoman_tekijäpääte_y1: <<$param04, <>>>,
                         kertoman_tekijäpääte_y2: <<$param04, <>>>,
                         kertoman_tekijäpääte_y3: <<$param05, <>>>,
                         kertoman_tekijäpääte_m1: <<$param04, <>>>,
                         kertoman_tekijäpääte_m2: <<$param04, <>>>,
                         kertoman_tekijäpääte_m3: <<$param05, <>>>,
                         tositavan_kertoma_ttiin: <<$param02, <>>>,
                         ehtotapa: <<$param01, <>>>,
                         ehtotapa_ttA: <<$param02, <>>>,
                         mahtotapa_ne: <<$param01, <>>>,
                         mahtotapa_ttA: <<$param02, <>>>,
                         käskytapa_y2: <<$param03, <>>>,
                         käskytapa_kielto: <<$param01, <>>>,
                         käskytapa_ttA: <<$param02, <>>>,
                         johdin_jA_kantaja: <<$param01, <>>>,
                         johdin_tO_liitto: <<$param04, <>>>,
                         johdin_ellA: <<$johdin_ellA, <>>>,
                         johdin_vA: <<$param01, <>>>,
                         johdin_vAinen: <<$param01, <>>>,
                         johdin_mA: <<$param01, <>>>,
                         käskytapa: <<$param01, <>>>,
                         johdin_ttAvA: <<$param02, <>>>,
                         johdin_ttAvAinen: <<$param02, <>>>,
                         tositavan_kestämä_tAAn_kielto: <<$param02, <>>>,
                         johdin_nUt: <<$param01, <>>>,
                         johdin_ttU: <<$param02, <>>>,
                         mahtotapa_ne_kielto: <<$param01, <>>>]);
end;
subrule hidastaa ($tietue, $param01, $param02, $param03):
  return taivutuskaava ($tietue,
                        [nimitapa_1_A: <<$param01, <>>>,
                         nimitapa_2: <<$param01, <>>>,
                         nimitapa_2_ttA: <<$param02, <>>>,
                         nimitapa_3: <<$param01, <>>>,
                         nimitapa_3_ttA: <<$param02, <>>>,
                         nimitapa_4: <<$param01, <>>>,
                         nimitapa_5: <<$param01, <>>>,
                         laatutapa_1_vA: <<$param01, <>>>,
                         laatutapa_1_ttA: <<$param02, <>>>,
                         laatutapa_2_nUt: <<$param01, <>>>,
                         laatutapa_2_ttU: <<$param02, <>>>,
                         kestämän_tekijäpääte_y1: <<$param01, <>>>,
                         kestämän_tekijäpääte_y2: <<$param01, <>>>,
                         kestämän_tekijäpääte_y3: <<$param01, <>>>,
                         kestämän_tekijäpääte_y3_vi: <<$param01, <>>>,
                         kestämän_tekijäpääte_y3_Vpi: <<$param01, <>>>,
                         kestämän_tekijäpääte_y3_Vvi: <<$param01, <>>>,
                         kestämän_tekijäpääte_m1: <<$param01, <>>>,
                         kestämän_tekijäpääte_m2: <<$param01, <>>>,
                         kestämän_tekijäpääte_m3: <<$param01, <>>>,
                         tositavan_kestämä_tAAn: <<$param02, <>>>,
                         kertoman_tekijäpääte_y1: <<$param03, <>>>,
                         kertoman_tekijäpääte_y2: <<$param03, <>>>,
                         kertoman_tekijäpääte_y3: <<$param03, <>>>,
                         kertoman_tekijäpääte_m1: <<$param03, <>>>,
                         kertoman_tekijäpääte_m2: <<$param03, <>>>,
                         kertoman_tekijäpääte_m3: <<$param03, <>>>,
                         tositavan_kertoma_ttiin: <<$param02, <>>>,
                         ehtotapa: <<$param01, <>>>,
                         ehtotapa_ttA: <<$param02, <>>>,
                         mahtotapa_ne: <<$param01, <>>>,
                         mahtotapa_ttA: <<$param02, <>>>,
                         käskytapa_y2: <<$param01, <>>>,
                         käskytapa_kielto: <<$param01, <>>>,
                         käskytapa_ttA: <<$param02, <>>>,
                         johdin_jA_kantaja: <<$param01, <>>>,
                         johdin_Us_ksen: <<$param03, <>>>,
                         johdin_ellA: <<$param03, <>>>,
                         johdin_vA: <<$param01, <>>>,
                         johdin_vAinen: <<$param01, <>>>,
                         johdin_mA: <<$param01, <>>>,
                         käskytapa: <<$param01, <>>>,
                         johdin_ttAvA: <<$param02, <>>>,
                         johdin_ttAvAinen: <<$param02, <>>>,
                         tositavan_kestämä_tAAn_kielto: <<$param02, <>>>,
                         johdin_nUt: <<$param01, <>>>,
                         johdin_ttU: <<$param02, <>>>,
                         mahtotapa_ne_kielto: <<$param01, <>>>]);
end;
subrule hohtaa ($tietue, $param01, $param02, $param03, $param04, $param05, $param06, $johdin_ellA):
  return taivutuskaava ($tietue,
                        [nimitapa_1_A: <<$param01, <>>>,
                         nimitapa_2: <<$param01, <>>>,
                         nimitapa_2_ttA: <<$param02, <>>>,
                         nimitapa_3: <<$param01, <>>>,
                         nimitapa_3_ttA: <<$param02, <>>>,
                         nimitapa_4: <<$param01, <>>>,
                         nimitapa_5: <<$param01, <>>>,
                         laatutapa_1_vA: <<$param01, <>>>,
                         laatutapa_1_ttA: <<$param02, <>>>,
                         laatutapa_2_nUt: <<$param01, <>>>,
                         laatutapa_2_ttU: <<$param02, <>>>,
                         kestämän_tekijäpääte_y1: <<$param03, <>>>,
                         kestämän_tekijäpääte_y2: <<$param03, <>>>,
                         kestämän_tekijäpääte_y3: <<$param01, <>>>,
                         kestämän_tekijäpääte_y3_vi: <<$param01, <>>>,
                         kestämän_tekijäpääte_y3_Vpi: <<$param01, <>>>,
                         kestämän_tekijäpääte_y3_Vvi: <<$param01, <>>>,
                         kestämän_tekijäpääte_m1: <<$param03, <>>>,
                         kestämän_tekijäpääte_m2: <<$param03, <>>>,
                         kestämän_tekijäpääte_m3: <<$param01, <>>>,
                         tositavan_kestämä_tAAn: <<$param02, <>>>,
                         kertoman_tekijäpääte_y1: <<$param04, <>>>,
                         kertoman_tekijäpääte_y2: <<$param04, <>>>,
                         kertoman_tekijäpääte_y3: <<$param05, <>>>,
                         kertoman_tekijäpääte_m1: <<$param04, <>>>,
                         kertoman_tekijäpääte_m2: <<$param04, <>>>,
                         kertoman_tekijäpääte_m3: <<$param05, <>>>,
                         tositavan_kertoma_ttiin: <<$param02, <>>>,
                         ehtotapa: <<$param01, <>>>,
                         ehtotapa_ttA: <<$param02, <>>>,
                         mahtotapa_ne: <<$param01, <>>>,
                         mahtotapa_ttA: <<$param02, <>>>,
                         käskytapa_y2: <<$param03, <>>>,
                         käskytapa_kielto: <<$param01, <>>>,
                         käskytapa_ttA: <<$param02, <>>>,
                         johdin_jA_kantaja: <<$param01, <>>>,
                         johdin_tO_leuto: <<$param06, <>>>,
                         johdin_ellA: <<$johdin_ellA, <>>>,
                         johdin_vA: <<$param01, <>>>,
                         johdin_vAinen: <<$param01, <>>>,
                         johdin_mA: <<$param01, <>>>,
                         käskytapa: <<$param01, <>>>,
                         johdin_ttAvA: <<$param02, <>>>,
                         johdin_ttAvAinen: <<$param02, <>>>,
                         tositavan_kestämä_tAAn_kielto: <<$param02, <>>>,
                         johdin_nUt: <<$param01, <>>>,
                         johdin_ttU: <<$param02, <>>>,
                         mahtotapa_ne_kielto: <<$param01, <>>>]);
end;
subrule kirjoittaa ($tietue, $param01, $param02, $param03, $param04, $param05, $param06, $param07, $param08, $param09, $param10):
  return taivutuskaava ($tietue,
                        [nimitapa_1_A: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         nimitapa_2: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         nimitapa_2_ttA: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         nimitapa_3: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         nimitapa_3_ttA: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         nimitapa_4: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         nimitapa_5: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         laatutapa_1_vA: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         laatutapa_1_ttA: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         laatutapa_2_nUt: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         laatutapa_2_ttU: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         kestämän_tekijäpääte_y1: <<$param05, <>>, <$param06, <ei_voikko>>>,
                         kestämän_tekijäpääte_y2: <<$param05, <>>, <$param06, <ei_voikko>>>,
                         kestämän_tekijäpääte_y3: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         kestämän_tekijäpääte_y3_vi: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         kestämän_tekijäpääte_y3_Vpi: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         kestämän_tekijäpääte_y3_Vvi: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         kestämän_tekijäpääte_m1: <<$param05, <>>, <$param06, <ei_voikko>>>,
                         kestämän_tekijäpääte_m2: <<$param05, <>>, <$param06, <ei_voikko>>>,
                         kestämän_tekijäpääte_m3: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         tositavan_kestämä_tAAn: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         kertoman_tekijäpääte_y1: <<$param07, <>>, <$param08, <ei_voikko>>>,
                         kertoman_tekijäpääte_y2: <<$param07, <>>, <$param08, <ei_voikko>>>,
                         kertoman_tekijäpääte_y3: <<$param09, <>>, <$param10, <ei_voikko>>>,
                         kertoman_tekijäpääte_m1: <<$param07, <>>, <$param08, <ei_voikko>>>,
                         kertoman_tekijäpääte_m2: <<$param07, <>>, <$param08, <ei_voikko>>>,
                         kertoman_tekijäpääte_m3: <<$param09, <>>, <$param10, <ei_voikko>>>,
                         tositavan_kertoma_ttiin: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         ehtotapa: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         ehtotapa_ttA: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         mahtotapa_ne: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         mahtotapa_ttA: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         käskytapa_y2: <<$param05, <>>, <$param06, <ei_voikko>>>,
                         käskytapa_kielto: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         käskytapa_ttA: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         johdin_jA_kantaja: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         johdin_Us_ksen: <<$param07, <>>, <$param08, <ei_voikko>>>,
                         johdin_OitellA: <<$param07, <>>, <$param08, <ei_voikko>>>,
                         johdin_tAUtUA: <<$param07, <>>, <$param08, <ei_voikko>>>,
                         johdin_vA: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         johdin_vAinen: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         johdin_mA: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         käskytapa: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         johdin_ttAvA: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         johdin_ttAvAinen: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         tositavan_kestämä_tAAn_kielto: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         johdin_nUt: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         johdin_ttU: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         mahtotapa_ne_kielto: <<$param01, <>>, <$param02, <ei_voikko>>>]);
end;
subrule loistaa ($tietue, $param01, $param02, $param03):
  return taivutuskaava ($tietue,
                        [nimitapa_1_A: <<$param01, <>>>,
                         nimitapa_2: <<$param01, <>>>,
                         nimitapa_2_ttA: <<$param02, <>>>,
                         nimitapa_3: <<$param01, <>>>,
                         nimitapa_3_ttA: <<$param02, <>>>,
                         nimitapa_4: <<$param01, <>>>,
                         nimitapa_5: <<$param01, <>>>,
                         laatutapa_1_vA: <<$param01, <>>>,
                         laatutapa_1_ttA: <<$param02, <>>>,
                         laatutapa_2_nUt: <<$param01, <>>>,
                         laatutapa_2_ttU: <<$param02, <>>>,
                         kestämän_tekijäpääte_y1: <<$param01, <>>>,
                         kestämän_tekijäpääte_y2: <<$param01, <>>>,
                         kestämän_tekijäpääte_y3: <<$param01, <>>>,
                         kestämän_tekijäpääte_y3_vi: <<$param01, <>>>,
                         kestämän_tekijäpääte_y3_Vpi: <<$param01, <>>>,
                         kestämän_tekijäpääte_y3_Vvi: <<$param01, <>>>,
                         kestämän_tekijäpääte_m1: <<$param01, <>>>,
                         kestämän_tekijäpääte_m2: <<$param01, <>>>,
                         kestämän_tekijäpääte_m3: <<$param01, <>>>,
                         tositavan_kestämä_tAAn: <<$param02, <>>>,
                         kertoman_tekijäpääte_y1: <<$param03, <>>>,
                         kertoman_tekijäpääte_y2: <<$param03, <>>>,
                         kertoman_tekijäpääte_y3: <<$param03, <>>>,
                         kertoman_tekijäpääte_m1: <<$param03, <>>>,
                         kertoman_tekijäpääte_m2: <<$param03, <>>>,
                         kertoman_tekijäpääte_m3: <<$param03, <>>>,
                         tositavan_kertoma_ttiin: <<$param02, <>>>,
                         ehtotapa: <<$param01, <>>>,
                         ehtotapa_ttA: <<$param02, <>>>,
                         mahtotapa_ne: <<$param01, <>>>,
                         mahtotapa_ttA: <<$param02, <>>>,
                         käskytapa_y2: <<$param01, <>>>,
                         käskytapa_kielto: <<$param01, <>>>,
                         käskytapa_ttA: <<$param02, <>>>,
                         johdin_jA_kantaja: <<$param01, <>>>,
                         johdin_O: <<$param03, <>>>,
                         johdin_ellA: <<$param03, <>>>,
                         johdin_vA: <<$param01, <>>>,
                         johdin_vAinen: <<$param01, <>>>,
                         johdin_mA: <<$param01, <>>>,
                         käskytapa: <<$param01, <>>>,
                         johdin_ttAvA: <<$param02, <>>>,
                         johdin_ttAvAinen: <<$param02, <>>>,
                         tositavan_kestämä_tAAn_kielto: <<$param02, <>>>,
                         johdin_nUt: <<$param01, <>>>,
                         johdin_ttU: <<$param02, <>>>,
                         mahtotapa_ne_kielto: <<$param01, <>>>]);
end;
subrule muistaa ($tietue, $param01, $param02, $param03):
  return taivutuskaava ($tietue,
                        [nimitapa_1_A: <<$param01, <>>>,
                         nimitapa_2: <<$param01, <>>>,
                         nimitapa_2_ttA: <<$param02, <>>>,
                         nimitapa_3: <<$param01, <>>>,
                         nimitapa_3_ttA: <<$param02, <>>>,
                         nimitapa_4: <<$param01, <>>>,
                         nimitapa_5: <<$param01, <>>>,
                         laatutapa_1_vA: <<$param01, <>>>,
                         laatutapa_1_ttA: <<$param02, <>>>,
                         laatutapa_2_nUt: <<$param01, <>>>,
                         laatutapa_2_ttU: <<$param02, <>>>,
                         kestämän_tekijäpääte_y1: <<$param01, <>>>,
                         kestämän_tekijäpääte_y2: <<$param01, <>>>,
                         kestämän_tekijäpääte_y3: <<$param01, <>>>,
                         kestämän_tekijäpääte_y3_vi: <<$param01, <>>>,
                         kestämän_tekijäpääte_y3_Vpi: <<$param01, <>>>,
                         kestämän_tekijäpääte_y3_Vvi: <<$param01, <>>>,
                         kestämän_tekijäpääte_m1: <<$param01, <>>>,
                         kestämän_tekijäpääte_m2: <<$param01, <>>>,
                         kestämän_tekijäpääte_m3: <<$param01, <>>>,
                         tositavan_kestämä_tAAn: <<$param02, <>>>,
                         kertoman_tekijäpääte_y1: <<$param03, <>>>,
                         kertoman_tekijäpääte_y2: <<$param03, <>>>,
                         kertoman_tekijäpääte_y3: <<$param03, <>>>,
                         kertoman_tekijäpääte_m1: <<$param03, <>>>,
                         kertoman_tekijäpääte_m2: <<$param03, <>>>,
                         kertoman_tekijäpääte_m3: <<$param03, <>>>,
                         tositavan_kertoma_ttiin: <<$param02, <>>>,
                         ehtotapa: <<$param01, <>>>,
                         ehtotapa_ttA: <<$param02, <>>>,
                         mahtotapa_ne: <<$param01, <>>>,
                         mahtotapa_ttA: <<$param02, <>>>,
                         käskytapa_y2: <<$param01, <>>>,
                         käskytapa_kielto: <<$param01, <>>>,
                         käskytapa_ttA: <<$param02, <>>>,
                         johdin_jA_kantaja: <<$param01, <>>>,
                         johdin_O: <<$param03, <>>>,
                         johdin_ellA: <<$param03, <>>>,
                         johdin_UA: <<$param03, <>>>,
                         johdin_vA: <<$param01, <>>>,
                         johdin_vAinen: <<$param01, <>>>,
                         johdin_mA: <<$param01, <>>>,
                         käskytapa: <<$param01, <>>>,
                         johdin_ttAvA: <<$param02, <>>>,
                         johdin_ttAvAinen: <<$param02, <>>>,
                         tositavan_kestämä_tAAn_kielto: <<$param02, <>>>,
                         johdin_nUt: <<$param01, <>>>,
                         johdin_ttU: <<$param02, <>>>,
                         mahtotapa_ne_kielto: <<$param01, <>>>]);
end;
subrule voitaa ($tietue, $param01, $param02, $param03, $param04, $param05, $johdin_ellA):
  return taivutuskaava ($tietue,
                        [nimitapa_1_A: <<$param01, <>>>,
                         nimitapa_2: <<$param01, <>>>,
                         nimitapa_2_ttA: <<$param02, <>>>,
                         nimitapa_3: <<$param01, <>>>,
                         nimitapa_3_ttA: <<$param02, <>>>,
                         nimitapa_4: <<$param01, <>>>,
                         nimitapa_5: <<$param01, <>>>,
                         laatutapa_1_vA: <<$param01, <>>>,
                         laatutapa_1_ttA: <<$param02, <>>>,
                         laatutapa_2_nUt: <<$param01, <>>>,
                         laatutapa_2_ttU: <<$param02, <>>>,
                         kestämän_tekijäpääte_y1: <<$param03, <>>>,
                         kestämän_tekijäpääte_y2: <<$param03, <>>>,
                         kestämän_tekijäpääte_y3: <<$param01, <>>>,
                         kestämän_tekijäpääte_y3_vi: <<$param01, <>>>,
                         kestämän_tekijäpääte_y3_Vpi: <<$param01, <>>>,
                         kestämän_tekijäpääte_y3_Vvi: <<$param01, <>>>,
                         kestämän_tekijäpääte_m1: <<$param03, <>>>,
                         kestämän_tekijäpääte_m2: <<$param03, <>>>,
                         kestämän_tekijäpääte_m3: <<$param01, <>>>,
                         tositavan_kestämä_tAAn: <<$param02, <>>>,
                         kertoman_tekijäpääte_y1: <<$param04, <>>>,
                         kertoman_tekijäpääte_y2: <<$param04, <>>>,
                         kertoman_tekijäpääte_y3: <<$param05, <>>>,
                         kertoman_tekijäpääte_m1: <<$param04, <>>>,
                         kertoman_tekijäpääte_m2: <<$param04, <>>>,
                         kertoman_tekijäpääte_m3: <<$param05, <>>>,
                         tositavan_kertoma_ttiin: <<$param02, <>>>,
                         ehtotapa: <<$param01, <>>>,
                         ehtotapa_ttA: <<$param02, <>>>,
                         mahtotapa_ne: <<$param01, <>>>,
                         mahtotapa_ttA: <<$param02, <>>>,
                         käskytapa_y2: <<$param03, <>>>,
                         käskytapa_kielto: <<$param01, <>>>,
                         käskytapa_ttA: <<$param02, <>>>,
                         johdin_jA_kantaja: <<$param01, <>>>,
                         johdin_ellA: <<$johdin_ellA, <>>>,
                         johdin_vA: <<$param01, <>>>,
                         johdin_vAinen: <<$param01, <>>>,
                         johdin_mA: <<$param01, <>>>,
                         käskytapa: <<$param01, <>>>,
                         johdin_ttAvA: <<$param02, <>>>,
                         johdin_ttAvAinen: <<$param02, <>>>,
                         tositavan_kestämä_tAAn_kielto: <<$param02, <>>>,
                         johdin_nUt: <<$param01, <>>>,
                         johdin_ttU: <<$param02, <>>>,
                         mahtotapa_ne_kielto: <<$param01, <>>>]);
end;
subrule alentaa ($tietue, $param01, $param02, $param03, $param04, $param05, $param06):
  return taivutuskaava ($tietue,
                        [nimitapa_1_A: <<$param01, <>>>,
                         nimitapa_2: <<$param01, <>>>,
                         nimitapa_2_ttA: <<$param02, <>>>,
                         nimitapa_3: <<$param01, <>>>,
                         nimitapa_3_ttA: <<$param02, <>>>,
                         nimitapa_4: <<$param01, <>>>,
                         nimitapa_5: <<$param01, <>>>,
                         laatutapa_1_vA: <<$param01, <>>>,
                         laatutapa_1_ttA: <<$param02, <>>>,
                         laatutapa_2_nUt: <<$param01, <>>>,
                         laatutapa_2_ttU: <<$param02, <>>>,
                         kestämän_tekijäpääte_y1: <<$param03, <>>>,
                         kestämän_tekijäpääte_y2: <<$param03, <>>>,
                         kestämän_tekijäpääte_y3: <<$param01, <>>>,
                         kestämän_tekijäpääte_y3_vi: <<$param01, <>>>,
                         kestämän_tekijäpääte_y3_Vpi: <<$param01, <>>>,
                         kestämän_tekijäpääte_y3_Vvi: <<$param01, <>>>,
                         kestämän_tekijäpääte_m1: <<$param03, <>>>,
                         kestämän_tekijäpääte_m2: <<$param03, <>>>,
                         kestämän_tekijäpääte_m3: <<$param01, <>>>,
                         tositavan_kestämä_tAAn: <<$param02, <>>>,
                         kertoman_tekijäpääte_y1: <<$param04, <>>, <$param05, <ei_voikko>>>,
                         kertoman_tekijäpääte_y2: <<$param04, <>>, <$param05, <ei_voikko>>>,
                         kertoman_tekijäpääte_y3: <<$param04, <>>, <$param06, <ei_voikko>>>,
                         kertoman_tekijäpääte_m1: <<$param04, <>>, <$param05, <ei_voikko>>>,
                         kertoman_tekijäpääte_m2: <<$param04, <>>, <$param05, <ei_voikko>>>,
                         kertoman_tekijäpääte_m3: <<$param04, <>>, <$param06, <ei_voikko>>>,
                         tositavan_kertoma_ttiin: <<$param02, <>>>,
                         ehtotapa: <<$param01, <>>>,
                         ehtotapa_ttA: <<$param02, <>>>,
                         mahtotapa_ne: <<$param01, <>>>,
                         mahtotapa_ttA: <<$param02, <>>>,
                         käskytapa_y2: <<$param03, <>>>,
                         käskytapa_kielto: <<$param01, <>>>,
                         käskytapa_ttA: <<$param02, <>>>,
                         johdin_jA_kantaja: <<$param01, <>>>,
                         johdin_Us_ksen: <<$param05, <>>>,
                         johdin_ellA: <<$param05, <>>>,
                         johdin_vA: <<$param01, <>>>,
                         johdin_vAinen: <<$param01, <>>>,
                         johdin_mA: <<$param01, <>>>,
                         käskytapa: <<$param01, <>>>,
                         johdin_ttAvA: <<$param02, <>>>,
                         johdin_ttAvAinen: <<$param02, <>>>,
                         tositavan_kestämä_tAAn_kielto: <<$param02, <>>>,
                         johdin_nUt: <<$param01, <>>>,
                         johdin_ttU: <<$param02, <>>>,
                         mahtotapa_ne_kielto: <<$param01, <>>>]);
end;
subrule huutaa ($tietue, $param01, $param02, $param03, $param04, $param05, $param06, $param07):
  return taivutuskaava ($tietue,
                        [nimitapa_1_A: <<$param01, <>>>,
                         nimitapa_2: <<$param01, <>>>,
                         nimitapa_2_ttA: <<$param02, <>>>,
                         nimitapa_3: <<$param01, <>>>,
                         nimitapa_3_ttA: <<$param02, <>>>,
                         nimitapa_4: <<$param01, <>>>,
                         nimitapa_5: <<$param01, <>>>,
                         laatutapa_1_vA: <<$param01, <>>>,
                         laatutapa_1_ttA: <<$param02, <>>>,
                         laatutapa_2_nUt: <<$param01, <>>>,
                         laatutapa_2_ttU: <<$param02, <>>>,
                         kestämän_tekijäpääte_y1: <<$param03, <>>>,
                         kestämän_tekijäpääte_y2: <<$param03, <>>>,
                         kestämän_tekijäpääte_y3: <<$param01, <>>>,
                         kestämän_tekijäpääte_y3_vi: <<$param01, <>>>,
                         kestämän_tekijäpääte_y3_Vpi: <<$param01, <>>>,
                         kestämän_tekijäpääte_y3_Vvi: <<$param01, <>>>,
                         kestämän_tekijäpääte_m1: <<$param03, <>>>,
                         kestämän_tekijäpääte_m2: <<$param03, <>>>,
                         kestämän_tekijäpääte_m3: <<$param01, <>>>,
                         tositavan_kestämä_tAAn: <<$param02, <>>>,
                         kertoman_tekijäpääte_y1: <<$param04, <>>, <$param05, <ei_voikko>>>,
                         kertoman_tekijäpääte_y2: <<$param04, <>>, <$param05, <ei_voikko>>>,
                         kertoman_tekijäpääte_y3: <<$param04, <>>, <$param06, <ei_voikko>>>,
                         kertoman_tekijäpääte_m1: <<$param04, <>>, <$param05, <ei_voikko>>>,
                         kertoman_tekijäpääte_m2: <<$param04, <>>, <$param05, <ei_voikko>>>,
                         kertoman_tekijäpääte_m3: <<$param04, <>>, <$param06, <ei_voikko>>>,
                         tositavan_kertoma_ttiin: <<$param02, <>>>,
                         ehtotapa: <<$param01, <>>>,
                         ehtotapa_ttA: <<$param02, <>>>,
                         mahtotapa_ne: <<$param01, <>>>,
                         mahtotapa_ttA: <<$param02, <>>>,
                         käskytapa_y2: <<$param03, <>>>,
                         käskytapa_kielto: <<$param01, <>>>,
                         käskytapa_ttA: <<$param02, <>>>,
                         johdin_jA_kantaja: <<$param01, <>>>,
                         johdin_ellA: <<$param05, <>>>,
                         johdin_tO_leuto: <<$param07, <>>>,
                         johdin_vA: <<$param01, <>>>,
                         johdin_vAinen: <<$param01, <>>>,
                         johdin_mA: <<$param01, <>>>,
                         käskytapa: <<$param01, <>>>,
                         johdin_ttAvA: <<$param02, <>>>,
                         johdin_ttAvAinen: <<$param02, <>>>,
                         tositavan_kestämä_tAAn_kielto: <<$param02, <>>>,
                         johdin_nUt: <<$param01, <>>>,
                         johdin_ttU: <<$param02, <>>>,
                         mahtotapa_ne_kielto: <<$param01, <>>>]);
end;
subrule soutaa ($tietue, $param01, $param02, $param03, $param04, $param05, $param06):
  return taivutuskaava ($tietue,
                        [nimitapa_1_A: <<$param01, <>>>,
                         nimitapa_2: <<$param01, <>>>,
                         nimitapa_2_ttA: <<$param02, <>>>,
                         nimitapa_3: <<$param01, <>>>,
                         nimitapa_3_ttA: <<$param02, <>>>,
                         nimitapa_4: <<$param01, <>>>,
                         nimitapa_5: <<$param01, <>>>,
                         laatutapa_1_vA: <<$param01, <>>>,
                         laatutapa_1_ttA: <<$param02, <>>>,
                         laatutapa_2_nUt: <<$param01, <>>>,
                         laatutapa_2_ttU: <<$param02, <>>>,
                         kestämän_tekijäpääte_y1: <<$param03, <>>>,
                         kestämän_tekijäpääte_y2: <<$param03, <>>>,
                         kestämän_tekijäpääte_y3: <<$param01, <>>>,
                         kestämän_tekijäpääte_y3_vi: <<$param01, <>>>,
                         kestämän_tekijäpääte_y3_Vpi: <<$param01, <>>>,
                         kestämän_tekijäpääte_y3_Vvi: <<$param01, <>>>,
                         kestämän_tekijäpääte_m1: <<$param03, <>>>,
                         kestämän_tekijäpääte_m2: <<$param03, <>>>,
                         kestämän_tekijäpääte_m3: <<$param01, <>>>,
                         tositavan_kestämä_tAAn: <<$param02, <>>>,
                         kertoman_tekijäpääte_y1: <<$param04, <>>, <$param05, <>>>,
                         kertoman_tekijäpääte_y2: <<$param04, <>>, <$param05, <>>>,
                         kertoman_tekijäpääte_y3: <<$param04, <>>, <$param06, <>>>,
                         kertoman_tekijäpääte_m1: <<$param04, <>>, <$param05, <>>>,
                         kertoman_tekijäpääte_m2: <<$param04, <>>, <$param05, <>>>,
                         kertoman_tekijäpääte_m3: <<$param04, <>>, <$param06, <>>>,
                         tositavan_kertoma_ttiin: <<$param02, <>>>,
                         ehtotapa: <<$param01, <>>>,
                         ehtotapa_ttA: <<$param02, <>>>,
                         mahtotapa_ne: <<$param01, <>>>,
                         mahtotapa_ttA: <<$param02, <>>>,
                         käskytapa_y2: <<$param03, <>>>,
                         käskytapa_kielto: <<$param01, <>>>,
                         käskytapa_ttA: <<$param02, <>>>,
                         johdin_jA_kantaja: <<$param01, <>>>,
                         johdin_ellA: <<$param05, <>>>,
                         johdin_vA: <<$param01, <>>>,
                         johdin_vAinen: <<$param01, <>>>,
                         johdin_mA: <<$param01, <>>>,
                         käskytapa: <<$param01, <>>>,
                         johdin_ttAvA: <<$param02, <>>>,
                         johdin_ttAvAinen: <<$param02, <>>>,
                         tositavan_kestämä_tAAn_kielto: <<$param02, <>>>,
                         johdin_nUt: <<$param01, <>>>,
                         johdin_ttU: <<$param02, <>>>,
                         mahtotapa_ne_kielto: <<$param01, <>>>]);
end;
subrule jäykentää ($tietue, $param01, $param02, $param03, $param04, $param05, $param06):
  return taivutuskaava ($tietue,
                        [nimitapa_1_A: <<$param01, <>>>,
                         nimitapa_2: <<$param01, <>>>,
                         nimitapa_2_ttA: <<$param02, <>>>,
                         nimitapa_3: <<$param01, <>>>,
                         nimitapa_3_ttA: <<$param02, <>>>,
                         nimitapa_4: <<$param01, <>>>,
                         nimitapa_5: <<$param01, <>>>,
                         laatutapa_1_vA: <<$param01, <>>>,
                         laatutapa_1_ttA: <<$param02, <>>>,
                         laatutapa_2_nUt: <<$param01, <>>>,
                         laatutapa_2_ttU: <<$param02, <>>>,
                         kestämän_tekijäpääte_y1: <<$param03, <>>>,
                         kestämän_tekijäpääte_y2: <<$param03, <>>>,
                         kestämän_tekijäpääte_y3: <<$param01, <>>>,
                         kestämän_tekijäpääte_y3_vi: <<$param01, <>>>,
                         kestämän_tekijäpääte_y3_Vpi: <<$param01, <>>>,
                         kestämän_tekijäpääte_y3_Vvi: <<$param01, <>>>,
                         kestämän_tekijäpääte_m1: <<$param03, <>>>,
                         kestämän_tekijäpääte_m2: <<$param03, <>>>,
                         kestämän_tekijäpääte_m3: <<$param01, <>>>,
                         tositavan_kestämä_tAAn: <<$param02, <>>>,
                         kertoman_tekijäpääte_y1: <<$param04, <>>, <$param05, <ei_voikko>>>,
                         kertoman_tekijäpääte_y2: <<$param04, <>>, <$param05, <ei_voikko>>>,
                         kertoman_tekijäpääte_y3: <<$param04, <>>, <$param06, <ei_voikko>>>,
                         kertoman_tekijäpääte_m1: <<$param04, <>>, <$param05, <ei_voikko>>>,
                         kertoman_tekijäpääte_m2: <<$param04, <>>, <$param05, <ei_voikko>>>,
                         kertoman_tekijäpääte_m3: <<$param04, <>>, <$param06, <ei_voikko>>>,
                         tositavan_kertoma_ttiin: <<$param02, <>>>,
                         ehtotapa: <<$param01, <>>>,
                         ehtotapa_ttA: <<$param02, <>>>,
                         mahtotapa_ne: <<$param01, <>>>,
                         mahtotapa_ttA: <<$param02, <>>>,
                         käskytapa_y2: <<$param03, <>>>,
                         käskytapa_kielto: <<$param01, <>>>,
                         käskytapa_ttA: <<$param02, <>>>,
                         johdin_jA_kantaja: <<$param01, <>>>,
                         johdin_Us_ksen: <<$param05, <>>>,
                         johdin_ellA: <<$param05, <>>>,
                         johdin_vA: <<$param01, <>>>,
                         johdin_vAinen: <<$param01, <>>>,
                         johdin_mA: <<$param01, <>>>,
                         käskytapa: <<$param01, <>>>,
                         johdin_ttAvA: <<$param02, <>>>,
                         johdin_ttAvAinen: <<$param02, <>>>,
                         tositavan_kestämä_tAAn_kielto: <<$param02, <>>>,
                         johdin_nUt: <<$param01, <>>>,
                         johdin_ttU: <<$param02, <>>>,
                         mahtotapa_ne_kielto: <<$param01, <>>>]);
end;
subrule puoltaa ($tietue, $param01, $param02, $param03, $param04, $param05, $param06):
  return taivutuskaava ($tietue,
                        [nimitapa_1_A: <<$param01, <>>>,
                         nimitapa_2: <<$param01, <>>>,
                         nimitapa_2_ttA: <<$param02, <>>>,
                         nimitapa_3: <<$param01, <>>>,
                         nimitapa_3_ttA: <<$param02, <>>>,
                         nimitapa_4: <<$param01, <>>>,
                         nimitapa_5: <<$param01, <>>>,
                         laatutapa_1_vA: <<$param01, <>>>,
                         laatutapa_1_ttA: <<$param02, <>>>,
                         laatutapa_2_nUt: <<$param01, <>>>,
                         laatutapa_2_ttU: <<$param02, <>>>,
                         kestämän_tekijäpääte_y1: <<$param03, <>>>,
                         kestämän_tekijäpääte_y2: <<$param03, <>>>,
                         kestämän_tekijäpääte_y3: <<$param01, <>>>,
                         kestämän_tekijäpääte_y3_vi: <<$param01, <>>>,
                         kestämän_tekijäpääte_y3_Vpi: <<$param01, <>>>,
                         kestämän_tekijäpääte_y3_Vvi: <<$param01, <>>>,
                         kestämän_tekijäpääte_m1: <<$param03, <>>>,
                         kestämän_tekijäpääte_m2: <<$param03, <>>>,
                         kestämän_tekijäpääte_m3: <<$param01, <>>>,
                         tositavan_kestämä_tAAn: <<$param02, <>>>,
                         kertoman_tekijäpääte_y1: <<$param04, <>>, <$param05, <ei_voikko>>>,
                         kertoman_tekijäpääte_y2: <<$param04, <>>, <$param05, <ei_voikko>>>,
                         kertoman_tekijäpääte_y3: <<$param04, <>>, <$param06, <ei_voikko>>>,
                         kertoman_tekijäpääte_m1: <<$param04, <>>, <$param05, <ei_voikko>>>,
                         kertoman_tekijäpääte_m2: <<$param04, <>>, <$param05, <ei_voikko>>>,
                         kertoman_tekijäpääte_m3: <<$param04, <>>, <$param06, <ei_voikko>>>,
                         tositavan_kertoma_ttiin: <<$param02, <>>>,
                         ehtotapa: <<$param01, <>>>,
                         ehtotapa_ttA: <<$param02, <>>>,
                         mahtotapa_ne: <<$param01, <>>>,
                         mahtotapa_ttA: <<$param02, <>>>,
                         käskytapa_y2: <<$param03, <>>>,
                         käskytapa_kielto: <<$param01, <>>>,
                         käskytapa_ttA: <<$param02, <>>>,
                         johdin_jA_kantaja: <<$param01, <>>>,
                         johdin_vA: <<$param01, <>>>,
                         johdin_vAinen: <<$param01, <>>>,
                         johdin_mA: <<$param01, <>>>,
                         käskytapa: <<$param01, <>>>,
                         johdin_ttAvA: <<$param02, <>>>,
                         johdin_ttAvAinen: <<$param02, <>>>,
                         tositavan_kestämä_tAAn_kielto: <<$param02, <>>>,
                         johdin_nUt: <<$param01, <>>>,
                         johdin_ttU: <<$param02, <>>>,
                         mahtotapa_ne_kielto: <<$param01, <>>>]);
end;
subrule pyörtää ($tietue, $param01, $param02, $param03, $param04, $param05, $param06):
  return taivutuskaava ($tietue,
                        [nimitapa_1_A: <<$param01, <>>>,
                         nimitapa_2: <<$param01, <>>>,
                         nimitapa_2_ttA: <<$param02, <>>>,
                         nimitapa_3: <<$param01, <>>>,
                         nimitapa_3_ttA: <<$param02, <>>>,
                         nimitapa_4: <<$param01, <>>>,
                         nimitapa_5: <<$param01, <>>>,
                         laatutapa_1_vA: <<$param01, <>>>,
                         laatutapa_1_ttA: <<$param02, <>>>,
                         laatutapa_2_nUt: <<$param01, <>>>,
                         laatutapa_2_ttU: <<$param02, <>>>,
                         kestämän_tekijäpääte_y1: <<$param03, <>>>,
                         kestämän_tekijäpääte_y2: <<$param03, <>>>,
                         kestämän_tekijäpääte_y3: <<$param01, <>>>,
                         kestämän_tekijäpääte_y3_vi: <<$param01, <>>>,
                         kestämän_tekijäpääte_y3_Vpi: <<$param01, <>>>,
                         kestämän_tekijäpääte_y3_Vvi: <<$param01, <>>>,
                         kestämän_tekijäpääte_m1: <<$param03, <>>>,
                         kestämän_tekijäpääte_m2: <<$param03, <>>>,
                         kestämän_tekijäpääte_m3: <<$param01, <>>>,
                         tositavan_kestämä_tAAn: <<$param02, <>>>,
                         kertoman_tekijäpääte_y1: <<$param04, <>>, <$param05, <ei_voikko>>>,
                         kertoman_tekijäpääte_y2: <<$param04, <>>, <$param05, <ei_voikko>>>,
                         kertoman_tekijäpääte_y3: <<$param04, <>>, <$param06, <ei_voikko>>>,
                         kertoman_tekijäpääte_m1: <<$param04, <>>, <$param05, <ei_voikko>>>,
                         kertoman_tekijäpääte_m2: <<$param04, <>>, <$param05, <ei_voikko>>>,
                         kertoman_tekijäpääte_m3: <<$param04, <>>, <$param06, <ei_voikko>>>,
                         tositavan_kertoma_ttiin: <<$param02, <>>>,
                         ehtotapa: <<$param01, <>>>,
                         ehtotapa_ttA: <<$param02, <>>>,
                         mahtotapa_ne: <<$param01, <>>>,
                         mahtotapa_ttA: <<$param02, <>>>,
                         käskytapa_y2: <<$param03, <>>>,
                         käskytapa_kielto: <<$param01, <>>>,
                         käskytapa_ttA: <<$param02, <>>>,
                         johdin_jA_kantaja: <<$param01, <>>>,
                         johdin_ella: <<$param05, <>>>,
                         johdin_vA: <<$param01, <>>>,
                         johdin_vAinen: <<$param01, <>>>,
                         johdin_mA: <<$param01, <>>>,
                         käskytapa: <<$param01, <>>>,
                         johdin_ttAvA: <<$param02, <>>>,
                         johdin_ttAvAinen: <<$param02, <>>>,
                         tositavan_kestämä_tAAn_kielto: <<$param02, <>>>,
                         johdin_nUt: <<$param01, <>>>,
                         johdin_ttU: <<$param02, <>>>,
                         mahtotapa_ne_kielto: <<$param01, <>>>]);
end;
subrule sukeltaa ($tietue, $param01, $param02, $param03, $param04, $param05, $param06):
  return taivutuskaava ($tietue,
                        [nimitapa_1_A: <<$param01, <>>>,
                         nimitapa_2: <<$param01, <>>>,
                         nimitapa_2_ttA: <<$param02, <>>>,
                         nimitapa_3: <<$param01, <>>>,
                         nimitapa_3_ttA: <<$param02, <>>>,
                         nimitapa_4: <<$param01, <>>>,
                         nimitapa_5: <<$param01, <>>>,
                         laatutapa_1_vA: <<$param01, <>>>,
                         laatutapa_1_ttA: <<$param02, <>>>,
                         laatutapa_2_nUt: <<$param01, <>>>,
                         laatutapa_2_ttU: <<$param02, <>>>,
                         kestämän_tekijäpääte_y1: <<$param03, <>>>,
                         kestämän_tekijäpääte_y2: <<$param03, <>>>,
                         kestämän_tekijäpääte_y3: <<$param01, <>>>,
                         kestämän_tekijäpääte_y3_vi: <<$param01, <>>>,
                         kestämän_tekijäpääte_y3_Vpi: <<$param01, <>>>,
                         kestämän_tekijäpääte_y3_Vvi: <<$param01, <>>>,
                         kestämän_tekijäpääte_m1: <<$param03, <>>>,
                         kestämän_tekijäpääte_m2: <<$param03, <>>>,
                         kestämän_tekijäpääte_m3: <<$param01, <>>>,
                         tositavan_kestämä_tAAn: <<$param02, <>>>,
                         kertoman_tekijäpääte_y1: <<$param04, <>>, <$param05, <ei_voikko>>>,
                         kertoman_tekijäpääte_y2: <<$param04, <>>, <$param05, <ei_voikko>>>,
                         kertoman_tekijäpääte_y3: <<$param04, <>>, <$param06, <ei_voikko>>>,
                         kertoman_tekijäpääte_m1: <<$param04, <>>, <$param05, <ei_voikko>>>,
                         kertoman_tekijäpääte_m2: <<$param04, <>>, <$param05, <ei_voikko>>>,
                         kertoman_tekijäpääte_m3: <<$param04, <>>, <$param06, <ei_voikko>>>,
                         tositavan_kertoma_ttiin: <<$param02, <>>>,
                         ehtotapa: <<$param01, <>>>,
                         ehtotapa_ttA: <<$param02, <>>>,
                         mahtotapa_ne: <<$param01, <>>>,
                         mahtotapa_ttA: <<$param02, <>>>,
                         käskytapa_y2: <<$param03, <>>>,
                         käskytapa_kielto: <<$param01, <>>>,
                         käskytapa_ttA: <<$param02, <>>>,
                         johdin_jA_kantaja: <<$param01, <>>>,
                         johdin_Us_ksen: <<$param05, <>>>,
                         johdin_ellA: <<$param05, <>>>,
                         johdin_vA: <<$param01, <>>>,
                         johdin_vAinen: <<$param01, <>>>,
                         johdin_mA: <<$param01, <>>>,
                         käskytapa: <<$param01, <>>>,
                         johdin_ttAvA: <<$param02, <>>>,
                         johdin_ttAvAinen: <<$param02, <>>>,
                         tositavan_kestämä_tAAn_kielto: <<$param02, <>>>,
                         johdin_nUt: <<$param01, <>>>,
                         johdin_ttU: <<$param02, <>>>,
                         mahtotapa_ne_kielto: <<$param01, <>>>]);
end;
subrule murtaa ($tietue, $param01, $param02, $param03, $param04, $param05, $param06):
  return taivutuskaava ($tietue,
                        [nimitapa_1_A: <<$param01, <>>>,
                         nimitapa_2: <<$param01, <>>>,
                         nimitapa_2_ttA: <<$param02, <>>>,
                         nimitapa_3: <<$param01, <>>>,
                         nimitapa_3_ttA: <<$param02, <>>>,
                         nimitapa_4: <<$param01, <>>>,
                         nimitapa_5: <<$param01, <>>>,
                         laatutapa_1_vA: <<$param01, <>>>,
                         laatutapa_1_ttA: <<$param02, <>>>,
                         laatutapa_2_nUt: <<$param01, <>>>,
                         laatutapa_2_ttU: <<$param02, <>>>,
                         kestämän_tekijäpääte_y1: <<$param03, <>>>,
                         kestämän_tekijäpääte_y2: <<$param03, <>>>,
                         kestämän_tekijäpääte_y3: <<$param01, <>>>,
                         kestämän_tekijäpääte_y3_vi: <<$param01, <>>>,
                         kestämän_tekijäpääte_y3_Vpi: <<$param01, <>>>,
                         kestämän_tekijäpääte_y3_Vvi: <<$param01, <>>>,
                         kestämän_tekijäpääte_m1: <<$param03, <>>>,
                         kestämän_tekijäpääte_m2: <<$param03, <>>>,
                         kestämän_tekijäpääte_m3: <<$param01, <>>>,
                         tositavan_kestämä_tAAn: <<$param02, <>>>,
                         kertoman_tekijäpääte_y1: <<$param04, <>>, <$param05, <ei_voikko>>>,
                         kertoman_tekijäpääte_y2: <<$param04, <>>, <$param05, <ei_voikko>>>,
                         kertoman_tekijäpääte_y3: <<$param04, <>>, <$param06, <ei_voikko>>>,
                         kertoman_tekijäpääte_m1: <<$param04, <>>, <$param05, <ei_voikko>>>,
                         kertoman_tekijäpääte_m2: <<$param04, <>>, <$param05, <ei_voikko>>>,
                         kertoman_tekijäpääte_m3: <<$param04, <>>, <$param06, <ei_voikko>>>,
                         tositavan_kertoma_ttiin: <<$param02, <>>>,
                         ehtotapa: <<$param01, <>>>,
                         ehtotapa_ttA: <<$param02, <>>>,
                         mahtotapa_ne: <<$param01, <>>>,
                         mahtotapa_ttA: <<$param02, <>>>,
                         käskytapa_y2: <<$param03, <>>>,
                         käskytapa_kielto: <<$param01, <>>>,
                         käskytapa_ttA: <<$param02, <>>>,
                         johdin_jA_kantaja: <<$param01, <>>>,
                         johdin_Os: <<$param05, <>>>,
                         johdin_ellA: <<$param05, <>>>,
                         johdin_vA: <<$param01, <>>>,
                         johdin_vAinen: <<$param01, <>>>,
                         johdin_mA: <<$param01, <>>>,
                         käskytapa: <<$param01, <>>>,
                         johdin_ttAvA: <<$param02, <>>>,
                         johdin_ttAvAinen: <<$param02, <>>>,
                         tositavan_kestämä_tAAn_kielto: <<$param02, <>>>,
                         johdin_nUt: <<$param01, <>>>,
                         johdin_ttU: <<$param02, <>>>,
                         mahtotapa_ne_kielto: <<$param01, <>>>]);
end;
subrule musertaa ($tietue, $param01, $param02, $param03, $param04, $param05, $param06):
  return taivutuskaava ($tietue,
                        [nimitapa_1_A: <<$param01, <>>>,
                         nimitapa_2: <<$param01, <>>>,
                         nimitapa_2_ttA: <<$param02, <>>>,
                         nimitapa_3: <<$param01, <>>>,
                         nimitapa_3_ttA: <<$param02, <>>>,
                         nimitapa_4: <<$param01, <>>>,
                         nimitapa_5: <<$param01, <>>>,
                         laatutapa_1_vA: <<$param01, <>>>,
                         laatutapa_1_ttA: <<$param02, <>>>,
                         laatutapa_2_nUt: <<$param01, <>>>,
                         laatutapa_2_ttU: <<$param02, <>>>,
                         kestämän_tekijäpääte_y1: <<$param03, <>>>,
                         kestämän_tekijäpääte_y2: <<$param03, <>>>,
                         kestämän_tekijäpääte_y3: <<$param01, <>>>,
                         kestämän_tekijäpääte_y3_vi: <<$param01, <>>>,
                         kestämän_tekijäpääte_y3_Vpi: <<$param01, <>>>,
                         kestämän_tekijäpääte_y3_Vvi: <<$param01, <>>>,
                         kestämän_tekijäpääte_m1: <<$param03, <>>>,
                         kestämän_tekijäpääte_m2: <<$param03, <>>>,
                         kestämän_tekijäpääte_m3: <<$param01, <>>>,
                         tositavan_kestämä_tAAn: <<$param02, <>>>,
                         kertoman_tekijäpääte_y1: <<$param04, <>>, <$param05, <ei_voikko>>>,
                         kertoman_tekijäpääte_y2: <<$param04, <>>, <$param05, <ei_voikko>>>,
                         kertoman_tekijäpääte_y3: <<$param04, <>>, <$param06, <ei_voikko>>>,
                         kertoman_tekijäpääte_m1: <<$param04, <>>, <$param05, <ei_voikko>>>,
                         kertoman_tekijäpääte_m2: <<$param04, <>>, <$param05, <ei_voikko>>>,
                         kertoman_tekijäpääte_m3: <<$param04, <>>, <$param06, <ei_voikko>>>,
                         tositavan_kertoma_ttiin: <<$param02, <>>>,
                         ehtotapa: <<$param01, <>>>,
                         ehtotapa_ttA: <<$param02, <>>>,
                         mahtotapa_ne: <<$param01, <>>>,
                         mahtotapa_ttA: <<$param02, <>>>,
                         käskytapa_y2: <<$param03, <>>>,
                         käskytapa_kielto: <<$param01, <>>>,
                         käskytapa_ttA: <<$param02, <>>>,
                         johdin_jA_kantaja: <<$param01, <>>>,
                         johdin_Us_ksen: <<$param05, <>>>,
                         johdin_ellA: <<$param05, <>>>,
                         johdin_vA: <<$param01, <>>>,
                         johdin_vAinen: <<$param01, <>>>,
                         johdin_mA: <<$param01, <>>>,
                         käskytapa: <<$param01, <>>>,
                         johdin_ttAvA: <<$param02, <>>>,
                         johdin_ttAvAinen: <<$param02, <>>>,
                         tositavan_kestämä_tAAn_kielto: <<$param02, <>>>,
                         johdin_nUt: <<$param01, <>>>,
                         johdin_ttU: <<$param02, <>>>,
                         mahtotapa_ne_kielto: <<$param01, <>>>]);
end;
subrule sortaa ($tietue, $param01, $param02, $param03, $param04, $param05, $param06):
  return taivutuskaava ($tietue,
                        [nimitapa_1_A: <<$param01, <>>>,
                         nimitapa_2: <<$param01, <>>>,
                         nimitapa_2_ttA: <<$param02, <>>>,
                         nimitapa_3: <<$param01, <>>>,
                         nimitapa_3_ttA: <<$param02, <>>>,
                         nimitapa_4: <<$param01, <>>>,
                         nimitapa_5: <<$param01, <>>>,
                         laatutapa_1_vA: <<$param01, <>>>,
                         laatutapa_1_ttA: <<$param02, <>>>,
                         laatutapa_2_nUt: <<$param01, <>>>,
                         laatutapa_2_ttU: <<$param02, <>>>,
                         kestämän_tekijäpääte_y1: <<$param03, <>>>,
                         kestämän_tekijäpääte_y2: <<$param03, <>>>,
                         kestämän_tekijäpääte_y3: <<$param01, <>>>,
                         kestämän_tekijäpääte_y3_vi: <<$param01, <>>>,
                         kestämän_tekijäpääte_y3_Vpi: <<$param01, <>>>,
                         kestämän_tekijäpääte_y3_Vvi: <<$param01, <>>>,
                         kestämän_tekijäpääte_m1: <<$param03, <>>>,
                         kestämän_tekijäpääte_m2: <<$param03, <>>>,
                         kestämän_tekijäpääte_m3: <<$param01, <>>>,
                         tositavan_kestämä_tAAn: <<$param02, <>>>,
                         kertoman_tekijäpääte_y1: <<$param04, <>>, <$param05, <ei_voikko>>>,
                         kertoman_tekijäpääte_y2: <<$param04, <>>, <$param05, <ei_voikko>>>,
                         kertoman_tekijäpääte_y3: <<$param04, <>>, <$param06, <ei_voikko>>>,
                         kertoman_tekijäpääte_m1: <<$param04, <>>, <$param05, <ei_voikko>>>,
                         kertoman_tekijäpääte_m2: <<$param04, <>>, <$param05, <ei_voikko>>>,
                         kertoman_tekijäpääte_m3: <<$param04, <>>, <$param06, <ei_voikko>>>,
                         tositavan_kertoma_ttiin: <<$param02, <>>>,
                         ehtotapa: <<$param01, <>>>,
                         ehtotapa_ttA: <<$param02, <>>>,
                         mahtotapa_ne: <<$param01, <>>>,
                         mahtotapa_ttA: <<$param02, <>>>,
                         käskytapa_y2: <<$param03, <>>>,
                         käskytapa_kielto: <<$param01, <>>>,
                         käskytapa_ttA: <<$param02, <>>>,
                         johdin_jA_kantaja: <<$param01, <>>>,
                         johdin_vA: <<$param01, <>>>,
                         johdin_vAinen: <<$param01, <>>>,
                         johdin_mA: <<$param01, <>>>,
                         käskytapa: <<$param01, <>>>,
                         johdin_ttAvA: <<$param02, <>>>,
                         johdin_ttAvAinen: <<$param02, <>>>,
                         tositavan_kestämä_tAAn_kielto: <<$param02, <>>>,
                         johdin_nUt: <<$param01, <>>>,
                         johdin_ttU: <<$param02, <>>>,
                         mahtotapa_ne_kielto: <<$param01, <>>>]);
end;
subrule juontaa ($tietue, $param01, $param02, $param03, $param04, $param05, $param06):
  return taivutuskaava ($tietue,
                        [nimitapa_1_A: <<$param01, <>>>,
                         nimitapa_2: <<$param01, <>>>,
                         nimitapa_2_ttA: <<$param02, <>>>,
                         nimitapa_3: <<$param01, <>>>,
                         nimitapa_3_ttA: <<$param02, <>>>,
                         nimitapa_4: <<$param01, <>>>,
                         nimitapa_5: <<$param01, <>>>,
                         laatutapa_1_vA: <<$param01, <>>>,
                         laatutapa_1_ttA: <<$param02, <>>>,
                         laatutapa_2_nUt: <<$param01, <>>>,
                         laatutapa_2_ttU: <<$param02, <>>>,
                         kestämän_tekijäpääte_y1: <<$param03, <>>>,
                         kestämän_tekijäpääte_y2: <<$param03, <>>>,
                         kestämän_tekijäpääte_y3: <<$param01, <>>>,
                         kestämän_tekijäpääte_y3_vi: <<$param01, <>>>,
                         kestämän_tekijäpääte_y3_Vpi: <<$param01, <>>>,
                         kestämän_tekijäpääte_y3_Vvi: <<$param01, <>>>,
                         kestämän_tekijäpääte_m1: <<$param03, <>>>,
                         kestämän_tekijäpääte_m2: <<$param03, <>>>,
                         kestämän_tekijäpääte_m3: <<$param01, <>>>,
                         tositavan_kestämä_tAAn: <<$param02, <>>>,
                         kertoman_tekijäpääte_y1: <<$param04, <>>, <$param05, <ei_voikko>>>,
                         kertoman_tekijäpääte_y2: <<$param04, <>>, <$param05, <ei_voikko>>>,
                         kertoman_tekijäpääte_y3: <<$param04, <>>, <$param06, <ei_voikko>>>,
                         kertoman_tekijäpääte_m1: <<$param04, <>>, <$param05, <ei_voikko>>>,
                         kertoman_tekijäpääte_m2: <<$param04, <>>, <$param05, <ei_voikko>>>,
                         kertoman_tekijäpääte_m3: <<$param04, <>>, <$param06, <ei_voikko>>>,
                         tositavan_kertoma_ttiin: <<$param02, <>>>,
                         ehtotapa: <<$param01, <>>>,
                         ehtotapa_ttA: <<$param02, <>>>,
                         mahtotapa_ne: <<$param01, <>>>,
                         mahtotapa_ttA: <<$param02, <>>>,
                         käskytapa_y2: <<$param03, <>>>,
                         käskytapa_kielto: <<$param01, <>>>,
                         käskytapa_ttA: <<$param02, <>>>,
                         johdin_jA_kantaja: <<$param01, <>>>,
                         johdin_ellA: <<$param05, <>>>,
                         johdin_vA: <<$param01, <>>>,
                         johdin_vAinen: <<$param01, <>>>,
                         johdin_mA: <<$param01, <>>>,
                         käskytapa: <<$param01, <>>>,
                         johdin_ttAvA: <<$param02, <>>>,
                         johdin_ttAvAinen: <<$param02, <>>>,
                         tositavan_kestämä_tAAn_kielto: <<$param02, <>>>,
                         johdin_nUt: <<$param01, <>>>,
                         johdin_ttU: <<$param02, <>>>,
                         mahtotapa_ne_kielto: <<$param01, <>>>]);
end;
subrule pahentaa ($tietue, $param01, $param02, $param03, $param04, $param05, $param06):
  return taivutuskaava ($tietue,
                        [nimitapa_1_A: <<$param01, <>>>,
                         nimitapa_2: <<$param01, <>>>,
                         nimitapa_2_ttA: <<$param02, <>>>,
                         nimitapa_3: <<$param01, <>>>,
                         nimitapa_3_ttA: <<$param02, <>>>,
                         nimitapa_4: <<$param01, <>>>,
                         nimitapa_5: <<$param01, <>>>,
                         laatutapa_1_vA: <<$param01, <>>>,
                         laatutapa_1_ttA: <<$param02, <>>>,
                         laatutapa_2_nUt: <<$param01, <>>>,
                         laatutapa_2_ttU: <<$param02, <>>>,
                         kestämän_tekijäpääte_y1: <<$param03, <>>>,
                         kestämän_tekijäpääte_y2: <<$param03, <>>>,
                         kestämän_tekijäpääte_y3: <<$param01, <>>>,
                         kestämän_tekijäpääte_y3_vi: <<$param01, <>>>,
                         kestämän_tekijäpääte_y3_Vpi: <<$param01, <>>>,
                         kestämän_tekijäpääte_y3_Vvi: <<$param01, <>>>,
                         kestämän_tekijäpääte_m1: <<$param03, <>>>,
                         kestämän_tekijäpääte_m2: <<$param03, <>>>,
                         kestämän_tekijäpääte_m3: <<$param01, <>>>,
                         tositavan_kestämä_tAAn: <<$param02, <>>>,
                         kertoman_tekijäpääte_y1: <<$param04, <>>, <$param05, <ei_voikko>>>,
                         kertoman_tekijäpääte_y2: <<$param04, <>>, <$param05, <ei_voikko>>>,
                         kertoman_tekijäpääte_y3: <<$param04, <>>, <$param06, <ei_voikko>>>,
                         kertoman_tekijäpääte_m1: <<$param04, <>>, <$param05, <ei_voikko>>>,
                         kertoman_tekijäpääte_m2: <<$param04, <>>, <$param05, <ei_voikko>>>,
                         kertoman_tekijäpääte_m3: <<$param04, <>>, <$param06, <ei_voikko>>>,
                         tositavan_kertoma_ttiin: <<$param02, <>>>,
                         ehtotapa: <<$param01, <>>>,
                         ehtotapa_ttA: <<$param02, <>>>,
                         mahtotapa_ne: <<$param01, <>>>,
                         mahtotapa_ttA: <<$param02, <>>>,
                         käskytapa_y2: <<$param03, <>>>,
                         käskytapa_kielto: <<$param01, <>>>,
                         käskytapa_ttA: <<$param02, <>>>,
                         johdin_jA_kantaja: <<$param01, <>>>,
                         johdin_Us_ksen: <<$param05, <>>>,
                         johdin_ellA: <<$param05, <>>>,
                         johdin_vA: <<$param01, <>>>,
                         johdin_vAinen: <<$param01, <>>>,
                         johdin_mA: <<$param01, <>>>,
                         käskytapa: <<$param01, <>>>,
                         johdin_ttAvA: <<$param02, <>>>,
                         johdin_ttAvAinen: <<$param02, <>>>,
                         tositavan_kestämä_tAAn_kielto: <<$param02, <>>>,
                         johdin_nUt: <<$param01, <>>>,
                         johdin_ttU: <<$param02, <>>>,
                         mahtotapa_ne_kielto: <<$param01, <>>>]);
end;
subrule antaa ($tietue, $param01, $param02, $param03, $param04, $param05, $param06):
  return taivutuskaava ($tietue,
                        [nimitapa_1_A: <<$param01, <>>>,
                         nimitapa_2: <<$param01, <>>>,
                         nimitapa_2_ttA: <<$param02, <>>>,
                         nimitapa_3: <<$param01, <>>>,
                         nimitapa_3_ttA: <<$param02, <>>>,
                         nimitapa_4: <<$param01, <>>>,
                         nimitapa_5: <<$param01, <>>>,
                         laatutapa_1_vA: <<$param01, <>>>,
                         laatutapa_1_ttA: <<$param02, <>>>,
                         laatutapa_2_nUt: <<$param01, <>>>,
                         laatutapa_2_ttU: <<$param02, <>>>,
                         kestämän_tekijäpääte_y1: <<$param03, <>>>,
                         kestämän_tekijäpääte_y2: <<$param03, <>>>,
                         kestämän_tekijäpääte_y3: <<$param01, <>>>,
                         kestämän_tekijäpääte_y3_vi: <<$param01, <>>>,
                         kestämän_tekijäpääte_y3_Vpi: <<$param01, <>>>,
                         kestämän_tekijäpääte_y3_Vvi: <<$param01, <>>>,
                         kestämän_tekijäpääte_m1: <<$param03, <>>>,
                         kestämän_tekijäpääte_m2: <<$param03, <>>>,
                         kestämän_tekijäpääte_m3: <<$param01, <>>>,
                         tositavan_kestämä_tAAn: <<$param02, <>>>,
                         kertoman_tekijäpääte_y1: <<$param04, <>>>,
                         kertoman_tekijäpääte_y2: <<$param04, <>>>,
                         kertoman_tekijäpääte_y3: <<$param05, <>>>,
                         kertoman_tekijäpääte_m1: <<$param04, <>>>,
                         kertoman_tekijäpääte_m2: <<$param04, <>>>,
                         kertoman_tekijäpääte_m3: <<$param05, <>>>,
                         tositavan_kertoma_ttiin: <<$param02, <>>>,
                         ehtotapa: <<$param01, <>>>,
                         ehtotapa_ttA: <<$param02, <>>>,
                         mahtotapa_ne: <<$param01, <>>>,
                         mahtotapa_ttA: <<$param02, <>>>,
                         käskytapa_y2: <<$param03, <>>>,
                         käskytapa_kielto: <<$param01, <>>>,
                         käskytapa_ttA: <<$param02, <>>>,
                         johdin_jA_kantaja: <<$param01, <>>>,
                         johdin_ellA: <<$param06, <>>>,
                         johdin_vA: <<$param01, <>>>,
                         johdin_vAinen: <<$param01, <>>>,
                         johdin_mA: <<$param01, <>>>,
                         käskytapa: <<$param01, <>>>,
                         johdin_ttAvA: <<$param02, <>>>,
                         johdin_ttAvAinen: <<$param02, <>>>,
                         tositavan_kestämä_tAAn_kielto: <<$param02, <>>>,
                         johdin_nUt: <<$param01, <>>>,
                         johdin_ttU: <<$param02, <>>>,
                         mahtotapa_ne_kielto: <<$param01, <>>>]);
end;
subrule jakaa ($tietue, $param01, $param02, $param03, $param04, $param05):
  return taivutuskaava ($tietue,
                        [nimitapa_1_A: <<$param01, <>>>,
                         nimitapa_2: <<$param01, <>>>,
                         nimitapa_2_ttA: <<$param02, <>>>,
                         nimitapa_3: <<$param01, <>>>,
                         nimitapa_3_ttA: <<$param02, <>>>,
                         nimitapa_4: <<$param01, <>>>,
                         nimitapa_5: <<$param01, <>>>,
                         laatutapa_1_vA: <<$param01, <>>>,
                         laatutapa_1_ttA: <<$param02, <>>>,
                         laatutapa_2_nUt: <<$param01, <>>>,
                         laatutapa_2_ttU: <<$param02, <>>>,
                         kestämän_tekijäpääte_y1: <<$param03, <>>>,
                         kestämän_tekijäpääte_y2: <<$param03, <>>>,
                         kestämän_tekijäpääte_y3: <<$param01, <>>>,
                         kestämän_tekijäpääte_y3_vi: <<$param01, <>>>,
                         kestämän_tekijäpääte_y3_Vpi: <<$param01, <>>>,
                         kestämän_tekijäpääte_y3_Vvi: <<$param01, <>>>,
                         kestämän_tekijäpääte_m1: <<$param03, <>>>,
                         kestämän_tekijäpääte_m2: <<$param03, <>>>,
                         kestämän_tekijäpääte_m3: <<$param01, <>>>,
                         tositavan_kestämä_tAAn: <<$param02, <>>>,
                         kertoman_tekijäpääte_y1: <<$param04, <>>>,
                         kertoman_tekijäpääte_y2: <<$param04, <>>>,
                         kertoman_tekijäpääte_y3: <<$param05, <>>>,
                         kertoman_tekijäpääte_m1: <<$param04, <>>>,
                         kertoman_tekijäpääte_m2: <<$param04, <>>>,
                         kertoman_tekijäpääte_m3: <<$param05, <>>>,
                         tositavan_kertoma_ttiin: <<$param02, <>>>,
                         ehtotapa: <<$param01, <>>>,
                         ehtotapa_ttA: <<$param02, <>>>,
                         mahtotapa_ne: <<$param01, <>>>,
                         mahtotapa_ttA: <<$param02, <>>>,
                         käskytapa_y2: <<$param03, <>>>,
                         käskytapa_kielto: <<$param01, <>>>,
                         käskytapa_ttA: <<$param02, <>>>,
                         johdin_jA_kantaja: <<$param01, <>>>,
                         johdin_vA: <<$param01, <>>>,
                         johdin_vAinen: <<$param01, <>>>,
                         johdin_mA: <<$param01, <>>>,
                         käskytapa: <<$param01, <>>>,
                         johdin_ttAvA: <<$param02, <>>>,
                         johdin_ttAvAinen: <<$param02, <>>>,
                         tositavan_kestämä_tAAn_kielto: <<$param02, <>>>,
                         johdin_nUt: <<$param01, <>>>,
                         johdin_ttU: <<$param02, <>>>,
                         mahtotapa_ne_kielto: <<$param01, <>>>]);
end;
subrule kaivaa ($tietue, $param01, $param02, $param03, $param04, $param05, $param06):
  return taivutuskaava ($tietue,
                        [nimitapa_1_A: <<$param01, <>>>,
                         nimitapa_2: <<$param01, <>>>,
                         nimitapa_2_ttA: <<$param02, <>>>,
                         nimitapa_3: <<$param01, <>>>,
                         nimitapa_3_ttA: <<$param02, <>>>,
                         nimitapa_4: <<$param01, <>>>,
                         nimitapa_5: <<$param01, <>>>,
                         laatutapa_1_vA: <<$param01, <>>>,
                         laatutapa_1_ttA: <<$param02, <>>>,
                         laatutapa_2_nUt: <<$param01, <>>>,
                         laatutapa_2_ttU: <<$param02, <>>>,
                         kestämän_tekijäpääte_y1: <<$param03, <>>>,
                         kestämän_tekijäpääte_y2: <<$param03, <>>>,
                         kestämän_tekijäpääte_y3: <<$param01, <>>>,
                         kestämän_tekijäpääte_y3_vi: <<$param01, <>>>,
                         kestämän_tekijäpääte_y3_Vpi: <<$param01, <>>>,
                         kestämän_tekijäpääte_y3_Vvi: <<$param01, <>>>,
                         kestämän_tekijäpääte_m1: <<$param03, <>>>,
                         kestämän_tekijäpääte_m2: <<$param03, <>>>,
                         kestämän_tekijäpääte_m3: <<$param01, <>>>,
                         tositavan_kestämä_tAAn: <<$param02, <>>>,
                         kertoman_tekijäpääte_y1: <<$param04, <>>>,
                         kertoman_tekijäpääte_y2: <<$param04, <>>>,
                         kertoman_tekijäpääte_y3: <<$param05, <>>>,
                         kertoman_tekijäpääte_m1: <<$param04, <>>>,
                         kertoman_tekijäpääte_m2: <<$param04, <>>>,
                         kertoman_tekijäpääte_m3: <<$param05, <>>>,
                         tositavan_kertoma_ttiin: <<$param02, <>>>,
                         ehtotapa: <<$param01, <>>>,
                         ehtotapa_ttA: <<$param02, <>>>,
                         mahtotapa_ne: <<$param01, <>>>,
                         mahtotapa_ttA: <<$param02, <>>>,
                         käskytapa_y2: <<$param03, <>>>,
                         käskytapa_kielto: <<$param01, <>>>,
                         käskytapa_ttA: <<$param02, <>>>,
                         johdin_jA_kantaja: <<$param01, <>>>,
                         johdin_ntA: <<$param03, <>>>,
                         johdin_ellA: <<$param06, <>>>,
                         johdin_vA: <<$param01, <>>>,
                         johdin_vAinen: <<$param01, <>>>,
                         johdin_mA: <<$param01, <>>>,
                         käskytapa: <<$param01, <>>>,
                         johdin_ttAvA: <<$param02, <>>>,
                         johdin_ttAvAinen: <<$param02, <>>>,
                         tositavan_kestämä_tAAn_kielto: <<$param02, <>>>,
                         johdin_nUt: <<$param01, <>>>,
                         johdin_ttU: <<$param02, <>>>,
                         mahtotapa_ne_kielto: <<$param01, <>>>]);
end;
subrule lappaa ($tietue, $param01, $param02, $param03, $param04, $param05):
  return taivutuskaava ($tietue,
                        [nimitapa_1_A: <<$param01, <>>>,
                         nimitapa_2: <<$param01, <>>>,
                         nimitapa_2_ttA: <<$param02, <>>>,
                         nimitapa_3: <<$param01, <>>>,
                         nimitapa_3_ttA: <<$param02, <>>>,
                         nimitapa_4: <<$param01, <>>>,
                         nimitapa_5: <<$param01, <>>>,
                         laatutapa_1_vA: <<$param01, <>>>,
                         laatutapa_1_ttA: <<$param02, <>>>,
                         laatutapa_2_nUt: <<$param01, <>>>,
                         laatutapa_2_ttU: <<$param02, <>>>,
                         kestämän_tekijäpääte_y1: <<$param03, <>>>,
                         kestämän_tekijäpääte_y2: <<$param03, <>>>,
                         kestämän_tekijäpääte_y3: <<$param01, <>>>,
                         kestämän_tekijäpääte_y3_vi: <<$param01, <>>>,
                         kestämän_tekijäpääte_y3_Vpi: <<$param01, <>>>,
                         kestämän_tekijäpääte_y3_Vvi: <<$param01, <>>>,
                         kestämän_tekijäpääte_m1: <<$param03, <>>>,
                         kestämän_tekijäpääte_m2: <<$param03, <>>>,
                         kestämän_tekijäpääte_m3: <<$param01, <>>>,
                         tositavan_kestämä_tAAn: <<$param02, <>>>,
                         kertoman_tekijäpääte_y1: <<$param04, <>>>,
                         kertoman_tekijäpääte_y2: <<$param04, <>>>,
                         kertoman_tekijäpääte_y3: <<$param05, <>>>,
                         kertoman_tekijäpääte_m1: <<$param04, <>>>,
                         kertoman_tekijäpääte_m2: <<$param04, <>>>,
                         kertoman_tekijäpääte_m3: <<$param05, <>>>,
                         tositavan_kertoma_ttiin: <<$param02, <>>>,
                         ehtotapa: <<$param01, <>>>,
                         ehtotapa_ttA: <<$param02, <>>>,
                         mahtotapa_ne: <<$param01, <>>>,
                         mahtotapa_ttA: <<$param02, <>>>,
                         käskytapa_y2: <<$param03, <>>>,
                         käskytapa_kielto: <<$param01, <>>>,
                         käskytapa_ttA: <<$param02, <>>>,
                         johdin_jA_kantaja: <<$param01, <>>>,
                         johdin_ntA: <<$param03, <>>>,
                         johdin_vA: <<$param01, <>>>,
                         johdin_vAinen: <<$param01, <>>>,
                         johdin_mA: <<$param01, <>>>,
                         käskytapa: <<$param01, <>>>,
                         johdin_ttAvA: <<$param02, <>>>,
                         johdin_ttAvAinen: <<$param02, <>>>,
                         tositavan_kestämä_tAAn_kielto: <<$param02, <>>>,
                         johdin_nUt: <<$param01, <>>>,
                         johdin_ttU: <<$param02, <>>>,
                         mahtotapa_ne_kielto: <<$param01, <>>>]);
end;
subrule haastaa ($tietue, $param01, $param02, $param03, $param04, $param05, $param06, $param07, $johdin_ellA):
  return taivutuskaava ($tietue,
                        [nimitapa_1_A: <<$param01, <>>>,
                         nimitapa_2: <<$param01, <>>>,
                         nimitapa_2_ttA: <<$param02, <>>>,
                         nimitapa_3: <<$param01, <>>>,
                         nimitapa_3_ttA: <<$param02, <>>>,
                         nimitapa_4: <<$param01, <>>>,
                         nimitapa_5: <<$param01, <>>>,
                         laatutapa_1_vA: <<$param01, <>>>,
                         laatutapa_1_ttA: <<$param02, <>>>,
                         laatutapa_2_nUt: <<$param01, <>>>,
                         laatutapa_2_ttU: <<$param02, <>>>,
                         kestämän_tekijäpääte_y1: <<$param03, <>>>,
                         kestämän_tekijäpääte_y2: <<$param03, <>>>,
                         kestämän_tekijäpääte_y3: <<$param01, <>>>,
                         kestämän_tekijäpääte_y3_vi: <<$param01, <>>>,
                         kestämän_tekijäpääte_y3_Vpi: <<$param01, <>>>,
                         kestämän_tekijäpääte_y3_Vvi: <<$param01, <>>>,
                         kestämän_tekijäpääte_m1: <<$param03, <>>>,
                         kestämän_tekijäpääte_m2: <<$param03, <>>>,
                         kestämän_tekijäpääte_m3: <<$param01, <>>>,
                         tositavan_kestämä_tAAn: <<$param02, <>>>,
                         kertoman_tekijäpääte_y1: <<$param04, <>>, <$param05, <ei_voikko>>>,
                         kertoman_tekijäpääte_y2: <<$param04, <>>, <$param05, <ei_voikko>>>,
                         kertoman_tekijäpääte_y3: <<$param06, <>>, <$param07, <ei_voikko>>>,
                         kertoman_tekijäpääte_m1: <<$param04, <>>, <$param05, <ei_voikko>>>,
                         kertoman_tekijäpääte_m2: <<$param04, <>>, <$param05, <ei_voikko>>>,
                         kertoman_tekijäpääte_m3: <<$param06, <>>, <$param07, <ei_voikko>>>,
                         tositavan_kertoma_ttiin: <<$param02, <>>>,
                         ehtotapa: <<$param01, <>>>,
                         ehtotapa_ttA: <<$param02, <>>>,
                         mahtotapa_ne: <<$param01, <>>>,
                         mahtotapa_ttA: <<$param02, <>>>,
                         käskytapa_y2: <<$param03, <>>>,
                         käskytapa_kielto: <<$param01, <>>>,
                         käskytapa_ttA: <<$param02, <>>>,
                         johdin_jA_kantaja: <<$param01, <>>>,
                         johdin_ellA: <<$johdin_ellA, <>>>,
                         johdin_vA: <<$param01, <>>>,
                         johdin_vAinen: <<$param01, <>>>,
                         johdin_mA: <<$param01, <>>>,
                         käskytapa: <<$param01, <>>>,
                         johdin_ttAvA: <<$param02, <>>>,
                         johdin_ttAvAinen: <<$param02, <>>>,
                         tositavan_kestämä_tAAn_kielto: <<$param02, <>>>,
                         johdin_nUt: <<$param01, <>>>,
                         johdin_ttU: <<$param02, <>>>,
                         mahtotapa_ne_kielto: <<$param01, <>>>]);
end;
subrule paistaa ($tietue, $param01, $param02, $param03, $param04, $param05, $param06, $param07, $johdin_ellA):
  return taivutuskaava ($tietue,
                        [nimitapa_1_A: <<$param01, <>>>,
                         nimitapa_2: <<$param01, <>>>,
                         nimitapa_2_ttA: <<$param02, <>>>,
                         nimitapa_3: <<$param01, <>>>,
                         nimitapa_3_ttA: <<$param02, <>>>,
                         nimitapa_4: <<$param01, <>>>,
                         nimitapa_5: <<$param01, <>>>,
                         laatutapa_1_vA: <<$param01, <>>>,
                         laatutapa_1_ttA: <<$param02, <>>>,
                         laatutapa_2_nUt: <<$param01, <>>>,
                         laatutapa_2_ttU: <<$param02, <>>>,
                         kestämän_tekijäpääte_y1: <<$param03, <>>>,
                         kestämän_tekijäpääte_y2: <<$param03, <>>>,
                         kestämän_tekijäpääte_y3: <<$param01, <>>>,
                         kestämän_tekijäpääte_y3_vi: <<$param01, <>>>,
                         kestämän_tekijäpääte_y3_Vpi: <<$param01, <>>>,
                         kestämän_tekijäpääte_y3_Vvi: <<$param01, <>>>,
                         kestämän_tekijäpääte_m1: <<$param03, <>>>,
                         kestämän_tekijäpääte_m2: <<$param03, <>>>,
                         kestämän_tekijäpääte_m3: <<$param01, <>>>,
                         tositavan_kestämä_tAAn: <<$param02, <>>>,
                         kertoman_tekijäpääte_y1: <<$param04, <>>, <$param05, <ei_voikko>>>,
                         kertoman_tekijäpääte_y2: <<$param04, <>>, <$param05, <ei_voikko>>>,
                         kertoman_tekijäpääte_y3: <<$param06, <>>, <$param07, <ei_voikko>>>,
                         kertoman_tekijäpääte_m1: <<$param04, <>>, <$param05, <ei_voikko>>>,
                         kertoman_tekijäpääte_m2: <<$param04, <>>, <$param05, <ei_voikko>>>,
                         kertoman_tekijäpääte_m3: <<$param06, <>>, <$param07, <ei_voikko>>>,
                         tositavan_kertoma_ttiin: <<$param02, <>>>,
                         ehtotapa: <<$param01, <>>>,
                         ehtotapa_ttA: <<$param02, <>>>,
                         mahtotapa_ne: <<$param01, <>>>,
                         mahtotapa_ttA: <<$param02, <>>>,
                         käskytapa_y2: <<$param03, <>>>,
                         käskytapa_kielto: <<$param01, <>>>,
                         käskytapa_ttA: <<$param02, <>>>,
                         johdin_jA_kantaja: <<$param01, <>>>,
                         johdin_ellA: <<$johdin_ellA, <>>>,
                         johdin_vA: <<$param01, <>>>,
                         johdin_vAinen: <<$param01, <>>>,
                         johdin_mA: <<$param01, <>>>,
                         käskytapa: <<$param01, <>>>,
                         johdin_ttAvA: <<$param02, <>>>,
                         johdin_ttAvAinen: <<$param02, <>>>,
                         tositavan_kestämä_tAAn_kielto: <<$param02, <>>>,
                         johdin_nUt: <<$param01, <>>>,
                         johdin_ttU: <<$param02, <>>>,
                         mahtotapa_ne_kielto: <<$param01, <>>>]);
end;
subrule virkkaa ($tietue, $param01, $param02, $param03, $param04, $param05, $param06, $param07):
  return taivutuskaava ($tietue,
                        [nimitapa_1_A: <<$param01, <>>>,
                         nimitapa_2: <<$param01, <>>>,
                         nimitapa_2_ttA: <<$param02, <>>>,
                         nimitapa_3: <<$param01, <>>>,
                         nimitapa_3_ttA: <<$param02, <>>>,
                         nimitapa_4: <<$param01, <>>>,
                         nimitapa_5: <<$param01, <>>>,
                         laatutapa_1_vA: <<$param01, <>>>,
                         laatutapa_1_ttA: <<$param02, <>>>,
                         laatutapa_2_nUt: <<$param01, <>>>,
                         laatutapa_2_ttU: <<$param02, <>>>,
                         kestämän_tekijäpääte_y1: <<$param03, <>>>,
                         kestämän_tekijäpääte_y2: <<$param03, <>>>,
                         kestämän_tekijäpääte_y3: <<$param01, <>>>,
                         kestämän_tekijäpääte_y3_vi: <<$param01, <>>>,
                         kestämän_tekijäpääte_y3_Vpi: <<$param01, <>>>,
                         kestämän_tekijäpääte_y3_Vvi: <<$param01, <>>>,
                         kestämän_tekijäpääte_m1: <<$param03, <>>>,
                         kestämän_tekijäpääte_m2: <<$param03, <>>>,
                         kestämän_tekijäpääte_m3: <<$param01, <>>>,
                         tositavan_kestämä_tAAn: <<$param02, <>>>,
                         kertoman_tekijäpääte_y1: <<$param04, <>>, <$param05, <ei_voikko>>>,
                         kertoman_tekijäpääte_y2: <<$param04, <>>, <$param05, <ei_voikko>>>,
                         kertoman_tekijäpääte_y3: <<$param06, <>>, <$param07, <ei_voikko>>>,
                         kertoman_tekijäpääte_m1: <<$param04, <>>, <$param05, <ei_voikko>>>,
                         kertoman_tekijäpääte_m2: <<$param04, <>>, <$param05, <ei_voikko>>>,
                         kertoman_tekijäpääte_m3: <<$param06, <>>, <$param07, <ei_voikko>>>,
                         tositavan_kertoma_ttiin: <<$param02, <>>>,
                         ehtotapa: <<$param01, <>>>,
                         ehtotapa_ttA: <<$param02, <>>>,
                         mahtotapa_ne: <<$param01, <>>>,
                         mahtotapa_ttA: <<$param02, <>>>,
                         käskytapa_y2: <<$param03, <>>>,
                         käskytapa_kielto: <<$param01, <>>>,
                         käskytapa_ttA: <<$param02, <>>>,
                         johdin_jA_kulkija: <<$param01, <>>>,
                         johdin_vA: <<$param01, <>>>,
                         johdin_vAinen: <<$param01, <>>>,
                         johdin_mA: <<$param01, <>>>,
                         käskytapa: <<$param01, <>>>,
                         johdin_ttAvA: <<$param02, <>>>,
                         johdin_ttAvAinen: <<$param02, <>>>,
                         tositavan_kestämä_tAAn_kielto: <<$param02, <>>>,
                         johdin_nUt: <<$param01, <>>>,
                         johdin_ttU: <<$param02, <>>>,
                         mahtotapa_ne_kielto: <<$param01, <>>>]);
end;
subrule saartaa ($tietue, $param01, $param02, $param03, $param04, $param05, $param06, $param07):
  return taivutuskaava ($tietue,
                        [nimitapa_1_A: <<$param01, <>>>,
                         nimitapa_2: <<$param01, <>>>,
                         nimitapa_2_ttA: <<$param02, <>>>,
                         nimitapa_3: <<$param01, <>>>,
                         nimitapa_3_ttA: <<$param02, <>>>,
                         nimitapa_4: <<$param01, <>>>,
                         nimitapa_5: <<$param01, <>>>,
                         laatutapa_1_vA: <<$param01, <>>>,
                         laatutapa_1_ttA: <<$param02, <>>>,
                         laatutapa_2_nUt: <<$param01, <>>>,
                         laatutapa_2_ttU: <<$param02, <>>>,
                         kestämän_tekijäpääte_y1: <<$param03, <>>>,
                         kestämän_tekijäpääte_y2: <<$param03, <>>>,
                         kestämän_tekijäpääte_y3: <<$param01, <>>>,
                         kestämän_tekijäpääte_y3_vi: <<$param01, <>>>,
                         kestämän_tekijäpääte_y3_Vpi: <<$param01, <>>>,
                         kestämän_tekijäpääte_y3_Vvi: <<$param01, <>>>,
                         kestämän_tekijäpääte_m1: <<$param03, <>>>,
                         kestämän_tekijäpääte_m2: <<$param03, <>>>,
                         kestämän_tekijäpääte_m3: <<$param01, <>>>,
                         tositavan_kestämä_tAAn: <<$param02, <>>>,
                         kertoman_tekijäpääte_y1: <<$param04, <>>, <$param05, <>>, <$param06, <>>>,
                         kertoman_tekijäpääte_y2: <<$param04, <>>, <$param05, <>>, <$param06, <>>>,
                         kertoman_tekijäpääte_y3: <<$param07, <>>, <$param05, <>>, <$param06, <>>>,
                         kertoman_tekijäpääte_m1: <<$param04, <>>, <$param05, <>>, <$param06, <>>>,
                         kertoman_tekijäpääte_m2: <<$param04, <>>, <$param05, <>>, <$param06, <>>>,
                         kertoman_tekijäpääte_m3: <<$param07, <>>, <$param05, <>>, <$param06, <>>>,
                         tositavan_kertoma_ttiin: <<$param02, <>>>,
                         ehtotapa: <<$param01, <>>>,
                         ehtotapa_ttA: <<$param02, <>>>,
                         mahtotapa_ne: <<$param01, <>>>,
                         mahtotapa_ttA: <<$param02, <>>>,
                         käskytapa_y2: <<$param03, <>>>,
                         käskytapa_kielto: <<$param01, <>>>,
                         käskytapa_ttA: <<$param02, <>>>,
                         johdin_jA_kulkija: <<$param01, <>>>,
                         johdin_vA: <<$param01, <>>>,
                         johdin_vAinen: <<$param01, <>>>,
                         johdin_mA: <<$param01, <>>>,
                         käskytapa: <<$param01, <>>>,
                         johdin_ttAvA: <<$param02, <>>>,
                         johdin_ttAvAinen: <<$param02, <>>>,
                         tositavan_kestämä_tAAn_kielto: <<$param02, <>>>,
                         johdin_nUt: <<$param01, <>>>,
                         johdin_ttU: <<$param02, <>>>,
                         mahtotapa_ne_kielto: <<$param01, <>>>]);
end;
subrule laskea ($tietue, $param01, $param02, $param03, $param04, $param05):
  return taivutuskaava ($tietue,
                        [nimitapa_1_A: <<$param01, <>>>,
                         nimitapa_2: <<$param02, <>>>,
                         nimitapa_2_ttA: <<$param03, <>>>,
                         nimitapa_3: <<$param01, <>>>,
                         nimitapa_3_ttA: <<$param03, <>>>,
                         nimitapa_4: <<$param01, <>>>,
                         nimitapa_5: <<$param01, <>>>,
                         laatutapa_1_vA: <<$param01, <>>>,
                         laatutapa_1_ttA: <<$param03, <>>>,
                         laatutapa_2_nUt: <<$param01, <>>>,
                         laatutapa_2_ttU: <<$param03, <>>>,
                         kestämän_tekijäpääte_y1: <<$param03, <>>>,
                         kestämän_tekijäpääte_y2: <<$param03, <>>>,
                         kestämän_tekijäpääte_y3: <<$param01, <>>>,
                         kestämän_tekijäpääte_y3_vi: <<$param01, <>>>,
                         kestämän_tekijäpääte_y3_Vpi: <<$param01, <>>>,
                         kestämän_tekijäpääte_y3_Vvi: <<$param01, <>>>,
                         kestämän_tekijäpääte_m1: <<$param03, <>>>,
                         kestämän_tekijäpääte_m2: <<$param03, <>>>,
                         kestämän_tekijäpääte_m3: <<$param01, <>>>,
                         tositavan_kestämä_tAAn: <<$param03, <>>>,
                         kertoman_tekijäpääte_y1: <<$param04, <>>>,
                         kertoman_tekijäpääte_y2: <<$param04, <>>>,
                         kertoman_tekijäpääte_y3: <<$param05, <>>>,
                         kertoman_tekijäpääte_m1: <<$param04, <>>>,
                         kertoman_tekijäpääte_m2: <<$param04, <>>>,
                         kertoman_tekijäpääte_m3: <<$param05, <>>>,
                         tositavan_kertoma_ttiin: <<$param03, <>>>,
                         ehtotapa: <<$param05, <>>>,
                         ehtotapa_ttA: <<$param03, <>>>,
                         mahtotapa_ne: <<$param01, <>>>,
                         mahtotapa_ttA: <<$param03, <>>>,
                         käskytapa_y2: <<$param03, <>>>,
                         käskytapa_kielto: <<$param01, <>>>,
                         käskytapa_ttA: <<$param03, <>>>,
                         johdin_jA_kulkija: <<$param02, <>>>,
                         johdin_ntA: <<$param03, <>>>,
                         johdin_eskellA: <<$param04, <>>>,
                         johdin_vA: <<$param01, <>>>,
                         johdin_vAinen: <<$param01, <>>>,
                         johdin_mA: <<$param01, <>>>,
                         käskytapa: <<$param01, <>>>,
                         johdin_ttAvA: <<$param03, <>>>,
                         johdin_ttAvAinen: <<$param03, <>>>,
                         tositavan_kestämä_tAAn_kielto: <<$param03, <>>>,
                         johdin_nUt: <<$param01, <>>>,
                         johdin_ttU: <<$param03, <>>>,
                         mahtotapa_ne_kielto: <<$param01, <>>>]);
end;
subrule tuntea ($tietue, $param01, $param02, $param03, $param04, $param05):
  return taivutuskaava ($tietue,
                        [nimitapa_1_A: <<$param01, <>>>,
                         nimitapa_2: <<$param02, <>>>,
                         nimitapa_2_ttA: <<$param03, <>>>,
                         nimitapa_3: <<$param01, <>>>,
                         nimitapa_3_ttA: <<$param03, <>>>,
                         nimitapa_4: <<$param01, <>>>,
                         nimitapa_5: <<$param01, <>>>,
                         laatutapa_1_vA: <<$param01, <>>>,
                         laatutapa_1_ttA: <<$param03, <>>>,
                         laatutapa_2_nUt: <<$param01, <>>>,
                         laatutapa_2_ttU: <<$param03, <>>>,
                         kestämän_tekijäpääte_y1: <<$param03, <>>>,
                         kestämän_tekijäpääte_y2: <<$param03, <>>>,
                         kestämän_tekijäpääte_y3: <<$param01, <>>>,
                         kestämän_tekijäpääte_y3_vi: <<$param01, <>>>,
                         kestämän_tekijäpääte_y3_Vpi: <<$param01, <>>>,
                         kestämän_tekijäpääte_y3_Vvi: <<$param01, <>>>,
                         kestämän_tekijäpääte_m1: <<$param03, <>>>,
                         kestämän_tekijäpääte_m2: <<$param03, <>>>,
                         kestämän_tekijäpääte_m3: <<$param01, <>>>,
                         tositavan_kestämä_tAAn: <<$param03, <>>>,
                         kertoman_tekijäpääte_y1: <<$param04, <>>>,
                         kertoman_tekijäpääte_y2: <<$param04, <>>>,
                         kertoman_tekijäpääte_y3: <<$param04, <>>>,
                         kertoman_tekijäpääte_m1: <<$param04, <>>>,
                         kertoman_tekijäpääte_m2: <<$param04, <>>>,
                         kertoman_tekijäpääte_m3: <<$param04, <>>>,
                         tositavan_kertoma_ttiin: <<$param03, <>>>,
                         ehtotapa: <<$param05, <>>>,
                         ehtotapa_ttA: <<$param03, <>>>,
                         mahtotapa_ne: <<$param01, <>>>,
                         mahtotapa_ttA: <<$param03, <>>>,
                         käskytapa_y2: <<$param03, <>>>,
                         käskytapa_kielto: <<$param01, <>>>,
                         käskytapa_ttA: <<$param03, <>>>,
                         johdin_jA_kulkija: <<$param02, <>>>,
                         johdin_vA: <<$param01, <>>>,
                         johdin_vAinen: <<$param01, <>>>,
                         johdin_mA: <<$param01, <>>>,
                         käskytapa: <<$param01, <>>>,
                         johdin_ttAvA: <<$param03, <>>>,
                         johdin_ttAvAinen: <<$param03, <>>>,
                         tositavan_kestämä_tAAn_kielto: <<$param03, <>>>,
                         johdin_nUt: <<$param01, <>>>,
                         johdin_ttU: <<$param03, <>>>,
                         mahtotapa_ne_kielto: <<$param01, <>>>]);
end;
subrule potea ($tietue, $param01, $param02, $param03, $param04, $param05, $param06):
  return taivutuskaava ($tietue,
                        [nimitapa_1_A: <<$param01, <>>>,
                         nimitapa_2: <<$param02, <>>>,
                         nimitapa_2_ttA: <<$param03, <>>>,
                         nimitapa_3: <<$param01, <>>>,
                         nimitapa_3_ttA: <<$param03, <>>>,
                         nimitapa_4: <<$param01, <>>>,
                         nimitapa_5: <<$param01, <>>>,
                         laatutapa_1_vA: <<$param01, <>>>,
                         laatutapa_1_ttA: <<$param03, <>>>,
                         laatutapa_2_nUt: <<$param01, <>>>,
                         laatutapa_2_ttU: <<$param03, <>>>,
                         kestämän_tekijäpääte_y1: <<$param03, <>>>,
                         kestämän_tekijäpääte_y2: <<$param03, <>>>,
                         kestämän_tekijäpääte_y3: <<$param01, <>>>,
                         kestämän_tekijäpääte_y3_vi: <<$param01, <>>>,
                         kestämän_tekijäpääte_y3_Vpi: <<$param01, <>>>,
                         kestämän_tekijäpääte_y3_Vvi: <<$param01, <>>>,
                         kestämän_tekijäpääte_m1: <<$param03, <>>>,
                         kestämän_tekijäpääte_m2: <<$param03, <>>>,
                         kestämän_tekijäpääte_m3: <<$param01, <>>>,
                         tositavan_kestämä_tAAn: <<$param03, <>>>,
                         kertoman_tekijäpääte_y1: <<$param04, <>>>,
                         kertoman_tekijäpääte_y2: <<$param04, <>>>,
                         kertoman_tekijäpääte_y3: <<$param05, <>>, <$param06, <ei_voikko>>>,
                         kertoman_tekijäpääte_m1: <<$param04, <>>>,
                         kertoman_tekijäpääte_m2: <<$param04, <>>>,
                         kertoman_tekijäpääte_m3: <<$param05, <>>>,
                         tositavan_kertoma_ttiin: <<$param03, <>>>,
                         ehtotapa: <<$param05, <>>>,
                         ehtotapa_ttA: <<$param03, <>>>,
                         mahtotapa_ne: <<$param01, <>>>,
                         mahtotapa_ttA: <<$param03, <>>>,
                         käskytapa_y2: <<$param03, <>>>,
                         käskytapa_kielto: <<$param01, <>>>,
                         käskytapa_ttA: <<$param03, <>>>,
                         johdin_jA_kulkija: <<$param02, <>>>,
                         johdin_vA: <<$param01, <>>>,
                         johdin_vAinen: <<$param01, <>>>,
                         johdin_mA: <<$param01, <>>>,
                         käskytapa: <<$param01, <>>>,
                         johdin_ttAvA: <<$param03, <>>>,
                         johdin_ttAvAinen: <<$param03, <>>>,
                         tositavan_kestämä_tAAn_kielto: <<$param03, <>>>,
                         johdin_nUt: <<$param01, <>>>,
                         johdin_ttU: <<$param03, <>>>,
                         mahtotapa_ne_kielto: <<$param01, <>>>]);
end;
subrule lähteä ($tietue, $param01, $param02, $param03, $param04, $param05, $param06, $param07):
  return taivutuskaava ($tietue,
                        [nimitapa_1_A: <<$param01, <>>>,
                         nimitapa_2: <<$param02, <>>>,
                         nimitapa_2_ttA: <<$param03, <>>>,
                         nimitapa_3: <<$param01, <>>>,
                         nimitapa_3_ttA: <<$param03, <>>>,
                         nimitapa_4: <<$param01, <>>>,
                         nimitapa_5: <<$param01, <>>>,
                         laatutapa_1_vA: <<$param01, <>>>,
                         laatutapa_1_ttA: <<$param03, <>>>,
                         laatutapa_2_nUt: <<$param01, <>>>,
                         laatutapa_2_ttU: <<$param03, <>>>,
                         kestämän_tekijäpääte_y1: <<$param03, <>>>,
                         kestämän_tekijäpääte_y2: <<$param03, <>>>,
                         kestämän_tekijäpääte_y3: <<$param01, <>>>,
                         kestämän_tekijäpääte_y3_vi: <<$param01, <>>>,
                         kestämän_tekijäpääte_y3_Vpi: <<$param01, <>>>,
                         kestämän_tekijäpääte_y3_Vvi: <<$param01, <>>>,
                         kestämän_tekijäpääte_m1: <<$param03, <>>>,
                         kestämän_tekijäpääte_m2: <<$param03, <>>>,
                         kestämän_tekijäpääte_m3: <<$param01, <>>>,
                         tositavan_kestämä_tAAn: <<$param03, <>>>,
                         kertoman_tekijäpääte_y1: <<$param04, <>>, <$param05, <>>>,
                         kertoman_tekijäpääte_y2: <<$param04, <>>, <$param05, <>>>,
                         kertoman_tekijäpääte_y3: <<$param06, <>>, <$param05, <>>>,
                         kertoman_tekijäpääte_m1: <<$param04, <>>, <$param05, <>>>,
                         kertoman_tekijäpääte_m2: <<$param04, <>>, <$param05, <>>>,
                         kertoman_tekijäpääte_m3: <<$param06, <>>, <$param05, <>>>,
                         tositavan_kertoma_ttiin: <<$param03, <>>>,
                         ehtotapa: <<$param06, <>>, <$param05, <>>>,
                         ehtotapa_ttA: <<$param03, <>>>,
                         mahtotapa_ne: <<$param01, <>>>,
                         mahtotapa_ttA: <<$param03, <>>>,
                         käskytapa_y2: <<$param03, <>>>,
                         käskytapa_kielto: <<$param01, <>>>,
                         käskytapa_ttA: <<$param03, <>>>,
                         johdin_jA_kulkija: <<$param02, <>>, <$param07, <>>>,
                         johdin_vA: <<$param01, <>>>,
                         johdin_vAinen: <<$param01, <>>>,
                         johdin_mA: <<$param01, <>>>,
                         käskytapa: <<$param01, <>>>,
                         johdin_ttAvA: <<$param03, <>>>,
                         johdin_ttAvAinen: <<$param03, <>>>,
                         tositavan_kestämä_tAAn_kielto: <<$param03, <>>>,
                         johdin_nUt: <<$param01, <>>>,
                         johdin_ttU: <<$param03, <>>>,
                         mahtotapa_ne_kielto: <<$param01, <>>>]);
end;
subrule sallia ($tietue, $param01, $param02, $param03, $param04):
  return taivutuskaava ($tietue,
                        [nimitapa_1_A: <<$param01, <>>>,
                         nimitapa_2: <<$param01, <>>>,
                         nimitapa_2_ttA: <<$param02, <>>>,
                         nimitapa_3: <<$param01, <>>>,
                         nimitapa_3_ttA: <<$param02, <>>>,
                         nimitapa_4: <<$param01, <>>>,
                         nimitapa_5: <<$param01, <>>>,
                         laatutapa_1_vA: <<$param01, <>>>,
                         laatutapa_1_ttA: <<$param02, <>>>,
                         laatutapa_2_nUt: <<$param01, <>>>,
                         laatutapa_2_ttU: <<$param02, <>>>,
                         kestämän_tekijäpääte_y1: <<$param02, <>>>,
                         kestämän_tekijäpääte_y2: <<$param02, <>>>,
                         kestämän_tekijäpääte_y3: <<$param01, <>>>,
                         kestämän_tekijäpääte_y3_vi: <<$param01, <>>>,
                         kestämän_tekijäpääte_y3_Vpi: <<$param01, <>>>,
                         kestämän_tekijäpääte_y3_Vvi: <<$param01, <>>>,
                         kestämän_tekijäpääte_m1: <<$param02, <>>>,
                         kestämän_tekijäpääte_m2: <<$param02, <>>>,
                         kestämän_tekijäpääte_m3: <<$param01, <>>>,
                         tositavan_kestämä_tAAn: <<$param02, <>>>,
                         kertoman_tekijäpääte_y1: <<$param03, <>>>,
                         kertoman_tekijäpääte_y2: <<$param03, <>>>,
                         kertoman_tekijäpääte_y3: <<$param04, <>>>,
                         kertoman_tekijäpääte_m1: <<$param03, <>>>,
                         kertoman_tekijäpääte_m2: <<$param03, <>>>,
                         kertoman_tekijäpääte_m3: <<$param04, <>>>,
                         tositavan_kertoma_ttiin: <<$param02, <>>>,
                         ehtotapa: <<$param04, <>>>,
                         ehtotapa_ttA: <<$param02, <>>>,
                         mahtotapa_ne: <<$param01, <>>>,
                         mahtotapa_ttA: <<$param02, <>>>,
                         käskytapa_y2: <<$param02, <>>>,
                         käskytapa_kielto: <<$param01, <>>>,
                         käskytapa_ttA: <<$param02, <>>>,
                         johdin_jA_kulkija: <<$param01, <>>>,
                         johdin_ntA: <<$param02, <>>>,
                         johdin_vA: <<$param01, <>>>,
                         johdin_vAinen: <<$param01, <>>>,
                         johdin_mA: <<$param01, <>>>,
                         käskytapa: <<$param01, <>>>,
                         johdin_ttAvA: <<$param02, <>>>,
                         johdin_ttAvAinen: <<$param02, <>>>,
                         tositavan_kestämä_tAAn_kielto: <<$param02, <>>>,
                         johdin_nUt: <<$param01, <>>>,
                         johdin_ttU: <<$param02, <>>>,
                         mahtotapa_ne_kielto: <<$param01, <>>>]);
end;
subrule voida ($tietue, $param01, $param02, $param03):
  return taivutuskaava ($tietue,
                        [nimitapa_1_dA: <<$param01, <>>>,
                         nimitapa_2: <<$param02, <>>>,
                         nimitapa_2_tA: <<$param01, <>>>,
                         nimitapa_3_saama: <<$param01, <>>>,
                         nimitapa_3_tA: <<$param01, <>>>,
                         nimitapa_4: <<$param01, <>>>,
                         nimitapa_5: <<$param01, <>>>,
                         laatutapa_1_vE: <<$param01, <>>>,
                         laatutapa_1_tA: <<$param01, <>>>,
                         laatutapa_2_nUt: <<$param01, <>>>,
                         laatutapa_2_tU_dU: <<$param01, <>>>,
                         kestämän_tekijäpääte_y1: <<$param01, <>>>,
                         kestämän_tekijäpääte_y2: <<$param01, <>>>,
                         kestämän_tekijäpääte_y3: <<$param01, <_y3>>>,
                         kestämän_tekijäpääte_y3_vi: <>,
                         kestämän_tekijäpääte_y3_Vpi: <>,
                         kestämän_tekijäpääte_y3_Vvi: <>,
                         kestämän_tekijäpääte_y3_pi: <<$param01, <_y3>>>,
                         kestämän_tekijäpääte_m1: <<$param01, <>>>,
                         kestämän_tekijäpääte_m2: <<$param01, <>>>,
                         kestämän_tekijäpääte_m3: <<$param01, <>>>,
                         tositavan_kestämä_dAAn: <<$param01, <>>>,
                         kertoman_tekijäpääte_y1: <<$param03, <>>>,
                         kertoman_tekijäpääte_y2: <<$param03, <>>>,
                         kertoman_tekijäpääte_y3: <<$param03, <>>>,
                         kertoman_tekijäpääte_m1: <<$param03, <>>>,
                         kertoman_tekijäpääte_m2: <<$param03, <>>>,
                         kertoman_tekijäpääte_m3: <<$param03, <>>>,
                         tositavan_kertoma_tiin: <<$param01, <>>>,
                         ehtotapa: <<$param03, <>>>,
                         ehtotapa_tA: <<$param01, <>>>,
                         mahtotapa_ne: <<$param01, <>>>,
                         mahtotapa_tA: <<$param01, <>>>,
                         käskytapa_y2: <<$param01, <>>>,
                         käskytapa_kielto: <<$param01, <>>>,
                         käskytapa_tA: <<$param01, <>>>,
                         johdin_jA_myyjä: <<$param01, <>>>,
                         johdin_nti: <<$param01, <>>>,
                         johdin_tU_dU: <<$param01, <>>>,
                         käskytapa: <<$param01, <>>>,
                         johdin_vE: <<$param01, <>>>,
                         johdin_vAinen: <<$param01, <>>>,
                         johdin_nUt: <<$param01, <>>>,
                         tositavan_kestämä_dAAn_kielto: <<$param01, <>>>,
                         johdin_mA_saama: <<$param01, <>>>,
                         mahtotapa_ne_kielto: <<$param01, <>>>,
                         johdin_tAvA: <<$param01, <>>>,
                         johdin_tAvAinen: <<$param01, <>>>]);
end;
subrule saada ($tietue, $param01, $param02, $param03):
  return taivutuskaava ($tietue,
                        [nimitapa_1_dA: <<$param01, <>>>,
                         nimitapa_2: <<$param02, <>>>,
                         nimitapa_2_tA: <<$param01, <>>>,
                         nimitapa_3_saama: <<$param01, <>>>,
                         nimitapa_3_tA: <<$param01, <>>>,
                         nimitapa_4: <<$param01, <>>>,
                         nimitapa_5: <<$param01, <>>>,
                         laatutapa_1_vE: <<$param01, <>>>,
                         laatutapa_1_tA: <<$param01, <>>>,
                         laatutapa_2_nUt: <<$param01, <>>>,
                         laatutapa_2_tU_dU: <<$param01, <>>>,
                         kestämän_tekijäpääte_y1: <<$param01, <>>>,
                         kestämän_tekijäpääte_y2: <<$param01, <>>>,
                         kestämän_tekijäpääte_y3: <<$param01, <_y3>>>,
                         kestämän_tekijäpääte_y3_vi: <>,
                         kestämän_tekijäpääte_y3_Vpi: <>,
                         kestämän_tekijäpääte_y3_Vvi: <>,
                         kestämän_tekijäpääte_y3_pi: <<$param01, <_y3>>>,
                         kestämän_tekijäpääte_m1: <<$param01, <>>>,
                         kestämän_tekijäpääte_m2: <<$param01, <>>>,
                         kestämän_tekijäpääte_m3: <<$param01, <>>>,
                         tositavan_kestämä_dAAn: <<$param01, <>>>,
                         kertoman_tekijäpääte_y1: <<$param03, <>>>,
                         kertoman_tekijäpääte_y2: <<$param03, <>>>,
                         kertoman_tekijäpääte_y3: <<$param03, <>>>,
                         kertoman_tekijäpääte_m1: <<$param03, <>>>,
                         kertoman_tekijäpääte_m2: <<$param03, <>>>,
                         kertoman_tekijäpääte_m3: <<$param03, <>>>,
                         tositavan_kertoma_tiin: <<$param01, <>>>,
                         ehtotapa: <<$param03, <>>>,
                         ehtotapa_tA: <<$param01, <>>>,
                         mahtotapa_ne: <<$param01, <>>>,
                         mahtotapa_tA: <<$param01, <>>>,
                         käskytapa_y2: <<$param01, <>>>,
                         käskytapa_kielto: <<$param01, <>>>,
                         käskytapa_tA: <<$param01, <>>>,
                         johdin_jA_myyjä: <<$param01, <>>>,
                         johdin_nti: <<$param01, <>>>,
                         johdin_tU_dU: <<$param01, <>>>,
                         käskytapa: <<$param01, <>>>,
                         johdin_vE: <<$param01, <>>>,
                         johdin_vAinen: <<$param01, <>>>,
                         johdin_nUt: <<$param01, <>>>,
                         tositavan_kestämä_dAAn_kielto: <<$param01, <>>>,
                         johdin_mA_saama: <<$param01, <>>>,
                         mahtotapa_ne_kielto: <<$param01, <>>>,
                         johdin_tAvA: <<$param01, <>>>,
                         johdin_tAvAinen: <<$param01, <>>>]);
end;
subrule myydä ($tietue, $param01, $param02, $param03):
  return taivutuskaava ($tietue,
                        [nimitapa_1_dA: <<$param01, <>>>,
                         nimitapa_2: <<$param02, <>>>,
                         nimitapa_2_tA: <<$param01, <>>>,
                         nimitapa_3_saama: <<$param01, <>>>,
                         nimitapa_3_tA: <<$param01, <>>>,
                         nimitapa_4: <<$param01, <>>>,
                         nimitapa_5: <<$param01, <>>>,
                         laatutapa_1_vE: <<$param01, <>>>,
                         laatutapa_1_tA: <<$param01, <>>>,
                         laatutapa_2_nUt: <<$param01, <>>>,
                         laatutapa_2_tU_dU: <<$param01, <>>>,
                         kestämän_tekijäpääte_y1: <<$param01, <>>>,
                         kestämän_tekijäpääte_y2: <<$param01, <>>>,
                         kestämän_tekijäpääte_y3: <<$param01, <_y3>>>,
                         kestämän_tekijäpääte_y3_vi: <>,
                         kestämän_tekijäpääte_y3_Vpi: <>,
                         kestämän_tekijäpääte_y3_Vvi: <>,
                         kestämän_tekijäpääte_y3_pi: <<$param01, <_y3>>>,
                         kestämän_tekijäpääte_m1: <<$param01, <>>>,
                         kestämän_tekijäpääte_m2: <<$param01, <>>>,
                         kestämän_tekijäpääte_m3: <<$param01, <>>>,
                         tositavan_kestämä_dAAn: <<$param01, <>>>,
                         kertoman_tekijäpääte_y1: <<$param03, <>>>,
                         kertoman_tekijäpääte_y2: <<$param03, <>>>,
                         kertoman_tekijäpääte_y3: <<$param03, <>>>,
                         kertoman_tekijäpääte_m1: <<$param03, <>>>,
                         kertoman_tekijäpääte_m2: <<$param03, <>>>,
                         kertoman_tekijäpääte_m3: <<$param03, <>>>,
                         tositavan_kertoma_tiin: <<$param01, <>>>,
                         ehtotapa: <<$param03, <>>>,
                         ehtotapa_tA: <<$param01, <>>>,
                         mahtotapa_ne: <<$param01, <>>>,
                         mahtotapa_tA: <<$param01, <>>>,
                         käskytapa_y2: <<$param01, <>>>,
                         käskytapa_kielto: <<$param01, <>>>,
                         käskytapa_tA: <<$param01, <>>>,
                         johdin_jA_myyjä: <<$param01, <>>>,
                         johdin_nti: <<$param01, <>>>,
                         johdin_tU_dU: <<$param01, <>>>,
                         käskytapa: <<$param01, <>>>,
                         johdin_vE: <<$param01, <>>>,
                         johdin_vAinen: <<$param01, <>>>,
                         johdin_nUt: <<$param01, <>>>,
                         tositavan_kestämä_dAAn_kielto: <<$param01, <>>>,
                         johdin_mA_saama: <<$param01, <>>>,
                         mahtotapa_ne_kielto: <<$param01, <>>>,
                         johdin_tAvA: <<$param01, <>>>,
                         johdin_tAvAinen: <<$param01, <>>>]);
end;
subrule juoda ($tietue, $param01, $param02, $param03):
  return taivutuskaava ($tietue,
                        [nimitapa_1_dA: <<$param01, <>>>,
                         nimitapa_2: <<$param02, <>>>,
                         nimitapa_2_tA: <<$param01, <>>>,
                         nimitapa_3_saama: <<$param01, <>>>,
                         nimitapa_3_tA: <<$param01, <>>>,
                         nimitapa_4: <<$param01, <>>>,
                         nimitapa_5: <<$param01, <>>>,
                         laatutapa_1_vE: <<$param01, <>>>,
                         laatutapa_1_tA: <<$param01, <>>>,
                         laatutapa_2_nUt: <<$param01, <>>>,
                         laatutapa_2_tU_dU: <<$param01, <>>>,
                         kestämän_tekijäpääte_y1: <<$param01, <>>>,
                         kestämän_tekijäpääte_y2: <<$param01, <>>>,
                         kestämän_tekijäpääte_y3: <<$param01, <_y3>>>,
                         kestämän_tekijäpääte_y3_vi: <>,
                         kestämän_tekijäpääte_y3_Vpi: <>,
                         kestämän_tekijäpääte_y3_Vvi: <>,
                         kestämän_tekijäpääte_y3_pi: <<$param01, <_y3>>>,
                         kestämän_tekijäpääte_m1: <<$param01, <>>>,
                         kestämän_tekijäpääte_m2: <<$param01, <>>>,
                         kestämän_tekijäpääte_m3: <<$param01, <>>>,
                         tositavan_kestämä_dAAn: <<$param01, <>>>,
                         kertoman_tekijäpääte_y1: <<$param03, <>>>,
                         kertoman_tekijäpääte_y2: <<$param03, <>>>,
                         kertoman_tekijäpääte_y3: <<$param03, <>>>,
                         kertoman_tekijäpääte_m1: <<$param03, <>>>,
                         kertoman_tekijäpääte_m2: <<$param03, <>>>,
                         kertoman_tekijäpääte_m3: <<$param03, <>>>,
                         tositavan_kertoma_tiin: <<$param01, <>>>,
                         ehtotapa: <<$param03, <>>>,
                         ehtotapa_tA: <<$param01, <>>>,
                         mahtotapa_ne: <<$param01, <>>>,
                         mahtotapa_tA: <<$param01, <>>>,
                         käskytapa_y2: <<$param01, <>>>,
                         käskytapa_kielto: <<$param01, <>>>,
                         käskytapa_tA: <<$param01, <>>>,
                         johdin_jA_myyjä: <<$param01, <>>>,
                         johdin_nti: <<$param01, <>>>,
                         johdin_tU_dU: <<$param01, <>>>,
                         käskytapa: <<$param01, <>>>,
                         johdin_vE: <<$param01, <>>>,
                         johdin_vAinen: <<$param01, <>>>,
                         johdin_nUt: <<$param01, <>>>,
                         tositavan_kestämä_dAAn_kielto: <<$param01, <>>>,
                         johdin_mA_saama: <<$param01, <>>>,
                         mahtotapa_ne_kielto: <<$param01, <>>>,
                         johdin_tAvA: <<$param01, <>>>,
                         johdin_tAvAinen: <<$param01, <>>>]);
end;
subrule viedä ($tietue, $param01, $param02, $param03):
  return taivutuskaava ($tietue,
                        [nimitapa_1_dA: <<$param01, <>>>,
                         nimitapa_2: <<$param02, <>>>,
                         nimitapa_2_tA: <<$param01, <>>>,
                         nimitapa_3_saama: <<$param01, <>>>,
                         nimitapa_3_tA: <<$param01, <>>>,
                         nimitapa_4: <<$param01, <>>>,
                         nimitapa_5: <<$param01, <>>>,
                         laatutapa_1_vE: <<$param01, <>>>,
                         laatutapa_1_tA: <<$param01, <>>>,
                         laatutapa_2_nUt: <<$param01, <>>>,
                         laatutapa_2_tU_dU: <<$param01, <>>>,
                         kestämän_tekijäpääte_y1: <<$param01, <>>>,
                         kestämän_tekijäpääte_y2: <<$param01, <>>>,
                         kestämän_tekijäpääte_y3: <<$param01, <_y3>>>,
                         kestämän_tekijäpääte_y3_vi: <>,
                         kestämän_tekijäpääte_y3_Vpi: <>,
                         kestämän_tekijäpääte_y3_Vvi: <>,
                         kestämän_tekijäpääte_y3_pi: <<$param01, <_y3>>>,
                         kestämän_tekijäpääte_m1: <<$param01, <>>>,
                         kestämän_tekijäpääte_m2: <<$param01, <>>>,
                         kestämän_tekijäpääte_m3: <<$param01, <>>>,
                         tositavan_kestämä_dAAn: <<$param01, <>>>,
                         kertoman_tekijäpääte_y1: <<$param03, <>>>,
                         kertoman_tekijäpääte_y2: <<$param03, <>>>,
                         kertoman_tekijäpääte_y3: <<$param03, <>>>,
                         kertoman_tekijäpääte_m1: <<$param03, <>>>,
                         kertoman_tekijäpääte_m2: <<$param03, <>>>,
                         kertoman_tekijäpääte_m3: <<$param03, <>>>,
                         tositavan_kertoma_tiin: <<$param01, <>>>,
                         ehtotapa: <<$param03, <>>>,
                         ehtotapa_tA: <<$param01, <>>>,
                         mahtotapa_ne: <<$param01, <>>>,
                         mahtotapa_tA: <<$param01, <>>>,
                         käskytapa_y2: <<$param01, <>>>,
                         käskytapa_kielto: <<$param01, <>>>,
                         käskytapa_tA: <<$param01, <>>>,
                         johdin_jA_myyjä: <<$param01, <>>>,
                         johdin_nti: <<$param01, <>>>,
                         johdin_tU_dU: <<$param01, <>>>,
                         käskytapa: <<$param01, <>>>,
                         johdin_vE: <<$param01, <>>>,
                         johdin_vAinen: <<$param01, <>>>,
                         johdin_nUt: <<$param01, <>>>,
                         tositavan_kestämä_dAAn_kielto: <<$param01, <>>>,
                         johdin_mA_saama: <<$param01, <>>>,
                         mahtotapa_ne_kielto: <<$param01, <>>>,
                         johdin_tAvA: <<$param01, <>>>,
                         johdin_tAvAinen: <<$param01, <>>>]);
end;
subrule käydä ($tietue, $param01, $param02, $param03, $param04):
  return taivutuskaava ($tietue,
                        [nimitapa_1_dA: <<$param01, <>>>,
                         nimitapa_2: <<$param02, <>>>,
                         nimitapa_2_tA: <<$param01, <>>>,
                         nimitapa_3_saama: <<$param01, <>>>,
                         nimitapa_3_tA: <<$param01, <>>>,
                         nimitapa_4: <<$param01, <>>>,
                         nimitapa_5: <<$param01, <>>>,
                         laatutapa_1_vE: <<$param01, <>>>,
                         laatutapa_1_tA: <<$param01, <>>>,
                         laatutapa_2_nUt: <<$param01, <>>>,
                         laatutapa_2_tU_dU: <<$param01, <>>>,
                         kestämän_tekijäpääte_y1: <<$param01, <>>>,
                         kestämän_tekijäpääte_y2: <<$param01, <>>>,
                         kestämän_tekijäpääte_y3: <<$param01, <_y3>>>,
                         kestämän_tekijäpääte_y3_vi: <>,
                         kestämän_tekijäpääte_y3_Vpi: <>,
                         kestämän_tekijäpääte_y3_Vvi: <>,
                         kestämän_tekijäpääte_y3_pi: <<$param01, <_y3>>>,
                         kestämän_tekijäpääte_m1: <<$param01, <>>>,
                         kestämän_tekijäpääte_m2: <<$param01, <>>>,
                         kestämän_tekijäpääte_m3: <<$param01, <>>>,
                         tositavan_kestämä_dAAn: <<$param01, <>>>,
                         kertoman_tekijäpääte_y1: <<$param03, <>>>,
                         kertoman_tekijäpääte_y2: <<$param03, <>>>,
                         kertoman_tekijäpääte_y3: <<$param03, <>>>,
                         kertoman_tekijäpääte_m1: <<$param03, <>>>,
                         kertoman_tekijäpääte_m2: <<$param03, <>>>,
                         kertoman_tekijäpääte_m3: <<$param03, <>>>,
                         tositavan_kertoma_tiin: <<$param01, <>>>,
                         ehtotapa: <<$param03, <>>>,
                         ehtotapa_tA: <<$param01, <>>>,
                         mahtotapa_ne: <<$param01, <>>>,
                         mahtotapa_tA: <<$param01, <>>>,
                         käskytapa_y2: <<$param01, <>>>,
                         käskytapa_kielto: <<$param01, <>>>,
                         käskytapa_tA: <<$param01, <>>>,
                         johdin_jA_kulkija: <<$param04, <>>>,
                         johdin_nti: <<$param01, <>>>,
                         johdin_tU_dU: <<$param01, <>>>,
                         käskytapa: <<$param01, <>>>,
                         johdin_vE: <<$param01, <>>>,
                         johdin_vAinen: <<$param01, <>>>,
                         johdin_nUt: <<$param01, <>>>,
                         tositavan_kestämä_dAAn_kielto: <<$param01, <>>>,
                         johdin_mA_saama: <<$param01, <>>>,
                         mahtotapa_ne_kielto: <<$param01, <>>>,
                         johdin_tAvA: <<$param01, <>>>,
                         johdin_tAvAinen: <<$param01, <>>>]);
end;
subrule kalista ($tietue, $param01, $param02, $param03, $param04, $param05):
  return taivutuskaava ($tietue,
                        [nimitapa_1_tA: <<$param01, <>>>,
                         nimitapa_2: <<$param02, <>>>,
                         nimitapa_2_tA: <<$param01, <>>>,
                         nimitapa_3: <<$param03, <>>>,
                         nimitapa_3_tA: <<$param01, <>>>,
                         nimitapa_4: <<$param03, <>>>,
                         nimitapa_5: <<$param03, <>>>,
                         laatutapa_1_vA: <<$param03, <>>>,
                         laatutapa_1_tA: <<$param01, <>>>,
                         laatutapa_2_sUt: <<$param01, <>>>,
                         laatutapa_2_stU_nuolaistu: <<$param01, <>>>,
                         kestämän_tekijäpääte_y1: <<$param03, <>>>,
                         kestämän_tekijäpääte_y2: <<$param03, <>>>,
                         kestämän_tekijäpääte_y3: <<$param03, <>>>,
                         kestämän_tekijäpääte_y3_vi: <<$param03, <>>>,
                         kestämän_tekijäpääte_y3_Vpi: <<$param03, <>>>,
                         kestämän_tekijäpääte_y3_Vvi: <<$param03, <>>>,
                         kestämän_tekijäpääte_m1: <<$param03, <>>>,
                         kestämän_tekijäpääte_m2: <<$param03, <>>>,
                         kestämän_tekijäpääte_m3: <<$param03, <>>>,
                         tositavan_kestämä_tAAn: <<$param01, <>>>,
                         kertoman_tekijäpääte_y1: <<$param01, <>>>,
                         kertoman_tekijäpääte_y2: <<$param01, <>>>,
                         kertoman_tekijäpääte_y3: <<$param01, <>>>,
                         kertoman_tekijäpääte_m1: <<$param01, <>>>,
                         kertoman_tekijäpääte_m2: <<$param01, <>>>,
                         kertoman_tekijäpääte_m3: <<$param01, <>>>,
                         tositavan_kertoma_tiin: <<$param01, <>>>,
                         ehtotapa: <<$param01, <>>>,
                         ehtotapa_tA: <<$param01, <>>>,
                         mahtotapa_se: <<$param01, <>>>,
                         mahtotapa_tA: <<$param01, <>>>,
                         käskytapa_y2: <<$param03, <>>>,
                         käskytapa_kielto: <<$param01, <>>>,
                         käskytapa_tA: <<$param01, <>>>,
                         johdin_jA_kulkija: <<$param04, <>>>,
                         johdin_nA: <<$param05, <>>>,
                         mahtotapa_se_kielto: <<$param01, <>>>,
                         johdin_vA: <<$param03, <>>>,
                         johdin_vAinen: <<$param03, <>>>,
                         johdin_stU_nuolaistu: <<$param01, <>>>,
                         johdin_mA: <<$param03, <>>>,
                         käskytapa: <<$param01, <>>>,
                         tositavan_kestämä_tAAn_kielto: <<$param01, <>>>,
                         johdin_sUt: <<$param01, <>>>,
                         johdin_tAvA: <<$param01, <>>>,
                         johdin_tAvAinen: <<$param01, <>>>]);
end;
subrule nousta ($tietue, $param01, $param02, $param03, $param04):
  return taivutuskaava ($tietue,
                        [nimitapa_1_tA: <<$param01, <>>>,
                         nimitapa_2: <<$param02, <>>>,
                         nimitapa_2_tA: <<$param01, <>>>,
                         nimitapa_3: <<$param03, <>>>,
                         nimitapa_3_tA: <<$param01, <>>>,
                         nimitapa_4: <<$param03, <>>>,
                         nimitapa_5: <<$param03, <>>>,
                         laatutapa_1_vA: <<$param03, <>>>,
                         laatutapa_1_tA: <<$param01, <>>>,
                         laatutapa_2_sUt: <<$param01, <>>>,
                         laatutapa_2_stU_juostu: <<$param01, <>>>,
                         kestämän_tekijäpääte_y1: <<$param03, <>>>,
                         kestämän_tekijäpääte_y2: <<$param03, <>>>,
                         kestämän_tekijäpääte_y3: <<$param03, <>>>,
                         kestämän_tekijäpääte_y3_vi: <<$param03, <>>>,
                         kestämän_tekijäpääte_y3_Vpi: <<$param03, <>>>,
                         kestämän_tekijäpääte_y3_Vvi: <<$param03, <>>>,
                         kestämän_tekijäpääte_m1: <<$param03, <>>>,
                         kestämän_tekijäpääte_m2: <<$param03, <>>>,
                         kestämän_tekijäpääte_m3: <<$param03, <>>>,
                         tositavan_kestämä_tAAn: <<$param01, <>>>,
                         kertoman_tekijäpääte_y1: <<$param01, <>>>,
                         kertoman_tekijäpääte_y2: <<$param01, <>>>,
                         kertoman_tekijäpääte_y3: <<$param01, <>>>,
                         kertoman_tekijäpääte_m1: <<$param01, <>>>,
                         kertoman_tekijäpääte_m2: <<$param01, <>>>,
                         kertoman_tekijäpääte_m3: <<$param01, <>>>,
                         tositavan_kertoma_tiin: <<$param01, <>>>,
                         ehtotapa: <<$param01, <>>>,
                         ehtotapa_tA: <<$param01, <>>>,
                         mahtotapa_se: <<$param01, <>>>,
                         mahtotapa_tA: <<$param01, <>>>,
                         käskytapa_y2: <<$param03, <>>>,
                         käskytapa_kielto: <<$param01, <>>>,
                         käskytapa_tA: <<$param01, <>>>,
                         johdin_jA_kulkija: <<$param04, <>>>,
                         mahtotapa_se_kielto: <<$param01, <>>>,
                         johdin_vA: <<$param03, <>>>,
                         johdin_vAinen: <<$param03, <>>>,
                         johdin_mA: <<$param03, <>>>,
                         käskytapa: <<$param01, <>>>,
                         johdin_stU_juostu: <<$param01, <>>>,
                         tositavan_kestämä_tAAn_kielto: <<$param01, <>>>,
                         johdin_sUt: <<$param01, <>>>,
                         johdin_tAvA: <<$param01, <>>>,
                         johdin_tAvAinen: <<$param01, <>>>]);
end;
subrule nuolaista ($tietue, $param01, $param02, $param03, $param04, $param05, $param06, $param07, $param08):
  return taivutuskaava ($tietue,
                        [nimitapa_1_tA: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         nimitapa_2: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         nimitapa_2_tA: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         nimitapa_3: <<$param05, <>>, <$param06, <ei_voikko>>>,
                         nimitapa_3_tA: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         nimitapa_4: <<$param05, <>>, <$param06, <ei_voikko>>>,
                         nimitapa_5: <<$param05, <>>, <$param06, <ei_voikko>>>,
                         laatutapa_1_vA: <<$param05, <>>, <$param06, <ei_voikko>>>,
                         laatutapa_1_tA: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         laatutapa_2_sUt: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         laatutapa_2_stU_nuolaistu: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         kestämän_tekijäpääte_y1: <<$param05, <>>, <$param06, <ei_voikko>>>,
                         kestämän_tekijäpääte_y2: <<$param05, <>>, <$param06, <ei_voikko>>>,
                         kestämän_tekijäpääte_y3: <<$param05, <>>, <$param06, <ei_voikko>>>,
                         kestämän_tekijäpääte_y3_vi: <<$param05, <>>, <$param06, <ei_voikko>>>,
                         kestämän_tekijäpääte_y3_Vpi: <<$param05, <>>, <$param06, <ei_voikko>>>,
                         kestämän_tekijäpääte_y3_Vvi: <<$param05, <>>, <$param06, <ei_voikko>>>,
                         kestämän_tekijäpääte_m1: <<$param05, <>>, <$param06, <ei_voikko>>>,
                         kestämän_tekijäpääte_m2: <<$param05, <>>, <$param06, <ei_voikko>>>,
                         kestämän_tekijäpääte_m3: <<$param05, <>>, <$param06, <ei_voikko>>>,
                         tositavan_kestämä_tAAn: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         kertoman_tekijäpääte_y1: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         kertoman_tekijäpääte_y2: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         kertoman_tekijäpääte_y3: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         kertoman_tekijäpääte_m1: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         kertoman_tekijäpääte_m2: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         kertoman_tekijäpääte_m3: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         tositavan_kertoma_tiin: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         ehtotapa: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         ehtotapa_tA: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         mahtotapa_se: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         mahtotapa_tA: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         käskytapa_y2: <<$param05, <>>, <$param06, <ei_voikko>>>,
                         käskytapa_kielto: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         käskytapa_tA: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         johdin_jA_kulkija: <<$param07, <>>, <$param08, <ei_voikko>>>,
                         johdin_U_arvelu: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         mahtotapa_se_kielto: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         johdin_vA: <<$param05, <>>, <$param06, <ei_voikko>>>,
                         johdin_vAinen: <<$param05, <>>, <$param06, <ei_voikko>>>,
                         johdin_stU_nuolaistu: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         johdin_mA: <<$param05, <>>, <$param06, <ei_voikko>>>,
                         käskytapa: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         tositavan_kestämä_tAAn_kielto: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         johdin_sUt: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         johdin_tAvA: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         johdin_tAvAinen: <<$param01, <>>, <$param02, <ei_voikko>>>]);
end;
subrule rangaista ($tietue, $param01, $param02, $param03, $param04, $param05, $param06, $param07, $param08, $param09, $param10, $param11):
  return taivutuskaava ($tietue,
                        [nimitapa_1_tA: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         nimitapa_2: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         nimitapa_2_tA: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         nimitapa_3: <<$param05, <>>, <$param06, <ei_voikko>>>,
                         nimitapa_3_tA: <<$param07, <>>, <$param08, <ei_voikko>>>,
                         nimitapa_4: <<$param05, <>>, <$param06, <ei_voikko>>>,
                         nimitapa_5: <<$param05, <>>, <$param06, <ei_voikko>>>,
                         laatutapa_1_vA: <<$param05, <>>, <$param06, <ei_voikko>>>,
                         laatutapa_1_tA: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         laatutapa_2_sUt: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         laatutapa_2_stU_nuolaistu: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         kestämän_tekijäpääte_y1: <<$param05, <>>, <$param06, <ei_voikko>>>,
                         kestämän_tekijäpääte_y2: <<$param05, <>>, <$param06, <ei_voikko>>>,
                         kestämän_tekijäpääte_y3: <<$param05, <>>, <$param06, <ei_voikko>>>,
                         kestämän_tekijäpääte_y3_vi: <<$param05, <>>, <$param06, <ei_voikko>>>,
                         kestämän_tekijäpääte_y3_Vpi: <<$param05, <>>, <$param06, <ei_voikko>>>,
                         kestämän_tekijäpääte_y3_Vvi: <<$param05, <>>, <$param06, <ei_voikko>>>,
                         kestämän_tekijäpääte_m1: <<$param05, <>>, <$param06, <ei_voikko>>>,
                         kestämän_tekijäpääte_m2: <<$param05, <>>, <$param06, <ei_voikko>>>,
                         kestämän_tekijäpääte_m3: <<$param05, <>>, <$param06, <ei_voikko>>>,
                         tositavan_kestämä_tAAn: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         kertoman_tekijäpääte_y1: <<$param07, <>>, <$param08, <ei_voikko>>>,
                         kertoman_tekijäpääte_y2: <<$param07, <>>, <$param08, <ei_voikko>>>,
                         kertoman_tekijäpääte_y3: <<$param07, <>>, <$param08, <ei_voikko>>>,
                         kertoman_tekijäpääte_m1: <<$param07, <>>, <$param08, <ei_voikko>>>,
                         kertoman_tekijäpääte_m2: <<$param07, <>>, <$param08, <ei_voikko>>>,
                         kertoman_tekijäpääte_m3: <<$param07, <>>, <$param08, <ei_voikko>>>,
                         tositavan_kertoma_tiin: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         ehtotapa: <<$param07, <>>, <$param08, <ei_voikko>>>,
                         ehtotapa_tA: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         mahtotapa_se: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         mahtotapa_tA: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         käskytapa_y2: <<$param05, <>>, <$param06, <ei_voikko>>>,
                         käskytapa_kielto: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         käskytapa_tA: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         johdin_jA_kulkija: <<$param09, <>>, <$param10, <ei_voikko>>>,
                         johdin_U_arvelu: <<$param11, <>>, <$param08, <ei_voikko>>>,
                         mahtotapa_se_kielto: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         johdin_vA: <<$param05, <>>, <$param06, <ei_voikko>>>,
                         johdin_vAinen: <<$param05, <>>, <$param06, <ei_voikko>>>,
                         johdin_stU_nuolaistu: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         johdin_mA: <<$param05, <>>, <$param06, <ei_voikko>>>,
                         käskytapa: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         tositavan_kestämä_tAAn_kielto: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         johdin_sUt: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         johdin_tAvA: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         johdin_tAvAinen: <<$param01, <>>, <$param02, <ei_voikko>>>]);
end;
subrule seistä ($tietue, $param01, $param02):
  return taivutuskaava ($tietue,
                        [nimitapa_1_tA: <<$param01, <>>>,
                         nimitapa_2: <<$param02, <>>>,
                         nimitapa_2_tA: <<$param01, <>>>,
                         nimitapa_3_tA: <<$param01, <>>>,
                         laatutapa_1_tA: <<$param01, <>>>,
                         laatutapa_2_sUt: <<$param01, <>>>,
                         laatutapa_2_stU_juostu: <<$param01, <>>>,
                         tositavan_kestämä_tAAn: <<$param01, <>>>,
                         tositavan_kertoma_tiin: <<$param01, <>>>,
                         ehtotapa_tA: <<$param01, <>>>,
                         mahtotapa_tA: <<$param01, <>>>,
                         käskytapa_kielto: <<$param01, <>>>,
                         käskytapa_tA: <<$param01, <>>>,
                         käskytapa: <<$param01, <>>>,
                         johdin_stU_juostu: <<$param01, <>>>,
                         tositavan_kestämä_tAAn_kielto: <<$param01, <>>>,
                         johdin_sUt: <<$param01, <>>>,
                         johdin_tAvA: <<$param01, <>>>,
                         johdin_tAvAinen: <<$param01, <>>>]);
end;
subrule tulla ($tietue, $param01, $param02, $param03, $param04):
  return taivutuskaava ($tietue,
                        [nimitapa_1_lA: <<$param01, <>>>,
                         nimitapa_2: <<$param02, <>>>,
                         nimitapa_2_tA: <<$param01, <>>>,
                         nimitapa_3: <<$param03, <>>>,
                         nimitapa_3_tA: <<$param01, <>>>,
                         nimitapa_4: <<$param03, <>>>,
                         nimitapa_5: <<$param03, <>>>,
                         laatutapa_1_vA: <<$param03, <>>>,
                         laatutapa_1_tA: <<$param01, <>>>,
                         laatutapa_2_lUt: <<$param01, <>>>,
                         laatutapa_2_tU_lU_oltu: <<$param01, <>>>,
                         kestämän_tekijäpääte_y1: <<$param03, <>>>,
                         kestämän_tekijäpääte_y2: <<$param03, <>>>,
                         kestämän_tekijäpääte_y3: <<$param03, <>>>,
                         kestämän_tekijäpääte_y3_vi: <<$param03, <>>>,
                         kestämän_tekijäpääte_y3_Vpi: <<$param03, <>>>,
                         kestämän_tekijäpääte_y3_Vvi: <<$param03, <>>>,
                         kestämän_tekijäpääte_m1: <<$param03, <>>>,
                         kestämän_tekijäpääte_m2: <<$param03, <>>>,
                         kestämän_tekijäpääte_m3: <<$param03, <>>>,
                         tositavan_kestämä_lAAn: <<$param01, <>>>,
                         kertoman_tekijäpääte_y1: <<$param01, <>>>,
                         kertoman_tekijäpääte_y2: <<$param01, <>>>,
                         kertoman_tekijäpääte_y3: <<$param01, <>>>,
                         kertoman_tekijäpääte_m1: <<$param01, <>>>,
                         kertoman_tekijäpääte_m2: <<$param01, <>>>,
                         kertoman_tekijäpääte_m3: <<$param01, <>>>,
                         tositavan_kertoma_tiin: <<$param01, <>>>,
                         ehtotapa: <<$param01, <>>>,
                         ehtotapa_tA: <<$param01, <>>>,
                         mahtotapa_le: <<$param01, <>>>,
                         mahtotapa_tA: <<$param01, <>>>,
                         käskytapa_y2: <<$param03, <>>>,
                         käskytapa_kielto: <<$param01, <>>>,
                         käskytapa_tA: <<$param01, <>>>,
                         johdin_jA_kulkija: <<$param04, <>>>,
                         johdin_lUt: <<$param01, <>>>,
                         johdin_vA: <<$param03, <>>>,
                         johdin_vAinen: <<$param03, <>>>,
                         johdin_mA: <<$param03, <>>>,
                         tositavan_kestämä_lAAn_kielto: <<$param01, <>>>,
                         käskytapa: <<$param01, <>>>,
                         johdin_tU_lU_oltu: <<$param01, <>>>,
                         mahtotapa_le_kielto: <<$param01, <>>>,
                         johdin_tAvA: <<$param01, <>>>,
                         johdin_tAvAinen: <<$param01, <>>>]);
end;
subrule purra ($tietue, $param01, $param02, $param03, $param04):
  return taivutuskaava ($tietue,
                        [nimitapa_1_rA: <<$param01, <>>>,
                         nimitapa_2: <<$param02, <>>>,
                         nimitapa_2_tA: <<$param01, <>>>,
                         nimitapa_3: <<$param03, <>>>,
                         nimitapa_3_tA: <<$param01, <>>>,
                         nimitapa_4: <<$param03, <>>>,
                         nimitapa_5: <<$param03, <>>>,
                         laatutapa_1_vA: <<$param03, <>>>,
                         laatutapa_1_tA: <<$param01, <>>>,
                         laatutapa_2_rUt: <<$param01, <>>>,
                         laatutapa_2_tU_rU: <<$param01, <>>>,
                         kestämän_tekijäpääte_y1: <<$param03, <>>>,
                         kestämän_tekijäpääte_y2: <<$param03, <>>>,
                         kestämän_tekijäpääte_y3: <<$param03, <>>>,
                         kestämän_tekijäpääte_y3_vi: <<$param03, <>>>,
                         kestämän_tekijäpääte_y3_Vpi: <<$param03, <>>>,
                         kestämän_tekijäpääte_y3_Vvi: <<$param03, <>>>,
                         kestämän_tekijäpääte_m1: <<$param03, <>>>,
                         kestämän_tekijäpääte_m2: <<$param03, <>>>,
                         kestämän_tekijäpääte_m3: <<$param03, <>>>,
                         tositavan_kestämä_rAAn: <<$param01, <>>>,
                         kertoman_tekijäpääte_y1: <<$param01, <>>>,
                         kertoman_tekijäpääte_y2: <<$param01, <>>>,
                         kertoman_tekijäpääte_y3: <<$param01, <>>>,
                         kertoman_tekijäpääte_m1: <<$param01, <>>>,
                         kertoman_tekijäpääte_m2: <<$param01, <>>>,
                         kertoman_tekijäpääte_m3: <<$param01, <>>>,
                         tositavan_kertoma_tiin: <<$param01, <>>>,
                         ehtotapa: <<$param01, <>>>,
                         ehtotapa_tA: <<$param01, <>>>,
                         mahtotapa_re: <<$param01, <>>>,
                         mahtotapa_tA: <<$param01, <>>>,
                         käskytapa_y2: <<$param03, <>>>,
                         käskytapa_kielto: <<$param01, <>>>,
                         käskytapa_tA: <<$param01, <>>>,
                         johdin_jA_kulkija: <<$param04, <>>>,
                         johdin_ntA: <<$param03, <>>>,
                         johdin_vA: <<$param03, <>>>,
                         johdin_vAinen: <<$param03, <>>>,
                         johdin_mA: <<$param03, <>>>,
                         mahtotapa_re_kielto: <<$param01, <>>>,
                         tositavan_kestämä_rAAn_kielto: <<$param01, <>>>,
                         käskytapa: <<$param01, <>>>,
                         johdin_tU_rU: <<$param01, <>>>,
                         johdin_rUt: <<$param01, <>>>,
                         johdin_tAvA: <<$param01, <>>>,
                         johdin_tAvAinen: <<$param01, <>>>]);
end;
subrule mennä ($tietue, $param01, $param02, $param03, $param04):
  return taivutuskaava ($tietue,
                        [nimitapa_1_nA: <<$param01, <>>>,
                         nimitapa_2: <<$param02, <>>>,
                         nimitapa_2_tA: <<$param01, <>>>,
                         nimitapa_3: <<$param03, <>>>,
                         nimitapa_3_tA: <<$param01, <>>>,
                         nimitapa_4: <<$param03, <>>>,
                         nimitapa_5: <<$param03, <>>>,
                         laatutapa_1_vA: <<$param03, <>>>,
                         laatutapa_1_tA: <<$param01, <>>>,
                         laatutapa_2_nUt: <<$param01, <>>>,
                         laatutapa_2_tU_nU: <<$param01, <>>>,
                         kestämän_tekijäpääte_y1: <<$param03, <>>>,
                         kestämän_tekijäpääte_y2: <<$param03, <>>>,
                         kestämän_tekijäpääte_y3: <<$param03, <>>>,
                         kestämän_tekijäpääte_y3_vi: <<$param03, <>>>,
                         kestämän_tekijäpääte_y3_Vpi: <<$param03, <>>>,
                         kestämän_tekijäpääte_y3_Vvi: <<$param03, <>>>,
                         kestämän_tekijäpääte_m1: <<$param03, <>>>,
                         kestämän_tekijäpääte_m2: <<$param03, <>>>,
                         kestämän_tekijäpääte_m3: <<$param03, <>>>,
                         tositavan_kestämä_nAAn: <<$param01, <>>>,
                         kertoman_tekijäpääte_y1: <<$param01, <>>>,
                         kertoman_tekijäpääte_y2: <<$param01, <>>>,
                         kertoman_tekijäpääte_y3: <<$param01, <>>>,
                         kertoman_tekijäpääte_m1: <<$param01, <>>>,
                         kertoman_tekijäpääte_m2: <<$param01, <>>>,
                         kertoman_tekijäpääte_m3: <<$param01, <>>>,
                         tositavan_kertoma_tiin: <<$param01, <>>>,
                         ehtotapa: <<$param01, <>>>,
                         ehtotapa_tA: <<$param01, <>>>,
                         mahtotapa_ne: <<$param01, <>>>,
                         mahtotapa_tA: <<$param01, <>>>,
                         käskytapa_y2: <<$param03, <>>>,
                         käskytapa_kielto: <<$param01, <>>>,
                         käskytapa_tA: <<$param01, <>>>,
                         johdin_jA_kulkija: <<$param04, <>>>,
                         johdin_vA: <<$param03, <>>>,
                         johdin_vAinen: <<$param03, <>>>,
                         tositavan_kestämä_nAAn_kielto: <<$param01, <>>>,
                         johdin_mA: <<$param03, <>>>,
                         johdin_tU_nU: <<$param01, <>>>,
                         käskytapa: <<$param01, <>>>,
                         johdin_nUt: <<$param01, <>>>,
                         mahtotapa_ne_kielto: <<$param01, <>>>,
                         johdin_tAvA: <<$param01, <>>>,
                         johdin_tAvAinen: <<$param01, <>>>]);
end;
subrule ilotella ($tietue, $param01, $param02, $param03, $param04, $param05, $param06, $param07, $param08, $param09, $param10):
  return taivutuskaava ($tietue,
                        [nimitapa_1_lA: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         nimitapa_2: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         nimitapa_2_tA: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         nimitapa_3: <<$param05, <>>, <$param06, <ei_voikko>>>,
                         nimitapa_3_tA: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         nimitapa_4: <<$param05, <>>, <$param06, <ei_voikko>>>,
                         nimitapa_5: <<$param05, <>>, <$param06, <ei_voikko>>>,
                         laatutapa_1_vA: <<$param05, <>>, <$param06, <ei_voikko>>>,
                         laatutapa_1_tA: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         laatutapa_2_lUt: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         laatutapa_2_tU_lU_katseltu: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         kestämän_tekijäpääte_y1: <<$param05, <>>, <$param06, <ei_voikko>>>,
                         kestämän_tekijäpääte_y2: <<$param05, <>>, <$param06, <ei_voikko>>>,
                         kestämän_tekijäpääte_y3: <<$param05, <>>, <$param06, <ei_voikko>>>,
                         kestämän_tekijäpääte_y3_vi: <<$param05, <>>, <$param06, <ei_voikko>>>,
                         kestämän_tekijäpääte_y3_Vpi: <<$param05, <>>, <$param06, <ei_voikko>>>,
                         kestämän_tekijäpääte_y3_Vvi: <<$param05, <>>, <$param06, <ei_voikko>>>,
                         kestämän_tekijäpääte_m1: <<$param05, <>>, <$param06, <ei_voikko>>>,
                         kestämän_tekijäpääte_m2: <<$param05, <>>, <$param06, <ei_voikko>>>,
                         kestämän_tekijäpääte_m3: <<$param05, <>>, <$param06, <ei_voikko>>>,
                         tositavan_kestämä_lAAn: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         kertoman_tekijäpääte_y1: <<$param07, <>>, <$param08, <ei_voikko>>>,
                         kertoman_tekijäpääte_y2: <<$param07, <>>, <$param08, <ei_voikko>>>,
                         kertoman_tekijäpääte_y3: <<$param07, <>>, <$param08, <ei_voikko>>>,
                         kertoman_tekijäpääte_m1: <<$param07, <>>, <$param08, <ei_voikko>>>,
                         kertoman_tekijäpääte_m2: <<$param07, <>>, <$param08, <ei_voikko>>>,
                         kertoman_tekijäpääte_m3: <<$param07, <>>, <$param08, <ei_voikko>>>,
                         tositavan_kertoma_tiin: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         ehtotapa: <<$param07, <>>, <$param05, <ei_voikko>>, <$param08, <ei_voikko>>, <$param06, <ei_voikko>>>,
                         ehtotapa_tA: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         mahtotapa_le: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         mahtotapa_tA: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         käskytapa_y2: <<$param05, <>>, <$param06, <ei_voikko>>>,
                         käskytapa_kielto: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         käskytapa_tA: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         johdin_jA_kulkija: <<$param09, <>>, <$param10, <ei_voikko>>>,
                         johdin_U_arvelu: <<$param07, <>>, <$param08, <ei_voikko>>>,
                         johdin_lUt: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         johdin_vA: <<$param05, <>>, <$param06, <ei_voikko>>>,
                         johdin_vAinen: <<$param05, <>>, <$param06, <ei_voikko>>>,
                         johdin_mA: <<$param05, <>>, <$param06, <ei_voikko>>>,
                         tositavan_kestämä_lAAn_kielto: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         käskytapa: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         johdin_tU_lU_katseltu: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         mahtotapa_le_kielto: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         johdin_tAvA: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         johdin_tAvAinen: <<$param01, <>>, <$param02, <ei_voikko>>>]);
end;
subrule katsella ($tietue, $param01, $param02, $param03, $param04, $param05):
  return taivutuskaava ($tietue,
                        [nimitapa_1_lA: <<$param01, <>>>,
                         nimitapa_2: <<$param02, <>>>,
                         nimitapa_2_tA: <<$param01, <>>>,
                         nimitapa_3: <<$param03, <>>>,
                         nimitapa_3_tA: <<$param01, <>>>,
                         nimitapa_4: <<$param03, <>>>,
                         nimitapa_5: <<$param03, <>>>,
                         laatutapa_1_vA: <<$param03, <>>>,
                         laatutapa_1_tA: <<$param01, <>>>,
                         laatutapa_2_lUt: <<$param01, <>>>,
                         laatutapa_2_tU_lU_katseltu: <<$param01, <>>>,
                         kestämän_tekijäpääte_y1: <<$param03, <>>>,
                         kestämän_tekijäpääte_y2: <<$param03, <>>>,
                         kestämän_tekijäpääte_y3: <<$param03, <>>>,
                         kestämän_tekijäpääte_y3_vi: <<$param03, <>>>,
                         kestämän_tekijäpääte_y3_Vpi: <<$param03, <>>>,
                         kestämän_tekijäpääte_y3_Vvi: <<$param03, <>>>,
                         kestämän_tekijäpääte_m1: <<$param03, <>>>,
                         kestämän_tekijäpääte_m2: <<$param03, <>>>,
                         kestämän_tekijäpääte_m3: <<$param03, <>>>,
                         tositavan_kestämä_lAAn: <<$param01, <>>>,
                         kertoman_tekijäpääte_y1: <<$param04, <>>>,
                         kertoman_tekijäpääte_y2: <<$param04, <>>>,
                         kertoman_tekijäpääte_y3: <<$param04, <>>>,
                         kertoman_tekijäpääte_m1: <<$param04, <>>>,
                         kertoman_tekijäpääte_m2: <<$param04, <>>>,
                         kertoman_tekijäpääte_m3: <<$param04, <>>>,
                         tositavan_kertoma_tiin: <<$param01, <>>>,
                         ehtotapa: <<$param04, <>>, <$param03, <ei_voikko>>>,
                         ehtotapa_tA: <<$param01, <>>>,
                         mahtotapa_le: <<$param01, <>>>,
                         mahtotapa_tA: <<$param01, <>>>,
                         käskytapa_y2: <<$param03, <>>>,
                         käskytapa_kielto: <<$param01, <>>>,
                         käskytapa_tA: <<$param01, <>>>,
                         johdin_jA_kulkija: <<$param05, <>>>,
                         johdin_U_arvelu: <<$param04, <>>>,
                         johdin_lUt: <<$param01, <>>>,
                         johdin_vA: <<$param03, <>>>,
                         johdin_vAinen: <<$param03, <>>>,
                         johdin_mA: <<$param03, <>>>,
                         tositavan_kestämä_lAAn_kielto: <<$param01, <>>>,
                         käskytapa: <<$param01, <>>>,
                         johdin_tU_lU_katseltu: <<$param01, <>>>,
                         mahtotapa_le_kielto: <<$param01, <>>>,
                         johdin_tAvA: <<$param01, <>>>,
                         johdin_tAvAinen: <<$param01, <>>>]);
end;
subrule kilvoitella ($tietue, $param01, $param02, $param03, $param04, $param05, $param06, $param07, $param08, $param09, $param10):
  return taivutuskaava ($tietue,
                        [nimitapa_1_lA: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         nimitapa_2: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         nimitapa_2_tA: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         nimitapa_3: <<$param05, <>>, <$param06, <ei_voikko>>>,
                         nimitapa_3_tA: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         nimitapa_4: <<$param05, <>>, <$param06, <ei_voikko>>>,
                         nimitapa_5: <<$param05, <>>, <$param06, <ei_voikko>>>,
                         laatutapa_1_vA: <<$param05, <>>, <$param06, <ei_voikko>>>,
                         laatutapa_1_tA: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         laatutapa_2_lUt: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         laatutapa_2_tU_lU_katseltu: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         kestämän_tekijäpääte_y1: <<$param05, <>>, <$param06, <ei_voikko>>>,
                         kestämän_tekijäpääte_y2: <<$param05, <>>, <$param06, <ei_voikko>>>,
                         kestämän_tekijäpääte_y3: <<$param05, <>>, <$param06, <ei_voikko>>>,
                         kestämän_tekijäpääte_y3_vi: <<$param05, <>>, <$param06, <ei_voikko>>>,
                         kestämän_tekijäpääte_y3_Vpi: <<$param05, <>>, <$param06, <ei_voikko>>>,
                         kestämän_tekijäpääte_y3_Vvi: <<$param05, <>>, <$param06, <ei_voikko>>>,
                         kestämän_tekijäpääte_m1: <<$param05, <>>, <$param06, <ei_voikko>>>,
                         kestämän_tekijäpääte_m2: <<$param05, <>>, <$param06, <ei_voikko>>>,
                         kestämän_tekijäpääte_m3: <<$param05, <>>, <$param06, <ei_voikko>>>,
                         tositavan_kestämä_lAAn: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         kertoman_tekijäpääte_y1: <<$param07, <>>, <$param08, <ei_voikko>>>,
                         kertoman_tekijäpääte_y2: <<$param07, <>>, <$param08, <ei_voikko>>>,
                         kertoman_tekijäpääte_y3: <<$param07, <>>, <$param08, <ei_voikko>>>,
                         kertoman_tekijäpääte_m1: <<$param07, <>>, <$param08, <ei_voikko>>>,
                         kertoman_tekijäpääte_m2: <<$param07, <>>, <$param08, <ei_voikko>>>,
                         kertoman_tekijäpääte_m3: <<$param07, <>>, <$param08, <ei_voikko>>>,
                         tositavan_kertoma_tiin: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         ehtotapa: <<$param07, <>>, <$param05, <ei_voikko>>, <$param08, <ei_voikko>>, <$param06, <ei_voikko>>>,
                         ehtotapa_tA: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         mahtotapa_le: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         mahtotapa_tA: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         käskytapa_y2: <<$param05, <>>, <$param06, <ei_voikko>>>,
                         käskytapa_kielto: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         käskytapa_tA: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         johdin_jA_kulkija: <<$param09, <>>, <$param10, <ei_voikko>>>,
                         johdin_U_arvelu: <<$param07, <>>, <$param08, <>>>,
                         johdin_lUt: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         johdin_vA: <<$param05, <>>, <$param06, <ei_voikko>>>,
                         johdin_vAinen: <<$param05, <>>, <$param06, <ei_voikko>>>,
                         johdin_mA: <<$param05, <>>, <$param06, <ei_voikko>>>,
                         tositavan_kestämä_lAAn_kielto: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         käskytapa: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         johdin_tU_lU_katseltu: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         mahtotapa_le_kielto: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         johdin_tAvA: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         johdin_tAvAinen: <<$param01, <>>, <$param02, <ei_voikko>>>]);
end;
subrule arvailla ($tietue, $param01, $param02, $param03, $param04, $param05, $param06, $param07, $param08):
  return taivutuskaava ($tietue,
                        [nimitapa_1_lA: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         nimitapa_2: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         nimitapa_2_tA: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         nimitapa_3: <<$param05, <>>, <$param06, <ei_voikko>>>,
                         nimitapa_3_tA: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         nimitapa_4: <<$param05, <>>, <$param06, <ei_voikko>>>,
                         nimitapa_5: <<$param05, <>>, <$param06, <ei_voikko>>>,
                         laatutapa_1_vA: <<$param05, <>>, <$param06, <ei_voikko>>>,
                         laatutapa_1_tA: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         laatutapa_2_lUt: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         laatutapa_2_tU_lU_katseltu: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         kestämän_tekijäpääte_y1: <<$param05, <>>, <$param06, <ei_voikko>>>,
                         kestämän_tekijäpääte_y2: <<$param05, <>>, <$param06, <ei_voikko>>>,
                         kestämän_tekijäpääte_y3: <<$param05, <>>, <$param06, <ei_voikko>>>,
                         kestämän_tekijäpääte_y3_vi: <<$param05, <>>, <$param06, <ei_voikko>>>,
                         kestämän_tekijäpääte_y3_Vpi: <<$param05, <>>, <$param06, <ei_voikko>>>,
                         kestämän_tekijäpääte_y3_Vvi: <<$param05, <>>, <$param06, <ei_voikko>>>,
                         kestämän_tekijäpääte_m1: <<$param05, <>>, <$param06, <ei_voikko>>>,
                         kestämän_tekijäpääte_m2: <<$param05, <>>, <$param06, <ei_voikko>>>,
                         kestämän_tekijäpääte_m3: <<$param05, <>>, <$param06, <ei_voikko>>>,
                         tositavan_kestämä_lAAn: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         kertoman_tekijäpääte_y1: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         kertoman_tekijäpääte_y2: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         kertoman_tekijäpääte_y3: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         kertoman_tekijäpääte_m1: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         kertoman_tekijäpääte_m2: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         kertoman_tekijäpääte_m3: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         tositavan_kertoma_tiin: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         ehtotapa: <<$param01, <>>, <$param05, <ei_voikko>>>,
                         ehtotapa_tA: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         mahtotapa_le: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         mahtotapa_tA: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         käskytapa_y2: <<$param05, <>>, <$param06, <ei_voikko>>>,
                         käskytapa_kielto: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         käskytapa_tA: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         johdin_jA_kulkija: <<$param07, <>>, <$param08, <ei_voikko>>>,
                         johdin_U_arvelu: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         johdin_lUt: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         johdin_vA: <<$param05, <>>, <$param06, <ei_voikko>>>,
                         johdin_vAinen: <<$param05, <>>, <$param06, <ei_voikko>>>,
                         johdin_mA: <<$param05, <>>, <$param06, <ei_voikko>>>,
                         tositavan_kestämä_lAAn_kielto: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         käskytapa: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         johdin_tU_lU_katseltu: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         mahtotapa_le_kielto: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         johdin_tAvA: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         johdin_tAvAinen: <<$param01, <>>, <$param02, <ei_voikko>>>]);
end;
subrule haravoida ($tietue, $param01, $param02, $param03, $param04, $param05, $param06, $param07, $param08):
  return taivutuskaava ($tietue,
                        [nimitapa_1_dA: <<$param01, <>>>,
                         nimitapa_1_tA: <<$param01, <ei_voikko>>>,
                         nimitapa_2: <<$param02, <>>, <$param03, <ei_voikko>>>,
                         nimitapa_2_tA: <<$param01, <>>>,
                         nimitapa_2_ttA: <<$param01, <ei_voikko>>>,
                         nimitapa_3_saama: <<$param01, <>>>,
                         nimitapa_3: <<$param04, <>>>,
                         nimitapa_3_tA: <<$param01, <>>>,
                         nimitapa_3_ttA: <<$param01, <ei_voikko>>>,
                         nimitapa_4: <<$param01, <>>, <$param04, <>>>,
                         nimitapa_5: <<$param01, <>>, <$param04, <>>>,
                         laatutapa_1_vA: <<$param01, <>>, <$param04, <>>>,
                         laatutapa_1_tA: <<$param01, <>>>,
                         laatutapa_1_ttA: <<$param01, <ei_voikko>>>,
                         laatutapa_2_nUt: <<$param01, <>>, <$param04, <>>, <$param05, <ei_voikko>>>,
                         laatutapa_2_tU_dU: <<$param01, <>>>,
                         laatutapa_2_ttU: <<$param01, <ei_voikko>>>,
                         kestämän_tekijäpääte_y1: <<$param01, <>>, <$param04, <>>>,
                         kestämän_tekijäpääte_y2: <<$param01, <>>, <$param04, <>>>,
                         kestämän_tekijäpääte_y3: <<$param01, <_y3>>, <$param04, <>>>,
                         kestämän_tekijäpääte_y3_vi: <<$param04, <>>>,
                         kestämän_tekijäpääte_y3_Vpi: <<$param04, <>>>,
                         kestämän_tekijäpääte_y3_Vvi: <<$param04, <>>>,
                         kestämän_tekijäpääte_y3_pi: <<$param01, <_y3>>>,
                         kestämän_tekijäpääte_m1: <<$param01, <>>, <$param04, <>>>,
                         kestämän_tekijäpääte_m2: <<$param01, <>>, <$param04, <>>>,
                         kestämän_tekijäpääte_m3: <<$param01, <>>, <$param04, <>>>,
                         tositavan_kestämä_dAAn: <<$param01, <>>>,
                         tositavan_kestämä_tAAn: <<$param01, <ei_voikko>>>,
                         kertoman_tekijäpääte_y1: <<$param06, <>>, <$param07, <>>>,
                         kertoman_tekijäpääte_y2: <<$param06, <>>, <$param07, <>>>,
                         kertoman_tekijäpääte_y3: <<$param06, <>>, <$param07, <>>>,
                         kertoman_tekijäpääte_m1: <<$param06, <>>, <$param07, <>>>,
                         kertoman_tekijäpääte_m2: <<$param06, <>>, <$param07, <>>>,
                         kertoman_tekijäpääte_m3: <<$param06, <>>, <$param07, <>>>,
                         tositavan_kertoma_tiin: <<$param01, <>>>,
                         tositavan_kertoma_ttiin: <<$param01, <ei_voikko>>>,
                         ehtotapa: <<$param06, <>>, <$param07, <>>>,
                         ehtotapa_tA: <<$param01, <>>>,
                         ehtotapa_ttA: <<$param01, <ei_voikko>>>,
                         mahtotapa_ne: <<$param01, <>>>,
                         mahtotapa_tA: <<$param01, <>>>,
                         mahtotapa_ttA: <<$param01, <ei_voikko>>>,
                         käskytapa_y2: <<$param01, <>>>,
                         käskytapa_kielto: <<$param01, <>>, <$param03, <ei_voikko>>>,
                         käskytapa_tA: <<$param01, <>>>,
                         käskytapa_ttA: <<$param01, <ei_voikko>>>,
                         johdin_jA_kantaja: <<$param01, <>>>,
                         johdin_jA_kulkija: <<$param08, <>>>,
                         johdin_nti: <<$param01, <>>>,
                         johdin_vA: <<$param01, <>>, <$param04, <>>>,
                         johdin_vAinen: <<$param01, <>>, <$param04, <>>>,
                         johdin_mA: <<$param04, <>>>,
                         johdin_tU_dU: <<$param01, <>>>,
                         käskytapa: <<$param01, <>>, <$param03, <ei_voikko>>>,
                         johdin_ttAvA: <<$param01, <ei_voikko>>>,
                         johdin_ttAvAinen: <<$param01, <ei_voikko>>>,
                         tositavan_kestämä_tAAn_kielto: <<$param01, <ei_voikko>>>,
                         johdin_nUt: <<$param01, <>>, <$param04, <>>, <$param05, <ei_voikko>>>,
                         tositavan_kestämä_dAAn_kielto: <<$param01, <>>>,
                         johdin_mA_saama: <<$param01, <>>>,
                         johdin_ttU: <<$param01, <ei_voikko>>>,
                         mahtotapa_ne_kielto: <<$param01, <>>>,
                         johdin_tAvA: <<$param01, <>>>,
                         johdin_tAvAinen: <<$param01, <>>>]);
end;
subrule valita ($tietue, $param01, $param02, $param03, $param04, $param05, $param06):
  return taivutuskaava ($tietue,
                        [nimitapa_1_tA: <<$param01, <>>>,
                         nimitapa_2: <<$param02, <>>>,
                         nimitapa_2_ttA: <<$param01, <>>>,
                         nimitapa_3: <<$param03, <>>>,
                         nimitapa_3_ttA: <<$param01, <>>>,
                         nimitapa_4: <<$param03, <>>>,
                         nimitapa_5: <<$param03, <>>>,
                         laatutapa_1_vA: <<$param03, <>>>,
                         laatutapa_1_ttA: <<$param01, <>>>,
                         laatutapa_2_nUt: <<$param04, <>>>,
                         laatutapa_2_ttU: <<$param01, <>>>,
                         kestämän_tekijäpääte_y1: <<$param03, <>>>,
                         kestämän_tekijäpääte_y2: <<$param03, <>>>,
                         kestämän_tekijäpääte_y3: <<$param03, <>>>,
                         kestämän_tekijäpääte_y3_vi: <<$param03, <>>>,
                         kestämän_tekijäpääte_y3_Vpi: <<$param03, <>>>,
                         kestämän_tekijäpääte_y3_Vvi: <<$param03, <>>>,
                         kestämän_tekijäpääte_m1: <<$param03, <>>>,
                         kestämän_tekijäpääte_m2: <<$param03, <>>>,
                         kestämän_tekijäpääte_m3: <<$param03, <>>>,
                         tositavan_kestämä_tAAn: <<$param01, <>>>,
                         kertoman_tekijäpääte_y1: <<$param05, <>>>,
                         kertoman_tekijäpääte_y2: <<$param05, <>>>,
                         kertoman_tekijäpääte_y3: <<$param05, <>>>,
                         kertoman_tekijäpääte_m1: <<$param05, <>>>,
                         kertoman_tekijäpääte_m2: <<$param05, <>>>,
                         kertoman_tekijäpääte_m3: <<$param05, <>>>,
                         tositavan_kertoma_ttiin: <<$param01, <>>>,
                         ehtotapa: <<$param05, <>>, <$param03, <ei_voikko>>>,
                         ehtotapa_ttA: <<$param01, <>>>,
                         mahtotapa_ne: <<$param04, <>>>,
                         mahtotapa_ttA: <<$param01, <>>>,
                         käskytapa_y2: <<$param03, <>>>,
                         käskytapa_kielto: <<$param02, <>>>,
                         käskytapa_ttA: <<$param01, <>>>,
                         johdin_jA_kulkija: <<$param06, <>>>,
                         johdin_ntA: <<$param01, <>>>,
                         johdin_vA: <<$param03, <>>>,
                         johdin_vAinen: <<$param03, <>>>,
                         johdin_mA: <<$param03, <>>>,
                         käskytapa: <<$param02, <>>>,
                         johdin_ttAvA: <<$param01, <>>>,
                         johdin_ttAvAinen: <<$param01, <>>>,
                         tositavan_kestämä_tAAn_kielto: <<$param01, <>>>,
                         johdin_nUt: <<$param04, <>>>,
                         johdin_ttU: <<$param01, <>>>,
                         mahtotapa_ne_kielto: <<$param04, <>>>]);
end;
subrule juosta ($tietue, $param01, $param02, $param03, $param04, $param05):
  return taivutuskaava ($tietue,
                        [nimitapa_1_tA: <<$param01, <>>>,
                         nimitapa_2: <<$param02, <>>>,
                         nimitapa_2_tA: <<$param01, <>>>,
                         nimitapa_3: <<$param03, <>>>,
                         nimitapa_3_tA: <<$param01, <>>>,
                         nimitapa_4: <<$param03, <>>>,
                         nimitapa_5: <<$param03, <>>>,
                         laatutapa_1_vA: <<$param03, <>>>,
                         laatutapa_1_tA: <<$param01, <>>>,
                         laatutapa_2_sUt: <<$param01, <>>>,
                         laatutapa_2_nUt: <<$param01, <ei_voikko>>>,
                         laatutapa_2_stU_juostu: <<$param01, <>>>,
                         kestämän_tekijäpääte_y1: <<$param03, <>>>,
                         kestämän_tekijäpääte_y2: <<$param03, <>>>,
                         kestämän_tekijäpääte_y3: <<$param03, <>>>,
                         kestämän_tekijäpääte_y3_vi: <<$param03, <>>>,
                         kestämän_tekijäpääte_y3_Vpi: <<$param03, <>>>,
                         kestämän_tekijäpääte_y3_Vvi: <<$param03, <>>>,
                         kestämän_tekijäpääte_m1: <<$param03, <>>>,
                         kestämän_tekijäpääte_m2: <<$param03, <>>>,
                         kestämän_tekijäpääte_m3: <<$param03, <>>>,
                         tositavan_kestämä_tAAn: <<$param01, <>>>,
                         kertoman_tekijäpääte_y1: <<$param04, <>>>,
                         kertoman_tekijäpääte_y2: <<$param04, <>>>,
                         kertoman_tekijäpääte_y3: <<$param04, <>>>,
                         kertoman_tekijäpääte_m1: <<$param04, <>>>,
                         kertoman_tekijäpääte_m2: <<$param04, <>>>,
                         kertoman_tekijäpääte_m3: <<$param04, <>>>,
                         tositavan_kertoma_tiin: <<$param01, <>>>,
                         ehtotapa: <<$param04, <>>>,
                         ehtotapa_tA: <<$param01, <>>>,
                         mahtotapa_se: <<$param01, <>>>,
                         mahtotapa_tA: <<$param01, <>>>,
                         käskytapa_y2: <<$param03, <>>>,
                         käskytapa_kielto: <<$param01, <>>>,
                         käskytapa_tA: <<$param01, <>>>,
                         johdin_jA_kulkija: <<$param05, <>>>,
                         mahtotapa_se_kielto: <<$param01, <>>>,
                         johdin_vA: <<$param03, <>>>,
                         johdin_vAinen: <<$param03, <>>>,
                         johdin_mA: <<$param03, <>>>,
                         käskytapa: <<$param01, <>>>,
                         johdin_stU_juostu: <<$param01, <>>>,
                         tositavan_kestämä_tAAn_kielto: <<$param01, <>>>,
                         johdin_nUt: <<$param01, <ei_voikko>>>,
                         johdin_sUt: <<$param01, <>>>,
                         johdin_tAvA: <<$param01, <>>>,
                         johdin_tAvAinen: <<$param01, <>>>]);
end;
subrule nähdä ($tietue, $param01, $param02, $param03, $param04, $param05, $param06, $param07):
  return taivutuskaava ($tietue,
                        [nimitapa_1_dA: <<$param01, <>>>,
                         nimitapa_2: <<$param02, <>>>,
                         nimitapa_2_tA: <<$param01, <>>>,
                         nimitapa_3: <<$param03, <>>>,
                         nimitapa_3_tA: <<$param01, <>>>,
                         nimitapa_4: <<$param03, <>>>,
                         nimitapa_5: <<$param03, <>>>,
                         laatutapa_1_vA: <<$param03, <>>>,
                         laatutapa_1_tA: <<$param01, <>>>,
                         laatutapa_2_nUt: <<$param01, <>>>,
                         laatutapa_2_tU_dU: <<$param01, <>>>,
                         kestämän_tekijäpääte_y1: <<$param04, <>>>,
                         kestämän_tekijäpääte_y2: <<$param04, <>>>,
                         kestämän_tekijäpääte_y3: <<$param03, <>>>,
                         kestämän_tekijäpääte_y3_vi: <<$param03, <>>>,
                         kestämän_tekijäpääte_y3_Vpi: <<$param03, <>>>,
                         kestämän_tekijäpääte_y3_Vvi: <<$param03, <>>>,
                         kestämän_tekijäpääte_m1: <<$param04, <>>>,
                         kestämän_tekijäpääte_m2: <<$param04, <>>>,
                         kestämän_tekijäpääte_m3: <<$param03, <>>>,
                         tositavan_kestämä_dAAn: <<$param01, <>>>,
                         kertoman_tekijäpääte_y1: <<$param05, <>>>,
                         kertoman_tekijäpääte_y2: <<$param05, <>>>,
                         kertoman_tekijäpääte_y3: <<$param06, <>>>,
                         kertoman_tekijäpääte_m1: <<$param05, <>>>,
                         kertoman_tekijäpääte_m2: <<$param05, <>>>,
                         kertoman_tekijäpääte_m3: <<$param06, <>>>,
                         tositavan_kertoma_tiin: <<$param01, <>>>,
                         ehtotapa: <<$param06, <>>>,
                         ehtotapa_tA: <<$param01, <>>>,
                         mahtotapa_ne: <<$param01, <>>>,
                         mahtotapa_tA: <<$param01, <>>>,
                         käskytapa_y2: <<$param04, <>>>,
                         käskytapa_kielto: <<$param01, <>>>,
                         käskytapa_tA: <<$param01, <>>>,
                         johdin_jA_kulkija: <<$param07, <>>>,
                         johdin_vA: <<$param03, <>>>,
                         johdin_vAinen: <<$param03, <>>>,
                         johdin_mA: <<$param03, <>>>,
                         johdin_tU_dU: <<$param01, <>>>,
                         käskytapa: <<$param01, <>>>,
                         johdin_nUt: <<$param01, <>>>,
                         tositavan_kestämä_dAAn_kielto: <<$param01, <>>>,
                         mahtotapa_ne_kielto: <<$param01, <>>>,
                         johdin_tAvA: <<$param01, <>>>,
                         johdin_tAvAinen: <<$param01, <>>>]);
end;
subrule aleta ($tietue, $param01, $param02, $param03, $param04, $param05, $param06):
  return taivutuskaava ($tietue,
                        [nimitapa_1_tA: <<$param01, <>>>,
                         nimitapa_2: <<$param02, <>>>,
                         nimitapa_2_ttA: <<$param01, <>>>,
                         nimitapa_3: <<$param03, <>>>,
                         nimitapa_3_ttA: <<$param01, <>>>,
                         nimitapa_4: <<$param03, <>>>,
                         nimitapa_5: <<$param03, <>>>,
                         laatutapa_1_vA: <<$param03, <>>>,
                         laatutapa_1_ttA: <<$param01, <>>>,
                         laatutapa_2_nUt: <<$param04, <>>>,
                         laatutapa_2_ttU: <<$param01, <>>>,
                         kestämän_tekijäpääte_y1: <<$param03, <>>>,
                         kestämän_tekijäpääte_y2: <<$param03, <>>>,
                         kestämän_tekijäpääte_y3: <<$param03, <>>>,
                         kestämän_tekijäpääte_y3_vi: <<$param03, <>>>,
                         kestämän_tekijäpääte_y3_Vpi: <<$param03, <>>>,
                         kestämän_tekijäpääte_y3_Vvi: <<$param03, <>>>,
                         kestämän_tekijäpääte_m1: <<$param03, <>>>,
                         kestämän_tekijäpääte_m2: <<$param03, <>>>,
                         kestämän_tekijäpääte_m3: <<$param03, <>>>,
                         tositavan_kestämä_tAAn: <<$param01, <>>>,
                         kertoman_tekijäpääte_y1: <<$param05, <>>>,
                         kertoman_tekijäpääte_y2: <<$param05, <>>>,
                         kertoman_tekijäpääte_y3: <<$param05, <>>>,
                         kertoman_tekijäpääte_m1: <<$param05, <>>>,
                         kertoman_tekijäpääte_m2: <<$param05, <>>>,
                         kertoman_tekijäpääte_m3: <<$param05, <>>>,
                         tositavan_kertoma_ttiin: <<$param01, <>>>,
                         ehtotapa: <<$param05, <>>, <$param03, <ei_voikko>>>,
                         ehtotapa_ttA: <<$param01, <>>>,
                         mahtotapa_ne: <<$param04, <>>>,
                         mahtotapa_ttA: <<$param01, <>>>,
                         käskytapa_y2: <<$param03, <>>>,
                         käskytapa_kielto: <<$param02, <>>>,
                         käskytapa_ttA: <<$param01, <>>>,
                         johdin_jA_kulkija: <<$param06, <>>>,
                         johdin_vA: <<$param03, <>>>,
                         johdin_vAinen: <<$param03, <>>>,
                         johdin_mA: <<$param03, <>>>,
                         käskytapa: <<$param02, <>>>,
                         johdin_ttAvA: <<$param01, <>>>,
                         johdin_ttAvAinen: <<$param01, <>>>,
                         tositavan_kestämä_tAAn_kielto: <<$param01, <>>>,
                         johdin_nUt: <<$param04, <>>>,
                         johdin_ttU: <<$param01, <>>>,
                         mahtotapa_ne_kielto: <<$param04, <>>>]);
end;
subrule kevetä ($tietue, $param01, $param02, $param03, $param04, $param05, $param06, $param07, $param08):
  return taivutuskaava ($tietue,
                        [nimitapa_1_tA: <<$param01, <>>>,
                         nimitapa_2: <<$param02, <>>>,
                         nimitapa_2_ttA: <<$param01, <>>>,
                         nimitapa_3: <<$param03, <>>, <$param04, <>>>,
                         nimitapa_3_ttA: <<$param01, <>>>,
                         nimitapa_4: <<$param03, <>>, <$param03, <>>>,
                         nimitapa_5: <<$param03, <>>, <$param03, <>>>,
                         laatutapa_1_vA: <<$param03, <>>, <$param04, <>>>,
                         laatutapa_1_ttA: <<$param01, <>>>,
                         laatutapa_2_nUt: <<$param05, <>>>,
                         laatutapa_2_ttU: <<$param01, <>>>,
                         kestämän_tekijäpääte_y1: <<$param03, <>>, <$param04, <>>>,
                         kestämän_tekijäpääte_y2: <<$param03, <>>, <$param04, <>>>,
                         kestämän_tekijäpääte_y3: <<$param03, <>>, <$param04, <>>>,
                         kestämän_tekijäpääte_y3_vi: <<$param03, <>>, <$param04, <>>>,
                         kestämän_tekijäpääte_y3_Vpi: <<$param03, <>>, <$param04, <>>>,
                         kestämän_tekijäpääte_y3_Vvi: <<$param03, <>>, <$param04, <>>>,
                         kestämän_tekijäpääte_m1: <<$param03, <>>, <$param04, <>>>,
                         kestämän_tekijäpääte_m2: <<$param03, <>>, <$param04, <>>>,
                         kestämän_tekijäpääte_m3: <<$param03, <>>, <$param04, <>>>,
                         tositavan_kestämä_tAAn: <<$param01, <>>>,
                         kertoman_tekijäpääte_y1: <<$param06, <>>, <$param05, <>>>,
                         kertoman_tekijäpääte_y2: <<$param06, <>>, <$param05, <>>>,
                         kertoman_tekijäpääte_y3: <<$param06, <>>, <$param05, <>>>,
                         kertoman_tekijäpääte_m1: <<$param06, <>>, <$param05, <>>>,
                         kertoman_tekijäpääte_m2: <<$param06, <>>, <$param05, <>>>,
                         kertoman_tekijäpääte_m3: <<$param06, <>>, <$param05, <>>>,
                         tositavan_kertoma_ttiin: <<$param01, <>>>,
                         ehtotapa: <<$param06, <>>, <$param03, <ei_voikko>>, <$param05, <>>, <$param04, <ei_voikko>>>,
                         ehtotapa_ttA: <<$param01, <>>>,
                         mahtotapa_ne: <<$param05, <>>>,
                         mahtotapa_ttA: <<$param01, <>>>,
                         käskytapa_y2: <<$param03, <>>, <$param04, <>>>,
                         käskytapa_kielto: <<$param02, <>>>,
                         käskytapa_ttA: <<$param01, <>>>,
                         johdin_jA_kulkija: <<$param07, <>>, <$param08, <>>>,
                         johdin_vA: <<$param03, <>>, <$param04, <>>>,
                         johdin_vAinen: <<$param03, <>>, <$param04, <>>>,
                         johdin_mA: <<$param03, <>>, <$param04, <>>>,
                         käskytapa: <<$param02, <>>>,
                         johdin_ttAvA: <<$param01, <>>>,
                         johdin_ttAvAinen: <<$param01, <>>>,
                         tositavan_kestämä_tAAn_kielto: <<$param01, <>>>,
                         johdin_nUt: <<$param05, <>>>,
                         johdin_ttU: <<$param01, <>>>,
                         mahtotapa_ne_kielto: <<$param05, <>>>]);
end;
subrule salata ($tietue, $param01, $param02, $param03, $param04, $param05, $param06, $johdin_illA):
  return taivutuskaava ($tietue,
                        [nimitapa_1_tA: <<$param01, <>>>,
                         nimitapa_2: <<$param02, <>>>,
                         nimitapa_2_ttA: <<$param01, <>>>,
                         nimitapa_3: <<$param03, <>>>,
                         nimitapa_3_ttA: <<$param01, <>>>,
                         nimitapa_4: <<$param03, <>>>,
                         nimitapa_5: <<$param03, <>>>,
                         laatutapa_1_vA: <<$param03, <>>>,
                         laatutapa_1_ttA: <<$param01, <>>>,
                         laatutapa_2_nUt: <<$param04, <>>>,
                         laatutapa_2_ttU: <<$param01, <>>>,
                         kestämän_tekijäpääte_y1: <<$param03, <>>>,
                         kestämän_tekijäpääte_y2: <<$param03, <>>>,
                         kestämän_tekijäpääte_y3: <<$param03, <_y3>>>,
                         kestämän_tekijäpääte_y3_vi: <>,
                         kestämän_tekijäpääte_y3_Vpi: <>,
                         kestämän_tekijäpääte_y3_Vvi: <>,
                         kestämän_tekijäpääte_y3_pi: <<$param03, <_y3>>>,
                         kestämän_tekijäpääte_m1: <<$param03, <>>>,
                         kestämän_tekijäpääte_m2: <<$param03, <>>>,
                         kestämän_tekijäpääte_m3: <<$param03, <>>>,
                         tositavan_kestämä_tAAn: <<$param01, <>>>,
                         kertoman_tekijäpääte_y1: <<$param05, <>>>,
                         kertoman_tekijäpääte_y2: <<$param05, <>>>,
                         kertoman_tekijäpääte_y3: <<$param05, <>>>,
                         kertoman_tekijäpääte_m1: <<$param05, <>>>,
                         kertoman_tekijäpääte_m2: <<$param05, <>>>,
                         kertoman_tekijäpääte_m3: <<$param05, <>>>,
                         tositavan_kertoma_ttiin: <<$param01, <>>>,
                         ehtotapa: <<$param06, <>>>,
                         ehtotapa_ttA: <<$param01, <>>>,
                         mahtotapa_ne: <<$param04, <>>>,
                         mahtotapa_ttA: <<$param01, <>>>,
                         käskytapa_y2: <<$param03, <>>>,
                         käskytapa_kielto: <<$param02, <>>>,
                         käskytapa_ttA: <<$param01, <>>>,
                         johdin_jA_kantaja: <<$param03, <>>>,
                         johdin_Us_ksen: <<$param06, <>>>,
                         johdin_illA: <<$johdin_illA, <>>>,
                         johdin_vA: <<$param03, <>>>,
                         johdin_vAinen: <<$param03, <>>>,
                         johdin_mA: <<$param03, <>>>,
                         käskytapa: <<$param02, <>>>,
                         johdin_ttAvA: <<$param01, <>>>,
                         johdin_ttAvAinen: <<$param01, <>>>,
                         tositavan_kestämä_tAAn_kielto: <<$param01, <>>>,
                         johdin_nUt: <<$param04, <>>>,
                         johdin_ttU: <<$param01, <>>>,
                         mahtotapa_ne_kielto: <<$param04, <>>>]);
end;
subrule katketa ($tietue, $param01, $param02, $param03, $param04, $param05, $param06, $param07):
  return taivutuskaava ($tietue,
                        [nimitapa_1_tA: <<$param01, <>>>,
                         nimitapa_2: <<$param02, <>>>,
                         nimitapa_2_ttA: <<$param01, <>>>,
                         nimitapa_3: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         nimitapa_3_ttA: <<$param01, <>>>,
                         nimitapa_4: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         nimitapa_5: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         laatutapa_1_vA: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         laatutapa_1_ttA: <<$param01, <>>>,
                         laatutapa_2_nUt: <<$param05, <>>>,
                         laatutapa_2_ttU: <<$param01, <>>>,
                         kestämän_tekijäpääte_y1: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         kestämän_tekijäpääte_y2: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         kestämän_tekijäpääte_y3: <<$param03, <>>, <$param04, <ei_voikko,_y3>>>,
                         kestämän_tekijäpääte_y3_vi: <<$param03, <>>>,
                         kestämän_tekijäpääte_y3_Vpi: <<$param03, <>>>,
                         kestämän_tekijäpääte_y3_Vvi: <<$param03, <>>>,
                         kestämän_tekijäpääte_y3_pi: <<$param04, <ei_voikko,_y3>>>,
                         kestämän_tekijäpääte_m1: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         kestämän_tekijäpääte_m2: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         kestämän_tekijäpääte_m3: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         tositavan_kestämä_tAAn: <<$param01, <>>>,
                         kertoman_tekijäpääte_y1: <<$param06, <>>>,
                         kertoman_tekijäpääte_y2: <<$param06, <>>>,
                         kertoman_tekijäpääte_y3: <<$param06, <>>>,
                         kertoman_tekijäpääte_m1: <<$param06, <>>>,
                         kertoman_tekijäpääte_m2: <<$param06, <>>>,
                         kertoman_tekijäpääte_m3: <<$param06, <>>>,
                         tositavan_kertoma_ttiin: <<$param01, <>>>,
                         ehtotapa: <<$param03, <>>, <$param07, <>>>,
                         ehtotapa_ttA: <<$param01, <>>>,
                         mahtotapa_ne: <<$param05, <>>>,
                         mahtotapa_ttA: <<$param01, <>>>,
                         käskytapa_y2: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         käskytapa_kielto: <<$param02, <>>>,
                         käskytapa_ttA: <<$param01, <>>>,
                         johdin_jA_kantaja: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         johdin_vA: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         johdin_vAinen: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         johdin_mA: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         käskytapa: <<$param02, <>>>,
                         johdin_ttAvA: <<$param01, <>>>,
                         johdin_ttAvAinen: <<$param01, <>>>,
                         tositavan_kestämä_tAAn_kielto: <<$param01, <>>>,
                         johdin_nUt: <<$param05, <>>>,
                         johdin_ttU: <<$param01, <>>>,
                         mahtotapa_ne_kielto: <<$param05, <>>>]);
end;
subrule kutiaa ($tietue, $param01):
  return taivutuskaava ($tietue,
                        [nimitapa_1_tA: <<$param01, <>>>,
                         nimitapa_3: <<$param01, <>>>,
                         nimitapa_4: <<$param01, <>>>,
                         nimitapa_5: <<$param01, <>>>,
                         laatutapa_1_vA: <<$param01, <>>>,
                         kestämän_tekijäpääte_y1: <<$param01, <>>>,
                         kestämän_tekijäpääte_y2: <<$param01, <>>>,
                         kestämän_tekijäpääte_y3: <<$param01, <>>>,
                         kestämän_tekijäpääte_y3_vi: <<$param01, <>>>,
                         kestämän_tekijäpääte_y3_Vpi: <<$param01, <>>>,
                         kestämän_tekijäpääte_y3_Vvi: <<$param01, <>>>,
                         kestämän_tekijäpääte_m1: <<$param01, <>>>,
                         kestämän_tekijäpääte_m2: <<$param01, <>>>,
                         kestämän_tekijäpääte_m3: <<$param01, <>>>,
                         ehtotapa: <<$param01, <>>>,
                         käskytapa_y2: <<$param01, <>>>,
                         johdin_jA_kulkija: <<$param01, <>>>,
                         johdin_vA: <<$param01, <>>>,
                         johdin_vAinen: <<$param01, <>>>,
                         johdin_mA: <<$param01, <>>>]);
end;
subrule selvitä ($tietue, $param01, $param02, $param03, $param04, $param05, $param06, $param07):
  return taivutuskaava ($tietue,
                        [nimitapa_1_tA: <<$param01, <>>>,
                         nimitapa_2: <<$param02, <>>>,
                         nimitapa_2_ttA: <<$param01, <>>>,
                         nimitapa_3: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         nimitapa_3_ttA: <<$param02, <>>>,
                         nimitapa_4: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         nimitapa_5: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         laatutapa_1_vA: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         laatutapa_1_ttA: <<$param01, <>>>,
                         laatutapa_2_nUt: <<$param05, <>>>,
                         laatutapa_2_ttU: <<$param01, <>>>,
                         kestämän_tekijäpääte_y1: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         kestämän_tekijäpääte_y2: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         kestämän_tekijäpääte_y3: <<$param03, <>>, <$param04, <ei_voikko,_y3>>>,
                         kestämän_tekijäpääte_y3_vi: <<$param03, <>>>,
                         kestämän_tekijäpääte_y3_Vpi: <<$param03, <>>>,
                         kestämän_tekijäpääte_y3_Vvi: <<$param03, <>>>,
                         kestämän_tekijäpääte_y3_pi: <<$param04, <ei_voikko,_y3>>>,
                         kestämän_tekijäpääte_m1: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         kestämän_tekijäpääte_m2: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         kestämän_tekijäpääte_m3: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         tositavan_kestämä_tAAn: <<$param01, <>>>,
                         kertoman_tekijäpääte_y1: <<$param06, <>>>,
                         kertoman_tekijäpääte_y2: <<$param06, <>>>,
                         kertoman_tekijäpääte_y3: <<$param06, <>>>,
                         kertoman_tekijäpääte_m1: <<$param06, <>>>,
                         kertoman_tekijäpääte_m2: <<$param06, <>>>,
                         kertoman_tekijäpääte_m3: <<$param06, <>>>,
                         tositavan_kertoma_ttiin: <<$param01, <>>>,
                         ehtotapa: <<$param03, <>>, <$param07, <ei_voikko>>>,
                         ehtotapa_ttA: <<$param01, <>>>,
                         mahtotapa_ne: <<$param05, <>>>,
                         mahtotapa_ttA: <<$param01, <>>>,
                         käskytapa_y2: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         käskytapa_kielto: <<$param02, <>>>,
                         käskytapa_ttA: <<$param01, <>>>,
                         johdin_jA_kulkija: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         johdin_vA: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         johdin_vAinen: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         johdin_mA: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         käskytapa: <<$param02, <>>>,
                         johdin_ttAvA: <<$param01, <>>>,
                         johdin_ttAvAinen: <<$param01, <>>>,
                         tositavan_kestämä_tAAn_kielto: <<$param01, <>>>,
                         johdin_nUt: <<$param05, <>>>,
                         johdin_ttU: <<$param01, <>>>,
                         mahtotapa_ne_kielto: <<$param05, <>>>]);
end;
subrule kohota ($tietue, $param01, $param02, $param03, $param04, $param05, $param06, $param07, $johdin_illA):
  return taivutuskaava ($tietue,
                        [nimitapa_1_tA: <<$param01, <>>>,
                         nimitapa_2: <<$param02, <>>>,
                         nimitapa_2_ttA: <<$param01, <>>>,
                         nimitapa_3: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         nimitapa_3_ttA: <<$param01, <>>>,
                         nimitapa_4: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         nimitapa_5: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         laatutapa_1_vA: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         laatutapa_1_ttA: <<$param01, <>>>,
                         laatutapa_2_nUt: <<$param05, <>>>,
                         laatutapa_2_ttU: <<$param01, <>>>,
                         kestämän_tekijäpääte_y1: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         kestämän_tekijäpääte_y2: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         kestämän_tekijäpääte_y3: <<$param03, <>>, <$param04, <ei_voikko,_y3>>>,
                         kestämän_tekijäpääte_y3_vi: <<$param03, <>>>,
                         kestämän_tekijäpääte_y3_Vpi: <<$param03, <>>>,
                         kestämän_tekijäpääte_y3_Vvi: <<$param03, <>>>,
                         kestämän_tekijäpääte_y3_pi: <<$param04, <ei_voikko,_y3>>>,
                         kestämän_tekijäpääte_m1: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         kestämän_tekijäpääte_m2: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         kestämän_tekijäpääte_m3: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         tositavan_kestämä_tAAn: <<$param01, <>>>,
                         kertoman_tekijäpääte_y1: <<$param06, <>>>,
                         kertoman_tekijäpääte_y2: <<$param06, <>>>,
                         kertoman_tekijäpääte_y3: <<$param06, <>>>,
                         kertoman_tekijäpääte_m1: <<$param06, <>>>,
                         kertoman_tekijäpääte_m2: <<$param06, <>>>,
                         kertoman_tekijäpääte_m3: <<$param06, <>>>,
                         tositavan_kertoma_ttiin: <<$param01, <>>>,
                         ehtotapa: <<$param03, <>>, <$param07, <>>>,
                         ehtotapa_ttA: <<$param01, <>>>,
                         mahtotapa_ne: <<$param05, <>>>,
                         mahtotapa_ttA: <<$param01, <>>>,
                         käskytapa_y2: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         käskytapa_kielto: <<$param02, <>>>,
                         käskytapa_ttA: <<$param01, <>>>,
                         johdin_jA_kantaja: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         johdin_ntA: <<$param01, <>>>,
                         johdin_illA: <<$johdin_illA, <>>>,
                         johdin_vA: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         johdin_vAinen: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         johdin_mA: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         käskytapa: <<$param02, <>>>,
                         johdin_ttAvA: <<$param01, <>>>,
                         johdin_ttAvAinen: <<$param01, <>>>,
                         tositavan_kestämä_tAAn_kielto: <<$param01, <>>>,
                         johdin_nUt: <<$param05, <>>>,
                         johdin_ttU: <<$param01, <>>>,
                         mahtotapa_ne_kielto: <<$param05, <>>>]);
end;
subrule siivota ($tietue, $param01, $param02, $param03, $param04, $param05, $param06, $johdin_illA):
  return taivutuskaava ($tietue,
                        [nimitapa_1_tA: <<$param01, <>>>,
                         nimitapa_2: <<$param02, <>>>,
                         nimitapa_2_ttA: <<$param01, <>>>,
                         nimitapa_3: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         nimitapa_3_ttA: <<$param01, <>>>,
                         nimitapa_4: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         nimitapa_5: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         laatutapa_1_vA: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         laatutapa_1_ttA: <<$param01, <>>>,
                         laatutapa_2_nUt: <<$param05, <>>>,
                         laatutapa_2_ttU: <<$param01, <>>>,
                         kestämän_tekijäpääte_y1: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         kestämän_tekijäpääte_y2: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         kestämän_tekijäpääte_y3: <<$param03, <>>, <$param04, <ei_voikko,_y3>>>,
                         kestämän_tekijäpääte_y3_vi: <<$param03, <>>>,
                         kestämän_tekijäpääte_y3_Vpi: <<$param03, <>>>,
                         kestämän_tekijäpääte_y3_Vvi: <<$param03, <>>>,
                         kestämän_tekijäpääte_y3_pi: <<$param04, <ei_voikko,_y3>>>,
                         kestämän_tekijäpääte_m1: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         kestämän_tekijäpääte_m2: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         kestämän_tekijäpääte_m3: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         tositavan_kestämä_tAAn: <<$param01, <>>>,
                         kertoman_tekijäpääte_y1: <<$param06, <>>>,
                         kertoman_tekijäpääte_y2: <<$param06, <>>>,
                         kertoman_tekijäpääte_y3: <<$param06, <>>>,
                         kertoman_tekijäpääte_m1: <<$param06, <>>>,
                         kertoman_tekijäpääte_m2: <<$param06, <>>>,
                         kertoman_tekijäpääte_m3: <<$param06, <>>>,
                         tositavan_kertoma_ttiin: <<$param01, <>>>,
                         ehtotapa: <<$param03, <>>, <$param01, <>>>,
                         ehtotapa_ttA: <<$param01, <>>>,
                         mahtotapa_ne: <<$param05, <>>>,
                         mahtotapa_ttA: <<$param01, <>>>,
                         käskytapa_y2: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         käskytapa_kielto: <<$param02, <>>>,
                         käskytapa_ttA: <<$param01, <>>>,
                         johdin_jA_kantaja: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         johdin_Us_ksen: <<$param01, <>>>,
                         johdin_ntA: <<$param01, <>>>,
                         johdin_illA: <<$johdin_illA, <>>>,
                         johdin_vA: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         johdin_vAinen: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         johdin_mA: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         käskytapa: <<$param02, <>>>,
                         johdin_ttAvA: <<$param01, <>>>,
                         johdin_ttAvAinen: <<$param01, <>>>,
                         tositavan_kestämä_tAAn_kielto: <<$param01, <>>>,
                         johdin_nUt: <<$param05, <>>>,
                         johdin_ttU: <<$param01, <>>>,
                         mahtotapa_ne_kielto: <<$param05, <>>>]);
end;
subrule haluta ($tietue, $param01, $param02, $param03, $param04, $param05, $param06, $param07, $johdin_illA):
  return taivutuskaava ($tietue,
                        [nimitapa_1_tA: <<$param01, <>>>,
                         nimitapa_2: <<$param02, <>>>,
                         nimitapa_2_ttA: <<$param01, <>>>,
                         nimitapa_3: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         nimitapa_3_ttA: <<$param02, <>>>,
                         nimitapa_4: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         nimitapa_5: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         laatutapa_1_vA: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         laatutapa_1_ttA: <<$param01, <>>>,
                         laatutapa_2_nUt: <<$param05, <>>>,
                         laatutapa_2_ttU: <<$param01, <>>>,
                         kestämän_tekijäpääte_y1: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         kestämän_tekijäpääte_y2: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         kestämän_tekijäpääte_y3: <<$param03, <>>, <$param04, <ei_voikko,_y3>>>,
                         kestämän_tekijäpääte_y3_vi: <<$param03, <>>>,
                         kestämän_tekijäpääte_y3_Vpi: <<$param03, <>>>,
                         kestämän_tekijäpääte_y3_Vvi: <<$param03, <>>>,
                         kestämän_tekijäpääte_y3_pi: <<$param04, <ei_voikko,_y3>>>,
                         kestämän_tekijäpääte_m1: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         kestämän_tekijäpääte_m2: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         kestämän_tekijäpääte_m3: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         tositavan_kestämä_tAAn: <<$param01, <>>>,
                         kertoman_tekijäpääte_y1: <<$param06, <>>>,
                         kertoman_tekijäpääte_y2: <<$param06, <>>>,
                         kertoman_tekijäpääte_y3: <<$param06, <>>>,
                         kertoman_tekijäpääte_m1: <<$param06, <>>>,
                         kertoman_tekijäpääte_m2: <<$param06, <>>>,
                         kertoman_tekijäpääte_m3: <<$param06, <>>>,
                         tositavan_kertoma_ttiin: <<$param01, <>>>,
                         ehtotapa: <<$param03, <>>, <$param07, <ei_voikko>>>,
                         ehtotapa_ttA: <<$param01, <>>>,
                         mahtotapa_ne: <<$param05, <>>>,
                         mahtotapa_ttA: <<$param01, <>>>,
                         käskytapa_y2: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         käskytapa_kielto: <<$param02, <>>>,
                         käskytapa_ttA: <<$param01, <>>>,
                         johdin_jA_kulkija: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         johdin_illA: <<$johdin_illA, <>>>,
                         johdin_vA: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         johdin_vAinen: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         johdin_mA: <<$param03, <>>, <$param04, <ei_voikko>>>,
                         käskytapa: <<$param02, <>>>,
                         johdin_ttAvA: <<$param01, <>>>,
                         johdin_ttAvAinen: <<$param01, <>>>,
                         tositavan_kestämä_tAAn_kielto: <<$param01, <>>>,
                         johdin_nUt: <<$param05, <>>>,
                         johdin_ttU: <<$param01, <>>>,
                         mahtotapa_ne_kielto: <<$param05, <>>>]);
end;
subrule hyljätä ($tietue, $param01, $param02, $param03, $param04, $param05, $param06, $param07, $param08, $param09):
  return taivutuskaava ($tietue,
                        [nimitapa_1_tA: <<$param01, <>>>,
                         nimitapa_2: <<$param02, <>>>,
                         nimitapa_2_ttA: <<$param01, <>>>,
                         nimitapa_3: <<$param03, <>>>,
                         nimitapa_3_ttA: <<$param01, <>>>,
                         nimitapa_4: <<$param03, <>>>,
                         nimitapa_5: <<$param03, <>>>,
                         laatutapa_1_vA: <<$param03, <>>>,
                         laatutapa_1_ttA: <<$param01, <>>>,
                         laatutapa_2_nUt: <<$param04, <>>>,
                         laatutapa_2_ttU: <<$param01, <>>>,
                         kestämän_tekijäpääte_y1: <<$param03, <>>, <$param05, <ei_voikko>>, <$param06, <ei_voikko>>>,
                         kestämän_tekijäpääte_y2: <<$param03, <>>, <$param05, <ei_voikko>>, <$param06, <ei_voikko>>>,
                         kestämän_tekijäpääte_y3: <<$param03, <_y3>>, <$param05, <ei_voikko,_y3>>, <$param06, <ei_voikko>>>,
                         kestämän_tekijäpääte_y3_vi: <<$param06, <ei_voikko>>>,
                         kestämän_tekijäpääte_y3_Vpi: <<$param06, <ei_voikko>>>,
                         kestämän_tekijäpääte_y3_Vvi: <<$param06, <ei_voikko>>>,
                         kestämän_tekijäpääte_y3_pi: <<$param03, <_y3>>, <$param05, <ei_voikko,_y3>>>,
                         kestämän_tekijäpääte_m1: <<$param03, <>>, <$param05, <ei_voikko>>, <$param06, <ei_voikko>>>,
                         kestämän_tekijäpääte_m2: <<$param03, <>>, <$param05, <ei_voikko>>, <$param06, <ei_voikko>>>,
                         kestämän_tekijäpääte_m3: <<$param03, <>>, <$param05, <ei_voikko>>, <$param06, <ei_voikko>>>,
                         tositavan_kestämä_tAAn: <<$param01, <>>>,
                         kertoman_tekijäpääte_y1: <<$param07, <>>, <$param08, <ei_voikko>>>,
                         kertoman_tekijäpääte_y2: <<$param07, <>>, <$param08, <ei_voikko>>>,
                         kertoman_tekijäpääte_y3: <<$param07, <>>, <$param08, <ei_voikko>>>,
                         kertoman_tekijäpääte_m1: <<$param07, <>>, <$param08, <ei_voikko>>>,
                         kertoman_tekijäpääte_m2: <<$param07, <>>, <$param08, <ei_voikko>>>,
                         kertoman_tekijäpääte_m3: <<$param07, <>>, <$param08, <ei_voikko>>>,
                         tositavan_kertoma_ttiin: <<$param01, <>>>,
                         ehtotapa: <<$param09, <>>, <$param06, <ei_voikko>>>,
                         ehtotapa_ttA: <<$param01, <>>>,
                         mahtotapa_ne: <<$param04, <>>>,
                         mahtotapa_ttA: <<$param01, <>>>,
                         käskytapa_y2: <<$param03, <>>>,
                         käskytapa_kielto: <<$param02, <>>>,
                         käskytapa_ttA: <<$param01, <>>>,
                         johdin_jA_kantaja: <<$param03, <>>>,
                         johdin_vA: <<$param03, <>>>,
                         johdin_vAinen: <<$param03, <>>>,
                         johdin_mA: <<$param03, <>>>,
                         käskytapa: <<$param02, <>>>,
                         johdin_ttAvA: <<$param01, <>>>,
                         johdin_ttAvAinen: <<$param01, <>>>,
                         tositavan_kestämä_tAAn_kielto: <<$param01, <>>>,
                         johdin_nUt: <<$param04, <>>>,
                         johdin_ttU: <<$param01, <>>>,
                         mahtotapa_ne_kielto: <<$param04, <>>>]);
end;
subrule palata ($tietue, $param01, $param02, $param03, $param04, $param05, $param06, $param07, $johdin_illA):
  return taivutuskaava ($tietue,
                        [nimitapa_1_tA: <<$param01, <>>>,
                         nimitapa_2: <<$param02, <>>>,
                         nimitapa_2_ttA: <<$param01, <>>>,
                         nimitapa_3: <<$param03, <>>>,
                         nimitapa_3_ttA: <<$param01, <>>>,
                         nimitapa_4: <<$param03, <>>>,
                         nimitapa_5: <<$param03, <>>>,
                         laatutapa_1_vA: <<$param03, <>>>,
                         laatutapa_1_ttA: <<$param01, <>>>,
                         laatutapa_2_nUt: <<$param04, <>>>,
                         laatutapa_2_ttU: <<$param01, <>>>,
                         kestämän_tekijäpääte_y1: <<$param03, <>>, <$param05, <ei_voikko>>>,
                         kestämän_tekijäpääte_y2: <<$param03, <>>, <$param05, <ei_voikko>>>,
                         kestämän_tekijäpääte_y3: <<$param03, <_y3>>, <$param05, <ei_voikko>>>,
                         kestämän_tekijäpääte_y3_vi: <<$param05, <ei_voikko>>>,
                         kestämän_tekijäpääte_y3_Vpi: <<$param05, <ei_voikko>>>,
                         kestämän_tekijäpääte_y3_Vvi: <<$param05, <ei_voikko>>>,
                         kestämän_tekijäpääte_y3_pi: <<$param03, <_y3>>>,
                         kestämän_tekijäpääte_m1: <<$param03, <>>, <$param05, <ei_voikko>>>,
                         kestämän_tekijäpääte_m2: <<$param03, <>>, <$param05, <ei_voikko>>>,
                         kestämän_tekijäpääte_m3: <<$param03, <>>, <$param05, <ei_voikko>>>,
                         tositavan_kestämä_tAAn: <<$param01, <>>>,
                         kertoman_tekijäpääte_y1: <<$param06, <>>>,
                         kertoman_tekijäpääte_y2: <<$param06, <>>>,
                         kertoman_tekijäpääte_y3: <<$param06, <>>>,
                         kertoman_tekijäpääte_m1: <<$param06, <>>>,
                         kertoman_tekijäpääte_m2: <<$param06, <>>>,
                         kertoman_tekijäpääte_m3: <<$param06, <>>>,
                         tositavan_kertoma_ttiin: <<$param01, <>>>,
                         ehtotapa: <<$param07, <>>, <$param05, <ei_voikko>>>,
                         ehtotapa_ttA: <<$param01, <>>>,
                         mahtotapa_ne: <<$param04, <>>>,
                         mahtotapa_ttA: <<$param01, <>>>,
                         käskytapa_y2: <<$param03, <>>>,
                         käskytapa_kielto: <<$param02, <>>>,
                         käskytapa_ttA: <<$param01, <>>>,
                         johdin_jA_kantaja: <<$param03, <>>>,
                         johdin_Us_ksen: <<$param07, <>>>,
                         johdin_illA: <<$johdin_illA, <>>>,
                         johdin_vA: <<$param03, <>>>,
                         johdin_vAinen: <<$param03, <>>>,
                         johdin_mA: <<$param03, <>>>,
                         käskytapa: <<$param02, <>>>,
                         johdin_ttAvA: <<$param01, <>>>,
                         johdin_ttAvAinen: <<$param01, <>>>,
                         tositavan_kestämä_tAAn_kielto: <<$param01, <>>>,
                         johdin_nUt: <<$param04, <>>>,
                         johdin_ttU: <<$param01, <>>>,
                         mahtotapa_ne_kielto: <<$param04, <>>>]);
end;
subrule kihistä ($tietue, $param01, $param02, $param03, $param04, $param05, $param06, $param07):
  return taivutuskaava ($tietue,
                        [nimitapa_1_tA: <<$param01, <>>>,
                         nimitapa_1_A: <<$param02, <>>>,
                         nimitapa_2: <<$param03, <>>>,
                         nimitapa_2_tA: <<$param01, <>>>,
                         nimitapa_3: <<$param04, <>>>,
                         nimitapa_3_tA: <<$param01, <>>>,
                         nimitapa_4: <<$param04, <>>>,
                         nimitapa_5: <<$param04, <>>>,
                         laatutapa_1_vA: <<$param04, <>>>,
                         laatutapa_1_tA: <<$param01, <>>>,
                         laatutapa_2_sUt: <<$param01, <>>>,
                         laatutapa_2_stU_nuolaistu: <<$param01, <>>>,
                         kestämän_tekijäpääte_y1: <<$param04, <>>, <$param02, <>>>,
                         kestämän_tekijäpääte_y2: <<$param04, <>>, <$param02, <>>>,
                         kestämän_tekijäpääte_y3: <<$param04, <>>, <$param02, <>>>,
                         kestämän_tekijäpääte_y3_vi: <<$param04, <>>, <$param02, <>>>,
                         kestämän_tekijäpääte_y3_Vpi: <<$param04, <>>, <$param02, <>>>,
                         kestämän_tekijäpääte_y3_Vvi: <<$param04, <>>, <$param02, <>>>,
                         kestämän_tekijäpääte_m1: <<$param04, <>>, <$param02, <>>>,
                         kestämän_tekijäpääte_m2: <<$param04, <>>, <$param02, <>>>,
                         kestämän_tekijäpääte_m3: <<$param04, <>>, <$param02, <>>>,
                         tositavan_kestämä_tAAn: <<$param01, <>>>,
                         kertoman_tekijäpääte_y1: <<$param01, <>>, <$param05, <>>>,
                         kertoman_tekijäpääte_y2: <<$param01, <>>, <$param05, <>>>,
                         kertoman_tekijäpääte_y3: <<$param01, <>>, <$param05, <>>>,
                         kertoman_tekijäpääte_m1: <<$param01, <>>, <$param05, <>>>,
                         kertoman_tekijäpääte_m2: <<$param01, <>>, <$param05, <>>>,
                         kertoman_tekijäpääte_m3: <<$param01, <>>, <$param05, <>>>,
                         tositavan_kertoma_tiin: <<$param01, <>>>,
                         ehtotapa: <<$param01, <>>, <$param02, <>>>,
                         ehtotapa_tA: <<$param01, <>>>,
                         mahtotapa_se: <<$param01, <>>>,
                         mahtotapa_tA: <<$param01, <>>>,
                         käskytapa_y2: <<$param04, <>>>,
                         käskytapa_kielto: <<$param01, <>>>,
                         käskytapa_tA: <<$param01, <>>>,
                         johdin_jA_kulkija: <<$param06, <>>>,
                         johdin_nA: <<$param07, <>>>,
                         mahtotapa_se_kielto: <<$param01, <>>>,
                         johdin_vA: <<$param04, <>>>,
                         johdin_vAinen: <<$param04, <>>>,
                         johdin_stU_nuolaistu: <<$param01, <>>>,
                         johdin_mA: <<$param04, <>>>,
                         käskytapa: <<$param01, <>>>,
                         tositavan_kestämä_tAAn_kielto: <<$param01, <>>>,
                         johdin_sUt: <<$param01, <>>>,
                         johdin_tAvA: <<$param01, <>>>,
                         johdin_tAvAinen: <<$param01, <>>>]);
end;
subrule kääntää ($tietue, $param01, $param02, $param03, $param04, $param05, $param06, $param07, $param08, $param09):
  return taivutuskaava ($tietue,
                        [nimitapa_1_A: <<$param01, <>>>,
                         nimitapa_1_tA: <<$param02, <ei_voikko>>>,
                         nimitapa_2: <<$param01, <>>, <$param03, <ei_voikko>>>,
                         nimitapa_2_ttA: <<$param04, <>>, <$param02, <ei_voikko>>>,
                         nimitapa_3: <<$param01, <>>>,
                         nimitapa_3_ttA: <<$param04, <>>, <$param02, <ei_voikko>>>,
                         nimitapa_4: <<$param01, <>>>,
                         nimitapa_5: <<$param01, <>>>,
                         laatutapa_1_vA: <<$param01, <>>>,
                         laatutapa_1_ttA: <<$param04, <>>, <$param02, <ei_voikko>>>,
                         laatutapa_2_nUt: <<$param01, <>>, <$param05, <ei_voikko>>>,
                         laatutapa_2_ttU: <<$param04, <>>, <$param02, <ei_voikko>>>,
                         kestämän_tekijäpääte_y1: <<$param06, <>>>,
                         kestämän_tekijäpääte_y2: <<$param06, <>>>,
                         kestämän_tekijäpääte_y3: <<$param01, <>>>,
                         kestämän_tekijäpääte_y3_vi: <<$param01, <>>>,
                         kestämän_tekijäpääte_y3_Vpi: <<$param01, <>>>,
                         kestämän_tekijäpääte_y3_Vvi: <<$param01, <>>>,
                         kestämän_tekijäpääte_m1: <<$param06, <>>>,
                         kestämän_tekijäpääte_m2: <<$param06, <>>>,
                         kestämän_tekijäpääte_m3: <<$param01, <>>>,
                         tositavan_kestämä_tAAn: <<$param04, <>>>,
                         kertoman_tekijäpääte_y1: <<$param07, <>>, <$param08, <ei_voikko>>>,
                         kertoman_tekijäpääte_y2: <<$param07, <>>, <$param08, <ei_voikko>>>,
                         kertoman_tekijäpääte_y3: <<$param07, <>>, <$param09, <ei_voikko>>>,
                         kertoman_tekijäpääte_m1: <<$param07, <>>, <$param08, <ei_voikko>>>,
                         kertoman_tekijäpääte_m2: <<$param07, <>>, <$param08, <ei_voikko>>>,
                         kertoman_tekijäpääte_m3: <<$param07, <>>, <$param09, <ei_voikko>>>,
                         tositavan_kertoma_ttiin: <<$param04, <>>, <$param02, <ei_voikko>>>,
                         ehtotapa: <<$param01, <>>>,
                         ehtotapa_ttA: <<$param04, <>>, <$param02, <ei_voikko>>>,
                         mahtotapa_ne: <<$param01, <>>>,
                         mahtotapa_ttA: <<$param04, <>>, <$param02, <ei_voikko>>>,
                         käskytapa_y2: <<$param06, <>>>,
                         käskytapa_kielto: <<$param01, <>>, <$param03, <ei_voikko>>>,
                         käskytapa_ttA: <<$param04, <>>, <$param02, <ei_voikko>>>,
                         johdin_jA_kantaja: <<$param01, <>>>,
                         johdin_Os: <<$param08, <>>>,
                         johdin_nnellA: <<$param02, <>>>,
                         johdin_vA: <<$param01, <>>>,
                         johdin_vAinen: <<$param01, <>>>,
                         johdin_mA: <<$param01, <>>>,
                         käskytapa: <<$param01, <>>, <$param03, <ei_voikko>>>,
                         johdin_ttAvA: <<$param04, <>>, <$param02, <ei_voikko>>>,
                         johdin_ttAvAinen: <<$param04, <>>, <$param02, <ei_voikko>>>,
                         tositavan_kestämä_tAAn_kielto: <<$param04, <>>>,
                         johdin_nUt: <<$param01, <>>, <$param05, <ei_voikko>>>,
                         johdin_ttU: <<$param04, <>>, <$param02, <ei_voikko>>>,
                         mahtotapa_ne_kielto: <<$param01, <>>>]);
end;
subrule rakentaa ($tietue, $param01, $param02, $param03, $param04, $param05, $param06, $param07, $param08, $param09):
  return taivutuskaava ($tietue,
                        [nimitapa_1_A: <<$param01, <>>>,
                         nimitapa_1_tA: <<$param02, <ei_voikko>>>,
                         nimitapa_2: <<$param01, <>>, <$param03, <ei_voikko>>>,
                         nimitapa_2_ttA: <<$param04, <>>, <$param02, <ei_voikko>>>,
                         nimitapa_3: <<$param01, <>>>,
                         nimitapa_3_ttA: <<$param04, <>>, <$param02, <ei_voikko>>>,
                         nimitapa_4: <<$param01, <>>>,
                         nimitapa_5: <<$param01, <>>>,
                         laatutapa_1_vA: <<$param01, <>>>,
                         laatutapa_1_ttA: <<$param04, <>>, <$param02, <ei_voikko>>>,
                         laatutapa_2_nUt: <<$param01, <>>, <$param05, <ei_voikko>>>,
                         laatutapa_2_ttU: <<$param04, <>>, <$param02, <>>>,
                         kestämän_tekijäpääte_y1: <<$param06, <>>>,
                         kestämän_tekijäpääte_y2: <<$param06, <>>>,
                         kestämän_tekijäpääte_y3: <<$param01, <>>>,
                         kestämän_tekijäpääte_y3_vi: <<$param01, <>>>,
                         kestämän_tekijäpääte_y3_Vpi: <<$param01, <>>>,
                         kestämän_tekijäpääte_y3_Vvi: <<$param01, <>>>,
                         kestämän_tekijäpääte_m1: <<$param06, <>>>,
                         kestämän_tekijäpääte_m2: <<$param06, <>>>,
                         kestämän_tekijäpääte_m3: <<$param01, <>>>,
                         tositavan_kestämä_tAAn: <<$param04, <>>>,
                         kertoman_tekijäpääte_y1: <<$param07, <>>, <$param08, <ei_voikko>>>,
                         kertoman_tekijäpääte_y2: <<$param07, <>>, <$param08, <ei_voikko>>>,
                         kertoman_tekijäpääte_y3: <<$param07, <>>, <$param09, <ei_voikko>>>,
                         kertoman_tekijäpääte_m1: <<$param07, <>>, <$param08, <ei_voikko>>>,
                         kertoman_tekijäpääte_m2: <<$param07, <>>, <$param08, <ei_voikko>>>,
                         kertoman_tekijäpääte_m3: <<$param07, <>>, <$param09, <ei_voikko>>>,
                         tositavan_kertoma_ttiin: <<$param04, <>>, <$param02, <ei_voikko>>>,
                         ehtotapa: <<$param01, <>>>,
                         ehtotapa_ttA: <<$param04, <>>, <$param02, <ei_voikko>>>,
                         mahtotapa_ne: <<$param01, <>>>,
                         mahtotapa_ttA: <<$param04, <>>, <$param02, <ei_voikko>>>,
                         käskytapa_y2: <<$param06, <>>>,
                         käskytapa_kielto: <<$param01, <>>, <$param03, <ei_voikko>>>,
                         käskytapa_ttA: <<$param04, <>>, <$param02, <ei_voikko>>>,
                         johdin_jA_kantaja: <<$param01, <>>>,
                         johdin_Us_ksen: <<$param08, <>>>,
                         johdin_nnellA: <<$param02, <>>>,
                         johdin_vA: <<$param01, <>>>,
                         johdin_vAinen: <<$param01, <>>>,
                         johdin_mA: <<$param01, <>>>,
                         käskytapa: <<$param01, <>>, <$param03, <ei_voikko>>>,
                         johdin_ttAvA: <<$param04, <>>, <$param02, <ei_voikko>>>,
                         johdin_ttAvAinen: <<$param04, <>>, <$param02, <ei_voikko>>>,
                         tositavan_kestämä_tAAn_kielto: <<$param04, <>>>,
                         johdin_nUt: <<$param01, <>>, <$param05, <ei_voikko>>>,
                         johdin_ttU: <<$param04, <>>, <$param02, <>>>,
                         mahtotapa_ne_kielto: <<$param01, <>>>]);
end;
subrule taitaa ($tietue, $param01, $param02, $param03, $param04, $param05, $param06):
  return taivutuskaava ($tietue,
                        [nimitapa_1_A: <<$param01, <>>>,
                         nimitapa_2: <<$param01, <>>>,
                         nimitapa_2_ttA: <<$param02, <>>>,
                         nimitapa_3: <<$param01, <>>>,
                         nimitapa_3_ttA: <<$param02, <>>>,
                         nimitapa_4: <<$param01, <>>>,
                         nimitapa_5: <<$param01, <>>>,
                         laatutapa_1_vA: <<$param01, <>>>,
                         laatutapa_1_ttA: <<$param02, <>>>,
                         laatutapa_2_nUt: <<$param01, <>>, <$param03, <>>>,
                         laatutapa_2_ttU: <<$param02, <>>, <$param04, <>>>,
                         kestämän_tekijäpääte_y1: <<$param05, <>>>,
                         kestämän_tekijäpääte_y2: <<$param05, <>>>,
                         kestämän_tekijäpääte_y3: <<$param01, <>>>,
                         kestämän_tekijäpääte_y3_vi: <<$param01, <>>>,
                         kestämän_tekijäpääte_y3_Vpi: <<$param01, <>>>,
                         kestämän_tekijäpääte_y3_Vvi: <<$param01, <>>>,
                         kestämän_tekijäpääte_m1: <<$param05, <>>>,
                         kestämän_tekijäpääte_m2: <<$param05, <>>>,
                         kestämän_tekijäpääte_m3: <<$param01, <>>>,
                         tositavan_kestämä_tAAn: <<$param02, <>>>,
                         kertoman_tekijäpääte_y1: <<$param06, <>>>,
                         kertoman_tekijäpääte_y2: <<$param06, <>>>,
                         kertoman_tekijäpääte_y3: <<$param06, <>>>,
                         kertoman_tekijäpääte_m1: <<$param06, <>>>,
                         kertoman_tekijäpääte_m2: <<$param06, <>>>,
                         kertoman_tekijäpääte_m3: <<$param06, <>>>,
                         tositavan_kertoma_ttiin: <<$param02, <>>, <$param04, <ei_voikko>>>,
                         ehtotapa: <<$param01, <>>>,
                         ehtotapa_ttA: <<$param02, <>>>,
                         mahtotapa_ne: <<$param01, <>>, <$param03, <ei_voikko>>>,
                         mahtotapa_ttA: <<$param02, <>>>,
                         käskytapa_y2: <<$param05, <>>>,
                         käskytapa_kielto: <<$param01, <>>>,
                         käskytapa_ttA: <<$param02, <>>>,
                         johdin_jA_kantaja: <<$param01, <>>>,
                         johdin_vA: <<$param01, <>>>,
                         johdin_vAinen: <<$param01, <>>>,
                         johdin_mA: <<$param01, <>>>,
                         käskytapa: <<$param01, <>>>,
                         johdin_ttAvA: <<$param02, <>>>,
                         johdin_ttAvAinen: <<$param02, <>>>,
                         tositavan_kestämä_tAAn_kielto: <<$param02, <>>>,
                         johdin_nUt: <<$param01, <>>, <$param03, <>>>,
                         johdin_ttU: <<$param02, <>>, <$param04, <>>>,
                         mahtotapa_ne_kielto: <<$param01, <>>, <$param03, <ei_voikko>>>]);
end;
subrule antautua ($tietue, $param01, $param02, $param03, $param04, $param05):
  return taivutuskaava ($tietue,
                        [nimitapa_1_A: <<$param01, <>>>,
                         nimitapa_1_tA: <<$param02, <ei_voikko>>>,
                         nimitapa_2: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         nimitapa_2_ttA: <<$param03, <>>>,
                         nimitapa_3: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         nimitapa_3_ttA: <<$param03, <>>>,
                         nimitapa_4: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         nimitapa_5: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         laatutapa_1_vA: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         laatutapa_1_ttA: <<$param03, <>>>,
                         laatutapa_2_nUt: <<$param01, <>>, <$param04, <ei_voikko>>, <$param02, <ei_voikko>>>,
                         laatutapa_2_ttU: <<$param03, <>>, <$param02, <ei_voikko>>>,
                         kestämän_tekijäpääte_y1: <<$param03, <>>, <$param02, <ei_voikko>>>,
                         kestämän_tekijäpääte_y2: <<$param03, <>>, <$param02, <ei_voikko>>>,
                         kestämän_tekijäpääte_y3: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         kestämän_tekijäpääte_y3_vi: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         kestämän_tekijäpääte_y3_Vpi: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         kestämän_tekijäpääte_y3_Vvi: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         kestämän_tekijäpääte_m1: <<$param03, <>>, <$param02, <ei_voikko>>>,
                         kestämän_tekijäpääte_m2: <<$param03, <>>, <$param02, <ei_voikko>>>,
                         kestämän_tekijäpääte_m3: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         tositavan_kestämä_tAAn: <<$param03, <>>, <$param02, <ei_voikko>>>,
                         kertoman_tekijäpääte_y1: <<$param03, <>>, <$param05, <ei_voikko>>>,
                         kertoman_tekijäpääte_y2: <<$param03, <>>, <$param05, <ei_voikko>>>,
                         kertoman_tekijäpääte_y3: <<$param01, <>>, <$param05, <ei_voikko>>>,
                         kertoman_tekijäpääte_m1: <<$param03, <>>, <$param05, <ei_voikko>>>,
                         kertoman_tekijäpääte_m2: <<$param03, <>>, <$param05, <ei_voikko>>>,
                         kertoman_tekijäpääte_m3: <<$param01, <>>, <$param05, <ei_voikko>>>,
                         tositavan_kertoma_ttiin: <<$param03, <>>, <$param02, <ei_voikko>>>,
                         ehtotapa: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         ehtotapa_ttA: <<$param03, <>>>,
                         mahtotapa_ne: <<$param01, <>>, <$param04, <ei_voikko>>>,
                         mahtotapa_ttA: <<$param03, <>>>,
                         käskytapa_y2: <<$param03, <>>>,
                         käskytapa_kielto: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         käskytapa_ttA: <<$param03, <>>>,
                         johdin_jA_kantaja: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         johdin_vA: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         johdin_vAinen: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         johdin_mA: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         käskytapa: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         johdin_ttAvA: <<$param03, <>>>,
                         johdin_ttAvAinen: <<$param03, <>>>,
                         tositavan_kestämä_tAAn_kielto: <<$param03, <>>, <$param02, <ei_voikko>>>,
                         johdin_nUt: <<$param01, <>>, <$param04, <ei_voikko>>, <$param02, <ei_voikko>>>,
                         johdin_ttU: <<$param03, <>>, <$param02, <ei_voikko>>>,
                         mahtotapa_ne_kielto: <<$param01, <>>, <$param04, <ei_voikko>>>]);
end;
subrule kirjoittautua ($tietue, $param01, $param02, $param03, $param04, $param05, $param06, $param07, $param08, $param09, $param10):
  return taivutuskaava ($tietue,
                        [nimitapa_1_A: <<$param01, <>>, <$param02, <ei_voikko>>>,
                         nimitapa_1_tA: <<$param03, <ei_voikko>>, <$param04, <ei_voikko>>>,
                         nimitapa_2: <<$param01, <>>, <$param02, <ei_voikko>>, <$param03, <ei_voikko>>, <$param04, <ei_voikko>>>,
                         nimitapa_2_ttA: <<$param05, <>>, <$param06, <ei_voikko>>>,
                         nimitapa_3: <<$param01, <>>, <$param02, <ei_voikko>>, <$param03, <ei_voikko>>, <$param04, <ei_voikko>>>,
                         nimitapa_3_ttA: <<$param05, <>>, <$param06, <ei_voikko>>>,
                         nimitapa_4: <<$param01, <>>, <$param02, <ei_voikko>>, <$param03, <ei_voikko>>, <$param04, <ei_voikko>>>,
                         nimitapa_5: <<$param01, <>>, <$param02, <ei_voikko>>, <$param03, <ei_voikko>>, <$param04, <ei_voikko>>>,
                         laatutapa_1_vA: <<$param01, <>>, <$param02, <ei_voikko>>, <$param03, <ei_voikko>>, <$param04, <ei_voikko>>>,
                         laatutapa_1_ttA: <<$param05, <>>, <$param06, <ei_voikko>>>,
                         laatutapa_2_nUt: <<$param01, <>>, <$param02, <ei_voikko>>, <$param07, <ei_voikko>>, <$param08, <ei_voikko>>, <$param03, <ei_voikko>>, <$param04, <ei_voikko>>>,
                         laatutapa_2_ttU: <<$param05, <>>, <$param06, <ei_voikko>>, <$param03, <ei_voikko>>, <$param04, <ei_voikko>>>,
                         kestämän_tekijäpääte_y1: <<$param05, <>>, <$param03, <ei_voikko>>>,
                         kestämän_tekijäpääte_y2: <<$param05, <>>, <$param06, <ei_voikko>>, <$param03, <ei_voikko>>, <$param04, <ei_voikko>>>,
                         kestämän_tekijäpääte_y3: <<$param01, <>>, <$param02, <ei_voikko>>, <$param03, <ei_voikko>>, <$param04, <ei_voikko>>>,
                         kestämän_tekijäpääte_y3_vi: <<$param01, <>>, <$param02, <ei_voikko>>, <$param03, <ei_voikko>>, <$param04, <ei_voikko>>>,
                         kestämän_tekijäpääte_y3_Vpi: <<$param01, <>>, <$param02, <ei_voikko>>, <$param03, <ei_voikko>>, <$param04, <ei_voikko>>>,
                         kestämän_tekijäpääte_y3_Vvi: <<$param01, <>>, <$param02, <ei_voikko>>, <$param03, <ei_voikko>>, <$param04, <ei_voikko>>>,
                         kestämän_tekijäpääte_m1: <<$param05, <>>, <$param06, <ei_voikko>>, <$param03, <ei_voikko>>, <$param04, <ei_voikko>>>,
                         kestämän_tekijäpääte_m2: <<$param05, <>>, <$param06, <ei_voikko>>, <$param03, <ei_voikko>>, <$param04, <ei_voikko>>>,
                         kestämän_tekijäpääte_m3: <<$param01, <>>, <$param02, <ei_voikko>>, <$param03, <ei_voikko>>, <$param04, <ei_voikko>>>,
                         tositavan_kestämä_tAAn: <<$param05, <>>, <$param06, <ei_voikko>>, <$param03, <ei_voikko>>, <$param04, <ei_voikko>>>,
                         kertoman_tekijäpääte_y1: <<$param05, <>>, <$param06, <ei_voikko>>, <$param09, <ei_voikko>>, <$param10, <ei_voikko>>>,
                         kertoman_tekijäpääte_y2: <<$param05, <>>, <$param06, <ei_voikko>>, <$param09, <ei_voikko>>, <$param10, <ei_voikko>>>,
                         kertoman_tekijäpääte_y3: <<$param01, <>>, <$param02, <ei_voikko>>, <$param09, <ei_voikko>>, <$param10, <ei_voikko>>>,
                         kertoman_tekijäpääte_m1: <<$param05, <>>, <$param06, <ei_voikko>>, <$param09, <ei_voikko>>, <$param10, <ei_voikko>>>,
                         kertoman_tekijäpääte_m2: <<$param05, <>>, <$param06, <ei_voikko>>, <$param09, <ei_voikko>>, <$param10, <ei_voikko>>>,
                         kertoman_tekijäpääte_m3: <<$param01, <>>, <$param02, <ei_voikko>>, <$param09, <ei_voikko>>, <$param10, <ei_voikko>>>,
                         tositavan_kertoma_ttiin: <<$param05, <>>, <$param06, <ei_voikko>>, <$param03, <ei_voikko>>, <$param04, <ei_voikko>>>,
                         ehtotapa: <<$param01, <>>, <$param02, <ei_voikko>>, <$param03, <ei_voikko>>, <$param04, <ei_voikko>>>,
                         ehtotapa_ttA: <<$param05, <>>, <$param06, <ei_voikko>>>,
                         mahtotapa_ne: <<$param01, <>>, <$param02, <ei_voikko>>, <$param07, <ei_voikko>>, <$param08, <ei_voikko>>>,
                         mahtotapa_ttA: <<$param05, <>>, <$param06, <ei_voikko>>>,
                         käskytapa_y2: <<$param05, <>>, <$param06, <ei_voikko>>>,
                         käskytapa_kielto: <<$param01, <>>, <$param02, <ei_voikko>>, <$param03, <ei_voikko>>, <$param04, <ei_voikko>>>,
                         käskytapa_ttA: <<$param05, <>>, <$param06, <ei_voikko>>>,
                         johdin_jA_kantaja: <<$param01, <>>, <$param02, <ei_voikko>>, <$param03, <ei_voikko>>, <$param04, <ei_voikko>>>,
                         johdin_vA: <<$param01, <>>, <$param02, <ei_voikko>>, <$param03, <ei_voikko>>, <$param04, <ei_voikko>>>,
                         johdin_vAinen: <<$param01, <>>, <$param02, <ei_voikko>>, <$param03, <ei_voikko>>, <$param04, <ei_voikko>>>,
                         johdin_mA: <<$param01, <>>, <$param02, <ei_voikko>>, <$param03, <ei_voikko>>, <$param04, <ei_voikko>>>,
                         käskytapa: <<$param01, <>>, <$param02, <ei_voikko>>, <$param03, <ei_voikko>>, <$param04, <ei_voikko>>>,
                         johdin_ttAvA: <<$param05, <>>, <$param06, <ei_voikko>>>,
                         johdin_ttAvAinen: <<$param05, <>>, <$param06, <ei_voikko>>>,
                         tositavan_kestämä_tAAn_kielto: <<$param05, <>>, <$param06, <ei_voikko>>, <$param03, <ei_voikko>>, <$param04, <ei_voikko>>>,
                         johdin_nUt: <<$param01, <>>, <$param02, <ei_voikko>>, <$param07, <ei_voikko>>, <$param08, <ei_voikko>>, <$param03, <ei_voikko>>, <$param04, <ei_voikko>>>,
                         johdin_ttU: <<$param05, <>>, <$param06, <ei_voikko>>, <$param03, <ei_voikko>>, <$param04, <ei_voikko>>>,
                         mahtotapa_ne_kielto: <<$param01, <>>, <$param02, <ei_voikko>>, <$param07, <ei_voikko>>, <$param08, <ei_voikko>>>]);
end;
subrule olla ($tietue, $param01, $param02, $param03, $param04):
  return taivutuskaava ($tietue,
                        [nimitapa_1_lA: <<$param01, <>>>,
                         nimitapa_2: <<$param02, <>>>,
                         nimitapa_2_tA: <<$param01, <>>>,
                         nimitapa_3: <<$param03, <>>>,
                         nimitapa_3_tA: <<$param01, <>>>,
                         nimitapa_4: <<$param03, <>>>,
                         nimitapa_5: <<$param03, <>>>,
                         laatutapa_1_vA: <<$param03, <>>>,
                         laatutapa_1_tA: <<$param01, <>>>,
                         laatutapa_2_lUt: <<$param01, <>>>,
                         laatutapa_2_tU_lU_oltu: <<$param01, <>>>,
                         tositavan_kestämä_lAAn: <<$param01, <>>>,
                         kertoman_tekijäpääte_y1: <<$param01, <>>>,
                         kertoman_tekijäpääte_y2: <<$param01, <>>>,
                         kertoman_tekijäpääte_y3: <<$param01, <>>>,
                         kertoman_tekijäpääte_m1: <<$param01, <>>>,
                         kertoman_tekijäpääte_m2: <<$param01, <>>>,
                         kertoman_tekijäpääte_m3: <<$param01, <>>>,
                         tositavan_kertoma_tiin: <<$param01, <>>>,
                         ehtotapa: <<$param01, <>>>,
                         ehtotapa_tA: <<$param01, <>>>,
                         mahtotapa_tA: <<$param01, <>>>,
                         käskytapa_y2: <<$param03, <>>>,
                         käskytapa_kielto: <<$param01, <>>>,
                         käskytapa_tA: <<$param01, <>>>,
                         johdin_jA_kulkija: <<$param04, <>>>,
                         johdin_lUt: <<$param01, <>>>,
                         johdin_vA: <<$param03, <>>>,
                         johdin_vAinen: <<$param03, <>>>,
                         johdin_mA: <<$param03, <>>>,
                         tositavan_kestämä_lAAn_kielto: <<$param01, <>>>,
                         käskytapa: <<$param01, <>>>,
                         johdin_tU_lU_oltu: <<$param01, <>>>,
                         johdin_tAvA: <<$param01, <>>>,
                         johdin_tAvAinen: <<$param01, <>>>]);
end;

# $sanatietue1 Sanastosta (tiedostosta *.lex) luettu tietue.
# $lisä        Merkkijono, joka lisätään sanan alkuosaan ennen sijapäätteitä.
#              Esimerkiksi sanan valkoinen alkuosa on valkoi.
#              Tähän lisätään merkkijonot
#              nen    valkoi+nen
#              s      valkoi+s(ta), valkoi+s(ten), valkoi+s(ien), valkoi+s(ina).
#              se     valkoi+se(n), valkoi+se(na), jne, valkoi+se(t).
# $jatko       Sääntö, jolla sanan jäsennystä jatketaan.
# $tietue      Tietue, joka lisätään parametriin sanatietue1.
#
subrule taivutus ($sanatietue1, $lisä, $jatko, $tietue):
  assert (value_type ($jatko) = list);

#define $b := transmit ("AAA " + $sanatietue1.perusmuoto + " " + tavutus($sanatietue1.perusmuoto));
#if ($sanatietue1.luokka = lukusana) then
#  define $a := transmit (<$sanatietue1> + <$lisä> + <$jatko> + <$tietue>);
#end;

  define $a := taivutus2 ($sanatietue1, $lisä, $jatko, $tietue, $sanatietue1.alku);
  define $n := length ($a);

  foreach $i in $n:
    if ($a.$i.perusmuoto = "virkkaa") then
      define $h_äs := harri($a.$i.alku);
      if ($a.$i.äs /= $h_äs) then
        $a.$i :=+ [alkuperäinen_äs: $a.$i.äs];
        if (switch(malli) = voikko) then
          $a.$i.äs := $h_äs;
        else
          $a.$i.äs := aä;  # Virkettu tai virketty.
        end;
      end;
    end;
  end;

  assert (length($a) = 1);

#define $aaa := transmit ($sanatietue1.perusmuoto);

#if ($sanatietue1.perusmuoto = "poliisi") then
#define $aa := transmit ($sanatietue1);
#define $ab := transmit ($lisä);
#define $ac := transmit ($jatko);
#define $ad := transmit ($tietue);
#define $ae := transmit ("=========");
#end;

  if (($sanatietue1.jatko * <kirjoittaa, kilvoitella> /= <>) and (substring ($lisä, 1L) /= "i")) then
    #
    # Kirjo(i)ttaa: i:llinen muoto nykysääntöjen mukainen.
    #
    $a.(1) :=+ [alku2: $sanatietue1.alku + "i" + $lisä];

  elseif (($sanatietue1.jatko * <ammottaa, ilotella> /= <>) and (substring ($lisä, 1L) = "i")) then
    #
    # Ammo(i)ttaa: i:tön muoto nykysääntöjen mukainen.
    #
    $a.(1) :=+ [alku2: $sanatietue1.alku + substring ($lisä, 2, 1R)];

  elseif (($sanatietue1.jatko * <symboli_di, symboli_fi, symboli_gi, symboli_li,
                                 symboli_mi, symboli_ni, symboli_ri, symboli_vi,
                                 telefoni_di, telefoni_fi, telefoni_gi, telefoni_li,
                                 telefoni_mi, telefoni_ni, telefoni_ri, telefoni_vi> /= <>)
          and (substring ($lisä, 1) = "o")) then
    #
    # Symbo(o)li: yksi ääntiö nykysääntöjen mukainen.
    #
    $a.(1) :=+ [alku2: $sanatietue1.alku + substring ($lisä, 2, 1R)];

  elseif ((nuolaista in $sanatietue1.jatko) and (substring ($lisä, 1L) /= "i")) then
    #
    # Nuola(i)sta: i:llinen muoto nykysääntöjen mukainen.
    #
    $a.(1) :=+ [alku2: $sanatietue1.alku + "i" + $lisä];

  elseif (($sanatietue1.jatko * <balladi, marinadi> /= <>)
          and ($sanatietue1.alku + $lisä matches ".*" : $alku, "a", "ad[ie]?" : $loppu)) then
    #
    # Balla(a)di: yksi ääntiö nykysääntöjen mukainen.
    #
    assert (length($a) = 1);
    $a.(1) :=+ [alku2: $alku + $loppu];

  elseif (($sanatietue1.jatko * <biografi> /= <>)
          and ($sanatietue1.alku + $lisä matches ".*" : $alku, "a", "af[ie]?" : $loppu)) then
    #
    # Biogra(a)fi: yksi ääntiö nykysääntöjen mukainen.
    #
    assert (length($a) = 1);
    $a.(1) :=+ [alku2: $alku + $loppu];

  elseif ($sanatietue1.jatko * <funktio, illuusio, obligaatio, resoluutio, traditio> /= <>) then
    #
    # Obliga(a)tio, obligatio(o)ni, obligatsio(o)ni.
    # Revolu(u)tio, revolutio(o)ni, revolutsio(o)ni.
    # Illu(u)sio,   illusio(o)ni.
    # Tradit(s)io,  traditsio(o)ni.
    # Funkt(s)io,   funktsio(o)ni; akt(s)io, aktsio(o)ni.
    #
    assert (length($a) = 1);
    $a.(1) :=+ [alku2: $sanatietue1.perusmuoto];

  elseif (($sanatietue1.jatko * <osoite> /= <>)
          and ($sanatietue1.alku + $lisä matches ".*o" : $alku, "(te|ttee?)" : $loppu)) then
    #
    # Oso(i)te: i:llinen muoto nykysääntöjen mukainen.
    #
    assert (length($a) = 1);
    $a.(1) :=+ [alku2: $alku + "i" + $loppu];

  elseif (($sanatietue1.jatko * <tiedote> /= <>)
          and ($sanatietue1.alku + $lisä matches ".*o" : $alku, "i", "(te|ttee?)" : $loppu)) then
    #
    # Tiedo(i)te: i:tön muoto nykysääntöjen mukainen.
    #
    assert (length($a) = 1);
    $a.(1) :=+ [alku2: $alku + $loppu];

  elseif ((aivoitus in $sanatietue1.jatko) and (substring ($lisä, 1L) /= "i")) then
    #
    # Aivo(i)tus: i:llinen muoto nykysääntöjen mukainen.
    #
    $a.(1) :=+ [alku2: $sanatietue1.alku + "i" + $lisä];

  elseif ((jaotus in $sanatietue1.jatko) and (substring ($lisä, 1L) = "i")) then
    #
    # Jao(i)tus: i:tön muoto nykysääntöjen mukainen.
    #
    $a.(1) :=+ [alku2: $sanatietue1.alku + substring ($lisä, 2, 1R)];

  elseif ((hevoinen in $sanatietue1.jatko) and (substring ($lisä, 1L) = "i")) then
    #
    # Hevo(i)nen: i:tön muoto nykysääntöjen mukainen.
    #
    $a.(1) :=+ [alku2: $sanatietue1.alku + substring ($lisä, 2, 1R)];

  elseif ((pistooli in $sanatietue1.jatko) and (substring ($lisä, 1L) /= "o")) then
    #
    # Pisto(o)li: kaksi o:ta nykysääntöjen mukainen.
    #
    $a.(1) :=+ [alku2: $sanatietue1.alku + "o" + $lisä];

  elseif ((poliisi in $sanatietue1.jatko) and (substring ($lisä, 1L) /= "i")) then
    #
    # Poli(i)si: kaksi i:tä nykysääntöjen mukainen.
    #
    $a.(1) :=+ [alku2: $sanatietue1.alku + "i" + $lisä];

  elseif ((kamari in $sanatietue1.jatko) and (substring ($lisä, 1L) = "m")) then
    #
    # Kam(m)ari: yksi m nykysääntöjen mukainen.
    #
    $a.(1) :=+ [alku2: $sanatietue1.alku + substring ($lisä, 2, 1R)];

  elseif ($sanatietue1.perusmuoto2 /= nil) then
    define $taulukko := <
       <"politikka",   <<"politika",   "politiika">,
                        <"politikka",  "politiikka">,
                        <"politikko",  "politiikko">,
                        <"politiko",   "poliitiko">>>,
       <"politikko",   <<"politikko",  "poliitikko">,
                        <"politiko",   "poliitiko">>>
    >;
    foreach $i in $taulukko:
#define $a1 := transmit (<"a1"> + <$i>);
      if ($sanatietue1.perusmuoto = $i.1) then
#define $b1 := transmit (<"b1"> + <$i>);
        foreach $j in $i.2:
          if ($sanatietue1.alku + $lisä = $j.1) then
#define $c1 := transmit (<"c1"> + <$j.1> + <$j.2>);
            $a.1 :=+ [alku2: $j.2];
          end;
        end;
      end;
    end;
  end;
  return $a;
end;


subrule taivutus2 ($sanatietue, $lisä, $jatko, $tietue, $alku):
  if ($tietue.luokka in @nimisana + <laatusana> and $tietue.sija = nil) then
    return ([alku: $alku + $lisä]
            + ($sanatietue - alku - jatko)
            + [jatko: $jatko]
            + $tietue + [sija: nimentö]);
  else
    if (value_type($lisä) = list) then
      define $result := <>;
      foreach $i in $lisä:
        $result :=+ <[alku: $alku + $i]
                     + ($sanatietue - alku - jatko)
                     + [jatko: $jatko]
                     + $tietue>;
      end;
      return $result;
    else
#      define $a := transmit($alku);
#      define $b := transmit($lisä);
      return <[alku: $alku + $lisä]
              + ($sanatietue - alku - jatko)
              + [jatko: $jatko]
              + $tietue>;
    end;
  end;
end;


subrule A ($tietue):
  if ($tietue.äs = a) then
    return "a";
  else
    return "ä";
  end;
end;


subrule AU ($tietue):
  if ($tietue.äs = a) then
    return "au";
  else
    return "äy";
  end;
end;


subrule O ($tietue):
  if ($tietue.äs = a) then
    return "o";
  else
    return "ö";
  end;
end;


subrule U ($tietue):
  if ($tietue.äs = a) then
    return "u";
  else
    return "y";
  end;
end;


subrule UA ($tietue):
  if ($tietue.äs = a) then
    return "ua";
  else
    return "yä";
  end;
end;


# $tietue    Sanatietue
# $taivutus  Sanan taivutus eri taivutusmuodoissa.
#
subrule taivutuskaava ($tietue, $taivutus):
#  define $a := transmit ($tietue);
#  define $b := transmit ($taivutus);
#  define $c := transmit ("<>");

  # Laitetaan johdin_ellA:n astevaihtelu kuntoon.
  # Esim. alittaa => alitella, alittelija.
  #
  if (($tietue.luokka = teonsana) and ($taivutus.johdin_ellA /= nil)) then
    define $ellA := ($taivutus.johdin_ellA.1).1;
    if ($ellA /= "") then
      define $johdin_ellA := "johdin_" + $ellA + "ellA";
      $taivutus :=- johdin_ellA;
      $taivutus :=+ [johdin_CellA($ella): <<"", <>>>]; 
    end;
  end;

  # Jos johdin_illA = "-", sanalla ei ole illA-johdinta.
  # On esim. salata => salailla, mutta ei saneerata => .
  #
  if (($tietue.luokka = teonsana) and ($taivutus.johdin_illA /= nil)) then
    define $illA := ($taivutus.johdin_illA.1).1;
    if ($illA = "-") then
      $taivutus :=- johdin_illA;
    end;
  end;

  # Poistetaan liput.
  #
  define $uusi_taivutus := [];
  define $käskytapa_y2 := <>;
  define $kestämän_tekijäpääte_y3 := <>;

  foreach $i in $taivutus:
#    define $e := transmit (<"I"> + <$i>);
    define $lista := <>;

    foreach $j in $taivutus.$i:
      define $lisä := $j.1;
      define $liput := $j.2;

#define $f := transmit (<$i> + <"§"> + <$j> + <"§§"> + <$lisä> + <"L="> + <$liput>);
      if ($i = käskytapa_y2) then
        $käskytapa_y2 :=+ <$j>;
      elseif (($i in <kestämän_tekijäpääte_y3>) and (_y3 in $liput)) then
        $kestämän_tekijäpääte_y3 :=+ <$j>;
      else
        $lista :=+ <$lisä>;
      end;
      $uusi_taivutus :=+ [$i: $lista];
    end;
  end;

#define $ä := transmit ($uusi_taivutus);
#define $ö := transmit ("LOPPU");

  $taivutus := $uusi_taivutus;

  if (($tietue.luokka in @nimisana + @teonsanasta_johdettu_nimisana + <laatusana, johdin_lAinen>)
      and ($taivutus.nimentö /= nil)) then
    if ($taivutus.tavuviiva = nil) then
      $taivutus :=+ [tavuviiva: $taivutus.nimentö];
    elseif ($taivutus.tavuviiva /= $taivutus.nimentö) then
      $taivutus :=+ [tavuviiva: $taivutus.tavuviiva + $taivutus.nimentö];
    end;
  end;

  if (not ($tietue.luokka in <nimisana, nimi_laatusana, johdin_Us> + @teonsanasta_johdettu_nimisana) or
     (leikkuu in $tietue.jatko)) then   # Ei leikkuu -> leikkuinen.
    $taivutus :=- johdin_inen;
  end;

  # Eräät johtimet eivät esiinny peräkkäin.
  #
  if ($tietue.luokka in <johdin_llinen>) then
    $taivutus :=- <johdin_inen, johdin_ittAin, johdin_lAinen, johdin_llinen, johdin_mAinen>;
  end;

  if ($tietue.luokka in <nimitapa_4>) then
    $taivutus :=- <johdin_inen, johdin_lAinen, johdin_mAinen>;
  end;

  if ($tietue.luokka in @johdin_mA) then
    $taivutus :=- <johdin_inen, johdin_lAinen>;
  end;

  if ($tietue.luokka in @johdin_jA) then
    if ($tietue.perusmuoto in <"jatar", "jätär">) then
      $taivutus :=- <johdin_inen, johdin_UUs>;   # Esim. taitelijattarinen ei ole sana.
    elseif ($tietue.perusmuoto in <"ja", "jä">) then
      $taivutus :=- johdin_UUs;    # Johtimet johdin_jA_* ja johdin_UUs on yhdistetty.
    end;
  end;

  # Ei kaikkia johdoksia kaikista nimisanoista (esim. aateli -> aatelinen).
  #
  if ($tietue.tiedot /= nil) then
    if (ei_inen in $tietue.tiedot) then
      $taivutus :=- johdin_inen;
    end;
    if (ei_lAinen in $tietue.tiedot) then
       $taivutus :=- johdin_lAinen;
    end;
    if (ei_mAinen in $tietue.tiedot) then
      $taivutus :=- johdin_mAinen;
    end;
  end;


  if ($tietue.luokka in <nimi_laatusana, laatusana> + @johdin_laatutapa) then
    $taivutus :=+ [johdin_nlainen: $taivutus.omanto_n];
  end;


  if ($tietue.luokka in @johdin_laatutapa) then
    $taivutus :=- <johdin_lAinen, johdin_mAinen, johdin_tOn>;
  elseif ($tietue.luokka in  @laatutapa_1 + @laatutapa_2) then
    $taivutus :=- <johdin_tOn, tavuviiva, yhdyssana> + @nimi_laatusanan_johdin;
  end;


  if (not ($tietue.luokka in
             <laatusana, nimi_laatusana, johdin_nlainen, johdin_inen, voittoaste, yliaste, lukusana>
             + @teonsanasta_johdettu_laatusana + @nimisanasta_johdettu_laatusana
             + @nimi_laatusanan_johdin
             + @laatutapa_1 + @laatutapa_2)) then
    $taivutus :=- <voittoaste, yliaste, kerronto_sti>;
  end;


  if ($tietue.luokka in <voittoaste, yliaste, lukusana>) then
    $taivutus :=- <voittoaste, yliaste>;
  end;


  if (not ($tietue.luokka in <laatusana, nimi_laatusana, johdin_nlainen, johdin_inen, voittoaste, yliaste>
                             + @teonsanasta_johdettu_laatusana
                             + @nimisanasta_johdettu_laatusana
                             + @nimi_laatusanan_johdin)) then
    $taivutus :=- <johdin_Us, johdin_UUs>;
  end;


  # Esim. sanan "vanhanmallisista" perusmuoto ei ole "vanhanmallisinen".
  #
  if ($tietue.luokka in <laatusana, nimi_laatusana>) and ($tietue.perusmuoto matches ".*inen") then
    $taivutus :=- <johdin_inen>;
  end;

  # Esim. puhua => puhuja => puhujainen ei käy.
  #
##  if ($tietue.luokka in @johdin_jA) then
##    $taivutus :=- <johdin_inen>;
##  end;


  if ($tietue.luokka = yliaste) then
    $taivutus :=- <nimisana, nimi_laatusana, laatusana, teonsana, etuliite>;
  end;

  # Yksitekijäiset teonsanat taipuvat vain yksikön ja monikon kolmannessa.
  #
  if ($tietue.luokka = teonsana and $tietue.perusmuoto in <"poutaantua", "sataa">) then
    $taivutus :=- <kestämän_tekijäpääte_y1, kestämän_tekijäpääte_y2,
                   kestämän_tekijäpääte_m1, kestämän_tekijäpääte_m2, 
                   kertoman_tekijäpääte_y1, kertoman_tekijäpääte_y2,
                   kertoman_tekijäpääte_m1, kertoman_tekijäpääte_m2>;
  end;


  define $lista := lajittele ($taivutus);

  define $t := <>;

  foreach $i in $lista:
    $t :=+ taivutus ($tietue, $i.1, $i.2, []);
  end;


  if ($käskytapa_y2 /= <>) then
    foreach $i in $käskytapa_y2:
      $t :=+ käskytapa_y2 ($tietue, $i.1);
    end;
  end;


  if ($kestämän_tekijäpääte_y3 /= <>) then
    foreach $i in $kestämän_tekijäpääte_y3:
#define $a1 := transmit ($tietue);
#define $a2 := transmit ($taivutus);
#define $a3 := transmit ($kestämän_tekijäpääte_y3);
#define $a4 := transmit ($i.1);
      $t :=+ tositavan_kestämä_y3 ($tietue, $i.1);
    end;
  end;

  return $t;
end;


subrule johdin_CellA ($text):
      if ($text = "d")  then return johdin_dellA;
  elseif ($text = "hd") then return johdin_hdellA;
  elseif ($text = "l")  then return johdin_lellA;
  elseif ($text = "n")  then return johdin_nellA;
  elseif ($text = "nn") then return johdin_nnellA;
  elseif ($text = "r")  then return johdin_rellA;
  elseif ($text = "t")  then return johdin_tellA;
  else
     error "johdin_CellA " + $text;
  end;
end;


# Yksikön kolmannen pääte on sulautunut sanan vartaloon:
#
# Minä saa+n  voi+n
# Sinä saa+t  voi+t
# Hän  saa+   voi+
#
# Vertaa puhu+n, puhu+t, puhu+u.
# 
subrule tositavan_kestämä_y3 ($tietue, $vahva_aste):
#define $a := transmit ($tietue);
#define $b := transmit ($vahva_aste);
  return taivutus ($tietue, $vahva_aste,
                   <liitesana, loppu>,
                   [tapaluokka: tositapa,
                    aikamuoto: kestämä,
                    tekijä: 3,
                    luku: yksikkö]);
end;



# Yksikön toisen käskytapa, jolla ei ole päätettä:
#
# puhua => puhu, sanoa => sano, tehdä => tee.
#
subrule käskytapa_y2 ($tietue, $heikko_aste):
    return taivutus ($tietue, $heikko_aste,
                     <liitesana, liitesana2, liitesana_s, loppu>,
                     [tapaluokka: käskytapa,
                      aikamuoto: kestämä,
                      tekijä: 2,
                      luku: yksikkö]);
end;



############################################################
#
# Muuta tietue parien listaksi. Parin eka alkiona on
# merkkijono ja toisena alkiona lista niistä tietueen
# kenttien nimistä, joiden arvona on sama merkkijono.
#
# Esimerkiksi:
#
# [a: "a",
#  b: <"a", "c">,
#  c: "b",
#  d: "a",
#  e: "b",
#  f: "b"]
#
#   ===>
#
# <<"a", <a, b, d>>,
#  <"b", <c, e, f>>,
#  <"c", <b>>

subrule lajittele ($tietue):
  #
  # [sijan_nimi: merkkijono] tai
  # [sijan_nimi: <merkkijono1, merkkijono2>]
  # Otetaan kaikki merkkijonot joukkoon $joukko.
  # Se on joukko, koska kukin alkio on siinä vain kerran.
  #
  define $joukko := <>;

#define $a := transmit ($tietue);

  foreach $i in $tietue:
    if (value_type($tietue.$i) = list) then
      $joukko :=+ $tietue.$i / $joukko;
    else
      if (not ($tietue.$i in $joukko)) then
        $joukko :=+ <$tietue.$i>;
      end;
    end;
  end;

#define $ö := transmit (<"ööö"> + <$joukko>);

  define $r := <>;

  foreach $i in $joukko:
    $r :=+ <<$i, etsi ($tietue, $i)>>;
  end;

  define $t := <>;

  foreach $i in $r:
    if (nimentö in $i.2) then
      $i.2 :=+ <liitesana, loppu>;
    end;
    $t :=+ <<$i.1, $i.2>>;
  end;
  return $t;
end;



# Etsi arvo joukosta.
# Jos ei löydy, palauta <>.
#
subrule etsi ($tietue, $arvo):
  define $t := <>;

#define $a := transmit (<"tietue"> + <$tietue>);
#define $b := transmit (<"arvo  "> + <$arvo>);

  foreach $i in $tietue:
    if (((value_type($tietue.$i) = list)  and ($arvo in $tietue.$i)) or
        ((value_type($tietue.$i) /= list) and ($tietue.$i = $arvo))) then
      $t :=+ <$i>;
    end;
  end;

  return $t;
end;



###########################################################################


# Teonsanat.


subrule muistua2 ($tietue, $alun_lisä, $vahva_aste, $heikko_aste):
  $tietue :=+ [lähtösana: $tietue.perusmuoto];
  $tietue.luokka := teonsana;
  $tietue.alku :=+ $alun_lisä;
  $tietue.perusmuoto := $tietue.alku + $vahva_aste + UA($tietue);
  return punoa ($tietue, $vahva_aste + U($tietue), $heikko_aste + U($tietue));
end;


subrule ammottua2 ($tietue):
  $tietue :=+ [lähtösana: $tietue.perusmuoto];
  $tietue :=+ [lähtöalku: $tietue.alku];
  $tietue.perusmuoto := $tietue.alku + "tt" + UA($tietue);
  return ammottua ($tietue, "tt"+U($tietue), "itt"+U($tietue), "t"+U($tietue), "it"+U($tietue));
end;


subrule kirjoittua2 ($tietue):
  $tietue :=+ [lähtösana: $tietue.perusmuoto];
  $tietue :=+ [lähtöalku: $tietue.alku];
  $tietue.perusmuoto := $tietue.alku + "itt" + UA($tietue);
  return kirjoittua ($tietue, "ittu", "ttu", "itu", "tu");
end;


subrule kihahtaa ($tietue):
  $tietue :=+ [lähtösana: $tietue.perusmuoto];
  $tietue.äs := ääntiösointu ($tietue);
  $tietue.alku :=+ A($tietue) + "h";
  $tietue.perusmuoto := $tietue.alku + "t" + A($tietue) + A($tietue);
  return alittaa ($tietue, "t"+A($tietue), "de", "d"+A($tietue), "d", "t", "d", "-");
end;


subrule kihauttaa ($tietue):
  $tietue :=+ [lähtösana: $tietue.perusmuoto];
  $tietue.äs := ääntiösointu ($tietue);
  $tietue.alku :=+ AU($tietue) + "t";
  $tietue.perusmuoto := $tietue.alku + "t" + A($tietue) + A($tietue);
  return alittaa ($tietue, "t"+A($tietue), "e", A($tietue), "", "t", "t", "-");
end;


subrule loitontaa ($tietue, $heikko_aste):
  $tietue :=+ [lähtösana: $tietue.perusmuoto];
  $tietue.alku :=+ $heikko_aste;
  $tietue.perusmuoto := $tietue.alku + "t"+A($tietue)+A($tietue);
  return pahentaa ($tietue, "t"+A($tietue), "ne", "n"+A($tietue), "s", "n", "t");
end;


subrule loitontua ($tietue, $heikko_aste):
  $tietue :=+ [lähtösana: $tietue.perusmuoto];
  $tietue.alku :=+ $heikko_aste;
  $tietue.perusmuoto := $tietue.alku + "t" + U($tietue)+A($tietue);
  return punoa ($tietue, "t"+U($tietue), "n"+U($tietue));
end;


subrule juonto ($tietue):
  $tietue :=+ [lähtösana: $tietue.perusmuoto];
  $tietue.luokka := nimisana;
  $tietue.äs := ääntiösointu ($tietue);
  $tietue.perusmuoto := $tietue.alku + "t"+O($tietue);
  return valo ($tietue, "t"+O($tietue), "n"+O($tietue));
end;


subrule pyörtö ($tietue):
  $tietue :=+ [lähtösana: $tietue.perusmuoto];
  $tietue.luokka := nimisana;
  $tietue.äs := ääntiösointu ($tietue);
  $tietue.perusmuoto := $tietue.alku + "t"+O($tietue);
  return valo ($tietue, "t"+O($tietue), "r"+O($tietue));
end;


subrule ääntiösointu ($tietue):
  if ($tietue.alku matches ".*" + @yäö + ".*") then
    return ä;
  else
    return a;
  end;
end;


subrule punottaa ($tietue, $heikko_aste):
  $tietue :=+ [lähtösana: $tietue.perusmuoto];
  $tietue.luokka := teonsana;
  $tietue.alku :=+ $heikko_aste;
  $tietue.perusmuoto := $tietue.alku + "t" + A($tietue) + A($tietue);
  return alittaa ($tietue, "t"+A($tietue), "e", A($tietue), "", "t", "t", "-")
         + muistua2 ($tietue, "", "t", "");
end;



subrule pahentua ($tietue, $vahva_aste, $heikko_aste):
  $tietue :=+ [lähtösana: $tietue.perusmuoto];
  $tietue.luokka := teonsana;
  $tietue.perusmuoto := $tietue.alku + $vahva_aste + UA($tietue);

  return punoa ($tietue, $vahva_aste+U($tietue), $heikko_aste+U($tietue));
end;


subrule murto ($tietue):
  $tietue :=+ [lähtösana: $tietue.perusmuoto];
  $tietue.luokka := nimisana;
  $tietue.äs := a;
  $tietue.perusmuoto := $tietue.alku + "t"+O($tietue);
  return valo ($tietue, "t"+O($tietue), "r"+O($tietue));
end;


# Unixin tr komento.
#
# Esim. tr ($s, "abc", "def") korvaa merkkijonossa olevat
# a:t d:illä, b:t e:illä ja c:t f:illä.
#
#subrule tr ($s, $u, $v):
#  assert (length($u) greater_equal length($v));
#  define $p := "";
#  foreach $i in length ($s):
#    define $korvattu := no;
#    foreach $j in length ($u):
#      define $c1 := substring ($s, $i);
#      define $c2 := substring ($u, $j);
#      if ((capital ($c1) = capital ($c2)) and ($c1 = $c2)) then
#        $p :=+ substring ($v, $j);
#        $korvattu := yes;
#        break;
#      end;
#    end;
#    if ($korvattu = no) then
#      $p :=+ substring ($s, $i);
#    end;
##define $foo := transmit ($p);
#  end;
#  return $p;
#end;


# Jaetaan sana tavuihin. Esim.
# tavutus("valkoinen") => "val-koi-nen".
#
# Algoritmi: Facta-tietosanakirja (1970), osa 9, palsta 50.
#
# "(1) kaksi peräkkäistä vokaalikirjainta kuuluvat samaan tavuun
# jos ja vain jos ne ääntyvät pitkänä vokaalina tai diftongina.
#
# (2) jos konsonanttia seuraa vokaali, ne kuuluvat samaan tavuun,
# muutoin konsonantti kuuluu edellisen kirjaimen tavuun (kuitenkin
# vierasperäisen sanan kaikki alkukonsonantit kuuluvat samaan tavuun)."

# Kahden ääntiön yhdistelmät, jotka voivat olla tavussa.
#
define @ä0 := <"ei", "ai", "äi", "ui", "yi", "oi", "öi">;
define @ä1 := <"au", "äy", "ou", "öy", "iu", "iy", "eu", "ey", "uo", "yö", "ie"> + @ä0;
define @ä2 := <"aa", "ee", "ii", "oo", "uu", "yy", "ää", "öö">;

define @ääntiö2 := @ä1 + @ä2;


#subrule tavutus ($sana):
##  if ($sana = nil) then
##    return nil;
##  end;
#
##define $ab := transmit ($sana);
#
#  define $n := length ($sana);
#  define $i := 1;
#  define $s := "";
#
##define $ab := transmit ("X " + $sana);
#
#  if ($n less_equal 2) then
#    return $sana;
#  end;
#
#
#  # Jos sanassa on joku merkeistä -':.
#  # tavutetaan sanan molemmat puoliskot erikseen.
#  #
#  if ($sana matches ("[^\\-':\\.]+" : $alku, "[\\-':\\.]", ".*" : $loppu)) then
##define $a := transmit ("[" + $alku + "] [" + $loppu + "]");
#    return (tavutus ($alku) + "-" + tavutus ($loppu));
#  end;
#
#
#  # Kerakkeet sanan alussa.
#  #
#  repeat
#    while (($i less $n) and
#           (substring($sana,$i) matches @kerake) and
#           (substring($sana,$i+1) matches @kerake));
#    $s :=+ substring($sana,$i);
##    define $a2 := transmit (<"V " + $s> + <$i> + <$n>);
#    $i:=+ 1;
#  end;
#
##define $aw := transmit (<"W " + $s> + <$i> + <$n>);
#
#  if ($i = $n) then
#    return $sana;  # Lyhenne, jossa on vain kerakkeita.
#  end;
#
#  repeat
#    if (substring ($sana, $i, $i+1) matches (@ääntiö, @ääntiö)) then
##define $a0 := transmit (<"A " + $s> + <$i> + <$n> + <substring ($sana, $i, $i+1)>);
#      if (($i + 2 less_equal $n) and (substring ($sana, $i+1, $i+2) in @ä2)) then
#        # Re-aa-li.
##define $a2 := transmit (<"B " + $s> + <$i> + <$n>);
#        $s :=+ substring ($sana, $i) + "-" + substring ($sana, $i+1, $i+2);
##define $a3 := transmit (<"C " + $s> + <$i> + <$n>);
#        $i :=+ 3;
#      elseif (substring ($sana, $i, $i+1) in @ääntiö2) then
#        $s :=+ substring ($sana, $i, $i+1);
##define $a1 := transmit (<"a " + $s> + <$i> + <$n>);
#        $i :=+ 2;
#      else
#        $s :=+ substring ($sana, $i) + "-" + substring ($sana, $i+1);
##define $a1 := transmit (<"b " + $s> + <$i> + <$n>);
#        $i :=+ 2;
#      end;
#    elseif (substring ($sana, $i, $i+1) matches (@kerake, @ääntiö)) then
#      if ((length ($s) greater 0) and
#          (substring ($s, 1R) /= "-") and
#          (not vain_kerakkeita ($s))) then  # Stres-si.
#        $s :=+ "-";
#      end;
#      $s :=+ substring ($sana, $i);
##define $a1 := transmit (<"c " + $s> + <$i> + <$n> + <substring ($sana, $i)>);
#      $i :=+ 1;
#    elseif (substring ($sana, $i, $i+1) matches (@kerake, @kerake)) then
##define $aa := transmit (<"D " + $s> + <$i> + <$n> + <substring ($sana, $i, $i+1)>);
#      if ($i+1 = $n) then # Sanan lopussa on kaksi keraketta.
#        $s :=+ substring ($sana, $i, $i+1);
##define $a1 := transmit (<"1 " + $s> + <$i> + <$n> + <substring ($sana, $i, $i+1)>);
#        $i :=+ 2;
#      elseif (substring ($sana, $i+2) matches @ääntiö) then
#        $s :=+ substring ($sana, $i) + "-";
##define $a1 := transmit (<"f " + $s> + <$i> + <$n> + <substring ($sana, $i+2)>);
#        $i :=+ 1;
#      else
#        $s :=+ substring ($sana, $i);
##define $a1 := transmit (<"g " + $s> + <$i> + <$n>);
#        $i :=+ 1;
#      end;
#    elseif (substring ($sana, $i) matches @ääntiö) then
##define $a1 := transmit (<"H " + $s> + <$i> + <$n> + <substring ($sana, $i, $i+1)>);
#      if (($i greater 2) and (substring ($sana, $i-2, $i-1) in @ääntiö2)) then
#        $s :=+ "-" + substring ($sana, $i);
#      else
##define $a1 := transmit (<"H " + $s> + <$i> + <$n> + <substring ($sana, $i, $i+1)>);
#        $s :=+ substring ($sana, $i);
#      end;
##define $a2 := transmit (<"h " + $s> + <$i> + <$n> + <substring ($sana, $i, $i+1)>);
##       $s :=+ substring ($sana, $i);
#       $i :=+ 1;
#    end;
#    if ($i = $n) then
#      if ((substring ($s, 1R) matches @ääntiö) and
#          (substring ($sana, $i) matches @ääntiö)) then
#        if (substring ($s, 1R) + substring ($sana, $i) in @ääntiö2) then
#          $s :=+ substring ($sana, $i);
#        else
#          $s :=+ "-" + substring ($sana, $i);
#        end;
#      else
#        $s :=+ substring ($sana, $i);
#      end;
##define $a1 := transmit (<"i " + $s> + <$i> + <$n>);
#      $i :=+ 1;
#    end;
##define $a1 := transmit (<"ö " + $s> + <$i> + <$n>);
#    if ($i greater_equal $n) then
#      return $s;
#    end;
#  while (yes);
#  end;
#end;


# Palautetaan yes, jos sanassa on vain kerakkeita.
#
#subrule vain_kerakkeita ($sana):
#  foreach $i in length ($sana):
#    if (substring ($sana, $i) matches @ääntiö) then
#      return no;
#    end;
#  end;
#  return yes;
#end;


# Lasketaan tavujen määrä sanassa.
#
#subrule tavujen_määrä ($sana):
#  if ($sana = nil) then
#    return 0;
#  end;
#
#  define $n := 1;
#  define $s := tavutus ($sana);
#
#  foreach $i in length ($s):
#    if (substring ($s, $i) = "-") then
#      $n :=+ 1;
#    end;
#  end;
#  return $n;
#end;


# Harri Pitkäsen vokaalisointualgoritmi.
# VOWEL_BACK = "a", VOWEL_FRONT = "ä", VOWEL_BOTH == "aä"
#
subrule harri ($w):
  define $last_back := max3 (rfind($w,"a"), rfind($w,"o"), rfind($w,"u"));

  define $last_ord_front := max(rfind($w,"ä"), rfind($w,"ö"));

  define $last_y := rfind($w,"y");

  if ($last_back = 0 and max($last_ord_front,$last_y) greater 0) then
    return ä;
  end;

  if (max3($last_back,$last_ord_front,$last_y) = 0) then
    return ä;
  end;

  if ($last_y less max($last_back,$last_ord_front)) then
    if ($last_back greater $last_ord_front) then
      return a;
    else
      return ä;
    end;
  end;
  return aä;
end;


subrule rfind ($s, $c):
  define $i := length ($s);

  repeat
    if (substring ($s, $i, $i) = $c) then
      return $i;
    end;
    $i :=- 1;
  while ($i greater 0);
  end;
  return 0;
end;


subrule max ($a, $b):
  if ($a greater $b) then
    return $a;
  else
    return $b;
  end;
end;


subrule max3 ($a, $b, $c):
  return max ($a, max ($b, $c));
end;