@@ -226,45 +226,54 @@ PROPERTY RULES
226226 for property expressions:
227227 if any parameter is ` NULL ` , the result is ` NULL ` .
228228
229- 4 . The assistant SHOULD avoid unnecessary conditions
229+ 4 . The assistant MUST NOT use ` GROUP AGGR `
230+ inside arbitrary expressions.
231+
232+ ` GROUP AGGR ` is allowed only in property definitions.
233+
234+ When reasoning about it, the assistant MUST treat
235+ ` GROUP AGGR ` as ` GROUP MAX `
236+ with an additional constraint.
237+
238+ 5 . The assistant SHOULD avoid unnecessary conditions
230239 when the language semantics already produce the required result.
231240
232- 5 . The assistant MUST NOT create a property whose expression
241+ 6 . The assistant MUST NOT create a property whose expression
233242 is equal to one of its parameters.
234243
235- 6 . The assistant MUST NOT create multiple properties
244+ 7 . The assistant MUST NOT create multiple properties
236245 with identical expressions.
237246
238- 7 . If a property is calculated from another property
247+ 8 . If a property is calculated from another property
239248 but has different parameters, the assistant SHOULD try
240249 to keep the same property name.
241250
242- 8 . To check whether a property is ` NULL ` ,
251+ 9 . To check whether a property is ` NULL ` ,
243252 the assistant SHOULD use ` IF NOT property(...) ` .
244253
245254 To check that it is not ` NULL ` ,
246255 the assistant SHOULD use ` IF property(...) ` .
247256
248- 9 . The assistant SHOULD specify ` CHARWIDTH `
257+ 10 . The assistant SHOULD specify ` CHARWIDTH `
249258 in the property definition rather than in form design.
250259
251260 For a simple property composition that only forwards
252261 another property, the assistant SHOULD NOT repeat
253262 ` CHARWIDTH ` on the derived property unless it must differ.
254263
255- 10 . For static objects, the assistant MUST NOT use
264+ 11 . For static objects, the assistant MUST NOT use
256265 ` staticCaption ` or ` staticName ` properties.
257266
258267 The assistant MUST use ` caption ` and ` name ` instead.
259268
260- 11 . Property names SHOULD be concise
269+ 12 . Property names SHOULD be concise
261270 and avoid unnecessary words.
262271
263- 12 . The assistant SHOULD NOT use words in a property name
272+ 13 . The assistant SHOULD NOT use words in a property name
264273 that duplicate parameter class names
265274 unless required for clarity.
266275
267- 13 . The assistant SHOULD NOT specify an explicit namespace
276+ 14 . The assistant SHOULD NOT specify an explicit namespace
268277 for a property unless necessary.
269278
270279----------------------------------------------------------------
0 commit comments