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
proof.

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 MHonArc.