Termy
                                    -=-=-=-

                                    C Code.
                                  C Code Run.
                                Run, Code, RUN!
                                  PLEASE!!!!

          Definice světa v prologu se zkládá z termů. Možná ste si všimli,
      že i dotazy  se vznáší  stejným  formátem.  Není to  náhoda - i tyto
      dotazy  jsou  termu.  Každý  term  se  zkládá ze jména  a  parametrů
      v závorce. Tedy například datum(1998,1,1).

          Termy  lze navíc  vnořovat.  Například i osoba('Adam',  'Novak',
      datum(1998,1,1)) je term. Na termy lze také nahlížet, jako na grafy:

                                     osoba
                                    / |   \
                                   /  |     \__
                              'Adam' 'Novak'  datum
                                             /  |  \
                                          1998  1   1

          Prolog podporuje následující typy termů:
          - jednoduché objekty
            - proměné - ty začínají velkým písmenem, nebo podtžítkem
            - konstanty
              - atomy
                - posloupnosti písmen číslic a podtržítka začínající malým
                  písmenem
                - posloupnosti některých symbolů mimo ( ) ! , ; [ ] |
                  např --> <== <@ atd.
                - posloupnosti znaků v apostrofech
                  'ahoj jak se máš'
               - čísla (1 nebo 1.1)
          - struktury
              např datum(1998,1,1).
              Mají funktor (datum) - to musí být atom
              a parametry...

          A to je všechno.  Tento  formát  databáze je dostatečně  obecný,
      aby uložil téměř cokoliv. Dokonce i zápisy podmínek pomocí operátorů
      :- a čárka  jsou  termy. :- jsou totiž  jenom  funktory,  které jsou
      nastaveny  tak, že se píšou  jako  operátory.  Tedy zápis  neco(A,B)
      :- jineho(A,C)  lze  přepsat na  :-(neco(A,B),jineho(A,B)).  Podobně
      funguje i matematika.

          Můžu tak popisovat například výrazy:

      3 * x + 4 * y  (nebo taky +(*(3,x),*(4,y))
                                                   +
                                                  / \
                                                 *   *
                                                / \ / \
                                               3  x 4  y

          Elektrické obvody:

        par( odpor( r1),
             sekv( par( odpor(r2),         +--r1--------+
                        kond(c1)),       --+  +-r2-+    +---
                   odpor(r3)))             ---+    +-r3-+
                                              +-c1-+

          Nebo bludiště pro textovku:

       %Umístění předmětů

       location(papir,zachod).

       % Bludiště
       connect(zachod,zahrada).
       connect(zachod,chodba).                 zachod<--->chodba<--->zahrada
       connect(chodba,zachod).                   |                      ^
       connect(zahrada,chodba).                  +----------------------+
       connect(chodba,zahrada).

       % Popisy pro jednotlivé místnosti
       describe(papir,'proste toaletak').
       describe(zachod,'Jsi na zachode..nelibe to tu voni').
       describe(zahrada,'Jsi na zahrade..ptaci zpivaji, slunce sviti...').
       describe(chodba,'Jsi na chodbe..vede ze zachodu na zahradu').


            výheň