有多个目标的证明(介绍...,elim ......)

时间:2014-07-23 15:16:49

标签: isabelle

这是问题proof (rule disjE) for nested disjunction

的延续

我们了解到了

assume "(A ∨ B) ∧ C"
hence "thesis"
proof (elim conjE disjE)

是解决此类连词的好习惯。

但是,如果我能够使用elim ...之前,还需要应用引入规则 - 例如,某些归纳法或equalityI。如果我试试

have "(A ∨ B) ∧ C ⟷ (A' ∨ B') ∧ C'"
proof (rule iffI, elim conjE disjE)

然后elim仅作用于第一个目标,另一个目标仍然是嘈杂的,不需要的和容易被淘汰的操作员。

那么如何将其应用于rule引入的所有目标?

1 个答案:

答案 0 :(得分:1)

方法introelim的行为基本上与rule_tacerule_tac相似。因此,您可以在方括号中使用明确的目标寻址。 [!]告诉这种战术模拟方法适用于所有子目标。例如:

have "(A ∨ B) ∧ C ⟷ (A' ∨ B') ∧ C'"
proof(rule_tac [!] iffI | erule_tac [!] disjE conjE)+
相关问题