Coq 中是否有任何策略可以将 bool 表达式转换为 Prop 表达式?

is there any tactic in Coq that can transform a bool expression to a Prop one?

例如,我在我的上下文中有这个假设:

Heq: (a =? b) &&
     (c =? d) &&
     (e =? f) = true

我想转换成这个:

Heq: (a = b) /\
     (c = d) /\
     (e = f)

我看过这个post coq tactic for replacing bools with Prop 但使用这些策略对我来说并不是很简单,因为在我的上下文中表达式中没有 Is_true

编辑:

Heq 通过添加 = true 进行修改,因为我第一次从上下文中读取它时犯了一个错误。

我已经解决了:

apply Bool.andb_true_iff in Heq.

= true 添加到最后两个 bool 表达式并将第二个 && 替换为 /\.

然后我将 Heq 表达式分成两个 sub-expressions 通过:

destruct Heq as (HeqA & HeqB).

并对剩下的左边布尔值做同样的事情 sub-expression:

apply Bool.andb_true_iff in HeqA. 
destruct HeqA as (HeqA & HeqC).

最后,我通过以下方式将 bool 相等性转换为 Prop 相等性:

apply beq_nat_true in HeqA.
apply beq_nat_true in HeqB.
apply beq_nat_true in HeqC.