// **************************************************************************
//
//                     Ядро с модальными глаголами
//
//                     ядро_модальное
//                     ядро_вопрос_модальное
// **************************************************************************
@Перевод
{
   @Структура  ядро_have_have_заставить = ядро_have1 гр_сущ_а @0[having] ;
   @Структура  ядро_have_have_заставить = 
               ядро_have1[заставить]  гр_сущ_а( %Р ) @0[иметь] ;
}

@Перевод
{
   @Структура  ядро_have_мочь = 
               гр_сущ_м( &Число, &Лицо ) 
               мод_глагол[can] ( &Форма ) 
               _No_p 
               @0[have] 
               ;
   @Структура  ядро_have_мочь( число &Число, род &Род, падеж Падеж ) = 
               @0[У] 
               гр_сущ_м( &Число1, &Лицо, %Р, &Род1 ) 
               _No_p( &Падеж ) 
               мод_глагол[мочь] ( %Несов, %глагол, %3е, Число, &Время, Род ) 
               @0[быть] 
               ;
   @Таблица( форма Форма = время Время ) 
   { Inf = настоящее ; 
     Form2 = прошлое ; 
   }
}

@Перевод
{
   @Структура  ядро_have_мочь_будущее = 
               гр_сущ_м( &Число, &Лицо ) 
               @0[will] 
               _Not 
               @0[be] 
               @0[able] 
               @0[to] 
               @0[have] 
               ;
   @Структура  ядро_have_мочь_будущее = 
               @0[У] 
               гр_сущ_м( &Число, &Лицо, %Р, &Род ) 
               _Not 
               мод_глагол[мочь] ( %Сов, %глагол, %3е, Число, %будущее, @0 ) 
               @0[быть] 
               ;
}

@Перевод
{
   @Структура  ядро_have_должен = 
               гр_сущ_м( &Число, &Лицо ) 
               мод_глагол[must] ( &Форма ) 
               _No_p 
               _Наречие 
               @0[have] 
               ;
   @Структура  ядро_have_должен( число &Число, род &Род, падеж Падеж ) = 
               @0[У] 
               гр_сущ_м( &Число1, &Лицо, %Р, &Род1 ) 
               _Наречие 
               _No_p( &Падеж ) 
               мод_глагол[должен] ( %Несов, %глагол, %3е, Число, &Время, Род ) 
               @0[быть] 
               ;
   @Таблица( форма Форма = время Время ) 
   { Inf = настоящее ; 
     Form2 = прошлое ; 
   }
}

@Перевод
{
   @Структура  ядро_have_можно = 
               гр_сущ_м( &Число, &Лицо ) 
               мод_глагол[may] ( &Форма ) 
               _Наречие 
               @0[have] 
               ;
   @Структура  ядро_have_можно = 
               гр_сущ_м( &Число, &Лицо, %Д, &Род ) 
               _Наречие 
               мод_глагол[можно] ( %Несов, %глагол, Лицо, Число, &Время, Род ) 
               @0[иметь] 
               ;
   @Таблица( форма Форма = время Время ) 
   { Inf = настоящее ; 
     Form2 = прошлое ; 
   }
}

@Перевод
{
   @Структура  ядро_have_можно_отр = 
               гр_сущ_м( &Число, &Лицо ) 
               мод_глагол[may] ( &Форма ) 
               @0[not] 
               _Наречие 
               @0[have] 
               ;
   @Структура  ядро_have_можно_отр = 
               гр_сущ_м( &Число, &Лицо, %Д, &Род ) 
               _Наречие 
               мод_глагол[нельзя] ( %Несов, %глагол, Лицо, Число, &Время, @0 ) 
               @0[иметь] 
               ;
   @Таблица( форма Форма = время Время ) 
   { Inf = настоящее ; 
     Form2 = прошлое ; 
   }
}

