Re: [isabelle] inductive_set and ordinal induction
Am Dienstag, den 27.10.2015, 16:33 +0100 schrieb Tobias Nipkow:
> > lemma "X = lfp F"
> > unfolding X_def F_def by simp
> > Then you should be on the save side if we change the internals of the
> > inductive package.
> No, you are not: the simp proof may well fail if X_def changes, and if it
> disappears altogether the unfolding breaks.
Okay, I should be more specific with safe side: You only need to perform
local changes. You need to adapt your proof only locally, only this
If you would sprinkle X_def all over the place and inductive changes it,
you can _not_ overwrite X_def like
lemma X_def: "X = lfp ..."
as Isabelle does not allow the same theorem name in one theory.
> > Am Dienstag, den 27.10.2015, 15:22 +0100 schrieb Christoph Dittmann:
> >> Dear Johannes,
> >> thank you, and also Andreas for your answers.
> >> On 10/27/2015 02:26 PM, Johannes HÃlzl wrote:
> >>> As Andreas points out, you can directly use the definition of the
> >>> predicate (<inductive pred>_def) and then manually prove monotonicity.
> >>> Then you can apply lfp_ordinal_induct.
> >> <inductive_pred>_def is "<inductive_pred> == lfp <something_very_long>".
> >> Can I somehow bind <something_very_long> to a name so that I do not need
> >> to copy&paste it?
> >> I tried pattern matching like
> >> note X_def (is "_ == lfp ?f")
> >> but this doesn't work (the isar manual agrees).
> >> Is <inductive_pred>_def considered part of the stable interface to the
> >> inductive package? If not, maybe my approach of redefining the
> >> inductive predicate explicitly via lfp and proving equality could be
> >> more robust against changes in the inductive package?
> >> Best,
> >> Christoph
This archive was generated by a fusion of
Pipermail (Mailman edition) and