*To*: Lars Hupel <hupel at in.tum.de>, isabelle-users <isabelle-users at cl.cam.ac.uk>*Subject*: Re: [isabelle] Illegal schematic variable(s) in case*From*: Andreas Lochbihler <andreas.lochbihler at inf.ethz.ch>*Date*: Mon, 20 Apr 2015 15:12:44 +0200*In-reply-to*: <5534F82A.8040904@in.tum.de>*References*: <5534F82A.8040904@in.tum.de>*User-agent*: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.6.0

Hi Lars,

proof(induction taking: foo rule: ienv_relatedE) case none Whether this is better than proof(rule ienv_relatedE) assume "nenv foo = None" "penv foo = None"

Best, Andreas On 20/04/15 14:59, Lars Hupel wrote:

I have proved the following elimination rule (which is surprisingly similar to option.rel_cases): lemma ienv_relatedE: assumes "ienv_related nenv penv" obtains (none) "nenv x = None" "penv x = None" | (some) t u where "nenv x = Some t" "penv x = Some u" "P t u" When trying to use it from `ienv_related nenv penv` show ?case proof (cases rule: ienv_relatedE) case none I get the following error message: Illegal schematic variable(s) in case "none"â Presumably, the problem is that there are still uninstantiated schematic variables in the assumption. It works if I instantiate the rule explicitly with 'where'. My question now is, is this the recommended style, or should I rather write an explicit 'assume'? Cheers Lars

**Follow-Ups**:**Re: [isabelle] Illegal schematic variable(s) in case***From:*Lars Hupel

**References**:**[isabelle] Illegal schematic variable(s) in case***From:*Lars Hupel

- Previous by Date: [isabelle] Program extraction, accessing instantiated proof terms
- Next by Date: Re: [isabelle] Isabelle2015-RC0 available for testing
- Previous by Thread: [isabelle] Illegal schematic variable(s) in case
- Next by Thread: Re: [isabelle] Illegal schematic variable(s) in case
- Cl-isabelle-users April 2015 archives indexes sorted by: [ thread ] [ subject ] [ author ] [ date ]
- Cl-isabelle-users list archive Table of Contents
- More information about the Cl-isabelle-users mailing list