@Перевод
{
   @Структура  ядро_have_нужно = 
               гр_сущ_м( &Число, &Лицо ) 
               мод_глагол[need] ( &Форма ) 
               _No_p 
               _Наречие 
               @0[have] 
               ;
   @Структура  ядро_have_нужно( падеж Падеж ) = 
               гр_сущ_м( &Число, &Лицо, %Д, &Род ) 
               _Наречие 
               _No_p( &Падеж ) 
               мод_глагол[нужно] ( %Несов, %глагол, Лицо, Число, &Время, @0 ) 
               @0[иметь] 
               ;
   @Таблица( форма Форма = время Время ) 
   { Inf = настоящее ; 
     Form2 = прошлое ; 
   }
}

@Перевод
{
   @Структура  ядро_have_следует = 
               гр_сущ_м( &Число, &Лицо ) 
               мод_глагол[ought] ( &Форма ) 
               _No_p 
               _Наречие 
               @0[to] 
               @0[have] 
               ;
   @Структура  ядро_have_следует( падеж Падеж ) = 
               гр_сущ_м( &Число, &Лицо, %Д, &Род ) 
               _Наречие 
               _No_p( &Падеж ) 
               мод_глагол[следует] ( %Несов, %глагол, Лицо, Число, &Время, @0 ) 
               @0[иметь] 
               ;
   @Таблица( форма Форма = время Время ) 
   { Inf = настоящее ; 
     Form2 = прошлое ; 
   }
}

@Перевод
{
   @Структура  ядро_have_have_to_прошлое = 
               гр_сущ_м( &Число, &Лицо ) @0[had] _Not _Got @0[to] @0[have] ;
   @Структура  ядро_have_have_to_прошлое = 
               гр_сущ_м( &Число, &Лицо, %И, &Род ) 
               _Not 
               мод_глагол[должен] ( %Несов, %глагол, Лицо, Число, %прошлое, @0 ) 
               @0[иметь] 
               ;
}

@Перевод
{
   @Структура  ядро_have_have_to_настоящее = 
               гр_сущ_м( &Число, &Лицо ) _have _Not _Got @0[to] @0[have] ;
   @Структура  ядро_have_have_to_настоящее = 
               гр_сущ_м( &Число, &Лицо, %И, &Род ) 
               _Not 
               мод_глагол[должен] ( %Несов, %глагол, Лицо, Число, %настоящее, @0 ) 
               @0[иметь] 
               ;
}

@Перевод
{
   @Структура  ядро_have_have_to_отр_настоящее = 
               гр_сущ_м( &Число, &Лицо ) 
               _do 
               @0[not] 
               _have 
               _Got 
               @0[to] 
               @0[have] 
               ;
   @Структура  ядро_have_have_to_отр_настоящее = 
               гр_сущ_м( &Число, &Лицо, %И, &Род ) 
               @0[не] 
               мод_глагол[должен] ( %Несов, %глагол, Лицо, Число, %настоящее, @0 ) 
               @0[иметь] 
               ;
}

@Перевод
{
   @Структура  ядро_have_have_to_будущее = 
               гр_сущ_м( &Число, &Лицо ) 
               _will 
               @0[have] 
               _Not 
               _Got 
               @0[to] 
               @0[have] 
               ;
   @Структура  ядро_have_have_to_будущее = 
               гр_сущ_м( &Число, &Лицо, %И, &Род ) 
               _Not 
               глагол[быть] ( %Сов, %глагол, Лицо, Число, %будущее, @0, %Актив, @0 ) 
               мод_глагол[должен] ( %Несов, %глагол, Лицо, Число, %настоящее, Род ) 
               @0[иметь] 
               ;
}

