我在目标setoid_rewrite (kron_1_r U)
上呼叫U == U ⊗ I 1
时遇到以下错误(其中==
是mat_equiv
,而⊗
是{{1} }):
kron
我试图证明Ltac call to "setoid_rewrite (orient) (glob_constr_with_bindings)" failed.
setoid rewrite failed: Unable to satisfy the following constraints:
In environment:
W : WType
u : Unitary W
ρ : Square (2 ^ ⟦ W ⟧)
H : Mixed_State ρ
U : Square (2 ^ ⟦ W ⟧)
HeqU : U = denote_unitary u
do_subrelation := Morphisms.do_subrelation : Morphisms.apply_subrelation
?p : "Morphisms.Proper (mat_equiv ==> flip impl) (mat_equiv U)"
并不重要-它源自Morphisms.Proper (mat_equiv ==> flip impl) (mat_equiv U)
是等价关系(我已经声明过)。
有什么想法,怎么解决?
(相关声明的态射是从mat_equiv
和==
到==
的kron,以及从==
到==
的Mixed_State。在这里,后者不明确,但我在证明中使用的较早,通常可以重写。)