Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix a few minor Lean misformalisations #247

Merged
merged 3 commits into from
Jan 2, 2025

Conversation

ocfnash
Copy link
Contributor

@ocfnash ocfnash commented Nov 14, 2024

No description provided.

This was disprovable because the `IsZigZag_def` predicate was missing
parentheses. Because of this, the following was in fact true:
```lean
have (k : ℕ) [NeZero k] (y : Fin k → ℝ) : k = 1 ↔ IsZigZag y := sorry
```
The issue being that for all sufficiently large `i`, `i + 2 < k` was
`False` and thus `i + 2 < k → y (i + 2) < y (i + 1)` was `True` and
thus within the second clause of the disjunction in `IsZigZag_def`, we
have `y i < y (i + 1)` for all sufficiently large `i : ℕ`. However `y`
is a finite sequence and so cannot decrease forever. Thus the second
clause was always `False` so that the predicate collapsed to just
`k = 1`.
This had contradictory hypotheses and had a trivially provable goal.

The hypotheses were contradictory because the `pow` function was
universally defined but required to satisfy axioms for each semigroup
structure that a type might carry. Thus if we invoke the hypotheses
on a type `S` twice, once for one semigroup structure and once for
another, we obtain a contradiction unless they happen to agree about
`x ^ n` for all `x` and `n`.

The goal was trivial because it amounted to a statement of the form
`... → Nonempty (Group S)` which is trivial if `S` is non-empty.
lean4/src/putnam_1989_b2.lean Outdated Show resolved Hide resolved
lean4/src/putnam_1989_b2.lean Show resolved Hide resolved
@GeorgeTsoukalas GeorgeTsoukalas merged commit 5d07d65 into trishullab:main Jan 2, 2025
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants