Я смущен Коком по пути, связанным с экзистенциальной количественной оценкой.Как «исключить» в Coq работу над квантором существования?
У меня есть предикат P и предположение H
P : nat -> Prop
H : exists n, P n
в то время как текущая цель состоит в том (независимо)
(Some goal)
Если я хочу, чтобы создать экземпляр п в Н, Я сделаю
elim H.
Однако после ликвидации текущая цель
forall n, P n -> (Some goal)
Похоже, что Coq преобразует квантор существования в универсальный. Я знаю, что (forall a, P a -> Q a) -> ((существует a, P a) -> Q a) из моих ограниченных знаний по логике первого порядка. Но обратное предложение кажется неправильным. Если «forall» одно и «существует» не эквивалентны, почему Coq сделает такое преобразование?
Удаляет ли «изгнание» в Coq цель, чтобы доказать ее? Или кто-нибудь может показать, почему ((существует a, P a) -> Q a) -> (forall a, P a -> Q a) выполняется в логике первого порядка?
Ответ от @Ptival объясняет это хорошо. Также обратите внимание, что вам просто нужно добавить 'intros.', чтобы получить' n' в вашем контексте. – larsr