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

@Перевод
{
   @Структура  ядро_have_мочь = 
               гр_сущ_м( &Число, &Лицо ) мод_глагол[can]( &Форма ) _Not @0;
   @Структура  ядро_have_мочь = 
               гр_сущ_м( &Число, &Лицо, И, &Род ) 
               _Not 
               мод_глагол[мочь]( Несов, глагол, Лицо, Число, &Время, Род ) 
               @0
               ;
}

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

@Перевод
{
   @Структура  ядро_have_должен = 
               гр_сущ_м( &Число, &Лицо ) 
               мод_глагол[must]( &Форма ) 
               _Not 
               _Наречие 
               @0
               ;
   @Структура  ядро_have_должен = 
               гр_сущ_м( &Число, &Лицо, И, &Род ) 
               _Наречие 
               _Not 
               мод_глагол[должен]( Несов, глагол, Лицо, Число, &Время, @0 ) 
               @0
               ;
}

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

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

@Перевод
{
   @Структура  ядро_have_нужно = 
               гр_сущ_м( &Число, &Лицо ) 
               мод_глагол[need]( &Форма ) 
               _Not 
               _Наречие 
               @0
               ;
   @Структура  ядро_have_нужно = 
               гр_сущ_м( &Число, &Лицо, Д, &Род ) 
               _Наречие 
               _Not 
               мод_глагол[нужно]( Несов, глагол, Лицо, Число, &Время, @0 ) 
               @0
               ;
}

@Перевод
{
   @Структура  ядро_have_следует = 
               гр_сущ_м( &Число, &Лицо ) 
               мод_глагол[ought]( &Форма ) 
               _Not 
               _Наречие 
               @0
               @0
               ;
   @Структура  ядро_have_следует = 
               гр_сущ( &Число, &Лицо, Д, &Род ) 
               _Наречие 
               _Not 
               мод_глагол[следует]( Несов, глагол, Лицо, Число, &Время, @0 ) 
               @0
               ;
}

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

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

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

@Перевод
{
   @Структура  ядро_have_have_to_будущее = 
               гр_сущ_м( &Число, &Лицо ) _will @0_Not _Got @0@0;
   @Структура  ядро_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@0;
   @Структура  ядро_have_вопрос_be_to_inf( присутствие &П ) = 
               ядро_вопрос_be[быть]( П ) 
               мод_глагол[должен]( Несов, глагол, Лицо, Число, настоящее, Род ) 
               @0
               ;
}

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

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

// ----------------------- модальное ядро вопрос ---------------------------
@Перевод
{
   @Структура  ядро_have_вопрос_мочь = 
               мод_глагол[can]( &Форма ) _Not гр_сущ( &Число, &Лицо ) @0;
   @Структура  ядро_have_вопрос_мочь( присутствие &П ) = 
               _Not 
               мод_глагол[мочь]( Несов, глагол, Лицо, Число, &Время, Род ) 
               частица[ли]( П ) 
               гр_сущ( &Число, &Лицо, И, &Род ) 
               @0
               ;
}

@Перевод
{
   @Структура  ядро_have_вопрос_должен = 
               мод_глагол[must]( &Форма ) _Not гр_сущ( &Число, &Лицо ) @0;
   @Структура  ядро_have_вопрос_должен( присутствие &П ) = 
               _Not 
               мод_глагол[должен]( Несов, глагол, Лицо, Число, &Время, Род ) 
               частица[ли]( П ) 
               гр_сущ( &Число, &Лицо, И, &Род ) 
               @0
               ;
}

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

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

@Перевод
{
   @Структура  ядро_have_вопрос_следует = 
               мод_глагол[ought]( &Форма ) _Not гр_сущ( &Число, &Лицо ) @0@0;
   @Структура  ядро_have_вопрос_следует( присутствие &П ) = 
               _Not 
               мод_глагол[следует]( Несов, глагол, Лицо, Число, &Время, @0 ) 
               частица[ли]( П ) 
               гр_сущ( &Число, &Лицо, Д, &Род ) 
               @0
               ;
}

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

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

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

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

@Перевод
{
   @Выбор      ядро_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_wheter_мочь = 
               _Not 
               мод_глагол[мочь]( Несов, глагол, Лицо, Число, &Время, Род ) 
               @0
               гр_сущ( &Число, &Лицо, И, &Род ) 
               @0
               ;
}

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

@Перевод
{
   @Структура  ядро_have_wheter_должен = 
               гр_сущ( &Число, &Лицо ) мод_глагол[must]( &Форма ) _Not @0;
   @Структура  ядро_have_wheter_должен = 
               _Not 
               мод_глагол[должен]( Несов, глагол, Лицо, Число, &Время, @0 ) 
               @0
               гр_сущ( &Число, &Лицо, И, &Род ) 
               @0
               ;
}

@Перевод
{
   @Структура  ядро_have_wheter_можно = 
               гр_сущ( &Число, &Лицо ) мод_глагол[may]( &Форма ) @0;
   @Структура  ядро_have_wheter_можно = 
               мод_глагол[можно]( Несов, глагол, Лицо, Число, &Время, Род ) 
               @0
               гр_сущ( &Число, &Лицо, Д, &Род ) 
               @0
               ;
}

@Перевод
{
   @Структура  ядро_have_wheter_можно_отр = 
               гр_сущ( &Число, &Лицо ) мод_глагол[may]( &Форма ) @0@0;
   @Структура  ядро_have_wheter_можно_отр = 
               мод_глагол[нельзя]( Несов, глагол, Лицо, Число, &Время, @0 ) 
               @0
               гр_сущ( &Число, &Лицо, Д, &Род ) 
               @0
               ;
}

@Перевод
{
   @Структура  ядро_have_wheter_нужно = 
               гр_сущ( &Число, &Лицо ) мод_глагол[need]( &Форма ) _Not @0;
   @Структура  ядро_have_wheter_нужно = 
               _Not 
               мод_глагол[нужно]( Несов, глагол, Лицо, Число, &Время, @0 ) 
               @0
               гр_сущ( &Число, &Лицо, Д, &Род ) 
               @0
               ;
}

@Перевод
{
   @Структура  ядро_have_wheter_следует = 
               гр_сущ( &Число, &Лицо ) мод_глагол[ought]( &Форма ) _Not @0@0;
   @Структура  ядро_have_wheter_следует = 
               _Not 
               мод_глагол[следует]( Несов, глагол, Лицо, Число, &Время, @0 ) 
               @0
               гр_сущ( &Число, &Лицо, Д, &Род ) 
               @0
               ;
}

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

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

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

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