[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"detail-sidebar-cat-0-en-105":3,"doc-seo-267430-105":59,"doc-detail-267430-en":131},{"code":4,"msg":5,"data":6},0,"success",[7,13,18,23,28,33,38,43,48,51,55],{"id":8,"doc_module":4,"doc_module_name":9,"category_name":10,"show_sort_weight":11,"slug":12},1,"Document","Story & Novel",90,"story-novel",{"id":14,"doc_module":4,"doc_module_name":9,"category_name":15,"show_sort_weight":16,"slug":17},2,"Literature",80,"literature",{"id":19,"doc_module":4,"doc_module_name":9,"category_name":20,"show_sort_weight":21,"slug":22},4,"Exam",70,"exam",{"id":24,"doc_module":4,"doc_module_name":9,"category_name":25,"show_sort_weight":26,"slug":27},5,"Comic",60,"comic",{"id":29,"doc_module":4,"doc_module_name":9,"category_name":30,"show_sort_weight":31,"slug":32},6,"Technology",50,"technology",{"id":34,"doc_module":4,"doc_module_name":9,"category_name":35,"show_sort_weight":36,"slug":37},7,"Healthcare",40,"healthcare",{"id":39,"doc_module":4,"doc_module_name":9,"category_name":40,"show_sort_weight":41,"slug":42},8,"Research & Report",30,"research-report",{"id":44,"doc_module":4,"doc_module_name":9,"category_name":45,"show_sort_weight":46,"slug":47},9,"Religion & Spirituality",20,"religion-spirituality",{"id":46,"doc_module":4,"doc_module_name":9,"category_name":49,"show_sort_weight":46,"slug":50},"World Cup","world-cup",{"id":52,"doc_module":4,"doc_module_name":9,"category_name":53,"show_sort_weight":52,"slug":54},10,"Lifestyle","lifestyle",{"id":56,"doc_module":4,"doc_module_name":9,"category_name":57,"show_sort_weight":24,"slug":58},19,"General","general",{"code":4,"msg":60,"data":61},"ok",{"site_id":62,"language":63,"slug":64,"title":65,"keywords":66,"description":67,"schema_data":68,"social_meta":124,"head_meta":126,"extra_data":128,"updated_unix":130},105,"en","analysing-constraint-grammars-with-a-sat-solver","Analysing Constraint Grammars with a SAT-solver","","A method is presented for analysing Constraint Grammars (CG) by translating the grammar into logical constraints checked by a SAT-solver. The approach detects internal conflicts and redundancies in a grammar without requiring a corpus, enabling grammar writers to automatically diagnose issues and then refine rules manually. Evaluations on multiple non-trivial grammars uncover inconsistencies, supporting practical improvement of CGs for robust, resource-light disambiguation and rule interaction control.",{"@graph":69,"@context":123},[70,84,106],{"@type":71,"itemListElement":72},"BreadcrumbList",[73,77,79,82],{"item":74,"name":75,"@type":76,"position":8},"https://docshare.wps.com","Home","ListItem",{"item":78,"name":9,"@type":76,"position":14},"https://docshare.wps.com/document/",{"item":80,"name":40,"@type":76,"position":81},"https://docshare.wps.com/document/research-report/",3,{"item":83,"name":65,"@type":76,"position":19},"https://docshare.wps.com/document/analysing-constraint-grammars-with-a-sat-solver/267430/",{"url":83,"name":65,"@type":85,"image":86,"author":91,"headline":65,"publisher":94,"fileFormat":97,"inLanguage":63,"description":67,"dateModified":98,"datePublished":99,"encodingFormat":97,"isAccessibleForFree":100,"interactionStatistic":101},"DigitalDocument",{"url":87,"@type":88,"width":89,"height":90},"https://docshare.wps.com/thumbnails/analysing-constraint-grammars-with-a-sat-solver/267430.png","ImageObject",300,407,{"name":92,"@type":93},"Quinn Holloway","Person",{"url":74,"name":95,"@type":96},"DocShare","Organization","application/pdf","2026-10-24","2026-09-14",true,{"@type":102,"interactionType":103,"userInteractionCount":105},"InteractionCounter",{"@type":104},"ViewAction",15,{"@type":107,"mainEntity":108},"FAQPage",[109,115,119],{"name":110,"@type":111,"acceptedAnswer":112},"How does the SAT-solver method analyze Constraint Grammars without a corpus?","Question",{"text":113,"@type":114},"The method translates the CG rules into logical constraints and uses a SAT-solver to analyze them. This allows detecting conflicts and redundancies directly from the grammar structure, without needing corpus data.","Answer",{"name":116,"@type":111,"acceptedAnswer":117},"What kinds of problems can the tool detect in a CG?",{"text":118,"@type":114},"It can detect internal conflicts such as equivalent or contradictory rules, cases where one rule disables another, and conditions that lead to internal inconsistencies like impossible tag combinations or contradictory requirements.",{"name":120,"@type":111,"acceptedAnswer":121},"What are the main use cases for grammar writers?",{"text":122,"@type":114},"The tool supports testing new rules while writing a grammar and, for a complete grammar, analyzing it as a whole to find conflicts or dead rules and guide manual improvements.","https://schema.org",{"og:url":83,"og:type":125,"og:title":65,"og:site_name":95,"og:description":67},"article",{"robots":127,"canonical":83},"index,follow",{"doc_id":129,"site_id":62},267430,1789418650,{"code":4,"msg":5,"data":132},{"doc_id":129,"user_id":133,"nickname":92,"user_avatar":134,"doc_module":4,"category_id":39,"category_name":40,"doc_title":65,"doc_description":67,"doc_content":135,"file_id":136,"file_url":137,"file_type":138,"file_size":139,"view_count":105,"is_deleted":4,"is_public":8,"is_downloadable":8,"audit_status":8,"page_count":39,"language":140,"language_code":63,"site_id":62,"html_lang":63,"table_of_contents":141,"faqs":142,"seo_title":143,"seo_description":67,"update_tm":130,"read_time":46,"preview_page_count":4},2336474466712,"https://ap-avatar.wpscdn.com/davatar_a8503ba1806abce46bf441b54a3ca4cd","Analysing Constraint Grammars with a SAT-solver  \nInari Listenmaa, Koen Claessen  \nUniversity of Gothenburg, Chalmers University of Technology  \nGothenburg, Sweden  \n[inari@chalmers.se](inari@chalmers.se), [koen@chalmers.se](koen@chalmers.se)  \nAbstract  \nWe describe a method for analysing Constraint Grammars (CG) that can detect internal conﬂicts and redundancies in a given grammar, without the need for a corpus. The aim is for grammar writers to be able to automatically diagnose, and then manually improve their grammars. Our method works by translating the given grammar into logical constraints that are analysed by a SAT-solver. We have evaluated our analysis on a number of non-trivial grammars and found inconsistencies.  \nKeywords: Constraint Grammar, SAT, Grammar Analysis  \n1. Introduction  \nConstraint Grammar (CG, Karlsson et al. (1995)) is a formalism used to disambiguate morphologically analysed text. A grammar consists of rules that target speciﬁc readings for selection or removal, based on contextual tests. For example, the following rule  \nREMOVE verb IF (-1 det) ;  \nremoves all verb readings from a word which is preceded by a determiner. Given the following text,  \n\"\u003Cthe>\"  \n\"the\" det def\"\u003Cwish>\"  \n\"wish\"  \n\"wish\"  \n\"wish\"  \nnoun  \nverb  \nverb  \nsg  \npl  \ninf  \nthe rule will match to the word wish, and remove the readings \"wish\" verb pland \"wish\" verb inf. Note that if the target word has only one remaining reading, then the rule will not apply, even if the condition is met.  \nCGs are valuable resources for rule-based NLP, especially for lesser resourced languages. They are robust and can be written without large corpora—only a morphological analyser is needed. The formalism is lightweight and languageindependent, and resources can be shared between related languages (Bick, 2006; Antonsen et al., 2010) . Mature CGs contain some thousands of rules, but even small CGs are shown to be effective (Antonsen and Trosterud, 2011) . By design, CG is a shallow and robust formalism. Thereis no particular hierarchy between lexical, morphological, syntactic or even semantic tags: individual rules can be written to address any property, such as “verb”, “copula verb in ﬁrst person singular”, or “the word form sailor, preceded by drunken anywhere in the sentence”. This makes it possible to treat very particular edge cases without touching the more general rule: we would simply write the narrow rule ﬁrst (“if noun AND sailor”), and introduce the general rule (“if noun”) later.  \nHowever, this design is not without problems. As CGs grow larger, it gets harder to keep track of all the rules and their interaction. Our tool will help grammar writers and users to ﬁnd conﬂicting rules, diagnose problems and  \nSELECT Inf IF (-1 Para OR De) (0C V) ; SELECT Inf IF (-1 Prep) (0C V) ;  \nSELECT Inf IF (-1C Vai) ;  \nSELECT Inf IF (-1C Vbmod) (0C V) ;  \nSELECT Inf IF (-1C Ter/de) ;  \nSELECT Inf IF (-1C Vbmod) (0 Ser) ;  \nFigure 1: Rules to select inﬁnitive in Portuguese.  \nimprove their grammars. We expect two major use cases:ﬁrst, to test the effect of new rules while writing a grammar, and second, to take a complete grammar and analyse it as a whole, to ﬁnd conﬂicts or dead rules.  \nGiven the rules in ﬁgures 1 and 2, a grammar writer may ask the following questions while writing a grammar.  \n􀀏 Are all the rules distinct? (e.g. Para and De may be included in Prep)  \n􀀏 Can two or more rules be merged? (e.g. SELECT Inf IF (-1C Prep OR Vai OR Vbmod))  \n􀀏 Can a messy rule be rewritten in a neater way without changing the meaning?  \n􀀏 What is the best order for the rules?  \n􀀏 Generate a sentence that triggers a given list of rules R but not R0  \nFor the second use case, here are examples of conﬂicts that our tool will detect.  \n􀀏 If two equivalent rules r and r0 occur in the grammar, the second occurrence will be disabled by the ﬁrst  \n􀀏 Rule r selects something in a context, and r0 removes it  \n􀀏 A list of tules R removes something from the context ","cbCaieVK0WJp9Xs0","https://ap.wps.com/l/cbCaieVK0WJp9Xs0","pdf",207726,"English","# Introduction\n## Constraint Grammar basics\n## Motivation: rule interaction challenges\n## Proposed SAT-solver based analysis method\n## Use cases and example conflicts","[{\"question\":\"How does the SAT-solver method analyze Constraint Grammars without a corpus?\",\"answer\":\"The method translates the CG rules into logical constraints and uses a SAT-solver to analyze them. This allows detecting conflicts and redundancies directly from the grammar structure, without needing corpus data.\"},{\"question\":\"What kinds of problems can the tool detect in a CG?\",\"answer\":\"It can detect internal conflicts such as equivalent or contradictory rules, cases where one rule disables another, and conditions that lead to internal inconsistencies like impossible tag combinations or contradictory requirements.\"},{\"question\":\"What are the main use cases for grammar writers?\",\"answer\":\"The tool supports testing new rules while writing a grammar and, for a complete grammar, analyzing it as a whole to find conflicts or dead rules and guide manual improvements.\"}]","Analysing Constraint Grammars with a SAT-solver | PDF"]