// **************************************************************************
//
//                 фразы типа "There is ..."
//
//                 фраза_there_is
//                 фраза_вопрос_there_is
// **************************************************************************
@Перевод
{
   @Структура  ядро_there_is_прошлое = @0[There] _связка_was _No_p ;
   @Структура  ядро_there_is_прошлое( число &Число, род &Род, падеж Падеж, присутствие &П ) = 
               _No_p( &Падеж ) 
               глагол[быть] ( %Сов, %глагол, @0, Число, %прошлое, Род, %Актив, @0 ) 
               частица[ли] ( П ) 
               ;
}

@Перевод
{
   @Структура  ядро_there_is_настоящее = @0[There] _связка_is _No1_p ;
   @Структура  ядро_there_is_настоящее( падеж Падеж, присутствие &П ) = 
               _No1_p( &Падеж ) частица[ли] ( П ) ;
}

@Перевод
{
   @Структура  ядро_there_is_будущее = @0[There] @0[will] _No_p @0[be] ;
   @Структура  ядро_there_is_будущее( число &Число, падеж Падеж, присутствие &П ) = 
               _No_p( &Падеж ) 
               глагол[быть] ( %Сов, %глагол, %3е, Число, %будущее, @0, %Актив, @0 ) 
               частица[ли] ( П ) 
               ;
   @Таблица( форма Форма = время Время ) 
   { Inf = настоящее ; 
     Form2 = прошлое ; 
   }
}

@Перевод
{
   @Структура  ядро_there_is_преднастоящее = @0[There] _have @0[been] _No_p ;
   @Структура  ядро_there_is_преднастоящее( число &Число, род &Род, падеж Падеж, присутствие &П ) = 
               _No_p( &Падеж ) 
               глагол[быть] ( %Сов, %глагол, @0, Число, %прошлое, Род, %Актив, @0 ) 
               частица[ли] ( П ) 
               ;
}

@Перевод
{
   @Структура  ядро_there_is_can = 
               @0[there] мод_глагол[can] ( &Форма ) _No_p @0[be] ;
   @Структура  ядро_there_is_can( число &Число1, род &Род1, падеж Падеж, присутствие &П ) = 
               _No_p( &Падеж ) 
               мод_глагол[мочь] ( %Несов, %глагол, %3е, Число1, &Время, Род1 ) 
               частица[ли] ( П ) 
               @0[быть] 
               ;
}

@Перевод
{
   @Структура  ядро_there_is_will_able = 
               @0[there] @0[will] _No_p @0[be] @0[able] @0[to] @0[be] ;
   @Структура  ядро_there_is_will_able( число &Число1, падеж Падеж, присутствие &П ) = 
               _No_p( &Падеж ) 
               мод_глагол[мочь] ( Cов, %глагол, %3е, Число, %будущее, @0 ) 
               частица[ли] ( П ) 
               @0[быть] 
               ;
}

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

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

@Перевод
{
   @Структура  ядро_there_is_may_not = 
               @0[there] мод_глагол[may] ( &Форма ) @0[not] @0[be] ;
   @Структура  ядро_there_is_may_not( падеж &Падеж, присутствие &П ) = 
               мод_глагол[нельзя] ( %Несов, %глагол, %3е, %Ед, &Время, @0 ) 
               частица[ли] ( П ) 
               @0[быть] 
               ;
   @Таблица( форма Форма = время Время ) 
   { Inf = настоящее ; 
     Form2 = прошлое ; 
   }
   @Таблица( @Выбор = падеж Падеж )
   { @0 = И ; }
}

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

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

@Перевод
{
   @Структура  ядро_there_is_have_to_прошлое = 
               @0[there] @0[had] _No_p _Got @0[to] @0[be] ;
   @Структура  ядро_there_is_have_to_прошлое( число &Число1, род &Род1, падеж Падеж, присутствие &П ) = 
               _No_p( &Падеж ) 
               мод_глагол[должен] ( %Несов, %глагол, %3е, Число1, %прошлое, Род1 ) 
               частица[ли] ( П ) 
               @0[быть] 
               ;
}

