// **************************************************************************
//
//                     ядро_be с модальными глаголами
//                     ядро_be_модальное
//                     ядро_be_вопрос_модальное
// **************************************************************************
@Перевод
{
   @Структура  ядро_be_have_заставить = ядро_have1 гр_сущ_а связка( %Ing ) ;
   @Структура  ядро_be_have_заставить = 
               ядро_have1[заставить]  
               гр_сущ_а( %Р ) 
               глагол( %Сов, %Inf, @0, @0, @0, @0, %Актив, @0 ) 
               ;
}

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

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

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

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

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

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

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

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

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

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

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

// ---------- пассивные формы ----------------------------
@Перевод
{
   @Выбор      ядро_be_модальное = 
               ядро_be_мочь 
               ядро_be_мочь_будущее 
               ядро_be_должен 
               ядро_be_можно 
               ядро_be_можно_отр 
               ядро_be_нужно 
               ядро_be_следует 
               ядро_be_have_to_прошлое 
               ядро_be_have_to_настоящее 
               ядро_be_have_to_отр_настоящее 
               ядро_be_have_to_будущее 
               ядро_be_have_заставить 
               ;
   @Выбор      ядро_be_модальное = 
               ядро_be_мочь 
               ядро_be_мочь_будущее 
               ядро_be_должен 
               ядро_be_можно 
               ядро_be_можно_отр 
               ядро_be_нужно 
               ядро_be_следует 
               ядро_be_have_to_прошлое 
               ядро_be_have_to_настоящее 
               ядро_be_have_to_отр_настоящее 
               ядро_be_have_to_будущее 
               ядро_be_have_заставить 
               ;
}

// ---------- ядро_be, в котором модальность выражается "через to be" -----
@Перевод
{
   @Структура  ядро_be_вопрос_have_заставить = 
               ядро_have1_вопрос гр_сущ_а связка( %Ing ) ;
   @Структура  ядро_be_вопрос_have_заставить( присутствие &П ) = 
               ядро_have1_вопрос[заставить] ( П ) 
               гр_сущ_а( %Р ) 
               глагол( %Сов, %Inf, @0, @0, @0, @0, %Актив, @0 ) 
               ;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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