// **************************************************************************
//
//                     Ядро с модальными глаголами
//
//                     ядро_модальное
//                     ядро_вопрос_модальное
// **************************************************************************

// ---- сказуемое, в котором модальность выражается "через to be" -----
@Перевод
{
   @Структура сказуемое_be_to_inf( см_глагола S1 ) =
              сказуемое_be0[be] /* _Наречие */ to_inf( &S1 ) ;
   @Структура сказуемое_be_to_inf( лицо &Лицо, число &Число, род &Род ) =
              /* _Наречие */
	      сказуемое_be0[собираться]( Лицо, Число, Род )
	      мод_глагол[должен]( %Несов,%глагол,Лицо,Число,%настоящее,Род )
	      to_inf( Число,Род );
}
@Перевод
{
   @Структура сказуемое_be_to_be =
              сказуемое_be0[be] /* _Наречие */ @0[to] @0[be] ;
   @Структура сказуемое_be_to_be( лицо &Лицо, число &Число, род &Род ) =
              /* _Наречие */
	      сказуемое_be0[собираться]( Лицо, Число, Род )
	      мод_глагол[должен]( %Несов,%глагол,Лицо,Число,%настоящее,Род )
              @0[быть] ;
}
@Перевод
{
   @Структура сказуемое_be_going_to_inf( см_глагола S1 ) =
              сказуемое_be0[be] @0[going] to_inf( &S1 ) ;
   @Структура сказуемое_be_going_to_inf( лицо &Лицо, число &Число, род &Род ) =
              сказуемое_be0[собираться]( Лицо, Число, Род ) to_inf( Число, Род ) ;
}
@Перевод
{
   @Структура сказуемое_be_going_to_be =
              сказуемое_be0[be] @0[going] @0[to] @0[be] ;
   @Структура сказуемое_be_going_to_be( лицо &Лицо, число &Число, род &Род ) =
              сказуемое_be0[собираться]( Лицо, Число, Род ) @0[быть] ;
}
@Перевод
{
   @Выбор     сказуемое_модальное_be( см_глагола S1 ) =
	      сказуемое_be_to_inf      ( &S1 )
	      сказуемое_be_to_be
	      сказуемое_be_going_to_inf( &S1 )
	      сказуемое_be_going_to_be
	      ;
   @Выбор     сказуемое_модальное_be( лицо &Лицо, число &Число, род &Род ) =
	      сказуемое_be_to_inf      ( Лицо, Число, Род )
	      сказуемое_be_to_be       ( Лицо, Число, Род )
	      сказуемое_be_going_to_inf( Лицо, Число, Род )
	      сказуемое_be_going_to_be ( Лицо, Число, Род )
	      ;
}
@Перевод
{ 
   @Структура ядро_модальное_be( см_глагола S1 ) =
              гр_сущ( &Число, &Лицо ) сказуемое_модальное_be( &S1 ) ;
   @Структура ядро_модальное_be =
              гр_сущ( &Число, &Лицо, %И, &Род ) сказуемое_модальное_be( Лицо, Число, Род ) ;
   table_lizo( Лицо )
   table_chislo( Число )
}
@Перевод
{ 
   @Структура ядро_have_заставить( см_глагола S1 ) =
              ядро_have1 гр_сущ_а !глагол( &S1, %Ing );
   @Структура ядро_have_заставить =
	      ядро_have1[заставить]
	      гр_сущ_а( %Р ) !глагол( %Сов,%Inf,@0,@0,@0,@0,%Актив,@0 ) ;
}

// ------------------------- модальное ядро ----------------------------
# define table_vrema           \
   @Таблица( форма Форма = время Время )\
   {  Inf   = настоящее ;      \
      Form2 = прошлое ;        \
   }

# define table_modal           \
   @Таблица( число Число = число Число ) \
   {  Ед  = Ед ;               \
      Мн = Мн ;                \
   }                           \
   @Таблица( лицо Лицо = лицо Лицо ) \
   {  1е = 1е ;                \
      2е = 2е ;                \
      3е = 3е ;                \
   }                           \
   @Таблица( форма Форма = время Время )\
   {  Inf   = настоящее ;      \
      Form2 = прошлое ;        \
   }