@Перевод
{
   @Выбор      ядро_have_модальное = 
               ядро_have_мочь 
               ядро_have_мочь_будущее 
               ядро_have_должен 
               ядро_have_можно 
               ядро_have_можно_отр 
               ядро_have_нужно 
               ядро_have_следует 
               ядро_have_have_to_прошлое 
               ядро_have_have_to_настоящее 
               ядро_have_have_to_отр_настоящее 
               ядро_have_have_to_будущее 
               ядро_have_have_заставить 
               ;
   @Выбор      ядро_have_модальное( число &Число, род &Род, падеж Падеж ) = 
               ядро_have_мочь( Число, Род, &Падеж ) 
               ядро_have_мочь_будущее 
               ядро_have_должен( Число, Род, &Падеж ) 
               ядро_have_можно 
               ядро_have_можно_отр 
               ядро_have_нужно( &Падеж ) 
               ядро_have_следует( &Падеж ) 
               ядро_have_have_to_прошлое 
               ядро_have_have_to_настоящее 
               ядро_have_have_to_отр_настоящее 
               ядро_have_have_to_будущее 
               ядро_have_have_заставить 
               ;
}

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

@Перевод
{
   @Структура  ядро_have_вопрос_be_going_to_inf = 
               ядро_вопрос_be[be]  @0[going] @0[have] ;
   @Структура  ядро_have_вопрос_be_going_to_inf( присутствие &П ) = 
               ядро_вопрос_be[собираться] ( П ) @0[иметь] ;
}

@Перевод
{
   @Структура  ядро_have_вопрос_have_заставить = 
               ядро_have1_вопрос гр_сущ_а @0[having] ;
   @Структура  ядро_have_вопрос_have_заставить( присутствие &П ) = 
               ядро_have1_вопрос[заставить] ( П ) гр_сущ_а( %Р ) @0[иметь] ;
}

// ----------------------- модальное ядро вопрос ---------------------------
@Перевод
{
   @Структура  ядро_have_вопрос_мочь = 
               мод_глагол[can] ( &Форма ) 
               _Not 
               гр_сущ( &Число, &Лицо ) 
               @0[have] 
               ;
   @Структура  ядро_have_вопрос_мочь( присутствие &П ) = 
               _Not 
               мод_глагол[мочь] ( %Несов, %глагол, Лицо, Число, &Время, Род ) 
               частица[ли] ( П ) 
               гр_сущ( &Число, &Лицо, %И, &Род ) 
               @0[иметь] 
               ;
   @Таблица( лицо Лицо = лицо Лицо ) 
   { 1е = 1е ; 
     2е = 2е ; 
     3е = 3е ; 
   }
   @Таблица( число Число = число Число ) 
   { Ед = Ед ; 
     Мн = Мн ; 
   }
   @Таблица( форма Форма = время Время ) 
   { Inf = настоящее ; 
     Form2 = прошлое ; 
   }
}

@Перевод
{
   @Структура  ядро_have_вопрос_должен = 
               мод_глагол[must] ( &Форма ) 
               _Not 
               гр_сущ( &Число, &Лицо ) 
               @0[have] 
               ;
   @Структура  ядро_have_вопрос_должен( присутствие &П ) = 
               _Not 
               мод_глагол[должен] ( %Несов, %глагол, Лицо, Число, &Время, Род ) 
               частица[ли] ( П ) 
               гр_сущ( &Число, &Лицо, %И, &Род ) 
               @0[иметь] 
               ;
   @Таблица( лицо Лицо = лицо Лицо ) 
   { 1е = 1е ; 
     2е = 2е ; 
     3е = 3е ; 
   }
   @Таблица( число Число = число Число ) 
   { Ед = Ед ; 
     Мн = Мн ; 
   }
   @Таблица( форма Форма = время Время ) 
   { Inf = настоящее ; 
     Form2 = прошлое ; 
   }
}

@Перевод
{
   @Структура  ядро_have_вопрос_можно = 
               мод_глагол[may] ( &Форма ) 
               _Not 
               гр_сущ( &Число, &Лицо ) 
               @0[have] 
               ;
   @Структура  ядро_have_вопрос_можно( присутствие &П ) = 
               _Not 
               мод_глагол[можно] ( %Несов, %глагол, Лицо, Число, &Время, @0 ) 
               частица[ли] ( П ) 
               гр_сущ( &Число, &Лицо, %Д, &Род ) 
               @0[иметь] 
               ;
   @Таблица( лицо Лицо = лицо Лицо ) 
   { 1е = 1е ; 
     2е = 2е ; 
     3е = 3е ; 
   }
   @Таблица( число Число = число Число ) 
   { Ед = Ед ; 
     Мн = Мн ; 
   }
   @Таблица( форма Форма = время Время ) 
   { Inf = настоящее ; 
     Form2 = прошлое ; 
   }
}

