Commit 2022-09-28 21:58 f7698588
View on Github →feat(tactic/push_neg): option for an alternate normal form of ¬ (P ∧ Q)
(#16586)
Backport a feature of the mathlib4 version of push_neg
: an option to make ¬ (P ∧ Q)
be normalized to ¬ P ∨ ¬ Q
, rather than P → ¬ Q
. That was actually the original behaviour, but it was changed in #3362.
I have implemented this as a global option trace.push_neg.use_distrib
(using the tracing option hack) rather than as a piece of configuration information which is passed when using the tactic, because I imagine this feature will mostly be used in teaching (that was both my motivation and also @PatrickMassot's when he wrote the original version), where it is convenient to "set it and forget it". This is also how it is implemented in the mathlib4 version (cc @dupuisf @j-loreaux).
Zulip:
https://leanprover.zulipchat.com/#narrow/stream/239415-metaprogramming-.2F-tactics/topic/alternative.20normal.20form.20for.20push_neg