Zulip Chat Archive

Stream: new members

Topic: changing goal to exists


Arthur Paulino (Apr 26 2022 at 20:08):

Suppose I have this:

example {n : } : n = n :=
begin
-- n : ℕ
-- ⊢ n = n
  sorry,
end

Is it possible (and does it make sense) to legally change the goal to state to

  n : , n = n

(clearing out n from the context)

Eric Wieser (Apr 26 2022 at 20:11):

I don't think this question is well posed, any true goal can legally be changed to any other true goal

Kevin Buzzard (Apr 26 2022 at 20:13):

Right -- the issue is that you can solve the true goal with any number, not just n. If you were to ask instead whether you could reduce ⊢ P n to ⊢ ∃ a : ℕ, P a then the answer is no, because P might be false for n but true for 37. Of course the logic is fine the other way around; you can reduce ⊢ ∃ a : ℕ, P a to ⊢ P n, but in general it's not an iff. In your case it is an iff because both predicates are true.

Arthur Paulino (Apr 26 2022 at 20:18):

I see, thanks!

Kyle Miller (Apr 27 2022 at 02:25):

Another answer to this is that the correct quantifier would be for-all rather than there-exists. The tactic to do this transformation is tactic#revert.

example {n : } : n = n :=
begin
  revert n,
  -- ⊢ ∀ {n : ℕ}, n = n
  sorry,
end

Last updated: Dec 20 2023 at 11:08 UTC