Вы можете добавить дополнительные обозначения для +
для вашего типа, например, введя аббревиатуру:
abbreviation marking_add' :: "marking_ext ⇒ marking_ext ⇒ marking_ext" (infixl "⊕" 65)
where "(⊕) ≡ (+)"
При необходимости вы можете настроить приоритет оператора (65 - это то, что обычно +
). has).
Обратите внимание, однако, что введение дополнительных обозначений может быть проблематичным c, если оно вступает в противоречие с обозначениями в других теориях. Если кто-то захочет использовать вашу разработку в будущем вместе с некоторыми другими библиотеками, которые также определяют нотацию ⊕
, возникнут синтаксические конфликты, и это может сделать жизнь этого человека немного сложнее. Обычно есть способ обойти это (особенно для простых обозначений, подобных этому), но все же: я бы обычно предложил бы не использовать ненужные дополнительные обозначения, если нет реальной выгоды. В данном конкретном случае я не очень понимаю, какую пользу это принесет. Но это только мой совет, не стесняйтесь, конечно, игнорировать его! :)