comm_group …
- это предикат локали, т. Е. Вещь, которая показывает, что у вас действительно есть экземпляр локали. Чтобы фактически использовать его, обычно интерпретирует локаль:
interpret comm_group "⦇carrier = e_aff, mult = add, one = (1, 0)⦈"
by (fact <insert your theorem here>)
После этого вам становятся доступны все теоремы, доказанные в контексте comm_group
локали (например, m_assoc
). При желании вы можете добавить префикс к этим именам (особенно полезно, если есть столкновения имен, особенно если у вас есть несколько интерпретаций одного и того же языка):
interpret G: comm_group "⦇carrier = e_aff, mult = add, one = (1, 0)⦈"
by (fact <insert your theorem here>)
Тогда теорема будет называться G.m_assoc
. Это описано в разделе 5 руководства по языку .
Кстати, вы можете рассмотреть возможность введения сокращения для вашей группы, например,
define G where "G = ⦇carrier = e_aff, mult = add, one = (1, 0)⦈"
длясделать записи об этом менее громоздкими. Вы также можете заставить упрощатель Изабель автоматически развернуть это определение, выполнив
define G where [simp]: "G = ⦇carrier = e_aff, mult = add, one = (1, 0)⦈"