Mathematical learning environments give domain-specific a nd immediate feedback to students solving a mathematical exercise. Based on a language for specifying strategies, we have developed a feedback framework that automatically calculates semantically rich feedback. We offer this feedback functionality to mathematical learning environments via a set of web services. Feedback is only effective when it is precise and to the point. The tests we have performed give some confidence about the correctness of our feedback services. To increase confidence in our services, we explicitly specify the properties our feedback services should satisf y, and, if possible, prove them correct. For this, we give a formal description of the concepts used in our feedback framework services. The formalisation allows us to reason about these concepts, and to state a number of desired properties of the concepts. Our feedback services use exercise descriptions for their instances on domains such as logic, algebra, and linear algebra. We formulate requirements these domain descriptions should satisfy for the feedback services to react as expected.
{"title":"Properties of Exercise Strategies","authors":"Alex Gerdes, B. Heeren, J. Jeuring","doi":"10.4204/EPTCS.44.2","DOIUrl":"https://doi.org/10.4204/EPTCS.44.2","url":null,"abstract":"Mathematical learning environments give domain-specific a nd immediate feedback to students solving a mathematical exercise. Based on a language for specifying strategies, we have developed a feedback framework that automatically calculates semantically rich feedback. We offer this feedback functionality to mathematical learning environments via a set of web services. Feedback is only effective when it is precise and to the point. The tests we have performed give some confidence about the correctness of our feedback services. To increase confidence in our services, we explicitly specify the properties our feedback services should satisf y, and, if possible, prove them correct. For this, we give a formal description of the concepts used in our feedback framework services. The formalisation allows us to reason about these concepts, and to state a number of desired properties of the concepts. Our feedback services use exercise descriptions for their instances on domains such as logic, algebra, and linear algebra. We formulate requirements these domain descriptions should satisfy for the feedback services to react as expected.","PeriodicalId":282428,"journal":{"name":"IEEE International Wireless Symposium","volume":"12 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-12-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125277350","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
René Thiemann, C. Sternagel, J. Giesl, Peter Schneider-Kamp
While there are many approaches for automatically proving termination of term rewrite systems, up to now there exist only few techniques to disprove their termination automatically. Almost all of these techniques try to find loops, where the existence of a loop implies non-termination of the rewrite system. However, most programming languages use specific evaluation strategies, whereas loop detection techniques usually do not take strategies into account. So even if a rewrite system has a loop, it may still be terminating under certain strategies. Therefore, our goal is to develop decision procedures which can determine whether a given loop is also a loop under the respective evaluation strategy. In earlier work, such procedures were presented for the strategies of innermost, outermost, and context-sensitive evaluation. In the current paper, we build upon this work and develop such decision procedures for important strategies like leftmost-innermost, leftmost-outermost, (max-)parallel-innermost, (max-)parallel-outermost, and forbidden patterns (which generalize innermost, outermost, and context-sensitive strategies). In this way, we obtain the first approach to disprove termination under these strategies automatically.
{"title":"Loops under Strategies ... Continued","authors":"René Thiemann, C. Sternagel, J. Giesl, Peter Schneider-Kamp","doi":"10.4204/EPTCS.44.4","DOIUrl":"https://doi.org/10.4204/EPTCS.44.4","url":null,"abstract":"While there are many approaches for automatically proving termination of term rewrite systems, up to now there exist only few techniques to disprove their termination automatically. Almost all of these techniques try to find loops, where the existence of a loop implies non-termination of the rewrite system. However, most programming languages use specific evaluation strategies, whereas loop detection techniques usually do not take strategies into account. So even if a rewrite system has a loop, it may still be terminating under certain strategies. \u0000Therefore, our goal is to develop decision procedures which can determine whether a given loop is also a loop under the respective evaluation strategy. In earlier work, such procedures were presented for the strategies of innermost, outermost, and context-sensitive evaluation. In the current paper, we build upon this work and develop such decision procedures for important strategies like leftmost-innermost, leftmost-outermost, (max-)parallel-innermost, (max-)parallel-outermost, and forbidden patterns (which generalize innermost, outermost, and context-sensitive strategies). In this way, we obtain the first approach to disprove termination under these strategies automatically.","PeriodicalId":282428,"journal":{"name":"IEEE International Wireless Symposium","volume":"163 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-12-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132626127","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
We introduce a modified version of the well-known dependency pair framework that is suitable forthe termination analysis of rewriting under forbidden pattern restrictions. By attaching contexts todependency pairs that represent the calling contexts of the corresponding recursive function calls,it is possible to incorporate the forbidden pattern restrictions in the (adapted) notion of dependencypair chains, thus yielding a sound and complete approach to termination analysis. Building uponthis contextual dependency pair framework we introduce a dependency pair processor that simplifiesproblems by analyzing the contextual information of the dependency pairs. Moreover, we show howthis processor can be used to synthesize forbidden patterns suitable for a given term rewriting systemon-the-fly during the termination analysis.
{"title":"Termination of Rewriting with and Automated Synthesis of Forbidden Patterns","authors":"B. Gramlich, Felix Schernhammer","doi":"10.4204/EPTCS.44.3","DOIUrl":"https://doi.org/10.4204/EPTCS.44.3","url":null,"abstract":"We introduce a modified version of the well-known dependency pair framework that is suitable forthe termination analysis of rewriting under forbidden pattern restrictions. By attaching contexts todependency pairs that represent the calling contexts of the corresponding recursive function calls,it is possible to incorporate the forbidden pattern restrictions in the (adapted) notion of dependencypair chains, thus yielding a sound and complete approach to termination analysis. Building uponthis contextual dependency pair framework we introduce a dependency pair processor that simplifiesproblems by analyzing the contextual information of the dependency pairs. Moreover, we show howthis processor can be used to synthesize forbidden patterns suitable for a given term rewriting systemon-the-fly during the termination analysis.","PeriodicalId":282428,"journal":{"name":"IEEE International Wireless Symposium","volume":"2 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-12-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122416850","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
We describe a strategy language to control the application of graph rewriting rules, and show how this language can be used to write high-level declarative programs in several application areas. This language is part of a graph-based programming tool built within the port-graph transformation and visualisation environment PORGY.
{"title":"Strategic programming on graph rewriting systems","authors":"M. Fernández, Olivier Namet","doi":"10.4204/EPTCS.44.1","DOIUrl":"https://doi.org/10.4204/EPTCS.44.1","url":null,"abstract":"We describe a strategy language to control the application of graph rewriting rules, and show how this language can be used to write high-level declarative programs in several application areas. This language is part of a graph-based programming tool built within the port-graph transformation and visualisation environment PORGY.","PeriodicalId":282428,"journal":{"name":"IEEE International Wireless Symposium","volume":"108 6","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-12-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"120918453","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}