这是问题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
引入的所有目标?
答案 0 :(得分:1)
方法intro
和elim
的行为基本上与rule_tac
和erule_tac
相似。因此,您可以在方括号中使用明确的目标寻址。 [!]
告诉这种战术模拟方法适用于所有子目标。例如:
have "(A ∨ B) ∧ C ⟷ (A' ∨ B') ∧ C'"
proof(rule_tac [!] iffI | erule_tac [!] disjE conjE)+