精益中的案例策略不会创建假设

Cases tactic in Lean does not create hypothesis

在归纳数据类型上使用 cases 策略时,精益会生成多个案例,但不会创建一个假设来说明当前案例的假设。例如:

inductive color | blue | red

theorem exmpl (c : color) : true :=
begin
    cases c,
end

导致以下战术状态

case color.blue
⊢ true
case color.red
⊢ true

但不会创建一个单独的假设(如 c = color.red)来处理。你怎么会得到这样的假设?

使用cases h : c为每个案例得到一个新的假设h。有关详细信息,请参阅 documentation.

在示例中,这将是

theorem exmpl (c : color) : true :=
begin
  cases h : c,
end

导致

case color.blue
c: color
h: c = color.blue
⊢ true
case color.red
c: color
h: c = color.red
⊢ true