@Перевод
{  @Структура ядро_мочь( см_глагола S1 ) =
	      гр_сущ_м( &Число, &Лицо )
	      мод_глагол[can]( &Форма ) _Not !глагол( &S1, %Inf ) ;
   @Структура ядро_мочь =
	      гр_сущ_м( &Число, &Лицо, %И, &Род )
	      _Not мод_глагол[мочь]( %Несов,%глагол,Лицо,Число,&Время,Род )
	      !глагол( %Сов,%Inf,@0,@0,@0,@0,%Актив,@0 ) ;
   table_vrema
}
@Перевод
{  @Структура ядро_мочь_будущее( см_глагола S1 ) =
	      гр_сущ_м( &Число, &Лицо )
	      @0[will] _Not @0[be] @0[able] @0[to] !глагол( &S1, %Inf ) ;
   @Структура ядро_мочь_будущее =
	      гр_сущ_м( &Число, &Лицо, %И, &Род )
	      _Not мод_глагол[мочь]( Cов,%глагол,Лицо,Число,%будущее,@0 )
	      !глагол( %Сов,%Inf,@0,@0,@0,@0,%Актив,@0 ) ;
}
@Перевод
{  @Структура ядро_должен( см_глагола S1 ) =
	      гр_сущ_м( &Число, &Лицо )
	      мод_глагол[must]( &Форма ) _Not _Наречие !глагол( &S1, %Inf ) ;
   @Структура ядро_должен =
	      гр_сущ_м( &Число, &Лицо, %И, &Род ) _Наречие _Not
	      мод_глагол[должен]( %Несов,%глагол,Лицо,Число,&Время,@0 )
	      !глагол( %Несов,%Inf,@0,@0,@0,@0,%Актив,@0 ) ;
   table_vrema
}
@Перевод
{  @Структура ядро_можно( см_глагола S1 ) =
	      гр_сущ_м( &Число, &Лицо ) мод_глагол[may]( &Форма ) 
	      _Наречие !глагол( &S1, %Inf ) ;
   @Структура ядро_можно =
	      гр_сущ_м( &Число, &Лицо, %Д, &Род ) _Наречие
	      мод_глагол[можно]( %Несов,%глагол,Лицо,Число,&Время,Род )
	      !глагол( %Несов,%Inf,@0,@0,@0,@0,%Актив,@0 ) ;
   table_vrema
}
@Перевод
{  @Структура ядро_можно_отр( см_глагола S1 ) =
	      гр_сущ_м( &Число, &Лицо )
	      мод_глагол[may]( &Форма ) @0[not] _Наречие !глагол( &S1, %Inf ) ;
   @Структура ядро_можно_отр =
	      гр_сущ_м( &Число, &Лицо, %Д, &Род ) _Наречие
	      мод_глагол[нельзя]( %Несов,%глагол,Лицо,Число,&Время,@0 )
	      !глагол( %Несов,%Inf,@0,@0,@0,@0,%Актив,@0 ) ;
   table_vrema
}
@Перевод
{  @Структура ядро_нужно( см_глагола S1 ) =
	      гр_сущ_м( &Число, &Лицо )
	      мод_глагол[need]( &Форма ) _Not _Наречие !глагол( &S1, %Inf ) ;
   @Структура ядро_нужно =
	      гр_сущ_м( &Число, &Лицо, %Д, &Род ) _Наречие _Not
	      мод_глагол[нужно]( %Несов,%глагол,Лицо,Число,&Время,@0 )
	      !глагол( %Несов,%Inf,@0,@0,@0,@0,%Актив,@0 ) ;
   table_vrema
}
@Перевод
{  @Структура ядро_следует( см_глагола S1 ) =
	      гр_сущ_м( &Число, &Лицо )
	      мод_глагол[ought]( &Форма ) _Not _Наречие @0[to] !глагол( &S1, %Inf ) ;
   @Структура ядро_следует =
	      гр_сущ_м( &Число, &Лицо, %Д, &Род ) _Наречие _Not
	      мод_глагол[следует]( %Несов,%глагол,Лицо,Число,&Время,@0 )
	      !глагол( %Несов,%Inf,@0,@0,@0,@0,%Актив,@0 ) ;
   table_vrema
}
@Перевод
{  @Структура ядро_have_to_прошлое( см_глагола S1 ) =
	      гр_сущ_м( &Число, &Лицо )
	      @0[had] _Not _Got @0[to] !глагол( &S1, %Inf ) ;
   @Структура ядро_have_to_прошлое =
	      гр_сущ_м( &Число, &Лицо, %И, &Род ) _Not
	      мод_глагол[должен]( %Несов,%глагол,Лицо,Число,%прошлое,@0 )
	      !глагол( %Несов,%Inf,@0,@0,@0,@0,%Актив,@0 ) ;
}
@Перевод
{  @Структура ядро_have_to_настоящее( см_глагола S1 ) =
	      гр_сущ_м( &Число, &Лицо )
	      _have _Not _Got @0[to] !глагол( &S1, %Inf ) ;
   @Структура ядро_have_to_настоящее =
	      гр_сущ_м( &Число, &Лицо, %И, &Род ) _Not
	      мод_глагол[должен]( %Несов,%глагол,Лицо,Число,%настоящее,@0 )
	      !глагол( %Несов,Inf,@0,@0,@0,@0,%Актив,@0 ) ;
}
@Перевод
{  @Структура ядро_have_to_отр_настоящее( см_глагола S1 ) =
	      гр_сущ_м( &Число, &Лицо )
	      _do @0[not] _have _Got @0[to] !глагол( &S1, %Inf ) ;
   @Структура ядро_have_to_отр_настоящее =
	      гр_сущ_м( &Число, &Лицо, %И, &Род )
	      @0[не] мод_глагол[должен]( %Несов,%глагол,Лицо,Число,%настоящее,@0 )
	      !глагол( %Несов,%Inf,@0,@0,@0,@0,%Актив,@0 ) ;
}
@Перевод
{  @Структура ядро_have_to_будущее( см_глагола S1 ) =
	      гр_сущ_м( &Число, &Лицо )
	      _will @0[have] _Not _Got @0[to] !глагол<1>( &S1, %Inf ) ;
   @Структура ядро_have_to_будущее =
	      гр_сущ_м( &Число, &Лицо, %И, &Род ) _Not
	      глагол[быть]( %Сов,%глагол,Лицо,Число,%будущее,@0,%Актив,@0 )
	      мод_глагол[должен]( %Несов,%глагол,Лицо,Число,%настоящее,Род )
	      !глагол<1>( %Несов,%Inf,@0,@0,@0,@0,%Актив,@0 ) ;
}
// ---------- пассивные формы ----------------------------
@Перевод
{  @Структура ядро_пасс_мочь( см_глагола S1 ) =
	      гр_сущ_м( &Число, &Лицо ) _Наречие
	      мод_глагол[can]( &Форма ) _Not @0[be] !глагол( &S1, %Form3 ) ;
   @Структура ядро_пасс_мочь =
	      гр_сущ_м( &Число, &Лицо, %И, &Род ) _Наречие
	      _Not мод_глагол[мочь]( %Несов,%глагол,Лицо,Число,&Время,Род )
	      @0[быть] !глагол( %Сов,%глагол,@0,Число,@0,Род,%Пассив,@0 ) ;
   table_vrema
}
@Перевод
{  @Структура ядро_пасс_мочь_будущее( см_глагола S1 ) =
	      гр_сущ_м( &Число, &Лицо )
	      @0[will] _Not @0[be] @0[able] @0[to] @0[be] !глагол( &S1, %Form3 ) ;
   @Структура ядро_пасс_мочь_будущее =
	      гр_сущ_м( &Число, &Лицо, %И, &Род )
	      _Not мод_глагол[мочь]( Cов,%глагол,Лицо,Число,%будущее,@0 )
	      @0[быть] !глагол( %Сов,%глагол,@0,Число,@0,Род,%Пассив,@0 ) ;
}
@Перевод
{  @Структура ядро_пасс_должен( см_глагола S1 ) =
	      гр_сущ_м( &Число, &Лицо )
	      мод_глагол[must]( &Форма ) _Not  @0[be] !глагол( &S1, %Form3 ) ;
   @Структура ядро_пасс_должен =
	      гр_сущ_м( &Число, &Лицо, %И, &Род ) _Not
	      мод_глагол[должен]( %Несов,%глагол,Лицо,Число,&Время,@0 )
	      @0[быть] !глагол( %Сов,%глагол,@0,Число,@0,Род,%Пассив,@0 ) ;
   table_vrema
}
@Перевод
{  @Структура ядро_пасс_можно( см_глагола S1 ) =
	      гр_сущ_м( &Число, &Лицо ) 
	      мод_глагол[may]( &Форма ) @0[be] !глагол( &S1, %Form3 ) ;
   @Структура ядро_пасс_можно =
	      гр_сущ_м( &Число, &Лицо, %Д, &Род )
	      мод_глагол[можно]( %Несов,%глагол,Лицо,Число,&Время,Род )
	      @0[быть] !глагол( %Сов,%глагол,@0,Число,@0,Род,%Пассив,@0 ) ;
   table_vrema
}
@Перевод
{  @Структура ядро_пасс_можно_отр( см_глагола S1 ) =
	      гр_сущ_м( &Число, &Лицо )
	      мод_глагол[may]( &Форма ) @0[not] @0[be] !глагол( &S1, %Form3 ) ;
   @Структура ядро_пасс_можно_отр =
	      гр_сущ_м( &Число, &Лицо, %Д, &Род )
	      мод_глагол[нельзя]( %Несов,%глагол,Лицо,Число,&Время,@0 )
	      @0[быть] !глагол( %Сов,%глагол,@0,Число,@0,Род,%Пассив,@0 ) ;
   table_vrema
}
@Перевод
{  @Структура ядро_пасс_нужно( см_глагола S1 ) =
	      гр_сущ_м( &Число, &Лицо )
	      мод_глагол[need]( &Форма ) _Not @0[be] !глагол( &S1, %Form3 ) ;
   @Структура ядро_пасс_нужно =
	      гр_сущ_м( &Число, &Лицо, %Д, &Род ) _Not
	      мод_глагол[нужно]( %Несов,%глагол,Лицо,Число,&Время,@0 )
	      @0[быть] !глагол( %Сов,%глагол,@0,Число,@0,Род,%Пассив,@0 ) ;
   table_vrema
}
@Перевод
{  @Структура ядро_пасс_следует( см_глагола S1 ) =
	      гр_сущ_м( &Число, &Лицо )
	      мод_глагол[ought]( &Форма ) _Not @0[to] @0[be] !глагол( &S1, %Form3 ) ;
   @Структура ядро_пасс_следует =
	      гр_сущ_м( &Число, &Лицо, %Д, &Род ) _Not
	      мод_глагол[следует]( %Несов,%глагол,Лицо,Число,&Время,@0 )
	      @0[быть] !глагол( %Сов,%глагол,@0,Число,@0,Род,%Пассив,@0 ) ;
   table_vrema
}
@Перевод
{  @Структура ядро_пасс_have_to_прошлое( см_глагола S1 ) =
	      гр_сущ_м( &Число, &Лицо )
	      @0[had] _Not _Got @0[to] @0[be] !глагол( &S1, %Form3 ) ;
   @Структура ядро_пасс_have_to_прошлое =
	      гр_сущ_м( &Число, &Лицо, %И, &Род ) _Not
	      мод_глагол[должен]( %Несов,%глагол,Лицо,Число,%прошлое,@0 )
	      @0[быть] !глагол( %Сов,%глагол,@0,Число,@0,Род,%Пассив,@0 ) ;
}
@Перевод
{  @Структура ядро_пасс_have_to_настоящее( см_глагола S1 ) =
	      гр_сущ_м( &Число, &Лицо )
	      _have _Not _Got @0[to] @0[be] !глагол( &S1, %Form3 ) ;
   @Структура ядро_пасс_have_to_настоящее =
	      гр_сущ_м( &Число, &Лицо, %И, &Род ) _Not
	      мод_глагол[должен]( %Несов,%глагол,Лицо,Число,%настоящее,@0 )
	      @0[быть] !глагол( %Сов,%глагол,@0,Число,@0,Род,%Пассив,@0 ) ;
}
@Перевод
{  @Структура ядро_пасс_have_to_отр_настоящее( см_глагола S1 ) =
	      гр_сущ_м( &Число, &Лицо )
	      _do @0[not] _have _Got @0[to] @0[be] !глагол( &S1, %Form3 ) ;
   @Структура ядро_пасс_have_to_отр_настоящее =
	      гр_сущ_м( &Число, &Лицо, %И, &Род )
	      @0[не] мод_глагол[должен]( %Несов,%глагол,Лицо,Число,%настоящее,@0 )
	      @0[быть] !глагол( %Сов,%глагол,@0,Число,@0,Род,%Пассив,@0 ) ;
}
@Перевод
{  @Структура ядро_пасс_have_to_будущее( см_глагола S1 ) =
	      гр_сущ_м( &Число, &Лицо )
	      _will @0[have] _Not _Got @0[to] @0[be] !глагол<1>( &S1, %Form3 ) ;
   @Структура ядро_пасс_have_to_будущее =
	      гр_сущ_м( &Число, &Лицо, %И, &Род ) _Not
	      глагол[быть]( %Сов,%глагол,Лицо,Число,%будущее,@0,%Актив,@0 )
	      мод_глагол[должен]( %Несов,%глагол,Лицо,Число,%настоящее,Род )
	      @0[быть] !глагол( %Сов,%глагол,@0,Число,@0,Род,%Пассив,@0 ) ;
}

