export function HelpRSLangExpressionDeclarative() {
  return (
    <div>
      <h1>Декларативные выражения</h1>
      <p>
        Декларативные выражения в языке родов структур используются для определения понятий через их свойства и
        характеристики. Эти выражения описывают "что есть" объект, а не "как его получить".
      </p>

      <h2>Основные типы декларативных выражений</h2>
      <ul>
        <li>
          <b>Определение через свойства</b>: <code>{'A = {x | P(x)}'}</code> - A есть множество всех x, обладающих
          свойством P
        </li>
        <li>
          <b>Определение через равенство</b>: <code>A = B</code> - A равно B по определению
        </li>
        <li>
          <b>Определение через включение</b>: <code>A ⊆ B</code> - A является подмножеством B
        </li>
        <li>
          <b>Аксиоматическое определение</b>: <code>∀x ∈ A: P(x)</code> - для всех x из A выполняется свойство P
        </li>
      </ul>

      <h2>Структура декларативных определений</h2>
      <ul>
        <li>
          <b>Определяемый объект</b>: понятие, которое определяется
        </li>
        <li>
          <b>Определяющие свойства</b>: характеристики, которые задают определяемый объект
        </li>
        <li>
          <b>Область определения</b>: множество, в рамках которого происходит определение
        </li>
        <li>
          <b>Условия корректности</b>: ограничения, обеспечивающие корректность определения
        </li>
      </ul>

      <h2>Примеры декларативных выражений</h2>
      <ul>
        <li>
          <code>{'EVEN = {x ∈ Z | x mod 2 = 0}'}</code> - четные числа есть множество целых чисел, делящихся на 2
        </li>
        <li>
          <code>{'PRIME = {x ∈ N | x > 1 ∧ ∀y ∈ N: y | x → y = 1 ∨ y = x}'}</code> - простые числа
        </li>
        <li>
          <code>∀x ∈ A: x ∈ B → x ∈ C</code> - все элементы A, принадлежащие B, принадлежат также C
        </li>
        <li>
          <code>{'MAX = {x ∈ A | ∀y ∈ A: y ≤ x}'}</code> - максимум множества A
        </li>
      </ul>

      <h2>Свойства декларативных определений</h2>
      <ul>
        <li>
          <b>Ясность</b>: определение должно однозначно определять объект
        </li>
        <li>
          <b>Непротиворечивость</b>: определение не должно содержать логических противоречий
        </li>
        <li>
          <b>Полнота</b>: определение должно содержать все необходимые характеристики
        </li>
        <li>
          <b>Минимальность</b>: определение не должно содержать избыточных условий
        </li>
      </ul>

      <h2>Типизация декларативных выражений</h2>
      <p>Декларативные выражения могут иметь различные типизации в зависимости от типа определяемого объекта:</p>
      <ul>
        <li>
          Определения множеств имеют типизацию <code>ℬ(H)</code>
        </li>
        <li>
          Определения свойств имеют типизацию <b>Logic</b>
        </li>
        <li>
          Определения отношений имеют типизацию <code>ℬ(H₁ × H₂ × ... × Hₙ)</code>
        </li>
      </ul>

      <h2>Применение в концептуальных схемах</h2>
      <p>
        Декларативные выражения используются для определения понятий в концептуальных схемах, формулировки аксиом и
        теорем, а также для описания свойств объектов предметной области. Они составляют основу формального описания
        концептуальных схем.
      </p>
    </div>
  );
}
