src/Pure/logic.ML
changeset 15596 8665d08085df
parent 15454 4b339d3907a0
child 16130 38b111451155
equal deleted inserted replaced
15595:dc8a41c7cefc 15596:8665d08085df
   334   | varify (f$t) = varify f $ varify t
   334   | varify (f$t) = varify f $ varify t
   335   | varify t = t;
   335   | varify t = t;
   336 
   336 
   337 (*Inverse of varify.  Converts axioms back to their original form.*)
   337 (*Inverse of varify.  Converts axioms back to their original form.*)
   338 fun unvarify (Const(a,T))    = Const(a, Type.unvarifyT T)
   338 fun unvarify (Const(a,T))    = Const(a, Type.unvarifyT T)
       
   339   | unvarify (Free(a,T))     = Free(a, Type.unvarifyT T)  (* CB: added *)
   339   | unvarify (Var((a,0), T)) = Free(a, Type.unvarifyT T)
   340   | unvarify (Var((a,0), T)) = Free(a, Type.unvarifyT T)
   340   | unvarify (Var(ixn,T))    = Var(ixn, Type.unvarifyT T)  (*non-0 index!*)
   341   | unvarify (Var(ixn,T))    = Var(ixn, Type.unvarifyT T)  (*non-0 index!*)
   341   | unvarify (Abs (a,T,body)) = Abs (a, Type.unvarifyT T, unvarify body)
   342   | unvarify (Abs (a,T,body)) = Abs (a, Type.unvarifyT T, unvarify body)
   342   | unvarify (f$t) = unvarify f $ unvarify t
   343   | unvarify (f$t) = unvarify f $ unvarify t
   343   | unvarify t = t;
   344   | unvarify t = t;