@Перевод
{
   @Выбор     ядро_модальное( см_глагола S1 ) =
	      !ядро_мочь                  ( &S1 )
	      !ядро_мочь_будущее          ( &S1 )
	      !ядро_должен                ( &S1 )
	      !ядро_можно                 ( &S1 )
	      !ядро_можно_отр             ( &S1 )
	      !ядро_нужно                 ( &S1 )
	      !ядро_следует               ( &S1 )
	      !ядро_have_to_прошлое       ( &S1 )
	      !ядро_have_to_настоящее     ( &S1 )
	      !ядро_have_to_отр_настоящее ( &S1 )
	      !ядро_have_to_будущее       ( &S1 )
	      !ядро_модальное_be          ( &S1 )
	      !ядро_have_заставить        ( &S1 )

	      !ядро_пасс_мочь             ( &S1 )
	      !ядро_пасс_мочь_будущее     ( &S1 )
	      !ядро_пасс_должен           ( &S1 )
	      !ядро_пасс_можно            ( &S1 )
	      !ядро_пасс_можно_отр        ( &S1 )
	      !ядро_пасс_нужно            ( &S1 )
	      !ядро_пасс_следует          ( &S1 )
	      !ядро_пасс_have_to_прошлое  ( &S1 )
	      !ядро_пасс_have_to_настоящее( &S1 )
	      !ядро_пасс_have_to_отр_настоящее( &S1 )
	      !ядро_пасс_have_to_будущее  ( &S1 )
	      ;
   @Выбор     ядро_модальное =
	      !ядро_мочь
	      !ядро_мочь_будущее
	      !ядро_должен
	      !ядро_можно
	      !ядро_можно_отр
	      !ядро_нужно
	      !ядро_следует
	      !ядро_have_to_прошлое
	      !ядро_have_to_настоящее
	      !ядро_have_to_отр_настоящее
	      !ядро_have_to_будущее
	      !ядро_модальное_be
	      !ядро_have_заставить

	      !ядро_пасс_мочь
	      !ядро_пасс_мочь_будущее
	      !ядро_пасс_должен
	      !ядро_пасс_можно
	      !ядро_пасс_можно_отр
	      !ядро_пасс_нужно
	      !ядро_пасс_следует
	      !ядро_пасс_have_to_прошлое
	      !ядро_пасс_have_to_настоящее
	      !ядро_пасс_have_to_отр_настоящее
	      !ядро_пасс_have_to_будущее
	      ;
}
// ---------- ядро be_going вопрос -----------------------------------
@Перевод
{
   @Структура ядро_вопрос_be_going_прошлое =
	      _was _Not гр_сущ( &Число, &Лицо ) @0[going] @0[to] ;
   @Структура ядро_вопрос_be_going_прошлое( присутствие &П ) =
	      _Not глагол[собираться]( %Несов,%глагол,@0,Число,%прошлое,Род,%Актив,@0 )
	      частица[ли]( П ) гр_сущ( &Число, &Лицо, %И, &Род ) ;
}
@Перевод
{
   @Структура ядро_вопрос_be_going_настоящее =
	      _связка_is  _Not гр_сущ( &Число, &Лицо ) @0[going] @0[to] ;
   @Структура ядро_вопрос_be_going_настоящее( присутствие &П ) =
	      _Not глагол[собираться]( %Несов,%глагол,Лицо,Число,%настоящее,@0,%Актив,@0 )
	      частица[ли]( П ) гр_сущ( &Число, &Лицо, %И, &Род );
}
@Перевод
{
   @Структура ядро_вопрос_be_going_будущее =
	      _will _Not гр_сущ( &Число, &Лицо ) @0[be] @0[going] @0[to] ;
   @Структура ядро_вопрос_be_going_будущее( присутствие &П ) =
	      _Not глагол[собираться]( %Сов,%глагол,Лицо,Число,%будущее,@0,%Актив,@0 )
	      частица[ли]( П ) гр_сущ( &Число, &Лицо, %И, &Род );
}
@Перевод
{
   @Выбор     ядро_вопрос_be_going =
              ядро_вопрос_be_going_прошлое
	      ядро_вопрос_be_going_настоящее
	      ядро_вопрос_be_going_будущее
	      ;
   @Выбор     ядро_вопрос_be_going( присутствие &П ) =
              ядро_вопрос_be_going_прошлое  ( П )
	      ядро_вопрос_be_going_настоящее( П )
	      ядро_вопрос_be_going_будущее  ( П )
	      ;
}

