Я запутался в доказательствах и Prop
и т. д. в Coq. Как мы докажем, что (n = n) = (m = m)
?
Я намерен показать, что это как-то True=True
. Но это даже правильная формулировка?
Что я пробовал до сих пор:
Theorem test: forall m n:nat, (n = n) = (m = m).
Proof. intros. simpl.
Но simpl.
ничего не делает, и reflexivity
тоже. Это просто пример, в общем мне нужно доказать это для любого типа X
если это возможно.
(n = n) <-> (m = m)
? Поскольку<->
можно рассматривать как равенство между предложениями, в Coq. - person Rodrigo Ribeiro   schedule 08.12.2015n = m
и такrefl n <> refl m
. Я потратил последний час, пытаясь доказать, что(a=a)=(b=b)
терпит неудачу, еслиa<>b
, но все еще застрял. Я попробовал несколько интересных подходов и, возможно, опубликую ответ позже с подробным описанием того, почему то, что я пробовал, должно потерпеть неудачу. (Но сейчас у меня просто голова болит…) - person nobody   schedule 08.12.2015