Coq 如何在一步中将一个定理分解为所有三个间断?

Coq 如何在一步中将一个定理分解为所有三个间断?,coq,coq-tactic,Coq,Coq Tactic,我已经证明了以下引理: Lemma ord_semiconnex_bool : forall (alpha beta : ord), ord_ltb alpha beta = true \/ ord_ltb beta alpha = true \/ ord_eqb alpha beta = true. 我想对我正在证明的另一个定理进行案例分析,并尝试将其应用于对象: gamma1 alpha1 : ord 但如果我说: destruct (ord_semiconnex_bool gamm

我已经证明了以下引理:

Lemma ord_semiconnex_bool : forall (alpha beta : ord),
  ord_ltb alpha beta = true \/ ord_ltb beta alpha = true \/ ord_eqb alpha beta = true.
我想对我正在证明的另一个定理进行案例分析,并尝试将其应用于对象:

gamma1 alpha1 : ord
但如果我说:

destruct (ord_semiconnex_bool gamma1 alpha1).
这给了我两个分支,而不是三个。在第一个分支中,我得到:

H0 : ord_ltb gamma1 alpha1 = true
H0 : ord_ltb alpha1 gamma1 = true \/ ord_eqb gamma1 alpha1 = true
在第二个分支中,我得到:

H0 : ord_ltb gamma1 alpha1 = true
H0 : ord_ltb alpha1 gamma1 = true \/ ord_eqb gamma1 alpha1 = true
所以当我在第二个分支中时,我刚刚调用了“destructh0”,给了我另外两个我想要的分支。但这很不雅观,结果我的校样看起来很难看

有没有一种方法可以把我的定理一次分解成3个间断点

destruct (...) as [ H1 | [ H2 | H3 ] ]