У меня возникли проблемы с пониманием концепции multiple successes
в поведении разветвления и возврата в Coq's (8.5p1, ch9.2). Например, из документации:Многократные успехи в разветвлении и возврате Coq?
Откат разветвленности
Мы можем расшириться со следующей структурой:
expr1 + expr2
тактики можно рассматривать как имеющие несколько успехов. Когда тактика выходит из строя , он просит больше успехов в предыдущей тактике. expr1 + expr2 имеет все успехи v1, за которыми следуют все успехи v2.
Что я не понимаю, почему мы должны в первую очередь добиваться нескольких успехов? Разве не один успех достаточно хорош, чтобы закончить доказательство?
также из документации, кажется, что есть менее дорогостоящие правила ветвления, которые каким-то образом «предвзятым», в том числе
first [ expr1 | ::: | exprn ]
и
expr1 || expr2
Зачем нам нужен более дорогостоящий вариант +
и не всегда использовать последние, более эффективные тактики?