// ---------- ядро, в котором модальность выражается "через to be" -----
@Перевод
{
   @Структура ядро_вопрос_be_to_inf( см_глагола S1 ) =
              ядро_вопрос_be[be] to_inf( &S1 ) ;
   @Структура ядро_вопрос_be_to_inf( присутствие &П ) =
              ядро_вопрос_be[быть]( П )/* ( Лицо, Число, Род ) */
	      мод_глагол[должен]( %Несов,%глагол,Лицо,Число,%настоящее,Род )
	      to_inf( Число, Род );
}
@Перевод
{
   @Структура ядро_вопрос_be_to_be =
              ядро_вопрос_be[be] @0[to] @0[be] ;
   @Структура ядро_вопрос_be_to_be( присутствие &П ) =
              ядро_вопрос_be[быть]( П ) /* ( Лицо, Число, Род ) */
	      мод_глагол[должен]( %Несов,%глагол,Лицо,Число,%настоящее,Род )
              @0[быть] ;
}
@Перевод
{
   @Структура ядро_вопрос_be_going_to_inf( см_глагола S1 ) =
              ядро_вопрос_be[be] @0[going] to_inf( &S1 ) ;
   @Структура ядро_вопрос_be_going_to_inf( присутствие &П ) =
              ядро_вопрос_be[собираться]( П ) to_inf( Число, Род );

}
@Перевод
{
   @Структура ядро_вопрос_be_going_to_be =
              ядро_вопрос_be[be] @0[going] @0[to] @0[be] ;
   @Структура ядро_вопрос_be_going_to_be( присутствие &П ) =
              ядро_вопрос_be[собираться]( П ) @0[быть] ;
}
@Перевод
{
   @Выбор     ядро_вопрос_модальное_be( см_глагола S1 ) =
	      !ядро_вопрос_be_to_inf      ( &S1 )
	       ядро_вопрос_be_to_be
	      !ядро_вопрос_be_going_to_inf( &S1 )
	       ядро_вопрос_be_going_to_be
	      ;
   @Выбор     ядро_вопрос_модальное_be( присутствие &П ) =
	      !ядро_вопрос_be_to_inf      ( П )
	       ядро_вопрос_be_to_be       ( П )
	      !ядро_вопрос_be_going_to_inf( П )
	       ядро_вопрос_be_going_to_be ( П )
	      ;
}
@Перевод
{ 
   @Структура ядро_вопрос_have_заставить( см_глагола S1 ) =
              ядро_have1_вопрос гр_сущ_а !глагол( &S1, %Ing );
   @Структура ядро_вопрос_have_заставить( присутствие &П ) =
	      ядро_have1_вопрос[заставить]( П )
	      гр_сущ_а( %Р ) !глагол( %Сов,%Inf,@0,@0,@0,@0,%Актив,@0 ) ;
}

