有没有办法自动拆分连接?

时间:2013-11-28 14:25:59

标签: isabelle

我想在伊莎贝尔证明A /\ B /\ C /\ D /\ E /\ F。如何在proof(rule ...)中自动将子目标拆分为6个单独的子目标,那么之后我可以单独证明它们?

当然,我可以写proof(rule conjI) 5次,但也许有更优雅的方法可以一步完成分割?

2 个答案:

答案 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)找出“琐碎”的步骤。