@Перевод
{
   @Структура  ядро_there_is_have_to_настоящее = 
               @0[there] _have _No_p _Got @0[to] @0[be] ;
   @Структура  ядро_there_is_have_to_настоящее( число &Число1, род &Род1, падеж Падеж, присутствие &П ) = 
               _No_p( &Падеж ) 
               мод_глагол[должен] ( %Несов, %глагол, %3е, Число1, %настоящее, Род1 ) 
               частица[ли] ( П ) 
               @0[быть] 
               ;
}

@Перевод
{
   @Структура  ядро_there_is_have_to_отр_настоящее = 
               @0[there] _do @0[not] _have _Got @0[to] @0[be] ;
   @Структура  ядро_there_is_have_to_отр_настоящее( число &Число1, падеж &Падеж, присутствие &П ) = 
               @0[не] 
               мод_глагол[должен] ( %Несов, %глагол, %3е, Число1, %настоящее, @0 ) 
               частица[ли] ( П ) 
               @0[быть] 
               ;
   @Таблица( @Выбор = падеж Падеж )
   { @0 = Р ; }
}

@Перевод
{
   @Структура  ядро_there_is_have_to_будущее = 
               @0[there] _will @0[have] _No_p _Got @0[to] @0[be] ;
   @Структура  ядро_there_is_have_to_будущее( число &Число1, падеж Падеж, присутствие &П ) = 
               _No_p( &Падеж ) 
               глагол[быть] ( %Сов, %глагол, %3е, Число1, %будущее, @0, %Актив, @0 ) 
               мод_глагол[должен] ( %Несов, %глагол, %3е, Число1, %настоящее, Род ) 
               частица[ли] ( П ) 
               @0[быть] 
               ;
}

@Перевод
{
   @Выбор      ядро_повест_there = 
               ядро_there_is_прошлое 
               ядро_there_is_настоящее 
               ядро_there_is_будущее 
               ядро_there_is_преднастоящее 
               ядро_there_is_can 
               ядро_there_is_will_able 
               ядро_there_is_must 
               ядро_there_is_may 
               ядро_there_is_may_not 
               ядро_there_is_need 
               ядро_there_is_ought 
               ядро_there_is_have_to_прошлое 
               ядро_there_is_have_to_настоящее 
               ядро_there_is_have_to_отр_настоящее 
               ядро_there_is_have_to_будущее 
               ;
   @Выбор      ядро_повест_there( число &Число, род &Род, падеж Падеж, присутствие &П ) = 
               ядро_there_is_прошлое( Число, Род, &Падеж, П ) 
               ядро_there_is_настоящее( &Падеж, П ) 
               ядро_there_is_будущее( Число, &Падеж, П ) 
               ядро_there_is_преднастоящее( Число, Род, &Падеж, П ) 
               ядро_there_is_can( Число, Род, &Падеж, П ) 
               ядро_there_is_will_able( Число, &Падеж, П ) 
               ядро_there_is_must( Число, Род, &Падеж, П ) 
               ядро_there_is_may( Число, Род, &Падеж, П ) 
               ядро_there_is_may_not( &Падеж, П ) 
               ядро_there_is_need( &Падеж, П ) 
               ядро_there_is_ought( &Падеж, П ) 
               ядро_there_is_have_to_прошлое( Число, Род, &Падеж, П ) 
               ядро_there_is_have_to_настоящее( Число, Род, &Падеж, П ) 
               ядро_there_is_have_to_отр_настоящее( Число, &Падеж, П ) 
               ядро_there_is_have_to_будущее( Число, &Падеж, П ) 
               ;
}

// ---------------- there_is вопрос ----------------------------------
@Перевод
{
   @Структура  ядро_вопрос_there_is_прошлое = _связка_was @0[There] ;
   @Структура  ядро_вопрос_there_is_прошлое( число &Число, род &Род, присутствие &П ) = 
               глагол[быть] ( %Сов, %глагол, @0, Число, %прошлое, Род, %Актив, @0 ) 
               частица[ли] ( П ) 
               ;
}

@Перевод
{
   @Структура  ядро_вопрос_there_is_настоящее = _связка_is @0[There] ;
   @Структура  ядро_вопрос_there_is_настоящее( присутствие &П ) = 
               @0[есть] частица[ли] ( П ) ;
}