@Перевод
{
   @Структура  ядро_have_вопрос_нужно = 
               мод_глагол[need] ( &Форма ) 
               _Not 
               гр_сущ( &Число, &Лицо ) 
               @0[have] 
               ;
   @Структура  ядро_have_вопрос_нужно( присутствие &П ) = 
               _Not 
               мод_глагол[нужно] ( %Несов, %глагол, Лицо, Число, &Время, @0 ) 
               частица[ли] ( П ) 
               гр_сущ( &Число, &Лицо, %Д, &Род ) 
               @0[иметь] 
               ;
   @Таблица( лицо Лицо = лицо Лицо ) 
   { 1е = 1е ; 
     2е = 2е ; 
     3е = 3е ; 
   }
   @Таблица( число Число = число Число ) 
   { Ед = Ед ; 
     Мн = Мн ; 
   }
   @Таблица( форма Форма = время Время ) 
   { Inf = настоящее ; 
     Form2 = прошлое ; 
   }
}

@Перевод
{
   @Структура  ядро_have_вопрос_следует = 
               мод_глагол[ought] ( &Форма ) 
               _Not 
               гр_сущ( &Число, &Лицо ) 
               @0[to] 
               @0[have] 
               ;
   @Структура  ядро_have_вопрос_следует( присутствие &П ) = 
               _Not 
               мод_глагол[следует] ( %Несов, %глагол, Лицо, Число, &Время, @0 ) 
               частица[ли] ( П ) 
               гр_сущ( &Число, &Лицо, %Д, &Род ) 
               @0[иметь] 
               ;
   @Таблица( лицо Лицо = лицо Лицо ) 
   { 1е = 1е ; 
     2е = 2е ; 
     3е = 3е ; 
   }
   @Таблица( число Число = число Число ) 
   { Ед = Ед ; 
     Мн = Мн ; 
   }
   @Таблица( форма Форма = время Время ) 
   { Inf = настоящее ; 
     Form2 = прошлое ; 
   }
}

@Перевод
{
   @Структура  ядро_have_вопрос_have_to_прошлое = 
               @0[did] 
               _Not 
               гр_сущ( &Число, &Лицо ) 
               @0[have] 
               _Got 
               @0[to] 
               @0[have] 
               ;
   @Структура  ядро_have_вопрос_have_to_прошлое( присутствие &П ) = 
               _Not 
               мод_глагол[должен] ( %Несов, %глагол, Лицо, Число, %прошлое, Род ) 
               частица[ли] ( П ) 
               гр_сущ( &Число, &Лицо, %И, &Род ) 
               @0[иметь] 
               ;
   @Таблица( лицо Лицо = лицо Лицо ) 
   { 1е = 1е ; 
     2е = 2е ; 
     3е = 3е ; 
   }
   @Таблица( число Число = число Число ) 
   { Ед = Ед ; 
     Мн = Мн ; 
   }
}

@Перевод
{
   @Структура  ядро_have_вопрос_have_to_настоящее = 
               _do 
               _Not 
               гр_сущ( &Число, &Лицо ) 
               _Наречие 
               @0[have] 
               _Got 
               @0[to] 
               @0[have] 
               ;
   @Структура  ядро_have_вопрос_have_to_настоящее( присутствие &П ) = 
               _Not 
               мод_глагол[должен] ( %Несов, %глагол, Лицо, Число, %настоящее, Род ) 
               частица[ли] ( П ) 
               гр_сущ( &Число, &Лицо, %И, &Род ) 
               _Наречие 
               @0[иметь] 
               ;
   @Таблица( лицо Лицо = лицо Лицо ) 
   { 1е = 1е ; 
     2е = 2е ; 
     3е = 3е ; 
   }
   @Таблица( число Число = число Число ) 
   { Ед = Ед ; 
     Мн = Мн ; 
   }
}

