Questions tagged «operational-semantics»


2
这种形式分数形式的“离散数学”式表示法是什么?
在论文“无冲突的JSON数据类型”中,我遇到了这种形式化定义“规则”的表示法: 这个符号叫什么?我该怎么读? 例如: 该DOC规则的“分子”中没有任何内容-为什么不呢? 在EXEC和GET规则似乎也行上述两个不同的术语,这是什么意思? 该VAR规则也很引人注目,因为尽管许多其他规则在顶部使用某种箭头(我将其表示为“暗示”),但该规则似乎只是在说x是某物的元素。 几乎所有内容都以首字母开头,Ap,其文字描述为“副本p的状态由Ap描述,是有限的部分函数” –精明的读者怎么会倾向于“看到”每条规则的那一部分? 该站点确实提出了一个相关的问题,该问题的注释看起来非常相似,在此问题上,smallB,s⟩->⟨B',s'⟩作为关于小步长问题的初始规则的意义是什么?语义?—这被标记为“ 操作语义”,这似乎是一个强有力的线索。确实是我解释这些数字所依据的框架吗?您能否以“速成课程”形式轻松地概括一下这一点,以便即使我无法验证他们的证明的正确性,我也至少可以对他们在本节中所说的内容有更多的了解?


3
微积分和编程语言之间有什么区别?
我对所谓的微积分和编程语言感到很困惑。 我倾向于认为并且可能已经被告知,微积分是用于推理程序等效性的正式系统。程序具有机器指定的操作语义,(我认为?)应该是确定性的。以此方式,针对语言的(正确)演算是用于程序等效的证明方法。大号LL 对我来说,这似乎是合理的划分,但这是否是普遍接受的含义?也许这是错误的? 相关的,为什么某些操作语义是不确定的(假设它们是融合的)?保持战略选择开放会带来什么好处? 我真的很感谢这些澄清。和具体参考!谢谢!

1
推断优化类型
在工作中,我的任务是推断一些有关动态语言的类型信息。我将语句序列重写为嵌套let表达式,如下所示: return x; Z => x var x; Z => let x = undefined in Z x = y; Z => let x = y in Z if x then T else F; Z => if x then { T; Z } else { F; Z } 由于我从一般类型信息开始,并试图推断出更具体的类型,因此自然的选择是精简类型。例如,条件运算符返回其真假分支类型的并集。在简单的情况下,它效果很好。 但是,在尝试推断以下类型时遇到了障碍: function …
11 programming-languages  logic  type-theory  type-inference  machine-learning  data-mining  clustering  order-theory  reference-request  information-theory  entropy  algorithms  algorithm-analysis  space-complexity  lower-bounds  formal-languages  computability  formal-grammars  context-free  parsing  complexity-theory  time-complexity  terminology  turing-machines  nondeterminism  programming-languages  semantics  operational-semantics  complexity-theory  time-complexity  complexity-theory  reference-request  turing-machines  machine-models  simulation  graphs  probability-theory  data-structures  terminology  distributed-systems  hash-tables  history  terminology  programming-languages  meta-programming  terminology  formal-grammars  compilers  algorithms  search-algorithms  formal-languages  regular-languages  complexity-theory  satisfiability  sat-solvers  factoring  algorithms  randomized-algorithms  streaming-algorithm  in-place  algorithms  numerical-analysis  regular-languages  automata  finite-automata  regular-expressions  algorithms  data-structures  efficiency  coding-theory  algorithms  graph-theory  reference-request  education  books  formal-languages  context-free  proof-techniques  algorithms  graph-theory  greedy-algorithms  matroids  complexity-theory  graph-theory  np-complete  intuition  complexity-theory  np-complete  traveling-salesman  algorithms  graphs  probabilistic-algorithms  weighted-graphs  data-structures  time-complexity  priority-queues  computability  turing-machines  automata  pushdown-automata  algorithms  graphs  binary-trees  algorithms  algorithm-analysis  spanning-trees  terminology  asymptotics  landau-notation  algorithms  graph-theory  network-flow  terminology  computability  undecidability  rice-theorem  algorithms  data-structures  computational-geometry 

3
为什么状态在while循环的小步操作语义中保持不变?
通常,我看到在while循环的结构化操作语义表示中,程序状态没有改变: (whileBdoS,σ)→(ifBthenS;(whileBdoS)elseSKIP,σ)(whileBdoS,σ)→(ifBthenS;(whileBdoS)elseSKIP,σ)(while \> B \> do \>S, \sigma) \rightarrow (if \>B \> then \>S; (while \> B \> do \>S) \> else \> SKIP, \sigma) 对我来说,这不直观,如果状态没有改变(即内存状态保持不变),则将继续保持为真,并且程序将永远不会终止。B乙B 谁能解释为什么州在这条规则上没有改变?
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.