Тактика кейсов в бережливом производстве не создает гипотез

#proof #lean

Вопрос:

При использовании cases тактики-для индуктивного типа данных lean создает несколько случаев, но не создает гипотезу, подтверждающую предположение о текущем случае. Например:

 inductive color | blue | red

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

приводит к следующему тактическому состоянию

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

но не создает отдельную гипотезу (например c = color.red ) для работы. Как бы вы получили такую гипотезу?

Ответ №1:

Используйте cases h : c , чтобы получить новую гипотезу h для каждого случая. Для получения более подробной информации см. документацию.

В приведенном примере это было бы

 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