If you look at the file Pure/envir.ML, you will find the definition of 
environments (which has separate components for the two assignments) as well as 
primitives that you should use to apply an environment to a term. If you only 
look at assignments to variables (as opposed to type variables), you won't see 
the effect of the type variable assignments.
Larry

On 19 Nov 2010, at 13:02, Michael Chan wrote:

> On 19/11/10 12:28, Lawrence Paulson wrote:
>> Looking at this again, I'm not certain there is a bug. You are displaying 
>> the variable assignments, but are you first applying the type variable 
>> assignments? Both must be used in order to instantiate the object term.
> 
> Please bear with me -- I'm not sure about the type variable assignments part 
> of your response. Doesn't the unifier unify both types and terms? If so, why 
> are type variable assignments needed in order to instantiate the object term?
> 
> I'm calling Unify.matchers on the pattern and the lemma, so I suspect I might 
> not be applying the type variable assignments. How can they be obtained? And 
> when you said applying the assignments, did you mean giving the unifier the 
> assignments?
> 
> Here's a snippet of my code:
> 
> ML {*
> 
> val trm1 = term_of @{cpat "(?f::?'a=>?'b) ?stuff = ?v"};
> val trm2 = Thm.prop_of @{thm lem};
> 
> val mtch_seq = let
>  val init = Envir.empty 0
>  val ctxt = @{context}
>  val (Const ("Trueprop",_) $ trm2) = Thm.prop_of (ProofContext.get_thm ctxt 
> "lem")
> in
>  Unify.matchers @{theory} [(trm1,trm2)]
> end;
> 
> *}
> 
> Thanks again
> 
> Michael
> 
>> Larry
>> 
>> On 19 Nov 2010, at 11:11, Michael Chan wrote:
>> 
>>> I can confirm that the first lemma's matcher 4. and the second lemma's only 
>>> matcher are results of the FO matcher. So, I guess the above question 
>>> becomes: how come the FO matcher doesn't instantiate the type variables? Of 
>>> course, this is a different question to why the HO matcher doesn't return 
>>> matchers to the second lemma.
>> 
>> 
> 
> 
> -- 
> Postal Address: School of Informatics, University of Edinburgh,
> Room 2.05, Informatics Forum, 10 Crichton Street,
> Edinburgh EH8 9AB, UK.
> Telephone Number: +44-131-651-3077,
> Fax Number: +44-131-650-6899,
> Email: m.c...@ed.ac.uk
> Web Page: http://homepages.inf.ed.ac.uk/mchan/
> 
> The University of Edinburgh is a charitable body, registered in
> Scotland, with registration number SC005336.
> 

_______________________________________________
Isabelle-dev mailing list
Isabelle-dev@mailbroy.informatik.tu-muenchen.de
https://mailmanbroy.informatik.tu-muenchen.de/mailman/listinfo/isabelle-dev

Reply via email to