@Перевод
{
   @Структура  ядро_have_вопрос_have_to_настоящее1 = 
               _have _Not гр_сущ( &Число, &Лицо ) _Got @0[to] @0[have] ;
   @Структура  ядро_have_вопрос_have_to_настоящее1( присутствие &П ) = 
               _Not 
               мод_глагол[должен] ( %Несов, %глагол, Лицо, Число, %настоящее, Род ) 
               частица[ли] ( П ) 
               гр_сущ( &Число, &Лицо, %И, &Род ) 
               @0[иметь] 
               ;
   @Таблица( лицо Лицо = лицо Лицо ) 
   { 1е = 1е ; 
     2е = 2е ; 
     3е = 3е ; 
   }
   @Таблица( число Число = число Число ) 
   { Ед = Ед ; 
     Мн = Мн ; 
   }
}

@Перевод
{
   @Структура  ядро_have_вопрос_have_to_будущее = 
               _will 
               _Not 
               гр_сущ( &Число, &Лицо ) 
               @0[have] 
               _Got 
               @0[to] 
               @0[have] 
               ;
   @Структура  ядро_have_вопрос_have_to_будущее( присутствие &П ) = 
               _Not 
               глагол[быть] ( %Сов, %глагол, Лицо, Число, %будущее, @0, %Актив, @0 ) 
               частица[ли] ( П ) 
               гр_сущ( &Число, &Лицо, %И, &Род ) 
               мод_глагол[должен] ( %Несов, %глагол, Лицо, Число, %настоящее, Род ) 
               @0[иметь] 
               ;
   @Таблица( лицо Лицо = лицо Лицо ) 
   { 1е = 1е ; 
     2е = 2е ; 
     3е = 3е ; 
   }
   @Таблица( число Число = число Число ) 
   { Ед = Ед ; 
     Мн = Мн ; 
   }
}

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

// ---------- ядро wheter модальное ---------------------------
@Перевод
{
   @Структура  ядро_have_wheter_мочь = 
               гр_сущ( &Число, &Лицо ) 
               мод_глагол[can] ( &Форма ) 
               _Not 
               @0[have] 
               ;
   @Структура  ядро_have_wheter_мочь = 
               _Not 
               мод_глагол[мочь] ( %Несов, %глагол, Лицо, Число, &Время, Род ) 
               @0[ли] 
               гр_сущ( &Число, &Лицо, %И, &Род ) 
               @0[иметь] 
               ;
   @Таблица( лицо Лицо = лицо Лицо ) 
   { 1е = 1е ; 
     2е = 2е ; 
     3е = 3е ; 
   }
   @Таблица( число Число = число Число ) 
   { Ед = Ед ; 
     Мн = Мн ; 
   }
   @Таблица( форма Форма = время Время ) 
   { Inf = настоящее ; 
     Form2 = прошлое ; 
   }
}

@Перевод
{
   @Структура  ядро_have_wheter_мочь_будущее = 
               гр_сущ( &Число, &Лицо ) 
               @0[will] 
               _Not 
               @0[be] 
               @0[able] 
               @0[to] 
               @0[have] 
               ;
   @Структура  ядро_have_wheter_мочь_будущее = 
               _Not 
               мод_глагол[мочь] ( Cов, %глагол, Лицо, Число, %будущее, @0 ) 
               @0[ли] 
               гр_сущ( &Число, &Лицо, %И, &Род ) 
               @0[иметь] 
               ;
   @Таблица( лицо Лицо = лицо Лицо ) 
   { 1е = 1е ; 
     2е = 2е ; 
     3е = 3е ; 
   }
   @Таблица( число Число = число Число ) 
   { Ед = Ед ; 
     Мн = Мн ; 
   }
}

