規範文字的效力由它在讀者程序裡的位置決定,逐字讀過也不保證綁定
論述基礎與限制
本卡由一個併行專案的條文驗證工作抽出。那項工作讓低階探針讀一份條文並作答,由兩名獨立判定者判讀,用意是量條文寫得夠不夠明確。位置這個形態在該次量測裡出現五次,且其中一次做過可證偽檢驗——預先寫下「若某款外移之後仍然零引用,位置判斷標準即不成立」,而該條件未觸發。
限制有三項。單一條文集合、單一探針配置,換一種被讀的文件是否同樣分佈沒有量過。位置判斷標準本身的證據強度不均:五個實例支持「位置影響引用」,而「取用的單位是有編號的款次」這一句由其中兩例推出,其餘三例與它相容而不獨立支持它。射程限制是量出來的,修法不是——外移一次即解那個序列只有一個位置,沒有第二處重複驗證。
核心原則
一條規範要綁住讀者的行為,它得落在讀者實際走過的那一步上。 寫得清不清楚決定的是讀懂之後照不照得出來,位置決定的是那一步會不會被走到;兩者獨立,而位置在前。
這一條的尖銳處在於送達與綁定是兩件事,而逐字引用只證明送達。那次量測裡有一款被六輪全文引用,讀完仍被判定為對結論沒有作用——文字到了讀者手上,也被複製進他的依據句,而他的判定在讀到它之前就已經收斂了。措辭層的修法對這一種無效,因為措辭沒有問題。
讀者取用的單位是程序中的一個步驟
讀者從一份規範裡取值的單位是程序中的一個步驟與一個有編號的款次,不是段落裡的一句話。 一句話與它上下文的距離,跟它會不會被取用,關係比想像中弱得多。
那次量測最乾淨的對照在同一個段落內:一句排除條件寫在清單的引言處,六輪合計零引用;而僅相距兩句的另一句被六輪全數引用。兩句的措辭品質相當,差別在前者位於讀者取值之前的鋪陳位置、後者位於他取值的那一格。「寫在同一段落」這個直覺因此有量測反證——同段落不構成同一個取用單位。
另外四個實例指向同一個機制的不同面:
| 形態 | 觀測 |
|---|---|
| 處置側的涵蓋關係陳述 | 十五輪合計零引用——讀者在前一步就已經收斂 |
| 判定表外的診斷句 | 讀者在表內取到可填的值就停止,表外段落不被當作取值來源 |
| 位於判定程序結尾的款次 | 六輪全文引用,讀完仍判它對結論無作用 |
| 排除條件的排除點 | 邏輯上成立,而它位於讀者做出選擇之後 |
第三列與第四列值得分開看,因為它們推翻的是兩個不同的直覺。第三列推翻「讀到了就會用」:引用率與綁定率是兩個量,前者是後者的必要條件而遠非充分。第四列推翻「邏輯正確就會生效」:一個排除條件可以在形式邏輯上完全成立,而讀者走到它的時候選擇已經做完,它排除的是一個已經不存在的分支。
射程限制:編號單位之內,末句仍然會掉
把一句話搬進有編號的款次買到的是那個款次的引用率,而不是款次內每一句的引用率。 同一次量測裡,某款整體 6/6 被引用,而它的末句只有 1/6 被抄出。
這一條限制了修法的力度。搬進款次解決的是「這一步會不會被走到」,款次內部的順序仍然在起作用,而末句是款內最弱的位置。承載處置的那一句要放在款次的開頭,尾巴留給舉例與邊界。
與「記錄沒被打開」的分界
這一類的讀者已經打開了那份文件,所以搬動住址的修法在這裡沒有著力點。 相鄰的 #317 處理的是記錄不在動作的路徑上——讀的人得先起疑才會去打開它,而值得記錄的失效多數的定義特徵正是當下沒有理由起疑。那張卡的修法是把可執行的那一半搬到會被執行的位置。
本卡的讀者不需要起疑:條文是他這次工作的唯一輸入,他從頭到尾讀完,其中一款還被他逐字抄進依據句。#317 的三個成員因此要擴成四個:
| 狀態 | 缺什麼 | 修法 |
|---|---|---|
| 知識在庫裡而沒被取用 | 觸發 | 改觸發時機 |
| 取用了而值域不夠 | 內容值域 | 補值域 |
| 取用得到而分類軸錯位 | 對得上的軸 | 用執行者的維度重新命名 |
| 取用了、值域也夠、仍不綁定 | 程序位置 | 移到讀者取值的那一步之前 |
分辨第四種與前三種的動作是查引用:那一款在讀者的產出裡出現過嗎。出現過而行為沒變,就是第四種,而前三種的修法對它一律無效——住址已經對了、值域已經涵蓋了、軸也沒錯,只是它在程序裡來得太晚。
修法
動手之前先問這一款被引用會發生什麼。 零引用有一類的處置是刪除而不是前移——某一支可能把原本判對的讀者推向判錯,那時把它搬到讀者一定會走到的位置是最壞的動作。判別與實例見 #351,順序不可顛倒。
把處置句搬到讀者取值的那一步之前,或搬進他取值的那一格。 判斷落點的方式是把讀者的程序逐步寫下來,指出他在哪一步產生這份規則要影響的那個值,處置句要落在那一步或更早。
處置側不出題。 讀者的判定在某一步收斂,而收斂之後的處置側陳述實測十五輪合計零引用——所以要量某一款有不有效力,題目不能出在那個位置。這是本卡的位置判斷標準反過來用在出題上:題目落在讀者走不到的位置時,量到的零是題目的性質,不是條文的性質,而兩者在讀數上同形。出題前先把讀者的程序寫下來,確認這一題問的東西落在他還會往下走的那幾步之內。
排除條件要放在選擇之前,並在選支那一句裡逐字寫出錯誤讀法並否定它。 排除的語意是收窄候選集合,而候選集合在讀者做完選擇之後已經塌成一個值,那時再排除不改變任何東西。
「邏輯上已排除」不等於行為上排除得了。 實測一款有三句:第一句給選項,第二、三句與引言都排除了錯誤讀法,而排除點全部位於選支之後,選支那一句的五個字在該點單獨成立地指向錯誤讀法。判定是「已排除,但排除點不在讀者做選擇的那一句」。所以客觀判斷標準要前移到選支點,並在同一句末把錯誤讀法逐字寫出來否定掉,不留白——留白的位置讀者會自己填。
承載處置的句子放在款次開頭。 款內末句的引用率遠低於款次本身,舉例與邊界才放尾巴。
驗收要同時看引用率與套用率,兩者是獨立的量。 改完之後重跑同一批探針,分開記那一款有沒有進到依據句、以及讀者有沒有實際照它做完。只看其中一個數字會把兩種相反的情形混為一談:
| 條文 | 引用 | 套用 | 讀法 | 處置 |
|---|---|---|---|---|
| 既有的段首規則 | 3/6 | 6/6 | 照做而不引用 | 不用管 |
| 新增的段首條款 | 6/6 | 4/6 | 引了而沒做完最後一步 | 把末句移到別的位置 |
實測這一組的處方相反,而單獨看引用率會把前者判成要搬、後者判成已生效,兩次都判錯。位置問題在稿面上沒有任何徵兆——那句話讀起來完全正常,它只是站錯了地方——所以這兩個量是唯一的訊號來源。
同一條套到審查意見上:審查意見要落在被審查者的執行路徑上,旁註形式的意見與零意見在產物上同形。 寫在報告附註裡的一條建議,它的讀者得先決定去讀附註。
判讀徵兆
- 一條規則反覆不生效,而檢討的結論每次都是「措辭要再清楚一點」
- 某一款在讀者的產出裡被逐字引用,而他的判定與該款要求的方向不同
- 一句排除條件邏輯上成立,而讀者走到它的時候選擇已經做完
- 某段落的某一句從來沒有被引用過,而同段落的鄰句引用率很高
- 條文的處置寫在款次的最後一句
- 審查意見寫成報告的附註、旁註或「另外值得一提」
跟其他抽象層原則的關係
- #317 已經記錄過的失效仍然重演,因為記錄住在要人先起疑才會打開的地方:同一條位置軸上更前面的一格。那裡的讀者沒有打開那份記錄,本卡的讀者讀完了整份還引用了它。兩者的修法方向相反——那裡把內容搬到動作路徑上,本卡把內容在一份已經被讀的文件內部往前搬,而分辨它們只要查一次引用。
- #243 要求執行者做判定的規則,要一併規定判定留下什麼痕跡:那張卡給的是「規則有沒有被執行」的可證偽形式,本卡給的是那份痕跡的讀法——痕跡裡出現了規則的字面而行為沒變,是位置問題,不是紀律問題。沒有痕跡的話這兩者分不開。
- #347 審查的產出是判定還是歸因要先宣告:本卡的五個實例全部出自那張卡描述的那次工作,而兩者管的層不同。那張問這一輪要買什麼產出,本卡問條文本身該放哪裡;本卡的驗收(改完重跑探針看引用率)正是那張卡歸因那一側的動作,所以它要挑值得單獨驗的位置。
- #334 代理比本體便宜:讀者在判定表內取到可填的值就停止,是那張卡描述的機制在讀規範這件事上的形態——表格是代理、表外的診斷段落是本體,而代理就在手邊。本卡加的是位置這一側的處置:把本體搬進表格那一格,差價就消失了。