import {
  IconChild,
  IconConceptBlock,
  IconConsolidation,
  IconCrucial,
  IconCstAxiom,
  IconCstBaseSet,
  IconCstConstSet,
  IconCstFunction,
  IconCstNominal,
  IconCstPredicate,
  IconCstStructured,
  IconCstTerm,
  IconCstTheorem,
  IconDownload,
  IconGraphCollapse,
  IconGraphExpand,
  IconGraphInputs,
  IconGraphOutputs,
  IconOSS,
  IconPredecessor,
  IconReference,
  IconRSForm,
  IconRSFormImported,
  IconRSFormOwned,
  IconStatusError,
  IconStatusIncalculable,
  IconStatusOK,
  IconStatusProperty,
  IconStatusUnknown,
  IconSynthesis
} from '@/components/icons';

import { LinkTopic } from '../components/link-topic';
import { HelpTopic } from '../models/help-topic';

export function HelpThesaurus() {
  return (
    <div className='text-justify'>
      <h1>Тезаурус</h1>
      <p>
        Данный раздел содержит основные термины и определения, используемые в работе с Порталом. Термины сгруппированы
        по ключевым сущностям. Дополнительные сведения о связях между терминами представлены в других разделах справки и
        доступны через гиперссылки. Также указаны графические обозначения (иконки, цвета), используемые для визуальной
        идентификации соответствующих сущностей.
      </p>

      <h2>Концептуальная схема</h2>
      <p>
        <IconRSForm size='1rem' className='inline-icon' />
        {'\u2009'}
        <LinkTopic text='Концептуальная схема' topic={HelpTopic.CC_SYSTEM} /> (<i>система определений, КС</i>) –
        совокупность понятий и утверждений, а также связей между ними, задаваемых определениями.
      </p>
      <p>
        Экспликация КС – изложение концептуальной схемы с использованием заданного языка описания (набор синтаксических
        конструкций и правил построения определений).
      </p>
      <p>
        Родоструктурная экспликация КС – экспликация КС с использованием{' '}
        <LinkTopic text='аппарата родов структур' topic={HelpTopic.RSLANG} />.
      </p>
      <p>
        Граф термов – ориентированный граф, узлами которого являются конституенты КС, а связи задаются на основе
        вхождения имени конституенты в определение другой конституенты.
      </p>

      <p>
        Ядро КС – базовые понятия, аксиомы и производные понятия, необходимые для формулировки аксиом. Остальные
        конституенты образуют Тело КС.
      </p>

      <ul>
        Типы КС относительно операций ОСС:
        <li>
          <IconRSForm size='1rem' className='inline-icon' />
          {'\u2009'}Свободная КС – не связана с операцией в ОСС.
        </li>
        <li>
          <IconRSFormOwned size='1rem' className='inline-icon' />
          {'\u2009'}Собственная КС данной ОСС – прикреплена к операции, совпадающей по владельцу и расположению с данной
          ОСС.
        </li>
        <li>
          <IconRSFormImported size='1rem' className='inline-icon' />
          {'\u2009'}Внешняя КС данной ОСС – прикреплена к операции, владельцы или расположение которой отличаются от
          соответствующих атрибутов ОСС.
        </li>
      </ul>

      <h2>Конституента</h2>
      <p>
        Конституента – часть КС, являющаяся отдельным понятием, схемой построения понятия, либо утверждением,
        связывающим введенные понятия. <LinkTopic text='Аттрибутами конституенты' topic={HelpTopic.CC_CONSTITUENTA} /> в
        родоструктурной экспликации являются Термин, Конвенция, Типизация (Структура), Формальное определение, Текстовое
        определение, Комментарий.
      </p>
      <p>
        <IconCrucial size='1rem' className='inline-icon' /> Ключевая конституента используется как маркер для
        обозначения содержательно значимых конституент. Ключевые конституенты выделяются визуально и используются при
        фильтрации.
      </p>

      <br />

      <ul>
        <b>Классификация по характеру формального определения</b>
        <li>
          Базовое понятие (<i>неопределяемое понятие</i>) не имеет определения и задано конвенцией и аксиомами.
        </li>
        <li>
          Производное понятие (<i>выводимое понятие</i>) имеет формальное определение.
        </li>
        <li>Утверждение задается логическим выражением.</li>
        <li>Шаблон содержит несвязанный параметр в определении.</li>
      </ul>

      <br />

      <ul>
        <b>Типы конституент</b>
        <li>
          <IconCstNominal size='1rem' className='inline-icon' />
          {'\u2009'}Номеноид (N#) – предметная сущность, не имеющая четкого определения, используемая для ассоциативной
          группировки конституент и предварительной фиксации содержательных отношений.
        </li>
        <li>
          <IconCstBaseSet size='1rem' className='inline-icon' />
          {'\u2009'}Базисное множество (X#) – неопределяемое понятие, представленное множеством различимых элементов.
        </li>
        <li>
          <IconCstConstSet size='1rem' className='inline-icon' />
          {'\u2009'}Константное множество (C#) – неопределяемое понятие, моделируемое термом теории множеств, который
          поддерживает ряд формальных операций над его элементами.
        </li>
        <li>
          <IconCstStructured size='1rem' className='inline-icon' />
          {'\u2009'}родовая структура (S#) – неопределяемое понятие, имеющее структуру, построенную на базисных
          множествах и константных множеств. Содержание родовой структуры формируется{' '}
          <LinkTopic text='отношением типизации' topic={HelpTopic.RSL_TYPES} />, аксиомами и конвенцией.
        </li>
        <li>
          <IconCstAxiom size='1rem' className='inline-icon' />
          {'\u2009'}аксиома (A#) – утверждение, ограничивающее неопределяемые понятия и выводимые термы. Интерпретация
          всех аксиом должна быть истинна, чтобы КС являлась теорией данной предметной области.
        </li>
        <li>
          <IconCstTerm size='1rem' className='inline-icon' />
          {'\u2009'}терм (D#) – выводимое понятие.
        </li>
        <li>
          <IconCstFunction size='1rem' className='inline-icon' />
          {'\u2009'}терм-функция (F#) – параметризованное выводимое понятие, имеющее характер функционального отношения
          между набором аргументов и результатом.
        </li>
        <li>
          <IconCstPredicate size='1rem' className='inline-icon' />
          {'\u2009'}предикат-функция (P#) – выводимое понятие, имеющее характер логического выражения, проверяющее
          заданные аргументы на соответствие некоторому условию.
        </li>
        <li>
          <IconCstTheorem size='1rem' className='inline-icon' />
          {'\u2009'}теорема (T#) – предметно значимое утверждение, которое может быть как истинным так и ложным.
        </li>
      </ul>

      <br />

      <ul>
        <b>Отношения по вхождению в определение</b>
        <li>
          <IconGraphOutputs size='1rem' className='inline-icon' />
          {'\u2009'}Потребители – используют конституенту в своих определениях.
        </li>
        <li>
          <IconGraphInputs size='1rem' className='inline-icon' />
          {'\u2009'}Поставщики – упоминаются в определении данной конституенты.
        </li>
        <li>
          <IconGraphExpand size='1rem' className='inline-icon' />
          {'\u2009'}Зависимые – потребители, напрямую или по цепочке.
        </li>
        <li>
          <IconGraphCollapse size='1rem' className='inline-icon' />
          {'\u2009'}Влияющие – поставщики, напрямую или по цепочке.
        </li>
      </ul>

      <br />

      <ul>
        <b>Тесно связанные понятия</b>
        <li>
          Порождающее выражение – формальное определение на основе одной внешней конституенты без добавления нового
          содержания.
        </li>
        <li>Основа данного понятия – понятие, на котором построено порождающее выражение.</li>
        <li>Порожденное понятие – определяется через порождающее выражение, основанное на другом понятии.</li>
      </ul>

      <br />

      <ul>
        <b>Статусы корректности определения конституенты</b>
        <li>
          <IconStatusUnknown size='1rem' className='inline-icon' />
          {'\u2009'}не проверено – требуется проверка определения.
        </li>
        <li>
          <IconStatusOK size='1rem' className='inline-icon' />
          {'\u2009'}корректно – определение корректно.
        </li>
        <li>
          <IconStatusError size='1rem' className='inline-icon' />
          {'\u2009'}ошибочно – обнаружена ошибка.;
        </li>
        <li>
          <IconStatusProperty size='1rem' className='inline-icon' />
          {'\u2009'}неразмерное – задает невычислимое множество, для которого возможна проверка принадлежности;
        </li>
        <li>
          <IconStatusIncalculable size='1rem' className='inline-icon' />
          {'\u2009'}невычислимо – определение невозможно интерпретировать напрямую;
        </li>
      </ul>

      <br />

      <ul>
        <b>Отождествление конституент</b>
        <li>Отождествляемые конституенты – входят в отношение отождествления.</li>
        <li>Удаляемая – конституента, подлежащая удалению.</li>
        <li>Замещающая – конституента, чьё обозначение заменяет удаляемое.</li>
      </ul>

      <br />

      <ul>
        <b>Наследование конституент (в рамках ОСС)</b>
        <li>
          <IconChild size='1rem' className='inline-icon' />
          {'\u2009'}Наследованная конституента – получена из другой КС.
        </li>
        <li>
          <IconPredecessor size='1rem' className='inline-icon' />
          {'\u2009'}Собственная – не является наследованной.
        </li>
        <li>
          <IconPredecessor size='1rem' className='inline-icon' />
          {'\u2009'}Исходная – собственная конституента, прямым или опосредованным наследником которой является данная
          конституента.
        </li>
      </ul>

      <h2>Операционная схема синтеза</h2>
      <p>
        <IconOSS size='1rem' className='inline-icon' />
        {'\u2009'}
        <LinkTopic text='Операционная схема синтеза' topic={HelpTopic.CC_OSS} /> (ОСС) – система операций над
        концептуальными схемами.
      </p>
      <p>Граф синтеза – ориентированный граф, где вершины — операции, а ребра — зависимости по результатам операций.</p>
      <p>
        <IconConceptBlock className='inline-icon' />
        {'\u2009'}
        <LinkTopic text='Концептуальный блок' topic={HelpTopic.CC_STRUCTURING} /> – номинально выделенная часть
        предметной области, формирующая границы для отнесения концептуальных схем в ОСС к различным аспектам предметной
        области.
      </p>

      <p>Операция – выделенная часть ОСС, определяющая способ получения КС в рамках ОСС.</p>
      <p>
        <IconReference className='inline-icon' />
        {'\u2009'}Реплика – способ дублирования графического представления результата некоторой операции для улучшения
        визуального отображения путем сокращения длины связей между вершинами.
      </p>
      <p>
        <IconConsolidation className='inline-icon' />
        {'\u2009'}Ромбовидный синтез – операция, где используются КС, имеющие общих предков.
      </p>

      <ul>
        <b>Типы операций в ОСС</b>
        <li>
          <IconReference size='1rem' className='inline-icon' />
          {'\u2009'}репликация результата другой операции.
        </li>
        <li>
          <IconDownload size='1rem' className='inline-icon' />
          {'\u2009'}загрузка КС из библиотеки.
        </li>
        <li>
          <IconSynthesis size='1rem' className='inline-icon' />
          {'\u2009'}синтез концептуальных схем.
        </li>
      </ul>
    </div>
  );
}
