[PARTIAL] Functional equational approach based on Pace Nielsen's proof #577
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
I have formalized everything except the case 1 check and constructing the final function based on extensions, but don't have time to finish it, so posting this so someone can maybe finish it.
It's designed to constructively create the counterexample and represents the free abelian group using DFinsupp; it would be nice to cut down on that setup code, but I'm not sure if there is a shorter way of doing it especially constructively.
The partial sets are E are defined as partial functions, again using DFinsupp going to an Option type; the "fup" def lifts them to Option -> Option functions that are none on none.
The construction follows the paper and there are some additional notes on why Case 1 holds, which may help in designing its proof.