@Перевод
{
   @Структура  ядро_have_wheter_должен = 
               гр_сущ( &Число, &Лицо ) 
               мод_глагол[must] ( &Форма ) 
               _Not 
               @0[have] 
               ;
   @Структура  ядро_have_wheter_должен = 
               _Not 
               мод_глагол[должен] ( %Несов, %глагол, Лицо, Число, &Время, @0 ) 
               @0[ли] 
               гр_сущ( &Число, &Лицо, %И, &Род ) 
               @0[иметь] 
               ;
   @Таблица( лицо Лицо = лицо Лицо ) 
   { 1е = 1е ; 
     2е = 2е ; 
     3е = 3е ; 
   }
   @Таблица( число Число = число Число ) 
   { Ед = Ед ; 
     Мн = Мн ; 
   }
   @Таблица( форма Форма = время Время ) 
   { Inf = настоящее ; 
     Form2 = прошлое ; 
   }
}

@Перевод
{
   @Структура  ядро_have_wheter_можно = 
               гр_сущ( &Число, &Лицо ) мод_глагол[may] ( &Форма ) @0[have] ;
   @Структура  ядро_have_wheter_можно = 
               мод_глагол[можно] ( %Несов, %глагол, Лицо, Число, &Время, Род ) 
               @0[ли] 
               гр_сущ( &Число, &Лицо, %Д, &Род ) 
               @0[иметь] 
               ;
   @Таблица( лицо Лицо = лицо Лицо ) 
   { 1е = 1е ; 
     2е = 2е ; 
     3е = 3е ; 
   }
   @Таблица( число Число = число Число ) 
   { Ед = Ед ; 
     Мн = Мн ; 
   }
   @Таблица( форма Форма = время Время ) 
   { Inf = настоящее ; 
     Form2 = прошлое ; 
   }
}

@Перевод
{
   @Структура  ядро_have_wheter_можно_отр = 
               гр_сущ( &Число, &Лицо ) 
               мод_глагол[may] ( &Форма ) 
               @0[not] 
               @0[have] 
               ;
   @Структура  ядро_have_wheter_можно_отр = 
               мод_глагол[нельзя] ( %Несов, %глагол, Лицо, Число, &Время, @0 ) 
               @0[ли] 
               гр_сущ( &Число, &Лицо, %Д, &Род ) 
               @0[иметь] 
               ;
   @Таблица( лицо Лицо = лицо Лицо ) 
   { 1е = 1е ; 
     2е = 2е ; 
     3е = 3е ; 
   }
   @Таблица( число Число = число Число ) 
   { Ед = Ед ; 
     Мн = Мн ; 
   }
   @Таблица( форма Форма = время Время ) 
   { Inf = настоящее ; 
     Form2 = прошлое ; 
   }
}

@Перевод
{
   @Структура  ядро_have_wheter_нужно = 
               гр_сущ( &Число, &Лицо ) 
               мод_глагол[need] ( &Форма ) 
               _Not 
               @0[have] 
               ;
   @Структура  ядро_have_wheter_нужно = 
               _Not 
               мод_глагол[нужно] ( %Несов, %глагол, Лицо, Число, &Время, @0 ) 
               @0[ли] 
               гр_сущ( &Число, &Лицо, %Д, &Род ) 
               @0[иметь] 
               ;
   @Таблица( лицо Лицо = лицо Лицо ) 
   { 1е = 1е ; 
     2е = 2е ; 
     3е = 3е ; 
   }
   @Таблица( число Число = число Число ) 
   { Ед = Ед ; 
     Мн = Мн ; 
   }
   @Таблица( форма Форма = время Время ) 
   { Inf = настоящее ; 
     Form2 = прошлое ; 
   }
}

