I have a problem reading existing question's answers. I've successfully encoded the proof of one of De Morgan's Laws, ¬∃x P(x) → ∀x ¬P(x), for Quantifiers formally via cubicaltt type-checker via Curry-Howard correspondence, the solution is available on GitHub. As the basis, I took the answers from StackExchange question mentioned above, but as I went through their steps, this was unclear to me:
All the answers are using a strange (for a person who isn't too familiar with formal logic) notion of mentioning a predicate without a quantifier, and then using rules like ∀-intro and ∃-intro. For example, the first, accepted answer assumes P(x) in its second step. What would be a Curry-Howard counterpart to something like that? What is the meaning of P(x) and how is it different from ∀xP(x)?
It uses ∃-intro in one step, and ∀-intro in another (step 6). Obviously, you cannot just arbitrary add ∃ or ∀ whenever you want. What are the rules, and which is permitted to use and when?