import {
  IconChild,
  IconDownload,
  IconGraphCollapse,
  IconGraphExpand,
  IconGraphInputs,
  IconGraphOutputs,
  IconOSS,
  IconPredecessor,
  IconRSForm,
  IconStatusError,
  IconStatusIncalculable,
  IconStatusOK,
  IconStatusProperty,
  IconStatusUnknown,
  IconSynthesis
} from '@/components/Icons';
import LinkTopic from '@/components/ui/LinkTopic';
import { HelpTopic } from '@/models/miscellaneous';

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

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

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

      <h2>Конституента</h2>
      <p>
        Конституента – это выделенная часть КС, являющаяся отдельным понятием, схемой построения понятия, либо
        утверждением, связывающим введенные понятия.{' '}
        <LinkTopic text='Аттрибутами конституенты' topic={HelpTopic.CC_CONSTITUENTA} /> в родоструктурной экспликации
        являются Термин, Конвенция, Типизация (Структура), Формальное определение, Текстовое определение, Комментарий.
      </p>
      <ul>
        По <b>характеру формального определения в рамках КС</b> выделены классы:
        <li>
          базовое понятие (<i>неопределяемое понятие</i>) не имеет определения и задано конвенцией и аксиомами;
        </li>
        <li>
          производное понятие (<i>выводимое понятие</i>) имеет определение.
        </li>
        <li>утверждение определяется через логическое выражение.</li>
        <li>шаблон определения содержит несвязанный параметр в определении.</li>
      </ul>

      <br />

      <ul>
        По <b>назначению</b> выделены типы конституент:
        <li>
          базисное множество (X#) представляет неопределяемое понятие, представленное структурой множества, чьи элементы
          различимы и не сравнимы с элементами других базисных множеств;
        </li>
        <li>
          константное множество (C#) представляет неопределяемое понятие, моделируемое термом теории множеств, который
          поддерживает ряд формальных операций над его элементами;
        </li>
        <li>
          родовая структура (S#) представляет неопределяемое понятие, имеющее определенную структуру, построенную на
          базисных множествах и константных множеств. Содержание родовой структуры формируется{' '}
          <LinkTopic text='отношением типизации' topic={HelpTopic.RSL_TYPES} />, аксиомами и конвенцией;
        </li>
        <li>терм (D#) представляет выводимое понятие через формальное определение;</li>
        <li>
          аксиома (A#) представляет утверждение, ограничивающее неопределяемые понятия и выводимые термы. Интерпретация
          аксиомы должна быть истинна и является критерием корректности интерпретации КС в целом;
        </li>
        <li>
          теорема (T#) представляет ценное для предметной утверждение, значение которого может быть как истинным так и
          ложным;
        </li>
        <li>
          терм-функция (F#) представляет выводимое понятие (возможно параметризованное), имеющее характер
          функционального отношения между набором аргументов и результатом;
        </li>
        <li>
          предикат-функция (P#) представляет выводимое понятие (возможно параметризованное), имеющее характер
          логического выражения, проверяющее заданные аргументы на соответствие некоторому условию;
        </li>
      </ul>

      <br />

      <ul>
        По <b>графу термов</b> выделены:
        <li>
          <IconGraphOutputs size='1rem' className='inline-icon' />
          потребители данной конституенты – конституенты, определения которых используют данную конституенту
        </li>
        <li>
          <IconGraphInputs size='1rem' className='inline-icon' />
          поставщики данной конституенты – конституенты, имена которых используются в определении данной конституенты
        </li>
        <li>
          <IconGraphExpand size='1rem' className='inline-icon' />
          зависимые от данной конституенты – потребители данной конституенты напрямую или по цепочке
        </li>
        <li>
          <IconGraphCollapse size='1rem' className='inline-icon' />
          влияющие на данную конституенту – поставщики данной конституенты напрямую или по цепочке
        </li>
      </ul>

      <br />

      <ul>
        Для описания <b>тесно связанных понятий</b> введены следующие термины:
        <li>
          порождающее выражение – формальное определение, основанное на одной внешней конституенте и использующее только
          формальное разворачивание (не вводит нового предметного содержания);
        </li>
        <li>основа данного понятия – понятие, на котором основано порождающее выражение данной конституенты;</li>
        <li>
          порожденное понятие данным понятием – понятие, определение которого является порождающим выражением,
          основанным на данном понятии.
        </li>
      </ul>

      <br />

      <ul>
        Для характеристики <b>корректности определения</b> введены статусы конституент:
        <li>
          <IconStatusUnknown size='1rem' className='inline-icon' /> не проверено – требуется проверка формального
          определения (промежуточный статус);
        </li>
        <li>
          <IconStatusOK size='1rem' className='inline-icon' /> корректно – формальное определение корректно;
        </li>
        <li>
          <IconStatusError size='1rem' className='inline-icon' /> ошибочно – ошибка в формальном определении;
        </li>
        <li>
          <IconStatusProperty size='1rem' className='inline-icon' /> неразмерное – формальное определение задает
          невычислимое множество, для которого возможно вычислить предикат проверки принадлежности;
        </li>
        <li>
          <IconStatusIncalculable size='1rem' className='inline-icon' /> невычислимо – формальное определение невозможно
          интерпретировать напрямую;
        </li>
      </ul>

      <br />

      <ul>
        Для описания <b>отождествления</b> введены:
        <li>отождествляемые конституенты – конституенты, состоящие в отождествлении;</li>
        <li>удаляемая конституента – конституента, удаляемая в ходе отождествления;</li>
        <li>
          замещающая конституента – конституента, обозначение которой замещает обозначение удаляемой конституенты в
          формальных выражениях иных конституент в ходе отождествления;
        </li>
      </ul>

      <br />

      <ul>
        Для описания <b>наследования</b> конституент в рамках ОСС введены:
        <li>
          <IconChild size='1rem' className='inline-icon' /> наследованная конституента – конституента, перенесенная из
          другой КС в рамках операции синтеза;
        </li>
        <li>
          <IconPredecessor size='1rem' className='inline-icon' /> собственная конституента – конституента, не являющаяся
          наследником других конституент;
        </li>
        <li>
          <IconPredecessor size='1rem' className='inline-icon' /> исходная конституента для данной конституенты –
          собственная конституента, прямым или опосредованным наследником которой является данная конституента.
        </li>
      </ul>

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

      <h2>Операция</h2>
      <p>Операция – выделенная часть ОСС, определяющая способ получения КС в рамках ОСС.</p>

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

export default HelpThesaurus;