@Перевод
{
   @Структура  ядро_have_wheter_следует = 
               гр_сущ( &Число, &Лицо ) 
               мод_глагол[ought] ( &Форма ) 
               _Not 
               @0[to] 
               @0[have] 
               ;
   @Структура  ядро_have_wheter_следует = 
               _Not 
               мод_глагол[следует] ( %Несов, %глагол, Лицо, Число, &Время, @0 ) 
               @0[ли] 
               гр_сущ( &Число, &Лицо, %Д, &Род ) 
               @0[иметь] 
               ;
   @Таблица( лицо Лицо = лицо Лицо ) 
   { 1е = 1е ; 
     2е = 2е ; 
     3е = 3е ; 
   }
   @Таблица( число Число = число Число ) 
   { Ед = Ед ; 
     Мн = Мн ; 
   }
   @Таблица( форма Форма = время Время ) 
   { Inf = настоящее ; 
     Form2 = прошлое ; 
   }
}

@Перевод
{
   @Структура  ядро_have_wheter_have_to_прошлое = 
               гр_сущ( &Число, &Лицо ) @0[had] _Not _Got @0[to] @0[have] ;
   @Структура  ядро_have_wheter_have_to_прошлое = 
               _Not 
               мод_глагол[должен] ( %Несов, %глагол, Лицо, Число, %прошлое, @0 ) 
               @0[ли] 
               гр_сущ( &Число, &Лицо, %И, &Род ) 
               @0[иметь] 
               ;
   @Таблица( лицо Лицо = лицо Лицо ) 
   { 1е = 1е ; 
     2е = 2е ; 
     3е = 3е ; 
   }
   @Таблица( число Число = число Число ) 
   { Ед = Ед ; 
     Мн = Мн ; 
   }
}

@Перевод
{
   @Структура  ядро_have_wheter_have_to_настоящее = 
               гр_сущ( &Число, &Лицо ) _have _Not _Got @0[to] @0[have] ;
   @Структура  ядро_have_wheter_have_to_настоящее = 
               _Not 
               мод_глагол[должен] ( %Несов, %глагол, Лицо, Число, %настоящее, @0 ) 
               @0[ли] 
               гр_сущ( &Число, &Лицо, %И, &Род ) 
               @0[иметь] 
               ;
   @Таблица( лицо Лицо = лицо Лицо ) 
   { 1е = 1е ; 
     2е = 2е ; 
     3е = 3е ; 
   }
   @Таблица( число Число = число Число ) 
   { Ед = Ед ; 
     Мн = Мн ; 
   }
}

@Перевод
{
   @Структура  ядро_have_wheter_have_to_отр_настоящее = 
               гр_сущ( &Число, &Лицо ) _do @0[not] _have _Got @0[to] @0[have] ;
   @Структура  ядро_have_wheter_have_to_отр_настоящее = 
               @0[не] 
               мод_глагол[должен] ( %Несов, %глагол, Лицо, Число, %настоящее, @0 ) 
               @0[ли] 
               гр_сущ( &Число, &Лицо, %И, &Род ) 
               @0[иметь] 
               ;
   @Таблица( лицо Лицо = лицо Лицо ) 
   { 1е = 1е ; 
     2е = 2е ; 
     3е = 3е ; 
   }
   @Таблица( число Число = число Число ) 
   { Ед = Ед ; 
     Мн = Мн ; 
   }
}

@Перевод
{
   @Структура  ядро_have_wheter_have_to_будущее = 
               гр_сущ( &Число, &Лицо ) 
               _will 
               @0[have] 
               _Not 
               _Got 
               @0[to] 
               @0[have] 
               ;
   @Структура  ядро_have_wheter_have_to_будущее = 
               _Not 
               глагол[быть] ( %Сов, %глагол, Лицо, Число, %будущее, @0, %Актив, @0 ) 
               @0[ли] 
               гр_сущ( &Число, &Лицо, %И, &Род ) 
               мод_глагол[должен] ( %Несов, %глагол, Лицо, Число, %настоящее, Род ) 
               @0[иметь] 
               ;
   @Таблица( лицо Лицо = лицо Лицо ) 
   { 1е = 1е ; 
     2е = 2е ; 
     3е = 3е ; 
   }
   @Таблица( число Число = число Число ) 
   { Ед = Ед ; 
     Мн = Мн ; 
   }
}