On 04/26/2013 11:58 AM, Ramana Kumar wrote:
On Fri, Apr 26, 2013 at 4:50 PM, Vincent Aravantinos <vincent.aravanti...@gmail.com <mailto:vincent.aravanti...@gmail.com>> wrote:

    Sure. I don't know what was the original reason for allowing two
    variables of different types to have the same name but I always found
    this extremely weird.
    I guess maybe this makes the logic easier to express in some way,
    because otherwise we need mappings from variable names to types
    (called
    "environments").
    But I'm not convinced myself by this argument since we need
    environments
    in other contexts anyway (probably in the semantics).


Where would these environments live in the implementation of the logic?
Are they attached to terms?
Then something like:

let x = mk_var("P",bool) in
let P = mk_var("P",`:bool->bool`) in
  mk_comb(P,x)

would have to either fail or automatically rename a variable.
This could be annoying in writing automation when the variables come from elsewhere (not just calls to mk_var).

No idea. Intuitively, I would rather pair terms with an environment instead of considering a general environment.

--
Vincent Aravantinos
Postdoctoral Fellow, Concordia University, Hardware Verification Group
http://users.encs.concordia.ca/~vincent

------------------------------------------------------------------------------
Try New Relic Now & We'll Send You this Cool Shirt
New Relic is the only SaaS-based application performance monitoring service 
that delivers powerful full stack analytics. Optimize and monitor your
browser, app, & servers with just a few lines of code. Try New Relic
and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_apr
_______________________________________________
hol-info mailing list
hol-info@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/hol-info

Reply via email to