// ----------------------- модальное ядро вопрос ---------------------------
@Перевод
{  @Структура ядро_вопрос_мочь( см_глагола S1 ) =
              мод_глагол[can]( &Форма ) _Not
	      гр_сущ( &Число, &Лицо ) !глагол( &S1, %Inf ) ;
   @Структура ядро_вопрос_мочь( присутствие &П ) =
	      _Not мод_глагол[мочь]( %Несов,%глагол,Лицо,Число,&Время,Род )
	      частица[ли]( П ) гр_сущ( &Число, &Лицо, %И, &Род )
	      !глагол( %Несов,%Inf,@0,@0,@0,@0,%Актив,@0 ) ;
   table_modal
}
@Перевод
{  @Структура ядро_вопрос_мочь_будущее( см_глагола S1 ) =	      
	      @0[will] гр_сущ( &Число, &Лицо )
	      _Not @0[be] @0[able] @0[to] !глагол( &S1, %Inf ) ;
   @Структура ядро_вопрос_мочь_будущее( присутствие &П ) =
              мод_глагол[мочь]( Cов,%глагол,Лицо,Число,%будущее,@0 ) _Not
	      частица[ли]( П ) гр_сущ( &Число, &Лицо, %И, &Род )	      
	      !глагол( %Сов,%Inf,@0,@0,@0,@0,%Актив,@0 ) ;
}
@Перевод
{  @Структура ядро_вопрос_должен( см_глагола S1 ) =
	      мод_глагол[must]( &Форма ) _Not
              гр_сущ( &Число, &Лицо ) !глагол( &S1, %Inf ) ;
   @Структура ядро_вопрос_должен( присутствие &П ) =
	      _Not мод_глагол[должен]( %Несов,%глагол,Лицо,Число,&Время,Род )
	      частица[ли]( П ) гр_сущ( &Число, &Лицо, %И, &Род )
	      !глагол( %Несов,%Inf,@0,@0,@0,@0,%Актив,@0 ) ;
   table_modal
}
@Перевод
{  @Структура ядро_вопрос_можно( см_глагола S1 ) =
	      мод_глагол[may]( &Форма ) _Not гр_сущ( &Число, &Лицо )
	      !глагол( &S1, %Inf ) ;
   @Структура ядро_вопрос_можно( присутствие &П ) =
	      _Not мод_глагол[можно]( %Несов,%глагол,Лицо,Число,&Время,@0 )
	      частица[ли]( П ) гр_сущ( &Число, &Лицо, %Д, &Род )
	      !глагол( %Несов,Inf,@0,@0,@0,@0,%Актив,@0 ) ;
   table_modal
}
@Перевод
{  @Структура ядро_вопрос_нужно( см_глагола S1 ) =
	      мод_глагол[need]( &Форма ) _Not гр_сущ( &Число, &Лицо )
	      !глагол( &S1, %Inf ) ;
   @Структура ядро_вопрос_нужно( присутствие &П ) =
	      _Not мод_глагол[нужно]( %Несов,%глагол,Лицо,Число,&Время,@0 )
	      частица[ли]( П ) гр_сущ( &Число, &Лицо, %Д, &Род )
	      !глагол( %Несов,%Inf,@0,@0,@0,@0,%Актив,@0 ) ;
   table_modal
}
@Перевод
{  @Структура ядро_вопрос_следует( см_глагола S1 ) =
	      мод_глагол[ought]( &Форма ) _Not гр_сущ( &Число, &Лицо ) @0[to]
	      !глагол( &S1, %Inf ) ;
   @Структура ядро_вопрос_следует( присутствие &П ) =
	      _Not мод_глагол[следует]( %Несов,%глагол,Лицо,Число,&Время,@0 )
	      частица[ли]( П ) гр_сущ( &Число, &Лицо, %Д, &Род )
	      !глагол( %Несов,%Inf,@0,@0,@0,@0,%Актив,@0 ) ;
   table_modal
}
@Перевод
{  @Структура ядро_вопрос_have_to_прошлое( см_глагола S1 ) =
	      @0[did] _Not гр_сущ( &Число, &Лицо ) @0[have] _Got @0[to]
	      !глагол( &S1, %Inf ) ;
   @Структура ядро_вопрос_have_to_прошлое( присутствие &П ) =
	      _Not мод_глагол[должен]( %Несов,%глагол,Лицо,Число,%прошлое,Род )	      
	      частица[ли]( П ) гр_сущ( &Число, &Лицо, %И, &Род )
	      !глагол( %Несов,%Inf,@0,@0,@0,@0,%Актив,@0 ) ;
   table_lizo( Лицо )
   table_chislo( Число )
}
@Перевод
{  @Структура ядро_вопрос_have_to_настоящее( см_глагола S1 ) =
	      _do _Not гр_сущ( &Число, &Лицо ) _Наречие @0[have] _Got @0[to]
	      !глагол( &S1, %Inf ) ;
   @Структура ядро_вопрос_have_to_настоящее( присутствие &П ) =
	      _Not мод_глагол[должен]( %Несов,%глагол,Лицо,Число,%настоящее,Род )
	      частица[ли]( П ) гр_сущ( &Число, &Лицо, %И, &Род )
	      _Наречие
	      !глагол( %Несов,%Inf,@0,@0,@0,@0,%Актив,@0 ) ;
   table_lizo( Лицо )
   table_chislo( Число )
}
@Перевод
{  @Структура ядро_вопрос_have_to_настоящее1( см_глагола S1 ) =
	      _have _Not гр_сущ( &Число, &Лицо ) _Got @0[to] глагол( &S1, %Inf ) ;
   @Структура ядро_вопрос_have_to_настоящее1( присутствие &П ) =
	      _Not мод_глагол[должен]( %Несов,%глагол,Лицо,Число,%настоящее,Род )
	      частица[ли]( П ) гр_сущ( &Число, &Лицо, %И, &Род )
	      !глагол( %Несов,%Inf,@0,@0,@0,@0,%Актив,@0 ) ;
   table_lizo( Лицо )
   table_chislo( Число )
}
@Перевод
{  @Структура ядро_вопрос_have_to_будущее( см_глагола S1 ) =
	      _will _Not гр_сущ( &Число, &Лицо ) @0[have] _Got @0[to]
	      !глагол<1>( &S1, %Inf ) ;
   @Структура ядро_вопрос_have_to_будущее( присутствие &П ) =
	      _Not глагол[быть]( %Сов,%глагол,Лицо,Число,%будущее,@0,%Актив,@0 )
	      частица[ли]( П ) гр_сущ( &Число, &Лицо, %И, &Род )
	      мод_глагол[должен]( %Несов,%глагол,Лицо,Число,%настоящее,Род )
	      !глагол<1>( %Несов,%Inf,@0,@0,@0,@0,%Актив,@0 ) ;
   table_lizo( Лицо )
   table_chislo( Число )
}
// ---------- вопрос модальный пассивный ------------------------
@Перевод
{  @Структура ядро_вопрос_пасс_мочь( см_глагола S1 ) =
              мод_глагол[can]( &Форма ) _Not гр_сущ( &Число, &Лицо )
	      @0[be] !глагол( &S1, %Form3 ) ;
   @Структура ядро_вопрос_пасс_мочь( присутствие &П ) =
	      _Not мод_глагол[мочь]( %Несов,%глагол,Лицо,Число,&Время,Род )
	      частица[ли]( П ) гр_сущ( &Число, &Лицо, %И, &Род )
	      @0[быть] !глагол( %Сов,%глагол,@0,Число,@0,Род,%Пассив,@0 ) ;
   table_modal
}
@Перевод
{  @Структура ядро_вопрос_пасс_должен( см_глагола S1 ) =
	      мод_глагол[must]( &Форма ) _Not гр_сущ( &Число, &Лицо )
	      @0[be] !глагол( &S1, %Form3 ) ;
   @Структура ядро_вопрос_пасс_должен( присутствие &П ) =
	      _Not мод_глагол[должен]( %Несов,%глагол,Лицо,Число,&Время,Род )
	      частица[ли]( П ) гр_сущ( &Число, &Лицо, %И, &Род )
	      @0[быть] !глагол( %Сов,%глагол,@0,Число,@0,Род,%Пассив,@0 ) ;
   table_modal
}
@Перевод
{  @Структура ядро_вопрос_пасс_можно( см_глагола S1 ) =
	      мод_глагол[may]( &Форма ) _Not гр_сущ( &Число, &Лицо )
	      @0[be] !глагол( &S1, %Form3 ) ;
   @Структура ядро_вопрос_пасс_можно( присутствие &П ) =
	      _Not мод_глагол[можно]( %Несов,%глагол,Лицо,Число,&Время,@0 )
	      частица[ли]( П ) гр_сущ( &Число, &Лицо, %Д, &Род )
	      @0[быть] !глагол( %Сов,%глагол,@0,Число,@0,Род,%Пассив,@0 ) ;
   table_modal
}
@Перевод
{  @Структура ядро_вопрос_пасс_нужно( см_глагола S1 ) =
	      мод_глагол[need]( &Форма ) _Not гр_сущ( &Число, &Лицо )
	      @0[be] !глагол( &S1, %Form3 ) ;
   @Структура ядро_вопрос_пасс_нужно( присутствие &П ) =
	      _Not мод_глагол[нужно]( %Несов,%глагол,Лицо,Число,&Время,@0 )
	      частица[ли]( П ) гр_сущ( &Число, &Лицо, %Д, &Род )
	      @0[быть] !глагол( %Сов,%глагол,@0,Число,@0,Род,%Пассив,@0 ) ;
   table_modal
}
@Перевод
{  @Структура ядро_вопрос_пасс_следует( см_глагола S1 ) =
	      мод_глагол[ought]( &Форма ) _Not гр_сущ( &Число, &Лицо ) @0[to]
	      @0[be] !глагол( &S1, %Form3 ) ;
   @Структура ядро_вопрос_пасс_следует( присутствие &П ) =
	      _Not мод_глагол[следует]( %Несов,%глагол,Лицо,Число,&Время,@0 )
	      частица[ли]( П ) гр_сущ( &Число, &Лицо, %Д, &Род )
	      @0[быть] !глагол( %Сов,%глагол,@0,Число,@0,Род,%Пассив,@0 ) ;
   table_modal
}
@Перевод
{  @Структура ядро_вопрос_пасс_have_to_прошлое( см_глагола S1 ) =
	      @0[did] _Not гр_сущ( &Число, &Лицо ) @0[have] _Got @0[to]
	      @0[be] !глагол( &S1, %Form3 ) ;
   @Структура ядро_вопрос_пасс_have_to_прошлое( присутствие &П ) =
	      _Not мод_глагол[должен]( %Несов,%глагол,Лицо,Число,%прошлое,Род )	      
	      частица[ли]( П ) гр_сущ( &Число, &Лицо, %И, &Род )
	      @0[быть] !глагол( %Сов,%глагол,@0,Число,@0,Род,%Пассив,@0 ) ;
   table_lizo( Лицо )
   table_chislo( Число )
}
@Перевод
{  @Структура ядро_вопрос_пасс_have_to_настоящее( см_глагола S1 ) =
	      _do _Not гр_сущ( &Число, &Лицо ) _Наречие @0[have] _Got @0[to]
	      @0[be] !глагол( &S1, %Form3 ) ;
   @Структура ядро_вопрос_пасс_have_to_настоящее( присутствие &П ) =
	      _Not мод_глагол[должен]( %Несов,%глагол,Лицо,Число,%настоящее,Род )
	      частица[ли]( П ) гр_сущ( &Число, &Лицо, %И, &Род ) _Наречие
	      @0[быть] !глагол( %Сов,%глагол,@0,Число,@0,Род,%Пассив,@0 ) ;
   table_lizo( Лицо )
   table_chislo( Число )
}
@Перевод
{  @Структура ядро_вопрос_пасс_have_to_настоящее1( см_глагола S1 ) =
	      _have _Not гр_сущ( &Число, &Лицо ) _Got @0[to] @0[be] глагол( &S1, %Form3 ) ;
   @Структура ядро_вопрос_пасс_have_to_настоящее1( присутствие &П ) =
	      _Not мод_глагол[должен]( %Несов,%глагол,Лицо,Число,%настоящее,Род )
	      частица[ли]( П ) гр_сущ( &Число, &Лицо, %И, &Род )
	      @0[быть] !глагол( %Сов,%глагол,@0,Число,@0,Род,%Пассив,@0 ) ;
   table_lizo( Лицо )
   table_chislo( Число )
}
@Перевод
{  @Структура ядро_вопрос_пасс_have_to_будущее( см_глагола S1 ) =
	      _will _Not гр_сущ( &Число, &Лицо ) @0[have] _Got @0[to]
	      @0[be] !глагол<1>( &S1, %Form3 ) ;
   @Структура ядро_вопрос_пасс_have_to_будущее( присутствие &П ) =
	      _Not глагол[быть]( %Сов,%глагол,Лицо,Число,%будущее,@0,%Актив,@0 )
	      частица[ли]( П ) гр_сущ( &Число, &Лицо, %И, &Род )
	      мод_глагол[должен]( %Несов,%глагол,Лицо,Число,%настоящее,Род )
	      @0[быть] !глагол<1>( %Сов,%глагол,@0,Число,@0,Род,%Пассив,@0 ) ;
   table_lizo( Лицо )
   table_chislo( Число )
}

