{"title":"Algebraic generalization","authors":"S. Watt","doi":"10.1145/1113439.1113452","DOIUrl":null,"url":null,"abstract":"We explore the notion of generalization in the setting of symbolic mathematical computing. By \"generalization\" we mean the process of taking a number of instances of mathematical expressions and producing new expressions that may be specialized to all the instances. We identify a number of ways in which generalization may be useful in the setting of computer algebra. We formalize this generalization as an antiunification problem.The process of antiunification is the dual of unification. It takes two expressions <i>E</i><inf>1</inf>, <i>E</i><inf>2</inf> ∈ <i>E</i> (Σ, <i>V</i>) and produces <i>E</i><inf>3</inf> ∈ <i>E</i> (Σ, <i>V</i>) such that there exist substitutions σ<inf>1</inf> and σ<inf>2</inf> such that σ<inf>1</inf> (<i>E</i><inf>3</inf>) = <i>E</i><inf>1</inf> and σ<inf>2</inf>(<i>E</i><inf>3</inf>) = <i>E</i><inf>2</inf>. We call the pair of substitutions an <i>antiunifier</i> and the resulting expression a <i>generalization</i> of the expressions. An antiunifier always exists, but is not necessarily unique. There is, however, a unique <i>most specific antiunifier</i> that places the most restrictions on the variables. This gives the <i>most specific generalization</i>, which is unique up to renaming of variables.","PeriodicalId":314801,"journal":{"name":"SIGSAM Bull.","volume":"39 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2005-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"10","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"SIGSAM Bull.","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/1113439.1113452","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 10
Abstract
We explore the notion of generalization in the setting of symbolic mathematical computing. By "generalization" we mean the process of taking a number of instances of mathematical expressions and producing new expressions that may be specialized to all the instances. We identify a number of ways in which generalization may be useful in the setting of computer algebra. We formalize this generalization as an antiunification problem.The process of antiunification is the dual of unification. It takes two expressions E1, E2 ∈ E (Σ, V) and produces E3 ∈ E (Σ, V) such that there exist substitutions σ1 and σ2 such that σ1 (E3) = E1 and σ2(E3) = E2. We call the pair of substitutions an antiunifier and the resulting expression a generalization of the expressions. An antiunifier always exists, but is not necessarily unique. There is, however, a unique most specific antiunifier that places the most restrictions on the variables. This gives the most specific generalization, which is unique up to renaming of variables.