A Transformation System for Developing Recursive Programs

From MaRDI portal
Publication:4111080

DOI10.1145/321992.321996zbMath0343.68014OpenAlexW2023299380MaRDI QIDQ4111080

John Darlington, Rod M. Burstall

Publication date: 1977

Published in: Journal of the ACM (Search for Journal in Brave)

Full work available at URL: http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.19.4684




Related Items

Evolution of rule-based programsA parallel algorithm for the monadic unification problemNTS languages are deterministic and congruentialOn the creation of a macromodel of social developmentDenotational semantics of a para-functional programming languagePartial parametrization eliminates multiple traversals of data structuresCounterexample-guided partial bounding for recursive function synthesisRules + strategies for transforming lazy functional logic programsAlgebraic specification and proof of a distributed recovery algorithmDerivation of efficient programs for computing sequences of actionsA transformation method for dynamic-sized tabulationAsymptotic Speedups, Bisimulation and Distillation (Work in Progress)A relation algebraic model of robust correctnessEquivalences and transformations of regular systems - applications to recursive program schemes and grammarsA recursion planning analysis of inductive completionMechanical translation of set theoretic problem specifications into efficient RAM code - a case studyAbstract language designFormalized program specifications and transformation synthesisOn fuzzy unfolding: A multi-adjoint approachComposing recursive logic programs with clausal joinThings to know when implementing KBOA calculus of refinements for program derivationsExistential continuationThe McCarthy's recursion induction principle: oldy but goodyOn the transformation of logic programs with instantiation based computation rulesLambda calculus with explicit recursionOptimization of rewrite theories by equational partial evaluationSchema induction for logic program synthesisDeaccumulation techniques for improving provabilityFinal algebra semantics and data type extensionsHorn Clause Solvers for Program VerificationDeterminization of conditional term rewriting systemsComputing in unpredictable environments: semantics, reduction strategies, and program transformationsA logical semantics for depth-first Prolog with ground negationPartially additive categories and flow-diagram semanticsProlegomena to a theory of mechanized formal reasoningTowards ``mouldable code via nested code graph transformationObject grammars and bijections.Constraint-based correctness proofs for logic program transformationsAn algebraic definition for control structuresA strange sorting method inspired by formal differentiationFirst order compiler: A deterministic logic program synthesis algorithmTerm rewriting and beyond -- theorem proving in IsabelleAutomated verification of shape, size and bag properties via user-defined predicates in separation logicOn correct refinement of programsAn efficient interpreter for the lambda-calculusA reification calculus for model-oriented software specificationDeforestation: Transforming programs to eliminate treesPreservation of stronger equivalence in unfold/fold logic program transformationHume box calculus: Robust system development through software transformationAlgebraic fusion of functions with an accumulating parameter and its improvementA survey of strategies in rule-based program transformation systemsDerivation of logic programs by functional methodsA new approach to recursion removalTransformations of CLP modulesProving the correctness of recursion-based automatic program transformationsLoop detection in term rewriting using the eliminating unfoldingsUnfolding--definition--folding, in this order, for avoiding unnecessary variables in logic programsThe functional dimension of inductive definitionsOptimizing the stack size of recursive functionsRippling: A heuristic for guiding inductive proofsShort note: Strict unwraps make worker/wrapper fusion totally correctEquivalence-preserving first-order unfold/fold transformation systemsUnfolding and fixpoint semantics of concurrent constraint logic programsAlgebraic optimization of object-oriented query languagesProgram morphismsTransformations of logic programs on infinite listsFixpoints for general correctnessTotally correct logic program transformations via well-founded annotationsEfficient memo-table management strategiesThe worker/wrapper transformationProvably correct derivation of algorithms using FermaTA partial evaluation framework for order-sorted equational programs modulo axiomsProgram transformations and algebraic semanticsAnalogical program derivation based on type theoryInferring expected runtimes of probabilistic integer programs using expected sizesSemantics of algorithmic languagesTransforming constraint logic programsSynthetic programmingLogic program formsExtraction and verification of programs by analysis of formal proofsAn improved reductant calculus using fuzzy partial evaluation techniquesRecursion induction principle revisitedDerivation of an \(O(k^ 2\log n)\) algorithm for computing order-k Fibonacci numbers from the \(O(k^ 3\log n)\) matrix multiplication methodSome equivalent transformations of recursive programs based on their schematic propertiesOn synthesis of scheduling algorithmsAutomatic programming: A tutorial on formal methodologiesUsing circular programs to eliminate multiple traversals of dataPropositions and specifications of programs in Martin-Löf's type theoryTop-down synthesis of divide-and-conquer algorithmsMixtus: An automatic partial evaluator for full PrologEfficient Reductants Calculi using Partial Evaluation Techniques with ThresholdingLogic program synthesis from first-order logic specificationsTowers of Hanoi problems: deriving iterative solutions by program transformationsCompiling bottom-up and mixed derivations into top-down executable logic programsExperiments with proof plans for inductionWork it, wrap it, fix it, fold itDeductive and inductive synthesis of equational programsDeriving fold/unfold transformations of logic programs using extended OLDT-based abstract interpretationDerivation of efficient logic programs by specialization and reduction of nondeterminismFold–unfold lemmas for reasoning about recursive programs using the Coq proof assistantRewriting techniques for program synthesisProgram transformation and rewritingAutomatically Introducing Tail Recursion in CakeMLAbstracting Models from Execution Traces for Performing Formal VerificationLOGIC DERIVATION OF PARALLEL LINEAR EQUATION SYSTEM SOLVERS WITHIN ELIMINATION STRATEGYUnnamed ItemLa fonction d'Ackermann : un nouveau mode de dérécursivationUnfold/fold transformations of logic programsUnnamed ItemAn equivalence preserving first order unfold/fold transformation systemSymbolic Specialization of Rewriting Logic Theories with PrestoAnalysis and Transformation of Constrained Horn Clauses for Program VerificationFolding left and right matters: Direct style, accumulators, and continuationsThe next 700 program transformersExcommunication: transforming \(\pi \)-calculus specifications to remove internal communicationApplying Constraint Logic Programming to SQL Semantic AnalysisOptimizing Maude programs via program specializationA positive supercompilerUnnamed ItemUnnamed ItemInverse Unfold Problem and Its Heuristic SolvingProgram derivation with verified transformations — a case studyUnnamed ItemFormal basis for the refinement of rule based transition systemsManipulating accumulative functions by swapping call-time and return-time computationsLogical approach to control theory and applicationsFold/Unfold Transformations for Fixpoint LogicDeforestation, program transformation, and cut-eliminationA Case Study in Abstract Interpretation Based Program TransformationOptimizing Fuzzy Logic Programs by Unfolding, Aggregation and FoldingA higher-order interpretation of deductive tableauInfinite trees in normal form and recursive equations having a unique solutionUsing transformations in the implementation of higher-order functionsThe narrowing-driven approach to functional logic program specializationProgram transformation system based on generalized partial computationRepresenting proof transformations for program optimizationProving the correctness of recursion-based automatic program transformationsEfficient Unfolding of Fuzzy Connectives for Multi-adjoint Logic ProgramsSymbolic Unfolding of Multi-adjoint Logic ProgramsFolding left and right over Peano numbersUnfolding and fixpoint semantics of concurrent constraint logic programs“Curiouser and curiouser” said alice. further reflections on an interesting recursive functionA Folding Algorithm for Eliminating Existential Variables from Constraint Logic ProgramsHow powerful are folding/unfolding transformations?Lilac: a functional programming language based on linear logicTotal unfolding: theory and applicationsComputing in unpredictable environments: Semantics, reduction strategies, and program transformations