File Information
File: 05-lr/acl_arc_1_sum/cleansed_text/xml_by_section/metho/01/p01-1011_metho.xml
Size: 20,167 bytes
Last Modified: 2025-10-06 14:07:38
<?xml version="1.0" standalone="yes"?> <Paper uid="P01-1011"> <Title>Underspecified Beta Reduction</Title> <Section position="4" start_page="0" end_page="0" type="metho"> <SectionTitle> 3 Tree descriptions in CLLS </SectionTitle> <Paragraph position="0"> In this section, we briefly recall the definition of the constraint language for a1 -structures (CLLS).</Paragraph> <Paragraph position="1"> A more thorough and complete introduction can be found in (Egg et al., 2001).</Paragraph> <Paragraph position="2"> We assume a signature a75 a63 a76 a69a37a77a38a78a35a77a80a79a80a79a80a79a82a81 of function symbols, each equipped with an arity a4a16a15a13a54 a69 a56a84a83a86a85 . A tree a87 consists of a finite set of nodes a88a90a89a59a91a93a92 , each of which is labeled by a symbol a94a95a92 a54 a88 a56 a89a96a75 . Each node a88 has a sequence of children a88a43a97 a77a80a79a80a79a80a79a55a77 a88a31a98a84a89a99a91a93a92 where a98 a63a100a4a16a15a38a54 a94a101a92 a54 a88 a56a11a56 is the arity of the label of a88 . A single node a102 , the root of a87 , is not the child of any other node.</Paragraph> <Section position="1" start_page="0" end_page="0" type="sub_section"> <SectionTitle> 3.1 Lambda structures </SectionTitle> <Paragraph position="0"> The idea behind a1 -structures is that a a1 -term can be considered as a pair of a tree which represents the structure of the term and a binding function encoding variable binding. We assume a75 contains symbols a14 a4a45a15 (arity 0, for variables), a3a4a103a5 (arity 1, for abstraction), a2 (arity 2, for application), and analogous labels for the logical connectives.</Paragraph> <Paragraph position="1"> Definition 1. A a1 -structure a104 is a pair a54 a87 a77 a1 a56 of a tree a87 and a binding function a1 that maps every node a88 with label a14 a4a16a15 to a node with label a3a4a6a5 , a7 , or a105 dominating a88 .</Paragraph> <Paragraph position="3"> The binding function a1 explicitly maps nodes representing variables to the nodes representing their binders.</Paragraph> <Paragraph position="4"> When we draw a1 -structures, we represent the binding function using dashed arrows, as in the picture to the right, which represents the</Paragraph> <Paragraph position="6"> A a1 -structure corresponds uniquely to a closed a1 -term modulo a108 -renaming. We will freely consider a1 -structures as first-order model structures with domain a91a93a92 . This structure defines the following relations. The labeling relation</Paragraph> <Paragraph position="8"> a88a31a114 for all a97a116a115a117a114a93a115a117a98 . The dominance relation a88a57a118a120a119a60a88a31a121 holds iff there is a path a88a31a121a121 such that</Paragraph> <Paragraph position="10"> nodes; disjointness a88a32a123a50a88a31a121 holds iff neither a88a57a118a120a119a60a88a31a121 nor a88 a121a118 a119 a88 .</Paragraph> </Section> <Section position="2" start_page="0" end_page="0" type="sub_section"> <SectionTitle> 3.2 Basic constraints </SectionTitle> <Paragraph position="0"> Now we define the constraint language for a1 -structures (CLLS) to talk about these relations.</Paragraph> <Paragraph position="2"> A constraint a124 is a conjunction of literals (for dominance, labeling, etc). We use the abbreviations a51 a118a120a131 a25 for a51 a118a120a119 a25 a127 a51 a122a63 a25 and a51 a63 that a51 a23 a77a80a79a80a79a80a79a32a77 a51 a111 denote the entire set of variable nodes bound by a51a52a26 . A pair a54 a104 a77a133a132 a56 of a a1 -structure a104 and a variable assignment a132 satisfies a a1 -structure iff it satisfies each literal, in the obvious way.</Paragraph> <Paragraph position="4"/> <Paragraph position="6"> We draw constraints as graphs (Fig. 4) in which nodes represent variables. Labels and solid lines indicate labeling literals, while dotted lines represent dominance. Dashed arrows indicate the binding relation; disjointness and inequality literals are not represented. The informal diagrams from Section 2 can thus be read as constraint graphs, which gives them a precise formal meaning.</Paragraph> </Section> <Section position="3" start_page="0" end_page="0" type="sub_section"> <SectionTitle> 3.3 Segments and Correspondences </SectionTitle> <Paragraph position="0"> Finally, we define segments of a1 -structures and correspondences between segments. This allows us to define parallelism and a0 -reduction constraints. null A segment is a contiguous part of a a1 -structure that is delineated by several nodes of the structure. Intuitively, it is a tree from which some subtrees have been cut out, leaving behind holes.</Paragraph> <Paragraph position="1"> Definition 2 (Segments). A segment a108 of a a1 -structure a54 a87 a77 a1 a56 is a tuple a88 a26a74a134 a88 a23 a79a80a79a80a79a32a77 a88a35a111 of nodes in a91a93a92 such that a88 a26 a118 a119 a88a35a113 and a88a35a113a74a123a50a88a136a135 hold in a87 for sequence then we write a141a32a54 a108 a56 for the unique hole of a108 , i.e. the unique node with a141a153a54 a108 a56 a89 a141a35a142a136a54 a108 a56 . For instance, a108 a63 a88 a23a154a134 a88 a33 a77 a88 a28 is a segment in Fig. 5; its root is a88 a23 , its holes are a88 a33 and a88 a28 , and it contains the nodes a144</Paragraph> <Paragraph position="3"> of a segment is a segment term a51a52a26a80a134a82a51a128a23 a77a80a79a80a79a80a79 a51 a111 .</Paragraph> <Paragraph position="4"> We use the letters a160 a77a133a161a162a77a164a163a50a77 a91 for them and extend</Paragraph> <Paragraph position="6"> A correspondence function is intuitively an isomorphism between segments, mapping holes to holes and roots to roots and respecting the structures of the trees:</Paragraph> <Paragraph position="8"> There is at most one correspondence function between any two given segments. The correspondence literal coa54 a163a40a77 a91 a56a60a54 a51 a56a11a63 a25 expresses that a correspondence function a165 between the segments denoted by a163 and a91 exists, that a51 and a25 denote nodes within these segment, and that these nodes are related by a165 .</Paragraph> <Paragraph position="9"> Together, these constructs allow us to define parallelism, which was originally introduced for the analysis of ellipsis (Egg et al., 2001). The parallelism relation a108a149a168 a0 holds iff there is a correspondence function between a108 and a0 that satisfies some natural conditions on a1 -binding which we cannot go into here. To model parallelism in the presence of global a1 -binders relating multiple parallel segments, Bodirsky et al. (2001) generalize parallelism to group parallelism. Group par-</Paragraph> <Paragraph position="11"> allelisms, but imposes slightly weaker restrictions on a1 -binding. By way of example, consider the a1 -structure in Fig. 5, where a54 a88 a26a20a134 a88 a23 a77 a88 a33a61a134 a88 a34 a77 a88 a28a20a134 a56 a168</Paragraph> <Paragraph position="13"> A a0 -reduction constraint describes a single a0 -reduction step between two a1 -terms; it enforces correct reduction even if the two terms are only partially known.</Paragraph> <Paragraph position="14"> Standard a0 -reduction has the form</Paragraph> <Paragraph position="16"> The reducing a1 -term consists of context a163 which contains a redex a54 a1 a53 a79a170a161 a56 a160 . The redex itself is an occurrence of an application of a a1 -abstraction</Paragraph> <Paragraph position="18"> then replaces all occurrences of the bound variable a53 in the body by the argument while preserving the context.</Paragraph> <Paragraph position="19"> We can partition both redex and reduct into argument, body, and context segments. Consider Fig. 5. The a1 -structure contains the reducing a1 -term a69 a54a11a54 a1 a53 a79a170a169 a54a107a53a31a56a11a56a60a54 a71 a56a11a56 starting at a88 a26 . The reduced term can be found at a88 a121a26 . Writing a180 a77 a180 a121 for the context, a0a44a77a11a0 a121 for the body and a108 a108a32a121 for the argument tree segments of the reducing and the reduced term, respectively, we find</Paragraph> <Paragraph position="21"> Because we have both the reducing term and the reduced term as parts of the same a1 -structure, we can express the fact that the structure below a88 a121a26 can be obtained by a0 -reducing the structure below a88 a26 by requiring that a108 corresponds to a108a32a121 , a0 to a0 a121 , and a180 to a180 a121 , again modulo binding. This is indeed true in the given a1 -structure, as we have seen above.</Paragraph> <Paragraph position="22"> More generally, we define the a0 -reduction re-</Paragraph> <Paragraph position="24"> for a body a0 with a98 holes (for the variables bound in the redex). The a0 -reduction relation holds iff two conditions are met: a54a180 a77a11a0a44a77 a108 a56 must form a reducing term, and the structural equalities that we have noted above must hold between the tree segments. The latter can be stated by the following group parallelism relation, which also represents Note that any a1 -structure satisfying this relation must contain both the reducing and the reduced term as substructures. Incidentally, this allows us to accommodate for global variables in a1 -terms; Fig. 5 shows this for the global variable a169 .</Paragraph> <Paragraph position="25"> We now extend CLLS with a0 -reduction constraints null</Paragraph> <Paragraph position="27"> which are interpreted by thea0 -reduction relation.</Paragraph> <Paragraph position="28"> The reduction steps in Section 2 can all be represented correctly by a0 -reduction constraints.</Paragraph> <Paragraph position="29"> Consider e.g. the first step in Fig. 1. This is represented by the constraint a54 a22a64a23a19a134a136a25a27a26 a77 a25a37a33a20a134a136a25a27a28 a77 a25a27a34a20a134 a56</Paragraph> <Paragraph position="31"> straint in Fig. 1 is entailed by the a0 -reduction literal. If we learn in addition that e.g. a25a31a30 a118a120a119 a25a27a26 , the a0 -reduction literal will entail a41 a30 a118a120a119 a41 a26 because the segments must correspond. This correlation between parallel segments is the exact same effect (quantifier parallelism) that is exploited in the CLLS analysis of &quot;Hirschb&quot;uhler sentences&quot;, where ellipses and scope interact (Egg et al., 2001).</Paragraph> <Paragraph position="32"> a0 -reduction constraints also represent the problematic example in Fig. 3 correctly. The spurious solution of the right-hand constraint does not</Paragraph> <Paragraph position="34"> if all syntactic redexes in a124 below a51 are reduced then return a54 a124 a77 a51 a56 satisfy the a0 -reduction constraint, as the bodies would not correspond.</Paragraph> </Section> </Section> <Section position="5" start_page="0" end_page="0" type="metho"> <SectionTitle> 5 Underspecified Beta Reduction </SectionTitle> <Paragraph position="0"> Having introduced a0 -reduction constraints, we now show how to process them. In this section, we present the procedure usb, which performs a sequence of underspecified a0 -reduction steps on CLLS descriptions. This procedure is parameterized by another procedure solve for solving a0 -reduction constraints, which we discuss in the following section.</Paragraph> <Paragraph position="1"> A syntactic redex in a constraint a124 is a subformula of the following form:</Paragraph> <Paragraph position="3"> A context a163 of a redex must have a unique hole a141a153a54 a163 a56 . An a98 -ary redex has a98 occurrences of the bound variable, i.e. the length of a141a35a142a136a54 a161 a56 is a98 . We call a redex linear if a98 a63 a97 .</Paragraph> <Paragraph position="4"> The algorithm a186a57a187a20a188 is shown in Figure 6. It starts with a constraint a124 and a variable a51 , which denotes the root of the current a1 -term to be reduced. (For example, for the redex in Fig. 2, this root would be a22 a26 .) The procedure then selects an unreduced syntactic redex and adds a description of its reduct at a disjoint position. Then the solve procedure is applied to resolve the a0 -reduction constraint, at least partially. If it has to disambiguate, it returns one constraint for each reading it finds. Finally, usb is called recursively with the new constraint and the root variable of the new a1 -term.</Paragraph> <Paragraph position="5"> Intuitively, the solve procedure adds entailed literals to a124 , making the new a0 -reduction literal more explicit. When presented with the left-hand constraint in Fig. 1 and the root variable a22a64a23 , usb will add a a0 -reduction constraint for the redex at a25a174a23 ; then solve will derive the middle constraint. Finally, usb will call itself recursively with the new root variable a22a50a33 and try to resolve the redex at a41a44a28 , etc. The partial solving steps do essentially the same as the na&quot;ive graph rewriting approach in this case; but the new algorithm will behave differently on problematic constraints as in Fig. 3.</Paragraph> </Section> <Section position="6" start_page="0" end_page="0" type="metho"> <SectionTitle> 6 A single reduction step </SectionTitle> <Paragraph position="0"> In this section we present a procedure solve for solving a0 -reduction constraints. We go through several examples to illustrate how it works. We have to omit some details for lack of space; they can be found in (Bodirsky et al., 2001).</Paragraph> <Paragraph position="1"> The aim of the procedure is to make explicit information that is implicit in a0 -reduction constraints: it introduces new corresponding variables and copies constraints from the reducing term to the reduced term.</Paragraph> <Paragraph position="2"> We build upon the solver for a0 -reduction constraints from (Bodirsky et al., 2001). This solver is complete, i.e. it can enumerate all solutions of a constraint; but it disambiguates a lot, which we want to avoid in underspecified a0 -reduction. We obtain an alternative procedure solve by disabling all rules which disambiguate and adding some new non-disambiguating rules. This allows us to perform a complete underspecified a0 -reduction for many examples from underspecified semantics without disambiguating at all. In those cases where the new rules alone are not sufficient, we can still fall back on the complete solver.</Paragraph> <Section position="1" start_page="0" end_page="0" type="sub_section"> <SectionTitle> 6.1 Saturation </SectionTitle> <Paragraph position="0"> Our constraint solver is based on saturation with a given set of saturation rules. Very briefly, this means that a constraint is seen as the set of its literals, to which more and more literals are added according to saturation rules. A saturation rule of the form a124 a26 a8 a189a55a111</Paragraph> <Paragraph position="2"> a113 says that we can add one of the a124 a113 to any constraint that contains at least the literals in a124 a26 . We only apply rules where each possible choice adds new literals to the set; a constraint is saturated under a set a190 of saturation rules if no rule in a190 can add anything else. solve returns the set of all possible saturations of its input. If the rule system contains nondeterministic distribution rules, with a98a192a191a193a97 , this set can be non-singleton; but the rules we are going to introduce are all deterministic propagation rules (with</Paragraph> <Paragraph position="4"/> </Section> <Section position="2" start_page="0" end_page="0" type="sub_section"> <SectionTitle> 6.2 Solving Beta Reduction Constraints </SectionTitle> <Paragraph position="0"> The main problem in doing underspecified a0 -reduction is that we may not know to which part of a redex a certain node belongs (as in Fig. 1).</Paragraph> <Paragraph position="1"> We address this problem by introducing under-specified correspondence literals of the form coa54a39a76a6a54 a163 a23 a77 a91 a23 a56 a77a80a79a80a79a80a79a153a77 a54 a163 a111 a77 a91a147a111 a56 a81 a56a60a54a51 a56a11a63 a25 a79 Such a literal is satisfied if the tree segments denoted by the a163 's and by the a91 's do not overlap properly, and there is an a114 for which coa54 a163 a113 a77 a91a147a113 a56a60a54a51 a56a101a63 a25 is satisfied. In Fig. 7 we present the rules UB for under-specified a0 -reduction; the first five rules are the core of the algorithm. To keep the rules short, we use the following abbreviations (with a97a24a115a149a114a95a115a149a98 ): The procedure solve consists of UB together with the propagation rules from (Bodirsky et al., 2001). The rest of this section shows how this procedure operates and what it can and cannot do.</Paragraph> <Paragraph position="2"> First, we discuss the five core rules. Rule (Beta) states that whenever the a0 -reduction relation holds, group parallelism holds, too. (This allows us to fall back on a complete solver for group parallelism.) Rule (Var) introduces a new variable as a correspondent of a redex variable, and (Lab) and (Dom) copy labeling and dominance literals from the redex to the reduct. To understand the exceptions they make, consider e.g. Fig. 5. Every node below a88 a26 has a correspondent in the reduct, except for a88 a28 . Every labeling relation in the redex also holds in the reduct, except for the labelings of the a2 -node a88 a23 , the a3a4a6a5 -node a88 a28 , and the a14 a4a16a15 -node a88 a34 . For the variables that possess a correspondent, all dominance relations in the redex hold in the reduct too. The rule (a1 .Inv) copies inverse a1 -binding literals, i.e. the information that all variables bound by a a1 -binder are known. For now, it is restricted to linear redexes; for the nonlinear case, we have to take recourse to disambiguation.</Paragraph> <Paragraph position="3"> It can be shown that the rules in UB are sound in the sense that they are valid implications when interpreted over a1 -structures.</Paragraph> </Section> <Section position="3" start_page="0" end_page="0" type="sub_section"> <SectionTitle> 6.3 Some Examples </SectionTitle> <Paragraph position="0"> To see what the rules do, we go through the first reduction step in Fig. 1. The a0 -reduction constraint that belongs to this reduction is We get (1), (2), (5) by propagation rules from (Bodirsky et al., 2001): variables bearing different labels must be different. Now we can apply (Var) to get (3) and (4), then (Lab) to get (6). Finally, (7) shows one of the dominances added by (Dom). Copies of all other variables and literals can be computed in a completely analogous fashion. In particular, copying gives us another redex starting at a41a44a42 , and we can continue with the algorithm usb in Figure 6.</Paragraph> <Paragraph position="1"> Note what happens in case of a nonlinear redex, as in the left picture of Fig. 8: as the redex is a254 ary, the rules produce two copies of the a21 labeling constraint, one via coa23 and one via coa33 . The result is shown on the right-hand side of the figure. We will return to this example in a minute.</Paragraph> </Section> <Section position="4" start_page="0" end_page="0" type="sub_section"> <SectionTitle> 6.4 More Complex Examples </SectionTitle> <Paragraph position="0"> The last two rules in Fig. 7 enforce consistency between scoping in the redex and scoping in the reduct. The rules use literals that were introduced in (Bodirsky et al., 2001), of the forms a51 a89a145a144 a54 a160 a56 , a54 a161 a56 and a51 denotes neither the root nor a hole of a161 . As an example, reconsider Fig. 3: by rule (Par.part), the reduct (right-hand picture of Fig. 3) cannot represent the term a69 a54 a21 a54a74a70a48a54 a71 a56a11a56a11a56 because that would require the a21 operator to be in a255a54 a161 a121a56 . Similarly in Fig. 8, where we have introduced two copies of the a21 label. If the a21 in the redex on the left ends up as part of the context, there should be only one copy in the reduct. This is brought about by the rule (Par.all) and the fact that correspondence is a function (which is enforced by rules from (Erk et al., 2001) which are part of the solver in (Bodirsky et al., 2001)). Together, they can be used to infer that a41a44a26 can have only one correspondent in the reduct context.</Paragraph> </Section> </Section> class="xml-element"></Paper>