Доступ к «первому» элементу матрицы
Я хочу написать доказательство тривиального случая определителя матрицы, когда матрица состоит всего из одного элемента (т. е. мощность 'n
равна единице).
Таким образом, определитель (или det A
) является единственным элементом в матрице.
Однако мне непонятно, как ссылаться на один элемент матрицы. Я попробовал A $ zero $ zero
, но это не сработало.
Мой текущий способ продемонстрировать проблему — написать ∀a∈(UNIV :: 'n set). det A = A $ a $ a
. Предполагается, что мощность числового типа равна единице.
Как правильно записать это тривиальное доказательство детерминантов?
Вот мой текущий код:
theory Notepad
imports
Main
"~~/src/HOL/Library/Polynomial"
"~~/src/HOL/Algebra/Ring"
"~~/src/HOL/Library/Numeral_Type"
"~~/src/HOL/Library/Permutations"
"~~/src/HOL/Multivariate_Analysis/Determinants"
"~~/src/HOL/Multivariate_Analysis/L2_Norm"
"~~/src/HOL/Library/Numeral_Type"
begin
lemma det_one_element_matrix:
fixes A :: "('a::comm_ring_1)^'n∷finite^'n∷finite"
assumes "card(UNIV :: 'n set) = 1"
shows "∀a∈(UNIV :: 'n set). det A = A $ a $ a"
proof-
(*sledgehammer proof of 1, 2 and ?thesis *)
have 1: "∀a∈(UNIV :: 'n set). UNIV = {a}"
by (metis (full_types) Set.set_insert UNIV_I assms card_1_exists ex_in_conv)
have 2:
"det A = (∏i∈UNIV. A $ i $ i)"
by (metis (mono_tags, lifting) "1" UNIV_I det_diagonal singletonD)
from 1 2 show ?thesis by (metis setprod_singleton)
qed
ОБНОВЛЕНИЕ:
К сожалению, это часть большей теоремы, которая уже доказана для мощности 'n∷finite
> 1. В этой теореме тип матрицы A зафиксирован как A :: "('a::comm_ring_1)^'n∷finite^'n∷finite
, и в этой большей теореме используется определение определителя.
Поэтому я не думаю, что смогу изменить тип моей матрицы A на ('a::comm_ring_1)^1^1)
, чтобы решить большую теорему.