{"id":97496,"date":"2026-08-29T17:08:55","date_gmt":"2026-08-29T09:08:55","guid":{"rendered":"https:\/\/www.wsisp.com\/helps\/97496.html"},"modified":"2026-08-29T17:08:55","modified_gmt":"2026-08-29T09:08:55","slug":"%e3%80%90deepseek-harness%e3%80%91cordis-%e6%97%b6%e7%a9%ba%e5%8f%af%e7%bb%84%e5%90%88%e6%80%a7%e7%bc%96%e7%a8%8b%e8%8c%83%e5%bc%8f-%e4%b8%89%e6%ae%b5%e5%bc%8f%e7%b2%be%e8%af%bb%e7%ac%94","status":"publish","type":"post","link":"https:\/\/www.wsisp.com\/helps\/97496.html","title":{"rendered":"\u3010deepseek-harness\u3011Cordis \u65f6\u7a7a\u53ef\u7ec4\u5408\u6027\u7f16\u7a0b\u8303\u5f0f \u2014 \u4e09\u6bb5\u5f0f\u7cbe\u8bfb\u7b14\u8bb0\uff08\u4e09\uff09"},"content":{"rendered":"<h2>Cordis \u65f6\u7a7a\u53ef\u7ec4\u5408\u6027\u7f16\u7a0b\u8303\u5f0f \u2014 \u4e09\u6bb5\u5f0f\u7cbe\u8bfb\u7b14\u8bb0&#xff08;\u4e09&#xff09;<\/h2>\n<h3>\u7b2c4\u7ae0 \u52a8\u6001\u7ec4\u5408\u6f14\u7b97<\/h3>\n<p>\u672c\u6587\u6863\u91c7\u7528\u4e09\u6bb5\u5f0f\u7ed3\u6784&#xff1a;\u6bcf\u8282\u5148\u7ed9\u51fa\u82f1\u6587\u539f\u6587&#xff0c;\u518d\u7ed9\u51fa\u4e2d\u6587\u7ffb\u8bd1&#xff0c;\u6700\u540e\u7ed9\u51fa\u8be6\u7ec6\u89e3\u91ca\u8bf4\u660e\u3002<br \/>\n\u672c\u7ae0\u628a\u7b2c3\u7ae0\u7684\u673a\u5236\u5c01\u88c5\u4e3a&#034;\u7ec4\u4ef6&#034;&#xff0c;\u7ed9\u51fa\u52a8\u6001\u7ec4\u5408\u6f14\u7b97&#xff0c;\u5e76\u8bc1\u660e\u5176\u5143\u7406\u8bba\u6027\u8d28\u3002<\/p>\n<hr \/>\n<h3>4.1 Components and Fibers \/ \u7ec4\u4ef6\u4e0e\u7ea4\u7ef4<\/h3>\n<h4>\u539f\u6587 (English)<\/h4>\n<p>This section fixes the objects the rules act on: the component; the fiber, an instantiation of a component carrying a lifecycle state of its own; and the registry, which holds the fibers a state carries and from which the coeffect context is read off.<\/p>\n<p>Definition 43. A component over a context \u0393 carrying both effects and coeffects is defined as:<br \/>\n\u212d\u0393 \u2254 &#x1d507;\u0393 \u00d7 &#x1d513;\u0393 \u00d7 &#x1d508;\u2217\u0393, representing a triple (&#x1d451;, &#x1d45d;, &#x1d452;), where:<\/p>\n<ul>\n<li>&#x1d451; : &#x1d507;\u0393 is the coeffect specification, declaring the dependencies required from the environment;<\/li>\n<li>&#x1d45d; : &#x1d513;\u0393 \u2254 &#x1d5b2;&#x1d5be;&#x1d5cd;(&#x1d43e;) is the provision, declaring the coeffect keys the component may provide, and no key outside &#x1d45d; is one its effect function writes;<\/li>\n<li>&#x1d452; : &#x1d508;\u2217\u0393 is the witnessed effect function, defining the effects contributed when the component is active together with the inverse that withdraws them.<\/li>\n<\/ul>\n<p>The two declarations are the two directions of one interface, &#x1d451; what the component reads from the environment and &#x1d45d; what the component writes to the environment, and Section 4.2 admits no two fibers of one registry whose provisions meet. Disjointness of provisions is where this chapter parts company with Section 3.2.3. The isolation of Definition 28 lets one key resolve through a realm table, so that two fibers may provide the same key in different realms; a calculus carrying realms would relax disjointness to disjointness within a realm. We read every key at one shared realm instead, which makes disjointness the right condition and each key\u2019s provider unique. What it restricts is how often a component may be instantiated: one with a non-empty provision has one fiber at a time.<\/p>\n<p>Definition 44. Fix a set &#x1d511; of fiber names. A fiber instantiating the component (&#x1d451;, &#x1d45d;, &#x1d452;) is a tuple \u27e8&#x1d451;, &#x1d45d;, &#x1d452;, &#x1d70b;, &#x1d70e;, &#x1d70f;, &#x1d703;\u27e9, where:<\/p>\n<ul>\n<li>&#x1d451;, &#x1d45d;, &#x1d452; are the coeffect specification, provision, and effect function;<\/li>\n<li>&#x1d70b; : &#x1d511; \u222a {&#x1d5cb;&#x1d5c8;&#x1d5c8;&#x1d5cd;} is the parent, the fiber this one was instantiated under, or the root marker;<\/li>\n<li>&#x1d70e; : \u03a3 is the fiber\u2019s own coeffect table, empty until it activates and written by its effects as they run;<\/li>\n<li>&#x1d70f; : {\u22a5, \u22a4} is the retirement flag, \u22a5 in a fresh fiber and \u22a4 once the orchestrator has retired the fiber;<\/li>\n<li>&#x1d703; : \u0398\u0393 is the lifecycle state, which in the two-state model is \u0398\u0393 \u2254 &#x1d5a8;&#x1d5c7;&#x1d5ba;&#x1d5bc;&#x1d5cd;&#x1d5c2;&#x1d5cf;&#x1d5be; | &#x1d5a0;&#x1d5bc;&#x1d5cd;&#x1d5c2;&#x1d5cf;&#x1d5be;(&#x1d454;, &#x1d714;), where &#x1d454; : \u0393 \u2192 \u0393 is the accumulator and &#x1d714; : &#x1d451; \u2192 &#x1d511; the committed view.<\/li>\n<\/ul>\n<p>The committed view &#x1d714; sends each key the fiber declares to the name of the fiber that provided it when the transition committed.<\/p>\n<p>Definition 45. Write &#x1d509;\u0393 for the set of fibers over \u0393. A state &#x1d6fe; \u2208 \u0393 carries a registry &#x1d439;&#x1d6fe; : &#x1d511; \u21c0 &#x1d509;\u0393, a finite partial function whose parent pointers form a tree rooted at &#x1d5cb;&#x1d5c8;&#x1d5c8;&#x1d5cd;, together with whatever else in \u0393 no fiber\u2019s &#x1d70e; names.<\/p>\n<p>Each fiber owning a table means the coeffect context is derived rather than stored: it is what the active fibers jointly provide:<br \/>\n&#x1d70e;&#x1d6fe; \u2254 \u22c3{&#x1d70e;&#x1d45a; | &#x1d45a; \u2208 dom(&#x1d439;&#x1d6fe;), &#x1d703;&#x1d45a; &#061; &#x1d5a0;&#x1d5bc;&#x1d5cd;&#x1d5c2;&#x1d5cf;&#x1d5be;(\u2212, \u2212)}<br \/>\nThe union is well defined because a fiber writes only the keys it declares and the provisions of distinct fibers are disjoint, so each key lies in the table of exactly one &#x1d5a0;&#x1d5bc;&#x1d5cd;&#x1d5c2;&#x1d5cf;&#x1d5be; fiber, whose name we write provider&#x1d458;(&#x1d6fe;) and call the provider of &#x1d458;. Each key therefore has one possible provider, fixed by the provisions and not by the state.<\/p>\n<h4>\u4e2d\u6587\u7ffb\u8bd1<\/h4>\n<p>\u672c\u8282\u56fa\u5b9a\u4e86\u89c4\u5219\u6240\u4f5c\u7528\u7684\u5bf9\u8c61&#xff1a;\u7ec4\u4ef6&#xff08;component&#xff09;&#xff1b;\u7ea4\u7ef4&#xff08;fiber&#xff09;&#xff0c;\u5373\u4e00\u4e2a\u7ec4\u4ef6\u7684\u5b9e\u4f8b\u5316\u3001\u81ea\u8eab\u5e26\u6709\u4e00\u4e2a\u751f\u547d\u5468\u671f\u72b6\u6001&#xff1b;\u4ee5\u53ca\u6ce8\u518c\u8868&#xff08;registry&#xff09;&#xff0c;\u5b83\u4fdd\u5b58\u72b6\u6001\u6240\u643a\u5e26\u7684\u7ea4\u7ef4&#xff0c;\u5e76\u4e14\u534f\u540c\u6548\u5e94\u4e0a\u4e0b\u6587&#xff08;coeffect context&#xff09;\u5c31\u662f\u4ece\u4e2d\u8bfb\u51fa\u7684\u3002<\/p>\n<p>\u5b9a\u4e49 43\u3002 \u5728\u540c\u65f6\u643a\u5e26\u6548\u5e94&#xff08;effect&#xff09;\u4e0e\u534f\u540c\u6548\u5e94&#xff08;coeffect&#xff09;\u7684\u4e0a\u4e0b\u6587 \u0393 \u4e0a&#xff0c;\u4e00\u4e2a\u7ec4\u4ef6\u5b9a\u4e49\u4e3a \u212d\u0393 \u2254 &#x1d507;\u0393 \u00d7 &#x1d513;\u0393 \u00d7 &#x1d508;\u2217\u0393&#xff0c;\u8868\u793a\u4e09\u5143\u7ec4 (&#x1d451;, &#x1d45d;, &#x1d452;)&#xff0c;\u5176\u4e2d&#xff1a;<\/p>\n<ul>\n<li>&#x1d451; : &#x1d507;\u0393 \u662f\u534f\u540c\u6548\u5e94\u89c4\u7ea6&#xff08;coeffect specification&#xff09;&#xff0c;\u58f0\u660e\u4ece\u73af\u5883\u6240\u9700\u7684\u4f9d\u8d56&#xff1b;<\/li>\n<li>&#x1d45d; : &#x1d513;\u0393 \u2254 &#x1d5b2;&#x1d5be;&#x1d5cd;(&#x1d43e;) \u662f\u4f9b\u7ed9&#xff08;provision&#xff09;&#xff0c;\u58f0\u660e\u8be5\u7ec4\u4ef6\u53ef\u80fd\u63d0\u4f9b\u7684\u534f\u540c\u6548\u5e94\u952e&#xff0c;\u4e14\u5176\u6548\u5e94\u51fd\u6570\u4e0d\u4f1a\u5199\u51fa &#x1d45d; \u4e4b\u5916\u7684\u952e&#xff1b;<\/li>\n<li>&#x1d452; : &#x1d508;\u2217\u0393 \u662f\u88ab\u89c1\u8bc1\u7684\u6548\u5e94\u51fd\u6570&#xff08;witnessed effect function&#xff09;&#xff0c;\u5b9a\u4e49\u7ec4\u4ef6\u6fc0\u6d3b\u65f6\u8d21\u732e\u7684\u6548\u5e94\u4ee5\u53ca\u64a4\u56de\u5b83\u4eec\u7684\u9006&#xff08;inverse&#xff09;\u3002<\/li>\n<\/ul>\n<p>\u8fd9\u4e24\u4e2a\u58f0\u660e\u662f\u540c\u4e00\u63a5\u53e3\u7684\u4e24\u4e2a\u65b9\u5411&#xff1a;&#x1d451; \u662f\u7ec4\u4ef6\u4ece\u73af\u5883\u8bfb\u53d6\u7684\u90e8\u5206&#xff0c;&#x1d45d; \u662f\u7ec4\u4ef6\u5411\u73af\u5883\u5199\u5165\u7684\u90e8\u5206\u3002\u7b2c4.2\u8282\u4e0d\u5141\u8bb8\u540c\u4e00\u6ce8\u518c\u8868\u4e2d\u4e24\u4e2a\u7ea4\u7ef4\u7684\u4f9b\u7ed9\u76f8\u4ea4\u3002\u4f9b\u7ed9\u7684\u4e0d\u76f8\u4ea4\u6027&#xff08;disjointness of provisions&#xff09;\u6b63\u662f\u672c\u7ae0\u4e0e\u7b2c3.2.3\u8282\u5206\u9053\u626c\u9573\u4e4b\u5904&#xff1a;\u5b9a\u4e4928\u7684\u9694\u79bb\u6027\u5141\u8bb8\u4e00\u4e2a\u952e\u901a\u8fc7\u57df\u8868&#xff08;realm table&#xff09;\u89e3\u6790&#xff0c;\u4f7f\u4e24\u4e2a\u7ea4\u7ef4\u53ef\u5728\u4e0d\u540c\u57df\u4e2d\u63d0\u4f9b\u540c\u4e00\u952e&#xff1b;\u800c\u672c\u7ae0\u5728\u5355\u4e00\u5171\u4eab\u57df\u4e2d\u8bfb\u53d6\u6bcf\u4e2a\u952e&#xff0c;\u4ece\u800c\u4f7f\u4e0d\u76f8\u4ea4\u6027\u6210\u4e3a\u6b63\u786e\u6761\u4ef6&#xff0c;\u4e14\u6bcf\u4e2a\u952e\u7684\u63d0\u4f9b\u8005\u552f\u4e00\u3002\u8fd9\u9650\u5236\u7684\u662f\u7ec4\u4ef6\u88ab\u5b9e\u4f8b\u5316\u7684\u9891\u6b21&#xff1a;\u4f9b\u7ed9\u975e\u7a7a\u7684\u7ec4\u4ef6\u4e00\u6b21\u53ea\u80fd\u6709\u4e00\u4e2a\u7ea4\u7ef4\u3002<\/p>\n<p>\u5b9a\u4e49 44\u3002 \u56fa\u5b9a\u7ea4\u7ef4\u540d\u96c6\u5408 &#x1d511;\u3002\u5b9e\u4f8b\u5316\u7ec4\u4ef6 (&#x1d451;, &#x1d45d;, &#x1d452;) \u7684\u4e00\u4e2a\u7ea4\u7ef4\u662f\u5143\u7ec4 \u27e8&#x1d451;, &#x1d45d;, &#x1d452;, &#x1d70b;, &#x1d70e;, &#x1d70f;, &#x1d703;\u27e9&#xff0c;\u5176\u4e2d&#xff1a;<\/p>\n<ul>\n<li>&#x1d451;, &#x1d45d;, &#x1d452; \u662f\u534f\u540c\u6548\u5e94\u89c4\u7ea6\u3001\u4f9b\u7ed9\u4e0e\u6548\u5e94\u51fd\u6570&#xff1b;<\/li>\n<li>&#x1d70b; : &#x1d511; \u222a {&#x1d5cb;&#x1d5c8;&#x1d5c8;&#x1d5cd;} \u662f\u7236\u7ea4\u7ef4&#xff08;parent&#xff09;&#xff0c;\u5373\u672c\u7ea4\u7ef4\u5728\u5176\u4e0b\u88ab\u5b9e\u4f8b\u5316\u7684\u7ea4\u7ef4&#xff0c;\u6216\u6839\u6807\u8bb0&#xff1b;<\/li>\n<li>&#x1d70e; : \u03a3 \u662f\u7ea4\u7ef4\u81ea\u5df1\u7684\u534f\u540c\u6548\u5e94\u8868&#xff0c;\u6fc0\u6d3b\u524d\u4e3a\u7a7a&#xff0c;\u7531\u5176\u6548\u5e94\u5728\u8fd0\u884c\u65f6\u5199\u5165&#xff1b;<\/li>\n<li>&#x1d70f; : {\u22a5, \u22a4} \u662f\u9000\u5f79\u6807\u5fd7&#xff08;retirement flag&#xff09;&#xff0c;\u65b0\u7ea4\u7ef4\u4e3a \u22a5&#xff0c;\u7f16\u6392\u8005\u9000\u5f79\u540e\u4e3a \u22a4&#xff1b;<\/li>\n<li>&#x1d703; : \u0398\u0393 \u662f\u751f\u547d\u5468\u671f\u72b6\u6001&#xff0c;\u4e24\u6001\u6a21\u578b\u4e0b \u0398\u0393 \u2254 &#x1d5a8;&#x1d5c7;&#x1d5ba;&#x1d5bc;&#x1d5cd;&#x1d5c2;&#x1d5cf;&#x1d5be; | &#x1d5a0;&#x1d5bc;&#x1d5cd;&#x1d5c2;&#x1d5cf;&#x1d5be;(&#x1d454;, &#x1d714;)&#xff0c;\u5176\u4e2d &#x1d454; : \u0393 \u2192 \u0393 \u662f\u7d2f\u52a0\u5668&#xff08;accumulator&#xff09;&#xff0c;&#x1d714; : &#x1d451; \u2192 &#x1d511; \u662f\u5df2\u63d0\u4ea4\u89c6\u56fe&#xff08;committed view&#xff09;\u3002<\/li>\n<\/ul>\n<p>\u5df2\u63d0\u4ea4\u89c6\u56fe &#x1d714; \u628a\u7ea4\u7ef4\u58f0\u660e\u7684\u6bcf\u4e2a\u952e\u6620\u5c04\u5230\u8f6c\u6362\u63d0\u4ea4\u65f6\u63d0\u4f9b\u8be5\u952e\u7684\u7ea4\u7ef4\u540d\u3002<\/p>\n<p>\u5b9a\u4e49 45\u3002 \u8bb0 &#x1d509;\u0393 \u4e3a \u0393 \u4e0a\u7684\u7ea4\u7ef4\u96c6\u5408\u3002\u72b6\u6001 &#x1d6fe; \u2208 \u0393 \u643a\u5e26\u6ce8\u518c\u8868 &#x1d439;&#x1d6fe; : &#x1d511; \u21c0 &#x1d509;\u0393&#xff0c;\u8fd9\u662f\u4e00\u4e2a\u6709\u9650\u504f\u51fd\u6570&#xff0c;\u5176\u7236\u6307\u9488\u6784\u6210\u4ee5 &#x1d5cb;&#x1d5c8;&#x1d5c8;&#x1d5cd; \u4e3a\u6839\u7684\u6811&#xff0c;\u5916\u52a0 \u0393 \u4e2d\u6ca1\u6709\u4efb\u4f55\u7ea4\u7ef4\u7684 &#x1d70e; \u6240\u547d\u540d\u7684\u5176\u4f59\u90e8\u5206\u3002<\/p>\n<p>\u6bcf\u4e2a\u7ea4\u7ef4\u62e5\u6709\u81ea\u5df1\u7684\u8868\u610f\u5473\u7740\u534f\u540c\u6548\u5e94\u4e0a\u4e0b\u6587\u662f\u6d3e\u751f\u7684\u800c\u975e\u5b58\u50a8\u7684&#xff1a;\u5b83\u5c31\u662f\u6240\u6709\u6fc0\u6d3b\u7ea4\u7ef4\u5171\u540c\u63d0\u4f9b\u7684&#xff1a;<br \/>\n&#x1d70e;&#x1d6fe; \u2254 \u22c3{&#x1d70e;&#x1d45a; | &#x1d45a; \u2208 dom(&#x1d439;&#x1d6fe;), &#x1d703;&#x1d45a; &#061; &#x1d5a0;&#x1d5bc;&#x1d5cd;&#x1d5c2;&#x1d5cf;&#x1d5be;(\u2212, \u2212)}<br \/>\n\u8be5\u5e76\u96c6\u662f\u826f\u5b9a\u4e49\u7684&#xff0c;\u56e0\u4e3a\u7ea4\u7ef4\u53ea\u5199\u5b83\u58f0\u660e\u7684\u952e&#xff0c;\u4e14\u4e0d\u540c\u7ea4\u7ef4\u7684\u4f9b\u7ed9\u4e0d\u76f8\u4ea4&#xff0c;\u6240\u4ee5\u6bcf\u4e2a\u952e\u6070\u5b58\u5728\u4e8e\u4e00\u4e2a\u6fc0\u6d3b\u7ea4\u7ef4\u7684\u8868\u4e2d&#xff0c;\u5176\u540d\u8bb0\u4e3a provider&#x1d458;(&#x1d6fe;)&#xff0c;\u79f0\u4e3a\u8be5\u952e\u7684\u63d0\u4f9b\u8005\u3002\u56e0\u6b64\u6bcf\u4e2a\u952e\u6709\u552f\u4e00\u7684\u53ef\u80fd\u63d0\u4f9b\u8005&#xff0c;\u7531\u4f9b\u7ed9\u800c\u975e\u72b6\u6001\u56fa\u5b9a\u3002<\/p>\n<h4>\u8be6\u7ec6\u89e3\u91ca<\/h4>\n<p>\u672c\u8282\u786e\u7acb\u4e86\u6574\u4e2a\u7b2c4\u7ae0\u7684\u5bf9\u8c61\u6a21\u578b&#xff0c;\u6838\u5fc3\u662f\u628a\u7b2c3\u7ae0\u91cc&#034;\u6548\u5e94 &#043; \u534f\u540c\u6548\u5e94&#034;\u7684\u673a\u5236\u5c01\u88c5\u6210\u4e00\u4e2a\u53ef\u547d\u540d\u3001\u53ef\u5b9e\u4f8b\u5316\u3001\u5e26\u751f\u547d\u5468\u671f\u7684&#034;\u7ec4\u4ef6\u7ea4\u7ef4&#034;\u3002\u7406\u89e3\u8fd9\u4e00\u8282\u7684\u5173\u952e\u662f\u628a\u63e1\u4e09\u4ef6\u4e8b\u7684\u5bf9\u5e94\u5173\u7cfb&#xff1a;<\/p>\n<p>\u7b2c\u4e00&#xff0c;\u7ec4\u4ef6 &#061; effect &#043; coeffect &#043; \u8ba1\u7b97\u4f53\u7684\u4e09\u5143\u7ec4\u3002 \u4e00\u4e2a\u7ec4\u4ef6 (&#x1d451;, &#x1d45d;, &#x1d452;) \u662f\u4e00\u4e2a&#034;\u63a5\u53e3\u7684\u4e24\u9762&#034;&#xff1a;&#x1d451;&#xff08;coeffect specification&#xff0c;\u534f\u540c\u6548\u5e94\u89c4\u7ea6&#xff09;\u58f0\u660e\u5b83\u8981\u4ece\u73af\u5883\u8bfb\u4ec0\u4e48\u4f9d\u8d56&#xff0c;&#x1d45d;&#xff08;provision&#xff0c;\u4f9b\u7ed9&#xff09;\u58f0\u660e\u5b83\u53ef\u80fd\u5411\u73af\u5883\u5199\u54ea\u4e9b\u952e&#xff0c;&#x1d452;&#xff08;witnessed effect function&#xff0c;\u88ab\u89c1\u8bc1\u7684\u6548\u5e94\u51fd\u6570&#xff09;\u662f\u771f\u6b63\u6267\u884c\u526f\u4f5c\u7528\u5e76\u4ea7\u751f\u4e00\u4e2a\u9006\u51fd\u6570\u7684\u8ba1\u7b97\u4f53\u3002\u8fd9\u975e\u5e38\u50cf\u73b0\u5b9e\u4e2d\u7684\u4f9d\u8d56\u6ce8\u5165&#xff08;dependency injection&#xff09;\u58f0\u660e&#xff1a;&#x1d451; \u662f&#034;\u6211\u9700\u8981\u4ec0\u4e48&#034;&#xff08;\u6bd4\u5982\u9700\u8981\u4e00\u4e2a\u6570\u636e\u5e93\u8fde\u63a5\u6c60\u3001\u4e00\u4e2a\u914d\u7f6e\u9879&#xff09;&#xff0c;&#x1d45d; \u662f&#034;\u6211\u63d0\u4f9b\u4ec0\u4e48&#034;&#xff08;\u6bd4\u5982\u6211\u63d0\u4f9b\u4e00\u4e2a logger\u3001\u4e00\u4e2a cache&#xff09;&#xff0c;&#x1d452; \u662f&#034;\u6211\u6fc0\u6d3b\u65f6\u5efa\u7acb\u8fd9\u4e9b\u8d44\u6e90\u3001\u9000\u5f79\u65f6\u56de\u6536\u5b83\u4eec&#034;\u7684\u4ee3\u7801\u3002&#x1d452; \u4e4b\u6240\u4ee5\u662f&#034;\u88ab\u89c1\u8bc1\u7684&#034;&#xff08;witnessed&#xff09;&#xff0c;\u662f\u56e0\u4e3a\u5b83\u4e0d\u4ec5\u8981\u8fd4\u56de\u65b0\u7684\u4e0a\u4e0b\u6587&#xff0c;\u8fd8\u8981\u8fd4\u56de\u4e00\u4e2a\u80fd\u7cbe\u786e\u8fd8\u539f\u7684\u9006\u51fd\u6570\u2014\u2014\u8fd9\u6b63\u662f\u7b2c3\u7ae0\u6062\u590d\u7cbe\u786e\u6027&#xff08;recovery exactness&#xff09;\u5728\u7ec4\u4ef6\u5c42\u7684\u5ef6\u7eed\u3002<\/p>\n<p>\u7b2c\u4e8c&#xff0c;\u7ea4\u7ef4 &#061; \u7ec4\u4ef6\u7684\u4e00\u6b21\u5b9e\u4f8b\u5316 &#043; \u72ec\u7acb\u7684\u751f\u547d\u5468\u671f\u3002 \u540c\u4e00\u4e2a\u7ec4\u4ef6\u53ef\u4ee5\u88ab\u591a\u6b21\u5b9e\u4f8b\u5316&#xff0c;\u6bcf\u6b21\u5b9e\u4f8b\u5316\u90fd\u662f\u4e00\u4e2a\u7ea4\u7ef4&#xff0c;\u643a\u5e26\u81ea\u5df1\u7684\u534f\u540c\u6548\u5e94\u8868 &#x1d70e;\u3001\u9000\u5f79\u6807\u5fd7 &#x1d70f;\u3001\u751f\u547d\u5468\u671f\u72b6\u6001 &#x1d703;&#xff0c;\u4ee5\u53ca\u7236\u6307\u9488 &#x1d70b;\u3002\u8fd9\u5bf9\u5e94 Cordis\/DSH \u5b9e\u8df5\u4e2d&#034;\u540c\u4e00\u4e2a\u63d2\u4ef6\u7c7b\u53ef\u4ee5\u88ab\u88c5\u8f7d\u591a\u4e2a\u5b9e\u4f8b&#034;\u7684\u80fd\u529b&#xff1a;\u6bd4\u5982\u4e00\u4e2a\u63d2\u4ef6\u5bbf\u4e3b\u53ef\u4ee5\u540c\u65f6\u8fd0\u884c\u591a\u4e2a\u914d\u7f6e\u4e0d\u540c\u7684\u540c\u4e00\u63d2\u4ef6\u3002\u7236\u6307\u9488 &#x1d70b; \u628a\u6240\u6709\u7ea4\u7ef4\u7ec4\u7ec7\u6210\u4e00\u68f5\u4ee5 &#x1d5cb;&#x1d5c8;&#x1d5c8;&#x1d5cd; \u4e3a\u6839\u7684\u6811&#xff0c;\u8fd9\u6b63\u662f&#034;\u8c01\u88c5\u8f7d\u4e86\u8c01&#034;\u7684\u56e0\u679c\u94fe\u2014\u2014\u5bf9\u5e94 DSH \u91cc\u4e00\u4e2a agent \u4f1a\u8bdd\u542f\u52a8\u5b50 agent\u3001\u5b50 agent \u518d\u542f\u52a8\u5b59 agent \u7684\u5c42\u7ea7\u5173\u7cfb\u3002\u5df2\u63d0\u4ea4\u89c6\u56fe &#x1d714; \u662f\u4e00\u4e2a\u7cbe\u5de7\u8bbe\u8ba1&#xff1a;\u5b83\u8bb0\u5f55\u7684\u4e0d\u662f&#034;\u952e\u7684\u503c&#034;&#xff0c;\u800c\u662f&#034;\u63d0\u4f9b\u8be5\u952e\u7684\u7ea4\u7ef4\u540d&#034;&#xff0c;\u8fd9\u6837\u6bd4\u8f83\u89c6\u56fe\u65f6\u4e0d\u4f1a\u88ab&#034;\u503c\u76f8\u7b49\u4f46\u63d0\u4f9b\u8005\u4e0d\u540c&#034;\u7684\u60c5\u51b5\u6b3a\u9a97\u2014\u2014\u8fd9\u4e0e\u5b9e\u73b0\u4e2d fiber.committed \u6301\u6709\u6620\u5c04\u3001fiber.target \u6301\u6709\u5176\u54c8\u5e0c&#xff08;\u7b2c5.1.3\u8282&#xff09;\u76f4\u63a5\u5bf9\u5e94\u3002<\/p>\n<p>\u7b2c\u4e09&#xff0c;\u6ce8\u518c\u8868\u4e0e\u6d3e\u751f\u7684\u534f\u540c\u6548\u5e94\u4e0a\u4e0b\u6587\u3002 \u72b6\u6001 &#x1d6fe; \u7684\u534f\u540c\u6548\u5e94\u4e0a\u4e0b\u6587 &#x1d70e;&#x1d6fe; \u4e0d\u662f\u5355\u72ec\u5b58\u50a8\u7684&#xff0c;\u800c\u662f\u5bf9\u6240\u6709\u6fc0\u6d3b\u7ea4\u7ef4\u7684\u8868\u53d6\u5e76\u96c6\u6d3e\u751f\u51fa\u6765\u7684\u3002\u8fd9\u6709\u4e00\u4e2a\u6df1\u523b\u540e\u679c&#xff1a;\u4e00\u4e2a\u6b63\u5728\u5378\u8f7d&#xff08;&#x1d5b4;&#x1d5c7;&#x1d5c5;&#x1d5c8;&#x1d5ba;&#x1d5bd;&#x1d5c2;&#x1d5c7;&#x1d5c0;&#xff09;\u6216\u6b63\u5728\u91cd\u8f7d&#xff08;&#x1d5b1;&#x1d5be;&#x1d5c5;&#x1d5c8;&#x1d5ba;&#x1d5bd;&#x1d5c2;&#x1d5c7;&#x1d5c0;&#xff09;\u7684\u7ea4\u7ef4&#xff0c;\u5373\u4f7f\u5b83\u7684\u8868\u91cc\u8fd8\u7559\u7740\u503c&#xff0c;\u4e5f\u4e0d\u4f1a\u88ab\u8ba1\u5165 &#x1d70e;&#x1d6fe;\u2014\u2014\u53ea\u6709\u771f\u6b63 &#x1d5a0;&#x1d5bc;&#x1d5cd;&#x1d5c2;&#x1d5cf;&#x1d5be; \u7684\u7ea4\u7ef4\u624d\u5bf9\u4ed6\u4eba\u53ef\u89c1\u3002\u8fd9\u6b63\u662f\u540e\u7eed 4.3.1 \u64a4\u56de\u987a\u5e8f\u5f97\u4ee5\u6210\u7acb\u7684\u57fa\u7840\u3002\u4f9b\u7ed9\u4e0d\u76f8\u4ea4&#xff08;disjointness of provisions&#xff09;\u5219\u5bf9\u5e94&#034;\u5355\u4e00\u6765\u6e90&#034;&#xff08;single-source&#xff09;\u7eaa\u5f8b&#xff1a;\u4e00\u4e2a\u952e\u5728\u6574\u4e2a\u6ce8\u518c\u8868\u91cc\u53ea\u6709\u4e00\u4e2a\u53ef\u80fd\u7684\u63d0\u4f9b\u8005&#xff0c;\u7f16\u6392\u8005\u4e0d\u80fd\u63a5\u7eb3\u7b2c\u4e8c\u4e2a\u58f0\u660e\u540c\u4e00\u952e\u7684\u7ec4\u4ef6\u3002\u8fd9\u4e0e\u7b2c3.2.3\u8282\u7684\u57df\u9694\u79bb&#xff08;realm isolation&#xff09;\u5f62\u6210\u5bf9\u6bd4\u2014\u2014\u57df\u9694\u79bb\u5141\u8bb8\u540c\u952e\u591a\u63d0\u4f9b\u8005&#xff0c;\u4f46\u672c\u7ae0\u4e3a\u4e86\u6f14\u7b97\u7684\u7b80\u6d01\u9009\u62e9\u4e86\u5355\u4e00\u5171\u4eab\u57df\u3002\u5de5\u7a0b\u4e0a&#xff0c;\u8fd9\u610f\u5473\u7740 Cordis \u91cc\u540c\u540d\u670d\u52a1\u7684&#034;\u6700\u540e\u6ce8\u518c\u8005\u80dc\u51fa&#034;\u6216&#034;\u591a\u5b9e\u4f8b\u5171\u5b58&#034;\u662f\u88ab\u7981\u6b62\u7684&#xff1a;\u8981\u4e48\u7528\u4e0d\u540c\u7684\u952e&#xff0c;\u8981\u4e48\u663e\u5f0f\u5206\u57df\u3002\u8fd9\u6b63\u662f\u7ec4\u4ef6\u751f\u547d\u5468\u671f\u3001\u4f9d\u8d56\u89e3\u6790\u5f97\u4ee5\u9759\u6001\u63a8\u7406\u7684\u524d\u63d0\u3002<\/p>\n<hr \/>\n<h3>4.2 The Base Calculus \/ \u57fa\u7840\u6f14\u7b97<\/h3>\n<h4>\u539f\u6587 (English)<\/h4>\n<p>This section gives the calculus of the two-state lifecycle of Figure 1 and nothing more: the target each fiber is compared against, and the five rules that move it.<\/p>\n<p>Definition 46. The target view of &#x1d45b; at &#x1d6fe; maps each declared key to its provider, so it is a total map &#x1d451;&#x1d45b; \u2192 &#x1d511;, and is \u22a5 when &#x1d45b; ought not to be running at all:<br \/>\ntarget&#x1d45b;(&#x1d6fe;) \u2254 { \u22a5 if &#x1d70f;&#x1d45b; \u2228 \u00ac(&#x1d6fe; \u22a7 &#x1d451;&#x1d45b;);  (&#x1d458; \u2208 &#x1d451;&#x1d45b;) \u21a6 provider&#x1d458;(&#x1d6fe;) otherwise }<br \/>\nA state is quiescent when every fiber has reached its target view:<br \/>\nquiet(&#x1d6fe;) \u2254 \u2200&#x1d45b; \u2208 dom(&#x1d439;&#x1d6fe;). { target&#x1d45b;(&#x1d6fe;) &#061; \u22a5 if &#x1d703;&#x1d45b; &#061; &#x1d5a8;&#x1d5c7;&#x1d5ba;&#x1d5bc;&#x1d5cd;&#x1d5c2;&#x1d5cf;&#x1d5be;;  target&#x1d45b;(&#x1d6fe;) &#061; &#x1d714;&#x1d45b; if &#x1d703;&#x1d45b; &#061; &#x1d5a0;&#x1d5bc;&#x1d5cd;&#x1d5c2;&#x1d5cf;&#x1d5be;(\u2212, &#x1d714;&#x1d45b;) }<\/p>\n<p>Rules. The base calculus takes each transition to be atomic, immediate, and infallible. Five rules generate two relations. An orchestration rule, prefixed O- and written &#x1d6fe; \u21d2 &#x1d6ff;, is an action the orchestrator may perform. A lifecycle rule, prefixed L- and written &#x1d6fe; \u27f6 &#x1d6ff;, is a step the system takes unprompted whenever its premises hold.<\/p>\n<p>&#x1d45b; \u2209 dom(&#x1d439;&#x1d6fe;)  &#x1d70b; \u2208 dom(&#x1d439;&#x1d6fe;) \u222a {&#x1d5cb;&#x1d5c8;&#x1d5c8;&#x1d5cd;}  (&#x1d451;,&#x1d45d;,&#x1d452;) \u2208 \u212d\u0393  \u2200&#x1d45a; \u2208 dom(&#x1d439;&#x1d6fe;). &#x1d45d; \u2229 &#x1d45d;&#x1d45a; &#061; \u2300<br \/>\n\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500  O-Insert<br \/>\n&#x1d6fe; \u21d2 &#x1d6fe;[&#x1d45b; \u21a6 \u27e8&#x1d451;,&#x1d45d;,&#x1d452;,&#x1d70b;,\u2300,\u22a5,&#x1d5a8;&#x1d5c7;&#x1d5ba;&#x1d5bc;&#x1d5cd;&#x1d5c2;&#x1d5cf;&#x1d5be;\u27e9]<\/p>\n<p>&#x1d45b; \u2208 dom(&#x1d439;&#x1d6fe;)<br \/>\n\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500  O-Retire<br \/>\n&#x1d6fe; \u21d2 &#x1d6fe;[&#x1d70f;&#x1d45b; \u21a6 \u22a4]<\/p>\n<p>&#x1d70f;&#x1d45b; &#061; \u22a4  &#x1d703;&#x1d45b; &#061; &#x1d5a8;&#x1d5c7;&#x1d5ba;&#x1d5bc;&#x1d5cd;&#x1d5c2;&#x1d5cf;&#x1d5be;  \u2200&#x1d45a;. &#x1d70b;&#x1d45a; \u2260 &#x1d45b;<br \/>\n\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500  O-Remove<br \/>\n&#x1d6fe; \u21d2 &#x1d6fe; \u2216 &#x1d45b;<\/p>\n<p>&#x1d703;&#x1d45b; &#061; &#x1d5a8;&#x1d5c7;&#x1d5ba;&#x1d5bc;&#x1d5cd;&#x1d5c2;&#x1d5cf;&#x1d5be;  &#x1d714; &#061; target&#x1d45b;(&#x1d6fe;) \u2260 \u22a5  &#x1d452;&#x1d45b;(&#x1d6fe;) &#061; (&#x1d6ff;, &#x1d454;)<br \/>\n\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500  L-Reload<br \/>\n&#x1d6fe; \u27f6 &#x1d6ff;[&#x1d703;&#x1d45b; \u21a6 &#x1d5a0;&#x1d5bc;&#x1d5cd;&#x1d5c2;&#x1d5cf;&#x1d5be;(&#x1d454;, &#x1d714;)]<\/p>\n<p>&#x1d703;&#x1d45b; &#061; &#x1d5a0;&#x1d5bc;&#x1d5cd;&#x1d5c2;&#x1d5cf;&#x1d5be;(&#x1d454;, &#x1d714;)  target&#x1d45b;(&#x1d6fe;) \u2260 &#x1d714;  &#x1d454;(&#x1d6fe;) &#061; &#x1d6ff;<br \/>\n\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500  L-Unload<br \/>\n&#x1d6fe; \u27f6 &#x1d6ff;[&#x1d703;&#x1d45b; \u21a6 &#x1d5a8;&#x1d5c7;&#x1d5ba;&#x1d5bc;&#x1d5cd;&#x1d5c2;&#x1d5cf;&#x1d5be;]<\/p>\n<p>L-Reload installs the committed view alongside the inverse; L-Unload applies the inverse and discards the committed view. Both are driven by the same comparison: L-Reload fires when a fiber holds no committed view and its target view is not \u22a5, L-Unload when the committed view it holds is not its target view. This is the reactive discipline of Section 3.2, read off a target that answers to retirement as well as to the coeffects: a transition is initiated whenever the target view changes, regardless of which of the two moved it.<\/p>\n<p>Definition 47. An application of &#x1d452;&#x1d45b;, or one of its iterations where Section 4.3.2 applies, may register a component (&#x1d451;, &#x1d45d;, &#x1d452;) \u2208 \u212d\u0393. In place of a state map it takes the O-Insert of that component with &#x1d70b; &#061; &#x1d45b;, and it yields as its inverse the O-Retire of the fiber so registered.<\/p>\n<p>Definition 48 (Confinement). A map &#x1d453; : \u0393 \u2192 \u0393 is confined to &#x1d45b; when: (1) Writes: dom(&#x1d439;&#x1d6ff;) &#061; dom(&#x1d439;&#x1d6fe;), &#x1d6ff;(&#x1d45a;) &#061; &#x1d6fe;(&#x1d45a;) for every &#x1d45a; \u2260 &#x1d45b;, and &#x1d6ff;(&#x1d45b;) and &#x1d6fe;(&#x1d45b;) differ in &#x1d70e; alone; (2) Reads: two states agreeing on &#x1d70e;&#x1d45b;, on the restrictions &#x1d70e;&#x1d45a;|&#x1d451;&#x1d45b; for every &#x1d45a;, and on the part of the state that no fiber\u2019s table names are carried by &#x1d453; to states agreeing on the same three. An effect function &#x1d452; is confined to &#x1d45b; when every application either registers a component or has both its state map and the inverse it yields confined to &#x1d45b;. Every fiber\u2019s effect function is required to be confined to that fiber.<\/p>\n<h4>\u4e2d\u6587\u7ffb\u8bd1<\/h4>\n<p>\u672c\u8282\u7ed9\u51fa\u56fe1\u4e24\u6001\u751f\u547d\u5468\u671f\u7684\u6f14\u7b97&#xff0c;\u4ec5\u6b64\u800c\u5df2&#xff1a;\u6bcf\u4e2a\u7ea4\u7ef4\u88ab\u6bd4\u8f83\u7684\u76ee\u6807&#xff0c;\u4ee5\u53ca\u79fb\u52a8\u5b83\u7684\u4e94\u6761\u89c4\u5219\u3002<\/p>\n<p>\u5b9a\u4e49 46\u3002 \u7ea4\u7ef4 &#x1d45b; \u5728\u72b6\u6001 &#x1d6fe; \u7684\u76ee\u6807\u89c6\u56fe&#xff08;target view&#xff09;\u628a\u6bcf\u4e2a\u58f0\u660e\u7684\u952e\u6620\u5c04\u5230\u5176\u63d0\u4f9b\u8005&#xff0c;\u56e0\u6b64\u662f\u4e00\u4e2a\u5168\u6620\u5c04 &#x1d451;&#x1d45b; \u2192 &#x1d511;&#xff1b;\u5f53 &#x1d45b; \u6839\u672c\u4e0d\u8be5\u8fd0\u884c\u65f6\u53d6 \u22a5&#xff1a;<br \/>\ntarget&#x1d45b;(&#x1d6fe;) \u2254 { \u82e5 &#x1d70f;&#x1d45b; \u2228 \u00ac(&#x1d6fe; \u22a7 &#x1d451;&#x1d45b;) \u5219 \u22a5&#xff1b;\u5426\u5219 (&#x1d458; \u2208 &#x1d451;&#x1d45b;) \u21a6 provider&#x1d458;(&#x1d6fe;) }<br \/>\n\u5f53\u4e00\u4e2a\u72b6\u6001\u4e2d\u6bcf\u4e2a\u7ea4\u7ef4\u90fd\u5df2\u8fbe\u5230\u5176\u76ee\u6807\u89c6\u56fe\u65f6&#xff0c;\u8be5\u72b6\u6001\u662f\u9759\u6b62\u7684&#xff08;quiescent&#xff09;&#xff1a;<br \/>\nquiet(&#x1d6fe;) \u2254 \u2200&#x1d45b; \u2208 dom(&#x1d439;&#x1d6fe;). { \u82e5 &#x1d703;&#x1d45b; &#061; &#x1d5a8;&#x1d5c7;&#x1d5ba;&#x1d5bc;&#x1d5cd;&#x1d5c2;&#x1d5cf;&#x1d5be; \u5219 target&#x1d45b;(&#x1d6fe;) &#061; \u22a5&#xff1b;\u82e5 &#x1d703;&#x1d45b; &#061; &#x1d5a0;&#x1d5bc;&#x1d5cd;&#x1d5c2;&#x1d5cf;&#x1d5be;(\u2212, &#x1d714;&#x1d45b;) \u5219 target&#x1d45b;(&#x1d6fe;) &#061; &#x1d714;&#x1d45b; }<\/p>\n<p>\u89c4\u5219\u3002 \u57fa\u7840\u6f14\u7b97\u628a\u6bcf\u6b21\u8f6c\u6362\u90fd\u89c6\u4f5c\u539f\u5b50\u7684&#xff08;atomic&#xff09;\u3001\u5373\u65f6\u7684&#xff08;immediate&#xff09;\u3001\u4e0d\u4f1a\u5931\u8d25\u7684&#xff08;infallible&#xff09;\u3002\u4e94\u6761\u89c4\u5219\u751f\u6210\u4e24\u4e2a\u5173\u7cfb\u3002\u7f16\u6392\u89c4\u5219&#xff08;orchestration rule&#xff09;&#xff0c;\u524d\u7f00 O-&#xff0c;\u5199\u4f5c &#x1d6fe; \u21d2 &#x1d6ff;&#xff0c;\u662f\u7f16\u6392\u8005\u53ef\u4ee5\u6267\u884c\u7684\u52a8\u4f5c&#xff1b;\u5176\u524d\u63d0\u8bf4\u660e\u8be5\u52a8\u4f5c\u4f55\u65f6\u5408\u6cd5&#xff0c;\u800c\u975e\u4f55\u65f6\u53d1\u751f\u3002\u751f\u547d\u5468\u671f\u89c4\u5219&#xff08;lifecycle rule&#xff09;&#xff0c;\u524d\u7f00 L-&#xff0c;\u5199\u4f5c &#x1d6fe; \u27f6 &#x1d6ff;&#xff0c;\u662f\u53ea\u8981\u524d\u63d0\u6210\u7acb\u7cfb\u7edf\u4fbf\u65e0\u9700\u50ac\u4fc3\u81ea\u884c\u8fc8\u51fa\u7684\u4e00\u6b65\u3002<\/p>\n<p>O-Insert&#xff08;\u63d2\u5165&#xff09;&#xff1a; \u5728\u540d &#x1d45b; \u4e0d\u5728\u6ce8\u518c\u8868\u4e2d\u3001\u7236 &#x1d70b; \u5b58\u5728&#xff08;\u6216\u4e3a\u6839&#xff09;\u3001\u7ec4\u4ef6\u5408\u6cd5\u3001\u4e14\u5176\u4f9b\u7ed9 &#x1d45d; \u4e0e\u6ce8\u518c\u8868\u4e2d\u6240\u6709\u73b0\u6709\u7ea4\u7ef4\u7684\u4f9b\u7ed9\u4e0d\u76f8\u4ea4\u7684\u524d\u63d0\u4e0b&#xff0c;\u63d2\u5165\u4e00\u4e2a\u521d\u59cb\u4e3a &#x1d5a8;&#x1d5c7;&#x1d5ba;&#x1d5bc;&#x1d5cd;&#x1d5c2;&#x1d5cf;&#x1d5be; \u7684\u65b0\u7ea4\u7ef4\u3002\u8fd9\u662f\u7f16\u6392\u8005&#034;\u8ba9\u4e00\u4e2a\u7ec4\u4ef6\u5b58\u5728&#034;\u7684\u552f\u4e00\u5165\u53e3\u3002<\/p>\n<p>O-Retire&#xff08;\u9000\u5f79&#xff09;&#xff1a; \u53ea\u8981 &#x1d45b; \u5728\u6ce8\u518c\u8868\u4e2d&#xff0c;\u5c31\u5c06\u5176\u9000\u5f79\u6807\u5fd7 &#x1d70f;&#x1d45b; \u7f6e\u4e3a \u22a4\u3002\u9000\u5f79\u662f\u4e00\u4e2a\u8bf7\u6c42&#xff0c;\u4e0e\u7ea4\u7ef4\u5f53\u524d\u72b6\u6001\u65e0\u5173\u2014\u2014\u771f\u6b63\u6267\u884c\u9000\u5f79\u7684\u662f\u751f\u547d\u5468\u671f\u89c4\u5219\u3002<\/p>\n<p>O-Remove&#xff08;\u79fb\u9664&#xff09;&#xff1a; \u5f53 &#x1d45b; \u5df2\u9000\u5f79&#xff08;&#x1d70f;&#x1d45b; &#061; \u22a4&#xff09;\u3001\u5df2\u9759\u6b62&#xff08;&#x1d703;&#x1d45b; &#061; &#x1d5a8;&#x1d5c7;&#x1d5ba;&#x1d5bc;&#x1d5cd;&#x1d5c2;&#x1d5cf;&#x1d5be;&#xff09;\u3001\u4e14\u6ca1\u6709\u7ea4\u7ef4\u4ee5 &#x1d45b; \u4e3a\u7236&#xff08;\u2200&#x1d45a;. &#x1d70b;&#x1d45a; \u2260 &#x1d45b;&#xff09;\u65f6&#xff0c;\u4ece\u6ce8\u518c\u8868\u4e2d\u5220\u9664 &#x1d45b;\u3002\u9000\u5f79\u4e0e\u79fb\u9664\u5206\u79bb\u7684\u539f\u56e0\u662f&#xff1a;\u4e00\u4e2a\u5df2\u9000\u5f79\u4f46\u4ecd\u6fc0\u6d3b\u7684\u7ea4\u7ef4\u5fc5\u987b\u5148\u88ab\u53bb\u6fc0\u6d3b&#xff0c;\u63d0\u524d\u79fb\u9664\u4f1a\u4e22\u5f03\u7d2f\u52a0\u5668\u5e76\u9020\u6210\u6cc4\u6f0f\u3002<\/p>\n<p>L-Reload&#xff08;\u91cd\u8f7d\/\u6fc0\u6d3b&#xff09;&#xff1a; \u5f53\u7ea4\u7ef4\u5904\u4e8e &#x1d5a8;&#x1d5c7;&#x1d5ba;&#x1d5bc;&#x1d5cd;&#x1d5c2;&#x1d5cf;&#x1d5be;\u3001\u5176\u76ee\u6807\u89c6\u56fe &#x1d714; \u2260 \u22a5\u3001\u4e14\u6267\u884c\u6548\u5e94\u51fd\u6570 &#x1d452;&#x1d45b;(&#x1d6fe;) \u5f97\u5230\u65b0\u72b6\u6001 &#x1d6ff; \u548c\u9006 &#x1d454; \u65f6&#xff0c;\u628a\u7ea4\u7ef4\u7f6e\u4e3a &#x1d5a0;&#x1d5bc;&#x1d5cd;&#x1d5c2;&#x1d5cf;&#x1d5be;(&#x1d454;, &#x1d714;)\u3002\u5b83\u4e00\u5e76\u5b89\u88c5\u5df2\u63d0\u4ea4\u89c6\u56fe\u4e0e\u9006\u51fd\u6570\u3002<\/p>\n<p>L-Unload&#xff08;\u5378\u8f7d\/\u53bb\u6fc0\u6d3b&#xff09;&#xff1a; \u5f53\u7ea4\u7ef4\u5904\u4e8e &#x1d5a0;&#x1d5bc;&#x1d5cd;&#x1d5c2;&#x1d5cf;&#x1d5be;(&#x1d454;, &#x1d714;)\u3001\u5176\u76ee\u6807\u89c6\u56fe\u5df2\u4e0d\u518d\u662f &#x1d714;\u3001\u4e14\u5e94\u7528\u9006 &#x1d454;(&#x1d6fe;) &#061; &#x1d6ff; \u65f6&#xff0c;\u628a\u7ea4\u7ef4\u7f6e\u4e3a &#x1d5a8;&#x1d5c7;&#x1d5ba;&#x1d5bc;&#x1d5cd;&#x1d5c2;&#x1d5cf;&#x1d5be;\u3002\u5b83\u5e94\u7528\u9006\u51fd\u6570\u5e76\u4e22\u5f03\u5df2\u63d0\u4ea4\u89c6\u56fe\u3002<\/p>\n<p>\u4e24\u6761\u89c4\u5219\u90fd\u7531\u540c\u4e00\u4e2a\u6bd4\u8f83\u9a71\u52a8&#xff1a;L-Reload \u5728\u7ea4\u7ef4\u6ca1\u6709\u5df2\u63d0\u4ea4\u89c6\u56fe\u4e14\u76ee\u6807\u89c6\u56fe\u975e \u22a5 \u65f6\u89e6\u53d1&#xff0c;L-Unload \u5728\u7ea4\u7ef4\u6301\u6709\u7684\u5df2\u63d0\u4ea4\u89c6\u56fe\u4e0d\u518d\u662f\u5176\u76ee\u6807\u89c6\u56fe\u65f6\u89e6\u53d1\u3002\u8fd9\u5c31\u662f\u7b2c3.2\u8282\u7684\u53cd\u5e94\u5f0f\u7eaa\u5f8b&#xff08;reactive discipline&#xff09;&#xff0c;\u4ece\u4e00\u4e2a\u65e2\u54cd\u5e94\u9000\u5f79\u53c8\u54cd\u5e94\u534f\u540c\u6548\u5e94\u7684\u76ee\u6807\u89c6\u56fe\u4e2d\u8bfb\u51fa&#xff1a;\u6bcf\u5f53\u76ee\u6807\u89c6\u56fe\u53d8\u5316&#xff0c;\u65e0\u8bba\u54ea\u4e00\u65b9\u79fb\u52a8\u4e86\u5b83&#xff0c;\u90fd\u4f1a\u53d1\u8d77\u4e00\u6b21\u8f6c\u6362\u3002<\/p>\n<p>\u5b9a\u4e49 47\u3002 &#x1d452;&#x1d45b; \u7684\u4e00\u6b21\u5e94\u7528&#xff08;\u6216\u5176\u57284.3.2\u8282\u7684\u67d0\u6b21\u8fed\u4ee3&#xff09;\u53ef\u4ee5\u6ce8\u518c\u4e00\u4e2a\u7ec4\u4ef6 (&#x1d451;, &#x1d45d;, &#x1d452;)\u3002\u5b83\u4ee5\u8be5\u7ec4\u4ef6\u7684 O-Insert&#xff08;\u53d6 &#x1d70b; &#061; &#x1d45b;&#xff09;\u66ff\u4ee3\u72b6\u6001\u6620\u5c04&#xff0c;\u5e76\u4ee5\u5176\u9006\u4ea7\u51fa\u8be5\u6ce8\u518c\u7ea4\u7ef4\u7684 O-Retire\u3002<\/p>\n<p>\u5b9a\u4e49 48&#xff08;\u7ea6\u675f\u6027 confinement&#xff09;\u3002 \u6620\u5c04 &#x1d453; : \u0393 \u2192 \u0393 \u53d7\u7ea6\u675f\u4e8e &#x1d45b; \u5f53\u4e14\u4ec5\u5f53&#xff1a;(1) \u5199&#xff1a;\u9664 &#x1d45b; \u5916\u6240\u6709\u7ea4\u7ef4\u4e0d\u53d8&#xff0c;&#x1d45b; \u81ea\u8eab\u53ea\u5728 &#x1d70e; \u4e0a\u4e0d\u540c&#xff1b;(2) \u8bfb&#xff1a;\u5728 &#x1d70e;&#x1d45b;\u3001\u5404 &#x1d70e;&#x1d45a;|&#x1d451;&#x1d45b;\u3001\u4ee5\u53ca\u65e0\u7ea4\u7ef4\u8868\u547d\u540d\u7684\u72b6\u6001\u90e8\u5206\u4e0a\u8fbe\u6210\u4e00\u81f4\u7684\u4e24\u4e2a\u72b6\u6001&#xff0c;\u7ecf &#x1d453; \u540e\u4ecd\u5728\u540c\u6837\u7684\u4e09\u8005\u4e0a\u4e00\u81f4\u3002\u6548\u5e94\u51fd\u6570 &#x1d452; \u53d7\u7ea6\u675f\u4e8e &#x1d45b; \u5f53\u5176\u6bcf\u6b21\u5e94\u7528\u8981\u4e48\u6ce8\u518c\u4e00\u4e2a\u7ec4\u4ef6&#xff0c;\u8981\u4e48\u5176\u72b6\u6001\u6620\u5c04\u4e0e\u9006\u5747\u53d7\u7ea6\u675f\u4e8e &#x1d45b;\u3002\u6bcf\u4e2a\u7ea4\u7ef4\u7684\u6548\u5e94\u51fd\u6570\u90fd\u8981\u6c42\u53d7\u7ea6\u675f\u4e8e\u8be5\u7ea4\u7ef4\u3002<\/p>\n<h4>\u8be6\u7ec6\u89e3\u91ca<\/h4>\n<p>\u672c\u8282\u662f\u6574\u4e2a\u6f14\u7b97\u7684&#034;\u9aa8\u67b6\u7248\u672c&#034;\u2014\u2014\u53ea\u8003\u8651\u4e24\u6001\u751f\u547d\u5468\u671f&#xff08;&#x1d5a8;&#x1d5c7;&#x1d5ba;&#x1d5bc;&#x1d5cd;&#x1d5c2;&#x1d5cf;&#x1d5be; \/ &#x1d5a0;&#x1d5bc;&#x1d5cd;&#x1d5c2;&#x1d5cf;&#x1d5be;&#xff09;&#xff0c;\u4e14\u628a\u6bcf\u6b21\u8f6c\u6362\u90fd\u5047\u8bbe\u4e3a\u539f\u5b50\u3001\u5373\u65f6\u3001\u4e0d\u4f1a\u5931\u8d25\u3002\u7406\u89e3\u672c\u8282\u7684\u5173\u952e\u662f\u6293\u4f4f&#034;\u76ee\u6807\u89c6\u56fe\u9a71\u52a8&#034;\u8fd9\u4e00\u53cd\u5e94\u5f0f\u6838\u5fc3&#xff1a;<\/p>\n<p>\u76ee\u6807\u89c6\u56fe&#xff08;target view&#xff09;\u662f\u6574\u4e2a\u7cfb\u7edf\u7684&#034;\u6307\u6325\u68d2&#034;\u3002 \u6bcf\u4e2a\u7ea4\u7ef4 &#x1d45b; \u5728\u4efb\u610f\u72b6\u6001 &#x1d6fe; \u4e0b\u90fd\u6709\u4e00\u4e2a\u76ee\u6807\u89c6\u56fe target&#x1d45b;(&#x1d6fe;)&#xff1a;\u5982\u679c\u5b83\u8be5\u8fd0\u884c&#xff0c;\u5c31\u662f\u628a\u5b83\u7684\u4f9d\u8d56\u952e &#x1d451;&#x1d45b; \u89e3\u6790\u5230\u5404\u81ea\u63d0\u4f9b\u8005\u7684\u6620\u5c04&#xff1b;\u5982\u679c\u5b83\u4e0d\u8be5\u8fd0\u884c&#xff08;\u88ab\u9000\u5f79\u4e86&#xff0c;\u6216\u4f9d\u8d56\u6ca1\u6ee1\u8db3&#xff09;&#xff0c;\u5c31\u662f \u22a5\u3002\u7cfb\u7edf\u9759\u6b62&#xff08;quiescent&#xff09;\u610f\u5473\u7740\u6bcf\u4e2a\u7ea4\u7ef4\u90fd\u5df2\u7ecf&#034;\u5bf9\u9f50&#034;\u4e86\u81ea\u5df1\u7684\u76ee\u6807\u89c6\u56fe\u2014\u2014\u8be5\u6fc0\u6d3b\u7684\u6fc0\u6d3b\u4e86\u3001\u8be5\u9759\u6b62\u7684\u9759\u6b62\u4e86\u3001\u4e14\u6fc0\u6d3b\u8005\u7684\u5df2\u63d0\u4ea4\u89c6\u56fe\u6070\u597d\u7b49\u4e8e\u76ee\u6807\u89c6\u56fe\u3002\u8fd9\u5c31\u50cf\u4e00\u4e2a\u6052\u6e29\u5668\u7cfb\u7edf&#xff1a;\u6bcf\u4e2a\u623f\u95f4\u7684\u76ee\u6807\u6e29\u5ea6\u662f\u7ed9\u5b9a\u7684&#xff0c;\u7cfb\u7edf\u4e0d\u65ad\u8c03\u6574\u76f4\u5230\u6240\u6709\u623f\u95f4\u90fd\u8fbe\u6807\u3002\u8fd9\u91cc\u7684&#034;\u76ee\u6807&#034;\u7531\u4e24\u4ef6\u4e8b\u51b3\u5b9a&#xff1a;\u9000\u5f79\u6807\u5fd7 &#x1d70f;&#x1d45b;&#xff08;\u7f16\u6392\u8005\u7684\u610f\u5fd7&#xff09;\u548c\u4f9d\u8d56\u6ee1\u8db3\u6027 &#x1d6fe; \u22a7 &#x1d451;&#x1d45b;&#xff08;\u73af\u5883\u7684\u72b6\u6001&#xff09;\u3002\u6ce8\u610f\u76ee\u6807\u89c6\u56fe\u8bb0\u5f55\u7684\u662f\u63d0\u4f9b\u8005\u540d\u800c\u975e\u503c\u2014\u2014\u8fd9\u6b63\u662f\u4e3a\u4e86\u8ba9&#034;\u540c\u4e00\u4e2a\u503c\u4f46\u4e0d\u540c\u63d0\u4f9b\u8005&#034;\u4e5f\u80fd\u89e6\u53d1\u8f6c\u6362&#xff0c;\u5bf9\u5e94\u5b9e\u73b0\u91cc\u7528 fiber \u540d\u800c\u975e\u503c\u6bd4\u8f83\u3002<\/p>\n<p>\u4e94\u6761\u89c4\u5219\u5206\u6210\u4e24\u7c7b\u3002 \u4e09\u6761\u7f16\u6392\u89c4\u5219&#xff08;O-Insert \/ O-Retire \/ O-Remove&#xff09;\u662f\u5916\u90e8\u8f93\u5165&#xff1a;\u7f16\u6392\u8005\u53ea\u80fd&#034;\u8bf7\u6c42\u4e00\u4e2a\u7ea4\u7ef4\u5b58\u5728\u6216\u505c\u6b62\u5b58\u5728&#034;&#xff0c;\u4ece\u4e0d\u76f4\u63a5\u8bbe\u7f6e\u751f\u547d\u5468\u671f\u72b6\u6001\u3002\u8fd9\u5bf9\u5e94 Cordis\/DSH \u4e2d\u5bbf\u4e3b\u5bf9\u63d2\u4ef6\u7684\u64cd\u4f5c\u8bed\u4e49\u2014\u2014\u5bbf\u4e3b\u8bf4&#034;\u88c5\u8f7d\u8fd9\u4e2a\u63d2\u4ef6&#034;\u6216&#034;\u5378\u8f7d\u90a3\u4e2a\u63d2\u4ef6&#034;&#xff0c;\u4f46\u63d2\u4ef6\u5177\u4f53\u4f55\u65f6\u771f\u6b63\u6fc0\u6d3b\u3001\u4f55\u65f6\u771f\u6b63\u505c\u6b62&#xff0c;\u662f\u7cfb\u7edf\u81ea\u5df1\u6839\u636e\u4f9d\u8d56\u72b6\u51b5\u51b3\u5b9a\u7684\u3002\u4e24\u6761\u751f\u547d\u5468\u671f\u89c4\u5219&#xff08;L-Reload \/ L-Unload&#xff09;\u662f\u7cfb\u7edf\u81ea\u53d1\u7684&#xff1a;\u53ea\u8981\u524d\u63d0\u6ee1\u8db3\u5c31\u89e6\u53d1&#xff0c;\u65e0\u9700\u8c03\u5ea6\u5668\u63d0\u53ca\u3002\u89c4\u5219\u7684\u6bd4\u8f83\u673a\u5236\u662f\u7edf\u4e00\u7684\u2014\u2014\u6bd4\u8f83&#034;\u5df2\u63d0\u4ea4\u89c6\u56fe &#x1d714;&#034;\u4e0e&#034;\u76ee\u6807\u89c6\u56fe target&#034;&#xff1a;\u76f8\u7b49\u5219\u9759\u6b62&#xff0c;\u4e0d\u7b49\u5219\u8f6c\u6362\u3002\u8fd9\u79cd&#034;\u76ee\u6807\u2014\u5df2\u63d0\u4ea4&#034;\u53cc\u89c6\u56fe\u6bd4\u8f83\u662f\u53cd\u5e94\u5f0f\u7eaa\u5f8b\u7684\u4f53\u73b0&#xff1a;\u65e0\u8bba\u662f\u56e0\u4e3a\u4f9d\u8d56\u6d88\u5931\u4e86\u5bfc\u81f4 target \u53d8 \u22a5&#xff0c;\u8fd8\u662f\u56e0\u4e3a\u9000\u5f79\u4e86\u5bfc\u81f4 target \u53d8 \u22a5&#xff0c;\u7ea4\u7ef4\u90fd\u4f1a\u5378\u8f7d&#xff1b;\u65e0\u8bba\u662f\u56e0\u4e3a\u65b0\u63d0\u4f9b\u8005\u4e0a\u7ebf\u5bfc\u81f4 target \u53d8\u4e86&#xff0c;\u7ea4\u7ef4\u90fd\u4f1a\u91cd\u8f7d\u5230\u65b0\u89e3\u6790\u4e0a\u3002<\/p>\n<p>O-Insert \u7684\u6700\u540e\u4e00\u4e2a\u524d\u63d0 \u2200&#x1d45a;. &#x1d45d; \u2229 &#x1d45d;&#x1d45a; &#061; \u2300 \u662f\u5355\u4e00\u6765\u6e90\u7eaa\u5f8b\u7684\u6267\u884c\u70b9\u3002 \u5b83\u7981\u6b62\u63a5\u7eb3\u7b2c\u4e8c\u4e2a\u58f0\u660e\u5df2\u6709\u952e\u7684\u7ec4\u4ef6\u2014\u2014\u8fd9\u6b63\u662f 4.1 \u8282\u4f9b\u7ed9\u4e0d\u76f8\u4ea4\u6027\u7684\u843d\u5730\u3002\u5de5\u7a0b\u4e0a&#xff0c;\u8fd9\u76f8\u5f53\u4e8e DSH \u63d2\u4ef6\u7cfb\u7edf\u62d2\u7edd\u6ce8\u518c\u4e00\u4e2a\u4e0e\u5df2\u5b58\u5728\u63d2\u4ef6\u51b2\u7a81\u7684\u670d\u52a1\u540d&#xff0c;\u907f\u514d&#034;\u4e24\u4e2a logger \u63d0\u4f9b\u8005&#034;\u9020\u6210\u7684\u6b67\u4e49\u3002O-Retire \u4e0e O-Remove \u5206\u79bb\u662f\u4e00\u4e2a\u91cd\u8981\u7684\u5de5\u7a0b\u7ec6\u8282&#xff1a;\u9000\u5f79\u53ea\u662f&#034;\u6253\u4e2a\u6807\u8bb0&#034;&#xff08;\u8bbe &#x1d70f;&#061;\u22a4&#xff09;&#xff0c;\u628a\u76ee\u6807\u89c6\u56fe\u53d8 \u22a5&#xff0c;\u771f\u6b63\u7684\u53bb\u6fc0\u6d3b\u7531 L-Unload \u5b8c\u6210&#xff1b;\u53ea\u6709\u5f53\u7ea4\u7ef4\u5df2\u7ecf\u9759\u6b62\u4e14\u6ca1\u6709\u5b50\u7ea4\u7ef4\u65f6\u624d\u80fd O-Remove\u3002\u63d0\u524d\u79fb\u9664\u4e00\u4e2a\u4ecd\u6fc0\u6d3b\u7684\u7ea4\u7ef4\u4f1a\u4e22\u6389\u5b83\u7684\u7d2f\u52a0\u5668 &#x1d454;&#xff08;\u9006\u51fd\u6570&#xff09;&#xff0c;\u5bfc\u81f4\u526f\u4f5c\u7528\u65e0\u6cd5\u56de\u6536\u2014\u2014\u8fd9\u5c31\u662f&#034;\u8d44\u6e90\u6cc4\u6f0f&#034;\u3002\u2200&#x1d45a;. &#x1d70b;&#x1d45a; \u2260 &#x1d45b; \u524d\u63d0\u4fdd\u8bc1&#034;\u5148\u79fb\u9664\u5b50\u518d\u79fb\u9664\u7236&#034;&#xff0c;\u7ef4\u6301\u6ce8\u518c\u8868\u7684\u6811\u5f62\u826f\u597d\u6027\u3002<\/p>\n<p>\u5b9a\u4e4947\u7684\u6ce8\u518c\u539f\u8bed\u662f&#034;\u63d2\u4ef6\u88c5\u8f7d\u63d2\u4ef6&#034;\u7684\u8bed\u4e49\u5316\u3002 \u4e00\u4e2a\u7ec4\u4ef6\u5728\u6fc0\u6d3b\u65f6\u53ef\u4ee5\u6ce8\u518c\u522b\u7684\u7ec4\u4ef6&#xff0c;\u5176\u9006\u51fd\u6570\u662f&#034;\u9000\u5f79\u6240\u6ce8\u518c\u7684\u7ea4\u7ef4&#034;\u800c\u975e&#034;\u79fb\u9664&#034;\u3002\u4e3a\u4ec0\u4e48\u7528 O-Retire \u800c\u975e O-Remove \u4f5c\u4e3a\u9006&#xff1f;\u56e0\u4e3a\u9006\u51fd\u6570\u5fc5\u987b&#034;\u5728\u4efb\u4f55\u5230\u8fbe\u5b83\u7684\u5730\u65b9\u90fd\u80fd\u6267\u884c&#034;&#xff0c;\u800c O-Remove \u6709\u524d\u63d0&#xff08;\u7ea4\u7ef4\u5fc5\u987b\u9759\u6b62\u3001\u65e0\u5b50&#xff09;&#xff1b;\u5982\u679c\u5b50\u8fd8\u6fc0\u6d3b\u7740&#xff0c;\u7236\u7684\u9006\u5c31\u5361\u4f4f\u4e86\u3002O-Retire \u552f\u4e00\u524d\u63d0\u662f &#x1d45b; \u5728\u6ce8\u518c\u8868\u4e2d&#xff0c;\u6c38\u8fdc\u80fd\u6267\u884c&#xff0c;\u9000\u5f79\u540e\u751f\u547d\u5468\u671f\u89c4\u5219\u4f1a\u81ea\u7136\u628a\u5b83\u5e26\u56de &#x1d5a8;&#x1d5c7;&#x1d5ba;&#x1d5bc;&#x1d5cd;&#x1d5c2;&#x1d5cf;&#x1d5be;\u3002\u8fd9\u5bf9\u5e94 DSH \u91cc&#034;agent \u9000\u51fa\u65f6&#xff0c;\u5b83\u542f\u52a8\u7684\u5b50 agent \u4f1a\u88ab\u7ea7\u8054\u56de\u6536&#034;\u7684\u8bed\u4e49\u2014\u2014\u4e00\u4e2a\u63d2\u4ef6\u5bbf\u4e3b\u52a0\u8f7d\u7684\u63d2\u4ef6&#xff0c;\u5728\u5bbf\u4e3b\u5378\u8f7d\u65f6\u4e5f\u4f1a\u88ab\u9000\u5f79&#xff0c;\u9010\u5c42\u5411\u4e0b\u7ea7\u8054\u3002<\/p>\n<p>\u5b9a\u4e4948\u7684\u7ea6\u675f\u6027&#xff08;confinement&#xff09;\u662f\u6545\u969c\u9694\u79bb\u7684\u8fb9\u754c\u3002 \u5b83\u4ece\u5199\u548c\u8bfb\u4e24\u4e2a\u65b9\u5411\u9650\u5236\u6548\u5e94\u51fd\u6570\u7684\u80fd\u529b&#xff1a;\u5199\u4e0a&#xff0c;\u4e00\u4e2a\u7ea4\u7ef4\u7684\u6548\u5e94\u53ea\u80fd\u6539\u81ea\u5df1\u7684 &#x1d70e; \u8868&#xff08;\u52a0\u4e0a\u6ce8\u518c\u539f\u8bed\u65b0\u589e\u7684\u6761\u76ee\u548c\u9000\u5f79\u6807\u8bb0&#xff09;&#xff0c;\u4e0d\u80fd\u52a8\u522b\u4eba\u7684\u63a7\u5236\u5b57\u6bb5&#xff1b;\u8bfb\u4e0a&#xff0c;\u4e00\u4e2a\u7ea4\u7ef4\u53ea\u80fd\u8bfb\u81ea\u5df1\u7684\u8868\u3001\u5404\u63d0\u4f9b\u8005\u8868\u4e2d\u5b83\u58f0\u660e\u4f9d\u8d56\u7684\u90e8\u5206\u3001\u4ee5\u53ca\u73af\u5883\u72b6\u6001&#xff0c;\u4e0d\u80fd\u8bfb\u522b\u4eba\u7684\u8868\u6216\u4efb\u4f55\u63a7\u5236\u5b57\u6bb5\u3002\u8fd9\u4fdd\u8bc1\u4e86\u4e00\u4e2a\u7ec4\u4ef6\u4e0d\u80fd&#034;\u5077\u770b&#034;\u6216&#034;\u7be1\u6539&#034;\u5b83\u6ca1\u58f0\u660e\u4f9d\u8d56\u7684\u7ea4\u7ef4\u7684\u751f\u547d\u5468\u671f\u72b6\u6001\u2014\u2014\u8fd9\u6b63\u662f\u6545\u969c\u9694\u79bb\u4e0e\u6a21\u5757\u5c01\u88c5\u7684\u5f62\u5f0f\u5316\u3002\u8bfb\u7ea6\u675f\u7684\u7b2c(2)\u6761\u5c24\u5176\u91cd\u8981&#xff1a;\u5b83\u89e3\u91ca\u4e86\u4e3a\u4ec0\u4e48\u7ec4\u4ef6\u80fd\u8bfb\u5230\u81ea\u5df1\u58f0\u660e\u7684\u534f\u540c\u6548\u5e94\u503c\u2014\u2014\u8fd9\u4e9b\u503c\u5728\u63d0\u4f9b\u8005\u7684\u8868\u91cc&#xff0c;\u6240\u4ee5\u6548\u5e94\u51fd\u6570\u5fc5\u987b\u80fd\u8bfb\u5404 &#x1d70e;&#x1d45a;|&#x1d451;&#x1d45b;\u3002\u8fd9\u5bf9\u5e94 Cordis \u91cc\u7ec4\u4ef6\u901a\u8fc7\u4f9d\u8d56\u6ce8\u5165\u62ff\u5230\u7684&#034;\u5df2\u89e3\u6790\u7684\u4f9d\u8d56\u5b9e\u4f8b&#034;&#xff0c;\u800c\u4e0d\u662f\u76f4\u63a5\u8bbf\u95ee\u6574\u4e2a\u6ce8\u518c\u8868\u3002<\/p>\n<p>\u6700\u540e&#xff0c;\u89c4\u5219\u662f\u975e\u786e\u5b9a\u4e14\u7eaf\u53cd\u5e94\u5f0f\u7684&#xff1a;\u591a\u6761\u7ea4\u7ef4\u53ef\u80fd\u540c\u65f6\u9700\u8981\u8f6c\u6362&#xff0c;\u5173\u7cfb\u4e0d\u89c4\u5b9a\u987a\u5e8f&#xff1b;\u4e5f\u6ca1\u6709\u4efb\u4f55\u89c4\u5219\u63d0\u53ca\u8c03\u5ea6\u5668\u3002\u56e0\u6b64\u5bf9&#034;\u6240\u6709\u53ef\u80fd\u7684\u6b65\u9aa4\u5e8f\u5217&#034;\u6210\u7acb\u7684\u5b9a\u7406&#xff0c;\u5bf9\u4efb\u4f55\u8fd0\u884c\u65f6\u91c7\u7528\u7684\u8c03\u5ea6\u7b56\u7565\u90fd\u6210\u7acb\u2014\u2014\u8fd9\u662f\u540e\u7eed\u5143\u7406\u8bba\u80fd\u8986\u76d6\u5404\u79cd\u73b0\u5b9e\u8c03\u5ea6\u7684\u5173\u952e\u3002<\/p>\n<hr \/>\n<h3>4.3 Transitions in Progress \/ \u8fdb\u884c\u4e2d\u7684\u8f6c\u6362<\/h3>\n<h4>\u539f\u6587 (English)<\/h4>\n<p>This section extends the base calculus in four settings. The first supplies something Section 3.2 requires and Section 4.2 cannot express, a deactivation spread over an interval its dependents may occupy; the other three drop the idealization that a transition is atomic, immediate, and infallible, none of which a transition in a real runtime is. What is dropped is that a whole transition is one step, not that a step is one application of one rule, and the four share one structural consequence: a transition that is not a step needs a state to occupy while it is under way, one for each direction it may run in.<\/p>\n<p>Definition 49. The lifecycle states of this section replace \u0398\u0393 by<br \/>\n\u0398\u0393 \u2254 &#x1d5a8;&#x1d5c7;&#x1d5ba;&#x1d5bc;&#x1d5cd;&#x1d5c2;&#x1d5cf;&#x1d5be;(&#x1d701;) | &#x1d5b1;&#x1d5be;&#x1d5c5;&#x1d5c8;&#x1d5ba;&#x1d5bd;&#x1d5c2;&#x1d5c7;&#x1d5c0;(&#x1d456;, &#x1d454;, &#x1d714;) | &#x1d5a0;&#x1d5bc;&#x1d5cd;&#x1d5c2;&#x1d5cf;&#x1d5be;(&#x1d454;, &#x1d714;) | &#x1d5b4;&#x1d5c7;&#x1d5c5;&#x1d5c8;&#x1d5ba;&#x1d5bd;&#x1d5c2;&#x1d5c7;&#x1d5c0;(&#x1d454;, &#x1d714;, &#x1d701;)<br \/>\nwhere &#x1d456; is the remaining effect iterator, &#x1d454; the accumulator built so far, &#x1d714; the committed view, and &#x1d701; : {\u22a5} \u222a \u039e the outcome, carried by &#x1d5b4;&#x1d5c7;&#x1d5c5;&#x1d5c8;&#x1d5ba;&#x1d5bd;&#x1d5c2;&#x1d5c7;&#x1d5c0; as the one its deactivation is headed for and by &#x1d5a8;&#x1d5c7;&#x1d5ba;&#x1d5bc;&#x1d5cd;&#x1d5c2;&#x1d5cf;&#x1d5be; as the one it reached, either \u22a5 or an error from the set \u039e that Section 4.3.4 supplies.<\/p>\n<p>A fiber is installed when it is in one of the three states carrying an accumulator and a committed view, and failed when it carries an error outcome:<br \/>\ninstalled&#x1d45b;(&#x1d6fe;) \u2254 &#x1d703;&#x1d45b; \u2260 &#x1d5a8;&#x1d5c7;&#x1d5ba;&#x1d5bc;&#x1d5cd;&#x1d5c2;&#x1d5cf;&#x1d5be;(\u2212),  failed&#x1d45b;(&#x1d6fe;) \u2254 \u2203&#x1d709; \u2208 \u039e. &#x1d703;&#x1d45b; &#061; &#x1d5a8;&#x1d5c7;&#x1d5ba;&#x1d5bc;&#x1d5cd;&#x1d5c2;&#x1d5cf;&#x1d5be;(&#x1d709;)<br \/>\nThe quiescence is read on the wider state space, and &#x1d70e;&#x1d6fe; still unions the tables of &#x1d5a0;&#x1d5bc;&#x1d5cd;&#x1d5c2;&#x1d5cf;&#x1d5be; fibers alone, so a fiber whose transition is under way in either direction reads its coeffects through the &#x1d714; it holds and provides none of its own; a key that its transition has already written is therefore not yet one a dependent may activate against.<\/p>\n<h4>\u4e2d\u6587\u7ffb\u8bd1<\/h4>\n<p>\u672c\u8282\u5728\u56db\u79cd\u60c5\u5883\u4e0b\u6269\u5c55\u57fa\u7840\u6f14\u7b97\u3002\u7b2c\u4e00\u79cd\u8865\u8db3\u7b2c3.2\u8282\u8981\u6c42\u800c\u7b2c4.2\u8282\u65e0\u6cd5\u8868\u8fbe\u7684\u4e1c\u897f&#xff1a;\u4e00\u6b21\u53bb\u6fc0\u6d3b\u5206\u6563\u5728\u4e00\u6bb5\u65f6\u95f4\u5185&#xff0c;\u4f9b\u5176\u4f9d\u8d56\u8005\u5360\u636e&#xff1b;\u5176\u4f59\u4e09\u79cd\u653e\u5f03&#034;\u8f6c\u6362\u662f\u539f\u5b50\u7684\u3001\u5373\u65f6\u7684\u3001\u4e0d\u4f1a\u5931\u8d25\u7684&#034;\u8fd9\u4e00\u7406\u60f3\u5316\u2014\u2014\u800c\u771f\u5b9e\u8fd0\u884c\u65f6\u91cc\u7684\u8f6c\u6362\u4e09\u8005\u7686\u975e\u3002\u88ab\u653e\u5f03\u7684\u662f&#034;\u6574\u6b21\u8f6c\u6362\u662f\u4e00\u6b65&#034;&#xff0c;\u800c\u975e&#034;\u4e00\u6b65\u662f\u4e00\u6b21\u89c4\u5219\u5e94\u7528&#034;&#xff0c;\u56db\u8005\u5171\u4eab\u4e00\u4e2a\u7ed3\u6784\u540e\u679c&#xff1a;\u4e00\u6b21\u975e\u4e00\u6b65\u7684\u8f6c\u6362\u9700\u8981\u4e00\u4e2a\u5728\u5b83\u8fdb\u884c\u671f\u95f4\u5360\u636e\u7684\u72b6\u6001&#xff0c;\u6bcf\u4e2a\u53ef\u80fd\u7684\u65b9\u5411\u5404\u9700\u4e00\u4e2a\u3002<\/p>\n<p>\u5b9a\u4e49 49\u3002 \u672c\u8282\u7684\u751f\u547d\u5468\u671f\u72b6\u6001\u628a \u0398\u0393 \u66ff\u6362\u4e3a&#xff1a;<br \/>\n\u0398\u0393 \u2254 &#x1d5a8;&#x1d5c7;&#x1d5ba;&#x1d5bc;&#x1d5cd;&#x1d5c2;&#x1d5cf;&#x1d5be;(&#x1d701;) | &#x1d5b1;&#x1d5be;&#x1d5c5;&#x1d5c8;&#x1d5ba;&#x1d5bd;&#x1d5c2;&#x1d5c7;&#x1d5c0;(&#x1d456;, &#x1d454;, &#x1d714;) | &#x1d5a0;&#x1d5bc;&#x1d5cd;&#x1d5c2;&#x1d5cf;&#x1d5be;(&#x1d454;, &#x1d714;) | &#x1d5b4;&#x1d5c7;&#x1d5c5;&#x1d5c8;&#x1d5ba;&#x1d5bd;&#x1d5c2;&#x1d5c7;&#x1d5c0;(&#x1d454;, &#x1d714;, &#x1d701;)<br \/>\n\u5176\u4e2d &#x1d456; \u662f\u5269\u4f59\u7684\u6548\u5e94\u8fed\u4ee3\u5668&#xff08;effect iterator&#xff09;&#xff0c;&#x1d454; \u662f\u8fc4\u4eca\u6784\u5efa\u7684\u7d2f\u52a0\u5668&#xff0c;&#x1d714; \u662f\u5df2\u63d0\u4ea4\u89c6\u56fe&#xff0c;&#x1d701; : {\u22a5} \u222a \u039e \u662f\u7ed3\u679c&#xff08;outcome&#xff09;&#xff0c;\u7531 &#x1d5b4;&#x1d5c7;&#x1d5c5;&#x1d5c8;&#x1d5ba;&#x1d5bd;&#x1d5c2;&#x1d5c7;&#x1d5c0; \u643a\u5e26\u4e3a\u5176\u53bb\u6fc0\u6d3b\u6240\u671d\u5411\u7684\u7ed3\u679c\u3001\u7531 &#x1d5a8;&#x1d5c7;&#x1d5ba;&#x1d5bc;&#x1d5cd;&#x1d5c2;&#x1d5cf;&#x1d5be; \u643a\u5e26\u4e3a\u5176\u5df2\u5230\u8fbe\u7684\u7ed3\u679c&#xff0c;\u8981\u4e48\u662f \u22a5&#xff0c;\u8981\u4e48\u662f4.3.4\u8282\u63d0\u4f9b\u7684\u9519\u8bef\u96c6\u5408 \u039e \u4e2d\u7684\u67d0\u4e2a\u9519\u8bef\u3002<\/p>\n<p>\u4e00\u4e2a\u7ea4\u7ef4\u5904\u4e8e\u643a\u5e26\u7d2f\u52a0\u5668\u4e0e\u5df2\u63d0\u4ea4\u89c6\u56fe\u7684\u4e09\u79cd\u72b6\u6001\u4e4b\u4e00\u65f6\u662f\u5df2\u5b89\u88c5\u7684&#xff08;installed&#xff09;&#xff0c;\u643a\u5e26\u9519\u8bef\u7ed3\u679c\u65f6\u662f\u5df2\u5931\u8d25\u7684&#xff08;failed&#xff09;&#xff1a;<br \/>\ninstalled&#x1d45b;(&#x1d6fe;) \u2254 &#x1d703;&#x1d45b; \u2260 &#x1d5a8;&#x1d5c7;&#x1d5ba;&#x1d5bc;&#x1d5cd;&#x1d5c2;&#x1d5cf;&#x1d5be;(\u2212)&#xff0c;failed&#x1d45b;(&#x1d6fe;) \u2254 \u2203&#x1d709; \u2208 \u039e. &#x1d703;&#x1d45b; &#061; &#x1d5a8;&#x1d5c7;&#x1d5ba;&#x1d5bc;&#x1d5cd;&#x1d5c2;&#x1d5cf;&#x1d5be;(&#x1d709;)<br \/>\n\u9759\u6b62\u6027\u5728\u66f4\u5bbd\u7684\u72b6\u6001\u7a7a\u95f4\u4e0a\u8bfb\u51fa&#xff0c;\u800c &#x1d70e;&#x1d6fe; \u4ecd\u7136\u53ea\u5bf9 &#x1d5a0;&#x1d5bc;&#x1d5cd;&#x1d5c2;&#x1d5cf;&#x1d5be; \u7ea4\u7ef4\u7684\u8868\u53d6\u5e76\u96c6&#xff0c;\u6240\u4ee5\u4e00\u4e2a\u8f6c\u6362\u6b63\u5728\u8fdb\u884c&#xff08;\u4efb\u4e00\u65b9\u5411&#xff09;\u7684\u7ea4\u7ef4\u901a\u8fc7\u5b83\u6301\u6709\u7684 &#x1d714; \u8bfb\u53d6\u81ea\u5df1\u7684\u534f\u540c\u6548\u5e94&#xff0c;\u4e14\u4e0d\u63d0\u4f9b\u81ea\u5df1\u7684\u534f\u540c\u6548\u5e94&#xff1b;\u56e0\u6b64\u5176\u8f6c\u6362\u5df2\u7ecf\u5199\u4e0b\u7684\u952e&#xff0c;\u5c1a\u672a\u6210\u4e3a\u4f9d\u8d56\u8005\u53ef\u4ee5\u6fc0\u6d3b\u6240\u4f9d\u636e\u7684\u952e\u3002<\/p>\n<h4>\u8be6\u7ec6\u89e3\u91ca<\/h4>\n<p>\u672c\u8282\u662f\u6574\u7ae0\u7684&#034;\u5206\u6c34\u5cad&#034;&#xff1a;\u5b83\u628a\u57fa\u7840\u6f14\u7b97\u90a3\u4e2a\u8fc7\u4e8e\u7406\u60f3\u7684\u4e24\u6001\u6a21\u578b\u6269\u5c55\u4e3a\u56db\u6001\u6a21\u578b&#xff0c;\u9010\u6b65\u653e\u5f03&#034;\u539f\u5b50\u3001\u5373\u65f6\u3001\u4e0d\u4f1a\u5931\u8d25&#034;\u4e09\u4e2a\u7406\u60f3\u5316\u5047\u8bbe\u3002\u6838\u5fc3\u7ed3\u6784\u6d1e\u89c1\u662f&#xff1a;\u4e00\u6b21\u8f6c\u6362\u82e5\u4e0d\u662f\u5355\u6b65\u5b8c\u6210\u7684&#xff0c;\u5c31\u9700\u8981\u4e00\u4e2a&#034;\u8fdb\u884c\u4e2d&#034;\u7684\u72b6\u6001\u6765\u6816\u8eab\u2014\u2014\u6bcf\u4e2a\u65b9\u5411&#xff08;\u91cd\u8f7d\u65b9\u5411\u3001\u5378\u8f7d\u65b9\u5411&#xff09;\u5404\u4e00\u4e2a\u3002<\/p>\n<p>\u4e8e\u662f\u751f\u547d\u5468\u671f\u4ece\u4e24\u6001\u6269\u5c55\u4e3a\u56db\u6001&#xff1a;&#x1d5a8;&#x1d5c7;&#x1d5ba;&#x1d5bc;&#x1d5cd;&#x1d5c2;&#x1d5cf;&#x1d5be;(&#x1d701;)&#xff08;\u9759\u6b62&#xff0c;\u643a\u5e26\u7ed3\u679c &#x1d701;&#xff09;\u3001&#x1d5b1;&#x1d5be;&#x1d5c5;&#x1d5c8;&#x1d5ba;&#x1d5bd;&#x1d5c2;&#x1d5c7;&#x1d5c0;(&#x1d456;, &#x1d454;, &#x1d714;)&#xff08;\u91cd\u8f7d\u4e2d&#xff0c;\u643a\u5e26\u5269\u4f59\u8fed\u4ee3\u5668\u3001\u5df2\u6784\u5efa\u7d2f\u52a0\u5668\u3001\u5df2\u63d0\u4ea4\u89c6\u56fe&#xff09;\u3001&#x1d5a0;&#x1d5bc;&#x1d5cd;&#x1d5c2;&#x1d5cf;&#x1d5be;(&#x1d454;, &#x1d714;)&#xff08;\u6fc0\u6d3b&#xff0c;\u643a\u5e26\u7d2f\u52a0\u5668\u4e0e\u5df2\u63d0\u4ea4\u89c6\u56fe&#xff09;\u3001&#x1d5b4;&#x1d5c7;&#x1d5c5;&#x1d5c8;&#x1d5ba;&#x1d5bd;&#x1d5c2;&#x1d5c7;&#x1d5c0;(&#x1d454;, &#x1d714;, &#x1d701;)&#xff08;\u5378\u8f7d\u4e2d&#xff0c;\u643a\u5e26\u7d2f\u52a0\u5668\u3001\u5df2\u63d0\u4ea4\u89c6\u56fe\u3001\u671d\u5411\u7684\u7ed3\u679c&#xff09;\u3002\u8fd9\u5bf9\u5e94\u73b0\u5b9e\u8fd0\u884c\u65f6\u91cc\u4e00\u6b21&#034;\u70ed\u91cd\u8f7d&#034;\u6216&#034;\u5378\u8f7d&#034;\u4e0d\u662f\u77ac\u65f6\u7684&#xff1a;\u5b83\u8981\u6267\u884c\u4e00\u6bb5\u4ee3\u7801\u3001\u53ef\u80fd\u8de8\u8d8a\u591a\u6b21\u8fed\u4ee3\u3001\u53ef\u80fd\u7b49\u5f85\u5f02\u6b65\u64cd\u4f5c\u3001\u53ef\u80fd\u4e2d\u9014\u5931\u8d25\u3002<\/p>\n<p>\u6700\u5173\u952e\u7684\u53ef\u89c1\u6027\u89c4\u5219&#xff1a;&#x1d70e;&#x1d6fe; \u4ecd\u7136\u53ea\u5bf9\u771f\u6b63 &#x1d5a0;&#x1d5bc;&#x1d5cd;&#x1d5c2;&#x1d5cf;&#x1d5be; \u7684\u7ea4\u7ef4\u53d6\u5e76\u96c6\u3002\u8fd9\u610f\u5473\u7740\u4e00\u4e2a &#x1d5b1;&#x1d5be;&#x1d5c5;&#x1d5c8;&#x1d5ba;&#x1d5bd;&#x1d5c2;&#x1d5c7;&#x1d5c0; \u6216 &#x1d5b4;&#x1d5c7;&#x1d5c5;&#x1d5c8;&#x1d5ba;&#x1d5bd;&#x1d5c2;&#x1d5c7;&#x1d5c0; \u7684\u7ea4\u7ef4&#xff0c;\u5373\u4f7f\u5b83\u7684\u8868\u91cc\u5df2\u7ecf\u5199\u4e86\u503c&#xff0c;\u4e5f\u4e0d\u5bf9\u4ed6\u4eba\u53ef\u89c1\u2014\u2014\u5b83\u901a\u8fc7\u81ea\u5df1\u6301\u6709\u7684\u5df2\u63d0\u4ea4\u89c6\u56fe &#x1d714; \u6765\u8bfb\u4f9d\u8d56&#xff0c;\u4f46\u4e0d\u5411\u4ed6\u4eba\u63d0\u4f9b\u4efb\u4f55\u952e\u3002\u8fd9\u6709\u4e24\u4e2a\u5de5\u7a0b\u542b\u4e49&#xff1a;\u4e00\u662f&#034;\u534a\u88c5\u8f7d\u7684\u7ec4\u4ef6\u4e0d\u5bf9\u5916\u53ef\u89c1&#034;&#xff0c;\u907f\u514d\u4f9d\u8d56\u8005\u770b\u5230\u4e00\u4e2a\u8fd8\u6ca1\u51c6\u5907\u597d\u7684\u670d\u52a1&#xff1b;\u4e8c\u662f\u4e3a 4.3.1 \u7684\u64a4\u56de\u987a\u5e8f\u5960\u5b9a\u57fa\u7840\u2014\u2014\u4e00\u4e2a\u5f00\u59cb\u5378\u8f7d\u7684\u7ea4\u7ef4\u7acb\u5373\u4ece &#x1d70e;&#x1d6fe; \u4e2d\u6d88\u5931&#xff0c;\u4e8e\u662f\u4f9d\u8d56\u5b83\u7684\u7ea4\u7ef4\u4f1a\u53d1\u73b0\u76ee\u6807\u89c6\u56fe\u53d8\u5316\u3001\u4e5f\u5f00\u59cb\u5378\u8f7d&#xff0c;\u5f62\u6210\u81ea\u7136\u7684\u7ea7\u8054\u3002<\/p>\n<p>\u540e\u7eed\u56db\u4e2a\u5b50\u8282\u5206\u522b\u5904\u7406&#xff1a;\u64a4\u56de&#xff08;\u628a\u5378\u8f7d\u5206\u6210&#034;\u6807\u8bb0\u79bb\u5f00&#034;\u4e0e&#034;\u771f\u6b63\u56de\u6536&#034;\u4e24\u6b65&#xff09;\u3001\u8fed\u4ee3&#xff08;\u628a\u6fc0\u6d3b\u5206\u6210\u591a\u6b21\u53ef\u4e2d\u65ad\u7684\u8fed\u4ee3&#xff09;\u3001\u5f02\u6b65&#xff08;\u4e00\u6b21\u8fed\u4ee3\u5728\u98de\u884c\u671f\u95f4\u73af\u5883\u4f1a\u53d8&#xff09;\u3001\u5931\u8d25&#xff08;\u8fed\u4ee3\u53ef\u80fd\u629b\u9519&#xff09;\u3002\u6bcf\u4e2a\u5b50\u8282\u53ea\u5f80\u8fd9\u4e2a\u56db\u6001\u7a7a\u95f4\u4e0a\u52a0\u89c4\u5219&#xff0c;\u4e0d\u6539\u53d8\u5df2\u6709\u7ed3\u679c\u2014\u2014\u8fd9\u662f\u672c\u7ae0&#034;\u5206\u5c42\u6269\u5c55&#034;\u7684\u8bbe\u8ba1\u54f2\u5b66\u3002<\/p>\n<hr \/>\n<h3>4.3.1 Withdrawal \/ \u64a4\u56de<\/h3>\n<h4>\u539f\u6587 (English)<\/h4>\n<p>Section 3.2 requires that dependents activate after their dependencies and that dependencies withdraw their provisions only after their dependents have deactivated. The second half must deliver that a consumer can still read &#x1d458; throughout its own deactivation, and that the provider\u2019s withdrawal of &#x1d458; takes effect only afterwards. The base calculus cannot deliver it at all: its L-Unload removes the provisions and runs the inverse together, leaving no interval between them for a consumer\u2019s teardown to occupy.<\/p>\n<p>This layer splits that step in two, and guards the second half by the following condition.<\/p>\n<p>Definition 50. The fiber &#x1d45b; is relied upon at &#x1d6fe; when some other installed fiber resolves a key to it:<br \/>\nrelied&#x1d45b;(&#x1d6fe;) \u2254 \u2203&#x1d45a; \u2208 dom(&#x1d439;&#x1d6fe;), &#x1d458; \u2208 &#x1d451;&#x1d45a;. &#x1d45a; \u2260 &#x1d45b; \u2227 installed&#x1d45a;(&#x1d6fe;) \u2227 &#x1d714;&#x1d45a;(&#x1d458;) &#061; &#x1d45b;<\/p>\n<p>&#x1d703;&#x1d45b; &#061; &#x1d5a0;&#x1d5bc;&#x1d5cd;&#x1d5c2;&#x1d5cf;&#x1d5be;(&#x1d454;, &#x1d714;)  target&#x1d45b;(&#x1d6fe;) \u2260 &#x1d714;<br \/>\n\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500  L-Leave<br \/>\n&#x1d6fe; \u27f6 &#x1d6fe;[&#x1d703;&#x1d45b; \u21a6 &#x1d5b4;&#x1d5c7;&#x1d5c5;&#x1d5c8;&#x1d5ba;&#x1d5bd;&#x1d5c2;&#x1d5c7;&#x1d5c0;(&#x1d454;, &#x1d714;, \u22a5)]<\/p>\n<p>&#x1d703;&#x1d45b; &#061; &#x1d5b4;&#x1d5c7;&#x1d5c5;&#x1d5c8;&#x1d5ba;&#x1d5bd;&#x1d5c2;&#x1d5c7;&#x1d5c0;(&#x1d454;, &#x1d714;, &#x1d701;)  \u00ac relied&#x1d45b;(&#x1d6fe;)  &#x1d454;(&#x1d6fe;) &#061; &#x1d6ff;<br \/>\n\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500  L-Unload<br \/>\n&#x1d6fe; \u27f6 &#x1d6ff;[&#x1d703;&#x1d45b; \u21a6 &#x1d5a8;&#x1d5c7;&#x1d5ba;&#x1d5bc;&#x1d5cd;&#x1d5c2;&#x1d5cf;&#x1d5be;(&#x1d701;)]<\/p>\n<p>L-Leave records the decision to deactivate without acting on it, which stops the fiber providing its coeffects while leaving its own committed view and everyone else\u2019s intact. L-Unload applies the accumulator, discards the committed view, and leaves the fiber &#x1d5a8;&#x1d5c7;&#x1d5ba;&#x1d5bc;&#x1d5cd;&#x1d5c2;&#x1d5cf;&#x1d5be; on the outcome it carries. The two halves of the ordering are then carried by different parts of the form: the visibility half by the committed view, which L-Unload discards as its last act, and the ordering half by the premise \u00ac relied&#x1d45b;(&#x1d6fe;), which we call the guard and which holds the withdrawal of &#x1d458; back until every consumer that resolves it to &#x1d45b; has gone.<\/p>\n<p>The guard is imposed per binding rather than per fiber. A guard of this kind ordinarily deadlocks. What keeps it from doing so is &#x1d5b4;&#x1d5c7;&#x1d5c5;&#x1d5c8;&#x1d5ba;&#x1d5bd;&#x1d5c2;&#x1d5c7;&#x1d5c0; together with &#x1d70e;&#x1d6fe; being the union over &#x1d5a0;&#x1d5bc;&#x1d5cd;&#x1d5c2;&#x1d5cf;&#x1d5be; fibers alone: once L-Leave has marked &#x1d45b;, its table leaves &#x1d70e;&#x1d6fe;, so no target view can name &#x1d45b; any longer, and every consumer that committed to &#x1d45b; is itself on its way out.<\/p>\n<h4>\u4e2d\u6587\u7ffb\u8bd1<\/h4>\n<p>\u7b2c3.2\u8282\u8981\u6c42\u4f9d\u8d56\u8005\u5728\u4f9d\u8d56\u4e4b\u540e\u6fc0\u6d3b&#xff0c;\u4e14\u4f9d\u8d56\u53ea\u6709\u5728\u4f9d\u8d56\u8005\u90fd\u5df2\u53bb\u6fc0\u6d3b\u4e4b\u540e\u624d\u64a4\u56de\u5176\u4f9b\u7ed9\u3002\u540e\u534a\u6bb5\u5fc5\u987b\u4fdd\u8bc1&#xff1a;\u4e00\u4e2a\u6d88\u8d39\u8005\u80fd\u5728\u5b83\u81ea\u5df1\u6574\u4e2a\u53bb\u6fc0\u6d3b\u671f\u95f4\u6301\u7eed\u8bfb\u5230 &#x1d458;&#xff0c;\u800c\u63d0\u4f9b\u8005\u5bf9 &#x1d458; \u7684\u64a4\u56de\u53ea\u5728\u4e4b\u540e\u624d\u751f\u6548\u3002\u57fa\u7840\u6f14\u7b97\u6839\u672c\u505a\u4e0d\u5230\u8fd9\u4e00\u70b9&#xff1a;\u5b83\u7684 L-Unload \u628a\u64a4\u56de\u4f9b\u7ed9\u4e0e\u8fd0\u884c\u9006\u51fd\u6570\u5408\u5728\u4e00\u8d77\u505a&#xff0c;\u6ca1\u6709\u7ed9\u6d88\u8d39\u8005\u7684\u62c6\u5378\u7559\u51fa\u4efb\u4f55\u65f6\u95f4\u95f4\u9694\u3002<\/p>\n<p>\u672c\u5c42\u628a\u8fd9\u4e00\u6b65\u62c6\u6210\u4e24\u6b65&#xff0c;\u5e76\u7528\u5982\u4e0b\u6761\u4ef6\u5b88\u62a4\u540e\u534a\u6b65\u3002<\/p>\n<p>\u5b9a\u4e49 50\u3002 \u5f53\u67d0\u4e2a\u5176\u4ed6\u5df2\u5b89\u88c5\u7ea4\u7ef4\u628a\u4e00\u4e2a\u952e\u89e3\u6790\u5230 &#x1d45b; \u65f6&#xff0c;\u7ea4\u7ef4 &#x1d45b; \u5728 &#x1d6fe; \u5904\u88ab\u4f9d\u8d56&#xff08;relied upon&#xff09;&#xff1a;<br \/>\nrelied&#x1d45b;(&#x1d6fe;) \u2254 \u2203&#x1d45a; \u2208 dom(&#x1d439;&#x1d6fe;), &#x1d458; \u2208 &#x1d451;&#x1d45a;. &#x1d45a; \u2260 &#x1d45b; \u2227 installed&#x1d45a;(&#x1d6fe;) \u2227 &#x1d714;&#x1d45a;(&#x1d458;) &#061; &#x1d45b;<\/p>\n<p>L-Leave&#xff08;\u79bb\u5f00&#xff09;&#xff1a; \u5f53\u7ea4\u7ef4 &#x1d5a0;&#x1d5bc;&#x1d5cd;&#x1d5c2;&#x1d5cf;&#x1d5be; \u4e14\u76ee\u6807\u89c6\u56fe\u4e0d\u518d\u662f &#x1d714; \u65f6&#xff0c;\u8bb0\u5f55\u53bb\u6fc0\u6d3b\u7684\u51b3\u5b9a\u4f46\u4e0d\u7acb\u5373\u6267\u884c\u2014\u2014\u628a\u7ea4\u7ef4\u7f6e\u4e3a &#x1d5b4;&#x1d5c7;&#x1d5c5;&#x1d5c8;&#x1d5ba;&#x1d5bd;&#x1d5c2;&#x1d5c7;&#x1d5c0;(&#x1d454;, &#x1d714;, \u22a5)&#xff0c;\u8fd9\u4f7f\u5b83\u505c\u6b62\u63d0\u4f9b\u534f\u540c\u6548\u5e94&#xff0c;\u540c\u65f6\u4fdd\u7559\u81ea\u5df1\u7684\u5df2\u63d0\u4ea4\u89c6\u56fe\u4e0e\u4ed6\u4eba\u89c6\u56fe\u4e0d\u53d8\u3002<\/p>\n<p>L-Unload&#xff08;\u5378\u8f7d&#xff09;&#xff1a; \u5f53\u7ea4\u7ef4 &#x1d5b4;&#x1d5c7;&#x1d5c5;&#x1d5c8;&#x1d5ba;&#x1d5bd;&#x1d5c2;&#x1d5c7;&#x1d5c0;\u3001\u4e14\u4e0d\u518d\u88ab\u4efb\u4f55\u5df2\u5b89\u88c5\u7ea4\u7ef4\u4f9d\u8d56&#xff08;\u00ac relied&#x1d45b;(&#x1d6fe;)&#xff09;\u3001\u4e14\u5e94\u7528\u9006 &#x1d454;(&#x1d6fe;) &#061; &#x1d6ff; \u65f6&#xff0c;\u5e94\u7528\u7d2f\u52a0\u5668\u3001\u4e22\u5f03\u5df2\u63d0\u4ea4\u89c6\u56fe\u3001\u628a\u7ea4\u7ef4\u7f6e\u4e3a &#x1d5a8;&#x1d5c7;&#x1d5ba;&#x1d5bc;&#x1d5cd;&#x1d5c2;&#x1d5cf;&#x1d5be;(&#x1d701;)\u3002\u5b83\u662f\u6f14\u7b97\u4e2d\u552f\u4e00\u5e94\u7528\u7d2f\u52a0\u5668\u7684\u89c4\u5219\u3002<\/p>\n<p>\u6392\u5e8f\u7684\u4e24\u534a\u4e8e\u662f\u7531\u5f62\u5f0f\u7684\u4e0d\u540c\u90e8\u5206\u627f\u8f7d&#xff1a;\u53ef\u89c1\u6027\u7684\u4e00\u534a\u7531\u5df2\u63d0\u4ea4\u89c6\u56fe\u627f\u8f7d&#xff08;L-Unload \u5728\u6700\u540e\u624d\u4e22\u5f03\u5b83&#xff09;&#xff0c;\u6392\u5e8f\u7684\u4e00\u534a\u7531\u524d\u63d0 \u00ac relied&#x1d45b;(&#x1d6fe;) \u627f\u8f7d\u2014\u2014\u6211\u4eec\u79f0\u4e4b\u4e3a\u5b88\u536b&#xff08;guard&#xff09;&#xff0c;\u5b83\u628a &#x1d458; \u7684\u64a4\u56de\u63a8\u8fdf\u5230\u6bcf\u4e2a\u628a &#x1d458; \u89e3\u6790\u5230 &#x1d45b; \u7684\u6d88\u8d39\u8005\u90fd\u79bb\u5f00\u4e4b\u540e\u3002<\/p>\n<p>\u5b88\u536b\u662f\u6309\u7ed1\u5b9a&#xff08;per binding&#xff09;\u65bd\u52a0\u7684&#xff0c;\u800c\u975e\u6309\u7ea4\u7ef4\u3002\u8fd9\u79cd\u5b88\u536b\u901a\u5e38\u4f1a\u5bfc\u81f4\u6b7b\u9501\u3002\u4f7f\u5b83\u4e0d\u6b7b\u9501\u7684\u662f &#x1d5b4;&#x1d5c7;&#x1d5c5;&#x1d5c8;&#x1d5ba;&#x1d5bd;&#x1d5c2;&#x1d5c7;&#x1d5c0; \u52a0\u4e0a &#x1d70e;&#x1d6fe; \u53ea\u5bf9 &#x1d5a0;&#x1d5bc;&#x1d5cd;&#x1d5c2;&#x1d5cf;&#x1d5be; \u7ea4\u7ef4\u53d6\u5e76\u96c6&#xff1a;\u4e00\u65e6 L-Leave \u6807\u8bb0\u4e86 &#x1d45b;&#xff0c;\u5b83\u7684\u8868\u5c31\u79bb\u5f00 &#x1d70e;&#x1d6fe;&#xff0c;\u4e8e\u662f\u6ca1\u6709\u4efb\u4f55\u76ee\u6807\u89c6\u56fe\u80fd\u518d\u547d\u540d &#x1d45b;&#xff0c;\u6bcf\u4e2a\u63d0\u4ea4\u5230 &#x1d45b; \u7684\u6d88\u8d39\u8005\u81ea\u5df1\u4e5f\u5728\u9000\u51fa\u7684\u8def\u4e0a\u3002<\/p>\n<h4>\u8be6\u7ec6\u89e3\u91ca<\/h4>\n<p>\u8fd9\u662f\u6574\u7ae0\u6700\u7cbe\u5999\u7684\u4e00\u8282&#xff0c;\u5b83\u89e3\u51b3\u4e86\u4e00\u4e2a\u975e\u5e38\u5b9e\u9645\u7684\u5de5\u7a0b\u95ee\u9898&#xff1a;\u5f53\u4e00\u4e2a\u88ab\u4f9d\u8d56\u7684\u7ec4\u4ef6\u8981\u5378\u8f7d\u65f6&#xff0c;\u4f9d\u8d56\u5b83\u7684\u7ec4\u4ef6\u5728\u6267\u884c\u81ea\u5df1\u7684\u62c6\u5378\u4ee3\u7801\u65f6&#xff0c;\u5f80\u5f80\u8fd8\u9700\u8981\u7528\u5230\u90a3\u4e2a\u6b63\u5728\u88ab\u64a4\u56de\u7684\u4f9d\u8d56\u3002 \u8bba\u6587\u4e3e\u7684\u4f8b\u5b50\u975e\u5e38\u8d34\u5207&#xff1a;\u5173\u95ed\u4e00\u4e2a\u8fde\u63a5\u6c60\u901a\u5e38\u610f\u5473\u7740\u8981\u628a\u8fde\u63a5\u5f52\u8fd8\u7ed9&#034;\u63d0\u4f9b\u8fde\u63a5\u7684\u90a3\u4e2a\u4e1c\u897f&#034;\u2014\u2014\u4e5f\u5c31\u662f\u8bf4&#xff0c;\u8fde\u63a5\u6c60\u6d88\u8d39\u8005\u7684\u62c6\u5378\u4ee3\u7801\u6070\u6070\u9700\u8981\u90a3\u4e2a\u6b63\u5728\u88ab\u64a4\u56de\u7684\u8fde\u63a5\u6c60\u672c\u8eab\u3002\u5982\u679c\u50cf\u57fa\u7840\u6f14\u7b97\u90a3\u6837\u628a&#034;\u64a4\u56de\u4f9b\u7ed9&#034;\u548c&#034;\u8fd0\u884c\u9006\u51fd\u6570&#034;\u540c\u65f6\u505a\u6389&#xff0c;\u6d88\u8d39\u8005\u7684\u62c6\u5378\u5c31\u4f1a\u8bbf\u95ee\u4e00\u4e2a\u5df2\u7ecf\u4e0d\u5b58\u5728\u7684\u4f9d\u8d56&#xff0c;\u5d29\u6e83\u3002<\/p>\n<p>\u89e3\u51b3\u65b9\u6cd5\u662f\u628a\u5378\u8f7d\u62c6\u6210 L-Leave \u548c L-Unload \u4e24\u6b65\u3002 L-Leave \u53ea\u662f&#034;\u6253\u4e2a\u62db\u547c\u8bf4\u6211\u8981\u8d70\u4e86&#034;\u2014\u2014\u628a\u7ea4\u7ef4\u4ece &#x1d5a0;&#x1d5bc;&#x1d5cd;&#x1d5c2;&#x1d5cf;&#x1d5be; \u79fb\u5230 &#x1d5b4;&#x1d5c7;&#x1d5c5;&#x1d5c8;&#x1d5ba;&#x1d5bd;&#x1d5c2;&#x1d5c7;&#x1d5c0;&#xff0c;\u4f46\u4e0d\u7acb\u5373\u8fd0\u884c\u9006\u51fd\u6570&#xff0c;\u4e5f\u4e0d\u7acb\u5373\u4e22\u5f03\u5df2\u63d0\u4ea4\u89c6\u56fe\u3002\u5173\u952e\u7684\u53ef\u89c1\u6027\u6548\u679c\u662f&#xff1a;\u4e00\u65e6\u8fdb\u5165 &#x1d5b4;&#x1d5c7;&#x1d5c5;&#x1d5c8;&#x1d5ba;&#x1d5bd;&#x1d5c2;&#x1d5c7;&#x1d5c0;&#xff0c;\u8be5\u7ea4\u7ef4\u7684\u8868\u5c31\u7acb\u5373\u4ece &#x1d70e;&#x1d6fe; \u4e2d\u6d88\u5931&#xff08;\u56e0\u4e3a &#x1d70e;&#x1d6fe; \u53ea\u5bf9 &#x1d5a0;&#x1d5bc;&#x1d5cd;&#x1d5c2;&#x1d5cf;&#x1d5be; \u53d6\u5e76\u96c6&#xff09;&#xff0c;\u4e8e\u662f\u6240\u6709\u4f9d\u8d56\u5b83\u7684\u7ea4\u7ef4\u4f1a\u53d1\u73b0\u76ee\u6807\u89c6\u56fe\u53d8\u4e86\u3001\u4e5f\u5f00\u59cb L-Leave\u3002\u4f46\u8fd9\u4e2a &#x1d5b4;&#x1d5c7;&#x1d5c5;&#x1d5c8;&#x1d5ba;&#x1d5bd;&#x1d5c2;&#x1d5c7;&#x1d5c0; \u7684\u7ea4\u7ef4\u81ea\u5df1\u4ecd\u7136\u901a\u8fc7\u5b83\u6301\u6709\u7684\u5df2\u63d0\u4ea4\u89c6\u56fe &#x1d714; \u8bfb\u5230\u5b83\u7684\u4f9d\u8d56\u2014\u2014\u6240\u4ee5\u5b83\u7684\u62c6\u5378\u4ee3\u7801&#xff08;\u8fd0\u884c\u5728\u9006\u51fd\u6570 &#x1d454; \u91cc&#xff09;\u4ecd\u80fd\u8bbf\u95ee\u5b83\u9700\u8981\u7684\u534f\u540c\u6548\u5e94\u3002<\/p>\n<p>L-Unload \u624d\u662f\u771f\u6b63\u56de\u6536\u8d44\u6e90\u7684\u90a3\u4e00\u6b65&#xff0c;\u5b83\u6709\u5b88\u536b \u00ac relied&#x1d45b;(&#x1d6fe;)&#xff1a;\u53ea\u6709\u5f53\u6ca1\u6709\u4efb\u4f55\u5df2\u5b89\u88c5\u7ea4\u7ef4\u518d\u628a\u952e\u89e3\u6790\u5230 &#x1d45b; \u65f6&#xff0c;\u624d\u5141\u8bb8\u8fd0\u884c\u9006\u51fd\u6570\u5e76\u771f\u6b63\u64a4\u56de\u3002\u8fd9\u4e2a\u5b88\u536b\u662f&#034;\u6309\u7ed1\u5b9a&#034;\u7684\u2014\u2014\u53ea\u6709\u90a3\u4e9b\u786e\u5b9e\u58f0\u660e\u4e86 &#x1d45b; \u63d0\u4f9b\u7684\u952e\u7684\u7ea4\u7ef4\u624d\u7b97\u969c\u788d&#xff0c;\u6ca1\u58f0\u660e\u7684\u65e0\u5173\u3002\u8fd9\u907f\u514d\u4e86&#034;\u65e0\u5173\u7ea4\u7ef4\u6321\u4f4f\u5378\u8f7d&#034;\u7684\u95ee\u9898\u3002<\/p>\n<p>\u4e3a\u4ec0\u4e48\u4e0d\u4f1a\u6b7b\u9501&#xff1f; \u8fd9\u662f\u6574\u4e2a\u8bbe\u8ba1\u7684\u7cbe\u9ad3\u3002\u4e00\u4e2a\u666e\u901a\u7684&#034;\u7b49\u5f85\u4f9d\u8d56\u8005\u79bb\u5f00&#034;\u5b88\u536b\u6781\u6613\u6b7b\u9501&#xff1a;\u5982\u679c\u4f9d\u8d56\u8005\u6c38\u8fdc\u4e0d\u79bb\u5f00&#xff0c;\u63d0\u4f9b\u8005\u5c31\u6c38\u8fdc\u5361\u5728 &#x1d5b4;&#x1d5c7;&#x1d5c5;&#x1d5c8;&#x1d5ba;&#x1d5bd;&#x1d5c2;&#x1d5c7;&#x1d5c0;\u3002\u4f46\u8fd9\u91cc\u6709\u4e00\u4e2a\u7cbe\u5de7\u7684\u53cd\u9988\u73af&#xff1a;L-Leave \u8ba9 &#x1d45b; \u7684\u8868\u79bb\u5f00 &#x1d70e;&#x1d6fe; \u2192 &#x1d45b; \u4e0d\u518d\u662f\u4efb\u4f55\u952e\u7684\u63d0\u4f9b\u8005 \u2192 \u6240\u6709\u4f9d\u8d56 &#x1d45b; \u7684\u7ea4\u7ef4\u7684\u76ee\u6807\u89c6\u56fe\u90fd\u53d8\u4e86&#xff08;\u8981\u4e48\u53d8 \u22a5 \u8981\u4e48\u53d8\u522b\u7684\u63d0\u4f9b\u8005&#xff09;\u2192 \u8fd9\u4e9b\u7ea4\u7ef4\u4e5f\u89e6\u53d1 L-Leave \u2192 \u5b83\u4eec\u4e5f\u8fdb\u5165 &#x1d5b4;&#x1d5c7;&#x1d5c5;&#x1d5c8;&#x1d5ba;&#x1d5bd;&#x1d5c2;&#x1d5c7;&#x1d5c0; \u2192 \u5b83\u4eec\u4e5f\u4e0d\u518d\u88ab &#x1d70e;&#x1d6fe; \u8ba1\u5165 \u2192 \u4f9d\u8d56\u5b83\u4eec\u7684\u7ea4\u7ef4\u4e5f\u5f00\u59cb\u79bb\u5f00\u2026\u2026\u8fd9\u662f\u4e00\u4e2a\u6cbf\u7740\u534f\u540c\u6548\u5e94\u4f9d\u8d56\u56fe\u7684&#034;\u81ea\u4f20\u64ad\u7184\u706d&#034;\u8fc7\u7a0b\u3002Theorem 66 \u628a\u5b83\u8bc1\u660e\u4e3a&#034;\u5b88\u536b\u603b\u4f1a\u91ca\u653e&#034;\u3002<\/p>\n<p>\u4e0e Cordis\/DSH \u5b9e\u8df5\u7684\u5bf9\u5e94\u3002 \u8fd9\u6b63\u662f\u7ec4\u4ef6\u751f\u547d\u5468\u671f\u91cc&#034;\u4f18\u96c5\u505c\u673a&#034;&#xff08;graceful shutdown&#xff09;\u7684\u5f62\u5f0f\u5316&#xff1a;\u4e00\u4e2a\u88ab\u4f9d\u8d56\u7684\u670d\u52a1\u6536\u5230\u5378\u8f7d\u4fe1\u53f7\u540e&#xff0c;\u5148\u505c\u6b62\u63a5\u6536\u65b0\u4f9d\u8d56\u8005&#xff08;L-Leave&#xff09;&#xff0c;\u7b49\u6240\u6709\u73b0\u6709\u4f9d\u8d56\u8005\u90fd\u5b8c\u6210\u62c6\u5378\u540e&#xff0c;\u624d\u771f\u6b63\u91ca\u653e\u81ea\u5df1\u6301\u6709\u7684\u8d44\u6e90&#xff08;L-Unload&#xff09;\u3002\u5b83\u4e5f\u5bf9\u5e94\u70ed\u91cd\u8f7d\u573a\u666f&#xff1a;\u66ff\u6362\u4e00\u4e2a logger \u5b9e\u73b0\u65f6&#xff0c;\u5148\u8ba9\u6240\u6709\u4f7f\u7528\u65e7 logger \u7684\u7ec4\u4ef6\u9010\u4e2a\u5207\u6362\/\u62c6\u5378&#xff0c;\u6700\u540e\u624d\u9500\u6bc1\u65e7 logger\u3002\u5b88\u536b\u7684\u5b58\u5728\u4fdd\u8bc1\u4e86&#034;\u5148\u505c\u6d88\u8d39\u8005\u3001\u518d\u505c\u63d0\u4f9b\u8005&#034;\u7684\u56e0\u679c\u987a\u5e8f\u2014\u2014\u8fd9\u5c31\u662f\u7a7a\u95f4\u53ef\u7ec4\u5408\u6027&#xff08;4.4.3&#xff09;\u7684\u6765\u6e90\u3002\u6ce8\u610f\u5b88\u536b\u53ea\u6cbf\u534f\u540c\u6548\u5e94\u6392\u5e8f&#xff0c;\u4e0d\u6cbf\u7ea4\u7ef4\u6811\u6392\u5e8f&#xff1a;\u7236\u53ef\u4ee5\u5148\u4e8e\u5b50\u8fd0\u884c\u9006\u51fd\u6570&#xff0c;\u7236\u5b50\u5728\u73af\u5883\u72b6\u6001\u4e0a\u7684\u4ea4\u53c9\u5219\u7531\u72ec\u7acb\u6027\u5047\u8bbe&#xff08;\u5b9a\u4e4960&#xff09;\u6cbb\u7406\u2014\u2014\u8fd9\u662f\u4e00\u4e2a\u6bd4&#034;\u4e25\u683c\u6811\u5f62\u62c6\u5378&#034;\u66f4\u5f31\u3001\u4f46\u66f4\u7075\u6d3b\u7684\u7eaa\u5f8b\u3002<\/p>\n<hr \/>\n<h3>4.3.2 Iteration \/ \u8fed\u4ee3<\/h3>\n<h4>\u539f\u6587 (English)<\/h4>\n<p>An activation may execute multiple effects in sequence, and the deactivation must recover them. We model such an activation with an effect iterator, each of whose iterations yields the modified context, an inverse, and a continuation.<\/p>\n<p>Definition 51. Define the effect iterator &#x1d508;iter\u0393 and witnessed effect iterator &#x1d508;iter\u2217\u0393 as the recursive types:<br \/>\n&#x1d508;iter\u0393 \u2254 &#x1d707;\u2111. \u0393 \u2192 \u0393 \u00d7 (\u0393 \u2192 \u0393) \u00d7 &#x1d5ac;&#x1d5ba;&#x1d5d2;&#x1d5bb;&#x1d5be;(\u2111)<br \/>\n&#x1d508;iter\u2217\u0393 \u2254 &#x1d707;\u2111. (&#x1d452; : \u0393 \u2192 \u0393 \u00d7 (\u0393 \u2192 \u0393) \u00d7 &#x1d5ac;&#x1d5ba;&#x1d5d2;&#x1d5bb;&#x1d5be;(\u2111)) \u00d7 ((&#x1d6fe; : \u0393) \u2192 (&#x1d425;&#x1d41e;&#x1d42d; (&#x1d6ff;, &#x1d454;, &#x1d45c;) &#061; &#x1d452;(&#x1d6fe;) &#x1d422;&#x1d427; &#x1d454;(&#x1d6ff;) \u2243 &#x1d6fe;))<br \/>\nwhere &#x1d452;(&#x1d6fe;) yields a triple (&#x1d6ff;, &#x1d454;, &#x1d45c;): &#x1d6ff; is the new context; &#x1d454; is the inverse function of the current effect; &#x1d45c; indicates the continuation: &#x1d5ad;&#x1d5c8;&#x1d5cd;&#x1d5c1;&#x1d5c2;&#x1d5c7;&#x1d5c0; signals termination; &#x1d5a9;&#x1d5ce;&#x1d5cc;&#x1d5cd;(&#x1d456;) provides the next iteration.<\/p>\n<p>Definition 52. Define the effect iterator transformation effectiter\u0393 as:<br \/>\neffectiter\u0393 &#061; &#x1d456; \u21a6 (&#x1d6fe;, &#x1d711;) \u21a6 &#x1d425;&#x1d41e;&#x1d42d; (&#x1d6ff;, &#x1d454;, &#x1d45c;) &#061; &#x1d456;(&#x1d6fe;) &#x1d422;&#x1d427; &#x1d425;&#x1d41e;&#x1d42d; &#x1d461; &#061; track\u0393(&#x1d454;, pr1 \u2218 &#x1d456;) &#x1d422;&#x1d427; &#x1d426;&#x1d41a;&#x1d42d;&#x1d41c;&#x1d421; &#x1d45c; | &#x1d5ad;&#x1d5c8;&#x1d5cd;&#x1d5c1;&#x1d5c2;&#x1d5c7;&#x1d5c0; \u21d2 ((&#x1d6ff;, &#x1d711; \u2218 &#x1d454;), &#x1d461;) | &#x1d5a9;&#x1d5ce;&#x1d5cc;&#x1d5cd;(&#x1d456;\u2032) \u21d2 &#x1d425;&#x1d41e;&#x1d42d; (&#x1d460;, &#x1d45f;) &#061; effectiter\u0393(&#x1d456;\u2032)(&#x1d6ff;, &#x1d711; \u2218 &#x1d454;) &#x1d422;&#x1d427; (&#x1d460;, &#x1d461; \u2218 &#x1d45f;)<br \/>\nAt each iteration, the inverse &#x1d454; is composed onto &#x1d711; in application order, so the accumulator &#x1d711; \u2218 &#x1d454;1 \u2218 \u22ef \u2218 &#x1d454;&#x1d458; naturally recovers effects in LIFO order when applied. The &#x1d5ac;&#x1d5ba;&#x1d5d2;&#x1d5bb;&#x1d5be;(&#x1d508;iter) continuation makes a boundary available between any two consecutive iterations. In this sense the effect iterator is a reified delimited continuation, the structure that mainstream languages expose through the yield operator, so the model maps directly onto the generators they already provide.<\/p>\n<p>&#x1d703;&#x1d45b; &#061; &#x1d5a8;&#x1d5c7;&#x1d5ba;&#x1d5bc;&#x1d5cd;&#x1d5c2;&#x1d5cf;&#x1d5be;(\u22a5)  &#x1d714; &#061; target&#x1d45b;(&#x1d6fe;) \u2260 \u22a5<br \/>\n\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500  L-Begin<br \/>\n&#x1d6fe; \u27f6 &#x1d6fe;[&#x1d703;&#x1d45b; \u21a6 &#x1d5b1;&#x1d5be;&#x1d5c5;&#x1d5c8;&#x1d5ba;&#x1d5bd;&#x1d5c2;&#x1d5c7;&#x1d5c0;(&#x1d452;&#x1d45b;, id\u0393, &#x1d714;)]<\/p>\n<p>&#x1d703;&#x1d45b; &#061; &#x1d5b1;&#x1d5be;&#x1d5c5;&#x1d5c8;&#x1d5ba;&#x1d5bd;&#x1d5c2;&#x1d5c7;&#x1d5c0;(&#x1d456;, &#x1d454;, &#x1d714;)  target&#x1d45b;(&#x1d6fe;) \u2260 &#x1d714;  (&#x1d6ff;, \u210e) &#061; (&#x1d6fe;, id\u0393) \u2228 &#x1d456;(&#x1d6fe;) &#061; (&#x1d6ff;, \u210e, \u2212)<br \/>\n\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500  L-Divert<br \/>\n&#x1d6fe; \u27f6 &#x1d6ff;[&#x1d703;&#x1d45b; \u21a6 &#x1d5b4;&#x1d5c7;&#x1d5c5;&#x1d5c8;&#x1d5ba;&#x1d5bd;&#x1d5c2;&#x1d5c7;&#x1d5c0;(&#x1d454; \u2218 \u210e, &#x1d714;, \u22a5)]<\/p>\n<p>&#x1d703;&#x1d45b; &#061; &#x1d5b1;&#x1d5be;&#x1d5c5;&#x1d5c8;&#x1d5ba;&#x1d5bd;&#x1d5c2;&#x1d5c7;&#x1d5c0;(&#x1d456;, &#x1d454;, &#x1d714;)  target&#x1d45b;(&#x1d6fe;) &#061; &#x1d714;  &#x1d456;(&#x1d6fe;) &#061; (&#x1d6ff;, \u210e, &#x1d5a9;&#x1d5d8;(&#x1d456;\u2032))<br \/>\n\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500  L-Iter<br \/>\n&#x1d6fe; \u27f6 &#x1d6ff;[&#x1d703;&#x1d45b; \u21a6 &#x1d5b1;&#x1d5be;&#x1d5c5;&#x1d5c8;&#x1d5ba;&#x1d5bd;&#x1d5c2;&#x1d5c7;&#x1d5c0;(&#x1d456;\u2032, &#x1d454; \u2218 \u210e, &#x1d714;)]<\/p>\n<p>&#x1d703;&#x1d45b; &#061; &#x1d5b1;&#x1d5be;&#x1d5c5;&#x1d5c8;&#x1d5ba;&#x1d5bd;&#x1d5c2;&#x1d5c7;&#x1d5c0;(&#x1d456;, &#x1d454;, &#x1d714;)  target&#x1d45b;(&#x1d6fe;) &#061; &#x1d714;  &#x1d456;(&#x1d6fe;) &#061; (&#x1d6ff;, \u210e, &#x1d5ad;&#x1d5c8;&#x1d5cd;&#x1d5c1;&#x1d5c2;&#x1d5c7;&#x1d5c0;)<br \/>\n\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500  L-Finish<br \/>\n&#x1d6fe; \u27f6 &#x1d6ff;[&#x1d703;&#x1d45b; \u21a6 &#x1d5a0;&#x1d5bc;&#x1d5cd;&#x1d5c2;&#x1d5cf;&#x1d5be;(&#x1d454; \u2218 \u210e, &#x1d714;)]<\/p>\n<p>Each iteration composes the newly yielded inverse onto the accumulator as &#x1d454; \u2218 \u210e, so that the accumulator applies the inverses in last-in-first-out order. Between any two consecutive iterations the system may divert the transition if its target view has changed, applying the inverse accumulated so far to recover the context. L-Divert routes through &#x1d5b4;&#x1d5c7;&#x1d5c5;&#x1d5c8;&#x1d5ba;&#x1d5bd;&#x1d5c2;&#x1d5c7;&#x1d5c0; like every other deactivation rather than applying the accumulator where it stands.<\/p>\n<h4>\u4e2d\u6587\u7ffb\u8bd1<\/h4>\n<p>\u4e00\u6b21\u6fc0\u6d3b\u53ef\u80fd\u4f9d\u6b21\u6267\u884c\u591a\u4e2a\u6548\u5e94&#xff0c;\u800c\u53bb\u6fc0\u6d3b\u5fc5\u987b\u6062\u590d\u5b83\u4eec\u3002\u6211\u4eec\u7528\u6548\u5e94\u8fed\u4ee3\u5668&#xff08;effect iterator&#xff09;\u5efa\u6a21\u8fd9\u6837\u7684\u6fc0\u6d3b&#xff0c;\u5176\u6bcf\u6b21\u8fed\u4ee3\u4ea7\u51fa\u4fee\u6539\u540e\u7684\u4e0a\u4e0b\u6587\u3001\u4e00\u4e2a\u9006\u3001\u548c\u4e00\u4e2a\u7eed\u5ef6\u3002<\/p>\n<p>\u5b9a\u4e49 51\u3002 \u5b9a\u4e49\u6548\u5e94\u8fed\u4ee3\u5668 &#x1d508;iter\u0393 \u4e0e\u88ab\u89c1\u8bc1\u7684\u6548\u5e94\u8fed\u4ee3\u5668 &#x1d508;iter\u2217\u0393 \u4e3a\u5982\u4e0b\u9012\u5f52\u7c7b\u578b&#xff1a;<br \/>\n&#x1d508;iter\u0393 \u2254 &#x1d707;\u2111. \u0393 \u2192 \u0393 \u00d7 (\u0393 \u2192 \u0393) \u00d7 &#x1d5ac;&#x1d5ba;&#x1d5d2;&#x1d5bb;&#x1d5be;(\u2111)<br \/>\n&#x1d508;iter\u2217\u0393 \u2254 &#x1d707;\u2111. (&#x1d452; : \u0393 \u2192 \u0393 \u00d7 (\u0393 \u2192 \u0393) \u00d7 &#x1d5ac;&#x1d5ba;&#x1d5d2;&#x1d5bb;&#x1d5be;(\u2111)) \u00d7 ((&#x1d6fe; : \u0393) \u2192 (&#x1d425;&#x1d41e;&#x1d42d; (&#x1d6ff;, &#x1d454;, &#x1d45c;) &#061; &#x1d452;(&#x1d6fe;) &#x1d422;&#x1d427; &#x1d454;(&#x1d6ff;) \u2243 &#x1d6fe;))<br \/>\n\u5176\u4e2d &#x1d452;(&#x1d6fe;) \u4ea7\u51fa\u4e09\u5143\u7ec4 (&#x1d6ff;, &#x1d454;, &#x1d45c;)&#xff1a;&#x1d6ff; \u662f\u65b0\u4e0a\u4e0b\u6587&#xff1b;&#x1d454; \u662f\u5f53\u524d\u6548\u5e94\u7684\u9006\u51fd\u6570&#xff1b;&#x1d45c; \u6307\u793a\u7eed\u5ef6&#xff1a;&#x1d5ad;&#x1d5c8;&#x1d5cd;&#x1d5c1;&#x1d5c2;&#x1d5c7;&#x1d5c0; \u8868\u793a\u8fed\u4ee3\u7ec8\u6b62&#xff1b;&#x1d5a9;&#x1d5ce;&#x1d5cc;&#x1d5cd;(&#x1d456;) \u63d0\u4f9b\u4e0b\u4e00\u6b21\u8fed\u4ee3\u3002\u89c1\u8bc1\u6761\u4ef6 &#x1d454;(&#x1d6ff;) \u2243 &#x1d6fe; \u4fdd\u8bc1\u6bcf\u6b21\u8fed\u4ee3\u53ef\u9006\u3002<\/p>\n<p>\u5b9a\u4e49 52\u3002 \u5b9a\u4e49\u6548\u5e94\u8fed\u4ee3\u5668\u53d8\u6362 effectiter\u0393&#xff1a;\u6bcf\u6b21\u8fed\u4ee3\u628a\u9006 &#x1d454; \u4ee5\u5e94\u7528\u987a\u5e8f\u7ec4\u5408\u5230 &#x1d711; \u4e0a&#xff0c;\u56e0\u6b64\u7d2f\u52a0\u5668 &#x1d711; \u2218 &#x1d454;1 \u2218 \u22ef \u2218 &#x1d454;&#x1d458; \u5728\u5e94\u7528\u65f6\u81ea\u7136\u4ee5\u540e\u8fdb\u5148\u51fa&#xff08;LIFO&#xff09;\u987a\u5e8f\u6062\u590d\u6548\u5e94\u3002&#x1d5ac;&#x1d5ba;&#x1d5d2;&#x1d5bb;&#x1d5be;(&#x1d508;iter) \u7eed\u5ef6\u5728\u4efb\u610f\u4e24\u6b21\u8fde\u7eed\u8fed\u4ee3\u4e4b\u95f4\u63d0\u4f9b\u4e00\u4e2a\u8fb9\u754c\u3002\u5728\u8fd9\u4e2a\u610f\u4e49\u4e0a&#xff0c;\u6548\u5e94\u8fed\u4ee3\u5668\u662f\u4e00\u4e2a\u5177\u4f53\u5316\u7684\u9650\u5b9a\u7eed\u5ef6&#xff08;reified delimited continuation&#xff09;&#xff0c;\u5373\u4e3b\u6d41\u8bed\u8a00\u901a\u8fc7 yield \u64cd\u4f5c\u7b26\u66b4\u9732\u7684\u7ed3\u6784&#xff0c;\u56e0\u6b64\u8be5\u6a21\u578b\u53ef\u76f4\u63a5\u6620\u5c04\u5230\u5b83\u4eec\u5df2\u63d0\u4f9b\u7684\u751f\u6210\u5668&#xff08;generator&#xff09;\u3002<\/p>\n<p>L-Begin&#xff08;\u5f00\u59cb&#xff09;&#xff1a; \u5f53\u7ea4\u7ef4 &#x1d5a8;&#x1d5c7;&#x1d5ba;&#x1d5bc;&#x1d5cd;&#x1d5c2;&#x1d5cf;&#x1d5be;(\u22a5) \u4e14\u76ee\u6807\u89c6\u56fe &#x1d714; \u2260 \u22a5 \u65f6&#xff0c;\u8fdb\u5165 &#x1d5b1;&#x1d5be;&#x1d5c5;&#x1d5c8;&#x1d5ba;&#x1d5bd;&#x1d5c2;&#x1d5c7;&#x1d5c0;&#xff0c;\u643a\u5e26\u6574\u4e2a\u6548\u5e94\u51fd\u6570 &#x1d452;&#x1d45b; \u4f5c\u4e3a\u8fed\u4ee3\u5668\u3001\u7a7a\u7d2f\u52a0\u5668 id\u0393\u3001\u5df2\u63d0\u4ea4\u89c6\u56fe &#x1d714;\u3002<\/p>\n<p>L-Iter&#xff08;\u8fed\u4ee3&#xff09;&#xff1a; \u5f53\u7ea4\u7ef4 &#x1d5b1;&#x1d5be;&#x1d5c5;&#x1d5c8;&#x1d5ba;&#x1d5bd;&#x1d5c2;&#x1d5c7;&#x1d5c0;\u3001\u76ee\u6807\u89c6\u56fe\u4ecd\u7b49\u4e8e &#x1d714;\u3001\u4e14\u672c\u6b21\u8fed\u4ee3\u4ea7\u51fa\u7eed\u5ef6 &#x1d5a9;&#x1d5ce;&#x1d5cc;&#x1d5cd;(&#x1d456;\u2032) \u65f6&#xff0c;\u5e94\u7528\u672c\u6b21\u8fed\u4ee3\u7684\u72b6\u6001\u6620\u5c04&#xff0c;\u628a\u65b0\u9006 \u210e \u7ec4\u5408\u5230\u7d2f\u52a0\u5668 &#x1d454; \u2218 \u210e&#xff0c;\u5e26\u7740\u4e0b\u4e00\u6b21\u8fed\u4ee3\u5668 &#x1d456;\u2032 \u7ee7\u7eed\u505c\u7559\u5728 &#x1d5b1;&#x1d5be;&#x1d5c5;&#x1d5c8;&#x1d5ba;&#x1d5bd;&#x1d5c2;&#x1d5c7;&#x1d5c0;\u3002<\/p>\n<p>L-Finish&#xff08;\u5b8c\u6210&#xff09;&#xff1a; \u5f53\u7ea4\u7ef4 &#x1d5b1;&#x1d5be;&#x1d5c5;&#x1d5c8;&#x1d5ba;&#x1d5bd;&#x1d5c2;&#x1d5c7;&#x1d5c0;\u3001\u76ee\u6807\u89c6\u56fe\u4ecd\u7b49\u4e8e &#x1d714;\u3001\u4e14\u672c\u6b21\u8fed\u4ee3\u4ea7\u51fa &#x1d5ad;&#x1d5c8;&#x1d5cd;&#x1d5c1;&#x1d5c2;&#x1d5c7;&#x1d5c0;&#xff08;\u7ec8\u6b62&#xff09;\u65f6&#xff0c;\u5e94\u7528\u6700\u540e\u4e00\u6b21\u8fed\u4ee3\u7684\u72b6\u6001\u6620\u5c04&#xff0c;\u7ec4\u5408\u6700\u540e\u9006&#xff0c;\u628a\u7ea4\u7ef4\u7f6e\u4e3a &#x1d5a0;&#x1d5bc;&#x1d5cd;&#x1d5c2;&#x1d5cf;&#x1d5be;(&#x1d454; \u2218 \u210e, &#x1d714;)\u3002<\/p>\n<p>L-Divert&#xff08;\u8f6c\u5411&#xff09;&#xff1a; \u5f53\u7ea4\u7ef4 &#x1d5b1;&#x1d5be;&#x1d5c5;&#x1d5c8;&#x1d5ba;&#x1d5bd;&#x1d5c2;&#x1d5c7;&#x1d5c0; \u4f46\u76ee\u6807\u89c6\u56fe\u5df2\u4e0d\u518d\u662f &#x1d714; \u65f6&#xff0c;\u8981\u4e48\u653e\u5f03\u6b63\u5728\u8fdb\u884c\u7684\u8fed\u4ee3&#xff08;\u53d6 (&#x1d6fe;, id\u0393)&#xff09;&#xff0c;\u8981\u4e48\u8ba9\u672c\u6b21\u8fed\u4ee3\u843d\u5730&#xff08;\u53d6 &#x1d456;(&#x1d6fe;) &#061; (&#x1d6ff;, \u210e, \u2212)&#xff09;&#xff0c;\u7136\u540e\u8f6c\u5165 &#x1d5b4;&#x1d5c7;&#x1d5c5;&#x1d5c8;&#x1d5ba;&#x1d5bd;&#x1d5c2;&#x1d5c7;&#x1d5c0;(&#x1d454; \u2218 \u210e, &#x1d714;, \u22a5)\u3002\u5b83\u50cf\u6240\u6709\u5176\u4ed6\u53bb\u6fc0\u6d3b\u4e00\u6837\u7ecf\u7531 &#x1d5b4;&#x1d5c7;&#x1d5c5;&#x1d5c8;&#x1d5ba;&#x1d5bd;&#x1d5c2;&#x1d5c7;&#x1d5c0; \u8def\u7531&#xff0c;\u800c\u4e0d\u662f\u5c31\u5730\u5e94\u7528\u7d2f\u52a0\u5668\u3002<\/p>\n<p>\u6bcf\u6b21\u8fed\u4ee3\u628a\u65b0\u4ea7\u51fa\u7684\u9006\u4ee5 &#x1d454; \u2218 \u210e \u7ec4\u5408\u5230\u7d2f\u52a0\u5668\u4e0a&#xff0c;\u4f7f\u7d2f\u52a0\u5668\u4ee5\u540e\u8fdb\u5148\u51fa\u987a\u5e8f\u5e94\u7528\u5404\u9006\u3002\u5728\u4efb\u610f\u4e24\u6b21\u8fde\u7eed\u8fed\u4ee3\u4e4b\u95f4&#xff0c;\u82e5\u76ee\u6807\u89c6\u56fe\u5df2\u53d8&#xff0c;\u7cfb\u7edf\u53ef\u4ee5\u8f6c\u5411\u8fd9\u6b21\u8f6c\u6362&#xff0c;\u5e94\u7528\u8fc4\u4eca\u7d2f\u79ef\u7684\u9006\u6765\u6062\u590d\u4e0a\u4e0b\u6587\u3002<\/p>\n<h4>\u8be6\u7ec6\u89e3\u91ca<\/h4>\n<p>\u672c\u8282\u628a&#034;\u6fc0\u6d3b\u662f\u4e00\u4e2a\u539f\u5b50\u7684\u3001\u4e00\u6b21\u6027\u6267\u884c\u5168\u90e8\u6548\u5e94\u7684\u52a8\u4f5c&#034;\u8fd9\u4e00\u5047\u8bbe\u62c6\u788e&#xff1a;\u4e00\u6b21\u6fc0\u6d3b\u53ef\u4ee5\u7531\u591a\u6b21\u8fed\u4ee3\u7ec4\u6210&#xff0c;\u6bcf\u6b21\u8fed\u4ee3\u662f\u4e00\u4e2a\u53ef\u4e2d\u65ad\u7684\u8fb9\u754c\u3002 \u8fd9\u5bf9\u5e94\u73b0\u5b9e\u91cc\u4e00\u4e2a\u7ec4\u4ef6\u7684\u521d\u59cb\u5316\u5f80\u5f80\u4e0d\u662f\u4e00\u884c\u4ee3\u7801&#xff0c;\u800c\u662f\u5206\u9636\u6bb5\u7684\u2014\u2014\u5148\u6253\u5f00\u6587\u4ef6\u3001\u518d\u5efa\u7acb\u8fde\u63a5\u3001\u518d\u542f\u52a8\u540e\u53f0\u7ebf\u7a0b\u2014\u2014\u6bcf\u4e2a\u9636\u6bb5\u90fd\u8d21\u732e\u4e00\u90e8\u5206\u526f\u4f5c\u7528&#xff0c;\u4e5f\u90fd\u9700\u8981\u4e00\u4e2a\u9006&#xff08;\u5173\u95ed\u6587\u4ef6\u3001\u65ad\u5f00\u8fde\u63a5\u3001\u505c\u6b62\u7ebf\u7a0b&#xff09;\u3002<\/p>\n<p>\u6548\u5e94\u8fed\u4ee3\u5668\u662f\u4e00\u4e2a&#034;\u5177\u4f53\u5316\u7684\u9650\u5b9a\u7eed\u5ef6&#034;\u3002 \u8bba\u6587\u660e\u786e\u6307\u51fa\u5b83\u6620\u5c04\u5230\u4e3b\u6d41\u8bed\u8a00\u7684 yield\/\u751f\u6210\u5668&#xff1a;\u6bcf\u6b21\u8c03\u7528 &#x1d456;(&#x1d6fe;) \u4ea7\u51fa (&#x1d6ff;, &#x1d454;, &#x1d45c;)&#xff0c;&#x1d6ff; \u662f\u5f53\u524d\u9636\u6bb5\u6267\u884c\u540e\u7684\u65b0\u4e0a\u4e0b\u6587&#xff0c;&#x1d454; \u662f\u8fd9\u4e2a\u9636\u6bb5\u7684\u9006&#xff0c;&#x1d45c; \u662f\u7eed\u5ef6&#xff08;\u8981\u4e48 &#x1d5ad;&#x1d5c8;&#x1d5cd;&#x1d5c1;&#x1d5c2;&#x1d5c7;&#x1d5c0; \u8868\u793a&#034;\u6211\u6267\u884c\u5b8c\u4e86&#034;&#xff0c;\u8981\u4e48 &#x1d5a9;&#x1d5ce;&#x1d5cc;&#x1d5cd;(&#x1d456;\u2032) \u8868\u793a&#034;\u8fd8\u6709\u4e0b\u4e00\u9636\u6bb5&#034;&#xff09;\u3002\u8fd9\u5c31\u50cf Python \u751f\u6210\u5668 yield \u51fa\u4e00\u4e2a\u503c\u540e\u6682\u505c&#xff0c;\u8c03\u7528\u65b9\u53ef\u4ee5\u7ee7\u7eed next \u63a8\u8fdb&#xff0c;\u4e5f\u53ef\u4ee5\u4e2d\u9014 close \u63d0\u524d\u7ec8\u6b62\u3002\u88ab\u89c1\u8bc1\u7248\u672c &#x1d508;iter\u2217\u0393 \u591a\u4e86\u4e00\u4e2a\u6761\u4ef6 &#x1d454;(&#x1d6ff;) \u2243 &#x1d6fe;&#xff0c;\u4fdd\u8bc1\u6bcf\u6b21\u8fed\u4ee3\u90fd\u662f\u53ef\u9006\u7684\u2014\u2014\u8fd9\u662f\u6062\u590d\u7cbe\u786e\u6027\u7684\u9010\u8fed\u4ee3\u7248\u672c\u3002<\/p>\n<p>\u7d2f\u52a0\u5668\u7684 LIFO \u7ec4\u5408\u662f\u5173\u952e\u3002 \u6bcf\u6b21\u8fed\u4ee3\u628a\u65b0\u9006 \u210e \u7ec4\u5408\u5230\u7d2f\u52a0\u5668 &#x1d454; \u2218 \u210e \u4e0a&#xff08;\u5373\u65b0\u9006\u5148\u5e94\u7528&#xff09;\u3002\u8fd9\u610f\u5473\u7740\u5982\u679c\u6fc0\u6d3b\u987a\u5e8f\u662f&#034;\u6253\u5f00\u6587\u4ef6 \u2192 \u5efa\u7acb\u8fde\u63a5 \u2192 \u542f\u52a8\u7ebf\u7a0b&#034;&#xff0c;\u90a3\u4e48\u5378\u8f7d\u987a\u5e8f\u81ea\u7136\u5c31\u662f&#034;\u505c\u6b62\u7ebf\u7a0b \u2192 \u65ad\u5f00\u8fde\u63a5 \u2192 \u5173\u95ed\u6587\u4ef6&#034;\u2014\u2014\u540e\u542f\u52a8\u7684\u5148\u56de\u6536&#xff0c;\u8fd9\u6b63\u662f\u8d44\u6e90\u7ba1\u7406\u7684\u6807\u51c6\u6808\u5f0f\u7eaa\u5f8b\u3002\u8fd9\u4e0e try\/finally\u3001RAII\u3001defer \u7684\u8bed\u4e49\u5b8c\u5168\u4e00\u81f4&#xff0c;\u4f46\u8fd9\u91cc\u5b83\u88ab\u5f62\u5f0f\u5316\u4e3a\u7d2f\u52a0\u5668 &#x1d454; \u7684\u4ee3\u6570\u7ec4\u5408\u3002<\/p>\n<p>L-Begin \/ L-Iter \/ L-Finish \u4e09\u6761\u89c4\u5219\u63cf\u8ff0\u4e86\u4e00\u6b21\u6210\u529f\u6fc0\u6d3b\u7684\u5b8c\u6574\u8f68\u8ff9\u3002 L-Begin \u4ece &#x1d5a8;&#x1d5c7;&#x1d5ba;&#x1d5bc;&#x1d5cd;&#x1d5c2;&#x1d5cf;&#x1d5be; \u8fdb\u5165 &#x1d5b1;&#x1d5be;&#x1d5c5;&#x1d5c8;&#x1d5ba;&#x1d5bd;&#x1d5c2;&#x1d5c7;&#x1d5c0;&#xff0c;\u643a\u5e26\u6574\u4e2a\u6548\u5e94\u51fd\u6570 &#x1d452;&#x1d45b; \u4f5c\u4e3a\u5f85\u6267\u884c\u7684\u8fed\u4ee3\u5668&#xff1b;L-Iter \u53cd\u590d\u63a8\u8fdb&#xff0c;\u6bcf\u6b21\u5e94\u7528\u4e00\u4e2a\u9636\u6bb5\u3001\u7d2f\u79ef\u4e00\u4e2a\u9006&#xff1b;L-Finish \u5728\u6700\u540e\u4e00\u6b21\u8fed\u4ee3\u4ea7\u51fa &#x1d5ad;&#x1d5c8;&#x1d5cd;&#x1d5c1;&#x1d5c2;&#x1d5c7;&#x1d5c0; \u65f6\u6536\u5c3e&#xff0c;\u8fdb\u5165 &#x1d5a0;&#x1d5bc;&#x1d5cd;&#x1d5c2;&#x1d5cf;&#x1d5be;\u3002\u8fd9\u4e09\u6761\u89c4\u5219\u90fd\u5e26\u524d\u63d0 target&#x1d45b;(&#x1d6fe;) &#061; &#x1d714;\u2014\u2014\u53ea\u6709\u5728\u76ee\u6807\u89c6\u56fe\u6ca1\u53d8\u7684\u60c5\u51b5\u4e0b\u624d\u80fd\u7ee7\u7eed\u63a8\u8fdb\u3002\u8fd9\u662f\u4e00\u4e2a\u5f3a\u7ea6\u675f&#xff1a;\u5982\u679c\u5728\u591a\u9636\u6bb5\u6fc0\u6d3b\u7684\u4e2d\u9014&#xff0c;\u73af\u5883\u53d8\u4e86&#xff08;\u6bd4\u5982\u67d0\u4e2a\u4f9d\u8d56\u6d88\u5931\u4e86&#xff09;&#xff0c;\u4e0d\u80fd\u7ee7\u7eed\u5b89\u88c5\u66f4\u591a\u6548\u5e94\u3002<\/p>\n<p>L-Divert \u5904\u7406&#034;\u4e2d\u9014\u73af\u5883\u53d8\u4e86&#034;\u7684\u60c5\u51b5\u3002 \u5b83\u6709\u4e24\u79cd\u9009\u62e9&#xff1a;\u7b2c\u4e00\u79cd&#xff08;\u53d6 (&#x1d6fe;, id\u0393)&#xff09;\u653e\u5f03\u6b63\u5728\u8fdb\u884c\u7684\u8fed\u4ee3&#xff0c;\u76f8\u5f53\u4e8e&#034;\u8fd8\u6ca1\u5f00\u59cb\u8fd9\u6b21\u8fed\u4ee3\u5c31\u53d1\u73b0\u76ee\u6807\u53d8\u4e86&#xff0c;\u76f4\u63a5\u9000\u51fa&#034;&#xff1b;\u7b2c\u4e8c\u79cd\u8ba9\u672c\u6b21\u8fed\u4ee3\u843d\u5730\u540e\u518d\u9000\u51fa\u3002\u65e0\u8bba\u54ea\u79cd&#xff0c;\u90fd\u8f6c\u5165 &#x1d5b4;&#x1d5c7;&#x1d5c5;&#x1d5c8;&#x1d5ba;&#x1d5bd;&#x1d5c2;&#x1d5c7;&#x1d5c0; \u800c\u975e &#x1d5a0;&#x1d5bc;&#x1d5cd;&#x1d5c2;&#x1d5cf;&#x1d5be;\u2014\u2014\u8fd9\u4e00\u70b9\u81f3\u5173\u91cd\u8981&#xff1a;\u7edd\u4e0d\u8ba9\u81ea\u5df1\u77ed\u6682\u5730\u6210\u4e3a &#x1d5a0;&#x1d5bc;&#x1d5cd;&#x1d5c2;&#x1d5cf;&#x1d5be; \u4ece\u800c\u66b4\u9732\u7ed9\u4f9d\u8d56\u8005&#xff0c;\u56e0\u4e3a\u4e00\u4e2a\u6b63\u5728\u9000\u51fa\u7684\u7ec4\u4ef6\u4e0d\u8be5\u88ab\u522b\u4eba\u5f53\u4f5c\u7a33\u5b9a\u7684\u63d0\u4f9b\u8005\u6fc0\u6d3b\u3002L-Divert \u5728 &#x1d5b4;&#x1d5c7;&#x1d5c5;&#x1d5c8;&#x1d5ba;&#x1d5bd;&#x1d5c2;&#x1d5c7;&#x1d5c0; \u9047\u5230\u7684\u5b88\u536b\u662f\u7a7a\u6ee1\u8db3\u7684&#xff08;vacuous&#xff09;\u2014\u2014\u56e0\u4e3a\u5b83\u4ece\u672a &#x1d5a0;&#x1d5bc;&#x1d5cd;&#x1d5c2;&#x1d5cf;&#x1d5be; \u8fc7&#xff0c;\u6ca1\u4eba\u628a\u952e\u89e3\u6790\u5230\u5b83\u3002\u7b2c\u4e00\u79cd\u9009\u62e9&#xff08;\u653e\u5f03\u8fed\u4ee3&#xff09;\u53ea\u6709\u5728\u8fed\u4ee3\u8fb9\u754c\u624d\u53ef\u80fd&#xff0c;\u6240\u4ee5&#034;\u8f6c\u5411\u80fd\u53d1\u751f\u7684\u7c92\u5ea6\u5c31\u662f\u8fed\u4ee3\u5668\u7684\u7c92\u5ea6&#034;\u2014\u2014\u8fd9\u89e3\u91ca\u4e86\u4e3a\u4ec0\u4e48\u9700\u8981\u8fed\u4ee3\u5668&#xff1a;\u5b83\u7ed9\u51fa\u4e86\u4e2d\u9014\u53ef\u4e2d\u65ad\u7684\u70b9\u3002\u7b2c\u4e8c\u79cd\u9009\u62e9\u6b63\u662f 4.3.3 \u5f02\u6b65\u6240\u5fc5\u9700\u7684\u3002<\/p>\n<p>\u9000\u5316\u60c5\u5f62&#xff1a; \u666e\u901a\u7684\u539f\u5b50\u6548\u5e94\u51fd\u6570 &#x1d508;\u0393 \u5c31\u662f&#034;\u7b2c\u4e00\u6b21\u8fed\u4ee3\u5c31\u4ea7\u51fa &#x1d5ad;&#x1d5c8;&#x1d5cd;&#x1d5c1;&#x1d5c2;&#x1d5c7;&#x1d5c0;&#034;\u7684\u9000\u5316\u8fed\u4ee3\u5668\u2014\u2014\u5b83\u4ecd\u7136\u7ecf\u8fc7 &#x1d5b1;&#x1d5be;&#x1d5c5;&#x1d5c8;&#x1d5ba;&#x1d5bd;&#x1d5c2;&#x1d5c7;&#x1d5c0;\u3001L-Divert \u4ecd\u9002\u7528&#xff0c;\u4f46\u7d2f\u52a0\u5668\u662f id\u0393\u3001\u6ca1\u8fd0\u884c\u8fc7\u8fed\u4ee3&#xff0c;\u6240\u4ee5\u8981\u4e48\u5168\u90e8\u5b89\u88c5\u3001\u8981\u4e48\u4e00\u4e2a\u90fd\u4e0d\u88c5\u3002\u8fd9\u4fdd\u8bc1\u4e86&#034;\u5168\u6709\u6216\u5168\u65e0&#034;\u7684\u539f\u5b50\u6027\u5728\u591a\u9636\u6bb5\u6a21\u578b\u91cc\u4ecd\u7136\u6210\u7acb\u3002<\/p>\n<p>\u4e0e Cordis\/DSH \u5b9e\u8df5\u7684\u5bf9\u5e94\u3002 \u5b9e\u73b0\u91cc\u6bcf\u4e2a\u53d8\u66f4\u70b9\u90fd\u5141\u8bb8\u4e00\u4e2a\u8fed\u4ee3\u5668&#xff08;\u7b2c5.1.1\u8282&#xff09;&#xff0c;\u8fd9\u5bf9\u5e94\u4e00\u4e2a\u7ec4\u4ef6\u7684 install\/uninstall \u53ef\u4ee5\u662f\u5206\u9636\u6bb5\u7684 generator\u3002\u6bd4\u5982\u4e00\u4e2a\u63d2\u4ef6\u6fc0\u6d3b\u65f6\u53ef\u80fd yield \u591a\u6b21&#xff08;\u6bcf\u6b21\u5efa\u7acb\u4e00\u79cd\u8d44\u6e90&#xff09;&#xff0c;\u5378\u8f7d\u65f6\u6309\u9006\u5e8f\u56de\u6536\u3002L-Divert \u7684\u7b2c\u4e00\u79cd\u9009\u62e9\u5bf9\u5e94&#034;\u70ed\u91cd\u8f7d\u65f6\u53d1\u73b0\u4f9d\u8d56\u5df2\u53d8&#xff0c;\u7acb\u523b\u56de\u6eda\u5c1a\u672a\u63d0\u4ea4\u7684\u9636\u6bb5&#034;\u2014\u2014\u8fd9\u6b63\u662f\u70ed\u91cd\u8f7d&#xff08;hot reload&#xff09;\u5b89\u5168\u6027\u7684\u8bed\u4e49\u57fa\u7840&#xff1a;\u4f60\u4e0d\u4f1a\u628a\u534a\u4e2a\u72b6\u6001\u7559\u5728\u7cfb\u7edf\u91cc\u3002<\/p>\n<hr \/>\n<h3>4.3.3 Asynchrony \/ \u5f02\u6b65<\/h3>\n<h4>\u539f\u6587 (English)<\/h4>\n<p>The layers so far let the environment move between one iteration and the next, and assume that each iteration itself completes instantaneously, its launch and its landing being one step. We model non-immediacy abstractly: an iteration yields a value of type &#x1d5a5;&#x1d5ce;&#x1d5cd;&#x1d5ce;&#x1d5cb;&#x1d5be;(&#x1d434;), where &#x1d5a5;&#x1d5ce;&#x1d5cd;&#x1d5ce;&#x1d5cb;&#x1d5be; is an opaque type constructor whose defining property is that between submission and resolution, external state may change.<\/p>\n<p>Under this model an iteration is launched at one state and lands at another, and the fiber is &#x1d5b1;&#x1d5be;&#x1d5c5;&#x1d5c8;&#x1d5ba;&#x1d5bd;&#x1d5c2;&#x1d5c7;&#x1d5c0; while it is in flight. What the layer adds is inertia: once launched, an iteration lands, and its landing cannot be declined. A target view that turns during the flight therefore cannot be answered by aborting the iteration, and only the alternative of L-Divert that lands one remains available: the iteration lands, and the fiber deactivates afterwards. This layer therefore adds no rule and no type that a rule matches on; at the granularity of \u0393 inertia is its whole content, and it takes the form of a restriction on which alternative of L-Divert a host may take.<\/p>\n<p>That alternative is what the base calculus could not express. There, a transition whose target view had turned was undone in the same step that discovered it; here the iteration in flight must land first, so the fiber needs somewhere to be while its inverse runs, and the only sound place is &#x1d5b4;&#x1d5c7;&#x1d5c5;&#x1d5c8;&#x1d5ba;&#x1d5bd;&#x1d5c2;&#x1d5c7;&#x1d5c0; holding the inverse the iteration produced. Routing through &#x1d5a0;&#x1d5bc;&#x1d5cd;&#x1d5c2;&#x1d5cf;&#x1d5be; instead would let the fiber provide its coeffects for the length of one step and oblige its dependents to activate against a component that is already leaving. This is the mutual chaining of reload and unload in the implementation.<\/p>\n<p>A deactivation may also chain straight back into an activation, by a composite rather than a rule. L-Unload carries no premise on the target view, so whatever the target view has become while the fiber was deactivating, the accumulator runs and the fiber becomes &#x1d5a8;&#x1d5c7;&#x1d5ba;&#x1d5bc;&#x1d5cd;&#x1d5c2;&#x1d5cf;&#x1d5be;, from which L-Begin may immediately start a new transition.<\/p>\n<h4>\u4e2d\u6587\u7ffb\u8bd1<\/h4>\n<p>\u5230\u6b64\u4e3a\u6b62\u7684\u5404\u5c42\u5141\u8bb8\u73af\u5883\u5728\u4e00\u6b21\u8fed\u4ee3\u4e0e\u4e0b\u4e00\u6b21\u8fed\u4ee3\u4e4b\u95f4\u79fb\u52a8&#xff0c;\u4f46\u5047\u8bbe\u6bcf\u6b21\u8fed\u4ee3\u672c\u8eab\u77ac\u65f6\u5b8c\u6210\u2014\u2014\u5176\u53d1\u8d77\u4e0e\u843d\u5b9a\u662f\u4e00\u6b65\u3002\u6211\u4eec\u62bd\u8c61\u5730\u5efa\u6a21\u975e\u5373\u65f6\u6027&#xff08;non-immediacy&#xff09;&#xff1a;\u4e00\u6b21\u8fed\u4ee3\u4ea7\u51fa\u4e00\u4e2a\u7c7b\u578b\u4e3a &#x1d5a5;&#x1d5ce;&#x1d5cd;&#x1d5ce;&#x1d5cb;&#x1d5be;(&#x1d434;) \u7684\u503c&#xff0c;\u5176\u4e2d &#x1d5a5;&#x1d5ce;&#x1d5cd;&#x1d5ce;&#x1d5cb;&#x1d5be; \u662f\u4e00\u4e2a\u4e0d\u900f\u660e\u7c7b\u578b\u6784\u9020\u5b50&#xff0c;\u5176\u5b9a\u4e49\u6027\u8d28\u662f&#xff1a;\u5728\u63d0\u4ea4\u4e0e\u89e3\u6790\u4e4b\u95f4&#xff0c;\u5916\u90e8\u72b6\u6001\u53ef\u80fd\u6539\u53d8\u3002<\/p>\n<p>\u5728\u6b64\u6a21\u578b\u4e0b&#xff0c;\u4e00\u6b21\u8fed\u4ee3\u5728\u4e00\u4e2a\u72b6\u6001\u53d1\u8d77\u3001\u5728\u53e6\u4e00\u4e2a\u72b6\u6001\u843d\u5b9a&#xff0c;\u7ea4\u7ef4\u5728\u98de\u884c\u671f\u95f4\u5904\u4e8e &#x1d5b1;&#x1d5be;&#x1d5c5;&#x1d5c8;&#x1d5ba;&#x1d5bd;&#x1d5c2;&#x1d5c7;&#x1d5c0;\u3002\u672c\u5c42\u52a0\u5165\u7684\u662f\u60ef\u6027&#xff08;inertia&#xff09;&#xff1a;\u4e00\u65e6\u53d1\u8d77&#xff0c;\u4e00\u6b21\u8fed\u4ee3\u5fc5\u7136\u843d\u5b9a&#xff0c;\u5176\u843d\u5b9a\u4e0d\u53ef\u88ab\u62d2\u7edd\u3002\u56e0\u6b64\u98de\u884c\u671f\u95f4\u53d1\u751f\u8f6c\u6298\u7684\u76ee\u6807\u89c6\u56fe\u65e0\u6cd5\u901a\u8fc7\u653e\u5f03\u8fed\u4ee3\u6765\u56de\u5e94&#xff0c;L-Divert \u4e2d&#034;\u8ba9\u8fed\u4ee3\u843d\u5730&#034;\u7684\u90a3\u4e00\u79cd\u9009\u62e9\u624d\u662f\u552f\u4e00\u53ef\u7528\u7684&#xff1a;\u8fed\u4ee3\u843d\u5b9a&#xff0c;\u7ea4\u7ef4\u968f\u540e\u53bb\u6fc0\u6d3b\u3002\u672c\u5c42\u56e0\u6b64\u4e0d\u589e\u52a0\u4efb\u4f55\u89c4\u5219\u3001\u4e5f\u4e0d\u589e\u52a0\u4efb\u4f55\u89c4\u5219\u53ef\u5339\u914d\u7684\u7c7b\u578b&#xff1b;\u5728 \u0393 \u7684\u7c92\u5ea6\u4e0a&#xff0c;\u60ef\u6027\u5c31\u662f\u5b83\u7684\u5168\u90e8\u5185\u5bb9&#xff0c;\u5176\u5f62\u5f0f\u662f\u5bf9\u5bbf\u4e3b\u53ef\u53d6 L-Divert \u7684\u54ea\u4e00\u79cd\u9009\u62e9\u7684\u9650\u5236\u3002<\/p>\n<p>\u90a3\u4e00\u79cd\u9009\u62e9\u6b63\u662f\u57fa\u7840\u6f14\u7b97\u65e0\u6cd5\u8868\u8fbe\u7684\u3002\u5728\u90a3\u91cc&#xff0c;\u76ee\u6807\u89c6\u56fe\u5df2\u8f6c\u6298\u7684\u8f6c\u6362\u5728\u53d1\u73b0\u5b83\u7684\u540c\u4e00\u6b65\u91cc\u5c31\u88ab\u64a4\u9500&#xff1b;\u800c\u8fd9\u91cc\u98de\u884c\u4e2d\u7684\u8fed\u4ee3\u5fc5\u987b\u5148\u843d\u5b9a&#xff0c;\u4e8e\u662f\u7ea4\u7ef4\u9700\u8981\u4e00\u4e2a\u5730\u65b9\u5728\u5b83\u7684\u9006\u8fd0\u884c\u671f\u95f4\u6816\u8eab&#xff0c;\u552f\u4e00\u7a33\u59a5\u7684\u5730\u65b9\u662f &#x1d5b4;&#x1d5c7;&#x1d5c5;&#x1d5c8;&#x1d5ba;&#x1d5bd;&#x1d5c2;&#x1d5c7;&#x1d5c0;&#xff0c;\u6301\u6709\u8fed\u4ee3\u4ea7\u51fa\u7684\u9006\u3002\u82e5\u6539\u7ecf &#x1d5a0;&#x1d5bc;&#x1d5cd;&#x1d5c2;&#x1d5cf;&#x1d5be; \u8def\u7531&#xff0c;\u4f1a\u8ba9\u7ea4\u7ef4\u5728\u4e00\u6b65\u7684\u957f\u5ea6\u5185\u63d0\u4f9b\u5176\u534f\u540c\u6548\u5e94&#xff0c;\u8feb\u4f7f\u4f9d\u8d56\u8005\u5bf9\u4e00\u4e2a\u6b63\u5728\u79bb\u5f00\u7684\u7ec4\u4ef6\u6fc0\u6d3b\u3002\u8fd9\u5c31\u662f\u5b9e\u73b0\u4e2d\u91cd\u8f7d\u4e0e\u5378\u8f7d\u7684\u76f8\u4e92\u94fe\u5f0f\u3002<\/p>\n<p>\u4e00\u6b21\u53bb\u6fc0\u6d3b\u4e5f\u53ef\u80fd\u76f4\u63a5\u94fe\u5f0f\u56de\u5230\u4e00\u6b21\u6fc0\u6d3b&#xff0c;\u7531\u4e00\u4e2a\u590d\u5408\u800c\u975e\u4e00\u6761\u89c4\u5219\u5b8c\u6210\u3002L-Unload \u4e0d\u5e26\u5173\u4e8e\u76ee\u6807\u89c6\u56fe\u7684\u524d\u63d0&#xff0c;\u6240\u4ee5\u65e0\u8bba\u7ea4\u7ef4\u53bb\u6fc0\u6d3b\u671f\u95f4\u76ee\u6807\u89c6\u56fe\u53d8\u6210\u4e86\u4ec0\u4e48&#xff0c;\u7d2f\u52a0\u5668\u90fd\u4f1a\u8fd0\u884c&#xff0c;\u7ea4\u7ef4\u53d8\u6210 &#x1d5a8;&#x1d5c7;&#x1d5ba;&#x1d5bc;&#x1d5cd;&#x1d5c2;&#x1d5cf;&#x1d5be;&#xff0c;\u6b64\u540e L-Begin \u53ef\u7acb\u5373\u5f00\u542f\u4e00\u6b21\u65b0\u8f6c\u6362\u3002<\/p>\n<h4>\u8be6\u7ec6\u89e3\u91ca<\/h4>\n<p>\u672c\u8282\u5904\u7406&#034;\u5373\u65f6\u6027&#034;\u5047\u8bbe\u7684\u653e\u5f03&#xff1a;\u4e00\u6b21\u8fed\u4ee3\u7684\u53d1\u8d77\u548c\u843d\u5b9a\u4e0d\u662f\u540c\u4e00\u77ac\u95f4\u2014\u2014\u4e2d\u95f4\u6709\u4e00\u4e2a\u5f02\u6b65\u7684&#034;\u98de\u884c&#034;\u7a97\u53e3&#xff0c;\u671f\u95f4\u5916\u90e8\u4e16\u754c\u53ef\u4ee5\u53d8\u5316\u3002 \u8fd9\u662f\u4efb\u4f55\u771f\u5b9e\u8fd0\u884c\u65f6\u90fd\u9003\u4e0d\u6389\u7684\u73b0\u5b9e&#xff1a;\u4e00\u4e2a\u7ec4\u4ef6\u5efa\u7acb\u6570\u636e\u5e93\u8fde\u63a5\u3001\u53d1\u8d77 HTTP \u8bf7\u6c42\u3001\u7b49\u5f85\u9501&#xff0c;\u8fd9\u4e9b\u90fd\u662f\u5f02\u6b65\u7684&#xff0c;\u5728 await \u671f\u95f4\u522b\u7684\u7ea4\u7ef4\u5b8c\u5168\u53ef\u80fd\u6539\u53d8\u7cfb\u7edf\u72b6\u6001\u3002<\/p>\n<p>\u6838\u5fc3\u6982\u5ff5\u662f&#034;\u60ef\u6027&#034;&#xff08;inertia&#xff09;\u3002 \u8bba\u6587\u7528\u4e00\u4e2a\u4e0d\u900f\u660e\u7684 &#x1d5a5;&#x1d5ce;&#x1d5cd;&#x1d5ce;&#x1d5cb;&#x1d5be;(&#x1d434;) \u7c7b\u578b\u62bd\u8c61\u5f02\u6b65&#xff1a;\u8fed\u4ee3\u53d1\u8d77\u65f6\u8fd4\u56de\u4e00\u4e2a future&#xff0c;\u843d\u5b9a\u65f6\u624d\u771f\u6b63\u4ea7\u51fa (&#x1d6ff;, &#x1d454;, &#x1d45c;)\u3002\u60ef\u6027\u7684\u542b\u4e49\u662f&#034;\u4e00\u65e6\u53d1\u8d77&#xff0c;\u5fc5\u7136\u843d\u5b9a&#xff0c;\u4e0d\u53ef\u64a4\u56de&#034;\u2014\u2014\u4f60\u4e0d\u80fd\u5728\u98de\u884c\u4e2d\u9014\u628a\u4e00\u4e2a\u5f02\u6b65\u64cd\u4f5c&#034;\u53d6\u6d88\u6389&#034;\u3002\u8fd9\u5bf9\u5e94\u771f\u5b9e\u5f02\u6b65\u7f16\u7a0b\u91cc&#xff1a;\u4e00\u4e2a\u5df2\u7ecf\u53d1\u51fa\u7684\u7f51\u7edc\u8bf7\u6c42&#xff0c;\u4f60\u901a\u5e38\u4e0d\u80fd\u771f\u6b63&#034;\u64a4\u56de&#034;\u5b83&#xff0c;\u6700\u591a\u5ffd\u7565\u5b83\u7684\u7ed3\u679c\u3002\u8fd9\u662f\u4e00\u4e2a\u975e\u5e38\u8bda\u5b9e\u3001\u975e\u5e38\u8d34\u8fd1\u73b0\u5b9e\u7684\u5efa\u6a21\u3002<\/p>\n<p>\u672c\u8282\u4e0d\u589e\u52a0\u4efb\u4f55\u65b0\u89c4\u5219\u6216\u65b0\u7c7b\u578b&#xff0c;\u53ea\u589e\u52a0\u4e00\u4e2a\u5bf9 L-Divert \u7684\u9650\u5236\u3002 \u8fd9\u4e00\u70b9\u6781\u5176\u4f18\u96c5&#xff1a;\u5728 4.3.2 \u7684 L-Divert \u6709\u4e24\u79cd\u9009\u62e9\u2014\u2014\u201c\u653e\u5f03\u8fed\u4ee3&#034;\u6216&#034;\u8ba9\u8fed\u4ee3\u843d\u5730\u201d\u3002\u5f02\u6b65\u5c42\u53ea\u662f\u7981\u6b62\u5bbf\u4e3b\u4f7f\u7528&#034;\u653e\u5f03\u8fed\u4ee3&#034;\u90a3\u4e00\u79cd\u3002\u4e3a\u4ec0\u4e48&#xff1f;\u56e0\u4e3a\u98de\u884c\u4e2d\u7684\u8fed\u4ee3\u65e0\u6cd5\u88ab\u653e\u5f03&#xff08;\u60ef\u6027&#xff09;&#xff0c;\u6240\u4ee5\u552f\u4e00\u9009\u62e9\u662f&#034;\u8ba9\u8fed\u4ee3\u843d\u5730&#034;\u2014\u2014\u4e5f\u5c31\u662f\u5148\u628a\u8fd9\u6b21\u5f02\u6b65\u64cd\u4f5c\u7684\u7ed3\u679c\u5e94\u7528\u4e0a&#xff0c;\u7136\u540e\u518d\u53bb\u6fc0\u6d3b\u3002\u8fd9\u628a&#034;\u5f02\u6b65&#034;\u4ece\u4e00\u4e2a\u5168\u65b0\u7684\u673a\u5236&#xff0c;\u7b80\u5316\u6210&#034;\u5bf9\u4e00\u4e2a\u5df2\u6709\u89c4\u5219\u7684\u4e00\u4e2a\u5206\u652f\u7684\u9650\u5236&#034;\u2014\u2014\u4f53\u73b0\u4e86\u672c\u7ae0&#034;\u5206\u5c42\u6269\u5c55\u4e0d\u589e\u52a0\u590d\u6742\u5ea6&#034;\u7684\u8bbe\u8ba1\u54f2\u5b66\u3002<\/p>\n<p>\u4e3a\u4ec0\u4e48\u5fc5\u987b\u7ecf &#x1d5b4;&#x1d5c7;&#x1d5c5;&#x1d5c8;&#x1d5ba;&#x1d5bd;&#x1d5c2;&#x1d5c7;&#x1d5c0; \u800c\u975e &#x1d5a0;&#x1d5bc;&#x1d5cd;&#x1d5c2;&#x1d5cf;&#x1d5be; \u8def\u7531&#xff1f; \u8fd9\u662f\u4e00\u4e2a\u5fae\u5999\u4f46\u5173\u952e\u7684\u5de5\u7a0b\u6b63\u786e\u6027\u8bba\u8bc1\u3002\u5047\u8bbe\u4e00\u4e2a\u5f02\u6b65\u8fed\u4ee3\u5728\u98de\u884c\u671f\u95f4&#xff0c;\u76ee\u6807\u89c6\u56fe\u53d8\u4e86&#xff08;\u6bd4\u5982\u5b83\u7684\u67d0\u4e2a\u4f9d\u8d56\u88ab\u9000\u5f79\u4e86&#xff09;\u3002\u8fed\u4ee3\u5fc5\u987b\u843d\u5730&#xff08;\u60ef\u6027&#xff09;&#xff0c;\u843d\u5730\u540e\u5b83\u4ea7\u51fa\u4e86\u4e00\u4e2a\u9006\u51fd\u6570\u3002\u8fd9\u65f6\u5982\u679c\u8ba9\u7ea4\u7ef4\u77ed\u6682\u5730\u7ecf\u8fc7 &#x1d5a0;&#x1d5bc;&#x1d5cd;&#x1d5c2;&#x1d5cf;&#x1d5be;&#xff0c;\u5b83\u5c31\u4f1a\u5728\u90a3\u4e00\u6b65\u91cc&#034;\u66b4\u9732&#034;\u7ed9\u4f9d\u8d56\u8005\u2014\u2014\u522b\u7684\u7ea4\u7ef4\u53ef\u80fd\u5728\u8fd9\u4e2a\u77ac\u95f4\u770b\u5230\u5b83\u6fc0\u6d3b\u4e86\u3001\u628a\u952e\u89e3\u6790\u5230\u5b83\u3001\u6fc0\u6d3b\u8d77\u6765\u3002\u4f46\u8fd9\u4e2a\u7ea4\u7ef4\u9a6c\u4e0a\u5c31\u8981\u53bb\u6fc0\u6d3b&#xff01;\u4f9d\u8d56\u8005\u5c31\u4f1a\u6fc0\u6d3b\u5728\u4e00\u4e2a&#034;\u6b63\u5728\u79bb\u5f00\u7684\u63d0\u4f9b\u8005&#034;\u4e0a&#xff0c;\u9020\u6210\u4f7f\u7528\u540e\u7acb\u5373\u5931\u6548\u7684\u707e\u96be\u3002\u6240\u4ee5\u5fc5\u987b\u76f4\u63a5\u8fdb &#x1d5b4;&#x1d5c7;&#x1d5c5;&#x1d5c8;&#x1d5ba;&#x1d5bd;&#x1d5c2;&#x1d5c7;&#x1d5c0;\u2014\u2014\u5b83\u4e0d\u66b4\u9732\u7ed9\u4efb\u4f55\u4eba&#xff0c;\u5b89\u9759\u5730\u5b8c\u6210\u56de\u6536\u3002\u8fd9\u5bf9\u5e94\u5b9e\u73b0\u91cc&#034;\u91cd\u8f7d\u4e0e\u5378\u8f7d\u76f8\u4e92\u94fe\u5f0f&#034;&#xff08;mutual chaining of reload and unload&#xff09;\u7684\u8bed\u4e49\u3002<\/p>\n<p>\u53bb\u6fc0\u6d3b\u53ef\u4ee5\u94fe\u5f0f\u56de\u5230\u6fc0\u6d3b\u3002 L-Unload \u4e0d\u770b\u76ee\u6807\u89c6\u56fe&#xff0c;\u6240\u4ee5\u65e0\u8bba\u5378\u8f7d\u671f\u95f4\u76ee\u6807\u53d8\u6210\u4e86\u4ec0\u4e48&#xff0c;\u9006\u90fd\u4f1a\u8fd0\u884c\u3001\u7ea4\u7ef4\u53d8 &#x1d5a8;&#x1d5c7;&#x1d5ba;&#x1d5bc;&#x1d5cd;&#x1d5c2;&#x1d5cf;&#x1d5be;&#xff0c;\u7136\u540e L-Begin \u53ef\u4ee5\u7acb\u523b\u5f00\u542f\u65b0\u8f6c\u6362\u3002\u8fd9\u63cf\u8ff0\u4e86\u4e00\u4e2a\u5e38\u89c1\u6a21\u5f0f&#xff1a;\u7ec4\u4ef6 A \u88ab\u66ff\u6362\u6210\u7ec4\u4ef6 B\u2014\u2014A \u5148\u5378\u8f7d&#xff08;\u76ee\u6807\u53d8 \u22a5 \u6216\u53d8 B&#xff09;&#xff0c;\u5378\u8f7d\u5b8c\u53d8 &#x1d5a8;&#x1d5c7;&#x1d5ba;&#x1d5bc;&#x1d5cd;&#x1d5c2;&#x1d5cf;&#x1d5be;&#xff0c;\u7136\u540e B \u7684 L-Begin \u89e6\u53d1\u3002\u8fd9\u4e0d\u662f\u4e00\u6761\u65b0\u89c4\u5219&#xff0c;\u800c\u662f\u5df2\u6709\u89c4\u5219\u7684\u7ec4\u5408\u2014\u2014\u4f18\u96c5\u5730\u590d\u7528\u4e86 4.3.1\/4.3.2 \u7684\u673a\u5236\u3002<\/p>\n<p>\u4e0e Cordis\/DSH \u5b9e\u8df5\u7684\u5bf9\u5e94\u3002 \u8fd9\u6b63\u662f\u5f02\u6b65\u7ec4\u4ef6\u751f\u547d\u5468\u671f\u7ba1\u7406\u7684\u8bed\u4e49&#xff1a;\u4e00\u4e2a\u7ec4\u4ef6\u7684 install \u53ef\u80fd await \u4e00\u4e2a\u8fdc\u7a0b\u914d\u7f6e\u52a0\u8f7d&#xff0c;\u5728 await \u671f\u95f4\u7cfb\u7edf\u7ee7\u7eed\u8fd0\u8f6c&#xff1b;\u52a0\u8f7d\u5b8c\u6210\u540e&#xff0c;\u65e0\u8bba\u4e2d\u95f4\u53d1\u751f\u4e86\u4ec0\u4e48&#xff0c;\u90fd\u5fc5\u987b\u5148\u628a\u8fd9\u6b21\u52a0\u8f7d\u7684\u526f\u4f5c\u7528\u5b89\u88c5\u5e76\u51c6\u5907\u597d\u9006&#xff0c;\u7136\u540e\u624d\u80fd\u53bb\u6fc0\u6d3b\u3002\u5b83\u4e5f\u5bf9\u5e94&#034;\u70ed\u66ff\u6362\u4e0d\u53ef\u4e2d\u65ad\u5df2\u53d1\u51fa\u7684\u5f02\u6b65\u64cd\u4f5c&#034;\u7684\u73b0\u5b9e\u7ea6\u675f\u2014\u2014\u4f60\u4e0d\u80fd\u56e0\u4e3a\u8981\u6362\u6389\u4e00\u4e2a\u7ec4\u4ef6\u5c31\u5f3a\u884c cancel \u5b83\u6b63\u5728\u6267\u884c\u7684 IO\u3002\u8fdb\u5ea6\u5b9a\u7406&#xff08;Theorem 66&#xff09;\u660e\u786e\u58f0\u660e\u5b83\u8986\u76d6\u53d7\u60ef\u6027\u7ea6\u675f\u7684\u5bbf\u4e3b&#xff08;\u4e0d\u4f7f\u7528 L-Divert \u7684\u653e\u5f03\u5206\u652f&#xff09;&#xff0c;\u6240\u4ee5\u5f02\u6b65\u5bbf\u4e3b\u4e5f\u5728\u8fdb\u5c55\u6027\u4fdd\u8bc1\u4e4b\u5185\u3002<\/p>\n<hr \/>\n<h3>4.3.4 Failure \/ \u5931\u8d25<\/h3>\n<h4>\u539f\u6587 (English)<\/h4>\n<p>Every rule so far assumes the effect it runs succeeds, and a runtime cannot. The effects a component installs reach outside the context that tracks them, and what they reach may refuse: a port already bound, a file that is not there, a peer that does not answer. A failing transition must still leave the fiber\u2019s effects recovered rather than stranded.<\/p>\n<p>Let \u039e be a set of errors and refine the effect iterator so that an iteration may raise in place of yielding a triple:<br \/>\n&#x1d508;fail\u0393 \u2254 &#x1d707;\u2111. \u0393 \u2192 &#x1d5a4;&#x1d5c2;&#x1d5cd;&#x1d5c1;&#x1d5be;&#x1d5cb;(\u039e, \u0393 \u00d7 (\u0393 \u2192 \u0393) \u00d7 &#x1d5ac;&#x1d5ba;&#x1d5d2;&#x1d5bb;&#x1d5be;(\u2111))<br \/>\nThe witness constrains the &#x1d5b1;&#x1d5c2;&#x1d5c0;&#x1d5c1;&#x1d5cd; case alone, being vacuous where the pattern does not match, a raise having nothing to undo, and the &#x1d456; that &#x1d5b1;&#x1d5be;&#x1d5c5;&#x1d5c8;&#x1d5ba;&#x1d5bd;&#x1d5c2;&#x1d5c7;&#x1d5c0; carries is read at &#x1d508;fail\u2217\u0393 from here on. The layer adds one rule and puts the second outcome of Definition 49 to use.<\/p>\n<p>&#x1d703;&#x1d45b; &#061; &#x1d5b1;&#x1d5be;&#x1d5c5;&#x1d5c8;&#x1d5ba;&#x1d5bd;&#x1d5c2;&#x1d5c7;&#x1d5c0;(&#x1d456;, &#x1d454;, &#x1d714;)  &#x1d456;(&#x1d6fe;) &#061; &#x1d5ab;&#x1d5be;&#x1d5bf;&#x1d5cd;(&#x1d709;)<br \/>\n\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500  L-Raise<br \/>\n&#x1d6fe; \u27f6 &#x1d6fe;[&#x1d703;&#x1d45b; \u21a6 &#x1d5b4;&#x1d5c7;&#x1d5c5;&#x1d5c8;&#x1d5ba;&#x1d5bd;&#x1d5c2;&#x1d5c7;&#x1d5c0;(&#x1d454;, &#x1d714;, &#x1d709;)]<\/p>\n<p>L-Raise recovers before it records. The fiber routes into &#x1d5b4;&#x1d5c7;&#x1d5c5;&#x1d5c8;&#x1d5ba;&#x1d5bd;&#x1d5c2;&#x1d5c7;&#x1d5c0; carrying the error as its outcome, the accumulator built up to the failing iteration is applied there, and the fiber arrives at &#x1d5a8;&#x1d5c7;&#x1d5ba;&#x1d5bc;&#x1d5cd;&#x1d5c2;&#x1d5cf;&#x1d5be;(&#x1d709;) having installed nothing, at a state differing from the one an aborting L-Divert would have produced only in the outcome the fiber carries. Routing a failure like every other deactivation is what makes every outcome reachable only through L-Unload, which is the single fact Theorem 59 turns on. L-Begin has &#x1d5a8;&#x1d5c7;&#x1d5ba;&#x1d5bc;&#x1d5cd;&#x1d5c2;&#x1d5cf;&#x1d5be;(\u22a5) as a premise, so the lifecycle is not re-entered from an error outcome; this is the substance of the outcome, which withholds a fiber whose effect function has shown itself to be unsound in the state it ran against rather than retrying it against an unchanged environment. A failed fiber also obstructs nothing: it is &#x1d5a8;&#x1d5c7;&#x1d5ba;&#x1d5bc;&#x1d5cd;&#x1d5c2;&#x1d5cf;&#x1d5be;, so it carries no committed view and cannot make relied hold.<\/p>\n<p>A failure is recorded on the fiber rather than propagated to its parent, so a component whose transition fails leaves its siblings running, which is the behavior a plugin host wants and the reason the outcome is per-fiber rather than a property of the whole state.<\/p>\n<h4>\u4e2d\u6587\u7ffb\u8bd1<\/h4>\n<p>\u5230\u6b64\u4e3a\u6b62\u7684\u6bcf\u6761\u89c4\u5219\u90fd\u5047\u8bbe\u5b83\u8fd0\u884c\u7684\u6548\u5e94\u4f1a\u6210\u529f&#xff0c;\u800c\u8fd0\u884c\u65f6\u505a\u4e0d\u5230\u3002\u4e00\u4e2a\u7ec4\u4ef6\u5b89\u88c5\u7684\u6548\u5e94\u4f1a\u89e6\u8fbe\u8ffd\u8e2a\u5b83\u4eec\u7684\u4e0a\u4e0b\u6587\u4e4b\u5916\u7684\u4e1c\u897f&#xff0c;\u800c\u90a3\u4e9b\u4e1c\u897f\u53ef\u80fd\u62d2\u7edd&#xff1a;\u4e00\u4e2a\u5df2\u88ab\u7ed1\u5b9a\u7684\u7aef\u53e3\u3001\u4e00\u4e2a\u4e0d\u5b58\u5728\u7684\u6587\u4ef6\u3001\u4e00\u4e2a\u4e0d\u54cd\u5e94\u7684\u5bf9\u7aef\u3002\u4e00\u6b21\u5931\u8d25\u7684\u8f6c\u6362\u4ecd\u5fc5\u987b\u8ba9\u7ea4\u7ef4\u7684\u6548\u5e94\u88ab\u6062\u590d&#xff0c;\u800c\u975e\u6401\u6d45\u3002<\/p>\n<p>\u4ee4 \u039e \u4e3a\u9519\u8bef\u96c6\u5408&#xff0c;\u628a\u6548\u5e94\u8fed\u4ee3\u5668\u7cbe\u5316\u4e3a\u4e00\u6b21\u8fed\u4ee3\u53ef\u4ee5\u629b\u51fa&#xff08;raise&#xff09;\u4ee5\u66ff\u4ee3\u4ea7\u51fa\u4e09\u5143\u7ec4&#xff1a;<br \/>\n&#x1d508;fail\u0393 \u2254 &#x1d707;\u2111. \u0393 \u2192 &#x1d5a4;&#x1d5c2;&#x1d5cd;&#x1d5c1;&#x1d5be;&#x1d5cb;(\u039e, \u0393 \u00d7 (\u0393 \u2192 \u0393) \u00d7 &#x1d5ac;&#x1d5ba;&#x1d5d2;&#x1d5bb;&#x1d5be;(\u2111))<br \/>\n\u89c1\u8bc1\u53ea\u7ea6\u675f &#x1d5b1;&#x1d5c2;&#x1d5c0;&#x1d5c1;&#x1d5cd; \u7684\u60c5\u5f62&#xff0c;\u5728\u6a21\u5f0f\u4e0d\u5339\u914d\u5904\u4e3a\u7a7a\u6ee1\u8db3\u2014\u2014\u4e00\u6b21\u629b\u51fa\u6ca1\u4ec0\u4e48\u53ef\u64a4\u9500\u7684\u2014\u2014\u6b64\u540e &#x1d5b1;&#x1d5be;&#x1d5c5;&#x1d5c8;&#x1d5ba;&#x1d5bd;&#x1d5c2;&#x1d5c7;&#x1d5c0; \u643a\u5e26\u7684 &#x1d456; \u5728 &#x1d508;fail\u2217\u0393 \u4e0a\u8bfb\u51fa\u3002\u672c\u5c42\u589e\u52a0\u4e00\u6761\u89c4\u5219&#xff0c;\u5e76\u542f\u7528\u5b9a\u4e4949\u7684\u7b2c\u4e8c\u4e2a\u7ed3\u679c\u3002<\/p>\n<p>L-Raise&#xff08;\u629b\u9519&#xff09;&#xff1a; \u5f53\u7ea4\u7ef4 &#x1d5b1;&#x1d5be;&#x1d5c5;&#x1d5c8;&#x1d5ba;&#x1d5bd;&#x1d5c2;&#x1d5c7;&#x1d5c0; \u4e14\u672c\u6b21\u8fed\u4ee3\u629b\u51fa &#x1d5ab;&#x1d5be;&#x1d5bf;&#x1d5cd;(&#x1d709;) \u65f6&#xff0c;\u628a\u7ea4\u7ef4\u7f6e\u4e3a &#x1d5b4;&#x1d5c7;&#x1d5c5;&#x1d5c8;&#x1d5ba;&#x1d5bd;&#x1d5c2;&#x1d5c7;&#x1d5c0;(&#x1d454;, &#x1d714;, &#x1d709;)&#xff0c;\u643a\u5e26\u9519\u8bef\u4f5c\u4e3a\u7ed3\u679c\u3002<\/p>\n<p>L-Raise \u5148\u6062\u590d\u518d\u8bb0\u5f55\u3002\u7ea4\u7ef4\u643a\u5e26\u9519\u8bef\u4f5c\u4e3a\u7ed3\u679c\u8def\u7531\u8fdb &#x1d5b4;&#x1d5c7;&#x1d5c5;&#x1d5c8;&#x1d5ba;&#x1d5bd;&#x1d5c2;&#x1d5c7;&#x1d5c0;&#xff0c;\u5230\u5931\u8d25\u8fed\u4ee3\u4e3a\u6b62\u6784\u5efa\u7684\u7d2f\u52a0\u5668\u5728\u90a3\u91cc\u88ab\u5e94\u7528&#xff0c;\u7ea4\u7ef4\u5230\u8fbe &#x1d5a8;&#x1d5c7;&#x1d5ba;&#x1d5bc;&#x1d5cd;&#x1d5c2;&#x1d5cf;&#x1d5be;(&#x1d709;)&#xff0c;\u4ec0\u4e48\u4e5f\u6ca1\u5b89\u88c5\u2014\u2014\u4e0e\u4e00\u4e2a\u653e\u5f03\u5f0f L-Divert \u6240\u4f1a\u4ea7\u751f\u7684\u72b6\u6001&#xff0c;\u53ea\u5728\u7ea4\u7ef4\u643a\u5e26\u7684\u7ed3\u679c\u4e0a\u4e0d\u540c\u3002\u628a\u5931\u8d25\u50cf\u6240\u6709\u5176\u4ed6\u53bb\u6fc0\u6d3b\u4e00\u6837\u8def\u7531&#xff0c;\u4f7f\u6bcf\u4e2a\u7ed3\u679c\u53ea\u80fd\u7ecf\u7531 L-Unload \u5230\u8fbe&#xff0c;\u8fd9\u6b63\u662f\u5b9a\u740659\u6240\u4f9d\u636e\u7684\u552f\u4e00\u4e8b\u5b9e\u3002L-Begin \u4ee5 &#x1d5a8;&#x1d5c7;&#x1d5ba;&#x1d5bc;&#x1d5cd;&#x1d5c2;&#x1d5cf;&#x1d5be;(\u22a5) \u4e3a\u524d\u63d0&#xff0c;\u6240\u4ee5\u751f\u547d\u5468\u671f\u4e0d\u4f1a\u4ece\u9519\u8bef\u7ed3\u679c\u91cd\u65b0\u8fdb\u5165&#xff1b;\u8fd9\u5c31\u662f\u7ed3\u679c\u7684\u5b9e\u8d28&#xff1a;\u5b83\u6263\u7559\u4e00\u4e2a\u5176\u6548\u5e94\u51fd\u6570\u5df2\u5728\u5b83\u8fd0\u884c\u6240\u4f9d\u636e\u7684\u72b6\u6001\u4e0b\u663e\u793a\u51fa\u4e0d\u53ef\u9760\u7684\u7ea4\u7ef4&#xff0c;\u800c\u4e0d\u662f\u5728\u672a\u6539\u53d8\u7684\u73af\u5883\u4e0b\u91cd\u8bd5\u5b83\u3002\u4e00\u4e2a\u5931\u8d25\u7684\u7ea4\u7ef4\u4e5f\u4e0d\u963b\u788d\u4efb\u4f55\u4e1c\u897f&#xff1a;\u5b83\u662f &#x1d5a8;&#x1d5c7;&#x1d5ba;&#x1d5bc;&#x1d5cd;&#x1d5c2;&#x1d5cf;&#x1d5be;&#xff0c;\u6240\u4ee5\u4e0d\u643a\u5e26\u5df2\u63d0\u4ea4\u89c6\u56fe&#xff0c;\u4e5f\u4e0d\u80fd\u4f7f relied \u6210\u7acb\u3002<\/p>\n<p>\u5931\u8d25\u8bb0\u5f55\u5728\u7ea4\u7ef4\u4e0a\u800c\u975e\u4f20\u64ad\u7ed9\u5176\u7236&#xff0c;\u6240\u4ee5\u4e00\u4e2a\u8f6c\u6362\u5931\u8d25\u7684\u7ec4\u4ef6\u8ba9\u5176\u5144\u5f1f\u7ee7\u7eed\u8fd0\u884c\u2014\u2014\u8fd9\u662f\u63d2\u4ef6\u5bbf\u4e3b\u60f3\u8981\u7684\u884c\u4e3a&#xff0c;\u4e5f\u662f\u7ed3\u679c\u662f&#034;\u6bcf\u7ea4\u7ef4&#034;\u800c\u975e&#034;\u6574\u4e2a\u72b6\u6001\u7684\u5c5e\u6027&#034;\u7684\u539f\u56e0\u3002<\/p>\n<h4>\u8be6\u7ec6\u89e3\u91ca<\/h4>\n<p>\u672c\u8282\u653e\u5f03\u6700\u540e\u4e00\u4e2a\u7406\u60f3\u5316\u5047\u8bbe\u2014\u2014\u201c\u4e0d\u4f1a\u5931\u8d25\u201d&#xff08;infallible&#xff09;\u3002\u771f\u5b9e\u8fd0\u884c\u65f6\u91cc&#xff0c;\u6548\u5e94\u4f1a\u89e6\u8fbe\u4e0a\u4e0b\u6587\u4e4b\u5916\u7684\u4e16\u754c&#xff0c;\u800c\u90a3\u4e2a\u4e16\u754c\u4f1a\u62d2\u7edd&#xff1a;\u7aef\u53e3\u5df2\u88ab\u5360\u7528\u3001\u6587\u4ef6\u4e0d\u5b58\u5728\u3001\u5bf9\u7aef\u4e0d\u54cd\u5e94\u3002 \u8bba\u6587\u7684\u5173\u952e\u8981\u6c42\u662f&#xff1a;\u4e00\u6b21\u5931\u8d25\u7684\u8f6c\u6362\u4ecd\u7136\u5fc5\u987b\u628a\u5df2\u5b89\u88c5\u7684\u6548\u5e94\u6062\u590d\u6389&#xff0c;\u800c\u4e0d\u662f\u8ba9\u5b83\u4eec\u6401\u6d45&#xff08;stranded&#xff09;\u5728\u7cfb\u7edf\u91cc\u3002<\/p>\n<p>L-Raise \u7684\u8bbe\u8ba1\u54f2\u5b66\u662f&#034;\u5148\u6062\u590d&#xff0c;\u518d\u8bb0\u5f55&#034;\u3002 \u5f53\u4e00\u6b21\u8fed\u4ee3\u629b\u51fa &#x1d5ab;&#x1d5be;&#x1d5bf;&#x1d5cd;(&#x1d709;)&#xff0c;\u7ea4\u7ef4\u4e0d\u662f\u76f4\u63a5\u8fdb\u5165\u4e00\u4e2a&#034;\u9519\u8bef&#034;\u7ec8\u6001&#xff0c;\u800c\u662f\u5148\u8f6c\u5165 &#x1d5b4;&#x1d5c7;&#x1d5c5;&#x1d5c8;&#x1d5ba;&#x1d5bd;&#x1d5c2;&#x1d5c7;&#x1d5c0;(&#x1d454;, &#x1d714;, &#x1d709;)\u2014\u2014\u643a\u5e26\u9519\u8bef &#x1d709; \u4f5c\u4e3a\u7ed3\u679c\u3002\u5728 &#x1d5b4;&#x1d5c7;&#x1d5c5;&#x1d5c8;&#x1d5ba;&#x1d5bd;&#x1d5c2;&#x1d5c7;&#x1d5c0;&#xff0c;\u5230\u5931\u8d25\u8fed\u4ee3\u4e3a\u6b62\u7d2f\u79ef\u7684\u7d2f\u52a0\u5668 &#x1d454; \u4f1a\u88ab\u5e94\u7528&#xff08;\u8fd9\u662f L-Unload \u552f\u4e00\u5e94\u7528\u7d2f\u52a0\u5668\u7684\u7279\u6743&#xff09;&#xff0c;\u628a\u5931\u8d25\u524d\u5df2\u7ecf\u5b89\u88c5\u7684\u6240\u6709\u6548\u5e94\u9010\u4e2a\u56de\u6536\u3002\u6700\u7ec8\u7ea4\u7ef4\u5230\u8fbe &#x1d5a8;&#x1d5c7;&#x1d5ba;&#x1d5bc;&#x1d5cd;&#x1d5c2;&#x1d5cf;&#x1d5be;(&#x1d709;)\u2014\u2014\u4ec0\u4e48\u4e5f\u6ca1\u7559\u4e0b\u3002\u8fd9\u4e2a\u72b6\u6001\u548c\u4e00\u4e2a&#034;\u653e\u5f03\u5f0f L-Divert&#034;\u4ea7\u751f\u7684\u72b6\u6001\u51e0\u4e4e\u4e00\u6837&#xff0c;\u53ea\u5dee\u7ea4\u7ef4\u643a\u5e26\u7684\u7ed3\u679c\u5b57\u6bb5&#xff1a;\u4e00\u4e2a\u662f \u22a5&#xff08;\u6b63\u5e38\u653e\u5f03&#xff09;&#xff0c;\u4e00\u4e2a\u662f &#x1d709;&#xff08;\u5931\u8d25&#xff09;\u3002\u8fd9\u79cd\u7edf\u4e00\u6027\u662f\u523b\u610f\u7684\u8bbe\u8ba1&#xff1a;\u5931\u8d25\u88ab\u5f53\u6210&#034;\u4e00\u79cd\u7279\u6b8a\u7684\u53bb\u6fc0\u6d3b&#034;\u6765\u5904\u7406&#xff0c;\u4e0e L-Divert\u3001L-Leave \u8d70\u540c\u4e00\u6761 &#x1d5b4;&#x1d5c7;&#x1d5c5;&#x1d5c8;&#x1d5ba;&#x1d5bd;&#x1d5c2;&#x1d5c7;&#x1d5c0; \u2192 L-Unload \u901a\u8def\u3002\u8bba\u6587\u8bf4&#034;\u6bcf\u4e2a\u7ed3\u679c\u53ea\u80fd\u7ecf\u7531 L-Unload \u5230\u8fbe&#xff0c;\u8fd9\u6b63\u662f\u5b9a\u740659&#xff08;\u4fdd\u6301\u6027&#xff09;\u6240\u4f9d\u636e\u7684\u552f\u4e00\u4e8b\u5b9e&#034;\u2014\u2014\u610f\u601d\u662f&#xff0c;\u65e0\u8bba\u7ea4\u7ef4\u4ee5\u4f55\u79cd\u65b9\u5f0f\u7ed3\u675f&#xff08;\u6210\u529f\u5378\u8f7d\u3001\u88ab\u8f6c\u5411\u3001\u5931\u8d25&#xff09;&#xff0c;\u5b83\u90fd\u5fc5\u7136\u7ecf\u8fc7 L-Unload \u5e94\u7528\u7d2f\u52a0\u5668&#xff0c;\u6240\u4ee5&#034;\u5df2\u63d0\u4ea4\u89c6\u56fe\u4e0d\u4f1a\u6307\u5411\u5df2\u79fb\u9664\u7ea4\u7ef4&#034;\u8fd9\u4e00\u4e0d\u53d8\u5f0f\u5bf9\u6240\u6709\u7ed3\u679c\u7edf\u4e00\u6210\u7acb&#xff0c;\u65e0\u9700\u5bf9\u9519\u8bef\u5355\u72ec\u8bc1\u4e00\u904d\u3002<\/p>\n<p>\u7ed3\u679c\u5b57\u6bb5 &#x1d701; \u7684\u5b9e\u8d28\u662f&#034;\u6263\u7559\u800c\u975e\u91cd\u8bd5&#034;\u3002 L-Begin \u7684\u524d\u63d0\u662f &#x1d5a8;&#x1d5c7;&#x1d5ba;&#x1d5bc;&#x1d5cd;&#x1d5c2;&#x1d5cf;&#x1d5be;(\u22a5)\u2014\u2014\u6ce8\u610f\u662f \u22a5&#xff0c;\u4e0d\u662f &#x1d709;\u3002\u6240\u4ee5\u4e00\u4e2a\u5931\u8d25\u7684\u7ea4\u7ef4&#xff08;&#x1d5a8;&#x1d5c7;&#x1d5ba;&#x1d5bc;&#x1d5cd;&#x1d5c2;&#x1d5cf;&#x1d5be;(&#x1d709;)&#xff09;\u65e0\u6cd5\u91cd\u65b0\u8fdb\u5165\u751f\u547d\u5468\u671f&#xff1a;L-Begin \u4e0d\u5339\u914d\u5b83\u3002\u8fd9\u662f\u6709\u610f\u7684&#xff1a;\u4e00\u4e2a\u6548\u5e94\u51fd\u6570\u5df2\u7ecf\u5728\u67d0\u4e2a\u72b6\u6001\u4e0b\u8868\u73b0\u51fa&#034;\u4e0d\u53ef\u9760&#034;&#xff08;\u6bd4\u5982\u5728\u90a3\u4e2a\u72b6\u6001\u4e0b\u7ed1\u7aef\u53e3\u5931\u8d25&#xff09;&#xff0c;\u5728\u73af\u5883\u6ca1\u53d8\u7684\u60c5\u51b5\u4e0b\u91cd\u8bd5\u5b83\u53ea\u4f1a\u518d\u6b21\u5931\u8d25&#xff0c;\u6beb\u65e0\u610f\u4e49\u3002\u6240\u4ee5\u7cfb\u7edf\u9009\u62e9&#034;\u6263\u7559&#034;\u5b83\u2014\u2014\u8ba9\u5b83\u5b89\u9759\u5730\u5f85\u5728 &#x1d5a8;&#x1d5c7;&#x1d5ba;&#x1d5bc;&#x1d5cd;&#x1d5c2;&#x1d5cf;&#x1d5be;(&#x1d709;)&#xff0c;\u65e2\u4e0d\u91cd\u8bd5\u4e5f\u4e0d\u963b\u788d\u522b\u4eba\u3002\u8fd9\u5bf9\u5e94\u5de5\u7a0b\u91cc\u7684&#034;\u7194\u65ad&#034;\u8bed\u4e49&#xff1a;\u4e00\u4e2a\u53cd\u590d\u5931\u8d25\u7684\u7ec4\u4ef6\u88ab\u6807\u8bb0\u4e3a\u5931\u8d25\u6001&#xff0c;\u4e0d\u518d\u88ab\u8c03\u5ea6&#xff0c;\u4f46\u5176\u5931\u8d25\u72b6\u6001\u88ab\u663e\u5f0f\u8bb0\u5f55&#xff0c;\u4fbf\u4e8e\u5bbf\u4e3b\u8bca\u65ad\u6216\u663e\u5f0f\u91cd\u7f6e\u3002<\/p>\n<p>\u5931\u8d25\u662f&#034;\u6bcf\u7ea4\u7ef4&#034;\u800c\u975e&#034;\u5168\u72b6\u6001&#034;\u7684\u3002 \u5931\u8d25\u8bb0\u5f55\u5728\u7ea4\u7ef4\u81ea\u5df1\u8eab\u4e0a&#xff0c;\u4e0d\u4f20\u64ad\u7ed9\u7236\u7ea4\u7ef4\u3002\u6240\u4ee5\u4e00\u4e2a\u7ec4\u4ef6\u8f6c\u6362\u5931\u8d25&#xff0c;\u5b83\u7684\u5144\u5f1f\u7ec4\u4ef6\u7ee7\u7eed\u8fd0\u884c\u3002\u8bba\u6587\u660e\u786e\u8bf4&#034;\u8fd9\u662f\u63d2\u4ef6\u5bbf\u4e3b\u60f3\u8981\u7684\u884c\u4e3a&#034;\u2014\u2014\u4e00\u4e2a\u63d2\u4ef6\u88c5\u8f7d\u5931\u8d25\u4e0d\u5e94\u8be5\u62d6\u57ae\u6574\u4e2a\u5bbf\u4e3b\u548c\u5176\u4ed6\u63d2\u4ef6\u3002\u8fd9\u4e0e\u4f20\u7edf\u7684\u5f02\u5e38\u4f20\u64ad&#xff08;exception propagation&#xff09;\u5f62\u6210\u9c9c\u660e\u5bf9\u6bd4&#xff1a;\u4f20\u7edf\u6a21\u578b\u91cc\u5b50\u5931\u8d25\u4f1a\u6cbf\u8c03\u7528\u6808\u5411\u4e0a\u629b\u3001\u53ef\u80fd\u8ba9\u7236\u4e5f\u5931\u8d25&#xff1b;\u800c\u8fd9\u91cc\u7684\u6545\u969c\u9694\u79bb&#xff08;fault isolation&#xff09;\u662f\u663e\u5f0f\u7684\u2014\u2014\u6bcf\u4e2a\u7ea4\u7ef4\u72ec\u7acb\u7ed3\u7b97&#xff0c;\u5931\u8d25\u4e0d\u4f20\u67d3\u3002\u8fd9\u4e0e DSH \u7684\u6545\u969c\u9694\u79bb\u5b9e\u8df5\u5b8c\u5168\u5bf9\u5e94&#xff1a;\u4e00\u4e2a agent \u5b50\u4efb\u52a1\u5931\u8d25&#xff0c;\u4e0d\u4f1a\u8ba9\u7236 agent \u548c\u5144\u5f1f\u4efb\u52a1\u90fd\u5d29\u6e83&#xff0c;\u800c\u662f\u88ab\u9694\u79bb\u5728\u90a3\u4e2a\u4efb\u52a1\u91cc\u3002<\/p>\n<p>\u5931\u8d25\u7ea4\u7ef4\u4e0d\u963b\u788d\u4efb\u4f55\u4eba\u3002 \u56e0\u4e3a\u5b83\u662f &#x1d5a8;&#x1d5c7;&#x1d5ba;&#x1d5bc;&#x1d5cd;&#x1d5c2;&#x1d5cf;&#x1d5be;&#xff0c;\u4e0d\u643a\u5e26\u5df2\u63d0\u4ea4\u89c6\u56fe&#xff0c;\u6240\u4ee5 relied \u8c13\u8bcd\u4e0d\u4f1a\u56e0\u4e3a\u5b83\u800c\u6210\u7acb\u2014\u2014\u5b83\u4e0d\u4f1a\u5361\u4f4f\u522b\u4eba\u7684 L-Unload \u5b88\u536b\u3002\u8fd9\u662f\u4e00\u4e2a\u91cd\u8981\u7684&#034;\u4e0d\u6dfb\u9ebb\u70e6&#034;\u6027\u8d28&#xff1a;\u5931\u8d25\u7684\u7ec4\u4ef6\u65e2\u4e0d\u91cd\u8bd5\u3001\u4e5f\u4e0d\u6321\u9053&#xff0c;\u5e72\u51c0\u5730\u9000\u51fa\u821e\u53f0\u3002O-Remove \u4e5f\u4e0d\u9700\u8981\u4e3a\u9519\u8bef\u7ed3\u679c\u62d3\u5bbd\u524d\u63d0\u2014\u2014&#x1d5a8;&#x1d5c7;&#x1d5ba;&#x1d5bc;&#x1d5cd;&#x1d5c2;&#x1d5cf;&#x1d5be;(\u2212) \u7684\u901a\u914d\u5df2\u7ecf\u8986\u76d6 &#x1d5a8;&#x1d5c7;&#x1d5ba;&#x1d5bc;&#x1d5cd;&#x1d5c2;&#x1d5cf;&#x1d5be;(&#x1d709;)&#xff0c;\u6240\u4ee5\u5931\u8d25\u7684\u7ea4\u7ef4\u53ef\u4ee5\u50cf\u6b63\u5e38\u9759\u6b62\u7ea4\u7ef4\u4e00\u6837\u88ab\u79fb\u9664\u3002<\/p>\n<p>\u4e0e Cordis\/DSH \u5b9e\u8df5\u7684\u5bf9\u5e94\u3002 \u8fd9\u6b63\u662f&#034;\u7ec4\u4ef6\u88c5\u8f7d\u5931\u8d25\u7684\u4f18\u96c5\u5904\u7406&#034;\u7684\u5f62\u5f0f\u5316&#xff1a;\u4e00\u4e2a\u63d2\u4ef6\u5728\u521d\u59cb\u5316\u65f6\u629b\u5f02\u5e38&#xff08;\u6bd4\u5982\u7aef\u53e3\u51b2\u7a81&#xff09;&#xff0c;\u7cfb\u7edf\u4f1a\u628a\u5b83\u4e4b\u524d\u5df2\u7ecf\u6210\u529f\u7684\u521d\u59cb\u5316\u6b65\u9aa4\u5168\u90e8\u56de\u6eda&#xff08;\u5173\u6389\u5df2\u6253\u5f00\u7684\u6587\u4ef6\u3001\u5df2\u5efa\u7acb\u7684\u8fde\u63a5&#xff09;&#xff0c;\u7136\u540e\u628a\u5b83\u6807\u8bb0\u4e3a\u5931\u8d25\u6001&#xff0c;\u4e0d\u5f71\u54cd\u5176\u4ed6\u63d2\u4ef6\u3002\u5bbf\u4e3b\u53ef\u4ee5\u67e5\u8be2\u54ea\u4e9b\u63d2\u4ef6\u5931\u8d25\u4e86\u3001\u4e3a\u4ec0\u4e48\u5931\u8d25&#xff0c;\u51b3\u5b9a\u662f\u5426\u91cd\u8bd5\u6216\u4e0a\u62a5\u3002\u5b83\u4e5f\u662f\u6545\u969c\u9694\u79bb\u7684\u5f62\u5f0f\u5316\u57fa\u77f3&#xff1a;\u5355\u4e2a\u7ec4\u4ef6\u7684\u5931\u8d25\u88ab\u9650\u5236\u5728\u8be5\u7ec4\u4ef6\u7684\u751f\u547d\u5468\u671f\u5185&#xff0c;\u4e0d\u4f1a\u7ea7\u8054\u3002<\/p>\n<hr \/>\n<h3>4.4 Metatheory \/ \u5143\u7406\u8bba<\/h3>\n<h4>\u539f\u6587 (English)<\/h4>\n<p>Section 4.3 supplies ten rules: the three orchestration rules of Section 4.2; L-Begin, L-Iter, and L-Finish for an activation; L-Divert and L-Raise for the two ways an activation may end early; and L-Leave and L-Unload for a deactivation. This section reads the two dimensions of composability off those rules in their global form, one fiber\u2019s guarantee holding whatever the other fibers do in between, and adds what only a whole system can be asked for: that it always reaches the configuration its targets call for, and that the configuration is the one a static assembly would have produced.<\/p>\n<p>Definition 53. Index the steps by &#x1d461;, so that &#x1d6fe;&#x1d461; is the state the first &#x1d461; of them reach, and write step&#x1d461; \u2254 &#x1d45f;(&#x1d45b;) for the step taken at &#x1d6fe;&#x1d461;: the rule &#x1d45f; it applies and the name &#x1d45b; it applies that rule at. The sequence starts at a &#x1d6fe;0 with dom(&#x1d439;0) &#061; \u2300. An episode of &#x1d45b; is a maximal interval [&#x1d44f;, &#x1d462;] of indices throughout which installed&#x1d45b; holds.<\/p>\n<p>Every rule concludes in the shape &#x1d6fe; \u27f6 &#x1d6ff;[\u22ef]. The state map of a step taken at &#x1d6fe;&#x1d461; by a rule acting on &#x1d45b; is<br \/>\n\u03a8&#x1d461; \u2254 { pr1 \u2218 &#x1d456; at L-Iter, L-Finish, and a landing L-Divert;  &#x1d454; at L-Unload;  id\u0393 at every other rule }<br \/>\nand the edit edit&#x1d461; : \u0393 \u2192 \u0393 is the bracket read as a function. Each step factors as &#x1d6fe;&#x1d461;&#043;1 &#061; edit&#x1d461;(\u03a8&#x1d461;(&#x1d6fe;&#x1d461;)).<\/p>\n<p>Lemma 54. Reading Table 1 together with Definition 48, for every step &#x1d461; and all fibers &#x1d45a;, &#x1d45b; present at &#x1d6fe;&#x1d461;:<\/p>\n<li>&#x1d70e;&#x1d45a; moves only where step &#x1d461; acts on &#x1d45a;, the write lying inside \u03a8&#x1d461;;<\/li>\n<li>&#x1d714;&#x1d45b; comes into existence only where step&#x1d461; &#061; L-Begin(&#x1d45b;) and ceases only where step&#x1d461; &#061; L-Unload(&#x1d45b;), so &#x1d714;&#x1d45b; is constant for &#x1d461; in an episode of &#x1d45b;;<\/li>\n<li>\u03a8&#x1d461; &#061; &#x1d454;&#x1d45b; only where step&#x1d461; &#061; L-Unload(&#x1d45b;), and no other step applies &#x1d454;&#x1d45b; to the state;<\/li>\n<li>\u00ac installed&#x1d45b; \u2227 installed&#x1d45b;&#043;1 \u21d2 step&#x1d461; &#061; L-Begin(&#x1d45b;), and installed&#x1d45b; \u2227 \u00ac installed&#x1d45b;&#043;1 \u21d2 step&#x1d461; &#061; L-Unload(&#x1d45b;);<\/li>\n<li>&#x1d70b;&#x1d45b;, &#x1d451;&#x1d45b;, &#x1d45d;&#x1d45b;, and &#x1d452;&#x1d45b; come into existence with the entry of &#x1d45b; and are never written again, and &#x1d70f;&#x1d45b; is monotone, written only at \u22a4 and only by an O-Retire.<\/li>\n<p>Lemma 55 (\u2243-invariance). Let &#x1d6fe; \u2243 &#x1d6fe;\u2032. Then a rule of Section 4.3 applies at &#x1d6fe; acting on &#x1d45b; if and only if it applies at &#x1d6fe;\u2032 acting on &#x1d45b;, and the states the two applications reach are again related by \u2243.<\/p>\n<p>Lemma 56 (Equivariance). Let &#x1d712; : &#x1d511; \u2192 &#x1d511; be a bijection. Then &#x1d712; \u22c5 &#x1d6fe; is a state, well formed where &#x1d6fe; is, and step&#x1d461; &#061; &#x1d45f;(&#x1d45b;) carries &#x1d6fe;&#x1d461; to &#x1d6fe;&#x1d461;&#043;1 if and only if &#x1d45f;(&#x1d712;(&#x1d45b;)) carries &#x1d712; \u22c5 &#x1d6fe;&#x1d461; to &#x1d712; \u22c5 &#x1d6fe;&#x1d461;&#043;1.<\/p>\n<p>Lemma 57 (Vestigial entries). Call &#x1d45b; vestigial at &#x1d6fe; when &#x1d70f;&#x1d45b; &#061; \u22a4, &#x1d703;&#x1d45b; &#061; &#x1d5a8;&#x1d5c7;&#x1d5ba;&#x1d5bc;&#x1d5cd;&#x1d5c2;&#x1d5cf;&#x1d5be;(\u22a5), &#x1d70e;&#x1d45b; &#061; \u2300, and no &#x1d45a; has &#x1d70b;&#x1d45a; &#061; &#x1d45b;; a vestigial entry satisfies &#x1d6fe; \u2248 &#x1d6fe; \u2216 &#x1d45b;. If &#x1d45b; is vestigial at &#x1d6fe; then for every rule and every &#x1d45a; \u2260 &#x1d45b;: a rule applying at &#x1d6fe; acting on &#x1d45a; applies at &#x1d6fe; \u2216 &#x1d45b;, and conversely, unless it is an O-Insert drawing the name &#x1d45b; or claiming a key of &#x1d45d;&#x1d45b;.<\/p>\n<h4>\u4e2d\u6587\u7ffb\u8bd1<\/h4>\n<p>\u7b2c4.3\u8282\u7ed9\u51fa\u5341\u6761\u89c4\u5219&#xff1a;\u7b2c4.2\u8282\u7684\u4e09\u6761\u7f16\u6392\u89c4\u5219&#xff1b;\u6fc0\u6d3b\u7528\u7684 L-Begin\u3001L-Iter\u3001L-Finish&#xff1b;\u6fc0\u6d3b\u53ef\u80fd\u63d0\u524d\u7ed3\u675f\u7684\u4e24\u79cd\u65b9\u5f0f\u7684 L-Divert \u548c L-Raise&#xff1b;\u4ee5\u53ca\u53bb\u6fc0\u6d3b\u7684 L-Leave \u548c L-Unload\u3002\u672c\u8282\u4ece\u8fd9\u4e9b\u89c4\u5219\u7684\u5168\u5c40\u5f62\u5f0f\u4e2d\u8bfb\u51fa\u53ef\u7ec4\u5408\u6027\u7684\u4e24\u4e2a\u7ef4\u5ea6\u2014\u2014\u4e00\u4e2a\u7ea4\u7ef4\u7684\u4fdd\u8bc1\u65e0\u8bba\u5176\u4ed6\u7ea4\u7ef4\u5728\u4e2d\u95f4\u505a\u4ec0\u4e48\u90fd\u6210\u7acb\u2014\u2014\u5e76\u52a0\u4e0a\u53ea\u6709\u6574\u4e2a\u7cfb\u7edf\u624d\u80fd\u88ab\u8981\u6c42\u7684\u4e1c\u897f&#xff1a;\u5b83\u603b\u80fd\u8fbe\u5230\u5176\u76ee\u6807\u6240\u8981\u6c42\u7684\u914d\u7f6e&#xff0c;\u4e14\u8be5\u914d\u7f6e\u662f\u9759\u6001\u88c5\u914d\u672c\u4f1a\u4ea7\u751f\u7684\u90a3\u4e2a\u3002<\/p>\n<p>\u5b9a\u4e49 53\u3002 \u7528 &#x1d461; \u7ed9\u6b65\u9aa4\u7f16\u53f7&#xff0c;&#x1d6fe;&#x1d461; \u662f\u524d &#x1d461; \u6b65\u8fbe\u5230\u7684\u72b6\u6001&#xff0c;\u8bb0 step&#x1d461; \u2254 &#x1d45f;(&#x1d45b;) \u4e3a\u5728 &#x1d6fe;&#x1d461; \u8fc8\u51fa\u7684\u6b65\u9aa4&#xff1a;\u5b83\u5e94\u7528\u7684\u89c4\u5219 &#x1d45f; \u4e0e\u5b83\u5e94\u7528\u8be5\u89c4\u5219\u7684\u540d &#x1d45b;\u3002\u5e8f\u5217\u4ece dom(&#x1d439;0) &#061; \u2300 \u7684 &#x1d6fe;0 \u5f00\u59cb\u3002\u7ea4\u7ef4 &#x1d45b; \u7684\u4e00\u5e55&#xff08;episode&#xff09;\u662f installed&#x1d45b; \u6301\u7eed\u6210\u7acb\u7684\u6307\u6807\u6781\u5927\u533a\u95f4 [&#x1d44f;, &#x1d462;]\u3002<\/p>\n<p>\u6bcf\u6761\u89c4\u5219\u7ed3\u8bba\u5f62\u5982 &#x1d6fe; \u27f6 &#x1d6ff;[\u22ef]\u3002\u5728 &#x1d6fe;&#x1d461; \u7531\u4f5c\u7528\u4e8e &#x1d45b; \u7684\u89c4\u5219\u8fc8\u51fa\u7684\u4e00\u6b65&#xff0c;\u5176\u72b6\u6001\u6620\u5c04\u4e3a<br \/>\n\u03a8&#x1d461; \u2254 { L-Iter\u3001L-Finish\u3001\u843d\u5730\u5f0f L-Divert \u5904\u53d6 pr1 \u2218 &#x1d456;&#xff1b;L-Unload \u5904\u53d6 &#x1d454;&#xff1b;\u5176\u4ed6\u6bcf\u6761\u89c4\u5219\u53d6 id\u0393 }<br \/>\n\u7f16\u8f91 edit&#x1d461; \u662f\u628a\u65b9\u62ec\u53f7\u8bfb\u4f5c\u51fd\u6570\u3002\u6bcf\u4e00\u6b65\u5206\u89e3\u4e3a &#x1d6fe;&#x1d461;&#043;1 &#061; edit&#x1d461;(\u03a8&#x1d461;(&#x1d6fe;&#x1d461;))\u3002<\/p>\n<p>\u5f15\u7406 54\u3002 \u7ed3\u5408\u88681\u4e0e\u5b9a\u4e4948&#xff0c;\u5bf9\u6bcf\u4e00\u6b65 &#x1d461; \u4e0e &#x1d6fe;&#x1d461; \u5904\u6240\u6709\u7ea4\u7ef4 &#x1d45a;, &#x1d45b;&#xff1a;<\/p>\n<li>&#x1d70e;&#x1d45a; \u53ea\u5728\u6b65\u9aa4\u4f5c\u7528\u4e8e &#x1d45a; \u65f6\u79fb\u52a8&#xff0c;\u5199\u5165\u5728 \u03a8&#x1d461; \u5185\u90e8&#xff1b;<\/li>\n<li>&#x1d714;&#x1d45b; \u53ea\u5728 step&#x1d461; &#061; L-Begin(&#x1d45b;) \u65f6\u4ea7\u751f\u3001\u53ea\u5728 step&#x1d461; &#061; L-Unload(&#x1d45b;) \u65f6\u6d88\u5931&#xff0c;\u6545 &#x1d714;&#x1d45b; \u5728 &#x1d45b; \u7684\u4e00\u5e55\u4e2d\u4fdd\u6301\u5e38\u91cf&#xff1b;<\/li>\n<li>\u03a8&#x1d461; &#061; &#x1d454;&#x1d45b; \u53ea\u5728 step&#x1d461; &#061; L-Unload(&#x1d45b;) \u65f6&#xff0c;\u4e14\u6ca1\u6709\u5176\u4ed6\u6b65\u9aa4\u628a &#x1d454;&#x1d45b; \u5e94\u7528\u4e8e\u72b6\u6001&#xff1b;<\/li>\n<li>\u00ac installed&#x1d45b; \u2227 installed&#x1d45b;&#043;1 \u21d2 step&#x1d461; &#061; L-Begin(&#x1d45b;)&#xff0c;installed&#x1d45b; \u2227 \u00ac installed&#x1d45b;&#043;1 \u21d2 step&#x1d461; &#061; L-Unload(&#x1d45b;)&#xff1b;<\/li>\n<li>&#x1d70b;&#x1d45b;, &#x1d451;&#x1d45b;, &#x1d45d;&#x1d45b;, &#x1d452;&#x1d45b; \u968f &#x1d45b; \u7684\u6761\u76ee\u4ea7\u751f\u4e14\u4e0d\u518d\u88ab\u5199&#xff0c;&#x1d70f;&#x1d45b; \u5355\u8c03&#xff0c;\u53ea\u5728 \u22a4 \u4e14\u53ea\u7531 O-Retire \u5199\u3002<\/li>\n<p>\u5f15\u7406 55&#xff08;\u2243-\u4e0d\u53d8\u6027&#xff09;\u3002 \u4ee4 &#x1d6fe; \u2243 &#x1d6fe;\u2032\u3002\u5219\u7b2c4.3\u8282\u7684\u4e00\u6761\u89c4\u5219\u5728 &#x1d6fe; \u4f5c\u7528\u4e8e &#x1d45b; \u53ef\u5e94\u7528&#xff0c;\u5f53\u4e14\u4ec5\u5f53\u5b83\u5728 &#x1d6fe;\u2032 \u4f5c\u7528\u4e8e &#x1d45b; \u53ef\u5e94\u7528&#xff0c;\u4e14\u4e24\u6b21\u5e94\u7528\u8fbe\u5230\u7684\u72b6\u6001\u4ecd\u7531 \u2243 \u5173\u8054\u3002<\/p>\n<p>\u5f15\u7406 56&#xff08;\u7b49\u53d8\u6027&#xff09;\u3002 \u4ee4 &#x1d712; : &#x1d511; \u2192 &#x1d511; \u4e3a\u53cc\u5c04\u3002\u5219 &#x1d712; \u22c5 &#x1d6fe; \u662f\u72b6\u6001&#xff0c;\u5728 &#x1d6fe; \u826f\u6784\u5904\u826f\u6784&#xff0c;\u4e14 step&#x1d461; &#061; &#x1d45f;(&#x1d45b;) \u628a &#x1d6fe;&#x1d461; \u5e26\u5230 &#x1d6fe;&#x1d461;&#043;1 \u5f53\u4e14\u4ec5\u5f53 &#x1d45f;(&#x1d712;(&#x1d45b;)) \u628a &#x1d712; \u22c5 &#x1d6fe;&#x1d461; \u5e26\u5230 &#x1d712; \u22c5 &#x1d6fe;&#x1d461;&#043;1\u3002<\/p>\n<p>\u5f15\u7406 57&#xff08;\u6b8b\u7559\u6761\u76ee&#xff09;\u3002 \u79f0 &#x1d45b; \u5728 &#x1d6fe; \u5904\u6b8b\u7559&#xff08;vestigial&#xff09;&#xff0c;\u82e5 &#x1d70f;&#x1d45b; &#061; \u22a4\u3001&#x1d703;&#x1d45b; &#061; &#x1d5a8;&#x1d5c7;&#x1d5ba;&#x1d5bc;&#x1d5cd;&#x1d5c2;&#x1d5cf;&#x1d5be;(\u22a5)\u3001&#x1d70e;&#x1d45b; &#061; \u2300\u3001\u4e14\u65e0 &#x1d45a; \u4f7f &#x1d70b;&#x1d45a; &#061; &#x1d45b;&#xff1b;\u6b8b\u7559\u6761\u76ee\u6ee1\u8db3 &#x1d6fe; \u2248 &#x1d6fe; \u2216 &#x1d45b;\u3002\u82e5 &#x1d45b; \u5728 &#x1d6fe; \u6b8b\u7559&#xff0c;\u5219\u5bf9\u6bcf\u6761\u89c4\u5219\u4e0e\u6bcf\u4e2a &#x1d45a; \u2260 &#x1d45b;&#xff1a;\u5728 &#x1d6fe; \u4f5c\u7528\u4e8e &#x1d45a; \u7684\u89c4\u5219\u4e5f\u5728 &#x1d6fe; \u2216 &#x1d45b; \u4f5c\u7528\u4e8e &#x1d45a;&#xff0c;\u53cd\u4e4b\u4ea6\u7136&#xff0c;\u9664\u975e\u5b83\u662f\u62bd\u53d6\u540d &#x1d45b; \u6216\u7533\u9886 &#x1d45d;&#x1d45b; \u4e4b\u952e\u7684 O-Insert\u3002<\/p>\n<h4>\u8be6\u7ec6\u89e3\u91ca<\/h4>\n<p>\u672c\u8282\u662f\u6574\u7ae0\u5143\u7406\u8bba\u7684&#034;\u57fa\u7840\u8bbe\u65bd\u5c42&#034;&#xff0c;\u4e3a\u540e\u7eed\u4e94\u4e2a\u6027\u8d28\u5b9a\u7406\u5efa\u7acb\u4e00\u5957\u7edf\u4e00\u7684\u8bc1\u660e\u8bed\u8a00\u548c\u82e5\u5e72\u5f15\u7406\u3002\u7406\u89e3\u672c\u8282\u7684\u5173\u952e\u662f\u628a\u63e1&#034;\u628a\u89c4\u5219\u8bfb\u4f5c\u5bf9\u72b6\u6001\u7684\u5199&#034;\u8fd9\u4e00\u7edf\u4e00\u5207\u5165\u89c6\u89d2\u3002<\/p>\n<p>\u6838\u5fc3\u601d\u8def&#xff1a;\u628a\u6bcf\u6761\u89c4\u5219\u5206\u89e3\u4e3a&#034;\u72b6\u6001\u6620\u5c04 \u03a8&#x1d461;&#034;\u52a0&#034;\u7f16\u8f91 edit&#x1d461;&#034;\u4e24\u90e8\u5206\u3002 \u03a8&#x1d461; \u662f\u771f\u6b63\u6539\u5199\u4e0a\u4e0b\u6587\u5185\u5bb9\u7684\u51fd\u6570&#xff08;\u5728\u8fed\u4ee3\u843d\u5730\u65f6\u662f\u8fed\u4ee3\u5668\u7684\u524d\u5411\u6295\u5f71 pr1 \u2218 &#x1d456;&#xff0c;\u5728 L-Unload \u65f6\u662f\u7d2f\u52a0\u5668 &#x1d454;&#xff0c;\u5176\u4ed6\u65f6\u5019\u662f\u6052\u7b49 id\u0393&#xff09;&#xff0c;edit&#x1d461; \u662f\u53ea\u6539\u63a7\u5236\u5b57\u6bb5&#xff08;\u751f\u547d\u5468\u671f\u72b6\u6001\u3001\u9000\u5f79\u6807\u5fd7\u7b49&#xff09;\u7684\u8d4b\u503c\u3002\u4e8e\u662f\u6bcf\u4e00\u6b65\u90fd\u662f &#x1d6fe;&#x1d461;&#043;1 &#061; edit&#x1d461;(\u03a8&#x1d461;(&#x1d6fe;&#x1d461;))\u3002\u8fd9\u79cd\u5206\u89e3\u628a&#034;\u5185\u5bb9\u53d8\u66f4&#034;\u548c&#034;\u63a7\u5236\u5b57\u6bb5\u53d8\u66f4&#034;\u6e05\u6670\u5730\u5206\u5f00\u2014\u2014\u8fd9\u662f\u540e\u7eed\u6240\u6709\u8bc1\u660e\u7684\u57fa\u7840\u8bbe\u65bd\u3002\u88681\u6b63\u662f\u628a\u5341\u6761\u89c4\u5219\u8bfb\u6210\u8fd9\u79cd&#034;\u5199&#034;\u7684\u5b8c\u6574\u6e05\u5355&#xff0c;\u4f7f\u6bcf\u4e2a\u8bc1\u660e\u90fd\u53d8\u6210&#034;\u67e5\u8868&#034;\u3002<\/p>\n<p>\u5f15\u740654\u662f&#034;\u4e8b\u5b9e\u6e05\u5355&#034;\u5f15\u7406&#xff0c;\u5b83\u4ece\u88681 &#043; \u5b9a\u4e4948&#xff08;\u7ea6\u675f\u6027&#xff09;\u4e2d\u8bfb\u51fa\u4e94\u6761\u8d2f\u7a7f\u5168\u7ae0\u7684\u4e8b\u5b9e&#xff1a;(1) \u4e00\u4e2a\u7ea4\u7ef4\u7684\u8868\u53ea\u5728\u81ea\u5df1\u88ab\u4f5c\u7528\u65f6\u53d8&#xff0c;\u4e14\u53d8\u66f4\u5728 \u03a8&#x1d461; \u5185\u2014\u2014\u8fd9\u662f\u7ea6\u675f\u6027\u7684\u76f4\u63a5\u540e\u679c&#xff1b;(2) \u5df2\u63d0\u4ea4\u89c6\u56fe &#x1d714; \u53ea\u5728 L-Begin \u4ea7\u751f\u3001\u53ea\u5728 L-Unload \u6d88\u5931&#xff0c;\u6240\u4ee5\u5728\u4e00\u4e2a episode&#xff08;\u7ea4\u7ef4\u4ece\u6fc0\u6d3b\u5230\u5378\u8f7d\u7684\u6574\u4e2a\u533a\u95f4&#xff09;\u5185 &#x1d714; \u4fdd\u6301\u4e0d\u53d8\u2014\u2014\u8fd9\u662f\u7a7a\u95f4\u53ef\u7ec4\u5408\u6027&#xff08;4.4.3&#xff09;\u7684\u6838\u5fc3\u4e0d\u53d8\u5f0f&#xff1b;(3) \u7d2f\u52a0\u5668\u53ea\u5728 L-Unload \u5e94\u7528\u2014\u2014\u8fd9\u662f\u6062\u590d\u7cbe\u786e\u6027\u7684\u5173\u952e&#xff1b;(4) \u7ea4\u7ef4\u5b89\u88c5\/\u5378\u8f7d\u7684\u8fb9\u754c\u6070\u662f L-Begin\/L-Unload&#xff1b;(5) &#x1d70b;\/&#x1d451;\/&#x1d45d;\/&#x1d452; \u4e00\u65e6\u968f\u6761\u76ee\u4ea7\u751f\u5c31\u4e0d\u518d\u88ab\u5199&#xff0c;&#x1d70f; \u5355\u8c03\u2014\u2014\u8fd9\u4fdd\u8bc1\u4f9d\u8d56\u56fe\u4e0e\u4f9b\u7ed9\u5728\u8fd0\u884c\u4e2d\u662f\u7a33\u5b9a\u7684\u3002\u8fd9\u4e94\u6761\u4e8b\u5b9e\u5728\u540e\u7eed\u6bcf\u4e2a\u5b9a\u7406\u8bc1\u660e\u91cc\u53cd\u590d\u5f15\u7528&#xff0c;\u76f8\u5f53\u4e8e\u628a&#034;\u67e5\u8868&#034;\u7684\u7ed3\u679c\u56fa\u5316\u3002<\/p>\n<p>\u5f15\u740655&#xff08;\u2243-\u4e0d\u53d8\u6027&#xff09;\u4fdd\u8bc1\u6574\u4e2a\u6f14\u7b97\u4e0b\u964d\u5230\u89c2\u5bdf\u7b49\u4ef7\u5546 \u0393\/\u2243\u3002 \u5b83\u8bf4\u7684\u662f&#xff1a;\u5982\u679c\u4e24\u4e2a\u72b6\u6001\u5728\u89c2\u5bdf\u7b49\u4ef7 \u2243 \u4e0b\u76f8\u7b49&#xff08;\u5373\u5bf9\u6240\u6709\u53ef\u89c2\u5bdf\u7684\u4e1c\u897f\u4e00\u81f4&#xff09;&#xff0c;\u90a3\u4e48\u89c4\u5219\u5728\u4e24\u8005\u4e0a\u7684\u53ef\u5e94\u7528\u6027\u76f8\u540c\u3001\u7ed3\u679c\u4ecd \u2243 \u76f8\u7b49\u3002\u8fd9\u610f\u5473\u7740\u89c4\u5219\u7684\u5224\u65ad\u53ea\u4f9d\u8d56\u53ef\u89c2\u5bdf\u91cf&#xff0c;\u4e0d\u4f1a\u56e0\u4e3a&#034;\u4e0d\u53ef\u89c2\u5bdf\u7684\u5185\u90e8\u8868\u793a\u5dee\u5f02&#034;\u800c\u5206\u6b67\u3002\u8fd9\u662f\u628a\u7b2c3\u7ae0\u7684\u89c2\u5bdf\u7b49\u4ef7\u6027\u8d2f\u7a7f\u5230\u7ec4\u4ef6\u5c42\u7684\u6865\u6881\u2014\u2014\u8bc1\u660e\u4e2d\u5b83\u9010\u4e00\u68c0\u67e5\u6bcf\u6761\u89c4\u5219\u7684\u524d\u63d0\u53ea\u8bfb \u2243 \u4fdd\u6301\u7684\u6210\u5206&#xff08;\u63a7\u5236\u5b57\u6bb5\u3001&#x1d451;\/&#x1d45d;\/&#x1d452;\u3001\u76ee\u6807\u89c6\u56fe\u3001dom(&#x1d439;&#x1d6fe;)&#xff09;&#xff0c;\u7ed3\u8bba\u91cc\u7684\u5199\u4e5f\u90fd\u5c0a\u91cd \u2243\u3002<\/p>\n<p>\u5f15\u740656&#xff08;\u7b49\u53d8\u6027&#xff09;\u5904\u7406\u7ea4\u7ef4\u540d\u7684\u533f\u540d\u6027\u3002 \u7ea4\u7ef4\u540d\u662f&#034;\u52a8\u6001\u521b\u5efa\u7684\u5c40\u90e8\u540d&#034;&#xff08;\u5f15\u7528[39]&#xff09;&#xff0c;\u89c4\u5219\u53ea\u7528\u76f8\u7b49\u6bd4\u8f83\u3001\u4e0d\u8ba1\u7b97\u3001\u4e0d\u68c0\u67e5\u7ed3\u6784\u3002\u6240\u4ee5\u5bf9\u7ea4\u7ef4\u540d\u7684\u4efb\u4f55\u53cc\u5c04\u91cd\u547d\u540d&#xff0c;\u89c4\u5219\u5e8f\u5217\u4fdd\u6301\u76f8\u540c\u7ed3\u6784\u3002\u8fd9\u8ba9\u8bc1\u660e\u53ef\u4ee5&#034;\u5ffd\u7565\u5177\u4f53\u7528\u4e86\u54ea\u4e9b\u540d&#034;&#xff0c;\u53ea\u5173\u5fc3\u7ed3\u6784\u2014\u2014\u8fd9\u662f 4.1 \u8282&#034;\u540d\u662f\u539f\u5b50&#034;\u7eaa\u5f8b\u7684\u5151\u73b0\u3002\u540e\u7eed\u6c47\u5408\u6027\u5b9a\u7406\u5728\u5339\u914d\u4e24\u68f5\u6ce8\u518c\u6811\u65f6\u6b63\u662f\u7528\u4e00\u4e2a\u53cc\u5c04\u5bf9\u9f50\u5b83\u4eec\u7684\u540d\u5b57\u3002<\/p>\n<p>\u5f15\u740657&#xff08;\u6b8b\u7559\u6761\u76ee&#xff09;\u662f\u4e00\u4e2a&#034;\u770b\u4e0d\u89c1\u7684\u6761\u76ee&#034;\u5f15\u7406\u3002 \u4e00\u4e2a&#034;\u6b8b\u7559&#034;\u7ea4\u7ef4\u662f&#xff1a;\u5df2\u9000\u5f79\u3001\u5df2\u9759\u6b62\u3001\u7a7a\u8868\u3001\u6ca1\u4eba\u4ee5\u5b83\u4e3a\u7236\u2014\u2014\u5b83\u53ea\u5269\u4e00\u4e2a\u540d\u5b57\u58f3\u3002\u5f15\u7406\u8bf4\u8fd9\u6837\u7684\u6761\u76ee\u5bf9\u4efb\u4f55\u4f5c\u7528\u4e8e\u5176\u4ed6\u7ea4\u7ef4\u7684\u89c4\u5219\u90fd\u4e0d\u53ef\u89c1&#xff08;&#x1d6fe; \u2248 &#x1d6fe; \u2216 &#x1d45b;&#xff09;\u3002\u8fd9\u975e\u5e38\u91cd\u8981&#xff1a;\u5b9a\u4e4947\u7684\u6ce8\u518c\u539f\u8bed\u5728\u7236\u5378\u8f7d\u65f6\u9000\u5f79\u5b50\u7ea4\u7ef4\u3001\u7559\u4e0b\u4e00\u4e2a\u6b8b\u7559\u6761\u76ee&#xff08;Lemma 57 \u63d0\u5230\u7684&#034;\u9000\u5316\u6761\u76ee&#034;&#xff09;&#xff0c;\u5b83\u548c&#034;\u7ea4\u7ef4\u4e0d\u5b58\u5728&#034;\u5728\u63a7\u5236\u5b57\u6bb5\u4ee5\u5916\u65e0\u6cd5\u533a\u5206\u3002\u8fd9\u4e2a\u5f15\u7406\u8ba9\u8bc1\u660e\u53ef\u4ee5&#034;\u5047\u88c5\u6b8b\u7559\u6761\u76ee\u4e0d\u5b58\u5728&#034;&#xff0c;\u662f\u6c47\u5408\u6027\u8bc1\u660e\u91cc\u5220\u9664\u88ab\u9000\u5f79\u6ce8\u518c&#xff08;Lemma 72&#xff09;\u7684\u5de5\u5177\u3002<\/p>\n<p>\u4e24\u4e2a\u7b49\u4ef7\u5173\u7cfb \u2243 \u4e0e \u2248 \u7684\u5206\u5de5\u3002 \u2243 \u662f\u89c2\u5bdf\u7b49\u4ef7&#xff08;\u542b\u6ce8\u518c\u8868\u57df\u548c\u63a7\u5236\u5b57\u6bb5&#xff09;&#xff0c;\u7528\u4e8e&#034;\u89c4\u5219\u662f\u5426\u533a\u5206\u4e24\u4e2a\u72b6\u6001&#034;&#xff1b;\u2248 \u662f&#034;\u9664\u63a7\u5236\u5b57\u6bb5\u5916\u4e00\u81f4&#034;&#xff0c;\u7528\u4e8e\u6062\u590d\u7cbe\u786e\u6027\u2014\u2014\u5b83\u7cbe\u786e\u6bd4\u8f83\u8868\u4e0e\u73af\u5883\u72b6\u6001&#xff0c;\u53ea\u5fd8\u6389&#034;\u54ea\u4e2a\u7ea4\u7ef4\u5b89\u88c5\u7684&#034;\u3002\u8bba\u6587\u660e\u786e\u8bf4 \u2243 \u548c \u2248 \u4e92\u4e0d\u7cbe\u5316&#xff0c;\u5404\u81ea\u5fd8\u6389\u5bf9\u65b9\u5fc5\u987b\u4fdd\u7559\u7684\u4e1c\u897f&#xff1a;\u2243 \u5fc5\u987b\u4fdd\u7559\u63a7\u5236\u5b57\u6bb5&#xff08;\u89c4\u5219\u9760\u5b83\u5224\u65ad&#xff09;&#xff0c;\u2248 \u5fc5\u987b\u4fdd\u7559\u8868\u4e0e\u73af\u5883&#xff08;\u6062\u590d\u7cbe\u786e\u6027\u662f\u5173\u4e8e\u6548\u5e94\u7684\u65ad\u8a00&#xff09;\u3002\u540e\u7eed\u5b9a\u7406\u5bf9\u4e24\u534a\u5404\u7528\u5176\u4e00\u3002<\/p>\n<p>\u603b\u4e4b&#xff0c;\u672c\u8282\u5efa\u7acb\u4e86\u4e00\u5957&#034;\u628a\u89c4\u5219\u5f53\u5199\u3001\u628a\u72b6\u6001\u5f53\u7d22\u5f15\u5e8f\u5217\u3001\u7528 \u2243\/\u2248 \u4e24\u4e2a\u7b49\u4ef7\u5206\u522b\u8bfb\u4e24\u534a&#034;\u7684\u7edf\u4e00\u8bc1\u660e\u6846\u67b6&#xff0c;\u4e94\u4e2a\u6027\u8d28\u5b9a\u7406\u90fd\u5728\u5176\u4e0a\u5c55\u5f00\u3002<\/p>\n<hr \/>\n<h3>4.4.1 Preservation \/ \u4fdd\u6301\u6027<\/h3>\n<h4>\u539f\u6587 (English)<\/h4>\n<p>Definition 45 fixes the shape of a registry, and the rules have to be checked against it before the results below can add to it. This subsection identifies the invariant the rules preserve, of which the first clause is that shape and the rest what those results assume.<\/p>\n<p>Definition 58. A registry &#x1d439;&#x1d6fe; is well formed when, for all &#x1d45a;, &#x1d45b; \u2208 dom(&#x1d439;&#x1d6fe;) and all &#x1d458; \u2208 &#x1d43e;:<\/p>\n<li>&#x1d70b;&#x1d45b; \u2208 dom(&#x1d439;&#x1d6fe;) \u222a {&#x1d5cb;&#x1d5c8;&#x1d5c8;&#x1d5cd;};<\/li>\n<li>&#x1d45a; \u2260 &#x1d45b; \u21d2 &#x1d45d;&#x1d45a; \u2229 &#x1d45d;&#x1d45b; &#061; \u2300;<\/li>\n<li>installed&#x1d45b;(&#x1d6fe;) \u21d2 &#x1d714;&#x1d45b; is total on &#x1d451;&#x1d45b; and valued in dom(&#x1d439;&#x1d6fe;);<\/li>\n<li>installed&#x1d45b;(&#x1d6fe;) \u2227 &#x1d458; \u2208 &#x1d451;&#x1d45b; \u2227 &#x1d714;&#x1d45b;(&#x1d458;) &#061; &#x1d45a; \u21d2 installed&#x1d45a;(&#x1d6fe;).<\/li>\n<p>Clause (1) is the tree of Definition 45 read one edge at a time. The acyclicity needs no clause, since the fiber a pointer names is registered before the fiber naming it.<\/p>\n<p>Theorem 59 (Preservation). If &#x1d439;&#x1d461; is well formed then so is &#x1d439;&#x1d461;&#043;1, whichever rule step &#x1d461; applies. Each clause is established at &#x1d6fe;&#x1d461;&#043;1 from all four at &#x1d6fe;&#x1d461;.<\/p>\n<p>The guard on L-Unload is what carries clauses (3) and (4). The premise \u2200&#x1d45a;. &#x1d70b;&#x1d45a; \u2260 &#x1d45b; of O-Remove speaks only of parent pointers; what keeps a committed view from naming a removed fiber is the guard, imposed several steps earlier and for a different reason. Because a failure is routed through &#x1d5b4;&#x1d5c7;&#x1d5c5;&#x1d5c8;&#x1d5ba;&#x1d5bd;&#x1d5c2;&#x1d5c7;&#x1d5c0; as well, the argument does not have to be repeated for an error outcome. Two things follow that the base calculus does not enjoy. A name freed by O-Remove may be reissued by O-Insert, since no stale committed view can name it; and a fiber may be removed as soon as it is &#x1d5a8;&#x1d5c7;&#x1d5ba;&#x1d5bc;&#x1d5cd;&#x1d5c2;&#x1d5cf;&#x1d5be;, without a separate check that nobody depends on it.<\/p>\n<h4>\u4e2d\u6587\u7ffb\u8bd1<\/h4>\n<p>\u5b9a\u4e4945\u56fa\u5b9a\u4e86\u6ce8\u518c\u8868\u7684\u5f62\u72b6&#xff0c;\u89c4\u5219\u5fc5\u987b\u5148\u5bf9\u7167\u5b83\u68c0\u67e5&#xff0c;\u540e\u7eed\u7ed3\u679c\u624d\u80fd\u5728\u5176\u4e0a\u6dfb\u52a0\u3002\u672c\u5c0f\u8282\u8bc6\u522b\u89c4\u5219\u6240\u4fdd\u6301\u7684\u4e0d\u53d8\u5f0f&#xff0c;\u5176\u7b2c\u4e00\u6761\u662f\u8be5\u5f62\u72b6&#xff0c;\u5176\u4f59\u662f\u90a3\u4e9b\u7ed3\u679c\u6240\u5047\u5b9a\u7684\u3002<\/p>\n<p>\u5b9a\u4e49 58\u3002 \u6ce8\u518c\u8868 &#x1d439;&#x1d6fe; \u826f\u6784&#xff08;well formed&#xff09;&#xff0c;\u5f53\u5bf9\u6240\u6709 &#x1d45a;, &#x1d45b; \u2208 dom(&#x1d439;&#x1d6fe;) \u4e0e\u6240\u6709 &#x1d458; \u2208 &#x1d43e;&#xff1a;<\/p>\n<li>&#x1d70b;&#x1d45b; \u2208 dom(&#x1d439;&#x1d6fe;) \u222a {&#x1d5cb;&#x1d5c8;&#x1d5c8;&#x1d5cd;}&#xff1b;<\/li>\n<li>&#x1d45a; \u2260 &#x1d45b; \u21d2 &#x1d45d;&#x1d45a; \u2229 &#x1d45d;&#x1d45b; &#061; \u2300&#xff1b;<\/li>\n<li>installed&#x1d45b;(&#x1d6fe;) \u21d2 &#x1d714;&#x1d45b; \u5728 &#x1d451;&#x1d45b; \u4e0a\u5168\u4e14\u53d6\u503c\u4e8e dom(&#x1d439;&#x1d6fe;)&#xff1b;<\/li>\n<li>installed&#x1d45b;(&#x1d6fe;) \u2227 &#x1d458; \u2208 &#x1d451;&#x1d45b; \u2227 &#x1d714;&#x1d45b;(&#x1d458;) &#061; &#x1d45a; \u21d2 installed&#x1d45a;(&#x1d6fe;)\u3002<\/li>\n<p>\u7b2c(1)\u6761\u662f\u5b9a\u4e4945\u7684\u6811\u6309\u4e00\u6761\u8fb9\u8bfb\u51fa\u3002\u65e0\u73af\u6027\u65e0\u9700\u6761\u6b3e&#xff0c;\u56e0\u4e3a\u6307\u9488\u6240\u547d\u540d\u7684\u7ea4\u7ef4\u5148\u4e8e\u547d\u540d\u5b83\u7684\u7ea4\u7ef4\u6ce8\u518c\u3002<\/p>\n<p>\u5b9a\u7406 59&#xff08;\u4fdd\u6301\u6027&#xff09;\u3002 \u82e5 &#x1d439;&#x1d461; \u826f\u6784&#xff0c;\u5219\u65e0\u8bba\u7b2c &#x1d461; \u6b65\u5e94\u7528\u54ea\u6761\u89c4\u5219&#xff0c;&#x1d439;&#x1d461;&#043;1 \u4e5f\u826f\u6784\u3002\u6bcf\u6761\u6761\u6b3e\u5728 &#x1d6fe;&#x1d461;&#043;1 \u5904\u7531 &#x1d6fe;&#x1d461; \u5904\u5168\u90e8\u56db\u6761\u5efa\u7acb\u3002<\/p>\n<p>L-Unload \u4e0a\u7684\u5b88\u536b\u627f\u8f7d\u4e86\u6761\u6b3e(3)\u4e0e(4)\u3002O-Remove \u7684\u524d\u63d0 \u2200&#x1d45a;. &#x1d70b;&#x1d45a; \u2260 &#x1d45b; \u53ea\u6d89\u53ca\u7236\u6307\u9488&#xff1b;\u4f7f\u5df2\u63d0\u4ea4\u89c6\u56fe\u4e0d\u547d\u540d\u5df2\u79fb\u9664\u7ea4\u7ef4\u7684&#xff0c;\u662f\u5b88\u536b\u2014\u2014\u5b83\u5728\u51e0\u6b65\u4e4b\u524d\u4e3a\u53e6\u4e00\u4e2a\u7406\u7531\u65bd\u52a0\u3002\u56e0\u4e3a\u5931\u8d25\u4e5f\u7ecf &#x1d5b4;&#x1d5c7;&#x1d5c5;&#x1d5c8;&#x1d5ba;&#x1d5bd;&#x1d5c2;&#x1d5c7;&#x1d5c0; \u8def\u7531&#xff0c;\u8be5\u8bba\u8bc1\u4e0d\u5fc5\u4e3a\u9519\u8bef\u7ed3\u679c\u91cd\u590d\u3002\u968f\u4e4b\u800c\u6765\u7684\u662f\u57fa\u7840\u6f14\u7b97\u6240\u4e0d\u4eab\u6709\u7684\u4e24\u4ef6\u4e8b&#xff1a;O-Remove \u91ca\u653e\u7684\u540d\u53ef\u7531 O-Insert \u91cd\u65b0\u7b7e\u53d1&#xff0c;\u56e0\u4e3a\u6ca1\u6709\u9648\u65e7\u7684\u5df2\u63d0\u4ea4\u89c6\u56fe\u80fd\u547d\u540d\u5b83&#xff1b;\u4e14\u4e00\u4e2a\u7ea4\u7ef4\u4e00\u65e6 &#x1d5a8;&#x1d5c7;&#x1d5ba;&#x1d5bc;&#x1d5cd;&#x1d5c2;&#x1d5cf;&#x1d5be; \u5c31\u53ef\u88ab\u79fb\u9664&#xff0c;\u65e0\u9700\u5355\u72ec\u68c0\u67e5\u65e0\u4eba\u4f9d\u8d56\u5b83\u3002<\/p>\n<h4>\u8be6\u7ec6\u89e3\u91ca<\/h4>\n<p>\u4fdd\u6301\u6027&#xff08;preservation&#xff09;\u662f\u7c7b\u578b\u8bba\/\u64cd\u4f5c\u8bed\u4e49\u91cc\u6700\u7ecf\u5178\u7684\u4e0d\u53d8\u5f0f&#xff1a;\u201c\u5982\u679c\u7cfb\u7edf\u73b0\u5728\u5904\u4e8e\u826f\u597d\u72b6\u6001&#xff0c;\u8fc8\u4e00\u6b65\u540e\u4ecd\u5904\u4e8e\u826f\u597d\u72b6\u6001\u3002\u201d \u672c\u8282\u5b9a\u4e49\u4e86\u6ce8\u518c\u8868\u7684\u826f\u6784\u6027&#xff08;Definition 58&#xff0c;\u56db\u6761&#xff09;&#xff0c;\u5e76\u8bc1\u660e\u5341\u6761\u89c4\u5219\u90fd\u4fdd\u6301\u5b83&#xff08;Theorem 59&#xff09;\u3002<\/p>\n<p>\u56db\u6761\u826f\u6784\u6761\u6b3e\u7684\u542b\u4e49\u3002 (1) \u7236\u6307\u9488\u843d\u5728\u6ce8\u518c\u8868\u6216\u6839\u91cc\u2014\u2014\u6ce8\u518c\u8868\u59cb\u7ec8\u662f\u4e00\u68f5\u826f\u5f62\u7684\u6811&#xff1b;(2) \u4e0d\u540c\u7ea4\u7ef4\u7684\u4f9b\u7ed9\u4e0d\u76f8\u4ea4\u2014\u2014\u5355\u4e00\u6765\u6e90\u7eaa\u5f8b&#xff0c;\u6bcf\u4e2a\u952e\u81f3\u591a\u4e00\u4e2a\u63d0\u4f9b\u8005&#xff1b;(3) \u4e00\u4e2a\u5df2\u5b89\u88c5\u7ea4\u7ef4\u7684\u5df2\u63d0\u4ea4\u89c6\u56fe\u662f\u5b83\u58f0\u660e\u7684\u4f9d\u8d56\u952e\u5230\u6ce8\u518c\u8868\u5185\u7ea4\u7ef4\u540d\u7684\u5168\u6620\u5c04\u2014\u2014\u5373\u5b83\u58f0\u660e\u7684\u6bcf\u4e2a\u4f9d\u8d56\u90fd\u89e3\u6790\u5230\u4e86\u67d0\u4e2a\u5b58\u5728\u7684\u7ea4\u7ef4&#xff1b;(4) \u5982\u679c\u5df2\u5b89\u88c5\u7ea4\u7ef4 &#x1d45b; \u628a\u952e &#x1d458; \u89e3\u6790\u5230 &#x1d45a;&#xff0c;\u90a3\u4e48 &#x1d45a; \u4e5f\u662f\u5df2\u5b89\u88c5\u7684\u2014\u2014\u5373\u5df2\u63d0\u4ea4\u89c6\u56fe\u53ea\u6307\u5411\u540c\u6837\u5df2\u5b89\u88c5\u7684\u63d0\u4f9b\u8005\u3002\u7b2c(3)(4)\u6761\u5408\u8d77\u6765\u5c31\u662f&#034;\u6fc0\u6d3b\u7684\u7ea4\u7ef4\u4f9d\u8d56\u7684\u63d0\u4f9b\u8005\u4e5f\u90fd\u6fc0\u6d3b\u7740&#034;&#xff0c;\u8fd9\u662f\u7a7a\u95f4\u53ef\u7ec4\u5408\u6027\u7684\u5f62\u72b6\u4fdd\u8bc1\u3002<\/p>\n<p>\u8bc1\u660e\u6897\u6982&#xff1a; Theorem 59 \u5bf9\u56db\u6761\u5206\u522b\u5f52\u7ea6\u3002\u7b2c(1)\u6761\u7531 O-Insert&#xff08;\u524d\u63d0\u4fdd\u8bc1\u65b0\u7ea4\u7ef4\u7684\u7236\u5b58\u5728&#xff09;\u4e0e O-Remove&#xff08;\u524d\u63d0 \u2200&#x1d45a;.&#x1d70b;&#x1d45a;\u2260&#x1d45b; \u4fdd\u8bc1\u65e0\u5e78\u5b58\u8005\u4ee5\u88ab\u5220\u8005\u4e3a\u7236&#xff09;\u7ef4\u62a4\u3002\u7b2c(2)\u6761\u7531 O-Insert \u7684\u6700\u540e\u4e00\u524d\u63d0\u7ef4\u62a4&#xff0c;\u4e14\u65e0\u5176\u4ed6\u89c4\u5219\u5199 &#x1d45d; \u6216\u6269\u5927 dom(&#x1d439;&#x1d6fe;)\u3002\u7b2c(3)\u6761&#xff1a;\u552f\u4e00\u5199 &#x1d714; \u7684\u662f L-Begin&#xff0c;\u5176\u524d\u63d0 &#x1d714; &#061; target \u2260 \u22a5 \u4fdd\u8bc1\u5b83\u662f\u5168\u7684\u3001\u53d6\u503c\u4e8e\u63d0\u4f9b\u8005&#xff1b;\u552f\u4e00\u7f29\u5c0f dom(&#x1d439;&#x1d6fe;) \u7684 O-Remove \u5220\u9664\u7684\u662f\u975e\u5b89\u88c5\u7ea4\u7ef4\u3002\u7b2c(4)\u6761\u662f\u5173\u952e\u4e14\u6700\u5fae\u5999\u7684\u4e00\u6b65\u2014\u2014\u5b83\u53ef\u80fd\u88ab&#034;\u67d0\u5b89\u88c5\u7ea4\u7ef4\u6389\u843d&#034;\u201c\u67d0 &#x1d714; \u88ab\u5199\u201d&#034;\u67d0\u88ab &#x1d714; \u547d\u540d\u7684\u7ea4\u7ef4\u79bb\u5f00&#034;\u7834\u574f\u3002\u6838\u5fc3\u5728\u4e8e L-Unload \u7684\u5b88\u536b \u00ac relied&#x1d45b;(&#x1d6fe;)&#xff1a;\u5f53\u4e00\u4e2a\u63d0\u4f9b\u8005\u8981\u5378\u8f7d\u65f6&#xff0c;\u5b88\u536b\u8981\u6c42\u6ca1\u6709\u4efb\u4f55\u5df2\u5b89\u88c5\u7ea4\u7ef4\u8fd8\u628a\u952e\u89e3\u6790\u5230\u5b83&#xff0c;\u4e8e\u662f\u88ab\u5b83\u63d0\u4f9b\u7684\u6d88\u8d39\u8005\u8981\u4e48\u4e5f\u5df2\u4e0d\u5728\u5b89\u88c5\u72b6\u6001\u3001\u8981\u4e48\u5df2\u63d0\u4ea4\u89c6\u56fe\u4e0d\u518d\u6307\u5411\u5b83\u2014\u2014\u6240\u4ee5\u5220\u6389\u5b83\u4e0d\u4f1a\u8ba9\u4efb\u4f55\u5df2\u5b89\u88c5\u7ea4\u7ef4\u7684 &#x1d714; \u6307\u5411\u865a\u7a7a\u3002\u8bba\u6587\u7279\u522b\u5f3a\u8c03&#xff1a;O-Remove \u7684\u524d\u63d0 \u2200&#x1d45a;.&#x1d70b;&#x1d45a;\u2260&#x1d45b; \u53ea\u7ba1\u7236\u6307\u9488&#xff0c;\u771f\u6b63\u963b\u6b62&#034;\u5df2\u63d0\u4ea4\u89c6\u56fe\u6307\u5411\u5df2\u5220\u7ea4\u7ef4&#034;\u7684\u662f L-Unload \u5b88\u536b\u2014\u2014\u5b83\u5728\u597d\u51e0\u6b65\u4e4b\u524d\u3001\u4e3a&#034;\u64a4\u56de\u987a\u5e8f&#034;\u8fd9\u4e2a\u5b8c\u5168\u4e0d\u540c\u7684\u7406\u7531\u88ab\u65bd\u52a0&#xff0c;\u5374\u987a\u5e26\u4fdd\u62a4\u4e86\u7b2c(4)\u6761\u3002\u8fd9\u79cd&#034;\u4e00\u4e2a\u673a\u5236\u670d\u52a1\u591a\u4e2a\u4e0d\u53d8\u5f0f&#034;\u7684\u590d\u7528\u662f\u672c\u7ae0\u8bbe\u8ba1\u7684\u4f18\u96c5\u4e4b\u5904\u3002<\/p>\n<p>\u5931\u8d25\u4e5f\u8d70 &#x1d5b4;&#x1d5c7;&#x1d5c5;&#x1d5c8;&#x1d5ba;&#x1d5bd;&#x1d5c2;&#x1d5c7;&#x1d5c0; \u901a\u8def\u7684\u597d\u5904\u3002 \u56e0\u4e3a L-Raise \u628a\u5931\u8d25\u4e5f\u8def\u7531\u8fdb &#x1d5b4;&#x1d5c7;&#x1d5c5;&#x1d5c8;&#x1d5ba;&#x1d5bd;&#x1d5c2;&#x1d5c7;&#x1d5c0;&#xff0c;4.3.4 \u7684\u8bba\u8bc1\u4e0e\u6b63\u5e38\u5378\u8f7d\u540c\u6784&#xff0c;\u6240\u4ee5\u7b2c(3)(4)\u6761\u5bf9\u9519\u8bef\u7ed3\u679c\u81ea\u52a8\u6210\u7acb&#xff0c;\u65e0\u9700\u5355\u72ec\u518d\u8bc1\u4e00\u904d\u2014\u2014\u8fd9\u662f 4.3.4 &#034;\u5931\u8d25\u5f53\u4f5c\u7279\u6b8a\u53bb\u6fc0\u6d3b&#034;\u8bbe\u8ba1\u7684\u56de\u62a5\u3002<\/p>\n<p>\u4fdd\u6301\u6027\u5e26\u6765\u7684\u4e24\u4e2a\u5de5\u7a0b\u7ea2\u5229\u3002 \u7b2c\u4e00&#xff0c;O-Remove \u91ca\u653e\u7684\u7ea4\u7ef4\u540d\u53ef\u4ee5\u88ab O-Insert \u91cd\u65b0\u7b7e\u53d1\u2014\u2014\u56e0\u4e3a\u6ca1\u6709\u9648\u65e7\u7684\u5df2\u63d0\u4ea4\u89c6\u56fe\u80fd\u6307\u5411\u5df2\u5220\u540d&#xff08;\u5b88\u536b\u4fdd\u8bc1\u4efb\u4f55\u6307\u5411\u5b83\u7684\u89c6\u56fe\u90fd\u5df2\u968f\u4f9d\u8d56\u8005\u5378\u8f7d\u800c\u6d88\u5931&#xff09;\u3002\u8fd9\u5bf9\u5e94&#034;\u63d2\u4ef6\u540d\u53ef\u88ab\u590d\u7528&#034;&#xff1a;\u5378\u8f7d\u4e00\u4e2a\u53eb \u201clogger\u201d \u7684\u63d2\u4ef6\u540e&#xff0c;\u53ef\u4ee5\u518d\u88c5\u8f7d\u4e00\u4e2a\u540c\u540d\u63d2\u4ef6&#xff0c;\u4e0d\u4f1a\u56e0\u4e3a\u65e7\u5f15\u7528\u800c\u6df7\u4e71\u3002\u7b2c\u4e8c&#xff0c;\u4e00\u4e2a\u7ea4\u7ef4\u4e00\u65e6 &#x1d5a8;&#x1d5c7;&#x1d5ba;&#x1d5bc;&#x1d5cd;&#x1d5c2;&#x1d5cf;&#x1d5be; \u5c31\u53ef\u7acb\u5373 O-Remove&#xff0c;\u65e0\u9700\u989d\u5916\u68c0\u67e5&#034;\u6ca1\u4eba\u4f9d\u8d56\u6211&#034;\u2014\u2014\u56e0\u4e3a\u5b88\u536b\u5df2\u7ecf\u5728\u5b83\u79bb\u5f00 &#x1d5a0;&#x1d5bc;&#x1d5cd;&#x1d5c2;&#x1d5cf;&#x1d5be; \u65f6&#xff08;L-Leave\u2192L-Unload&#xff09;\u4fdd\u8bc1\u4e86\u8fd9\u4e00\u70b9\u3002\u8fd9\u7b80\u5316\u4e86\u5b9e\u73b0&#xff1a;\u9000\u5f79\u4e00\u4e2a\u9759\u6b62\u7ea4\u7ef4\u662f\u5b89\u5168\u7684&#xff0c;\u4e0d\u7528\u518d\u505a\u4f9d\u8d56\u626b\u63cf\u3002\u8fd9\u4e0e Cordis\/DSH \u7684\u4f9d\u8d56\u89e3\u6790\u3001\u7ec4\u4ef6\u751f\u547d\u5468\u671f\u7ba1\u7406\u76f4\u63a5\u5bf9\u5e94\u2014\u2014\u5378\u8f7d\u4e00\u4e2a\u63d2\u4ef6\u4e0d\u9700\u8981\u5168\u7cfb\u7edf\u626b\u63cf\u8c01\u8fd8\u5728\u7528\u5b83&#xff0c;\u5b88\u536b\u5df2\u7ecf\u66ff\u4f60\u626b\u8fc7\u4e86\u3002<\/p>\n<hr \/>\n<h3>4.4.2 Temporal Composability \/ \u65f6\u95f4\u53ef\u7ec4\u5408\u6027<\/h3>\n<h4>\u539f\u6587 (English)<\/h4>\n<p>Local temporal composability recovers one sequence of effects with one accumulator (Section 3.1.3). The registry holds one accumulator per fiber and the fibers interleave: between the moment &#x1d45b; composes an inverse onto &#x1d454;&#x1d45b; and the moment &#x1d454;&#x1d45b; runs, other fibers have moved the state. Whether &#x1d454;&#x1d45b; still undoes what it was built to undo there is what the global form of the guarantee asserts, and the condition it turns on is that the intervening steps commute with &#x1d454;&#x1d45b;.<\/p>\n<p>Definition 60. For &#x1d456; \u2208 &#x1d508;iter\u2217\u0393 let reach(&#x1d456;) be the least set of iterators containing &#x1d456; and closed under continuation, and read the transformation monoid &#x1d510; at an iterator by taking for its generators the forward maps and the yielded inverses of every iterator in reach(&#x1d456;). Two iterators &#x1d456;, &#x1d457; are independent when:<br \/>\n\u2200&#x1d453; \u2208 &#x1d510;(&#x1d456;), &#x1d454; \u2208 &#x1d510;(&#x1d457;). &#x1d453; \u2218 &#x1d454; \u2243 &#x1d454; \u2218 &#x1d453;<br \/>\n\u2200&#x1d456;\u2032 \u2208 reach(&#x1d456;), &#x1d454; \u2208 &#x1d510;(&#x1d457;), &#x1d6fe; \u2208 \u0393. pr2,3(&#x1d456;\u2032(&#x1d454;(&#x1d6fe;))) \u2243 pr2,3(&#x1d456;\u2032(&#x1d6fe;))<br \/>\nand symmetrically in &#x1d457;. A family (&#x1d456;&#x1d459;) is pairwise independent when &#x1d456;&#x1d459; and &#x1d456;&#x1d459;\u2032 are independent for every &#x1d459; \u2260 &#x1d459;\u2032, and a sequence of steps is pairwise independent when (&#x1d452;&#x1d45b;) is, where &#x1d441; is the set of names the sequence ever holds.<\/p>\n<p>Theorem 61 (Recovery exactness). Let the sequence of steps be pairwise independent, let an episode of &#x1d45b; open at &#x1d44f;, let &#x1d462; \u2265 &#x1d44f; lie in it, and let &#x1d461;1 &lt; \u22ef &lt; &#x1d461;&#x1d459; be the indices in [&#x1d44f;, &#x1d462;) at which the acting fiber is not &#x1d45b;. Then<br \/>\n&#x1d454;&#x1d462;&#x1d45b;(&#x1d6fe;&#x1d462;) \u2248 (\u03a8&#x1d461;&#x1d459; \u2218 \u22ef \u2218 \u03a8&#x1d461;1)(&#x1d6fe;&#x1d44f;)<br \/>\nThat is, applying &#x1d45b;\u2019s accumulator at &#x1d6fe;&#x1d462; yields, up to the control fields, the state those same steps would have produced from &#x1d6fe;&#x1d44f;.<\/p>\n<p>Corollary 62 (Terminal recovery). Let the sequence of steps be pairwise independent and let an episode of &#x1d45b; open at &#x1d44f; and close at &#x1d462;, whatever outcome &#x1d45b; arrives at. Then, with &#x1d461;1 &lt; \u22ef &lt; &#x1d461;&#x1d459; as in Theorem 61,<br \/>\n&#x1d6fe;&#x1d462;&#043;1 \u2248 (\u03a8&#x1d461;&#x1d459; \u2218 \u22ef \u2218 \u03a8&#x1d461;1)(&#x1d6fe;&#x1d44f;)<br \/>\nA fiber removed by O-Remove leaves nothing behind either.<\/p>\n<p>Pairwise independence is assumed of the components by the results above, and Section 3.3.2 is what discharges it: where every effect a component performs is an operation of a key and every key is commutative, any two effect functions built from those operations are independent (Theorem 42). The coeffect operations of Section 3.2 are the case that needs no hypothesis at all: the maps a component contributes there are composites of set operations and of the corresponding restrictions, two such commute whenever they touch disjoint keys, and clause (2) of Definition 58 makes the provisions of distinct fibers disjoint.<\/p>\n<h4>\u4e2d\u6587\u7ffb\u8bd1<\/h4>\n<p>\u5c40\u90e8\u65f6\u95f4\u53ef\u7ec4\u5408\u6027\u7528\u4e00\u4e2a\u7d2f\u52a0\u5668\u6062\u590d\u4e00\u4e32\u6548\u5e94&#xff08;\u7b2c3.1.3\u8282&#xff09;\u3002\u6ce8\u518c\u8868\u6bcf\u4e2a\u7ea4\u7ef4\u6301\u6709\u4e00\u4e2a\u7d2f\u52a0\u5668&#xff0c;\u800c\u7ea4\u7ef4\u4ea4\u9519\u8fd0\u884c&#xff1a;\u5728 &#x1d45b; \u628a\u4e00\u4e2a\u9006\u7ec4\u5408\u5230 &#x1d454;&#x1d45b; \u4e0a\u3001\u4e0e &#x1d454;&#x1d45b; \u5b9e\u9645\u8fd0\u884c\u4e4b\u95f4&#xff0c;\u5176\u4ed6\u7ea4\u7ef4\u5df2\u79fb\u52a8\u4e86\u72b6\u6001\u3002&#x1d454;&#x1d45b; \u662f\u5426\u4ecd\u64a4\u9500\u5b83\u88ab\u6784\u5efa\u6765\u64a4\u9500\u7684\u4e1c\u897f&#xff0c;\u6b63\u662f\u8be5\u4fdd\u8bc1\u7684\u5168\u5c40\u5f62\u5f0f\u6240\u65ad\u8a00\u7684&#xff0c;\u800c\u5b83\u6240\u4f9d\u8d56\u7684\u6761\u4ef6\u662f&#xff1a;\u4e2d\u95f4\u8fd9\u4e9b\u6b65\u9aa4\u4e0e &#x1d454;&#x1d45b; \u4ea4\u6362\u3002<\/p>\n<p>\u5b9a\u4e49 60\u3002 \u5bf9 &#x1d456; \u2208 &#x1d508;iter\u2217\u0393&#xff0c;\u4ee4 reach(&#x1d456;) \u4e3a\u542b &#x1d456; \u4e14\u5bf9\u7eed\u5ef6\u5c01\u95ed\u7684\u6700\u5c0f\u8fed\u4ee3\u5668\u96c6\u5408&#xff0c;\u628a\u53d8\u6362\u5e7a\u534a\u7fa4 &#x1d510; \u5728\u8fed\u4ee3\u5668\u4e0a\u8bfb\u4f5c\u4ee5 reach(&#x1d456;) \u4e2d\u6bcf\u4e2a\u8fed\u4ee3\u5668\u7684\u524d\u5411\u6620\u5c04\u4e0e\u6240\u4ea7\u9006\u4e3a\u751f\u6210\u5143\u3002\u4e24\u4e2a\u8fed\u4ee3\u5668 &#x1d456;, &#x1d457; \u72ec\u7acb&#xff08;independent&#xff09;\u5f53&#xff1a;<br \/>\n\u2200&#x1d453; \u2208 &#x1d510;(&#x1d456;), &#x1d454; \u2208 &#x1d510;(&#x1d457;). &#x1d453; \u2218 &#x1d454; \u2243 &#x1d454; \u2218 &#x1d453;<br \/>\n\u2200&#x1d456;\u2032 \u2208 reach(&#x1d456;), &#x1d454; \u2208 &#x1d510;(&#x1d457;), &#x1d6fe; \u2208 \u0393. pr2,3(&#x1d456;\u2032(&#x1d454;(&#x1d6fe;))) \u2243 pr2,3(&#x1d456;\u2032(&#x1d6fe;))<br \/>\n\u4e14\u5728 &#x1d457; \u4e2d\u5bf9\u79f0\u3002\u4e00\u4e2a\u65cf\u7fa4\u4e24\u4e24\u72ec\u7acb\u5f53\u6bcf\u5bf9 &#x1d459; \u2260 &#x1d459;\u2032 \u7684 &#x1d456;&#x1d459;, &#x1d456;&#x1d459;\u2032 \u72ec\u7acb&#xff1b;\u4e00\u4e2a\u6b65\u9aa4\u5e8f\u5217\u4e24\u4e24\u72ec\u7acb\u5f53\u5e8f\u5217\u6240\u6301\u540d\u96c6\u5408 &#x1d441; \u4e0a\u7684 (&#x1d452;&#x1d45b;) \u4e24\u4e24\u72ec\u7acb\u3002<\/p>\n<p>\u5b9a\u7406 61&#xff08;\u6062\u590d\u7cbe\u786e\u6027&#xff09;\u3002 \u4ee4\u6b65\u9aa4\u5e8f\u5217\u4e24\u4e24\u72ec\u7acb&#xff0c;\u4ee4 &#x1d45b; \u7684\u4e00\u5e55\u5728 &#x1d44f; \u5f00\u542f&#xff0c;&#x1d462; \u2265 &#x1d44f; \u5728\u5176\u4e2d&#xff0c;\u4ee4 &#x1d461;1 &lt; \u22ef &lt; &#x1d461;&#x1d459; \u4e3a [&#x1d44f;, &#x1d462;) \u4e2d\u4f5c\u7528\u7ea4\u7ef4\u975e &#x1d45b; \u7684\u6307\u6807\u3002\u5219<br \/>\n&#x1d454;&#x1d462;&#x1d45b;(&#x1d6fe;&#x1d462;) \u2248 (\u03a8&#x1d461;&#x1d459; \u2218 \u22ef \u2218 \u03a8&#x1d461;1)(&#x1d6fe;&#x1d44f;)<br \/>\n\u5373\u5728 &#x1d6fe;&#x1d462; \u5904\u5e94\u7528 &#x1d45b; \u7684\u7d2f\u52a0\u5668&#xff0c;\u5f97\u5230&#xff08;\u63a7\u5236\u5b57\u6bb5\u4ee5\u5916&#xff09;\u90a3\u4e9b\u76f8\u540c\u6b65\u9aa4\u672c\u4f1a\u4ece &#x1d6fe;&#x1d44f; \u4ea7\u751f\u7684\u72b6\u6001\u3002<\/p>\n<p>\u63a8\u8bba 62&#xff08;\u7ec8\u6001\u6062\u590d&#xff09;\u3002 \u4ee4\u6b65\u9aa4\u5e8f\u5217\u4e24\u4e24\u72ec\u7acb&#xff0c;\u4ee4 &#x1d45b; \u7684\u4e00\u5e55\u5728 &#x1d44f; \u5f00\u542f\u3001\u5728 &#x1d462; \u5173\u95ed&#xff0c;\u65e0\u8bba &#x1d45b; \u5230\u8fbe\u4f55\u79cd\u7ed3\u679c\u3002\u5219<br \/>\n&#x1d6fe;&#x1d462;&#043;1 \u2248 (\u03a8&#x1d461;&#x1d459; \u2218 \u22ef &#xfffd; \u03a8&#x1d461;1)(&#x1d6fe;&#x1d44f;)<br \/>\n\u88ab O-Remove \u79fb\u9664\u7684\u7ea4\u7ef4\u4e5f\u4e0d\u7559\u4e0b\u4efb\u4f55\u4e1c\u897f\u3002<\/p>\n<p>\u4e0a\u8ff0\u7ed3\u679c\u628a\u4e24\u4e24\u72ec\u7acb\u6027\u5047\u8bbe\u4e8e\u7ec4\u4ef6&#xff0c;\u800c\u7b2c3.3.2\u8282\u6b63\u662f\u6d88\u89e3\u5b83\u4e4b\u5904&#xff1a;\u5f53\u7ec4\u4ef6\u6267\u884c\u7684\u6bcf\u4e2a\u6548\u5e94\u90fd\u662f\u67d0\u4e2a\u952e\u7684\u64cd\u4f5c\u3001\u4e14\u6bcf\u4e2a\u952e\u90fd\u4ea4\u6362\u65f6&#xff0c;\u7531\u8fd9\u4e9b\u64cd\u4f5c\u6784\u5efa\u7684\u4efb\u610f\u4e24\u4e2a\u6548\u5e94\u51fd\u6570\u90fd\u72ec\u7acb&#xff08;\u5b9a\u740642&#xff09;\u3002\u7b2c3.2\u8282\u7684\u534f\u540c\u6548\u5e94\u64cd\u4f5c\u662f\u5b8c\u5168\u65e0\u9700\u5047\u8bbe\u7684\u60c5\u5f62&#xff1a;\u7ec4\u4ef6\u5728\u90a3\u91cc\u8d21\u732e\u7684\u6620\u5c04\u662f\u96c6\u5408\u64cd\u4f5c\u4e0e\u76f8\u5e94\u9650\u5236\u7684\u590d\u5408&#xff0c;\u4e24\u4e2a\u8fd9\u6837\u7684\u6620\u5c04\u53ea\u8981\u89e6\u53ca\u4e0d\u76f8\u4ea4\u7684\u952e\u5c31\u4ea4\u6362&#xff0c;\u800c\u5b9a\u4e4958\u7684\u6761\u6b3e(2)\u4f7f\u4e0d\u540c\u7ea4\u7ef4\u7684\u4f9b\u7ed9\u4e0d\u76f8\u4ea4\u3002<\/p>\n<h4>\u8be6\u7ec6\u89e3\u91ca<\/h4>\n<p>\u65f6\u95f4\u53ef\u7ec4\u5408\u6027&#xff08;temporal composability&#xff09;\u56de\u7b54\u7684\u662f\u8fd9\u4e2a\u5168\u5c40\u95ee\u9898&#xff1a;\u5f53\u4e00\u4e2a\u7ea4\u7ef4 &#x1d45b; \u5728\u67d0\u72b6\u6001 &#x1d6fe;&#x1d44f; \u4e0b\u6784\u5efa\u4e86\u7d2f\u52a0\u5668 &#x1d454;&#x1d45b;&#xff08;\u4e00\u4e32\u9006\u51fd\u6570&#xff09;&#xff0c;\u7136\u540e\u5176\u4ed6\u7ea4\u7ef4\u5728\u4e2d\u95f4\u63d2\u961f\u6267\u884c\u4e86\u4e00\u5806\u6b65\u9aa4&#xff0c;\u628a\u72b6\u6001\u63a8\u8fdb\u5230 &#x1d6fe;&#x1d462;\u2014\u2014\u8fd9\u65f6\u518d\u8fd0\u884c &#x1d454;&#x1d45b;&#xff0c;\u5b83\u8fd8\u80fd\u7cbe\u786e\u64a4\u9500 &#x1d45b; \u5f53\u521d\u5b89\u88c5\u7684\u4e1c\u897f\u5417&#xff1f;\u8fd8\u662f\u5df2\u7ecf\u88ab\u4e2d\u95f4\u7684\u6b65\u9aa4&#034;\u6c61\u67d3&#034;\u4e86&#xff1f; \u8fd9\u662f\u628a\u7b2c3\u7ae0\u7684\u5c40\u90e8\u6062\u590d\u7cbe\u786e\u6027&#xff08;\u5355\u4e2a\u7ec4\u4ef6\u3001\u5355\u7ebf\u7a0b&#xff09;\u63a8\u5e7f\u5230\u591a\u7ea4\u7ef4\u4ea4\u9519\u7684\u5168\u5c40\u573a\u666f\u3002<\/p>\n<p>\u6838\u5fc3\u6761\u4ef6\u662f&#034;\u4e24\u4e24\u72ec\u7acb\u6027&#034;&#xff08;pairwise independence&#xff09;\u3002 \u5b9a\u4e4960\u628a\u7b2c3\u7ae0\u7684\u72ec\u7acb\u6027&#xff08;Definition 19&#xff09;\u6269\u5c55\u5230\u8fed\u4ee3\u5668&#xff1a;\u4e24\u4e2a\u7ea4\u7ef4\u7684\u6548\u5e94\u8fed\u4ee3\u5668\u72ec\u7acb&#xff0c;\u610f\u5473\u7740\u5b83\u4eec\u4ea7\u751f\u7684\u6240\u6709\u524d\u5411\u6620\u5c04\u548c\u9006\u51fd\u6570\u4e24\u4e24\u4ea4\u6362&#xff08;&#x1d453; \u2218 &#x1d454; \u2243 &#x1d454; \u2218 &#x1d453;&#xff09;&#xff0c;\u4e14\u4e00\u4e2a\u8fed\u4ee3\u5668\u5728\u53e6\u4e00\u4e2a\u6620\u5c04\u4f5c\u7528\u8fc7\u7684\u72b6\u6001\u4e0a\u4ea7\u51fa\u7684\u9006\u4e0e\u7eed\u5ef6\u4e0d\u53d8\u3002\u7b2c\u4e00\u6761\u4ef6\u662f&#034;\u6620\u5c04\u53ef\u4ea4\u6362&#034;&#xff08;trace \u7406\u8bba\u91cc\u91cd\u6392\u76f8\u90bb\u72ec\u7acb\u52a8\u4f5c\u4fdd\u6301\u7ec8\u70b9\u7684\u57fa\u7840&#xff0c;\u5f15\u7528[44]&#xff09;&#xff1b;\u7b2c\u4e8c\u6761\u4ef6\u66f4\u5f3a&#xff0c;Theorem 73 \u8fd8\u9700\u8981\u5b83\u2014\u2014\u56e0\u4e3a\u91cd\u6392\u4e24\u4e2a\u7ea4\u7ef4\u7684\u6b65\u9aa4\u610f\u5473\u7740\u5728\u4e00\u4e2a\u88ab\u53e6\u4e00\u7ea4\u7ef4\u79fb\u52a8\u8fc7\u7684\u72b6\u6001\u4e0a\u6c42\u503c\u8fed\u4ee3\u5668&#xff0c;\u5149\u6620\u5c04\u53ef\u4ea4\u6362\u8fd8\u4e0d\u591f&#xff0c;\u8fd8\u8981\u4fdd\u8bc1\u8fed\u4ee3\u5668\u5728\u90a3\u91cc\u4ea7\u51fa\u540c\u6837\u7684\u9006\u548c\u7eed\u5ef6\u3002<\/p>\n<p>Theorem 61&#xff08;\u6062\u590d\u7cbe\u786e\u6027&#xff09;\u7684\u542b\u4e49\u3002 \u5b83\u8bf4&#xff1a;\u5728 &#x1d45b; \u7684\u6574\u4e2a episode&#xff08;\u4ece L-Begin \u5230 L-Unload&#xff09;\u5185&#xff0c;&#x1d45b; \u7684\u7d2f\u52a0\u5668 &#x1d454;&#x1d462;&#x1d45b; \u5728\u6700\u7ec8\u72b6\u6001 &#x1d6fe;&#x1d462; \u4e0a\u8fd0\u884c&#xff0c;\u5f97\u5230\u7684\u72b6\u6001&#xff08;\u63a7\u5236\u5b57\u6bb5\u4ee5\u5916&#xff09;\u6070\u597d\u7b49\u4e8e&#034;\u90a3\u4e9b\u975e &#x1d45b; \u7684\u4e2d\u95f4\u6b65\u9aa4\u5355\u72ec\u4ece &#x1d6fe;&#x1d44f; \u8dd1\u51fa\u6765\u7684\u72b6\u6001&#034;\u3002\u6362\u53e5\u8bdd\u8bf4&#xff0c;&#x1d45b; \u7684\u5b89\u88c5\u4e0e\u5378\u8f7d\u5728\u6574\u4f53\u6548\u679c\u4e0a\u662f&#034;\u51c0\u96f6&#034;\u7684\u2014\u2014\u5b83\u88c5\u4e86\u4ec0\u4e48\u3001\u5378\u4e86\u4ec0\u4e48&#xff0c;\u5bf9\u73af\u5883\u7684\u51c0\u5f71\u54cd\u5c31\u662f\u96f6&#xff0c;\u4eff\u4f5b &#x1d45b; \u4ece\u672a\u5b58\u5728\u8fc7\u3002\u8fd9\u662f\u5c40\u90e8\u65f6\u95f4\u53ef\u7ec4\u5408\u6027&#034;\u4e00\u4e2a\u7d2f\u52a0\u5668\u6062\u590d\u4e00\u4e32\u6548\u5e94&#034;\u7684\u5168\u5c40\u7248\u672c&#xff1a;\u5373\u4f7f\u4e2d\u95f4\u88ab\u522b\u7684\u7ea4\u7ef4\u63d2\u4e86\u4e00\u811a&#xff0c;&#x1d454;&#x1d45b; \u4ecd\u7136\u7cbe\u786e\u64a4\u9500 &#x1d45b; \u81ea\u5df1\u7684\u8d21\u732e&#xff0c;\u4e0d\u591a\u4e0d\u5c11\u3002\u53f3\u5f0f\u8bfb\u4f5c&#034;\u5047\u5982 &#x1d45b; \u4ece\u672a\u5f00\u59cb&#034;\u8fd8\u8981\u989d\u5916\u5047\u8bbe &#x1d45b; \u6ce8\u518c\u7684\u5b50\u7ea4\u7ef4\u4e5f\u6ca1\u5728\u533a\u95f4\u5185\u884c\u52a8\u3002<\/p>\n<p>\u8bc1\u660e\u6897\u6982&#xff1a; \u5bf9 &#x1d462; \u5f52\u7eb3\u3002&#x1d45b; \u81ea\u5df1\u7684\u6b65\u9aa4\u5206\u4e24\u7c7b\u2014\u2014\u8fed\u4ee3\u843d\u5730\u7c7b&#xff08;L-Iter\/L-Finish\/\u843d\u5730 L-Divert&#xff09;\u4f7f &#x1d454;&#x1d45b;&#043;1 &#061; &#x1d454;&#x1d45b; \u2218 \u210e&#xff0c;\u7ed3\u5408\u89c1\u8bc1\u6761\u4ef6 \u210e(\u03a8&#x1d462;(&#x1d6fe;&#x1d462;)) \u2243 &#x1d6fe;&#x1d462; \u5f97 &#x1d454;&#x1d45b;&#043;1(&#x1d6fe;&#x1d462;&#043;1) \u2248 &#x1d454;&#x1d45b;(&#x1d6fe;&#x1d462;)&#xff0c;\u5f52\u7eb3\u5047\u8bbe\u4e0d\u53d8\u4f20\u9012&#xff1b;\u975e\u843d\u5730\u7c7b&#xff08;L-Leave\/L-Raise\/\u653e\u5f03 L-Divert\/O-Retire&#xff09;\u4f7f &#x1d454;&#x1d45b; \u4e0d\u53d8\u3002&#x1d45a; \u2260 &#x1d45b; \u7684\u6b65\u9aa4\u4f7f &#x1d454;&#x1d45b; \u4e0d\u53d8\u4f46 \u03a8&#x1d462; \u2208 &#x1d510;(&#x1d452;&#x1d45a;)&#xff0c;\u7531\u72ec\u7acb\u6027 &#x1d454;&#x1d45b;(&#x1d6fe;&#x1d462;&#043;1) \u2248 \u03a8&#x1d462;(&#x1d454;&#x1d45b;(&#x1d6fe;&#x1d462;))&#xff0c;\u5f52\u7eb3\u5047\u8bbe\u628a \u03a8&#x1d462; \u8ffd\u52a0\u8fdb\u53bb\u3002\u6574\u4e2a\u8bc1\u660e\u5c31\u662f Theorem 7 \u7684\u8ba1\u7b97\u4e00\u6b65\u4e00\u6b65\u642c\u8fc7\u6765&#xff0c;\u72ec\u7acb\u6027\u5728\u6bcf\u4e2a\u975e &#x1d45b; \u6b65\u9aa4\u5904\u628a &#x1d454;&#x1d45b; \u4e0e \u03a8&#x1d462; \u4ea4\u6362\u3002<\/p>\n<p>Corollary 62&#xff08;\u7ec8\u6001\u6062\u590d&#xff09;\u7684\u542b\u4e49\u3002 \u5f53 episode \u5173\u95ed&#xff08;&#x1d45b; \u7684 L-Unload \u6267\u884c\u4e86&#xff09;&#xff0c;\u7531\u5f15\u740654(4) \u8be5\u6b65\u662f L-Unload&#xff0c;\u7531\u5f15\u740654(3) \u03a8&#x1d462; &#061; &#x1d454;&#x1d45b;&#xff0c;\u6240\u4ee5 &#x1d6fe;&#x1d462;&#043;1 \u2248 &#x1d454;&#x1d45b;(&#x1d6fe;&#x1d462;)&#xff0c;\u76f4\u63a5\u5957 Theorem 61\u3002\u8fd9\u8bf4\u65e0\u8bba &#x1d45b; \u4ee5\u4f55\u79cd\u7ed3\u679c\u7ed3\u675f&#xff08;\u6b63\u5e38\u3001\u88ab\u8f6c\u5411\u3001\u5931\u8d25&#xff09;&#xff0c;\u5b83\u5173\u95ed\u540e\u7559\u4e0b\u7684\u72b6\u6001\u7b49\u4e8e&#034;&#x1d45b; \u4ece\u672a\u5f00\u59cb&#034;\u7684\u72b6\u6001\u2014\u2014\u5931\u8d25\u7ea4\u7ef4\u7684\u8d21\u732e\u4e3a\u96f6\u3002O-Remove \u79fb\u9664\u7684\u7ea4\u7ef4\u4e5f\u4ec0\u4e48\u90fd\u4e0d\u7559\u3002\u8fd9\u662f\u6c47\u5408\u6027&#xff08;4.4.5&#xff09;\u7684\u57fa\u77f3&#xff1a;\u4efb\u4f55\u52a8\u6001\u5386\u53f2\u90fd\u4e0d\u7559\u75d5\u8ff9\u3002<\/p>\n<p>\u72ec\u7acb\u6027\u5982\u4f55\u6d88\u89e3&#xff1f; \u8bba\u6587\u6307\u51fa\u7b2c3.3.2\u8282\u6b63\u662f\u6d88\u89e3\u70b9&#xff1a;\u5982\u679c\u7ec4\u4ef6\u7684\u6bcf\u4e2a\u6548\u5e94\u90fd\u662f\u67d0\u4e2a\u952e\u7684\u64cd\u4f5c\u3001\u4e14\u6bcf\u4e2a\u952e\u90fd\u4ea4\u6362&#xff08;commutative&#xff09;&#xff0c;\u90a3\u4e48\u4efb\u610f\u4e24\u4e2a\u7531\u8fd9\u4e9b\u64cd\u4f5c\u6784\u5efa\u7684\u6548\u5e94\u51fd\u6570\u90fd\u72ec\u7acb&#xff08;Theorem 42&#xff09;\u3002\u534f\u540c\u6548\u5e94\u64cd\u4f5c\u662f\u5b8c\u5168\u65e0\u9700\u5047\u8bbe\u7684\u60c5\u5f62&#xff1a;\u7ec4\u4ef6\u8d21\u732e\u7684\u6620\u5c04\u662f\u96c6\u5408\u64cd\u4f5c&#xff08;\u589e\u5220\u952e\u503c&#xff09;\u4e0e\u76f8\u5e94\u9650\u5236\u7684\u590d\u5408&#xff0c;\u4e24\u4e2a\u8fd9\u6837\u7684\u6620\u5c04\u53ea\u8981\u89e6\u53ca\u4e0d\u76f8\u4ea4\u7684\u952e\u5c31\u4ea4\u6362&#xff0c;\u800c\u5b9a\u4e4958\u7684\u6761\u6b3e(2)&#xff08;\u4f9b\u7ed9\u4e0d\u76f8\u4ea4&#xff09;\u6070\u597d\u4fdd\u8bc1\u4e86\u4e0d\u540c\u7ea4\u7ef4\u89e6\u53ca\u4e0d\u76f8\u4ea4\u7684\u952e\u3002\u8fd9\u662f\u4e00\u4e2a\u7f8e\u5999\u7684\u95ed\u73af&#xff1a;4.1 \u7684\u4f9b\u7ed9\u4e0d\u76f8\u4ea4\u6027 \u2192 \u534f\u540c\u6548\u5e94\u64cd\u4f5c\u81ea\u52a8\u72ec\u7acb \u2192 \u65f6\u95f4\u53ef\u7ec4\u5408\u6027\u81ea\u52a8\u6210\u7acb\u3002\u5de5\u7a0b\u4e0a&#xff0c;\u8fd9\u610f\u5473\u7740\u53ea\u8981\u7ec4\u4ef6\u9075\u5b88&#034;\u53ea\u5199\u81ea\u5df1\u58f0\u660e\u7684\u952e\u3001\u952e\u64cd\u4f5c\u53ef\u4ea4\u6362&#034;\u7684\u7eaa\u5f8b&#xff0c;\u591a\u7ec4\u4ef6\u5e76\u53d1\u4ea4\u9519\u5c31\u4fdd\u8bc1\u6062\u590d\u7cbe\u786e&#xff0c;\u65e0\u9700\u989d\u5916\u7684\u9501\u6216\u534f\u8c03\u3002<\/p>\n<p>\u4e0e Cordis\/DSH \u5b9e\u8df5\u7684\u5bf9\u5e94\u3002 \u8fd9\u6b63\u662f&#034;\u70ed\u91cd\u8f7d\/\u52a8\u6001\u88c5\u5378\u8f7d\u4e0d\u7559\u810f\u72b6\u6001&#034;\u7684\u7406\u8bba\u4fdd\u8bc1&#xff1a;\u4e00\u4e2a\u63d2\u4ef6\u88ab\u88c5\u8f7d\u3001\u8fd0\u884c\u4e00\u6bb5\u65f6\u95f4\u3001\u53c8\u88ab\u5378\u8f7d&#xff0c;\u671f\u95f4\u5176\u4ed6\u63d2\u4ef6\u4e5f\u5728\u5e76\u53d1\u8fd0\u884c\u3001\u6539\u72b6\u6001\u2014\u2014\u4f46\u5378\u8f7d\u540e\u7cfb\u7edf\u72b6\u6001&#xff08;\u9664\u63a7\u5236\u5b57\u6bb5\u5916&#xff09;\u7b49\u540c\u4e8e\u8fd9\u4e2a\u63d2\u4ef6\u4ece\u672a\u88ab\u88c5\u8f7d\u8fc7\u3002\u8fd9\u8ba9&#034;\u53cd\u590d\u88c5\u8f7d-\u5378\u8f7d-\u91cd\u88c5\u8f7d&#034;\u662f\u5b89\u5168\u7684&#xff0c;\u4e0d\u4f1a\u7d2f\u79ef\u6b8b\u7559\u3002\u5b83\u4e5f\u662f\u6545\u969c\u9694\u79bb\u7684\u65f6\u95f4\u7ef4\u5ea6&#xff1a;\u4e00\u4e2a\u5931\u8d25\u7ec4\u4ef6\u7684\u526f\u4f5c\u7528\u88ab\u7cbe\u786e\u56de\u6eda&#xff0c;\u4e0d\u4f1a\u56e0\u4e3a\u522b\u7684\u7ec4\u4ef6\u5728\u4e2d\u95f4\u52a8\u4e86\u72b6\u6001\u800c\u56de\u6eda\u4e0d\u5e72\u51c0\u3002<\/p>\n<hr \/>\n<h3>4.4.3 Spatial Composability \/ \u7a7a\u95f4\u53ef\u7ec4\u5408\u6027<\/h3>\n<h4>\u539f\u6587 (English)<\/h4>\n<p>Local spatial composability holds a component to its own specification, activating it only where its dependencies are provided and classifying every context change against them (Section 3.2.2). The global form adds what quantifies over other fibers: a provider withdraws a binding only after every dependent that resolved it has deactivated, and the resolution a transition installs its effects against does not shift under it. Two properties of the coeffect side deliver the two, proved together as two halves of one invariant, namely the fixity of &#x1d714;&#x1d45b; over an episode that Lemma 54(2) establishes. The ordering theorem is what that fixity buys over the part of the episode in which &#x1d45b; is &#x1d5a0;&#x1d5bc;&#x1d5cd;&#x1d5c2;&#x1d5cf;&#x1d5be; and then &#x1d5b4;&#x1d5c7;&#x1d5c5;&#x1d5c8;&#x1d5ba;&#x1d5bd;&#x1d5c2;&#x1d5c7;&#x1d5c0;, and the coherence theorem what it buys over the part in which &#x1d45b; is installing its effects.<\/p>\n<p>Theorem 63 (Ordering). A fiber begins a transition only where its dependencies are provided:<br \/>\nstep&#x1d461; &#061; L-Begin(&#x1d45a;) \u21d2 &#x1d6fe;&#x1d461; \u22a7 &#x1d451;&#x1d45a;<br \/>\nLet further [&#x1d44f;\u2032, &#x1d462;\u2032] be an episode of &#x1d45a; with &#x1d714;&#x1d44f;\u2032&#x1d45a;(&#x1d458;) &#061; &#x1d45b; for some &#x1d45a; \u2260 &#x1d45b; and &#x1d458; \u2208 &#x1d451;&#x1d45a;, let [&#x1d44f;, &#x1d462;] be the episode of &#x1d45b; containing &#x1d44f;\u2032, and let &#x1d461; range over [&#x1d44f;\u2032, &#x1d462;\u2032]. Then:<\/p>\n<li>&#x1d714;&#x1d461;&#x1d45a;(&#x1d458;) &#061; &#x1d45b;;<\/li>\n<li>&#x1d44f; &lt; &#x1d44f;\u2032, and &#x1d462;\u2032 &lt; &#x1d462; if [&#x1d44f;, &#x1d462;] closes;<\/li>\n<li>&#x1d458; \u2208 dom(&#x1d70e;&#x1d461;&#x1d45b;) and &#x1d70e;&#x1d461;&#x1d45b;(&#x1d458;) &#061; &#x1d70e;&#x1d44f;\u2032&#x1d45b;(&#x1d458;).<\/li>\n<p>Theorem 64 (Resolution coherence). Let an episode [&#x1d44f;, &#x1d462;] of &#x1d45b; open at &#x1d44f; with &#x1d714;&#x1d44f;&#x1d45b; &#061; &#x1d714;. Then &#x1d703;&#x1d45b; is &#x1d5b1;&#x1d5be;&#x1d5c5;&#x1d5c8;&#x1d5ba;&#x1d5bd;&#x1d5c2;&#x1d5c7;&#x1d5c0;(\u2212, \u2212, \u2212) on an initial interval [&#x1d44f;, &#x1d45f;] of the episode, and every iteration of the transition runs against the one resolution &#x1d714;:<br \/>\n\u2200&#x1d461; \u2208 [&#x1d44f;, &#x1d45f;]. step&#x1d461; \u2208 {L-Iter(&#x1d45b;), L-Finish(&#x1d45b;)} \u21d2 target&#x1d461;&#x1d45b; &#061; &#x1d714;<br \/>\nWhere the fiber leaves that interval, so that &#x1d45f; &lt; &#x1d462;, exactly one of the following holds:<\/p>\n<li>step&#x1d45f; &#061; L-Finish(&#x1d45b;) and &#x1d703;&#x1d45f;&#043;1&#x1d45b; &#061; &#x1d5a0;&#x1d5bc;&#x1d5cd;&#x1d5c2;&#x1d5cf;&#x1d5be;(\u2212, &#x1d714;);<\/li>\n<li>step&#x1d45f; \u2208 {L-Divert(&#x1d45b;), L-Raise(&#x1d45b;)}, and the episode closes at some &#x1d462; &gt; &#x1d45f; with &#x1d6fe;&#x1d462;&#043;1 \u2248 (\u03a8&#x1d461;&#x1d459; \u2218 \u22ef \u2218 \u03a8&#x1d461;1)(&#x1d6fe;&#x1d44f;) as in Corollary 62.<\/li>\n<h4>\u4e2d\u6587\u7ffb\u8bd1<\/h4>\n<p>\u5c40\u90e8\u7a7a\u95f4\u53ef\u7ec4\u5408\u6027\u628a\u7ec4\u4ef6\u7ea6\u675f\u5728\u81ea\u5df1\u7684\u89c4\u7ea6\u4e0a&#xff1a;\u53ea\u5728\u4f9d\u8d56\u88ab\u63d0\u4f9b\u5904\u6fc0\u6d3b\u5b83&#xff0c;\u5e76\u628a\u6bcf\u6b21\u4e0a\u4e0b\u6587\u53d8\u66f4\u5bf9\u7167\u4f9d\u8d56\u5206\u7c7b&#xff08;\u7b2c3.2.2\u8282&#xff09;\u3002\u5168\u5c40\u5f62\u5f0f\u52a0\u4e0a\u91cf\u5316\u4e8e\u5176\u4ed6\u7ea4\u7ef4\u7684\u5185\u5bb9&#xff1a;\u4e00\u4e2a\u63d0\u4f9b\u8005\u53ea\u6709\u5728\u5176\u6bcf\u4e2a\u89e3\u6790\u5230\u5b83\u7684\u4f9d\u8d56\u8005\u90fd\u5df2\u53bb\u6fc0\u6d3b\u540e\u624d\u64a4\u56de\u4e00\u4e2a\u7ed1\u5b9a&#xff0c;\u4e14\u4e00\u6b21\u8f6c\u6362\u5b89\u88c5\u6548\u5e94\u6240\u4f9d\u636e\u7684\u89e3\u6790\u4e0d\u5728\u5b83\u5e95\u4e0b\u79fb\u52a8\u3002\u534f\u540c\u6548\u5e94\u4fa7\u7684\u4e24\u4e2a\u6027\u8d28\u7ed9\u51fa\u8fd9\u4e24\u70b9&#xff0c;\u4f5c\u4e3a\u540c\u4e00\u4e0d\u53d8\u5f0f\u2014\u2014\u5f15\u740654(2)\u786e\u7acb\u7684 &#x1d714;&#x1d45b; \u5728\u4e00\u5e55\u4e2d\u7684\u56fa\u5b9a\u6027\u2014\u2014\u7684\u4e24\u534a\u4e00\u8d77\u8bc1\u660e\u3002\u6392\u5e8f\u5b9a\u7406\u662f\u8fd9\u4e00\u56fa\u5b9a\u6027\u5728 &#x1d45b; \u4e3a &#x1d5a0;&#x1d5bc;&#x1d5cd;&#x1d5c2;&#x1d5cf;&#x1d5be; \u7136\u540e &#x1d5b4;&#x1d5c7;&#x1d5c5;&#x1d5c8;&#x1d5ba;&#x1d5bd;&#x1d5c2;&#x1d5c7;&#x1d5c0; \u7684\u90a3\u90e8\u5206\u5e55\u4e0a\u6362\u6765\u7684&#xff0c;\u800c\u76f8\u5e72\u5b9a\u7406\u662f\u5b83\u5728 &#x1d45b; \u5b89\u88c5\u6548\u5e94\u7684\u90a3\u90e8\u5206\u5e55\u4e0a\u6362\u6765\u7684\u3002<\/p>\n<p>\u5b9a\u7406 63&#xff08;\u6392\u5e8f&#xff09;\u3002 \u4e00\u4e2a\u7ea4\u7ef4\u53ea\u5728\u4f9d\u8d56\u88ab\u63d0\u4f9b\u5904\u5f00\u59cb\u8f6c\u6362&#xff1a;<br \/>\nstep&#x1d461; &#061; L-Begin(&#x1d45a;) \u21d2 &#x1d6fe;&#x1d461; \u22a7 &#x1d451;&#x1d45a;<br \/>\n\u8fdb\u4e00\u6b65\u4ee4 [&#x1d44f;\u2032, &#x1d462;\u2032] \u4e3a &#x1d45a; \u7684\u4e00\u5e55&#xff0c;\u5176\u4e2d &#x1d714;&#x1d44f;\u2032&#x1d45a;(&#x1d458;) &#061; &#x1d45b; \u5bf9\u67d0 &#x1d45a; \u2260 &#x1d45b; \u4e0e &#x1d458; \u2208 &#x1d451;&#x1d45a; \u6210\u7acb&#xff0c;\u4ee4 [&#x1d44f;, &#x1d462;] \u4e3a\u542b &#x1d44f;\u2032 \u7684 &#x1d45b; \u7684\u4e00\u5e55&#xff0c;&#x1d461; \u904d\u5386 [&#x1d44f;\u2032, &#x1d462;\u2032]\u3002\u5219&#xff1a;<\/p>\n<li>&#x1d714;&#x1d461;&#x1d45a;(&#x1d458;) &#061; &#x1d45b;&#xff1b;<\/li>\n<li>&#x1d44f; &lt; &#x1d44f;\u2032&#xff0c;\u4e14\u82e5 [&#x1d44f;, &#x1d462;] \u5173\u95ed\u5219 &#x1d462;\u2032 &lt; &#x1d462;&#xff1b;<\/li>\n<li>&#x1d458; \u2208 dom(&#x1d70e;&#x1d461;&#x1d45b;) \u4e14 &#x1d70e;&#x1d461;&#x1d45b;(&#x1d458;) &#061; &#x1d70e;&#x1d44f;\u2032&#x1d45b;(&#x1d458;)\u3002<\/li>\n<p>\u5b9a\u7406 64&#xff08;\u89e3\u6790\u76f8\u5e72\u6027&#xff09;\u3002 \u4ee4 &#x1d45b; \u7684\u4e00\u5e55 [&#x1d44f;, &#x1d462;] \u5728 &#x1d44f; \u5f00\u542f\u4e14 &#x1d714;&#x1d44f;&#x1d45b; &#061; &#x1d714;\u3002\u5219 &#x1d703;&#x1d45b; \u5728\u8be5\u5e55\u7684\u521d\u59cb\u533a\u95f4 [&#x1d44f;, &#x1d45f;] \u4e0a\u4e3a &#x1d5b1;&#x1d5be;&#x1d5c5;&#x1d5c8;&#x1d5ba;&#x1d5bd;&#x1d5c2;&#x1d5c7;&#x1d5c0;(\u2212, \u2212, \u2212)&#xff0c;\u4e14\u8f6c\u6362\u7684\u6bcf\u6b21\u8fed\u4ee3\u90fd\u4f9d\u636e\u540c\u4e00\u4e2a\u89e3\u6790 &#x1d714; \u8fd0\u884c&#xff1a;<br \/>\n\u2200&#x1d461; \u2208 [&#x1d44f;, &#x1d45f;]. step&#x1d461; \u2208 {L-Iter(&#x1d45b;), L-Finish(&#x1d45b;)} \u21d2 target&#x1d461;&#x1d45b; &#061; &#x1d714;<br \/>\n\u5f53\u7ea4\u7ef4\u79bb\u5f00\u8be5\u533a\u95f4&#xff0c;\u5373 &#x1d45f; &lt; &#x1d462; \u65f6&#xff0c;\u6070\u6709\u5176\u4e00\u6210\u7acb&#xff1a;<\/p>\n<li>step&#x1d45f; &#061; L-Finish(&#x1d45b;) \u4e14 &#x1d703;&#x1d45f;&#043;1&#x1d45b; &#061; &#x1d5a0;&#x1d5bc;&#x1d5cd;&#x1d5c2;&#x1d5cf;&#x1d5be;(\u2212, &#x1d714;)&#xff1b;<\/li>\n<li>step&#x1d45f; \u2208 {L-Divert(&#x1d45b;), L-Raise(&#x1d45b;)}&#xff0c;\u4e14\u8be5\u5e55\u5728\u67d0 &#x1d462; &gt; &#x1d45f; \u5904\u5173\u95ed&#xff0c;&#x1d6fe;&#x1d462;&#043;1 \u2248 (\u03a8&#x1d461;&#x1d459; \u2218 \u22ef \u2218 \u03a8&#x1d461;1)(&#x1d6fe;&#x1d44f;) \u5982\u63a8\u8bba62\u3002<\/li>\n<h4>\u8be6\u7ec6\u89e3\u91ca<\/h4>\n<p>\u7a7a\u95f4\u53ef\u7ec4\u5408\u6027&#xff08;spatial composability&#xff09;\u56de\u7b54\u7684\u662f\u8fd9\u4e2a\u5168\u5c40\u95ee\u9898&#xff1a;\u591a\u4e2a\u7ea4\u7ef4\u5e76\u53d1\u5b58\u5728\u65f6&#xff0c;&#034;\u8c01\u8be5\u5148\u6fc0\u6d3b\u3001\u8c01\u8be5\u540e\u5378\u8f7d\u3001\u4f9d\u8d56\u89e3\u6790\u4f1a\u4e0d\u4f1a\u5728\u8f6c\u6362\u4e2d\u9014\u88ab\u6362\u6389&#034;\u8fd9\u4e9b\u8de8\u7ea4\u7ef4\u7684\u56e0\u679c\u7ea6\u675f\u662f\u5426\u6210\u7acb&#xff1f; \u5b83\u7531\u4e24\u4e2a\u5b9a\u7406\u5171\u540c\u4fdd\u8bc1&#xff0c;\u4e8c\u8005\u90fd\u5efa\u7acb\u5728\u5f15\u740654(2)\u7684\u540c\u4e00\u4e0d\u53d8\u5f0f\u4e0a&#xff1a;\u5df2\u63d0\u4ea4\u89c6\u56fe &#x1d714;&#x1d45b; \u5728 &#x1d45b; \u7684\u6574\u4e2a episode \u5185\u4fdd\u6301\u4e0d\u53d8\u3002<\/p>\n<p>Theorem 63&#xff08;\u6392\u5e8f&#xff09;\u6709\u4e09\u5c42\u542b\u4e49\u3002 \u7b2c\u4e00\u5c42\u662f&#034;\u6fc0\u6d3b\u6709\u524d\u63d0&#034;&#xff1a;L-Begin \u53ea\u5728 &#x1d6fe;&#x1d461; \u22a7 &#x1d451;&#x1d45a; \u65f6\u53d1\u751f\u2014\u2014\u5373\u4f9d\u8d56\u90fd\u6ee1\u8db3\u624d\u6fc0\u6d3b&#xff0c;\u8fd9\u662f L-Begin \u524d\u63d0 target \u2260 \u22a5 \u7684\u76f4\u63a5\u8bfb\u51fa\u3002\u7b2c\u4e8c\u5c42\u662f\u6838\u5fc3\u7684&#034;\u63d0\u4f9b\u8005\u6d3b\u8fc7\u6d88\u8d39\u8005&#034;&#xff1a;\u5982\u679c\u4e00\u4e2a\u6d88\u8d39\u8005 &#x1d45a; \u5728\u5176 episode \u4e2d\u628a\u952e &#x1d458; \u89e3\u6790\u5230\u63d0\u4f9b\u8005 &#x1d45b;&#xff0c;\u90a3\u4e48(1)\u6574\u4e2a &#x1d45a; \u7684 episode \u671f\u95f4 &#x1d714;&#x1d45a;(&#x1d458;) \u59cb\u7ec8\u662f &#x1d45b;&#xff08;\u5df2\u63d0\u4ea4\u89c6\u56fe\u4e0d\u53d8&#xff09;&#xff1b;(2) &#x1d45b; \u7684 episode \u4e25\u683c\u5305\u542b &#x1d45a; \u7684\u2014\u2014&#x1d45b; \u5148\u5f00\u59cb&#xff08;&#x1d44f; &lt; &#x1d44f;\u2032&#xff09;\u3001\u540e\u7ed3\u675f&#xff08;&#x1d462;\u2032 &lt; &#x1d462;&#xff09;\u3002\u5373\u63d0\u4f9b\u8005\u4e00\u5b9a\u5148\u4e8e\u6d88\u8d39\u8005\u6fc0\u6d3b\u3001\u540e\u4e8e\u6d88\u8d39\u8005\u5378\u8f7d\u2014\u2014\u8fd9\u6b63\u662f 4.3.1 \u64a4\u56de\u5b88\u536b\u8981\u4ea4\u4ed8\u7684&#034;\u4f9d\u8d56\u53ea\u6709\u5728\u4f9d\u8d56\u8005\u90fd\u53bb\u6fc0\u6d3b\u540e\u624d\u64a4\u56de&#034;\u3002\u7b2c\u4e09\u5c42\u662f&#034;\u503c\u7a33\u5b9a&#034;&#xff1a;\u5728 &#x1d45a; \u7684 episode \u671f\u95f4&#xff0c;&#x1d458; \u5728 &#x1d45b; \u8868\u91cc\u7684\u503c\u4e0d\u53d8&#xff08;&#x1d70e;&#x1d461;&#x1d45b;(&#x1d458;) &#061; &#x1d70e;&#x1d44f;\u2032&#x1d45b;(&#x1d458;)&#xff09;&#xff0c;\u56e0\u4e3a &#x1d45b; \u5728\u6b64\u671f\u95f4\u53ea\u80fd\u662f &#x1d5a0;&#x1d5bc;&#x1d5cd;&#x1d5c2;&#x1d5cf;&#x1d5be; \u6216 &#x1d5b4;&#x1d5c7;&#x1d5c5;&#x1d5c8;&#x1d5ba;&#x1d5bd;&#x1d5c2;&#x1d5c7;&#x1d5c0;&#xff0c;L-Leave \u662f\u552f\u4e00\u53ef\u80fd\u4f5c\u7528\u4e8e\u5b83\u7684\u89c4\u5219\u4e14 \u03a8&#061;id\u0393 \u4e0d\u6539\u8868\u3002<\/p>\n<p>\u8bc1\u660e\u6897\u6982&#xff1a; (1) \u76f4\u63a5\u662f\u5f15\u740654(2)\u3002(2) &#x1d45a; \u7684 L-Begin \u5728 &#x1d44f;\u2032\u22121 \u5199 &#x1d714;&#x1d44f;\u2032&#x1d45a; &#061; target&#xff0c;target \u7684\u503c\u662f\u63d0\u4f9b\u8005&#xff0c;\u6545 &#x1d45b; \u5728 &#x1d44f;\u2032 \u5df2 &#x1d5a0;&#x1d5bc;&#x1d5cd;&#x1d5c2;&#x1d5cf;&#x1d5be;&#xff1b;\u800c &#x1d45b; \u7684 L-Begin \u5728 &#x1d44f;\u22121 \u7559\u4e0b &#x1d5b1;&#x1d5be;&#x1d5c5;&#x1d5c8;&#x1d5ba;&#x1d5bd;&#x1d5c2;&#x1d5c7;&#x1d5c0;&#xff0c;\u6545 &#x1d44f; \u2260 &#x1d44f;\u2032&#xff0c;\u5373 &#x1d44f; &lt; &#x1d44f;\u2032\u3002\u82e5 &#x1d45b; \u7684 episode \u5728 &#x1d462; \u5173\u95ed\u4e14 &#x1d462; \u2264 &#x1d462;\u2032&#xff0c;\u5219 &#x1d462; \u2208 [&#x1d44f;\u2032,&#x1d462;\u2032]&#xff0c;\u7531(1) &#x1d714;&#x1d462;&#x1d45a;(&#x1d458;)&#061;&#x1d45b; \u5373 relied&#x1d462;&#x1d45b;&#xff0c;\u4f46 &#x1d462; \u5904\u7684 L-Unload \u5426\u8ba4 relied\u2014\u2014\u77db\u76fe&#xff0c;\u6545 &#x1d462;\u2032 &lt; &#x1d462;\u3002(3) \u7531(2) &#x1d45b; \u7684 L-Unload \u5728 [&#x1d44f;\u2032,&#x1d462;\u2032] \u4e4b\u5916&#xff0c;\u4e14 &#x1d45b; \u5728 [&#x1d44f;\u2032,&#x1d462;\u2032] \u8d77\u70b9\u5df2\u662f &#x1d5a0;&#x1d5bc;&#x1d5cd;&#x1d5c2;&#x1d5cf;&#x1d5be;&#xff0c;\u6545\u53ea\u6709 L-Leave \u53ef\u80fd\u4f5c\u7528\u4e8e &#x1d45b;&#xff0c;\u5176 \u03a8&#061;id\u0393&#xff0c;\u8868\u4e0d\u53d8\u3002\u6574\u4e2a\u8bc1\u660e\u7684\u529b\u91cf\u6765\u81ea L-Unload \u5b88\u536b \u00ac relied&#xff1a;\u5b83\u6b63\u662f\u963b\u6b62&#034;\u63d0\u4f9b\u8005\u5728\u6d88\u8d39\u8005\u8fd8\u6d3b\u7740\u65f6\u5378\u8f7d&#034;\u7684\u673a\u5236&#xff0c;\u6392\u5e8f\u6027\u662f\u5b88\u536b\u7684\u56de\u62a5\u3002<\/p>\n<p>Theorem 64&#xff08;\u89e3\u6790\u76f8\u5e72\u6027&#xff09;\u89e3\u51b3&#034;\u591a\u9636\u6bb5\u6fc0\u6d3b\u4e2d\u9014\u4f9d\u8d56\u88ab\u6362&#034;\u7684\u95ee\u9898\u3002 \u5b83\u8bf4&#xff1a;&#x1d45b; \u7684 episode \u5f00\u5934\u6709\u4e00\u6bb5 &#x1d5b1;&#x1d5be;&#x1d5c5;&#x1d5c8;&#x1d5ba;&#x1d5bd;&#x1d5c2;&#x1d5c7;&#x1d5c0; \u533a\u95f4 [&#x1d44f;, &#x1d45f;]&#xff0c;\u5728\u8fd9\u6bb5\u91cc\u6bcf\u6b21\u8fed\u4ee3\u90fd\u4f9d\u636e\u540c\u4e00\u4e2a\u89e3\u6790 &#x1d714; \u8fd0\u884c&#xff08;target&#x1d461;&#x1d45b; &#061; &#x1d714;&#xff09;\u3002\u79bb\u5f00\u8fd9\u6bb5\u53ea\u6709\u4e24\u79cd\u60c5\u51b5&#xff1a;\u8981\u4e48 L-Finish \u6210\u529f\u8fdb\u5165 &#x1d5a0;&#x1d5bc;&#x1d5cd;&#x1d5c2;&#x1d5cf;&#x1d5be;(\u2212, &#x1d714;)&#xff08;\u5e26\u7740\u539f\u89e3\u6790\u6fc0\u6d3b&#xff09;&#xff1b;\u8981\u4e48 L-Divert\/L-Raise \u9000\u51fa&#xff0c;episode \u5173\u95ed\u4e14\u6309\u63a8\u8bba62\u51c0\u96f6\u6062\u590d\u3002\u5173\u952e\u5728\u4e8e&#xff1a;\u4e00\u4e2a\u591a\u9636\u6bb5\u8f6c\u6362\u7edd\u4e0d\u4f1a&#034;\u88c5\u4e86\u4e00\u534a\u53d1\u73b0\u89e3\u6790\u53d8\u4e86\u8fd8\u7ee7\u7eed\u88c5&#034;\u2014\u2014L-Iter\/L-Finish \u5e26 target&#061;&#x1d714; \u524d\u63d0&#xff0c;\u4e00\u65e6 target \u504f\u79bb &#x1d714; \u5c31\u8d70 L-Divert \u9000\u51fa\u3002L-Raise \u4e0d\u770b target&#xff08;\u629b\u9519\u662f\u8fed\u4ee3\u81ea\u5df1\u7684\u4e8b&#xff0c;\u4e0d\u662f\u73af\u5883\u8981\u6c42\u7684&#xff09;&#xff0c;\u4efb\u4f55\u60c5\u51b5\u4e0b\u90fd\u9000\u51fa\u8f6c\u6362\u3002\u4e24\u4e2a\u53d8\u5316\u65b9\u5411\u4e0d\u5206\u5f7c\u6b64&#xff1a;\u4f9d\u8d56\u6d88\u5931&#xff08;target \u53d8 \u22a5&#xff09;\u548c\u4f9d\u8d56\u88ab\u66ff\u6362&#xff08;target \u53d8\u522b\u7684\u7ea4\u7ef4&#xff09;\u90fd\u540c\u6837\u4f7f target \u2260 &#x1d714;&#xff0c;\u8d70\u540c\u4e00\u6761\u9000\u51fa\u8def\u5f84\u3002<\/p>\n<p>\u60ef\u6027\u7684\u8fb9\u754c\u3002 \u8bba\u6587\u8bda\u5b9e\u6307\u51fa&#xff1a;\u5982\u679c\u4e00\u6b21\u8fed\u4ee3\u6b63\u5728\u5f02\u6b65\u98de\u884c\u65f6 target \u8f6c\u4e86&#xff0c;\u60ef\u6027\u4f7f\u5b83\u5fc5\u987b\u843d\u5730&#xff08;4.3.3&#xff09;&#xff0c;\u843d\u5730\u7684\u8fed\u4ee3\u88c5\u4e86\u4e00\u4e2a\u4f9d\u636e&#034;\u5df2\u4e0d\u518d\u6210\u7acb&#034;\u7684\u89e3\u6790\u7b97\u51fa\u7684\u6548\u5e94\u3002\u6240\u4ee5\u89c4\u5219\u4ea4\u4ed8\u7684\u662f\u4e00\u4e2a\u6790\u53d6&#xff1a;\u8981\u4e48 target \u6ca1\u53d8\u3001\u88c5\u7684\u662f\u4e00\u81f4\u7684&#xff1b;\u8981\u4e48 target \u53d8\u4e86\u3001\u8d70 L-Divert \u51c0\u96f6\u9000\u51fa\u3002\u7b2c\u4e8c\u4e2a\u5206\u652f\u6b63\u662f\u8ba9\u7b2c\u4e00\u4e2a\u5206\u652f\u5b89\u5168\u7684\u539f\u56e0\u2014\u2014\u6ca1\u6709&#034;\u88c5\u4e86\u4e00\u534a&#034;\u7684\u4e2d\u95f4\u6001\u7559\u5b58\u3002<\/p>\n<p>\u4e0e Cordis\/DSH \u5b9e\u8df5\u7684\u5bf9\u5e94\u3002 \u6392\u5e8f\u5b9a\u7406\u5bf9\u5e94&#034;\u4f9d\u8d56\u89e3\u6790\u7684\u7a33\u5b9a\u6027&#034;&#xff1a;\u4e00\u65e6\u4e00\u4e2a\u7ec4\u4ef6\u6fc0\u6d3b\u65f6\u628a\u5b83\u7684\u4f9d\u8d56\u89e3\u6790\u5230\u5177\u4f53\u5b9e\u4f8b&#xff0c;\u6574\u4e2a\u751f\u547d\u5468\u671f\u91cc\u8fd9\u4e9b\u89e3\u6790\u4e0d\u4f1a\u5077\u5077\u6362\u6389\u2014\u2014\u5b83\u7528\u7684\u59cb\u7ec8\u662f\u540c\u4e00\u4e2a logger\u3001\u540c\u4e00\u4e2a\u6570\u636e\u5e93\u8fde\u63a5\u6c60\u3002\u8fd9\u907f\u514d\u4e86&#034;\u7ec4\u4ef6 A \u7528\u7740 logger v1&#xff0c;\u4e2d\u9014\u7cfb\u7edf\u628a logger \u6362\u6210 v2&#xff0c;A \u8fd8\u4ee5\u4e3a\u81ea\u5df1\u5728\u7528 v1&#034;\u7684\u6df7\u4e71\u3002\u89e3\u6790\u76f8\u5e72\u6027\u5bf9\u5e94&#034;\u591a\u9636\u6bb5\u521d\u59cb\u5316\u7684\u4e00\u81f4\u6027&#034;&#xff1a;\u4e00\u4e2a\u7ec4\u4ef6\u5206\u9636\u6bb5\u6fc0\u6d3b\u65f6&#xff0c;\u6240\u6709\u9636\u6bb5\u90fd\u57fa\u4e8e\u540c\u4e00\u4efd\u4f9d\u8d56\u5feb\u7167&#xff0c;\u4e0d\u4f1a&#034;\u7b2c\u4e00\u9636\u6bb5\u7528 v1\u3001\u7b2c\u4e8c\u9636\u6bb5\u7528 v2&#034;\u3002\u8fd9\u4e8c\u8005\u5408\u8d77\u6765\u5c31\u662f\u7a7a\u95f4\u53ef\u7ec4\u5408\u6027\u2014\u2014\u7ec4\u4ef6\u5728\u7a7a\u95f4\u4e0a&#xff08;\u76f8\u5bf9\u4e8e\u5176\u4ed6\u7ec4\u4ef6&#xff09;\u7684\u884c\u4e3a\u662f\u53ef\u9884\u6d4b\u3001\u4e0d\u968f\u4ed6\u4eba\u52a8\u4f5c\u800c\u6f02\u79fb\u7684\u3002\u8fd9\u4e0e DSH \u7684\u4f9d\u8d56\u6ce8\u5165\u3001\u70ed\u91cd\u8f7d\u4e2d&#034;\u66ff\u6362\u4e00\u4e2a\u670d\u52a1\u8981\u5148\u5378\u8f7d\u6240\u6709\u4f7f\u7528\u8005\u3001\u518d\u88c5\u8f7d\u65b0\u7248\u672c&#034;\u7684\u7eaa\u5f8b\u5b8c\u5168\u5bf9\u5e94\u3002<\/p>\n<hr \/>\n<h3>4.4.4 Progress \/ \u8fdb\u5c55\u6027<\/h3>\n<h4>\u539f\u6587 (English)<\/h4>\n<p>A guard that defers a provider\u2019s withdrawal until its dependents are gone delivers Theorem 63 only if it eventually releases. One relation on the fibers of a registry carries the argument.<\/p>\n<p>Definition 65. The precedence relation on the names of a registry is<br \/>\n&#x1d45b; \u227a &#x1d45a; \u2254 &#x1d45d;&#x1d45b; \u2229 &#x1d451;&#x1d45a; \u2260 \u2300<br \/>\nso that &#x1d45b; may provide a key &#x1d45a; declares. It reads &#x1d451; and &#x1d45d; alone, which by Lemma 54(5) come into existence with a fiber\u2019s entry and are never written again.<\/p>\n<p>Theorem 66 and Theorem 73 are established on the hypothesis that \u227a is acyclic, which is an assumption and not something the definition delivers, &#x1d45b; \u227a &#x1d45b; holding of a component that declares a key it provides itself. What \u227a orders is the two fibers\u2019 activations and not their lifetimes: &#x1d45b; \u227a &#x1d45a; says that &#x1d45b; has to become &#x1d5a0;&#x1d5bc;&#x1d5cd;&#x1d5c2;&#x1d5cf;&#x1d5be; before &#x1d45a; can, whereas that a provider outlives its consumer is Theorem 63(2).<\/p>\n<p>Theorem 66 (Progress). Assume \u227a acyclic, len(&#x1d452;&#x1d45b;) \u2264 &#x1d43e; for every &#x1d45b;, and the set &#x1d441; of names finite; and let every step apply a lifecycle rule. Write &#x1d446;(&#x1d45b;) for the number of steps acting on &#x1d45b; and &#x1d449;(&#x1d45b;) \u2254 |{&#x1d461; : target&#x1d461;&#x1d45b; \u2260 target&#x1d461;&#043;1&#x1d45b;}| for the number of times its target view turns. Then:<\/p>\n<li>(No deadlock.) \u00ac quiet&#x1d461; implies that some lifecycle rule applies at &#x1d6fe;&#x1d461;;<\/li>\n<li>(Termination.) &#x1d446;(&#x1d45b;) \u2264 (&#x1d43e; &#043; 4)(&#x1d449;(&#x1d45b;) &#043; 1), and both &#x1d449;(&#x1d45b;) and \u2211&#x1d45b; &#x1d446;(&#x1d45b;) are finite.<br \/>\nConsequently every maximal sequence of lifecycle steps ends in a quiescent state.<\/li>\n<p>Finiteness of &#x1d441; is assumed rather than derived, and one condition on the components delivers it. The components a host holds are finitely many programs given before anything runs, so if no component can register, however indirectly, a fiber of a component that registers one of its own, the registrations form a tree of bounded depth, and len(&#x1d452;&#x1d45b;) \u2264 &#x1d43e; bounds its branching. What the assumption rules out is a component that registers instances of itself without bound.<\/p>\n<h4>\u4e2d\u6587\u7ffb\u8bd1<\/h4>\n<p>\u4e00\u4e2a\u628a\u63d0\u4f9b\u8005\u64a4\u56de\u63a8\u8fdf\u5230\u5176\u4f9d\u8d56\u8005\u90fd\u79bb\u5f00\u7684\u5b88\u536b&#xff0c;\u53ea\u6709\u5728\u5b83\u6700\u7ec8\u91ca\u653e\u65f6\u624d\u4ea4\u4ed8\u5b9a\u740663\u3002\u6ce8\u518c\u8868\u7ea4\u7ef4\u4e0a\u7684\u4e00\u4e2a\u5173\u7cfb\u627f\u8f7d\u8be5\u8bba\u8bc1\u3002<\/p>\n<p>\u5b9a\u4e49 65\u3002 \u6ce8\u518c\u8868\u540d\u4e0a\u7684\u5148\u5e8f\u5173\u7cfb&#xff08;precedence relation&#xff09;\u4e3a<br \/>\n&#x1d45b; \u227a &#x1d45a; \u2254 &#x1d45d;&#x1d45b; \u2229 &#x1d451;&#x1d45a; \u2260 \u2300<br \/>\n\u5373 &#x1d45b; \u53ef\u80fd\u63d0\u4f9b &#x1d45a; \u58f0\u660e\u7684\u952e\u3002\u5b83\u53ea\u8bfb &#x1d451; \u4e0e &#x1d45d;&#xff0c;\u800c\u7531\u5f15\u740654(5) \u4e8c\u8005\u968f\u7ea4\u7ef4\u6761\u76ee\u4ea7\u751f\u4e14\u4e0d\u518d\u88ab\u5199\u3002<\/p>\n<p>\u5b9a\u740666\u4e0e\u5b9a\u740673\u5efa\u7acb\u5728 \u227a \u65e0\u73af\u7684\u5047\u8bbe\u4e0a&#xff0c;\u8fd9\u662f\u4e00\u4e2a\u5047\u8bbe\u800c\u975e\u5b9a\u4e49\u6240\u4ea4\u4ed8\u7684\u2014\u2014\u58f0\u660e\u4e00\u4e2a\u81ea\u5df1\u63d0\u4f9b\u7684\u952e\u7684\u7ec4\u4ef6\u6ee1\u8db3 &#x1d45b; \u227a &#x1d45b;\u3002\u227a \u6392\u5e8f\u7684\u662f\u4e24\u4e2a\u7ea4\u7ef4\u7684\u6fc0\u6d3b\u800c\u975e\u5176\u5bff\u547d&#xff1a;&#x1d45b; \u227a &#x1d45a; \u8bf4\u7684\u662f &#x1d45b; \u5fc5\u987b\u5148\u4e8e &#x1d45a; \u6210\u4e3a &#x1d5a0;&#x1d5bc;&#x1d5cd;&#x1d5c2;&#x1d5cf;&#x1d5be;&#xff0c;\u800c\u63d0\u4f9b\u8005\u6bd4\u6d88\u8d39\u8005\u957f\u5bff\u5219\u662f\u5b9a\u740663(2)\u3002<\/p>\n<p>\u5b9a\u7406 66&#xff08;\u8fdb\u5c55\u6027&#xff09;\u3002 \u5047\u8bbe \u227a \u65e0\u73af\u3001\u6bcf\u4e2a &#x1d45b; \u7684 len(&#x1d452;&#x1d45b;) \u2264 &#x1d43e;\u3001\u540d\u96c6\u5408 &#x1d441; \u6709\u9650&#xff1b;\u4e14\u6bcf\u6b65\u5e94\u7528\u4e00\u6761\u751f\u547d\u5468\u671f\u89c4\u5219\u3002\u8bb0 &#x1d446;(&#x1d45b;) \u4e3a\u4f5c\u7528\u4e8e &#x1d45b; \u7684\u6b65\u6570&#xff0c;&#x1d449;(&#x1d45b;) \u2254 |{&#x1d461; : target&#x1d461;&#x1d45b; \u2260 target&#x1d461;&#043;1&#x1d45b;}| \u4e3a\u5176\u76ee\u6807\u89c6\u56fe\u8f6c\u6298\u6b21\u6570\u3002\u5219&#xff1a;<br \/>\n1.&#xff08;\u65e0\u6b7b\u9501&#xff09;\u00ac quiet&#x1d461; \u8574\u542b\u67d0\u6761\u751f\u547d\u5468\u671f\u89c4\u5219\u5728 &#x1d6fe;&#x1d461; \u53ef\u5e94\u7528&#xff1b;<br \/>\n2.&#xff08;\u7ec8\u6b62\u6027&#xff09;&#x1d446;(&#x1d45b;) \u2264 (&#x1d43e; &#043; 4)(&#x1d449;(&#x1d45b;) &#043; 1)&#xff0c;\u4e14 &#x1d449;(&#x1d45b;) \u4e0e \u2211&#x1d45b; &#x1d446;(&#x1d45b;) \u5747\u6709\u9650\u3002<br \/>\n\u7531\u6b64\u6bcf\u6761\u6781\u5927\u7684\u751f\u547d\u5468\u671f\u6b65\u9aa4\u5e8f\u5217\u7ec8\u6b62\u4e8e\u4e00\u4e2a\u9759\u6b62\u72b6\u6001\u3002<\/p>\n<p>&#x1d441; \u7684\u6709\u9650\u6027\u662f\u5047\u8bbe\u800c\u975e\u5bfc\u51fa&#xff0c;\u7ec4\u4ef6\u4e0a\u7684\u4e00\u4e2a\u6761\u4ef6\u4ea4\u4ed8\u5b83\u3002\u5bbf\u4e3b\u6301\u6709\u7684\u7ec4\u4ef6\u662f\u8fd0\u884c\u524d\u7ed9\u5b9a\u7684\u6709\u9650\u591a\u4e2a\u7a0b\u5e8f&#xff0c;\u6240\u4ee5\u82e5\u6ca1\u6709\u7ec4\u4ef6\u80fd&#xff08;\u65e0\u8bba\u591a\u95f4\u63a5\u5730&#xff09;\u6ce8\u518c\u4e00\u4e2a\u4f1a\u6ce8\u518c\u81ea\u8eab\u7684\u7ec4\u4ef6\u7684\u7ea4\u7ef4&#xff0c;\u5219\u6ce8\u518c\u5f62\u6210\u4e00\u68f5\u6709\u754c\u6df1\u5ea6\u7684\u6811&#xff0c;len(&#x1d452;&#x1d45b;) \u2264 &#x1d43e; \u7ea6\u675f\u5176\u5206\u652f\u5ea6\u3002\u8be5\u5047\u8bbe\u6392\u9664\u7684\u662f\u65e0\u754c\u5730\u6ce8\u518c\u81ea\u8eab\u5b9e\u4f8b\u7684\u7ec4\u4ef6\u3002<\/p>\n<h4>\u8be6\u7ec6\u89e3\u91ca<\/h4>\n<p>\u8fdb\u5c55\u6027&#xff08;progress&#xff09;\u56de\u7b54\u4e24\u4e2a\u5173\u952e\u95ee\u9898&#xff1a;\u7cfb\u7edf\u4f1a\u4e0d\u4f1a\u5361\u6b7b&#xff08;deadlock&#xff09;&#xff1f;\u7cfb\u7edf\u4f1a\u4e0d\u4f1a\u65e0\u9650\u8fd0\u884c\u4e0d\u505c\u4e0b\u6765&#xff08;nontermination&#xff09;&#xff1f; \u8fd9\u662f 4.3.1 \u64a4\u56de\u5b88\u536b\u80fd\u6210\u7acb\u7684\u524d\u63d0\u2014\u2014\u5b88\u536b&#034;\u7b49\u4f9d\u8d56\u8005\u79bb\u5f00&#034;\u5982\u679c\u6c38\u8fdc\u4e0d\u91ca\u653e&#xff0c;\u5c31\u6b7b\u9501\u4e86\u3002Theorem 66 \u8bc1\u660e&#xff1a;\u5728\u5408\u7406\u5047\u8bbe\u4e0b&#xff0c;\u65e2\u4e0d\u6b7b\u9501\u4e5f\u5fc5\u7ec8\u6b62&#xff0c;\u4e14\u6bcf\u6761\u6781\u5927\u6b65\u9aa4\u5e8f\u5217\u90fd\u6536\u655b\u5230\u9759\u6b62\u72b6\u6001\u3002<\/p>\n<p>\u5148\u5e8f\u5173\u7cfb \u227a \u662f\u8bba\u8bc1\u7684\u5de5\u5177\u3002 &#x1d45b; \u227a &#x1d45a; \u5b9a\u4e49\u4e3a&#034;&#x1d45b; \u7684\u4f9b\u7ed9\u4e0e &#x1d45a; \u7684\u4f9d\u8d56\u6709\u4ea4\u96c6&#034;\u2014\u2014\u5373 &#x1d45b; \u53ef\u80fd\u662f &#x1d45a; \u7684\u63d0\u4f9b\u8005\u3002\u5b83\u53ea\u8bfb &#x1d451; \u548c &#x1d45d;&#xff0c;\u800c\u8fd9\u4e24\u4e2a\u5b57\u6bb5\u968f\u7ea4\u7ef4\u8bde\u751f\u5c31\u4e0d\u518d\u53d8&#xff08;\u5f15\u740654(5)&#xff09;&#xff0c;\u6240\u4ee5 \u227a \u5728\u8fd0\u884c\u4e2d\u662f\u7a33\u5b9a\u7684\u3002\u8bba\u6587\u8bda\u5b9e\u5730\u6307\u51fa \u227a \u65e0\u73af\u662f\u4e00\u4e2a\u5047\u8bbe\u800c\u975e\u5b9a\u4e49\u4fdd\u8bc1\u7684&#xff1a;\u4e00\u4e2a\u58f0\u660e\u4e86\u81ea\u5df1\u63d0\u4f9b\u7684\u952e\u7684\u7ec4\u4ef6\u6ee1\u8db3 &#x1d45b; \u227a &#x1d45b;&#xff08;\u81ea\u73af&#xff09;\u3002\u227a \u6392\u5e8f\u7684\u662f&#034;\u6fc0\u6d3b\u987a\u5e8f&#034;&#xff08;&#x1d45b; \u8981\u5148 &#x1d5a0;&#x1d5bc;&#x1d5cd;&#x1d5c2;&#x1d5cf;&#x1d5be; \u624d\u80fd\u8f6e\u5230 &#x1d45a;&#xff09;&#xff0c;\u4e0d\u662f&#034;\u5bff\u547d&#034;&#xff08;\u63d0\u4f9b\u8005\u6bd4\u6d88\u8d39\u8005\u957f\u5bff\u662f Theorem 63(2) \u7684\u7ed3\u8bba&#xff0c;\u662f\u5b88\u536b\u6362\u6765\u7684&#xff0c;\u4e0d\u662f \u227a \u7ed9\u7684&#xff09;\u3002\u8fd9\u4e2a\u533a\u5206\u5f88\u91cd\u8981&#xff1a;\u8fdb\u5c55\u6027\u5047\u8bbe\u7684\u662f\u6fc0\u6d3b\u65e0\u73af&#xff0c;\u800c&#034;\u63d0\u4f9b\u8005\u540e\u6b7b&#034;\u662f\u5b9a\u7406\u8bc1\u660e\u7684\u3002<\/p>\n<p>\u65e0\u6b7b\u9501\u7684\u8bc1\u660e\u6897\u6982\u3002 \u8bbe \u00ac quiet&#x1d461;&#xff0c;\u5219\u6709\u67d0\u7ea4\u7ef4\u6ca1\u5bf9\u9f50\u76ee\u6807\u3002\u6309 &#x1d703;&#x1d45b; \u7684\u56db\u79cd\u53ef\u80fd\u9010\u4e00\u67e5\u8868&#xff1a;&#x1d5a8;&#x1d5c7;&#x1d5ba;&#x1d5bc;&#x1d5cd;&#x1d5c2;&#x1d5cf;&#x1d5be;(\u22a5) \u4e14 target\u2260\u22a5 \u2192 L-Begin \u53ef\u7528&#xff1b;&#x1d5b1;&#x1d5be;&#x1d5c5;&#x1d5c8;&#x1d5ba;&#x1d5bd;&#x1d5c2;&#x1d5c7;&#x1d5c0; \u4e14 target&#061;&#x1d714; \u2192 L-Iter\/L-Finish\/L-Raise \u4e4b\u4e00\u53ef\u7528&#xff1b;&#x1d5b1;&#x1d5be;&#x1d5c5;&#x1d5c8;&#x1d5ba;&#x1d5bd;&#x1d5c2;&#x1d5c7;&#x1d5c0; \u4e14 target\u2260&#x1d714; \u2192 L-Raise&#xff08;\u82e5\u629b\u9519&#xff09;\u6216 L-Divert&#xff08;\u843d\u5730\u5f0f&#xff0c;\u60ef\u6027\u5bbf\u4e3b\u4e5f\u53ef\u7528&#xff09;&#xff1b;&#x1d5a0;&#x1d5bc;&#x1d5cd;&#x1d5c2;&#x1d5cf;&#x1d5be; \u4e14 target\u2260&#x1d714; \u2192 L-Leave \u53ef\u7528\u3002\u82e5\u6ca1\u6709\u4efb\u4f55\u7ea4\u7ef4\u5904\u4e8e\u8fd9\u56db\u79cd&#xff0c;\u5219\u5fc5\u6709\u67d0 &#x1d45a;0 \u5904\u4e8e &#x1d5b4;&#x1d5c7;&#x1d5c5;&#x1d5c8;&#x1d5ba;&#x1d5bd;&#x1d5c2;&#x1d5c7;&#x1d5c0;\u3002\u5173\u952e\u7684\u53cd\u6b7b\u9501\u8bba\u8bc1\u4ece\u8fd9\u91cc\u5f00\u59cb&#xff1a;\u82e5 \u00ac relied&#x1d45a;0&#xff0c;\u5219 L-Unload \u53ef\u7528&#xff0c;\u505c\u3002\u5426\u5219\u5b58\u5728 &#x1d45a;1 \u2260 &#x1d45a;0 \u628a\u67d0\u952e\u89e3\u6790\u5230 &#x1d45a;0&#xff0c;\u7531 Theorem 63(3) \u8be5\u952e \u2208 &#x1d45d;&#x1d45a;0 \u2229 &#x1d451;&#x1d45a;1&#xff0c;\u5373 &#x1d45a;0 \u227a &#x1d45a;1&#xff1b;\u4e14 &#x1d45a;0 \u662f &#x1d5b4;&#x1d5c7;&#x1d5c5;&#x1d5c8;&#x1d5ba;&#x1d5bd;&#x1d5c2;&#x1d5c7;&#x1d5c0;&#xff08;\u4e0d\u5728 &#x1d70e;&#x1d6fe; \u4e2d&#xff09;&#xff0c;\u6545 &#x1d45a;1 \u7684 target \u5df2\u4e0d\u6307\u5411 &#x1d45a;0&#xff0c;&#x1d45a;1 \u4e5f\u5fc5\u5904\u4e8e &#x1d5b4;&#x1d5c7;&#x1d5c5;&#x1d5c8;&#x1d5ba;&#x1d5bd;&#x1d5c2;&#x1d5c7;&#x1d5c0;\u3002\u4e8e\u662f\u6784\u9020\u4e00\u6761 &#x1d45a;0 \u227a &#x1d45a;1 \u227a &#x1d45a;2 \u227a \u2026 \u7684\u94fe&#xff0c;\u6bcf\u6b65\u4e25\u683c \u227a \u9012\u589e\u3002\u7531 \u227a \u65e0\u73af&#xff0c;\u94fe\u4e2d\u6240\u6709\u540d\u4e92\u4e0d\u76f8\u540c&#xff1b;\u7531 dom(&#x1d439;&#x1d461;) \u6709\u9650&#xff0c;\u94fe\u5fc5\u7ec8\u6b62\u2014\u2014\u7ec8\u6b62\u5904\u5373 \u00ac relied&#xff0c;L-Unload \u53ef\u7528\u3002\u8fd9\u5c31\u662f 4.3.1 \u6240\u8bf4\u7684&#034;\u5b88\u536b\u603b\u4f1a\u91ca\u653e&#034;\u7684\u5f62\u5f0f\u5316&#xff1a;\u6cbf\u7740\u4f9d\u8d56\u56fe\u5f80\u4e0a\u627e&#xff0c;\u65e0\u73af &#043; \u6709\u9650\u4fdd\u8bc1\u80fd\u627e\u5230\u4e00\u4e2a\u65e0\u4eba\u4f9d\u8d56\u7684 &#x1d5b4;&#x1d5c7;&#x1d5c5;&#x1d5c8;&#x1d5ba;&#x1d5bd;&#x1d5c2;&#x1d5c7;&#x1d5c0; \u7ea4\u7ef4&#xff0c;\u89e3\u9501\u6574\u6761\u94fe\u3002<\/p>\n<p>\u7ec8\u6b62\u6027\u7684\u8bc1\u660e\u6897\u6982\u3002 \u4e24\u4e2a\u65ad\u8a00\u754c\u4f4f &#x1d446;(&#x1d45b;)\u3002(A) \u5728 target&#x1d45b; \u6052\u4e3a &#x1d714;\u2217 \u7684\u6781\u5927\u533a\u95f4\u5185&#xff0c;\u4f5c\u7528\u4e8e &#x1d45b; \u7684\u6b65\u6570\u81f3\u591a &#x1d43e;&#043;4&#xff1a;\u4ece &#x1d5a0;&#x1d5bc;&#x1d5cd;&#x1d5c2;&#x1d5cf;&#x1d5be;(\u2212,&#x1d714;\u2260&#x1d714;\u2217) \u8d70 L-Leave&#043;L-Unload&#xff0c;\u82e5 &#x1d714;\u2217\u2260\u22a5 \u518d L-Begin&#043;\u81f3\u591a &#x1d43e; \u6b21\u843d\u5730&#043;\u53ef\u80fd\u4e00\u6b21\u989d\u5916 L-Unload&#xff08;\u82e5\u672b\u6b21\u843d\u5730\u662f L-Raise&#xff09;&#xff1b;\u5176\u4ed6\u72b6\u6001\u662f\u5176\u540e\u7f00\u3002(B) \u82e5 target&#x1d45b; \u5728\u7b2c &#x1d461; \u6b65\u8f6c\u6298\u4e14\u8be5\u6b65\u4f5c\u7528\u4e8e &#x1d45a;&#xff0c;\u5219\u8981\u4e48 &#x1d45a; \u227a &#x1d45b;&#xff08;&#x1d45a; \u662f &#x1d45b; \u67d0\u4f9d\u8d56\u7684\u63d0\u4f9b\u8005&#xff09;&#xff0c;\u8981\u4e48\u8be5\u6b65\u5199 &#x1d70f;&#x1d45b;\u2014\u2014\u56e0\u4e3a target \u53ea\u4f9d\u8d56 &#x1d70f;&#x1d45b; \u4e0e\u5404\u63d0\u4f9b\u8005\u7684\u8868&#xff0c;\u8868\u53ea\u5728\u81ea\u8eab\u7ea4\u7ef4\u88ab\u4f5c\u7528\u65f6\u53d8\u3002\u7531\u65e0\u73af &#x1d45a;\u2260&#x1d45b;&#xff08;\u7b2c\u4e00\u79cd&#xff09;&#xff0c;\u7531 &#x1d70f; \u5355\u8c03\u7b2c\u4e8c\u79cd\u6bcf\u7ea4\u7ef4\u81f3\u591a\u4e00\u6b21\u3002\u7efc\u5408 (A)(B)&#xff1a;&#x1d446;(&#x1d45b;) \u2264 (&#x1d43e;&#043;4)(&#x1d449;(&#x1d45b;)&#043;1)&#xff0c;\u4e14 &#x1d449;(&#x1d45b;) \u2264 1 &#043; \u2211&#x1d45a;\u227a&#x1d45b; &#x1d446;(&#x1d45a;)\u3002\u8fd9\u662f\u4e00\u4e2a\u6cbf\u65e0\u73af \u227a \u7684\u826f\u57fa\u9012\u5f52&#xff0c;\u5b9a\u4e49 &#x1d435;(&#x1d45b;) &#061; (&#x1d43e;&#043;4)(2 &#043; \u2211&#x1d45a;\u227a&#x1d45b; &#x1d435;(&#x1d45a;)) \u754c\u4f4f &#x1d446;(&#x1d45b;)&#xff0c;\u6545 &#x1d449;(&#x1d45b;) \u4e0e \u2211&#x1d45b; &#x1d446;(&#x1d45b;) \u90fd\u6709\u9650\u3002\u7ed3\u5408\u65e0\u6b7b\u9501&#xff0c;\u6bcf\u6761\u4e0d\u53ef\u6269\u5c55\u7684\u5e8f\u5217\u5fc5\u9759\u6b62\u3002<\/p>\n<p>\u8fdb\u5c55\u6027\u7684\u5de5\u7a0b\u542b\u4e49\u3002 \u8fd9\u662f\u6574\u4e2a\u52a8\u6001\u7ec4\u5408\u7cfb\u7edf\u7684&#034;\u6d3b\u6027&#034;&#xff08;liveness&#xff09;\u4fdd\u8bc1&#xff1a;\u7cfb\u7edf\u4e0d\u4f1a\u56e0\u4e3a\u590d\u6742\u7684\u4f9d\u8d56\u5173\u7cfb\u800c\u5361\u6b7b&#xff0c;\u4e5f\u4e0d\u4f1a\u56e0\u4e3a\u53cd\u590d\u91cd\u8f7d\u800c\u65e0\u9650\u9707\u8361\u3002&#x1d449;(&#x1d45b;) \u6709\u9650\u610f\u5473\u7740\u6bcf\u4e2a\u7ea4\u7ef4\u7684\u76ee\u6807\u89c6\u56fe\u53ea\u4f1a\u8f6c\u6298\u6709\u9650\u6b21\u2014\u2014\u8fd9\u80cc\u540e\u662f &#x1d70f; \u5355\u8c03&#xff08;\u6bcf\u4e2a\u7ea4\u7ef4\u81f3\u591a\u88ab\u9000\u5f79\u4e00\u6b21&#xff09;\u548c \u227a \u65e0\u73af&#xff08;\u4f9d\u8d56\u63d0\u4f9b\u8005\u7684\u8f6c\u6298\u6b21\u6570\u88ab\u63d0\u4f9b\u8005\u7684\u6b65\u6570\u754c\u4f4f&#xff09;\u3002\u7ec8\u6b62\u6027\u8bf4\u7cfb\u7edf\u6700\u7ec8\u4f1a&#034;\u5b89\u9759\u4e0b\u6765&#034;\u8fbe\u5230\u9759\u6b62\u72b6\u6001\u3002\u8fd9\u4e0e Cordis\/DSH \u7684\u5b9e\u8df5\u5bf9\u5e94&#xff1a;\u88c5\u8f7d\/\u5378\u8f7d\u4e00\u5806\u76f8\u4e92\u4f9d\u8d56\u7684\u7ec4\u4ef6\u540e&#xff0c;\u7cfb\u7edf\u4e00\u5b9a\u4f1a\u7a33\u5b9a\u5230\u4e00\u4e2a\u4e00\u81f4\u72b6\u6001&#xff0c;\u4e0d\u4f1a\u6c38\u8fdc\u5728&#034;\u88c5\u8f7d-\u5378\u8f7d&#034;\u9707\u8361\u6216\u6b7b\u9501\u7b49\u5f85\u3002\u65e0\u73af\u5047\u8bbe\u6392\u9664&#034;\u5faa\u73af\u4f9d\u8d56&#034;&#xff08;A \u4f9d\u8d56 B\u3001B \u53c8\u4f9d\u8d56 A&#xff09;\u2014\u2014\u8fd9\u662f\u4f9d\u8d56\u6ce8\u5165\u7cfb\u7edf\u7684\u6807\u51c6\u8981\u6c42&#xff1b;\u6709\u9650\u6027\u5047\u8bbe\u6392\u9664&#034;\u7ec4\u4ef6\u65e0\u9650\u81ea\u6211\u7e41\u6b96&#034;\u2014\u2014\u4e00\u4e2a\u4f1a\u65e0\u9650\u5236\u6ce8\u518c\u81ea\u8eab\u5b9e\u4f8b\u7684\u7ec4\u4ef6\u4f1a\u8ba9 &#x1d441; \u65e0\u9650\u589e\u957f\u3002<\/p>\n<p>\u60ef\u6027\u7684\u517c\u5bb9\u6027\u3002 \u8bba\u6587\u7279\u522b\u6307\u51fa\u8fdb\u5c55\u6027\u53ea\u8981\u6c42\u5bbf\u4e3b\u63d0\u4f9b L-Begin\/L-Leave\/L-Unload\/L-Iter\/L-Finish\/L-Raise\/L-Divert&#xff0c;\u4ece\u4e0d\u8981\u6c42 L-Divert \u7684\u653e\u5f03\u5206\u652f\u2014\u2014\u6240\u4ee5\u53d7 4.3.3 \u60ef\u6027\u7ea6\u675f&#xff08;\u4e0d\u80fd\u653e\u5f03\u98de\u884c\u4e2d\u8fed\u4ee3&#xff09;\u7684\u5f02\u6b65\u5bbf\u4e3b\u4e5f\u5b8c\u5168\u5728\u8fdb\u5c55\u6027\u4fdd\u8bc1\u4e4b\u5185\u3002\u8fd9\u662f\u4e00\u4e2a\u7cbe\u5fc3\u8bbe\u8ba1\u7684\u8986\u76d6&#xff1a;\u5f02\u6b65\u73b0\u5b9e\u8fd0\u884c\u65f6\u4e5f\u80fd\u5f97\u5230\u6d3b\u6027\u4fdd\u8bc1\u3002<\/p>\n<hr \/>\n<h3>4.4.5 Confluence \/ \u6c47\u5408\u6027<\/h3>\n<h4>\u539f\u6587 (English)<\/h4>\n<p>The results so far are about individual fibers. The property that characterizes the system as a whole is that its dynamic history leaves no trace: whatever sequence of activations and deactivations a running system has been through, the state it quiesces at is the one the same insertions and retirements would have produced had each component that ends up active been loaded once, in dependency order, and none ever unloaded. The lifecycle relation is confluent, and the normal form it converges on is the statically assembled one. This is the analogue, for dynamic composition, of the consistency with a from-scratch evaluation that change propagation establishes for incremental computation [45].<\/p>\n<p>Definition 67. A fiber is supported at &#x1d6fe; when it is not retired, the fiber registering it is supported, and every key it declares is provided by a supported fiber. The support relation is the union &#x1d45a; \u22b2 &#x1d45b; \u2254 &#x1d45a; \u227a &#x1d45b; \u2228 &#x1d70b;&#x1d45b; &#061; &#x1d45a;, and where well founded we write &#x1d434; for the support set: &#x1d45b; \u2208 &#x1d434; \u2254 \u00ac&#x1d70f;&#x1d45b; \u2227 (&#x1d70b;&#x1d45b; &#061; &#x1d5cb;&#x1d5c8;&#x1d5c8;&#x1d5cd; \u2228 &#x1d70b;&#x1d45b; \u2208 &#x1d434;) \u2227 \u2200&#x1d458; \u2208 &#x1d451;&#x1d45b;. \u2203&#x1d45a; \u2208 &#x1d434;. &#x1d458; \u2208 &#x1d45d;&#x1d45a;.<\/p>\n<p>Lemma 68 (Support is well founded). Let \u227a be acyclic and let &#x1d6fe; be reached by a sequence of steps. Then \u22b2 is well founded, and &#x1d434; is the one solution of Definition 67, a function of &#x1d70f;, &#x1d70b;, &#x1d451;, and &#x1d45d; alone.<\/p>\n<p>Definition 69. A component (&#x1d451;, &#x1d45d;, &#x1d452;) is total on its provision when an activation of it that finishes has installed every key of &#x1d45d;, so that dom(&#x1d70e;&#x1d45b;) &#061; &#x1d45d;&#x1d45b; at every &#x1d5a0;&#x1d5bc;&#x1d5cd;&#x1d5c2;&#x1d5cf;&#x1d5be; fiber instantiating it.<\/p>\n<p>Lemma 70 (Support at quiescence). Let \u227a be acyclic, let quiet(&#x1d6fe;), let no fiber of &#x1d6fe; be failed, and let every component be total on its provision. Then the support set is the set of &#x1d5a0;&#x1d5bc;&#x1d5cd;&#x1d5c2;&#x1d5cf;&#x1d5be; fibers: &#x1d434; &#061; {&#x1d45b; : &#x1d703;&#x1d45b; &#061; &#x1d5a0;&#x1d5bc;&#x1d5cd;&#x1d5c2;&#x1d5cf;&#x1d5be;(\u2212, \u2212)}.<\/p>\n<p>Lemma 71 (Transposition). Let the steps be pairwise independent and &#x1d439;&#x1d461; well formed, and let steps &#x1d461; and &#x1d461;&#043;1 act on distinct fibers &#x1d45a; and &#x1d45b;. (1) If both apply an activation rule (L-Begin, L-Iter, or L-Finish), and step &#x1d461;&#043;1 is applicable at &#x1d6fe;&#x1d461;, then step &#x1d461; is applicable at the state step &#x1d461;&#043;1 produces, and the two orders reach the same &#x1d6fe;&#x1d461;&#043;2. (2) If step &#x1d461; applies an activation rule at &#x1d45a;, step &#x1d461;&#043;1 an orchestration rule at &#x1d45b;, and step &#x1d461; does not register &#x1d45b;, then the same holds.<\/p>\n<p>Lemma 72 (Deletion). Let the sequence be pairwise independent, every component total on its provision, let it reach a quiescent &#x1d6fe;&#x1d447; at which no fiber is failed, let [&#x1d44f;, &#x1d462;] be a closing episode of &#x1d45b;, let no episode of any &#x1d45a; with &#x1d45b; \u227a &#x1d45a; close, and let no fiber &#x1d45b; registers during [&#x1d44f;, &#x1d462;] have an episode. Write &#x1d445; for those registration names. Then deleting the steps acting on &#x1d45b; in [&#x1d44f;, &#x1d462;], together with every step acting on a name of &#x1d445;, leaves a sequence reaching a state \u2248-equal to &#x1d6fe;&#x1d447; and \u2243-equal to it outside &#x1d445;.<\/p>\n<p>Theorem 73 (Confluence). Let a sequence reach a quiescent &#x1d6fe;&#x1d447; at which no fiber is failed, let the steps be pairwise independent and every component total on its provision, and let &#x1d434; be as in Definition 67. Then:<\/p>\n<li>(Canonical form.) &#x1d6fe;&#x1d447; is reached, up to the names the reduction withdraws, from &#x1d6fe;0 by a sequence taking the same orchestration steps in their original order, those at an orchestrator-inserted fiber preceding every lifecycle step and each of the rest following the step that registered the fiber it acts on, and taking, for an enumeration &#x1d45b;1,\u2026,&#x1d45b;&#x1d458; of &#x1d434; linearizing \u22b2, one episode of each &#x1d45b;&#x1d456; in that order.<\/li>\n<li>(Confluence.) Any two such sequences from &#x1d6fe;0 taking the same orchestration steps reach states related, after a renaming as in Lemma 56, by \u2243 and by \u2248.<\/li>\n<p>Failure is excluded from the statement because it is a genuine source of divergence, and the calculus should not be read as denying it. They do not differ in anything else, by Corollary 62, which puts a failed fiber\u2019s contribution to the state at nothing.<\/p>\n<p>The theorem is what licenses reasoning about a Cordis application as though it were statically assembled. An orchestrator that adds a component, removes it, replaces a provider, and reverts the replacement is guaranteed to arrive at the state it would have obtained by writing the final composition down at the outset.<\/p>\n<h4>\u4e2d\u6587\u7ffb\u8bd1<\/h4>\n<p>\u5230\u6b64\u4e3a\u6b62\u7684\u7ed3\u679c\u90fd\u662f\u5173\u4e8e\u5355\u4e2a\u7ea4\u7ef4\u7684\u3002\u523b\u753b\u6574\u4e2a\u7cfb\u7edf\u7684\u6027\u8d28\u662f&#xff1a;\u5176\u52a8\u6001\u5386\u53f2\u4e0d\u7559\u75d5\u8ff9\u2014\u2014\u65e0\u8bba\u4e00\u4e2a\u8fd0\u884c\u4e2d\u7684\u7cfb\u7edf\u7ecf\u5386\u8fc7\u600e\u6837\u7684\u6fc0\u6d3b\u4e0e\u53bb\u6fc0\u6d3b\u5e8f\u5217&#xff0c;\u5b83\u9759\u6b62\u4e8e\u7684\u72b6\u6001&#xff0c;\u90fd\u662f&#034;\u76f8\u540c\u7684\u63d2\u5165\u4e0e\u9000\u5f79\u3001\u6309\u4f9d\u8d56\u987a\u5e8f\u5404\u88c5\u8f7d\u4e00\u6b21\u6700\u7ec8\u6fc0\u6d3b\u7684\u7ec4\u4ef6\u3001\u4e14\u4ece\u4e0d\u5378\u8f7d\u4efb\u4f55\u4e00\u4e2a&#034;\u672c\u4f1a\u4ea7\u751f\u7684\u90a3\u4e00\u4e2a\u3002\u751f\u547d\u5468\u671f\u5173\u7cfb\u662f\u6c47\u5408\u7684&#xff08;confluent&#xff09;&#xff0c;\u5b83\u6536\u655b\u5230\u7684\u6b63\u89c4\u5f62\u5f0f\u662f\u9759\u6001\u88c5\u914d\u7684\u90a3\u4e2a\u3002\u8fd9\u662f\u52a8\u6001\u7ec4\u5408\u7c7b\u6bd4\u4e8e\u589e\u91cf\u8ba1\u7b97\u4e2d\u53d8\u66f4\u4f20\u64ad\u6240\u5efa\u7acb\u7684&#034;\u4e0e\u4ece\u5934\u6c42\u503c\u4e00\u81f4&#034;\u7684\u6027\u8d28[45]\u3002<\/p>\n<p>\u5b9a\u4e49 67\u3002 \u4e00\u4e2a\u7ea4\u7ef4\u5728 &#x1d6fe; \u5904\u53d7\u652f\u6301&#xff08;supported&#xff09;&#xff0c;\u5f53\u5b83\u672a\u88ab\u9000\u5f79\u3001\u6ce8\u518c\u5b83\u7684\u7ea4\u7ef4\u53d7\u652f\u6301\u3001\u4e14\u5b83\u58f0\u660e\u7684\u6bcf\u4e2a\u952e\u90fd\u7531\u67d0\u53d7\u652f\u6301\u7ea4\u7ef4\u63d0\u4f9b\u3002\u652f\u6301\u5173\u7cfb\u662f &#x1d45a; \u22b2 &#x1d45b; \u2254 &#x1d45a; \u227a &#x1d45b; \u2228 &#x1d70b;&#x1d45b; &#061; &#x1d45a; \u7684\u5e76&#xff0c;\u5728\u826f\u57fa\u5904\u8bb0 &#x1d434; \u4e3a\u652f\u6301\u96c6&#xff1a;&#x1d45b; \u2208 &#x1d434; \u2254 \u00ac&#x1d70f;&#x1d45b; \u2227 (&#x1d70b;&#x1d45b; &#061; &#x1d5cb;&#x1d5c8;&#x1d5c8;&#x1d5cd; \u2228 &#x1d70b;&#x1d45b; \u2208 &#x1d434;) \u2227 \u2200&#x1d458; \u2208 &#x1d451;&#x1d45b;. \u2203&#x1d45a; \u2208 &#x1d434;. &#x1d458; \u2208 &#x1d45d;&#x1d45a;\u3002<\/p>\n<p>\u5f15\u7406 68&#xff08;\u652f\u6301\u826f\u57fa&#xff09;\u3002 \u4ee4 \u227a \u65e0\u73af\u4e14 &#x1d6fe; \u7531\u6b65\u9aa4\u5e8f\u5217\u8fbe\u5230\u3002\u5219 \u22b2 \u826f\u57fa&#xff0c;\u4e14 &#x1d434; \u662f\u5b9a\u4e4967\u7684\u552f\u4e00\u89e3&#xff0c;\u4ec5\u662f &#x1d70f;, &#x1d70b;, &#x1d451;, &#x1d45d; \u7684\u51fd\u6570\u3002<\/p>\n<p>\u5b9a\u4e49 69\u3002 \u4e00\u4e2a\u7ec4\u4ef6 (&#x1d451;, &#x1d45d;, &#x1d452;) \u5728\u5176\u4f9b\u7ed9\u4e0a\u5b8c\u5168&#xff08;total on its provision&#xff09;&#xff0c;\u5f53\u5b83\u7684\u4e00\u6b21\u5b8c\u6210\u7684\u6fc0\u6d3b\u5df2\u5b89\u88c5 &#x1d45d; \u7684\u6bcf\u4e2a\u952e&#xff0c;\u6545\u6bcf\u4e2a\u5b9e\u4f8b\u5316\u5b83\u7684 &#x1d5a0;&#x1d5bc;&#x1d5cd;&#x1d5c2;&#x1d5cf;&#x1d5be; \u7ea4\u7ef4\u5904 dom(&#x1d70e;&#x1d45b;) &#061; &#x1d45d;&#x1d45b;\u3002<\/p>\n<p>\u5f15\u7406 70&#xff08;\u9759\u6b62\u5904\u7684\u652f\u6301&#xff09;\u3002 \u4ee4 \u227a \u65e0\u73af\u3001quiet(&#x1d6fe;)\u3001\u65e0\u5931\u8d25\u7ea4\u7ef4\u3001\u6bcf\u4e2a\u7ec4\u4ef6\u5728\u5176\u4f9b\u7ed9\u4e0a\u5b8c\u5168\u3002\u5219\u652f\u6301\u96c6\u5c31\u662f &#x1d5a0;&#x1d5bc;&#x1d5cd;&#x1d5c2;&#x1d5cf;&#x1d5be; \u7ea4\u7ef4\u96c6&#xff1a;&#x1d434; &#061; {&#x1d45b; : &#x1d703;&#x1d45b; &#061; &#x1d5a0;&#x1d5bc;&#x1d5cd;&#x1d5c2;&#x1d5cf;&#x1d5be;(\u2212, \u2212)}\u3002<\/p>\n<p>\u5f15\u7406 71&#xff08;\u6362\u4f4d&#xff09;\u3002 \u4ee4\u6b65\u9aa4\u4e24\u4e24\u72ec\u7acb\u4e14 &#x1d439;&#x1d461; \u826f\u6784&#xff0c;\u6b65\u9aa4 &#x1d461; \u4e0e &#x1d461;&#043;1 \u4f5c\u7528\u4e8e\u4e0d\u540c\u7ea4\u7ef4 &#x1d45a; \u4e0e &#x1d45b;\u3002(1) \u82e5\u4e24\u8005\u90fd\u5e94\u7528\u6fc0\u6d3b\u89c4\u5219&#xff0c;\u4e14\u6b65\u9aa4 &#x1d461;&#043;1 \u5728 &#x1d6fe;&#x1d461; \u53ef\u5e94\u7528&#xff0c;\u5219\u6b65\u9aa4 &#x1d461; \u5728\u6b65\u9aa4 &#x1d461;&#043;1 \u4ea7\u751f\u7684\u72b6\u6001\u4e0a\u53ef\u5e94\u7528&#xff0c;\u4e24\u79cd\u987a\u5e8f\u8fbe\u5230\u540c\u4e00 &#x1d6fe;&#x1d461;&#043;2\u3002(2) \u82e5\u6b65\u9aa4 &#x1d461; \u5728 &#x1d45a; \u5e94\u7528\u6fc0\u6d3b\u89c4\u5219\u3001\u6b65\u9aa4 &#x1d461;&#043;1 \u5728 &#x1d45b; \u5e94\u7528\u7f16\u6392\u89c4\u5219\u3001\u4e14\u6b65\u9aa4 &#x1d461; \u4e0d\u6ce8\u518c &#x1d45b;&#xff0c;\u5219\u540c\u7406\u3002<\/p>\n<p>\u5f15\u7406 72&#xff08;\u5220\u9664&#xff09;\u3002 \u4ee4\u5e8f\u5217\u4e24\u4e24\u72ec\u7acb\u3001\u6bcf\u7ec4\u4ef6\u5728\u5176\u4f9b\u7ed9\u4e0a\u5b8c\u5168\u3001\u8fbe\u5230\u65e0\u5931\u8d25\u7ea4\u7ef4\u7684\u9759\u6b62 &#x1d6fe;&#x1d447;&#xff0c;\u4ee4 [&#x1d44f;, &#x1d462;] \u4e3a &#x1d45b; \u7684\u5173\u95ed\u5e55\u3001\u65e0 &#x1d45b; \u227a &#x1d45a; \u7684 &#x1d45a; \u7684\u5e55\u5173\u95ed\u3001\u4e14 &#x1d45b; \u5728 [&#x1d44f;, &#x1d462;] \u671f\u95f4\u6ce8\u518c\u7684\u7ea4\u7ef4\u65e0\u5e55\u3002\u8bb0\u8fd9\u4e9b\u6ce8\u518c\u540d\u4e3a &#x1d445;\u3002\u5219\u5220\u9664 [&#x1d44f;, &#x1d462;] \u4e2d\u4f5c\u7528\u4e8e &#x1d45b; \u7684\u6b65\u9aa4\u53ca\u6bcf\u4e2a\u4f5c\u7528\u4e8e &#x1d445; \u4e2d\u540d\u7684\u6b65\u9aa4&#xff0c;\u7559\u4e0b\u4e00\u4e2a\u8fbe\u5230\u4e0e &#x1d6fe;&#x1d447; \u2248 \u76f8\u7b49\u3001\u4e14\u5728 &#x1d445; \u4e4b\u5916 \u2243 \u76f8\u7b49\u7684\u72b6\u6001\u7684\u5e8f\u5217\u3002<\/p>\n<p>\u5b9a\u7406 73&#xff08;\u6c47\u5408\u6027&#xff09;\u3002 \u4ee4\u67d0\u5e8f\u5217\u8fbe\u5230\u65e0\u5931\u8d25\u7ea4\u7ef4\u7684\u9759\u6b62 &#x1d6fe;&#x1d447;&#xff0c;\u6b65\u9aa4\u4e24\u4e24\u72ec\u7acb\u3001\u6bcf\u7ec4\u4ef6\u5728\u5176\u4f9b\u7ed9\u4e0a\u5b8c\u5168&#xff0c;&#x1d434; \u5982\u5b9a\u4e4967\u3002\u5219&#xff1a;<br \/>\n1.&#xff08;\u6b63\u89c4\u5f62\u5f0f&#xff09;&#x1d6fe;&#x1d447; \u53ef&#xff08;\u5728\u88ab\u5f52\u7ea6\u64a4\u56de\u7684\u540d\u4ee5\u5916&#xff09;\u7531 &#x1d6fe;0 \u7ecf\u4e00\u4e2a\u5e8f\u5217\u8fbe\u5230&#xff1a;\u8be5\u5e8f\u5217\u4ee5\u539f\u5e8f\u53d6\u76f8\u540c\u7684\u7f16\u6392\u6b65\u9aa4&#xff08;\u7f16\u6392\u8005\u63d2\u5165\u7684\u7ea4\u7ef4\u5904\u7684\u6b65\u9aa4\u5148\u4e8e\u6bcf\u4e2a\u751f\u547d\u5468\u671f\u6b65\u9aa4&#xff0c;\u5176\u4f59\u5404\u8ddf\u968f\u6ce8\u518c\u5b83\u6240\u4f5c\u7528\u7ea4\u7ef4\u7684\u90a3\u6b65&#xff09;&#xff0c;\u5e76\u6309 \u22b2 \u7684\u4e00\u4e2a\u7ebf\u6027\u5316\u679a\u4e3e &#x1d45b;1,\u2026,&#x1d45b;&#x1d458;&#xff0c;\u4f9d\u6b21\u5404\u53d6 &#x1d45b;&#x1d456; \u7684\u4e00\u5e55\u3002<br \/>\n2.&#xff08;\u6c47\u5408&#xff09;\u4ece &#x1d6fe;0 \u53d6\u76f8\u540c\u7f16\u6392\u6b65\u9aa4\u7684\u4efb\u610f\u4e24\u4e2a\u8fd9\u6837\u7684\u5e8f\u5217&#xff0c;\u8fbe\u5230\u7684\u72b6\u6001\u7ecf\u5f15\u740656\u7684\u91cd\u547d\u540d\u540e\u7531 \u2243 \u4e0e \u2248 \u5173\u8054\u3002<\/p>\n<p>\u5931\u8d25\u88ab\u6392\u9664\u5728\u9648\u8ff0\u4e4b\u5916&#xff0c;\u56e0\u4e3a\u5b83\u662f\u771f\u6b63\u7684\u53d1\u6563\u4e4b\u6e90&#xff0c;\u6f14\u7b97\u4e0d\u5e94\u88ab\u8bfb\u4f5c\u5426\u8ba4\u5b83\u3002\u7531\u63a8\u8bba62\u5b83\u4eec\u5728\u5176\u4f59\u4efb\u4f55\u65b9\u9762\u90fd\u4e0d\u5f02&#xff0c;\u5931\u8d25\u7ea4\u7ef4\u5bf9\u72b6\u6001\u7684\u8d21\u732e\u4e3a\u96f6\u3002<\/p>\n<p>\u8be5\u5b9a\u7406\u6b63\u662f\u5141\u8bb8\u628a Cordis \u5e94\u7528\u5f53\u4f5c\u9759\u6001\u88c5\u914d\u6765\u63a8\u7406\u7684\u4f9d\u636e\u3002\u4e00\u4e2a\u6dfb\u52a0\u7ec4\u4ef6\u3001\u79fb\u9664\u5b83\u3001\u66ff\u6362\u63d0\u4f9b\u8005\u3001\u518d\u56de\u9000\u66ff\u6362\u7684\u7f16\u6392\u8005&#xff0c;\u4fdd\u8bc1\u5230\u8fbe&#034;\u4e00\u5f00\u59cb\u5c31\u628a\u6700\u7ec8\u7ec4\u5408\u5199\u4e0b\u6765&#034;\u672c\u4f1a\u5f97\u5230\u7684\u72b6\u6001\u3002<\/p>\n<h4>\u8be6\u7ec6\u89e3\u91ca<\/h4>\n<p>\u6c47\u5408\u6027&#xff08;confluence&#xff09;\u662f\u6574\u7ae0\u3001\u4e5f\u662f\u6574\u7bc7\u8bba\u6587\u6700\u5b8f\u5927\u7684\u7ed3\u8bba&#xff1a;\u65e0\u8bba\u7cfb\u7edf\u7ecf\u5386\u8fc7\u600e\u6837\u66f2\u6298\u7684\u52a8\u6001\u88c5\u5378\u8f7d\u5386\u53f2&#xff0c;\u5b83\u6700\u7ec8\u9759\u6b62\u7684\u72b6\u6001&#xff0c;\u90fd\u7b49\u540c\u4e8e&#034;\u628a\u6700\u7ec8\u8be5\u6fc0\u6d3b\u7684\u7ec4\u4ef6\u6309\u4f9d\u8d56\u987a\u5e8f\u4e00\u6b21\u6027\u88c5\u8f7d\u3001\u4ece\u4e0d\u5378\u8f7d&#034;\u7684\u9759\u6001\u88c5\u914d\u7ed3\u679c\u3002 \u8bba\u6587\u628a\u5b83\u7c7b\u6bd4\u4e3a\u589e\u91cf\u8ba1\u7b97\u91cc\u53d8\u66f4\u4f20\u64ad\u5efa\u7acb\u7684&#034;\u4e0e\u4ece\u5934\u6c42\u503c\u4e00\u81f4&#034;\u6027\u8d28[45]\u2014\u2014\u52a8\u6001\u7ec4\u5408\u4e0e\u9759\u6001\u7ec4\u5408\u5728\u7ed3\u679c\u4e0a\u4e0d\u53ef\u533a\u5206\u3002\u8fd9\u662f&#034;\u65f6\u7a7a\u53ef\u7ec4\u5408\u6027&#034;\u4e2d&#034;\u7a7a\u95f4&#034;\u7ef4\u5ea6\u7684\u7ec8\u6781\u4fdd\u8bc1&#xff1a;\u52a8\u6001\u5386\u53f2\u4e0d\u7559\u75d5\u8ff9\u3002<\/p>\n<p>\u652f\u6301\u96c6 &#x1d434; \u662f&#034;\u54ea\u4e9b\u7ea4\u7ef4\u6700\u7ec8\u8be5\u6fc0\u6d3b&#034;\u7684\u7eaf\u8f93\u5165\u51fd\u6570\u3002 \u5b9a\u4e4967\u9012\u5f52\u5730\u5b9a\u4e49&#034;\u53d7\u652f\u6301&#034;&#xff1a;\u672a\u88ab\u9000\u5f79\u3001\u6ce8\u518c\u8005\u53d7\u652f\u6301&#xff08;\u6216\u6839\u63d2\u5165&#xff09;\u3001\u6bcf\u4e2a\u58f0\u660e\u7684\u952e\u90fd\u7531\u67d0\u53d7\u652f\u6301\u7ea4\u7ef4\u63d0\u4f9b\u3002\u8fd9\u4e2a\u5b9a\u4e49\u53ea\u8bfb &#x1d70f;\/&#x1d70b;\/&#x1d451;\/&#x1d45d; \u56db\u4e2a\u5b57\u6bb5\u2014\u2014\u5168\u662f\u8fd0\u884c\u4e2d\u4e0d\u53d8\u7684\u5b57\u6bb5&#xff08;\u5f15\u740654(5)&#xff09;&#xff0c;\u6240\u4ee5 &#x1d434; \u5b8c\u5168\u7531\u8f93\u5165&#xff08;\u7f16\u6392\u8005\u7684\u63d2\u5165\u4e0e\u9000\u5f79\u3001\u7ec4\u4ef6\u7684\u58f0\u660e&#xff09;\u51b3\u5b9a&#xff0c;\u4e0e\u8c03\u5ea6\u987a\u5e8f\u65e0\u5173\u3002Lemma 68 \u8bc1\u660e\u8fd9\u4e2a\u9012\u5f52\u826f\u57fa\u4e14\u6709\u552f\u4e00\u89e3&#xff1a;\u6309\u6ce8\u518c\u987a\u5e8f\u7ed9\u7ea4\u7ef4\u7f16\u53f7&#xff0c;\u7236\u6307\u9488\u603b\u662f\u6307\u5411\u66f4\u65e9\u6ce8\u518c\u7684\u7ea4\u7ef4&#xff08;O-Insert \u524d\u63d0&#xff09;&#xff0c;\u6240\u4ee5 \u22b2 \u7684\u7236\u534a\u90e8\u5929\u7136\u4e0b\u964d&#xff1b;\u82e5\u6210\u73af\u5fc5\u6df7\u7528 \u227a \u534a\u90e8&#xff0c;\u800c\u65e0\u73af \u227a \u8feb\u4f7f\u73af\u9700\u7ecf&#034;\u67d0\u7ea4\u7ef4\u58f0\u660e\u5176\u81ea\u5df1\u5b50\u6811\u63d0\u4f9b\u7684\u952e&#034;&#xff0c;\u4f46\u8be5\u952e\u5728 &#x1d45a; \u7684 L-Begin \u524d\u5c31\u5df2\u88ab &#x1d5a0;&#x1d5bc;&#x1d5cd;&#x1d5c2;&#x1d5cf;&#x1d5be; \u7ea4\u7ef4\u63d0\u4f9b&#xff08;L-Begin \u524d\u63d0 &#x1d6fe;\u22a7&#x1d451;&#x1d45a;&#xff09;&#xff0c;\u5355\u4e00\u6765\u6e90\u7981\u6b62\u7b2c\u4e8c\u4e2a\u63d0\u4f9b\u8005&#xff0c;\u6545\u8be5\u7ea4\u7ef4\u6c38\u4e0d\u88ab\u6ce8\u518c\u2014\u2014\u73af\u4e0d\u5b58\u5728\u3002<\/p>\n<p>\u5b8c\u5168\u6027&#xff08;totality&#xff0c;\u5b9a\u4e4969&#xff09;\u8865\u4e0a&#034;\u58f0\u660e &#x1d45d;&#034;\u4e0e&#034;\u5b9e\u9645\u5b89\u88c5 dom(&#x1d70e;)&#034;\u7684\u7f1d\u3002 \u652f\u6301\u96c6\u8bfb &#x1d45d;&#xff08;\u7ec4\u4ef6\u53ef\u80fd\u63d0\u4f9b\u7684\u952e&#xff09;&#xff0c;\u800c target \u8bfb dom(&#x1d70e;&#x1d6fe;)&#xff08;\u5b9e\u9645\u5b89\u88c5\u7684\u952e&#xff09;&#xff0c;\u4e8c\u8005\u53ea\u7531 dom(&#x1d70e;&#x1d45b;) \u2286 &#x1d45d;&#x1d45b; \u8054\u7cfb\u3002\u5b8c\u5168\u6027\u8981\u6c42&#034;\u5b8c\u6210\u7684\u6fc0\u6d3b\u5fc5\u5b89\u88c5 &#x1d45d; \u7684\u5168\u90e8\u952e&#034;&#xff0c;\u4e8e\u662f dom(&#x1d70e;&#x1d45b;) &#061; &#x1d45d;&#x1d45b;&#xff0c;\u7f1d\u88ab\u8865\u4e0a\u3002Lemma 70 \u8bc1\u660e\u5728\u9759\u6b62\u3001\u65e0\u5931\u8d25\u3001\u5b8c\u5168\u6027\u4e0b&#xff0c;\u652f\u6301\u96c6\u6070\u7b49\u4e8e &#x1d5a0;&#x1d5bc;&#x1d5cd;&#x1d5c2;&#x1d5cf;&#x1d5be; \u7ea4\u7ef4\u96c6\u2014\u2014\u5373&#034;\u8be5\u6fc0\u6d3b\u7684\u90fd\u6fc0\u6d3b\u4e86&#034;\u3002\u5b8c\u5168\u6027\u867d\u662f\u5047\u8bbe&#xff0c;\u4f46\u72ec\u7acb\u6027\u5df2\u754c\u4f4f\u5b83\u80fd\u5931\u8d25\u7684\u7a0b\u5ea6&#xff1a;\u82e5\u4e00\u7ec4\u4ef6\u53ea\u5728\u522b\u7684\u7ec4\u4ef6\u6548\u5e94\u5230\u8fbe\u7684\u72b6\u6001\u624d\u88c5\u67d0\u952e&#xff0c;\u5176\u524d\u5411\u6620\u5c04\u5c31\u4e0d\u4e0e\u90a3\u7ec4\u4ef6\u4ea4\u6362&#xff0c;\u8fdd\u53cd\u72ec\u7acb\u6027\u2014\u2014\u6240\u4ee5&#034;\u88c5\u54ea\u4e9b\u952e&#034;\u7531\u7ec4\u4ef6\u672c\u8eab\u800c\u975e\u8c03\u5ea6\u51b3\u5b9a&#xff0c;\u5b8c\u5168\u6027\u53ea\u662f\u8981\u6c42\u8fd9\u4e2a\u56fa\u5b9a\u96c6\u5408\u662f\u5168\u90e8 &#x1d45d;\u3002<\/p>\n<p>\u4e09\u4e2a\u5f15\u7406\u662f\u6c47\u5408\u6027\u8bc1\u660e\u7684&#034;\u91cd\u6392\u5de5\u5177&#034;\u3002 Lemma 71&#xff08;\u6362\u4f4d&#xff09;\u662f trace \u7406\u8bba\u7684\u91cd\u6392\u5f15\u7406&#xff1a;\u4f5c\u7528\u4e8e\u4e0d\u540c\u7ea4\u7ef4\u7684\u4e24\u4e2a\u76f8\u90bb\u6b65\u9aa4&#xff0c;\u5728\u72ec\u7acb\u6027\u4e0b\u53ef\u4ea4\u6362\u4e14\u8fbe\u5230\u540c\u6001\u3002\u5b83\u5206\u6fc0\u6d3b-\u6fc0\u6d3b\u3001\u6fc0\u6d3b-\u7f16\u6392\u4e24\u79cd\u60c5\u5f62&#xff0c;\u5173\u952e\u90fd\u7528\u5b9a\u4e4960\u7684\u4e24\u6761\u4ef6&#xff08;\u6620\u5c04\u4ea4\u6362 &#043; \u8fed\u4ee3\u5668\u5728\u88ab\u79fb\u52a8\u72b6\u6001\u4e0a\u4ea7\u51fa\u4e0d\u53d8&#xff09;\u548c\u4f9b\u7ed9\u4e0d\u76f8\u4ea4&#xff08;\u5b9a\u4e4958(2)&#xff0c;\u4f7f\u4e00\u7ea4\u7ef4\u7684\u8868\u5199\u5165\u4e0d\u89e6\u53ca\u53e6\u4e00\u7ea4\u7ef4\u7684\u4f9d\u8d56\u952e&#xff09;\u3002Lemma 72&#xff08;\u5220\u9664&#xff09;\u662f&#034;\u52a8\u6001\u5386\u53f2\u4e0d\u7559\u75d5\u8ff9&#034;\u7684\u6838\u5fc3&#xff1a;\u4e00\u4e2a\u5173\u95ed\u7684 episode&#xff08;\u8fde\u540c\u5b83\u6ce8\u518c\u7684\u5b50\u7ea4\u7ef4&#xff09;\u53ef\u4ee5\u4ece\u5e8f\u5217\u4e2d\u6574\u6bb5\u5220\u6389&#xff0c;\u7ec8\u6001\u4e0d\u53d8\u2014\u2014\u8fd9\u6b63\u662f Corollary 62&#xff08;\u7ec8\u6001\u6062\u590d&#xff0c;&#x1d45b; \u7684\u51c0\u8d21\u732e\u4e3a\u96f6&#xff09;\u52a0\u4e0a Lemma 57&#xff08;\u6b8b\u7559\u6761\u76ee\u4e0d\u53ef\u89c1&#xff09;\u7684\u5e94\u7528&#xff1a;\u5220\u6389\u7684\u6b65\u9aa4\u628a\u72b6\u6001\u7559\u5728\u539f\u5904&#xff0c;\u6b8b\u7559\u7684\u6ce8\u518c\u6761\u76ee\u5bf9\u540e\u7eed\u89c4\u5219\u4e0d\u53ef\u89c1\u3002\u6b8b\u7559\u5f15\u7406\u6b63\u662f\u5220\u9664\u88ab\u9000\u5f79\u6ce8\u518c\u7684\u5de5\u5177\u3002<\/p>\n<p>Theorem 73 \u7684\u8bc1\u660e\u6897\u6982&#xff08;\u4e24\u6b65\u5f52\u7ea6\u5230\u6b63\u89c4\u5f62\u5f0f&#xff09;\u3002 (1) \u6b63\u89c4\u5f62\u5f0f\u5206\u4e09\u9636\u6bb5\u6784\u9020\u3002\u5173\u95ed\u5e55\u5148\u8d70&#xff1a;\u5f52\u7eb3\u5730\u6311\u4e00\u4e2a \u22b2-\u6781\u5927\u7684\u5173\u95ed\u5e55 &#x1d45b;&#xff0c;Lemma 72 \u7684\u4e09\u524d\u63d0\u6ee1\u8db3&#xff08;\u65e0 &#x1d45b;\u227a&#x1d45a; \u7684\u5173\u95ed\u5e55\u3001&#x1d45b; \u6ce8\u518c\u7684\u7ea4\u7ef4\u65e0\u5e55&#xff09;&#xff0c;\u5220\u6389\u5b83&#xff0c;\u5f52\u7eb3\u6570\u51cf\u4e00\u3002\u975e &#x1d434; \u7ea4\u7ef4\u65e0\u751f\u547d\u5468\u671f\u6b65\u9aa4&#xff1a;\u7531 Lemma 70 &#043; quiet&#xff0c;\u5b83\u4eec\u5168\u7a0b &#x1d5a8;&#x1d5c7;&#x1d5ba;&#x1d5bc;&#x1d5cd;&#x1d5c2;&#x1d5cf;&#x1d5be;(\u22a5)&#xff0c;L-Begin \u662f\u552f\u4e00\u53ef\u7528\u89c4\u5219\u4f46\u4f1a\u5f00\u5e55\u2014\u2014\u77db\u76fe\u3002\u7f16\u6392\u6b65\u9aa4\u5f52\u524d&#xff1a;\u7f16\u6392\u8005\u63d2\u5165\u7684\u7ea4\u7ef4\u7684\u7f16\u6392\u6b65\u9aa4\u7528 Lemma 71(2) \u4e00\u8def\u524d\u79fb\u5230\u6700\u524d&#xff1b;\u6ce8\u518c\u4ea7\u751f\u7684\u7f16\u6392\u6b65\u9aa4\u7559\u5728\u6ce8\u518c\u5904\u3002\u5e55\u6392\u5e8f\u8fde\u7eed\u5316&#xff1a;\u6309 \u22b2 \u7ebf\u6027\u5316 &#x1d45b;1,\u2026,&#x1d45b;&#x1d458;&#xff0c;\u5f52\u7eb3\u5730\u628a &#x1d45b;1 \u7684\u6240\u6709\u6b65\u9aa4\u524d\u79fb\u6210\u8fde\u7eed\u521d\u59cb\u5757&#xff08;&#x1d45b;1 \u662f \u22b2 \u6781\u5c0f\u6545 &#x1d451;&#061;\u2205\u3001&#x1d70b;&#061;root&#xff0c;\u5176 target \u4e0d\u8bfb\u4ed6\u4eba\u3001\u6052\u5b9a&#xff0c;\u6bcf\u6b65\u53ea\u8bfb\u81ea\u5df1\u7684 &#x1d703;\/&#x1d456;&#xff0c;\u6545\u5904\u5904\u53ef\u5e94\u7528&#xff0c;Lemma 71 \u9010\u6b65\u524d\u79fb&#xff09;&#xff0c;\u518d\u5728\u4f59\u4e0b\u540e\u7f00\u4e0a\u5bf9 &#x1d434;\u2216{&#x1d45b;1} \u91cd\u590d\u3002(2) \u6c47\u5408&#xff1a;\u4e24\u4e2a\u5e8f\u5217\u90fd\u5f52\u7ea6\u5230\u6b63\u89c4\u5f62\u5f0f&#xff0c;\u4e8c\u8005\u8dd1\u8fc7\u76f8\u540c\u7684 &#x1d434;&#xff08;\u4ec5\u6ce8\u518c\u6811\u7684\u540d\u5b57\u4e0d\u540c&#xff0c;\u7528 Lemma 56 \u7684\u53cc\u5c04\u5bf9\u9f50&#xff09;&#xff0c;\u2297 \u7684\u4e24\u4e2a\u7ebf\u6027\u5316\u53ea\u5dee\u4e0d\u53ef\u6bd4\u5e55\u7684\u6362\u4f4d&#xff0c;Lemma 71 \u4fdd\u8bc1\u7ec8\u70b9\u4e0d\u53d8&#xff0c;\u6545\u4e24\u6b63\u89c4\u5e8f\u5217\u4e00\u81f4\u3002\u7ed3\u5408 Theorem 66 \u7684\u7ec8\u6b62\u6027&#xff0c;\u751f\u547d\u5468\u671f\u5173\u7cfb\u6709\u552f\u4e00\u6b63\u89c4\u5f62\u5f0f\u3002<\/p>\n<p>\u5931\u8d25\u88ab\u8bda\u5b9e\u6392\u9664\u3002 \u8bba\u6587\u660e\u786e\u8bf4\u5931\u8d25\u662f&#034;\u771f\u6b63\u7684\u53d1\u6563\u4e4b\u6e90&#xff0c;\u6f14\u7b97\u4e0d\u5e94\u5426\u8ba4&#034;&#xff1a;\u662f\u5426\u629b\u9519\u53d6\u51b3\u4e8e\u8fd0\u884c\u6240\u4f9d\u636e\u7684\u72b6\u6001&#xff0c;\u4e00\u79cd\u8c03\u5ea6\u53ef\u80fd\u5931\u8d25\u4e00\u4e2a\u7ea4\u7ef4\u800c\u53e6\u4e00\u79cd\u5b8c\u6210\u5b83&#xff0c;\u4e24\u9759\u6b62\u6001\u5728\u8be5\u7ea4\u7ef4\u7684\u751f\u547d\u5468\u671f\u72b6\u6001\u4e0a\u4e0d\u540c\u3002\u4f46\u7531 Corollary 62&#xff0c;\u5931\u8d25\u7ea4\u7ef4\u5bf9\u72b6\u6001\u7684\u8d21\u732e\u4e3a\u96f6&#xff0c;\u6240\u4ee5\u4e24\u6001\u5728\u5176\u4f59\u4efb\u4f55\u65b9\u9762\u90fd\u4e0d\u5f02\u2014\u2014\u5931\u8d25\u53ea\u5f71\u54cd&#034;\u90a3\u4e2a\u7ea4\u7ef4\u662f\u5426\u6fc0\u6d3b&#034;&#xff0c;\u4e0d\u5f71\u54cd\u73af\u5883\u72b6\u6001\u3002\u8fd9\u662f\u4e00\u4e2a\u8bda\u5b9e\u7684\u8fb9\u754c&#xff1a;\u6c47\u5408\u6027\u4fdd\u8bc1\u7684\u662f&#034;\u72b6\u6001&#034;\u6c47\u5408&#xff0c;\u4e0d\u662f&#034;\u54ea\u4e9b\u7ec4\u4ef6\u6210\u529f&#034;\u6c47\u5408\u3002<\/p>\n<p>\u4e0e Cordis\/DSH \u5b9e\u8df5\u7684\u5bf9\u5e94\u2014\u2014\u8fd9\u662f\u8bba\u6587\u7684&#034;\u6740\u624b\u7ea7\u5e94\u7528&#034;\u3002 Theorem 73 \u662f\u5141\u8bb8&#034;\u628a Cordis \u5e94\u7528\u5f53\u4f5c\u9759\u6001\u88c5\u914d\u6765\u63a8\u7406&#034;\u7684\u6267\u7167\u3002\u5177\u4f53\u573a\u666f&#xff1a;\u4e00\u4e2a\u7f16\u6392\u8005&#034;\u6dfb\u52a0\u7ec4\u4ef6 A\u3001\u79fb\u9664 A\u3001\u66ff\u6362\u63d0\u4f9b\u8005 P \u4e3a Q\u3001\u518d\u56de\u9000\u66ff\u6362&#xff08;Q \u6362\u56de P&#xff09;\u201c\u2014\u2014\u8fd9\u4e32\u590d\u6742\u52a8\u6001\u64cd\u4f5c\u6700\u7ec8\u5230\u8fbe\u7684\u72b6\u6001&#xff0c;\u4fdd\u8bc1\u7b49\u4e8e\u4e00\u5f00\u59cb\u5c31\u628a\u6700\u7ec8\u7ec4\u5408&#xff08;\u542b P\u3001\u4e0d\u542b A&#xff09;\u5199\u4e0b\u6765\u7684\u9759\u6001\u88c5\u914d\u7ed3\u679c\u3002\u8fd9\u610f\u5473\u7740\u7ec4\u4ef6\u4f5c\u8005\u5728\u63a8\u7406&#034;\u54ea\u4e9b\u534f\u540c\u6548\u5e94\u5728\u4f5c\u7528\u57df\u5185&#034;\u65f6&#xff0c;\u53ea\u9700\u63a8\u7406\u9759\u6b62\u72b6\u6001&#xff0c;\u65e0\u9700\u8ffd\u8e2a\u52a8\u6001\u5386\u53f2\u3002\u5b83\u4e5f\u5212\u5b9a\u4e86\u4fdd\u8bc1\u7684\u8fb9\u754c&#xff1a;\u5b9a\u7406\u8bf4\u7684\u662f&#034;\u72b6\u6001\u201d&#xff0c;\u4e0d\u662f&#034;\u6cbf\u8def\u4ea7\u751f\u7684\u53d1\u5c04&#xff08;emissions&#xff09;&#034;\u2014\u2014\u8fd9\u662f\u7b2c6.1\u8282\u533a\u5206&#034;\u83b7\u53d6&#xff08;acquisition&#xff0c;\u8fb9\u754c\u5185\u8ffd\u8e2a&#xff09;&#034;\u4e0e&#034;\u53d1\u5c04&#xff08;emission&#xff0c;\u8de8\u8fb9\u754c&#xff09;&#034;\u7684\u4f0f\u7b14\u3002\u52a8\u6001\u7ec4\u5408\u56e0\u6b64\u83b7\u5f97\u4e86\u9759\u6001\u7ec4\u5408\u7684\u53ef\u63a8\u7406\u6027&#xff1a;\u4f60\u5199\u4e0b\u4e00\u4e2a Cordis \u5e94\u7528\u5e76\u53cd\u590d\u70ed\u91cd\u8f7d\u5b83&#xff0c;\u6700\u7ec8\u72b6\u6001\u4e0e&#034;\u4e00\u6b21\u6027\u5199\u5b9a&#034;\u4e0d\u53ef\u533a\u5206\u2014\u2014\u8fd9\u5c31\u662f&#034;\u65f6\u7a7a\u53ef\u7ec4\u5408\u6027&#034;\u7684\u6700\u7ec8\u627f\u8bfa\u3002<\/p>\n<hr \/>\n<p>\u672c\u7b14\u8bb0\u8986\u76d6\u8bba\u6587\u7b2c4\u7ae0&#xff08;\u52a8\u6001\u7ec4\u5408\u6f14\u7b97&#xff09;\u5168\u90e8\u5c0f\u8282&#xff1a;4.1 \u7ec4\u4ef6\u4e0e\u7ea4\u7ef4\u30014.2 \u57fa\u7840\u6f14\u7b97\u30014.3 \u8fdb\u884c\u4e2d\u7684\u8f6c\u6362&#xff08;\u64a4\u56de\/\u8fed\u4ee3\/\u5f02\u6b65\/\u5931\u8d25&#xff09;\u30014.4 \u5143\u7406\u8bba&#xff08;\u4fdd\u6301\u6027\/\u65f6\u95f4\u53ef\u7ec4\u5408\u6027\/\u7a7a\u95f4\u53ef\u7ec4\u5408\u6027\/\u8fdb\u5c55\u6027\/\u6c47\u5408\u6027&#xff09;\u3002\u6240\u6709\u64cd\u4f5c\u8bed\u4e49\u89c4\u5219\u540d\u4e0e\u5173\u952e\u5f62\u5f0f\u3001\u6240\u6709\u5f15\u7406\u4e0e\u5b9a\u7406\u9648\u8ff0\u5747\u6309\u539f\u6587\u4fdd\u7559&#xff0c;\u8bc1\u660e\u4ee5\u6897\u6982\u5f62\u5f0f\u6982\u62ec\u5e76\u70b9\u660e\u5176\u6240\u5efa\u7acb\u7684\u6027\u8d28\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Cordis \u65f6\u7a7a\u53ef\u7ec4\u5408\u6027\u7f16\u7a0b\u8303\u5f0f \u2014 \u4e09\u6bb5\u5f0f\u7cbe\u8bfb\u7b14\u8bb0&#xff08;\u4e09&#xff09;<br \/>\n\u7b2c4\u7ae0 \u52a8\u6001\u7ec4\u5408\u6f14\u7b97\u672c\u6587\u6863\u91c7\u7528\u4e09\u6bb5\u5f0f\u7ed3\u6784&#xff1a;\u6bcf\u8282\u5148\u7ed9\u51fa\u82f1\u6587\u539f\u6587&#xff0c;\u518d\u7ed9\u51fa\u4e2d\u6587\u7ffb\u8bd1&#xff0c;\u6700\u540e\u7ed9\u51fa\u8be6\u7ec6\u89e3\u91ca\u8bf4\u660e\u3002<br \/>\n\u672c\u7ae0\u628a\u7b2c3\u7ae0\u7684\u673a\u5236\u5c01\u88c5\u4e3a\\&#8221;\u7ec4\u4ef6\\&#8221;&#xff0c;\u7ed9\u51fa\u52a8\u6001\u7ec4\u5408\u6f14\u7b97&#xff0c;\u5e76\u8bc1\u660e\u5176\u5143\u7406\u8bba\u6027\u8d28\u30024.1 Components and Fibers \/ \u7ec4\u4ef6\u4e0e\u7ea4\u7ef4<br \/>\n\u539f\u6587 (English)This section fixes the obje<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[10867,10848,74,66,68],"topic":[],"class_list":["post-97496","post","type-post","status-publish","format-standard","hentry","category-server","tag-dsh","tag-harness","tag-agent","tag-ai","tag-deepseek"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v20.3 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>\u3010deepseek-harness\u3011Cordis \u65f6\u7a7a\u53ef\u7ec4\u5408\u6027\u7f16\u7a0b\u8303\u5f0f \u2014 \u4e09\u6bb5\u5f0f\u7cbe\u8bfb\u7b14\u8bb0\uff08\u4e09\uff09 - \u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.wsisp.com\/helps\/97496.html\" \/>\n<meta property=\"og:locale\" content=\"zh_CN\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\u3010deepseek-harness\u3011Cordis \u65f6\u7a7a\u53ef\u7ec4\u5408\u6027\u7f16\u7a0b\u8303\u5f0f \u2014 \u4e09\u6bb5\u5f0f\u7cbe\u8bfb\u7b14\u8bb0\uff08\u4e09\uff09 - \u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3\" \/>\n<meta property=\"og:description\" content=\"Cordis \u65f6\u7a7a\u53ef\u7ec4\u5408\u6027\u7f16\u7a0b\u8303\u5f0f \u2014 \u4e09\u6bb5\u5f0f\u7cbe\u8bfb\u7b14\u8bb0&#xff08;\u4e09&#xff09; \u7b2c4\u7ae0 \u52a8\u6001\u7ec4\u5408\u6f14\u7b97\u672c\u6587\u6863\u91c7\u7528\u4e09\u6bb5\u5f0f\u7ed3\u6784&#xff1a;\u6bcf\u8282\u5148\u7ed9\u51fa\u82f1\u6587\u539f\u6587&#xff0c;\u518d\u7ed9\u51fa\u4e2d\u6587\u7ffb\u8bd1&#xff0c;\u6700\u540e\u7ed9\u51fa\u8be6\u7ec6\u89e3\u91ca\u8bf4\u660e\u3002 \u672c\u7ae0\u628a\u7b2c3\u7ae0\u7684\u673a\u5236\u5c01\u88c5\u4e3a&quot;\u7ec4\u4ef6&quot;&#xff0c;\u7ed9\u51fa\u52a8\u6001\u7ec4\u5408\u6f14\u7b97&#xff0c;\u5e76\u8bc1\u660e\u5176\u5143\u7406\u8bba\u6027\u8d28\u30024.1 Components and Fibers \/ \u7ec4\u4ef6\u4e0e\u7ea4\u7ef4 \u539f\u6587 (English)This section fixes the obje\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.wsisp.com\/helps\/97496.html\" \/>\n<meta property=\"og:site_name\" content=\"\u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3\" \/>\n<meta property=\"article:published_time\" content=\"2026-08-29T09:08:55+00:00\" \/>\n<meta name=\"author\" content=\"admin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u4f5c\u8005\" \/>\n\t<meta name=\"twitter:data1\" content=\"admin\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4\" \/>\n\t<meta name=\"twitter:data2\" content=\"91 \u5206\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.wsisp.com\/helps\/97496.html\",\"url\":\"https:\/\/www.wsisp.com\/helps\/97496.html\",\"name\":\"\u3010deepseek-harness\u3011Cordis \u65f6\u7a7a\u53ef\u7ec4\u5408\u6027\u7f16\u7a0b\u8303\u5f0f \u2014 \u4e09\u6bb5\u5f0f\u7cbe\u8bfb\u7b14\u8bb0\uff08\u4e09\uff09 - \u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3\",\"isPartOf\":{\"@id\":\"https:\/\/www.wsisp.com\/helps\/#website\"},\"datePublished\":\"2026-08-29T09:08:55+00:00\",\"dateModified\":\"2026-08-29T09:08:55+00:00\",\"author\":{\"@id\":\"https:\/\/www.wsisp.com\/helps\/#\/schema\/person\/358e386c577a3ab51c4493330a20ad41\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.wsisp.com\/helps\/97496.html#breadcrumb\"},\"inLanguage\":\"zh-Hans\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.wsisp.com\/helps\/97496.html\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.wsisp.com\/helps\/97496.html#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u9996\u9875\",\"item\":\"https:\/\/www.wsisp.com\/helps\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"\u3010deepseek-harness\u3011Cordis \u65f6\u7a7a\u53ef\u7ec4\u5408\u6027\u7f16\u7a0b\u8303\u5f0f \u2014 \u4e09\u6bb5\u5f0f\u7cbe\u8bfb\u7b14\u8bb0\uff08\u4e09\uff09\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.wsisp.com\/helps\/#website\",\"url\":\"https:\/\/www.wsisp.com\/helps\/\",\"name\":\"\u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3\",\"description\":\"\u9999\u6e2f\u670d\u52a1\u5668_\u9999\u6e2f\u4e91\u670d\u52a1\u5668\u8d44\u8baf_\u670d\u52a1\u5668\u5e2e\u52a9\u6587\u6863_\u670d\u52a1\u5668\u6559\u7a0b\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.wsisp.com\/helps\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"zh-Hans\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.wsisp.com\/helps\/#\/schema\/person\/358e386c577a3ab51c4493330a20ad41\",\"name\":\"admin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"https:\/\/www.wsisp.com\/helps\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/gravatar.wp-china-yes.net\/avatar\/?s=96&d=mystery\",\"contentUrl\":\"https:\/\/gravatar.wp-china-yes.net\/avatar\/?s=96&d=mystery\",\"caption\":\"admin\"},\"sameAs\":[\"http:\/\/wp.wsisp.com\"],\"url\":\"https:\/\/www.wsisp.com\/helps\/author\/admin\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"\u3010deepseek-harness\u3011Cordis \u65f6\u7a7a\u53ef\u7ec4\u5408\u6027\u7f16\u7a0b\u8303\u5f0f \u2014 \u4e09\u6bb5\u5f0f\u7cbe\u8bfb\u7b14\u8bb0\uff08\u4e09\uff09 - \u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.wsisp.com\/helps\/97496.html","og_locale":"zh_CN","og_type":"article","og_title":"\u3010deepseek-harness\u3011Cordis \u65f6\u7a7a\u53ef\u7ec4\u5408\u6027\u7f16\u7a0b\u8303\u5f0f \u2014 \u4e09\u6bb5\u5f0f\u7cbe\u8bfb\u7b14\u8bb0\uff08\u4e09\uff09 - \u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3","og_description":"Cordis \u65f6\u7a7a\u53ef\u7ec4\u5408\u6027\u7f16\u7a0b\u8303\u5f0f \u2014 \u4e09\u6bb5\u5f0f\u7cbe\u8bfb\u7b14\u8bb0&#xff08;\u4e09&#xff09; \u7b2c4\u7ae0 \u52a8\u6001\u7ec4\u5408\u6f14\u7b97\u672c\u6587\u6863\u91c7\u7528\u4e09\u6bb5\u5f0f\u7ed3\u6784&#xff1a;\u6bcf\u8282\u5148\u7ed9\u51fa\u82f1\u6587\u539f\u6587&#xff0c;\u518d\u7ed9\u51fa\u4e2d\u6587\u7ffb\u8bd1&#xff0c;\u6700\u540e\u7ed9\u51fa\u8be6\u7ec6\u89e3\u91ca\u8bf4\u660e\u3002 \u672c\u7ae0\u628a\u7b2c3\u7ae0\u7684\u673a\u5236\u5c01\u88c5\u4e3a\"\u7ec4\u4ef6\"&#xff0c;\u7ed9\u51fa\u52a8\u6001\u7ec4\u5408\u6f14\u7b97&#xff0c;\u5e76\u8bc1\u660e\u5176\u5143\u7406\u8bba\u6027\u8d28\u30024.1 Components and Fibers \/ \u7ec4\u4ef6\u4e0e\u7ea4\u7ef4 \u539f\u6587 (English)This section fixes the obje","og_url":"https:\/\/www.wsisp.com\/helps\/97496.html","og_site_name":"\u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3","article_published_time":"2026-08-29T09:08:55+00:00","author":"admin","twitter_card":"summary_large_image","twitter_misc":{"\u4f5c\u8005":"admin","\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4":"91 \u5206"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.wsisp.com\/helps\/97496.html","url":"https:\/\/www.wsisp.com\/helps\/97496.html","name":"\u3010deepseek-harness\u3011Cordis \u65f6\u7a7a\u53ef\u7ec4\u5408\u6027\u7f16\u7a0b\u8303\u5f0f \u2014 \u4e09\u6bb5\u5f0f\u7cbe\u8bfb\u7b14\u8bb0\uff08\u4e09\uff09 - \u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3","isPartOf":{"@id":"https:\/\/www.wsisp.com\/helps\/#website"},"datePublished":"2026-08-29T09:08:55+00:00","dateModified":"2026-08-29T09:08:55+00:00","author":{"@id":"https:\/\/www.wsisp.com\/helps\/#\/schema\/person\/358e386c577a3ab51c4493330a20ad41"},"breadcrumb":{"@id":"https:\/\/www.wsisp.com\/helps\/97496.html#breadcrumb"},"inLanguage":"zh-Hans","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.wsisp.com\/helps\/97496.html"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.wsisp.com\/helps\/97496.html#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u9996\u9875","item":"https:\/\/www.wsisp.com\/helps"},{"@type":"ListItem","position":2,"name":"\u3010deepseek-harness\u3011Cordis \u65f6\u7a7a\u53ef\u7ec4\u5408\u6027\u7f16\u7a0b\u8303\u5f0f \u2014 \u4e09\u6bb5\u5f0f\u7cbe\u8bfb\u7b14\u8bb0\uff08\u4e09\uff09"}]},{"@type":"WebSite","@id":"https:\/\/www.wsisp.com\/helps\/#website","url":"https:\/\/www.wsisp.com\/helps\/","name":"\u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3","description":"\u9999\u6e2f\u670d\u52a1\u5668_\u9999\u6e2f\u4e91\u670d\u52a1\u5668\u8d44\u8baf_\u670d\u52a1\u5668\u5e2e\u52a9\u6587\u6863_\u670d\u52a1\u5668\u6559\u7a0b","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.wsisp.com\/helps\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"zh-Hans"},{"@type":"Person","@id":"https:\/\/www.wsisp.com\/helps\/#\/schema\/person\/358e386c577a3ab51c4493330a20ad41","name":"admin","image":{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"https:\/\/www.wsisp.com\/helps\/#\/schema\/person\/image\/","url":"https:\/\/gravatar.wp-china-yes.net\/avatar\/?s=96&d=mystery","contentUrl":"https:\/\/gravatar.wp-china-yes.net\/avatar\/?s=96&d=mystery","caption":"admin"},"sameAs":["http:\/\/wp.wsisp.com"],"url":"https:\/\/www.wsisp.com\/helps\/author\/admin"}]}},"_links":{"self":[{"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/posts\/97496","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/comments?post=97496"}],"version-history":[{"count":0,"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/posts\/97496\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/media?parent=97496"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/categories?post=97496"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/tags?post=97496"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/topic?post=97496"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}