{"action":"created","issue":{"url":"https://api.github.com/repos/leanprover/lean/issues/554","labels_url":"https://api.github.com/repos/leanprover/lean/issues/554/labels{/name}","comments_url":"https://api.github.com/repos/leanprover/lean/issues/554/comments","events_url":"https://api.github.com/repos/leanprover/lean/issues/554/events","html_url":"https://github.com/leanprover/lean/issues/554","id":69739150,"number":554,"title":"[question] differences between constants and parameters","user":{"login":"fpvandoorn","id":7376012,"avatar_url":"https://avatars.githubusercontent.com/u/7376012?v=3","gravatar_id":"","url":"https://api.github.com/users/fpvandoorn","html_url":"https://github.com/fpvandoorn","followers_url":"https://api.github.com/users/fpvandoorn/followers","following_url":"https://api.github.com/users/fpvandoorn/following{/other_user}","gists_url":"https://api.github.com/users/fpvandoorn/gists{/gist_id}","starred_url":"https://api.github.com/users/fpvandoorn/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fpvandoorn/subscriptions","organizations_url":"https://api.github.com/users/fpvandoorn/orgs","repos_url":"https://api.github.com/users/fpvandoorn/repos","events_url":"https://api.github.com/users/fpvandoorn/events{/privacy}","received_events_url":"https://api.github.com/users/fpvandoorn/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":7,"created_at":"2015-04-21T04:17:44Z","updated_at":"2015-04-22T01:10:42Z","closed_at":null,"body":"When I write\r\n```lean\r\nsection\r\nparameters {A : Type} (a : A) (...)\r\n  (* stuff *)\r\nend\r\n```\r\nMy **intuition** of `A` and `a` is that as long as I stay inside the section, they are treated as constants i.e. treated exactly the same as\r\n```lean\r\nconstants {A : Type} (a : A) (...)\r\n  (* stuff *)\r\n```\r\nOnly when we end the `section`, magic happens, and the parameters are abstracted inside the definitions.\r\n\r\nHowever, this intuition is false. In Lean they *are* treated differently, as [multiple](https://github.com/leanprover/lean/issues/529#issuecomment-89869240) [issues](https://github.com/leanprover/lean/issues/530) indicate.\r\n\r\nThere are probably more differences. Can you give a (partial) list of differences between `parameters` (as long as you remain in the section) and `constants`?"},"comment":{"url":"https://api.github.com/repos/leanprover/lean/issues/comments/94989994","html_url":"https://github.com/leanprover/lean/issues/554#issuecomment-94989994","issue_url":"https://api.github.com/repos/leanprover/lean/issues/554","id":94989994,"user":{"login":"leodemoura","id":2778936,"avatar_url":"https://avatars.githubusercontent.com/u/2778936?v=3","gravatar_id":"","url":"https://api.github.com/users/leodemoura","html_url":"https://github.com/leodemoura","followers_url":"https://api.github.com/users/leodemoura/followers","following_url":"https://api.github.com/users/leodemoura/following{/other_user}","gists_url":"https://api.github.com/users/leodemoura/gists{/gist_id}","starred_url":"https://api.github.com/users/leodemoura/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/leodemoura/subscriptions","organizations_url":"https://api.github.com/users/leodemoura/orgs","repos_url":"https://api.github.com/users/leodemoura/repos","events_url":"https://api.github.com/users/leodemoura/events{/privacy}","received_events_url":"https://api.github.com/users/leodemoura/received_events","type":"User","site_admin":false},"created_at":"2015-04-22T01:10:42Z","updated_at":"2015-04-22T01:10:42Z","body":"> Do we want local meta-information to persist?\r\n\r\nNo, we don't. This is a bug in the section mechanism. We wanted for attributes in sections to persist, then we added local attributes (and a bug: local attributes in sections persist in the outer scope but not in the .olean file)."}}