我想在伊莎贝尔证明A /\ B /\ C /\ D /\ E /\ F
。如何在proof(rule ...)
中自动将子目标拆分为6个单独的子目标,那么之后我可以单独证明它们?
当然,我可以写proof(rule conjI)
5次,但也许有更优雅的方法可以一步完成分割?
答案 0 :(得分:3)
使用intro
方法:proof (intro conjI)
答案 1 :(得分:0)
证明此类目标的另一种方法是使用原始校样块。例如,如下
lemma "A & B & C & D & E & F"
proof -
{ have "A" ... }
moreover
{ have "B" ... }
moreover
{ have "C" ... }
moreover
{ have "D" ... }
moreover
{ have "E" ... }
moreover
{ have "F" ... }
ultimately
show ?thesis by blast
qed
不同之处在于,你在这里做了更多的前瞻性证明(我发现有时更具可读性)。你只需要从你知道的事情开始,无论如何你必须在某个时候进行证明,最后让一些自动方法(这里blast
)找出“琐碎”的步骤。