@Перевод
{
   @Структура  ядро_вопрос_there_is_будущее = @0[will] @0[There] @0[be] ;
   @Структура  ядро_вопрос_there_is_будущее( число &Число, присутствие &П ) = 
               глагол[быть] ( %Сов, %глагол, %3е, Число, %будущее, Род, %Актив, @0 ) 
               @0[ли] 
               ;
}

@Перевод
{
   @Структура  ядро_вопрос_there_is_преднастоящее = _have @0[There] @0[been] ;
   @Структура  ядро_вопрос_there_is_преднастоящее( число &Число, род &Род, присутствие &П ) = 
               глагол[быть] ( %Сов, %глагол, @0, Число, %прошлое, Род, %Актив, @0 ) 
               частица[ли] ( П ) 
               ;
}

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

@Перевод
{
   @Структура  ядро_вопрос_th_is_will_able = 
               @0[will] _No_p @0[there] @0[be] @0[able] @0[to] @0[be] ;
   @Структура  ядро_вопрос_th_is_will_able( число &Число, падеж Падеж, присутствие &П ) = 
               _No_p( &Падеж ) 
               мод_глагол[мочь] ( Cов, %глагол, %3е, Число, %будущее, @0 ) 
               частица[ли] ( П ) 
               @0[быть] 
               ;
}

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

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

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

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

@Перевод
{
   @Структура  ядро_вопрос_th_is_have_to_прошлое = 
               @0[had] _No_p @0[there] _Got @0[to] @0[be] ;
   @Структура  ядро_вопрос_th_is_have_to_прошлое( число &Число, род &Род, падеж Падеж, присутствие &П ) = 
               _No_p( &Падеж ) 
               мод_глагол[должен] ( %Несов, %глагол, %3е, Число, %прошлое, Род ) 
               частица[ли] ( П ) 
               @0[быть] 
               ;
}

@Перевод
{
   @Структура  ядро_вопрос_th_is_have_to_настоящее = 
               _have _No_p @0[there] _Got @0[to] @0[be] ;
   @Структура  ядро_вопрос_th_is_have_to_настоящее( число &Число, падеж Падеж, присутствие &П ) = 
               _No_p( &Падеж ) 
               мод_глагол[должен] ( %Несов, %глагол, %3е, Число, %настоящее, @0 ) 
               частица[ли] ( П ) 
               @0[быть] 
               ;
}

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

@Перевод
{
   @Выбор      ядро_вопрос_there = 
               ядро_вопрос_there_is_прошлое 
               ядро_вопрос_there_is_настоящее 
               ядро_вопрос_there_is_будущее 
               ядро_вопрос_there_is_преднастоящее 
               ядро_вопрос_th_is_can 
               ядро_вопрос_th_is_will_able 
               ядро_вопрос_th_is_must 
               ядро_вопрос_th_is_may 
               ядро_вопрос_th_is_need 
               ядро_вопрос_th_is_ought 
               ядро_вопрос_th_is_have_to_прошлое 
               ядро_вопрос_th_is_have_to_настоящее 
               ядро_вопрос_th_is_have_to_будущее 
               ;
   @Выбор      ядро_вопрос_there( число &Число, род &Род, присутствие &П ) = 
               ядро_вопрос_there_is_прошлое( Число, Род, П ) 
               ядро_вопрос_there_is_настоящее( П ) 
               ядро_вопрос_there_is_будущее( Число, П ) 
               ядро_вопрос_there_is_преднастоящее( Число, Род, П ) 
               ядро_вопрос_th_is_can( Число, Род, &Падеж, П ) 
               ядро_вопрос_th_is_will_able( Число, &Падеж, П ) 
               ядро_вопрос_th_is_must( Число, Род, &Падеж, П ) 
               ядро_вопрос_th_is_may( Число, Род, &Падеж, П ) 
               ядро_вопрос_th_is_need( &Падеж, П ) 
               ядро_вопрос_th_is_ought( &Падеж, П ) 
               ядро_вопрос_th_is_have_to_прошлое( Число, Род, &Падеж, П ) 
               ядро_вопрос_th_is_have_to_настоящее( Число, &Падеж, П ) 
               ядро_вопрос_th_is_have_to_будущее( Число, &Падеж, П ) 
               ;
}