    // **************************************************************************
    //                  все, что имеет отношение к ядру
    //
    // **************************************************************************
    // **************************************************************************
    //                 фраза с обычным глаголом
    // **************************************************************************
    @Перевод
    {
       @Структура  ядро_повест( см_глагола S1 ) =
                   гр_сущ( &Число, &Лицо ) сказуемое( &S1 ) ;
       @Структура  ядро_повест =
                   гр_сущ( &Число, &Лицо, %И, &Род )
                   сказуемое( Лицо, Число, Род )
                   ;
       @Таблица( лицо Лицо = лицо Лицо )
       { 1е = 1е ;
         2е = 2е ;
         3е = 3е ;
       }
       @Таблица( число Число = число Число )
       { Ед = Ед ;
         Мн = Мн ;
       }
    }

    @Перевод
    {
       @Выбор      ядро_вопрос1a( см_глагола S1 ) =
                   ядро_вопрос_модальное( &S1 ) ядро_вопрос( &S1 ) ;
       @Выбор      ядро_вопрос1a = ядро_вопрос_модальное( %Нет ) ядро_вопрос( %Нет ) ;
    }

    @Перевод
    {
       @Структура  ядро_вопрос1( см_глагола S1 ) =
                   Вопрос_к_подлежащему сказуемое( &S1 ) ;
       @Структура  ядро_вопрос1 =
                   Вопрос_к_подлежащему( %И ) сказуемое( %3е, %Ед, %М ) ;
    }

    @Перевод
    {
       @Структура  ядро_вопрос2( см_глагола S1 ) =
                   Вопрос_к_обстоятельству ядро_вопрос1a( &S1 ) ;
       @Структура  ядро_вопрос2 = Вопрос_к_обстоятельству ядро_вопрос1a ;
    }

    // ---------------- ядро --------------------------------------------------
    @Перевод
    {
       @Выбор      ядро( см_глагола S1 ) =
                   ядро_модальное( &S1 )
                   ядро_повест( &S1 )
                   ядро_вопрос_модальное( &S1 )
                   ядро_вопрос( &S1 )
                   ядро_вопрос1( &S1 )
                   ядро_вопрос2( &S1 )
                   ядро_повелит( &S1 )
                   ;
       @Выбор      ядро =
                   ядро_модальное
                   ядро_повест
                   ядро_вопрос_модальное( %Нет )
                   ядро_вопрос( %Нет )
                   ядро_вопрос1
                   ядро_вопрос2
                   ядро_повелит
                   ;
    }

    @Перевод
    {
       @Выбор      ядро_прид( см_глагола S1 ) =
                   ядро_повест( &S1 ) ядро_модальное( &S1 ) ;
       @Выбор      ядро_прид = ядро_повест ядро_модальное ;
    }

    // ----------- фраза обычная ------------------------------
    @Перевод
    {
       @Структура  фраза_а = ядро( &S1 ) хвост_а ;
       @Структура  фраза_а = ядро хвост_а ;
    }

    @Перевод
    {
       @Структура  фраза_б = ядро( %восприятия ) все_все ;
       @Структура  фраза_б = ядро все_все ;
    }

    @Перевод
    {
       @Структура  фраза_вопрос3 =
                   Вопрос_к_подлежащему ядро_вопрос1a( &S1 ) хвост_а Предлог ;
       @Структура  фраза_вопрос3 =
                   Предлог( &Падеж )
                   Вопрос_к_подлежащему( Падеж )
                   ядро_вопрос1a
                   хвост_а
                   ;
    }

    @Перевод
    {
       @Выбор      фраза_0 = фраза_пп фраза_have_пп фраза_а фраза_б фраза_вопрос3 ;
       @Выбор      фраза_0 = фраза_пп фраза_have_пп фраза_а фраза_б фраза_вопрос3 ;
    }

    @Перевод
    {
       @Структура  фраза = _пред_обстоятельство фраза_0 _обстоятельство ;
       @Структура  фраза = _пред_обстоятельство фраза_0 _обстоятельство ;
    }

    // ---------- фраза придаточная ----------------------------
    @Перевод
    {
       @Структура  фраза_а_прид = ядро_прид( &S1 ) хвост ;
       @Структура  фраза_а_прид = ядро_прид хвост ;
    }

    @Перевод
    {
       @Структура  фраза_б_прид = ядро_прид( %восприятия ) все_все ;
       @Структура  фраза_б_прид = ядро_прид все_все ;
    }

    @Перевод
    {
       @Выбор      фраза_прид1 =
                   фраза_прид_пп фраза_have_прид_пп фраза_а_прид фраза_б_прид ;
       @Выбор      фраза_прид1 =
                   фраза_прид_пп фраза_have_прид_пп фраза_а_прид фраза_б_прид ;
    }

    // **************************************************************************
    //            фраза с глаголом have
    // **************************************************************************
    @Перевод
    {
       @Выбор      ядро_have =
                   ядро_have_модальное
                   ядро_have_вопрос_модальное
                   ядро_повест_have
                   ядро_вопрос_have
                   ядро_вопрос_have1
                   ;
       @Выбор      ядро_have( число &Число, род &Род, падеж Падеж ) =
                   ядро_have_модальное( Число, Род, &Падеж )
                   ядро_have_вопрос_модальное( %Нет )
                   ядро_повест_have( Число, Род, &Падеж )
                   ядро_вопрос_have
                   ядро_вопрос_have1( Число, Род, &Падеж )
                   ;
    }

    @Перевод
    {
       @Выбор      ядро_have_прид = ядро_повест_have ;
       @Выбор      ядро_have_прид( число &Число, род &Род, падеж Падеж ) =
                   ядро_повест_have( Число, Род, &Падеж ) ;
    }

    @Перевод
    {
       @Структура  фраза_have1 = _пред_обстоятельство ядро_have хвост_have ;
       @Структура  фраза_have1 =
                   _пред_обстоятельство
                   ядро_have( Число, Род, &Падеж )
                   хвост_have( &Число, Падеж, &Род )
                   ;
    }

    @Перевод
    {
       @Выбор      фраза_have = фраза_have1 фраза_вопрос_have2 ;
       @Выбор      фраза_have = фраза_have1 фраза_вопрос_have2 ;
    }

    @Перевод
    {
       @Структура  фраза_have_прид = ядро_have_прид хвост_have ;
       @Структура  фраза_have_прид =
                   ядро_have_прид( Число, Род, &Падеж )
                   хвост_have( &Число, Падеж, &Род )
                   ;
    }

    // **************************************************************************
    //                 фраза с глаголом be
    // **************************************************************************
    @Перевод
    {
       @Структура  ядро_be_прид = гр_сущ( &Число, &Лицо ) сказуемое_be0 ;
       @Структура  ядро_be_прид( число Число, род Род ) =
                   гр_сущ( &Число, &Лицо, %И, &Род )
                   сказуемое_be0( Лицо, Число, Род )
                   ;
       @Таблица( лицо Лицо = лицо Лицо )
       { 1е = 1е ;
         2е = 2е ;
         3е = 3е ;
       }
       @Таблица( число Число = число Число )
       { Ед = Ед ;
         Мн = Мн ;
       }
    }

    @Перевод
    {
       @Структура  ядро_вопрос_be1 = Вопрос_к_подлежащему сказуемое_be0 ;
       @Структура  ядро_вопрос_be1 =
                   Вопрос_к_подлежащему( %И ) сказуемое_be0( %3е, %Ед, %М ) ;
    }

    @Перевод
    {
       @Структура  ядро_вопрос_be2 = Вопрос_к_обстоятельству ядро_вопрос_be ;
       @Структура  ядро_вопрос_be2 = Вопрос_к_обстоятельству ядро_вопрос_be( %Нет ) ;
    }

    // ---------------- ядро be ----------------------------------------------
    @Перевод
    {
       @Выбор      ядро_be =
                   ядро_be_модальное
                   ядро_be_прид
                   ядро_вопрос_be_модальное
                   ядро_вопрос_be
                   ядро_вопрос_be1
                   ядро_вопрос_be2
                   ядро_повелит_be
                   ;
       @Выбор      ядро_be( число Число, род Род ) =
                   ядро_be_модальное
                   ядро_be_прид( &Число, &Род )
                   ядро_вопрос_be_модальное( %Да )
                   ядро_вопрос_be( %Да )
                   ядро_вопрос_be1
                   ядро_вопрос_be2
                   ядро_повелит_be
                   ;
    }

    @Перевод
    {
       @Структура1 фраза_be_пп = ядро_be хвост_be_a ;
       @Структура1 фраза_be_пп =
                   ядро_be( &Число, &Род ) хвост_be_a( Число, Род, %Н, %И ) ;
       @Таблица( @Выбор = число Число )
       { @0 = Ед ; }
       @Таблица( @Выбор = род Род )
       { @0 = М ; }
    }

    @Перевод
    {
       @Структура1 фраза_be_прид_пп = ядро_be_прид хвост_be_a ;
       @Структура1 фраза_be_прид_пп =
                   ядро_be_прид( &Число, &Род ) хвост_be_a( Число, Род, %Н, %И ) ;
       @Таблица( @Выбор = число Число )
       { @0 = Ед ; }
       @Таблица( @Выбор = род Род )
       { @0 = М ; }
    }

    @Перевод
    {
       @Структура1 фраза_be_whether_пп = ядро_be_whether хвост_be_a ;
       @Структура1 фраза_be_whether_пп =
                   ядро_be_whether( &Число, &Род )
                   хвост_be_a( Число, Род, %Н, %И )
                   ;
       @Таблица( @Выбор = число Число )
       { @0 = Ед ; }
       @Таблица( @Выбор = род Род )
       { @0 = М ; }
    }

    // ------ фраза be+constant ------------------------------------
    @Перевод
    {
       @Структура2 фраза_be1_пп;
       @Структура2 фраза_be1_пп;
    }

    @Перевод
    {
       @Структура2 фраза_be1_прид_пп;
       @Структура2 фраза_be1_прид_пп;
    }

    @Перевод
    {
       @Структура2 фраза_be1_whether_пп;
       @Структура2 фраза_be1_whether_пп;
    }

    // --------------------------------------------------------------
    @Перевод
    {
       @Выбор      фраза_be_а = фраза_be_пп фраза_be1_пп ;
       @Выбор      фраза_be_а = фраза_be_пп фраза_be1_пп ;
    }

    @Перевод
    {
       @Структура  фраза_be = _пред_обстоятельство фраза_be_а _обстоятельство ;
       @Структура  фраза_be = _пред_обстоятельство фраза_be_а _обстоятельство ;
    }

    @Перевод
    {
       @Структура  фраза_be_предлог =
                   гр_сущ( &Число, &Лицо )
                   сказуемое_be0
                   гр_квази_наречия
                   _хвост_квази_наречия
                   _обстоятельство
                   Предлог
                   ;
       @Структура  фраза_be_предлог =
                   Предлог( &П )
                   гр_сущ( &Число, &Лицо, П, &Род )
                   сказуемое_be0( Лицо, Число, Род )
                   гр_квази_наречия
                   _хвост_квази_наречия
                   _обстоятельство
                   ;
    }

    // **************************************************************************
    //                 фраза с there_is
    // **************************************************************************
    @Перевод
    {
       @Структура  ядро_вопрос_there2 = Вопрос_к_обстоятельству ядро_вопрос_there ;
       @Структура  ядро_вопрос_there2( число &Число, род &Род ) =
                   Вопрос_к_обстоятельству ядро_вопрос_there( Число, Род, %Нет ) ;
    }

    @Перевод
    {
       @Выбор      ядро_there = ядро_повест_there ядро_вопрос_there ядро_вопрос_there2 ;
       @Выбор      ядро_there( число &Число, род &Род, падеж Падеж ) =
                   ядро_повест_there( Число, Род, &Падеж, %Нет )
                   ядро_вопрос_there( Число, Род, %Нет )
                   ядро_вопрос_there2( Число, Род )
                   ;
    }

    @Перевод
    {
       @Структура  фраза_there =
                   _пред_обстоятельство ядро_there хвост_there_a _обстоятельство ;
       @Структура  фраза_there =
                   _пред_обстоятельство
                   ядро_there( Число, Род, &Падеж )
                   хвост_there_a( &Число, Падеж, &Род )
                   _обстоятельство
                   ;
    // ------- грубое хакерство -----------
       @Таблица( @Выбор = падеж Падеж )
       { @0 = И ;
       }
    }

    @Перевод
    {
       @Структура  фраза_there_прид = ядро_повест_there хвост_there_a _обстоятельство ;
       @Структура  фраза_there_прид =
                   ядро_повест_there( Число, Род, &Падеж, %Нет )
                   хвост_there_a( &Число, Падеж, &Род )
                   _обстоятельство
                   ;
    // ------- грубое хакерство -----------
       @Таблица( @Выбор = падеж Падеж )
       { @0 = И ;
       }
    }

    // **************************************************************************
    //                 фраза It is квазинаречие + that_фраза
    // **************************************************************************
    @Перевод
    {
       @Структура  фраза_квазинаречие =
                   @0[it]
                   сказуемое_be
                   _No
                   гр_квази_наречия
                   _хвост_квази_наречия
                   _обстоятельство
                   ;
       @Структура  фраза_квазинаречие =
                   сказуемое_be( %3е, %Ед, %С )
                   _No
                   гр_квази_наречия
                   _хвост_квази_наречия
                   _обстоятельство
                   ;
    }

    // -------------------------------------------------------------------------
    @Перевод
    {
    // на самом деле придаточная
       @Выбор      фраза_повест =
                   фраза_прид1
                   фраза_have_прид
                   фраза_there_прид
                   фраза_прид_пп
                   фраза_be_прид_пп
                   фраза_be1_прид_пп
                   фраза_have_прид_пп
                   ;
       @Выбор      фраза_повест =
                   фраза_прид1
                   фраза_have_прид
                   фраза_there_прид
                   фраза_прид_пп
                   фраза_be_прид_пп
                   фраза_be1_прид_пп
                   фраза_have_прид_пп
                   ;
    }

    @Перевод
    {
       @Структура  понять_значит_упростить =
                   _пред_обстоятельство to_inf( &S1 ) @0[is] to_inf( &S2 ) ;
       @Структура  понять_значит_упростить =
                   _пред_обстоятельство
                   to_inf( %Ед, %М )
                   @0[значит]
                   to_inf( %Ед, %М )
                   ;
    }

    @Перевод
    {
       @Структура  понять_значит_упростить2 =
                   _пред_обстоятельство
                   глагол( &S1, %Ing )
                   @0[is]
                   глагол( &S2, %Ing )
                   ;
       @Структура  понять_значит_упростить2 =
                   _пред_обстоятельство
                   глагол( %Сов, %Inf, @0, @0, @0, @0, %Актив, @0 )
                   @0[значит]
                   глагол( %Сов, %Inf, @0, @0, @0, @0, %Актив, @0 )
                   ;
    }