11,151 research outputs found

    Distilling Abstract Machines (Long Version)

    Full text link
    It is well-known that many environment-based abstract machines can be seen as strategies in lambda calculi with explicit substitutions (ES). Recently, graphical syntaxes and linear logic led to the linear substitution calculus (LSC), a new approach to ES that is halfway between big-step calculi and traditional calculi with ES. This paper studies the relationship between the LSC and environment-based abstract machines. While traditional calculi with ES simulate abstract machines, the LSC rather distills them: some transitions are simulated while others vanish, as they map to a notion of structural congruence. The distillation process unveils that abstract machines in fact implement weak linear head reduction, a notion of evaluation having a central role in the theory of linear logic. We show that such a pattern applies uniformly in call-by-name, call-by-value, and call-by-need, catching many machines in the literature. We start by distilling the KAM, the CEK, and the ZINC, and then provide simplified versions of the SECD, the lazy KAM, and Sestoft's machine. Along the way we also introduce some new machines with global environments. Moreover, we show that distillation preserves the time complexity of the executions, i.e. the LSC is a complexity-preserving abstraction of abstract machines.Comment: 63 page

    Relational Symbolic Execution

    Full text link
    Symbolic execution is a classical program analysis technique used to show that programs satisfy or violate given specifications. In this work we generalize symbolic execution to support program analysis for relational specifications in the form of relational properties - these are properties about two runs of two programs on related inputs, or about two executions of a single program on related inputs. Relational properties are useful to formalize notions in security and privacy, and to reason about program optimizations. We design a relational symbolic execution engine, named RelSym which supports interactive refutation, as well as proving of relational properties for programs written in a language with arrays and for-like loops

    Lifting quasianalytic mappings over invariants

    Full text link
    Let ρ:GGL(V)\rho : G \to \operatorname{GL}(V) be a rational finite dimensional complex representation of a reductive linear algebraic group GG, and let σ1,σn\sigma_1,\sigma_n be a system of generators of the algebra of invariant polynomials C[V]G\mathbb{C}[V]^G. We study the problem of lifting mappings f:RqUσ(V)Cnf : \mathbb{R}^q \supseteq U \to \sigma(V) \subseteq \mathbb{C}^n over the mapping of invariants σ=(σ1,σn):Vσ(V)\sigma=(\sigma_1,\sigma_n) : V \to \sigma(V). Note that σ(V)\sigma(V) can be identified with the categorical quotient V/ ⁣ ⁣/GV /\!\!/ G and its points correspond bijectively to the closed orbits in VV. We prove that, if ff belongs to a quasianalytic subclass CC\mathcal{C} \subseteq C^\infty satisfying some mild closedness properties which guarantee resolution of singularities in C\mathcal{C} (e.g.\ the real analytic class), then ff admits a lift of the same class C\mathcal{C} after desingularization by local blow-ups and local power substitutions. As a consequence we show that ff itself allows for a lift which belongs to SBVlocSBV_{\operatorname{loc}} (i.e.\ special functions of bounded variation). If ρ\rho is a real representation of a compact Lie group, we obtain stronger versions.Comment: 17 pages, 1 table, minor corrections, to appear in Canad. J. Mat

    Invariant Theory of finite general linear groups modulo Frobenius powers

    Full text link
    We prove some cases of a conjecture of Lewis, Reiner and Stanton regarding Hilbert series corresponding to the action of Gln(Fq)Gl_n(\mathbb{F}_q) on a polynomial ring modulo Frobenius powers. We also give a few conjectures about the invariant ring for certain cases that we don't prove completely
    corecore