@Перевод
{
   @Выбор     ядро_вопрос_модальное( см_глагола S1 ) = 
	      !ядро_вопрос_мочь              ( &S1 )
	      !ядро_вопрос_мочь_будущее      ( &S1 )
	      !ядро_вопрос_должен            ( &S1 )
	      !ядро_вопрос_можно             ( &S1 )
	      !ядро_вопрос_нужно             ( &S1 )
	      !ядро_вопрос_следует           ( &S1 )
	      !ядро_вопрос_have_to_прошлое   ( &S1 )
	      !ядро_вопрос_have_to_настоящее ( &S1 )
	      !ядро_вопрос_have_to_настоящее1( &S1 )
	      !ядро_вопрос_have_to_будущее   ( &S1 )
	      !ядро_вопрос_модальное_be      ( &S1 )
	      !ядро_вопрос_have_заставить    ( &S1 )

	      !ядро_вопрос_пасс_мочь              ( &S1 )
	      !ядро_вопрос_пасс_должен            ( &S1 )
	      !ядро_вопрос_пасс_можно             ( &S1 )
	      !ядро_вопрос_пасс_нужно             ( &S1 )
	      !ядро_вопрос_пасс_следует           ( &S1 )
	      !ядро_вопрос_пасс_have_to_прошлое   ( &S1 )
	      !ядро_вопрос_пасс_have_to_настоящее ( &S1 )
	      !ядро_вопрос_пасс_have_to_настоящее1( &S1 )
	      !ядро_вопрос_пасс_have_to_будущее   ( &S1 )
	      ;
   @Выбор     ядро_вопрос_модальное( присутствие &П ) = 
	      !ядро_вопрос_мочь                   ( П )
	      !ядро_вопрос_мочь_будущее           ( П )
	      !ядро_вопрос_должен                 ( П )
	      !ядро_вопрос_можно                  ( П )
	      !ядро_вопрос_нужно                  ( П )
	      !ядро_вопрос_следует                ( П )
	      !ядро_вопрос_have_to_прошлое        ( П )
	      !ядро_вопрос_have_to_настоящее      ( П )
      	      !ядро_вопрос_have_to_настоящее1     ( П )
	      !ядро_вопрос_have_to_будущее        ( П )
	      !ядро_вопрос_модальное_be           ( П )
	      !ядро_вопрос_have_заставить         ( П )

	      !ядро_вопрос_пасс_мочь              ( П )
	      !ядро_вопрос_пасс_должен            ( П )
	      !ядро_вопрос_пасс_можно             ( П )
	      !ядро_вопрос_пасс_нужно             ( П )
	      !ядро_вопрос_пасс_следует           ( П )
	      !ядро_вопрос_пасс_have_to_прошлое   ( П )
	      !ядро_вопрос_пасс_have_to_настоящее ( П )
      	      !ядро_вопрос_пасс_have_to_настоящее1( П )
	      !ядро_вопрос_пасс_have_to_будущее   ( П )
	      ;
}
// ---------- ядро wheter модальное ---------------------------
@Перевод
{  @Структура ядро_wheter_мочь( см_глагола S1 ) =
	      гр_сущ( &Число, &Лицо )
	      мод_глагол[can]( &Форма ) _Not !глагол( &S1, %Inf ) ;
   @Структура ядро_wheter_мочь =
              _Not мод_глагол[мочь]( %Несов,%глагол,Лицо,Число,&Время,Род ) @0[ли]
	      гр_сущ( &Число, &Лицо, %И, &Род )
	      !глагол( %Сов,%Inf,@0,@0,@0,@0,%Актив,@0 ) ;
   table_modal
}
@Перевод
{  @Структура ядро_wheter_мочь_будущее( см_глагола S1 ) =
	      гр_сущ( &Число, &Лицо )
	      @0[will] _Not @0[be] @0[able] @0[to] !глагол( &S1, %Inf ) ;
   @Структура ядро_wheter_мочь_будущее =
	      _Not мод_глагол[мочь]( Cов,%глагол,Лицо,Число,%будущее,@0 ) @0[ли]
	      гр_сущ( &Число, &Лицо, %И, &Род )
	      !глагол( %Сов,%Inf,@0,@0,@0,@0,%Актив,@0 ) ;
   table_lizo( Лицо )
   table_chislo( Число )
}
@Перевод
{  @Структура ядро_wheter_должен( см_глагола S1 ) =
	      гр_сущ( &Число, &Лицо )
	      мод_глагол[must]( &Форма ) _Not !глагол( &S1, %Inf ) ;
   @Структура ядро_wheter_должен =
	      _Not мод_глагол[должен]( %Несов,%глагол,Лицо,Число,&Время,@0 ) @0[ли]
	      гр_сущ( &Число, &Лицо, %И, &Род )
	      !глагол( %Несов,%Inf,@0,@0,@0,@0,%Актив,@0 ) ;
   table_modal
}
@Перевод
{  @Структура ядро_wheter_можно( см_глагола S1 ) =
	      гр_сущ( &Число, &Лицо ) мод_глагол[may]( &Форма ) !глагол( &S1, %Inf ) ;
   @Структура ядро_wheter_можно =
	      мод_глагол[можно]( %Несов,%глагол,Лицо,Число,&Время,Род ) @0[ли]
	      гр_сущ( &Число, &Лицо, %Д, &Род )
	      !глагол( %Несов,%Inf,@0,@0,@0,@0,%Актив,@0 ) ;
   table_modal
}
@Перевод
{  @Структура ядро_wheter_можно_отр( см_глагола S1 ) =
	      гр_сущ( &Число, &Лицо )
	      мод_глагол[may]( &Форма ) @0[not] !глагол( &S1, %Inf ) ;
   @Структура ядро_wheter_можно_отр =
	      мод_глагол[нельзя]( %Несов,%глагол,Лицо,Число,&Время,@0 ) @0[ли]
	      гр_сущ( &Число, &Лицо, %Д, &Род )
	      !глагол( %Несов,%Inf,@0,@0,@0,@0,%Актив,@0 ) ;
   table_modal
}
@Перевод
{  @Структура ядро_wheter_нужно( см_глагола S1 ) =
	      гр_сущ( &Число, &Лицо )
	      мод_глагол[need]( &Форма ) _Not !глагол( &S1, %Inf ) ;
   @Структура ядро_wheter_нужно =
	       _Not мод_глагол[нужно]( %Несов,%глагол,Лицо,Число,&Время,@0 ) @0[ли]
	      гр_сущ( &Число, &Лицо, %Д, &Род )
	      !глагол( %Несов,%Inf,@0,@0,@0,@0,%Актив,@0 ) ;
   table_modal
}
@Перевод
{  @Структура ядро_wheter_следует( см_глагола S1 ) =
	      гр_сущ( &Число, &Лицо )
	      мод_глагол[ought]( &Форма ) _Not @0[to] !глагол( &S1, %Inf ) ;
   @Структура ядро_wheter_следует =
	      _Not мод_глагол[следует]( %Несов,%глагол,Лицо,Число,&Время,@0 ) @0[ли]
	      гр_сущ( &Число, &Лицо, %Д, &Род )
	      !глагол( %Несов,%Inf,@0,@0,@0,@0,%Актив,@0 ) ;
   table_modal
}
@Перевод
{  @Структура ядро_wheter_have_to_прошлое( см_глагола S1 ) =
	      гр_сущ( &Число, &Лицо )
	      @0[had] _Not _Got @0[to] !глагол( &S1, %Inf ) ;
   @Структура ядро_wheter_have_to_прошлое =
	      _Not мод_глагол[должен]( %Несов,%глагол,Лицо,Число,%прошлое,@0 ) @0[ли]
	      гр_сущ( &Число, &Лицо, %И, &Род )
	      !глагол( %Несов,%Inf,@0,@0,@0,@0,%Актив,@0 ) ;
   table_lizo( Лицо )
   table_chislo( Число )
}
@Перевод
{  @Структура ядро_wheter_have_to_настоящее( см_глагола S1 ) =
	      гр_сущ( &Число, &Лицо )
	      _have _Not _Got @0[to] !глагол( &S1, %Inf ) ;
   @Структура ядро_wheter_have_to_настоящее =
              _Not мод_глагол[должен]( %Несов,%глагол,Лицо,Число,%настоящее,@0 ) @0[ли]
	      гр_сущ( &Число, &Лицо, %И, &Род )
	      !глагол( %Несов,Inf,@0,@0,@0,@0,%Актив,@0 ) ;
   table_lizo( Лицо )
   table_chislo( Число )
}
@Перевод
{  @Структура ядро_wheter_have_to_отр_настоящее( см_глагола S1 ) =
	      гр_сущ( &Число, &Лицо )
	      _do @0[not] _have _Got @0[to] !глагол( &S1, %Inf ) ;
   @Структура ядро_wheter_have_to_отр_настоящее =
              @0[не] мод_глагол[должен]( %Несов,%глагол,Лицо,Число,%настоящее,@0 ) @0[ли]
	      гр_сущ( &Число, &Лицо, %И, &Род )	      
	      !глагол( %Несов,%Inf,@0,@0,@0,@0,%Актив,@0 ) ;
   table_lizo( Лицо )
   table_chislo( Число )
}
@Перевод
{  @Структура ядро_wheter_have_to_будущее( см_глагола S1 ) =
	      гр_сущ( &Число, &Лицо )
	      _will @0[have] _Not _Got @0[to] !глагол<1>( &S1, %Inf ) ;
   @Структура ядро_wheter_have_to_будущее =
	      _Not глагол[быть]( %Сов,%глагол,Лицо,Число,%будущее,@0,%Актив,@0 ) @0[ли]
	      гр_сущ( &Число, &Лицо, %И, &Род )
	      мод_глагол[должен]( %Несов,%глагол,Лицо,Число,%настоящее,Род )
	      !глагол<1>( %Несов,%Inf,@0,@0,@0,@0,%Актив,@0 ) ;
   table_lizo( Лицо )
   table_chislo( Число )
}
/*
@Перевод
{
   @Выбор     ядро_wheter_модальное = 
	      !ядро_wheter_мочь
	      !ядро_wheter_мочь_будущее
	      !ядро_wheter_должен
	      !ядро_wheter_можно
	      !ядро_wheter_нужно
	      !ядро_wheter_следует
	      !ядро_wheter_have_to_прошлое
	      !ядро_wheter_have_to_настоящее
	      !ядро_wheter_have_to_отр_настоящее
	      !ядро_wheter_have_to_будущее
	      ;
   @Выбор     ядро_wheter_модальное = 
	      !ядро_wheter_мочь
	      !ядро_wheter_мочь_будущее
	      !ядро_wheter_должен
	      !ядро_wheter_можно
	      !ядро_wheter_нужно
	      !ядро_wheter_следует
	      !ядро_wheter_have_to_прошлое
	      !ядро_wheter_have_to_настоящее
      	      !ядро_wheter_have_to_отр_настоящее
	      !ядро_wheter_have_to_будущее
	      ;
}
*/
