On Thu, 3 Mar 2011, [email protected] wrote:

i studied isabelle/isar implementation, isabelle/isar reference manual  and the 
isabelle cookbook.
what am i still doing wrong ?

structure Data = Proof_Data
  (type T = term list
   fun init _ = []);
val ctxt =
  ProofContext.init_global @{theory} |>
  Data.map (fn trms => @{term "x::int"}::trms);
Data.get ctxt;

Syntax.read_term ctxt "x + 1 = 2";
(* we get Free ("x", "'a") etc, but would expect ...
val it =
   Const ("HOL.eq", "Int.int \<Rightarrow> Int.int \<Rightarrow>
HOL.bool") $
     (Const ("Groups.plus_class.plus", "Int.int \<Rightarrow> Int.int
\<Rightarrow> Int.int") $
       Free ("x", "Int.int") $ Const ("Groups.one_class.one", "Int.int")) $
     (Const ("Int.number_class.number_of", "Int.int \<Rightarrow>
Int.int") $
       (Const ("Int.Bit0", "Int.int \<Rightarrow> Int.int") $
         (Const ("...", "Int.int \<Rightarrow> Int.int") $
           Const ("Int.Pls...", "Int.int")))):
   term
*)

I cannot reproduce the problem. This is the output of ML toplevel declarations produced here:

structure Data : PROOF_DATA
val ctxt = <context>: Proof.context
val it = [Free ("x", "Int.int")]: Data.T
val it =
   Const ("HOL.eq", "'a \<Rightarrow> 'a \<Rightarrow> HOL.bool") $
     (Const ("Groups.plus_class.plus", "'a \<Rightarrow> 'a \<Rightarrow> 'a") $ Free 
("x", "'a") $
       Const ("Groups.one_class.one", "'a")) $
     (Const ("Int.number_class.number_of", "Int.int \<Rightarrow> 'a") $
       (Const ("Int.Bit0", "Int.int \<Rightarrow> Int.int") $
         (Const ("...", "Int.int \<Rightarrow> Int.int") $ Const ("Int.Pls...", 
"Int.int")))):
   term


Further notes:

  * trm, trms are a bad naming convention for terms; use t, ts or tm, tms
    instead.

  * You can ask questions about Isabelle/ML on the isabelle-users mailing
    list.  isabelle-dev means you are hooked on unofficial repository
    versions for some reason, in which case you should also say which
    one it is (e.g. via isabelle version -i).


        Makarius
_______________________________________________
isabelle-dev mailing list
[email protected]
https://mailmanbroy.informatik.tu-muenchen.de/mailman/listinfo/isabelle-dev

Reply via email to