不需要在子项上使用“记住”的归纳策略的变体
Variant of the induction tactic that doesn't require using `remember` on subterms
假设我有两个关系 R1
和 R2
。如果我需要通过对术语 R1 A (R2 B C)
的归纳来解决问题,我需要先做 remember R2 B C
,否则我会丢失 R1
的第二个参数等于 [=15] 的信息=].是否有一种不需要我处理的归纳策略变体?
答案是否定的
归纳法的工作方式是,它将每个参数的每个实例替换为出现在归纳谓词构造函数中相同位置的值。为了使这更容易,remember
策略将复合表达式 (R2 B C)
替换为变量。如果 (R2 B C)
出现在您的目标中,您有时可以避免这种情况,但这种情况很少见。
假设我有两个关系 R1
和 R2
。如果我需要通过对术语 R1 A (R2 B C)
的归纳来解决问题,我需要先做 remember R2 B C
,否则我会丢失 R1
的第二个参数等于 [=15] 的信息=].是否有一种不需要我处理的归纳策略变体?
答案是否定的
归纳法的工作方式是,它将每个参数的每个实例替换为出现在归纳谓词构造函数中相同位置的值。为了使这更容易,remember
策略将复合表达式 (R2 B C)
替换为变量。如果 (R2 B C)
出现在您的目标中,您有时可以避免这种情况,但这种情况很少见。