aboutsummaryrefslogtreecommitdiffstats
path: root/Tests/MODELS2020-CaseStudies/case.study.pledge.run/config/output/debug/generated3valued.vql_deactivated
diff options
context:
space:
mode:
Diffstat (limited to 'Tests/MODELS2020-CaseStudies/case.study.pledge.run/config/output/debug/generated3valued.vql_deactivated')
-rw-r--r--Tests/MODELS2020-CaseStudies/case.study.pledge.run/config/output/debug/generated3valued.vql_deactivated18121
1 files changed, 0 insertions, 18121 deletions
diff --git a/Tests/MODELS2020-CaseStudies/case.study.pledge.run/config/output/debug/generated3valued.vql_deactivated b/Tests/MODELS2020-CaseStudies/case.study.pledge.run/config/output/debug/generated3valued.vql_deactivated
deleted file mode 100644
index a4ce14c6..00000000
--- a/Tests/MODELS2020-CaseStudies/case.study.pledge.run/config/output/debug/generated3valued.vql_deactivated
+++ /dev/null
@@ -1,18121 +0,0 @@
1import epackage "http://www.bme.hu/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage"
2import epackage "http://www.bme.hu/mit/inf/dslreasoner/logic/model/problem"
3import epackage "http://www.bme.hu/mit/inf/dslreasoner/logic/model/language"
4
5//////////
6// 0. Util
7//////////
8private pattern interpretation(problem:LogicProblem, interpretation:PartialInterpretation) {
9 PartialInterpretation.problem(interpretation,problem);
10}
11
12/////////////////////////
13// 0.1 Existence
14/////////////////////////
15/** [[exist(element)]]=1 */
16private pattern mustExist(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
17 find interpretation(problem,interpretation);
18 LogicProblem.elements(problem,element);
19} or {
20 find interpretation(problem,interpretation);
21 PartialInterpretation.newElements(interpretation,element);
22}
23
24/** [[exist(element)]]>=1/2 */
25private pattern mayExist(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
26 find mustExist(problem,interpretation,element);
27} or {
28 find interpretation(problem,interpretation);
29 neg find elementCloseWorld(element);
30 PartialInterpretation.openWorldElements(interpretation,element);
31}
32
33private pattern elementCloseWorld(element:DefinedElement) {
34 PartialInterpretation.openWorldElements(i,element);
35 PartialInterpretation.maxNewElements(i,0);
36} or {
37 Scope.targetTypeInterpretation(scope,interpretation);
38 PartialTypeInterpratation.elements(interpretation,element);
39 Scope.maxNewElements(scope,0);
40}
41
42////////////////////////
43// 0.2 Equivalence
44////////////////////////
45pattern mayEquivalent(problem:LogicProblem, interpretation:PartialInterpretation, a: DefinedElement, b: DefinedElement)
46// For non-primitive type. Boolean types always must equivalent or cannot equivalent
47{
48 find mayExist(problem,interpretation,a);
49 find mayExist(problem,interpretation,b);
50 a == b;
51} or {
52 find mayExist(problem,interpretation,a);
53 find mayExist(problem,interpretation,b);
54 IntegerElement(a);
55 IntegerElement(b);
56 PrimitiveElement.valueSet(a,false);
57} or {
58 find mayExist(problem,interpretation,a);
59 find mayExist(problem,interpretation,b);
60 IntegerElement(a);
61 IntegerElement(b);
62 PrimitiveElement.valueSet(b,false);
63} or {
64 find mayExist(problem,interpretation,a);
65 find mayExist(problem,interpretation,b);
66 RealElement(a);
67 RealElement(b);
68 PrimitiveElement.valueSet(a,false);
69} or {
70 find mayExist(problem,interpretation,a);
71 find mayExist(problem,interpretation,b);
72 RealElement(a);
73 RealElement(b);
74 PrimitiveElement.valueSet(b,false);
75} or {
76 find mayExist(problem,interpretation,a);
77 find mayExist(problem,interpretation,b);
78 RealElement(a);
79 IntegerElement(b);
80 PrimitiveElement.valueSet(a,false);
81} or {
82 find mayExist(problem,interpretation,a);
83 find mayExist(problem,interpretation,b);
84 RealElement(a);
85 IntegerElement(b);
86 PrimitiveElement.valueSet(b,false);
87} or {
88 find mayExist(problem,interpretation,a);
89 find mayExist(problem,interpretation,b);
90 IntegerElement(a);
91 RealElement(b);
92 PrimitiveElement.valueSet(a,false);
93} or {
94 find mayExist(problem,interpretation,a);
95 find mayExist(problem,interpretation,b);
96 IntegerElement(a);
97 RealElement(b);
98 PrimitiveElement.valueSet(b,false);
99} or {
100 find mayExist(problem,interpretation,a);
101 find mayExist(problem,interpretation,b);
102 StringElement(a);
103 StringElement(b);
104 PrimitiveElement.valueSet(a,false);
105} or {
106 find mayExist(problem,interpretation,a);
107 find mayExist(problem,interpretation,b);
108 StringElement(a);
109 StringElement(b);
110 PrimitiveElement.valueSet(b,false);
111}
112
113pattern mustEquivalent(problem:LogicProblem, interpretation:PartialInterpretation, a: DefinedElement, b: DefinedElement) {
114// For non-primitive and Boolean primitive type
115 find mustExist(problem,interpretation,a);
116 find mustExist(problem,interpretation,b);
117 a == b;
118} or {
119 find mustExist(problem,interpretation,a);
120 find mustExist(problem,interpretation,b);
121 PrimitiveElement.valueSet(a,true);
122 PrimitiveElement.valueSet(b,true);
123 IntegerElement.value(a,value);
124 IntegerElement.value(b,value);
125} or {
126 find mustExist(problem,interpretation,a);
127 find mustExist(problem,interpretation,b);
128 PrimitiveElement.valueSet(a,true);
129 PrimitiveElement.valueSet(b,true);
130 RealElement.value(a,value);
131 RealElement.value(b,value);
132} or {
133 find mustExist(problem,interpretation,a);
134 find mustExist(problem,interpretation,b);
135 PrimitiveElement.valueSet(a,true);
136 PrimitiveElement.valueSet(b,true);
137 RealElement.value(a,value);
138 IntegerElement.value(b,value);
139} or {
140 find mustExist(problem,interpretation,a);
141 find mustExist(problem,interpretation,b);
142 PrimitiveElement.valueSet(a,true);
143 PrimitiveElement.valueSet(b,true);
144 IntegerElement.value(a,value);
145 RealElement.value(b,value);
146} or {
147 find mustExist(problem,interpretation,a);
148 find mustExist(problem,interpretation,b);
149 PrimitiveElement.valueSet(a,true);
150 PrimitiveElement.valueSet(b,true);
151 StringElement.value(a,value);
152 StringElement.value(b,value);
153}
154
155//////////
156// 1. Problem-Specific Base Indexers
157//////////
158// 1.1 Type Indexers
159//////////
160// 1.1.1 Required Patterns by TypeIndexer
161//////////
162private pattern typeInterpretation(problem:LogicProblem, interpretation:PartialInterpretation, type:TypeDeclaration, typeInterpretation:PartialComplexTypeInterpretation) {
163 find interpretation(problem,interpretation);
164 LogicProblem.types(problem,type);
165 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
166 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
167}
168
169private pattern directInstanceOf(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement, type:Type) {
170 find interpretation(problem,interpretation);
171 LogicProblem.types(problem,type);
172 TypeDefinition.elements(type,element);
173} or {
174 find interpretation(problem,interpretation);
175 find typeInterpretation(problem,interpretation,type,typeInterpretation);
176 PartialComplexTypeInterpretation.elements(typeInterpretation,element);
177}
178
179private pattern isPrimitive(element: PrimitiveElement) {
180 PrimitiveElement(element);
181}
182//////////
183// 1.1.2 primitive Type Indexers
184//////////
185// Currently unused. Refer primitive types as:
186// > PrimitiveElement(element)
187// specific types are referred as:
188// > BooleanElement(variableName)
189// > IntegerElement(variableName)
190// > RealElement(variableName)
191// > StringElement(variableName)
192// And their value as
193// > BooleanElement.value(variableName,value)
194// > IntegerElement.value(variableName,value)
195// > RealElement.value(variableName,value)
196// > StringElement.value(variableName,value)
197// Whether a value is set is defined by:
198// > PrimitiveElement.valueSet(variableName,isFilled);
199//////////
200// 1.1.3 domain-specific Type Indexers
201//////////
202/**
203 * An element must be an instance of type "Constants class".
204 */
205private pattern mustInstanceOfConstants_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
206 Type.name(type,"Constants class");
207 find directInstanceOf(problem,interpretation,element,type);
208}
209private pattern scopeDisallowsNewConstants_class(problem:LogicProblem, interpretation:PartialInterpretation) {
210 find interpretation(problem,interpretation);
211 PartialInterpretation.scopes(interpretation,scope);
212 Scope.targetTypeInterpretation(scope,typeInterpretation);
213 Scope.maxNewElements(scope,0);
214 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
215 Type.name(type,"Constants class");
216}
217
218/**
219 * An element may be an instance of type "Constants class".
220 */
221private pattern mayInstanceOfConstants_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
222{
223 find interpretation(problem,interpretation);
224 PartialInterpretation.newElements(interpretation,element);
225 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
226 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
227 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
228 neg find mustInstanceOfExpense_class(problem,interpretation,element);
229 neg find mustInstanceOfAddress_class(problem,interpretation,element);
230 neg find mustInstanceOfDS_class(problem,interpretation,element);
231 neg find mustInstanceOfIncome_Type_class(problem,interpretation,element);
232 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
233 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
234 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
235 neg find mustInstanceOfIncome_class(problem,interpretation,element);
236 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
237 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
238 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
239 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
240 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
241 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
242 neg find scopeDisallowsNewConstants_class(problem, interpretation);
243 neg find isPrimitive(element);
244} or {
245 find interpretation(problem,interpretation);
246 PartialInterpretation.openWorldElements(interpretation,element);
247 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
248 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
249 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
250 neg find mustInstanceOfExpense_class(problem,interpretation,element);
251 neg find mustInstanceOfAddress_class(problem,interpretation,element);
252 neg find mustInstanceOfDS_class(problem,interpretation,element);
253 neg find mustInstanceOfIncome_Type_class(problem,interpretation,element);
254 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
255 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
256 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
257 neg find mustInstanceOfIncome_class(problem,interpretation,element);
258 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
259 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
260 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
261 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
262 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
263 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
264 neg find scopeDisallowsNewConstants_class(problem, interpretation);
265 neg find isPrimitive(element);
266} or
267{ find mustInstanceOfConstants_class(problem,interpretation,element); }
268/**
269 * An element must be an instance of type "Income_Tax class".
270 */
271private pattern mustInstanceOfIncome_Tax_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
272 Type.name(type,"Income_Tax class");
273 find directInstanceOf(problem,interpretation,element,type);
274}
275private pattern scopeDisallowsNewIncome_Tax_class(problem:LogicProblem, interpretation:PartialInterpretation) {
276 find interpretation(problem,interpretation);
277 PartialInterpretation.scopes(interpretation,scope);
278 Scope.targetTypeInterpretation(scope,typeInterpretation);
279 Scope.maxNewElements(scope,0);
280 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
281 Type.name(type,"Income_Tax class");
282}
283
284/**
285 * An element may be an instance of type "Income_Tax class".
286 */
287private pattern mayInstanceOfIncome_Tax_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
288{
289 find interpretation(problem,interpretation);
290 PartialInterpretation.newElements(interpretation,element);
291 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
292 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
293 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
294 neg find mustInstanceOfConstants_class(problem,interpretation,element);
295 neg find mustInstanceOfExpense_class(problem,interpretation,element);
296 neg find mustInstanceOfAddress_class(problem,interpretation,element);
297 neg find mustInstanceOfDS_class(problem,interpretation,element);
298 neg find mustInstanceOfIncome_Type_class(problem,interpretation,element);
299 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
300 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
301 neg find mustInstanceOfIncome_class(problem,interpretation,element);
302 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
303 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
304 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
305 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
306 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
307 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
308 neg find scopeDisallowsNewIncome_Tax_class(problem, interpretation);
309 neg find isPrimitive(element);
310} or {
311 find interpretation(problem,interpretation);
312 PartialInterpretation.openWorldElements(interpretation,element);
313 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
314 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
315 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
316 neg find mustInstanceOfConstants_class(problem,interpretation,element);
317 neg find mustInstanceOfExpense_class(problem,interpretation,element);
318 neg find mustInstanceOfAddress_class(problem,interpretation,element);
319 neg find mustInstanceOfDS_class(problem,interpretation,element);
320 neg find mustInstanceOfIncome_Type_class(problem,interpretation,element);
321 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
322 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
323 neg find mustInstanceOfIncome_class(problem,interpretation,element);
324 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
325 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
326 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
327 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
328 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
329 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
330 neg find scopeDisallowsNewIncome_Tax_class(problem, interpretation);
331 neg find isPrimitive(element);
332} or
333{ find mustInstanceOfIncome_Tax_class(problem,interpretation,element); }
334/**
335 * An element must be an instance of type "Tax_Payer class".
336 */
337private pattern mustInstanceOfTax_Payer_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
338 Type.name(type,"Tax_Payer class");
339 find directInstanceOf(problem,interpretation,element,type);
340}
341private pattern scopeDisallowsNewTax_Payer_class(problem:LogicProblem, interpretation:PartialInterpretation) {
342 find interpretation(problem,interpretation);
343 PartialInterpretation.scopes(interpretation,scope);
344 Scope.targetTypeInterpretation(scope,typeInterpretation);
345 Scope.maxNewElements(scope,0);
346 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
347 Type.name(type,"Tax_Payer class");
348}
349
350/**
351 * An element may be an instance of type "Tax_Payer class".
352 */
353private pattern mayInstanceOfTax_Payer_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
354{
355 find interpretation(problem,interpretation);
356 PartialInterpretation.newElements(interpretation,element);
357 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
358 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
359 neg find mustInstanceOfExpense_class(problem,interpretation,element);
360 neg find mustInstanceOfConstants_class(problem,interpretation,element);
361 neg find mustInstanceOfAddress_class(problem,interpretation,element);
362 neg find mustInstanceOfDS_class(problem,interpretation,element);
363 neg find mustInstanceOfIncome_Type_class(problem,interpretation,element);
364 neg find mustInstanceOfResident_Tax_Payer_class(problem,interpretation,element);
365 neg find mustInstanceOfNon_Resident_Tax_Payer_class(problem,interpretation,element);
366 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
367 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
368 neg find mustInstanceOfDependent_class(problem,interpretation,element);
369 neg find mustInstanceOfIncome_class(problem,interpretation,element);
370 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
371 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
372 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
373 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
374 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
375 neg find mustInstanceOfHousehold_class(problem,interpretation,element);
376 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
377 neg find scopeDisallowsNewTax_Payer_class(problem, interpretation);
378 neg find isPrimitive(element);
379} or {
380 find interpretation(problem,interpretation);
381 PartialInterpretation.openWorldElements(interpretation,element);
382 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
383 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
384 neg find mustInstanceOfExpense_class(problem,interpretation,element);
385 neg find mustInstanceOfConstants_class(problem,interpretation,element);
386 neg find mustInstanceOfAddress_class(problem,interpretation,element);
387 neg find mustInstanceOfDS_class(problem,interpretation,element);
388 neg find mustInstanceOfIncome_Type_class(problem,interpretation,element);
389 neg find mustInstanceOfResident_Tax_Payer_class(problem,interpretation,element);
390 neg find mustInstanceOfNon_Resident_Tax_Payer_class(problem,interpretation,element);
391 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
392 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
393 neg find mustInstanceOfDependent_class(problem,interpretation,element);
394 neg find mustInstanceOfIncome_class(problem,interpretation,element);
395 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
396 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
397 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
398 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
399 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
400 neg find mustInstanceOfHousehold_class(problem,interpretation,element);
401 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
402 neg find scopeDisallowsNewTax_Payer_class(problem, interpretation);
403 neg find isPrimitive(element);
404} or
405{ find mustInstanceOfTax_Payer_class(problem,interpretation,element); }
406/**
407 * An element must be an instance of type "Physical_Person class".
408 */
409private pattern mustInstanceOfPhysical_Person_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
410 Type.name(type,"Physical_Person class");
411 find directInstanceOf(problem,interpretation,element,type);
412}
413private pattern scopeDisallowsNewPhysical_Person_class(problem:LogicProblem, interpretation:PartialInterpretation) {
414 find interpretation(problem,interpretation);
415 PartialInterpretation.scopes(interpretation,scope);
416 Scope.targetTypeInterpretation(scope,typeInterpretation);
417 Scope.maxNewElements(scope,0);
418 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
419 Type.name(type,"Physical_Person class");
420}
421
422/**
423 * An element may be an instance of type "Physical_Person class".
424 */
425private pattern mayInstanceOfPhysical_Person_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
426{
427 find interpretation(problem,interpretation);
428 PartialInterpretation.newElements(interpretation,element);
429 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
430 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
431 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
432 neg find mustInstanceOfExpense_class(problem,interpretation,element);
433 neg find mustInstanceOfConstants_class(problem,interpretation,element);
434 neg find mustInstanceOfAddress_class(problem,interpretation,element);
435 neg find mustInstanceOfDS_class(problem,interpretation,element);
436 neg find mustInstanceOfIncome_Type_class(problem,interpretation,element);
437 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
438 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
439 neg find mustInstanceOfDependent_class(problem,interpretation,element);
440 neg find mustInstanceOfIncome_class(problem,interpretation,element);
441 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
442 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
443 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
444 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
445 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
446 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
447 neg find scopeDisallowsNewPhysical_Person_class(problem, interpretation);
448 neg find isPrimitive(element);
449} or {
450 find interpretation(problem,interpretation);
451 PartialInterpretation.openWorldElements(interpretation,element);
452 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
453 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
454 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
455 neg find mustInstanceOfExpense_class(problem,interpretation,element);
456 neg find mustInstanceOfConstants_class(problem,interpretation,element);
457 neg find mustInstanceOfAddress_class(problem,interpretation,element);
458 neg find mustInstanceOfDS_class(problem,interpretation,element);
459 neg find mustInstanceOfIncome_Type_class(problem,interpretation,element);
460 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
461 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
462 neg find mustInstanceOfDependent_class(problem,interpretation,element);
463 neg find mustInstanceOfIncome_class(problem,interpretation,element);
464 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
465 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
466 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
467 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
468 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
469 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
470 neg find scopeDisallowsNewPhysical_Person_class(problem, interpretation);
471 neg find isPrimitive(element);
472} or
473{ find mustInstanceOfPhysical_Person_class(problem,interpretation,element); }
474/**
475 * An element must be an instance of type "Address class".
476 */
477private pattern mustInstanceOfAddress_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
478 Type.name(type,"Address class");
479 find directInstanceOf(problem,interpretation,element,type);
480}
481private pattern scopeDisallowsNewAddress_class(problem:LogicProblem, interpretation:PartialInterpretation) {
482 find interpretation(problem,interpretation);
483 PartialInterpretation.scopes(interpretation,scope);
484 Scope.targetTypeInterpretation(scope,typeInterpretation);
485 Scope.maxNewElements(scope,0);
486 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
487 Type.name(type,"Address class");
488}
489
490/**
491 * An element may be an instance of type "Address class".
492 */
493private pattern mayInstanceOfAddress_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
494{
495 find interpretation(problem,interpretation);
496 PartialInterpretation.newElements(interpretation,element);
497 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
498 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
499 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
500 neg find mustInstanceOfExpense_class(problem,interpretation,element);
501 neg find mustInstanceOfConstants_class(problem,interpretation,element);
502 neg find mustInstanceOfDS_class(problem,interpretation,element);
503 neg find mustInstanceOfIncome_Type_class(problem,interpretation,element);
504 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
505 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
506 neg find mustInstanceOfFiscal_Address_class(problem,interpretation,element);
507 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
508 neg find mustInstanceOfIncome_class(problem,interpretation,element);
509 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
510 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
511 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
512 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
513 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
514 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
515 neg find mustInstanceOfHabitual_Address_class(problem,interpretation,element);
516 neg find scopeDisallowsNewAddress_class(problem, interpretation);
517 neg find isPrimitive(element);
518} or {
519 find interpretation(problem,interpretation);
520 PartialInterpretation.openWorldElements(interpretation,element);
521 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
522 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
523 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
524 neg find mustInstanceOfExpense_class(problem,interpretation,element);
525 neg find mustInstanceOfConstants_class(problem,interpretation,element);
526 neg find mustInstanceOfDS_class(problem,interpretation,element);
527 neg find mustInstanceOfIncome_Type_class(problem,interpretation,element);
528 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
529 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
530 neg find mustInstanceOfFiscal_Address_class(problem,interpretation,element);
531 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
532 neg find mustInstanceOfIncome_class(problem,interpretation,element);
533 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
534 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
535 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
536 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
537 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
538 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
539 neg find mustInstanceOfHabitual_Address_class(problem,interpretation,element);
540 neg find scopeDisallowsNewAddress_class(problem, interpretation);
541 neg find isPrimitive(element);
542} or
543{ find mustInstanceOfAddress_class(problem,interpretation,element); }
544/**
545 * An element must be an instance of type "Expense class".
546 */
547private pattern mustInstanceOfExpense_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
548 Type.name(type,"Expense class");
549 find directInstanceOf(problem,interpretation,element,type);
550}
551private pattern scopeDisallowsNewExpense_class(problem:LogicProblem, interpretation:PartialInterpretation) {
552 find interpretation(problem,interpretation);
553 PartialInterpretation.scopes(interpretation,scope);
554 Scope.targetTypeInterpretation(scope,typeInterpretation);
555 Scope.maxNewElements(scope,0);
556 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
557 Type.name(type,"Expense class");
558}
559
560/**
561 * An element may be an instance of type "Expense class".
562 */
563private pattern mayInstanceOfExpense_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
564{
565 find interpretation(problem,interpretation);
566 PartialInterpretation.newElements(interpretation,element);
567 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
568 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
569 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
570 neg find mustInstanceOfProfessional_Expense_class(problem,interpretation,element);
571 neg find mustInstanceOfConstants_class(problem,interpretation,element);
572 neg find mustInstanceOfAddress_class(problem,interpretation,element);
573 neg find mustInstanceOfDS_class(problem,interpretation,element);
574 neg find mustInstanceOfIncome_Type_class(problem,interpretation,element);
575 neg find mustInstanceOfSpecial_Expense_DS_class(problem,interpretation,element);
576 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
577 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
578 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
579 neg find mustInstanceOfSpousal_Expense_AC_class(problem,interpretation,element);
580 neg find mustInstanceOfIncome_class(problem,interpretation,element);
581 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
582 neg find mustInstanceOfExtraordinary_Expense_CE_class(problem,interpretation,element);
583 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
584 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
585 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
586 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
587 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
588 neg find scopeDisallowsNewExpense_class(problem, interpretation);
589 neg find isPrimitive(element);
590} or {
591 find interpretation(problem,interpretation);
592 PartialInterpretation.openWorldElements(interpretation,element);
593 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
594 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
595 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
596 neg find mustInstanceOfProfessional_Expense_class(problem,interpretation,element);
597 neg find mustInstanceOfConstants_class(problem,interpretation,element);
598 neg find mustInstanceOfAddress_class(problem,interpretation,element);
599 neg find mustInstanceOfDS_class(problem,interpretation,element);
600 neg find mustInstanceOfIncome_Type_class(problem,interpretation,element);
601 neg find mustInstanceOfSpecial_Expense_DS_class(problem,interpretation,element);
602 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
603 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
604 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
605 neg find mustInstanceOfSpousal_Expense_AC_class(problem,interpretation,element);
606 neg find mustInstanceOfIncome_class(problem,interpretation,element);
607 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
608 neg find mustInstanceOfExtraordinary_Expense_CE_class(problem,interpretation,element);
609 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
610 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
611 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
612 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
613 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
614 neg find scopeDisallowsNewExpense_class(problem, interpretation);
615 neg find isPrimitive(element);
616} or
617{ find mustInstanceOfExpense_class(problem,interpretation,element); }
618/**
619 * An element must be an instance of type "Dependent class".
620 */
621private pattern mustInstanceOfDependent_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
622 Type.name(type,"Dependent class");
623 find directInstanceOf(problem,interpretation,element,type);
624}
625private pattern scopeDisallowsNewDependent_class(problem:LogicProblem, interpretation:PartialInterpretation) {
626 find interpretation(problem,interpretation);
627 PartialInterpretation.scopes(interpretation,scope);
628 Scope.targetTypeInterpretation(scope,typeInterpretation);
629 Scope.maxNewElements(scope,0);
630 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
631 Type.name(type,"Dependent class");
632}
633
634/**
635 * An element may be an instance of type "Dependent class".
636 */
637private pattern mayInstanceOfDependent_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
638{
639 find interpretation(problem,interpretation);
640 PartialInterpretation.newElements(interpretation,element);
641 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
642 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
643 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
644 neg find mustInstanceOfExpense_class(problem,interpretation,element);
645 neg find mustInstanceOfConstants_class(problem,interpretation,element);
646 neg find mustInstanceOfAddress_class(problem,interpretation,element);
647 neg find mustInstanceOfDS_class(problem,interpretation,element);
648 neg find mustInstanceOfIncome_Type_class(problem,interpretation,element);
649 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
650 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
651 neg find mustInstanceOfIncome_class(problem,interpretation,element);
652 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
653 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
654 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
655 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
656 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
657 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
658 neg find scopeDisallowsNewDependent_class(problem, interpretation);
659 neg find isPrimitive(element);
660} or {
661 find interpretation(problem,interpretation);
662 PartialInterpretation.openWorldElements(interpretation,element);
663 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
664 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
665 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
666 neg find mustInstanceOfExpense_class(problem,interpretation,element);
667 neg find mustInstanceOfConstants_class(problem,interpretation,element);
668 neg find mustInstanceOfAddress_class(problem,interpretation,element);
669 neg find mustInstanceOfDS_class(problem,interpretation,element);
670 neg find mustInstanceOfIncome_Type_class(problem,interpretation,element);
671 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
672 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
673 neg find mustInstanceOfIncome_class(problem,interpretation,element);
674 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
675 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
676 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
677 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
678 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
679 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
680 neg find scopeDisallowsNewDependent_class(problem, interpretation);
681 neg find isPrimitive(element);
682} or
683{ find mustInstanceOfDependent_class(problem,interpretation,element); }
684/**
685 * An element must be an instance of type "External_Allowance class".
686 */
687private pattern mustInstanceOfExternal_Allowance_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
688 Type.name(type,"External_Allowance class");
689 find directInstanceOf(problem,interpretation,element,type);
690}
691private pattern scopeDisallowsNewExternal_Allowance_class(problem:LogicProblem, interpretation:PartialInterpretation) {
692 find interpretation(problem,interpretation);
693 PartialInterpretation.scopes(interpretation,scope);
694 Scope.targetTypeInterpretation(scope,typeInterpretation);
695 Scope.maxNewElements(scope,0);
696 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
697 Type.name(type,"External_Allowance class");
698}
699
700/**
701 * An element may be an instance of type "External_Allowance class".
702 */
703private pattern mayInstanceOfExternal_Allowance_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
704{
705 find interpretation(problem,interpretation);
706 PartialInterpretation.newElements(interpretation,element);
707 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
708 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
709 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
710 neg find mustInstanceOfConstants_class(problem,interpretation,element);
711 neg find mustInstanceOfExpense_class(problem,interpretation,element);
712 neg find mustInstanceOfAddress_class(problem,interpretation,element);
713 neg find mustInstanceOfIncome_Type_class(problem,interpretation,element);
714 neg find mustInstanceOfDS_class(problem,interpretation,element);
715 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
716 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
717 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
718 neg find mustInstanceOfIncome_class(problem,interpretation,element);
719 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
720 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
721 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
722 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
723 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
724 neg find scopeDisallowsNewExternal_Allowance_class(problem, interpretation);
725 neg find isPrimitive(element);
726} or {
727 find interpretation(problem,interpretation);
728 PartialInterpretation.openWorldElements(interpretation,element);
729 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
730 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
731 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
732 neg find mustInstanceOfConstants_class(problem,interpretation,element);
733 neg find mustInstanceOfExpense_class(problem,interpretation,element);
734 neg find mustInstanceOfAddress_class(problem,interpretation,element);
735 neg find mustInstanceOfIncome_Type_class(problem,interpretation,element);
736 neg find mustInstanceOfDS_class(problem,interpretation,element);
737 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
738 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
739 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
740 neg find mustInstanceOfIncome_class(problem,interpretation,element);
741 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
742 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
743 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
744 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
745 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
746 neg find scopeDisallowsNewExternal_Allowance_class(problem, interpretation);
747 neg find isPrimitive(element);
748} or
749{ find mustInstanceOfExternal_Allowance_class(problem,interpretation,element); }
750/**
751 * An element must be an instance of type "Household class".
752 */
753private pattern mustInstanceOfHousehold_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
754 Type.name(type,"Household class");
755 find directInstanceOf(problem,interpretation,element,type);
756}
757private pattern scopeDisallowsNewHousehold_class(problem:LogicProblem, interpretation:PartialInterpretation) {
758 find interpretation(problem,interpretation);
759 PartialInterpretation.scopes(interpretation,scope);
760 Scope.targetTypeInterpretation(scope,typeInterpretation);
761 Scope.maxNewElements(scope,0);
762 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
763 Type.name(type,"Household class");
764}
765
766/**
767 * An element may be an instance of type "Household class".
768 */
769private pattern mayInstanceOfHousehold_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
770{
771 find interpretation(problem,interpretation);
772 PartialInterpretation.newElements(interpretation,element);
773 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
774 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
775 neg find mustInstanceOfExpense_class(problem,interpretation,element);
776 neg find mustInstanceOfConstants_class(problem,interpretation,element);
777 neg find mustInstanceOfAddress_class(problem,interpretation,element);
778 neg find mustInstanceOfIncome_Type_class(problem,interpretation,element);
779 neg find mustInstanceOfDS_class(problem,interpretation,element);
780 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
781 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
782 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
783 neg find mustInstanceOfIncome_class(problem,interpretation,element);
784 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
785 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
786 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
787 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
788 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
789 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
790 neg find scopeDisallowsNewHousehold_class(problem, interpretation);
791 neg find isPrimitive(element);
792} or {
793 find interpretation(problem,interpretation);
794 PartialInterpretation.openWorldElements(interpretation,element);
795 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
796 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
797 neg find mustInstanceOfExpense_class(problem,interpretation,element);
798 neg find mustInstanceOfConstants_class(problem,interpretation,element);
799 neg find mustInstanceOfAddress_class(problem,interpretation,element);
800 neg find mustInstanceOfIncome_Type_class(problem,interpretation,element);
801 neg find mustInstanceOfDS_class(problem,interpretation,element);
802 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
803 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
804 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
805 neg find mustInstanceOfIncome_class(problem,interpretation,element);
806 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
807 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
808 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
809 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
810 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
811 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
812 neg find scopeDisallowsNewHousehold_class(problem, interpretation);
813 neg find isPrimitive(element);
814} or
815{ find mustInstanceOfHousehold_class(problem,interpretation,element); }
816/**
817 * An element must be an instance of type "Legal_Union_Record class".
818 */
819private pattern mustInstanceOfLegal_Union_Record_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
820 Type.name(type,"Legal_Union_Record class");
821 find directInstanceOf(problem,interpretation,element,type);
822}
823private pattern scopeDisallowsNewLegal_Union_Record_class(problem:LogicProblem, interpretation:PartialInterpretation) {
824 find interpretation(problem,interpretation);
825 PartialInterpretation.scopes(interpretation,scope);
826 Scope.targetTypeInterpretation(scope,typeInterpretation);
827 Scope.maxNewElements(scope,0);
828 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
829 Type.name(type,"Legal_Union_Record class");
830}
831
832/**
833 * An element may be an instance of type "Legal_Union_Record class".
834 */
835private pattern mayInstanceOfLegal_Union_Record_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
836{
837 find interpretation(problem,interpretation);
838 PartialInterpretation.newElements(interpretation,element);
839 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
840 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
841 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
842 neg find mustInstanceOfConstants_class(problem,interpretation,element);
843 neg find mustInstanceOfExpense_class(problem,interpretation,element);
844 neg find mustInstanceOfAddress_class(problem,interpretation,element);
845 neg find mustInstanceOfIncome_Type_class(problem,interpretation,element);
846 neg find mustInstanceOfDS_class(problem,interpretation,element);
847 neg find mustInstanceOfMarriage_Record_class(problem,interpretation,element);
848 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
849 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
850 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
851 neg find mustInstanceOfPartnership_Record_class(problem,interpretation,element);
852 neg find mustInstanceOfIncome_class(problem,interpretation,element);
853 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
854 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
855 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
856 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
857 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
858 neg find scopeDisallowsNewLegal_Union_Record_class(problem, interpretation);
859 neg find isPrimitive(element);
860} or {
861 find interpretation(problem,interpretation);
862 PartialInterpretation.openWorldElements(interpretation,element);
863 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
864 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
865 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
866 neg find mustInstanceOfConstants_class(problem,interpretation,element);
867 neg find mustInstanceOfExpense_class(problem,interpretation,element);
868 neg find mustInstanceOfAddress_class(problem,interpretation,element);
869 neg find mustInstanceOfIncome_Type_class(problem,interpretation,element);
870 neg find mustInstanceOfDS_class(problem,interpretation,element);
871 neg find mustInstanceOfMarriage_Record_class(problem,interpretation,element);
872 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
873 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
874 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
875 neg find mustInstanceOfPartnership_Record_class(problem,interpretation,element);
876 neg find mustInstanceOfIncome_class(problem,interpretation,element);
877 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
878 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
879 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
880 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
881 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
882 neg find scopeDisallowsNewLegal_Union_Record_class(problem, interpretation);
883 neg find isPrimitive(element);
884} or
885{ find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element); }
886/**
887 * An element must be an instance of type "Tax_Property class".
888 */
889private pattern mustInstanceOfTax_Property_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
890 Type.name(type,"Tax_Property class");
891 find directInstanceOf(problem,interpretation,element,type);
892}
893private pattern scopeDisallowsNewTax_Property_class(problem:LogicProblem, interpretation:PartialInterpretation) {
894 find interpretation(problem,interpretation);
895 PartialInterpretation.scopes(interpretation,scope);
896 Scope.targetTypeInterpretation(scope,typeInterpretation);
897 Scope.maxNewElements(scope,0);
898 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
899 Type.name(type,"Tax_Property class");
900}
901
902/**
903 * An element may be an instance of type "Tax_Property class".
904 */
905private pattern mayInstanceOfTax_Property_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
906{
907 find interpretation(problem,interpretation);
908 PartialInterpretation.newElements(interpretation,element);
909 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
910 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
911 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
912 neg find mustInstanceOfExpense_class(problem,interpretation,element);
913 neg find mustInstanceOfConstants_class(problem,interpretation,element);
914 neg find mustInstanceOfAddress_class(problem,interpretation,element);
915 neg find mustInstanceOfIncome_Type_class(problem,interpretation,element);
916 neg find mustInstanceOfDS_class(problem,interpretation,element);
917 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
918 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
919 neg find mustInstanceOfIncome_class(problem,interpretation,element);
920 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
921 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
922 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
923 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
924 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
925 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
926 neg find scopeDisallowsNewTax_Property_class(problem, interpretation);
927 neg find isPrimitive(element);
928} or {
929 find interpretation(problem,interpretation);
930 PartialInterpretation.openWorldElements(interpretation,element);
931 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
932 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
933 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
934 neg find mustInstanceOfExpense_class(problem,interpretation,element);
935 neg find mustInstanceOfConstants_class(problem,interpretation,element);
936 neg find mustInstanceOfAddress_class(problem,interpretation,element);
937 neg find mustInstanceOfIncome_Type_class(problem,interpretation,element);
938 neg find mustInstanceOfDS_class(problem,interpretation,element);
939 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
940 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
941 neg find mustInstanceOfIncome_class(problem,interpretation,element);
942 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
943 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
944 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
945 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
946 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
947 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
948 neg find scopeDisallowsNewTax_Property_class(problem, interpretation);
949 neg find isPrimitive(element);
950} or
951{ find mustInstanceOfTax_Property_class(problem,interpretation,element); }
952/**
953 * An element must be an instance of type "Tax_Case class".
954 */
955private pattern mustInstanceOfTax_Case_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
956 Type.name(type,"Tax_Case class");
957 find directInstanceOf(problem,interpretation,element,type);
958}
959private pattern scopeDisallowsNewTax_Case_class(problem:LogicProblem, interpretation:PartialInterpretation) {
960 find interpretation(problem,interpretation);
961 PartialInterpretation.scopes(interpretation,scope);
962 Scope.targetTypeInterpretation(scope,typeInterpretation);
963 Scope.maxNewElements(scope,0);
964 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
965 Type.name(type,"Tax_Case class");
966}
967
968/**
969 * An element may be an instance of type "Tax_Case class".
970 */
971private pattern mayInstanceOfTax_Case_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
972{
973 find interpretation(problem,interpretation);
974 PartialInterpretation.newElements(interpretation,element);
975 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
976 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
977 neg find mustInstanceOfConstants_class(problem,interpretation,element);
978 neg find mustInstanceOfExpense_class(problem,interpretation,element);
979 neg find mustInstanceOfAddress_class(problem,interpretation,element);
980 neg find mustInstanceOfDS_class(problem,interpretation,element);
981 neg find mustInstanceOfIncome_Type_class(problem,interpretation,element);
982 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
983 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
984 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
985 neg find mustInstanceOfIncome_class(problem,interpretation,element);
986 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
987 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
988 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
989 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
990 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
991 neg find mustInstanceOfHousehold_class(problem,interpretation,element);
992 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
993 neg find scopeDisallowsNewTax_Case_class(problem, interpretation);
994 neg find isPrimitive(element);
995} or {
996 find interpretation(problem,interpretation);
997 PartialInterpretation.openWorldElements(interpretation,element);
998 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
999 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
1000 neg find mustInstanceOfConstants_class(problem,interpretation,element);
1001 neg find mustInstanceOfExpense_class(problem,interpretation,element);
1002 neg find mustInstanceOfAddress_class(problem,interpretation,element);
1003 neg find mustInstanceOfDS_class(problem,interpretation,element);
1004 neg find mustInstanceOfIncome_Type_class(problem,interpretation,element);
1005 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
1006 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
1007 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
1008 neg find mustInstanceOfIncome_class(problem,interpretation,element);
1009 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
1010 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
1011 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
1012 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
1013 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
1014 neg find mustInstanceOfHousehold_class(problem,interpretation,element);
1015 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
1016 neg find scopeDisallowsNewTax_Case_class(problem, interpretation);
1017 neg find isPrimitive(element);
1018} or
1019{ find mustInstanceOfTax_Case_class(problem,interpretation,element); }
1020/**
1021 * An element must be an instance of type "FromAgent class".
1022 */
1023private pattern mustInstanceOfFromAgent_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
1024 Type.name(type,"FromAgent class");
1025 find directInstanceOf(problem,interpretation,element,type);
1026}
1027private pattern scopeDisallowsNewFromAgent_class(problem:LogicProblem, interpretation:PartialInterpretation) {
1028 find interpretation(problem,interpretation);
1029 PartialInterpretation.scopes(interpretation,scope);
1030 Scope.targetTypeInterpretation(scope,typeInterpretation);
1031 Scope.maxNewElements(scope,0);
1032 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
1033 Type.name(type,"FromAgent class");
1034}
1035
1036/**
1037 * An element may be an instance of type "FromAgent class".
1038 */
1039private pattern mayInstanceOfFromAgent_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
1040{
1041 find interpretation(problem,interpretation);
1042 PartialInterpretation.newElements(interpretation,element);
1043 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
1044 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
1045 neg find mustInstanceOfExpense_class(problem,interpretation,element);
1046 neg find mustInstanceOfConstants_class(problem,interpretation,element);
1047 neg find mustInstanceOfAddress_class(problem,interpretation,element);
1048 neg find mustInstanceOfIncome_Type_class(problem,interpretation,element);
1049 neg find mustInstanceOfDS_class(problem,interpretation,element);
1050 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
1051 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
1052 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
1053 neg find mustInstanceOfIncome_class(problem,interpretation,element);
1054 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
1055 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
1056 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
1057 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
1058 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
1059 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
1060 neg find scopeDisallowsNewFromAgent_class(problem, interpretation);
1061 neg find isPrimitive(element);
1062} or {
1063 find interpretation(problem,interpretation);
1064 PartialInterpretation.openWorldElements(interpretation,element);
1065 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
1066 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
1067 neg find mustInstanceOfExpense_class(problem,interpretation,element);
1068 neg find mustInstanceOfConstants_class(problem,interpretation,element);
1069 neg find mustInstanceOfAddress_class(problem,interpretation,element);
1070 neg find mustInstanceOfIncome_Type_class(problem,interpretation,element);
1071 neg find mustInstanceOfDS_class(problem,interpretation,element);
1072 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
1073 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
1074 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
1075 neg find mustInstanceOfIncome_class(problem,interpretation,element);
1076 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
1077 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
1078 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
1079 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
1080 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
1081 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
1082 neg find scopeDisallowsNewFromAgent_class(problem, interpretation);
1083 neg find isPrimitive(element);
1084} or
1085{ find mustInstanceOfFromAgent_class(problem,interpretation,element); }
1086/**
1087 * An element must be an instance of type "Income class".
1088 */
1089private pattern mustInstanceOfIncome_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
1090 Type.name(type,"Income class");
1091 find directInstanceOf(problem,interpretation,element,type);
1092}
1093private pattern scopeDisallowsNewIncome_class(problem:LogicProblem, interpretation:PartialInterpretation) {
1094 find interpretation(problem,interpretation);
1095 PartialInterpretation.scopes(interpretation,scope);
1096 Scope.targetTypeInterpretation(scope,typeInterpretation);
1097 Scope.maxNewElements(scope,0);
1098 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
1099 Type.name(type,"Income class");
1100}
1101
1102/**
1103 * An element may be an instance of type "Income class".
1104 */
1105private pattern mayInstanceOfIncome_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
1106{
1107 find interpretation(problem,interpretation);
1108 PartialInterpretation.newElements(interpretation,element);
1109 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
1110 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
1111 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
1112 neg find mustInstanceOfConstants_class(problem,interpretation,element);
1113 neg find mustInstanceOfExpense_class(problem,interpretation,element);
1114 neg find mustInstanceOfAddress_class(problem,interpretation,element);
1115 neg find mustInstanceOfForeign_Income_class(problem,interpretation,element);
1116 neg find mustInstanceOfIncome_Type_class(problem,interpretation,element);
1117 neg find mustInstanceOfDS_class(problem,interpretation,element);
1118 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
1119 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
1120 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
1121 neg find mustInstanceOfLocal_Income_class(problem,interpretation,element);
1122 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
1123 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
1124 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
1125 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
1126 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
1127 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
1128 neg find scopeDisallowsNewIncome_class(problem, interpretation);
1129 neg find isPrimitive(element);
1130} or {
1131 find interpretation(problem,interpretation);
1132 PartialInterpretation.openWorldElements(interpretation,element);
1133 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
1134 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
1135 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
1136 neg find mustInstanceOfConstants_class(problem,interpretation,element);
1137 neg find mustInstanceOfExpense_class(problem,interpretation,element);
1138 neg find mustInstanceOfAddress_class(problem,interpretation,element);
1139 neg find mustInstanceOfForeign_Income_class(problem,interpretation,element);
1140 neg find mustInstanceOfIncome_Type_class(problem,interpretation,element);
1141 neg find mustInstanceOfDS_class(problem,interpretation,element);
1142 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
1143 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
1144 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
1145 neg find mustInstanceOfLocal_Income_class(problem,interpretation,element);
1146 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
1147 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
1148 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
1149 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
1150 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
1151 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
1152 neg find scopeDisallowsNewIncome_class(problem, interpretation);
1153 neg find isPrimitive(element);
1154} or
1155{ find mustInstanceOfIncome_class(problem,interpretation,element); }
1156/**
1157 * An element must be an instance of type "Income_Type class".
1158 */
1159private pattern mustInstanceOfIncome_Type_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
1160 Type.name(type,"Income_Type class");
1161 find directInstanceOf(problem,interpretation,element,type);
1162}
1163private pattern scopeDisallowsNewIncome_Type_class(problem:LogicProblem, interpretation:PartialInterpretation) {
1164 find interpretation(problem,interpretation);
1165 PartialInterpretation.scopes(interpretation,scope);
1166 Scope.targetTypeInterpretation(scope,typeInterpretation);
1167 Scope.maxNewElements(scope,0);
1168 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
1169 Type.name(type,"Income_Type class");
1170}
1171
1172/**
1173 * An element may be an instance of type "Income_Type class".
1174 */
1175private pattern mayInstanceOfIncome_Type_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
1176{
1177 find interpretation(problem,interpretation);
1178 PartialInterpretation.newElements(interpretation,element);
1179 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
1180 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
1181 neg find mustInstanceOfCapital_and_Investments_Income_class(problem,interpretation,element);
1182 neg find mustInstanceOfRentals_and_Leases_Income_class(problem,interpretation,element);
1183 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
1184 neg find mustInstanceOfConstants_class(problem,interpretation,element);
1185 neg find mustInstanceOfExpense_class(problem,interpretation,element);
1186 neg find mustInstanceOfAddress_class(problem,interpretation,element);
1187 neg find mustInstanceOfDS_class(problem,interpretation,element);
1188 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
1189 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
1190 neg find mustInstanceOfPensions_and_Annuities_Income_class(problem,interpretation,element);
1191 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
1192 neg find mustInstanceOfIncome_class(problem,interpretation,element);
1193 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
1194 neg find mustInstanceOfEmployment_Income_class(problem,interpretation,element);
1195 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
1196 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
1197 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
1198 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
1199 neg find mustInstanceOfAgriculture_and_Forestry_Income_class(problem,interpretation,element);
1200 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
1201 neg find mustInstanceOfTrade_and_Business_Income_class(problem,interpretation,element);
1202 neg find scopeDisallowsNewIncome_Type_class(problem, interpretation);
1203 neg find isPrimitive(element);
1204} or {
1205 find interpretation(problem,interpretation);
1206 PartialInterpretation.openWorldElements(interpretation,element);
1207 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
1208 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
1209 neg find mustInstanceOfCapital_and_Investments_Income_class(problem,interpretation,element);
1210 neg find mustInstanceOfRentals_and_Leases_Income_class(problem,interpretation,element);
1211 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
1212 neg find mustInstanceOfConstants_class(problem,interpretation,element);
1213 neg find mustInstanceOfExpense_class(problem,interpretation,element);
1214 neg find mustInstanceOfAddress_class(problem,interpretation,element);
1215 neg find mustInstanceOfDS_class(problem,interpretation,element);
1216 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
1217 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
1218 neg find mustInstanceOfPensions_and_Annuities_Income_class(problem,interpretation,element);
1219 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
1220 neg find mustInstanceOfIncome_class(problem,interpretation,element);
1221 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
1222 neg find mustInstanceOfEmployment_Income_class(problem,interpretation,element);
1223 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
1224 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
1225 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
1226 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
1227 neg find mustInstanceOfAgriculture_and_Forestry_Income_class(problem,interpretation,element);
1228 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
1229 neg find mustInstanceOfTrade_and_Business_Income_class(problem,interpretation,element);
1230 neg find scopeDisallowsNewIncome_Type_class(problem, interpretation);
1231 neg find isPrimitive(element);
1232} or
1233{ find mustInstanceOfIncome_Type_class(problem,interpretation,element); }
1234/**
1235 * An element must be an instance of type "Tax_Card class".
1236 */
1237private pattern mustInstanceOfTax_Card_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
1238 Type.name(type,"Tax_Card class");
1239 find directInstanceOf(problem,interpretation,element,type);
1240}
1241private pattern scopeDisallowsNewTax_Card_class(problem:LogicProblem, interpretation:PartialInterpretation) {
1242 find interpretation(problem,interpretation);
1243 PartialInterpretation.scopes(interpretation,scope);
1244 Scope.targetTypeInterpretation(scope,typeInterpretation);
1245 Scope.maxNewElements(scope,0);
1246 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
1247 Type.name(type,"Tax_Card class");
1248}
1249
1250/**
1251 * An element may be an instance of type "Tax_Card class".
1252 */
1253private pattern mayInstanceOfTax_Card_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
1254{
1255 find interpretation(problem,interpretation);
1256 PartialInterpretation.newElements(interpretation,element);
1257 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
1258 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
1259 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
1260 neg find mustInstanceOfConstants_class(problem,interpretation,element);
1261 neg find mustInstanceOfExpense_class(problem,interpretation,element);
1262 neg find mustInstanceOfAddress_class(problem,interpretation,element);
1263 neg find mustInstanceOfDS_class(problem,interpretation,element);
1264 neg find mustInstanceOfIncome_Type_class(problem,interpretation,element);
1265 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
1266 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
1267 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
1268 neg find mustInstanceOfIncome_class(problem,interpretation,element);
1269 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
1270 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
1271 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
1272 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
1273 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
1274 neg find scopeDisallowsNewTax_Card_class(problem, interpretation);
1275 neg find isPrimitive(element);
1276} or {
1277 find interpretation(problem,interpretation);
1278 PartialInterpretation.openWorldElements(interpretation,element);
1279 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
1280 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
1281 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
1282 neg find mustInstanceOfConstants_class(problem,interpretation,element);
1283 neg find mustInstanceOfExpense_class(problem,interpretation,element);
1284 neg find mustInstanceOfAddress_class(problem,interpretation,element);
1285 neg find mustInstanceOfDS_class(problem,interpretation,element);
1286 neg find mustInstanceOfIncome_Type_class(problem,interpretation,element);
1287 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
1288 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
1289 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
1290 neg find mustInstanceOfIncome_class(problem,interpretation,element);
1291 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
1292 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
1293 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
1294 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
1295 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
1296 neg find scopeDisallowsNewTax_Card_class(problem, interpretation);
1297 neg find isPrimitive(element);
1298} or
1299{ find mustInstanceOfTax_Card_class(problem,interpretation,element); }
1300/**
1301 * An element must be an instance of type "Income_Tax_Credit class".
1302 */
1303private pattern mustInstanceOfIncome_Tax_Credit_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
1304 Type.name(type,"Income_Tax_Credit class");
1305 find directInstanceOf(problem,interpretation,element,type);
1306}
1307private pattern scopeDisallowsNewIncome_Tax_Credit_class(problem:LogicProblem, interpretation:PartialInterpretation) {
1308 find interpretation(problem,interpretation);
1309 PartialInterpretation.scopes(interpretation,scope);
1310 Scope.targetTypeInterpretation(scope,typeInterpretation);
1311 Scope.maxNewElements(scope,0);
1312 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
1313 Type.name(type,"Income_Tax_Credit class");
1314}
1315
1316/**
1317 * An element may be an instance of type "Income_Tax_Credit class".
1318 */
1319private pattern mayInstanceOfIncome_Tax_Credit_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
1320{
1321 find interpretation(problem,interpretation);
1322 PartialInterpretation.newElements(interpretation,element);
1323 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
1324 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
1325 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
1326 neg find mustInstanceOfExpense_class(problem,interpretation,element);
1327 neg find mustInstanceOfConstants_class(problem,interpretation,element);
1328 neg find mustInstanceOfAddress_class(problem,interpretation,element);
1329 neg find mustInstanceOfIncome_Type_class(problem,interpretation,element);
1330 neg find mustInstanceOfDS_class(problem,interpretation,element);
1331 neg find mustInstanceOfCIS_class(problem,interpretation,element);
1332 neg find mustInstanceOfCIP_class(problem,interpretation,element);
1333 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
1334 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
1335 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
1336 neg find mustInstanceOfIncome_class(problem,interpretation,element);
1337 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
1338 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
1339 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
1340 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
1341 neg find mustInstanceOfCIM_class(problem,interpretation,element);
1342 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
1343 neg find scopeDisallowsNewIncome_Tax_Credit_class(problem, interpretation);
1344 neg find isPrimitive(element);
1345} or {
1346 find interpretation(problem,interpretation);
1347 PartialInterpretation.openWorldElements(interpretation,element);
1348 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
1349 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
1350 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
1351 neg find mustInstanceOfExpense_class(problem,interpretation,element);
1352 neg find mustInstanceOfConstants_class(problem,interpretation,element);
1353 neg find mustInstanceOfAddress_class(problem,interpretation,element);
1354 neg find mustInstanceOfIncome_Type_class(problem,interpretation,element);
1355 neg find mustInstanceOfDS_class(problem,interpretation,element);
1356 neg find mustInstanceOfCIS_class(problem,interpretation,element);
1357 neg find mustInstanceOfCIP_class(problem,interpretation,element);
1358 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
1359 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
1360 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
1361 neg find mustInstanceOfIncome_class(problem,interpretation,element);
1362 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
1363 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
1364 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
1365 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
1366 neg find mustInstanceOfCIM_class(problem,interpretation,element);
1367 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
1368 neg find scopeDisallowsNewIncome_Tax_Credit_class(problem, interpretation);
1369 neg find isPrimitive(element);
1370} or
1371{ find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element); }
1372/**
1373 * An element must be an instance of type "Income_Detail class".
1374 */
1375private pattern mustInstanceOfIncome_Detail_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
1376 Type.name(type,"Income_Detail class");
1377 find directInstanceOf(problem,interpretation,element,type);
1378}
1379private pattern scopeDisallowsNewIncome_Detail_class(problem:LogicProblem, interpretation:PartialInterpretation) {
1380 find interpretation(problem,interpretation);
1381 PartialInterpretation.scopes(interpretation,scope);
1382 Scope.targetTypeInterpretation(scope,typeInterpretation);
1383 Scope.maxNewElements(scope,0);
1384 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
1385 Type.name(type,"Income_Detail class");
1386}
1387
1388/**
1389 * An element may be an instance of type "Income_Detail class".
1390 */
1391private pattern mayInstanceOfIncome_Detail_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
1392{
1393 find interpretation(problem,interpretation);
1394 PartialInterpretation.newElements(interpretation,element);
1395 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
1396 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
1397 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
1398 neg find mustInstanceOfConstants_class(problem,interpretation,element);
1399 neg find mustInstanceOfExpense_class(problem,interpretation,element);
1400 neg find mustInstanceOfAddress_class(problem,interpretation,element);
1401 neg find mustInstanceOfDS_class(problem,interpretation,element);
1402 neg find mustInstanceOfIncome_Type_class(problem,interpretation,element);
1403 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
1404 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
1405 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
1406 neg find mustInstanceOfIncome_class(problem,interpretation,element);
1407 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
1408 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
1409 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
1410 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
1411 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
1412 neg find scopeDisallowsNewIncome_Detail_class(problem, interpretation);
1413 neg find isPrimitive(element);
1414} or {
1415 find interpretation(problem,interpretation);
1416 PartialInterpretation.openWorldElements(interpretation,element);
1417 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
1418 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
1419 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
1420 neg find mustInstanceOfConstants_class(problem,interpretation,element);
1421 neg find mustInstanceOfExpense_class(problem,interpretation,element);
1422 neg find mustInstanceOfAddress_class(problem,interpretation,element);
1423 neg find mustInstanceOfDS_class(problem,interpretation,element);
1424 neg find mustInstanceOfIncome_Type_class(problem,interpretation,element);
1425 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
1426 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
1427 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
1428 neg find mustInstanceOfIncome_class(problem,interpretation,element);
1429 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
1430 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
1431 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
1432 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
1433 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
1434 neg find scopeDisallowsNewIncome_Detail_class(problem, interpretation);
1435 neg find isPrimitive(element);
1436} or
1437{ find mustInstanceOfIncome_Detail_class(problem,interpretation,element); }
1438/**
1439 * An element must be an instance of type "FromLaw class".
1440 */
1441private pattern mustInstanceOfFromLaw_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
1442 Type.name(type,"FromLaw class");
1443 find directInstanceOf(problem,interpretation,element,type);
1444}
1445private pattern scopeDisallowsNewFromLaw_class(problem:LogicProblem, interpretation:PartialInterpretation) {
1446 find interpretation(problem,interpretation);
1447 PartialInterpretation.scopes(interpretation,scope);
1448 Scope.targetTypeInterpretation(scope,typeInterpretation);
1449 Scope.maxNewElements(scope,0);
1450 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
1451 Type.name(type,"FromLaw class");
1452}
1453
1454/**
1455 * An element may be an instance of type "FromLaw class".
1456 */
1457private pattern mayInstanceOfFromLaw_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
1458{
1459 find interpretation(problem,interpretation);
1460 PartialInterpretation.newElements(interpretation,element);
1461 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
1462 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
1463 neg find mustInstanceOfConstants_class(problem,interpretation,element);
1464 neg find mustInstanceOfExpense_class(problem,interpretation,element);
1465 neg find mustInstanceOfAddress_class(problem,interpretation,element);
1466 neg find mustInstanceOfIncome_Type_class(problem,interpretation,element);
1467 neg find mustInstanceOfDS_class(problem,interpretation,element);
1468 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
1469 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
1470 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
1471 neg find mustInstanceOfIncome_class(problem,interpretation,element);
1472 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
1473 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
1474 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
1475 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
1476 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
1477 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
1478 neg find scopeDisallowsNewFromLaw_class(problem, interpretation);
1479 neg find isPrimitive(element);
1480} or {
1481 find interpretation(problem,interpretation);
1482 PartialInterpretation.openWorldElements(interpretation,element);
1483 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
1484 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
1485 neg find mustInstanceOfConstants_class(problem,interpretation,element);
1486 neg find mustInstanceOfExpense_class(problem,interpretation,element);
1487 neg find mustInstanceOfAddress_class(problem,interpretation,element);
1488 neg find mustInstanceOfIncome_Type_class(problem,interpretation,element);
1489 neg find mustInstanceOfDS_class(problem,interpretation,element);
1490 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
1491 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
1492 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
1493 neg find mustInstanceOfIncome_class(problem,interpretation,element);
1494 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
1495 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
1496 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
1497 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
1498 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
1499 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
1500 neg find scopeDisallowsNewFromLaw_class(problem, interpretation);
1501 neg find isPrimitive(element);
1502} or
1503{ find mustInstanceOfFromLaw_class(problem,interpretation,element); }
1504/**
1505 * An element must be an instance of type "Fiscal_Address class".
1506 */
1507private pattern mustInstanceOfFiscal_Address_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
1508 Type.name(type,"Fiscal_Address class");
1509 find directInstanceOf(problem,interpretation,element,type);
1510}
1511private pattern scopeDisallowsNewFiscal_Address_class(problem:LogicProblem, interpretation:PartialInterpretation) {
1512 find interpretation(problem,interpretation);
1513 PartialInterpretation.scopes(interpretation,scope);
1514 Scope.targetTypeInterpretation(scope,typeInterpretation);
1515 Scope.maxNewElements(scope,0);
1516 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
1517 Type.name(type,"Fiscal_Address class");
1518}
1519
1520/**
1521 * An element may be an instance of type "Fiscal_Address class".
1522 */
1523private pattern mayInstanceOfFiscal_Address_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
1524{
1525 find interpretation(problem,interpretation);
1526 PartialInterpretation.newElements(interpretation,element);
1527 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
1528 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
1529 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
1530 neg find mustInstanceOfConstants_class(problem,interpretation,element);
1531 neg find mustInstanceOfExpense_class(problem,interpretation,element);
1532 neg find mustInstanceOfIncome_Type_class(problem,interpretation,element);
1533 neg find mustInstanceOfDS_class(problem,interpretation,element);
1534 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
1535 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
1536 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
1537 neg find mustInstanceOfIncome_class(problem,interpretation,element);
1538 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
1539 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
1540 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
1541 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
1542 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
1543 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
1544 neg find mustInstanceOfHabitual_Address_class(problem,interpretation,element);
1545 neg find scopeDisallowsNewFiscal_Address_class(problem, interpretation);
1546 neg find isPrimitive(element);
1547} or {
1548 find interpretation(problem,interpretation);
1549 PartialInterpretation.openWorldElements(interpretation,element);
1550 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
1551 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
1552 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
1553 neg find mustInstanceOfConstants_class(problem,interpretation,element);
1554 neg find mustInstanceOfExpense_class(problem,interpretation,element);
1555 neg find mustInstanceOfIncome_Type_class(problem,interpretation,element);
1556 neg find mustInstanceOfDS_class(problem,interpretation,element);
1557 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
1558 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
1559 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
1560 neg find mustInstanceOfIncome_class(problem,interpretation,element);
1561 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
1562 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
1563 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
1564 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
1565 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
1566 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
1567 neg find mustInstanceOfHabitual_Address_class(problem,interpretation,element);
1568 neg find scopeDisallowsNewFiscal_Address_class(problem, interpretation);
1569 neg find isPrimitive(element);
1570} or
1571{ find mustInstanceOfFiscal_Address_class(problem,interpretation,element); }
1572/**
1573 * An element must be an instance of type "Habitual_Address class".
1574 */
1575private pattern mustInstanceOfHabitual_Address_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
1576 Type.name(type,"Habitual_Address class");
1577 find directInstanceOf(problem,interpretation,element,type);
1578}
1579private pattern scopeDisallowsNewHabitual_Address_class(problem:LogicProblem, interpretation:PartialInterpretation) {
1580 find interpretation(problem,interpretation);
1581 PartialInterpretation.scopes(interpretation,scope);
1582 Scope.targetTypeInterpretation(scope,typeInterpretation);
1583 Scope.maxNewElements(scope,0);
1584 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
1585 Type.name(type,"Habitual_Address class");
1586}
1587
1588/**
1589 * An element may be an instance of type "Habitual_Address class".
1590 */
1591private pattern mayInstanceOfHabitual_Address_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
1592{
1593 find interpretation(problem,interpretation);
1594 PartialInterpretation.newElements(interpretation,element);
1595 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
1596 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
1597 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
1598 neg find mustInstanceOfExpense_class(problem,interpretation,element);
1599 neg find mustInstanceOfConstants_class(problem,interpretation,element);
1600 neg find mustInstanceOfIncome_Type_class(problem,interpretation,element);
1601 neg find mustInstanceOfDS_class(problem,interpretation,element);
1602 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
1603 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
1604 neg find mustInstanceOfFiscal_Address_class(problem,interpretation,element);
1605 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
1606 neg find mustInstanceOfIncome_class(problem,interpretation,element);
1607 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
1608 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
1609 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
1610 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
1611 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
1612 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
1613 neg find scopeDisallowsNewHabitual_Address_class(problem, interpretation);
1614 neg find isPrimitive(element);
1615} or {
1616 find interpretation(problem,interpretation);
1617 PartialInterpretation.openWorldElements(interpretation,element);
1618 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
1619 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
1620 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
1621 neg find mustInstanceOfExpense_class(problem,interpretation,element);
1622 neg find mustInstanceOfConstants_class(problem,interpretation,element);
1623 neg find mustInstanceOfIncome_Type_class(problem,interpretation,element);
1624 neg find mustInstanceOfDS_class(problem,interpretation,element);
1625 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
1626 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
1627 neg find mustInstanceOfFiscal_Address_class(problem,interpretation,element);
1628 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
1629 neg find mustInstanceOfIncome_class(problem,interpretation,element);
1630 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
1631 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
1632 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
1633 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
1634 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
1635 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
1636 neg find scopeDisallowsNewHabitual_Address_class(problem, interpretation);
1637 neg find isPrimitive(element);
1638} or
1639{ find mustInstanceOfHabitual_Address_class(problem,interpretation,element); }
1640/**
1641 * An element must be an instance of type "Marriage_Record class".
1642 */
1643private pattern mustInstanceOfMarriage_Record_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
1644 Type.name(type,"Marriage_Record class");
1645 find directInstanceOf(problem,interpretation,element,type);
1646}
1647private pattern scopeDisallowsNewMarriage_Record_class(problem:LogicProblem, interpretation:PartialInterpretation) {
1648 find interpretation(problem,interpretation);
1649 PartialInterpretation.scopes(interpretation,scope);
1650 Scope.targetTypeInterpretation(scope,typeInterpretation);
1651 Scope.maxNewElements(scope,0);
1652 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
1653 Type.name(type,"Marriage_Record class");
1654}
1655
1656/**
1657 * An element may be an instance of type "Marriage_Record class".
1658 */
1659private pattern mayInstanceOfMarriage_Record_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
1660{
1661 find interpretation(problem,interpretation);
1662 PartialInterpretation.newElements(interpretation,element);
1663 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
1664 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
1665 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
1666 neg find mustInstanceOfExpense_class(problem,interpretation,element);
1667 neg find mustInstanceOfConstants_class(problem,interpretation,element);
1668 neg find mustInstanceOfAddress_class(problem,interpretation,element);
1669 neg find mustInstanceOfIncome_Type_class(problem,interpretation,element);
1670 neg find mustInstanceOfDS_class(problem,interpretation,element);
1671 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
1672 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
1673 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
1674 neg find mustInstanceOfPartnership_Record_class(problem,interpretation,element);
1675 neg find mustInstanceOfIncome_class(problem,interpretation,element);
1676 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
1677 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
1678 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
1679 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
1680 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
1681 neg find scopeDisallowsNewMarriage_Record_class(problem, interpretation);
1682 neg find isPrimitive(element);
1683} or {
1684 find interpretation(problem,interpretation);
1685 PartialInterpretation.openWorldElements(interpretation,element);
1686 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
1687 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
1688 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
1689 neg find mustInstanceOfExpense_class(problem,interpretation,element);
1690 neg find mustInstanceOfConstants_class(problem,interpretation,element);
1691 neg find mustInstanceOfAddress_class(problem,interpretation,element);
1692 neg find mustInstanceOfIncome_Type_class(problem,interpretation,element);
1693 neg find mustInstanceOfDS_class(problem,interpretation,element);
1694 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
1695 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
1696 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
1697 neg find mustInstanceOfPartnership_Record_class(problem,interpretation,element);
1698 neg find mustInstanceOfIncome_class(problem,interpretation,element);
1699 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
1700 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
1701 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
1702 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
1703 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
1704 neg find scopeDisallowsNewMarriage_Record_class(problem, interpretation);
1705 neg find isPrimitive(element);
1706} or
1707{ find mustInstanceOfMarriage_Record_class(problem,interpretation,element); }
1708/**
1709 * An element must be an instance of type "Non_Resident_Tax_Payer class".
1710 */
1711private pattern mustInstanceOfNon_Resident_Tax_Payer_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
1712 Type.name(type,"Non_Resident_Tax_Payer class");
1713 find directInstanceOf(problem,interpretation,element,type);
1714}
1715private pattern scopeDisallowsNewNon_Resident_Tax_Payer_class(problem:LogicProblem, interpretation:PartialInterpretation) {
1716 find interpretation(problem,interpretation);
1717 PartialInterpretation.scopes(interpretation,scope);
1718 Scope.targetTypeInterpretation(scope,typeInterpretation);
1719 Scope.maxNewElements(scope,0);
1720 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
1721 Type.name(type,"Non_Resident_Tax_Payer class");
1722}
1723
1724/**
1725 * An element may be an instance of type "Non_Resident_Tax_Payer class".
1726 */
1727private pattern mayInstanceOfNon_Resident_Tax_Payer_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
1728{
1729 find interpretation(problem,interpretation);
1730 PartialInterpretation.newElements(interpretation,element);
1731 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
1732 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
1733 neg find mustInstanceOfExpense_class(problem,interpretation,element);
1734 neg find mustInstanceOfConstants_class(problem,interpretation,element);
1735 neg find mustInstanceOfAddress_class(problem,interpretation,element);
1736 neg find mustInstanceOfDS_class(problem,interpretation,element);
1737 neg find mustInstanceOfResident_Tax_Payer_class(problem,interpretation,element);
1738 neg find mustInstanceOfIncome_Type_class(problem,interpretation,element);
1739 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
1740 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
1741 neg find mustInstanceOfDependent_class(problem,interpretation,element);
1742 neg find mustInstanceOfIncome_class(problem,interpretation,element);
1743 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
1744 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
1745 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
1746 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
1747 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
1748 neg find mustInstanceOfHousehold_class(problem,interpretation,element);
1749 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
1750 neg find scopeDisallowsNewNon_Resident_Tax_Payer_class(problem, interpretation);
1751 neg find isPrimitive(element);
1752} or {
1753 find interpretation(problem,interpretation);
1754 PartialInterpretation.openWorldElements(interpretation,element);
1755 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
1756 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
1757 neg find mustInstanceOfExpense_class(problem,interpretation,element);
1758 neg find mustInstanceOfConstants_class(problem,interpretation,element);
1759 neg find mustInstanceOfAddress_class(problem,interpretation,element);
1760 neg find mustInstanceOfDS_class(problem,interpretation,element);
1761 neg find mustInstanceOfResident_Tax_Payer_class(problem,interpretation,element);
1762 neg find mustInstanceOfIncome_Type_class(problem,interpretation,element);
1763 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
1764 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
1765 neg find mustInstanceOfDependent_class(problem,interpretation,element);
1766 neg find mustInstanceOfIncome_class(problem,interpretation,element);
1767 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
1768 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
1769 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
1770 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
1771 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
1772 neg find mustInstanceOfHousehold_class(problem,interpretation,element);
1773 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
1774 neg find scopeDisallowsNewNon_Resident_Tax_Payer_class(problem, interpretation);
1775 neg find isPrimitive(element);
1776} or
1777{ find mustInstanceOfNon_Resident_Tax_Payer_class(problem,interpretation,element); }
1778/**
1779 * An element must be an instance of type "Partnership_Record class".
1780 */
1781private pattern mustInstanceOfPartnership_Record_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
1782 Type.name(type,"Partnership_Record class");
1783 find directInstanceOf(problem,interpretation,element,type);
1784}
1785private pattern scopeDisallowsNewPartnership_Record_class(problem:LogicProblem, interpretation:PartialInterpretation) {
1786 find interpretation(problem,interpretation);
1787 PartialInterpretation.scopes(interpretation,scope);
1788 Scope.targetTypeInterpretation(scope,typeInterpretation);
1789 Scope.maxNewElements(scope,0);
1790 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
1791 Type.name(type,"Partnership_Record class");
1792}
1793
1794/**
1795 * An element may be an instance of type "Partnership_Record class".
1796 */
1797private pattern mayInstanceOfPartnership_Record_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
1798{
1799 find interpretation(problem,interpretation);
1800 PartialInterpretation.newElements(interpretation,element);
1801 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
1802 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
1803 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
1804 neg find mustInstanceOfExpense_class(problem,interpretation,element);
1805 neg find mustInstanceOfConstants_class(problem,interpretation,element);
1806 neg find mustInstanceOfAddress_class(problem,interpretation,element);
1807 neg find mustInstanceOfDS_class(problem,interpretation,element);
1808 neg find mustInstanceOfIncome_Type_class(problem,interpretation,element);
1809 neg find mustInstanceOfMarriage_Record_class(problem,interpretation,element);
1810 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
1811 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
1812 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
1813 neg find mustInstanceOfIncome_class(problem,interpretation,element);
1814 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
1815 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
1816 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
1817 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
1818 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
1819 neg find scopeDisallowsNewPartnership_Record_class(problem, interpretation);
1820 neg find isPrimitive(element);
1821} or {
1822 find interpretation(problem,interpretation);
1823 PartialInterpretation.openWorldElements(interpretation,element);
1824 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
1825 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
1826 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
1827 neg find mustInstanceOfExpense_class(problem,interpretation,element);
1828 neg find mustInstanceOfConstants_class(problem,interpretation,element);
1829 neg find mustInstanceOfAddress_class(problem,interpretation,element);
1830 neg find mustInstanceOfDS_class(problem,interpretation,element);
1831 neg find mustInstanceOfIncome_Type_class(problem,interpretation,element);
1832 neg find mustInstanceOfMarriage_Record_class(problem,interpretation,element);
1833 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
1834 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
1835 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
1836 neg find mustInstanceOfIncome_class(problem,interpretation,element);
1837 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
1838 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
1839 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
1840 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
1841 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
1842 neg find scopeDisallowsNewPartnership_Record_class(problem, interpretation);
1843 neg find isPrimitive(element);
1844} or
1845{ find mustInstanceOfPartnership_Record_class(problem,interpretation,element); }
1846/**
1847 * An element must be an instance of type "Resident_Tax_Payer class".
1848 */
1849private pattern mustInstanceOfResident_Tax_Payer_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
1850 Type.name(type,"Resident_Tax_Payer class");
1851 find directInstanceOf(problem,interpretation,element,type);
1852}
1853private pattern scopeDisallowsNewResident_Tax_Payer_class(problem:LogicProblem, interpretation:PartialInterpretation) {
1854 find interpretation(problem,interpretation);
1855 PartialInterpretation.scopes(interpretation,scope);
1856 Scope.targetTypeInterpretation(scope,typeInterpretation);
1857 Scope.maxNewElements(scope,0);
1858 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
1859 Type.name(type,"Resident_Tax_Payer class");
1860}
1861
1862/**
1863 * An element may be an instance of type "Resident_Tax_Payer class".
1864 */
1865private pattern mayInstanceOfResident_Tax_Payer_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
1866{
1867 find interpretation(problem,interpretation);
1868 PartialInterpretation.newElements(interpretation,element);
1869 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
1870 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
1871 neg find mustInstanceOfExpense_class(problem,interpretation,element);
1872 neg find mustInstanceOfConstants_class(problem,interpretation,element);
1873 neg find mustInstanceOfAddress_class(problem,interpretation,element);
1874 neg find mustInstanceOfIncome_Type_class(problem,interpretation,element);
1875 neg find mustInstanceOfDS_class(problem,interpretation,element);
1876 neg find mustInstanceOfNon_Resident_Tax_Payer_class(problem,interpretation,element);
1877 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
1878 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
1879 neg find mustInstanceOfDependent_class(problem,interpretation,element);
1880 neg find mustInstanceOfIncome_class(problem,interpretation,element);
1881 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
1882 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
1883 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
1884 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
1885 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
1886 neg find mustInstanceOfHousehold_class(problem,interpretation,element);
1887 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
1888 neg find scopeDisallowsNewResident_Tax_Payer_class(problem, interpretation);
1889 neg find isPrimitive(element);
1890} or {
1891 find interpretation(problem,interpretation);
1892 PartialInterpretation.openWorldElements(interpretation,element);
1893 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
1894 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
1895 neg find mustInstanceOfExpense_class(problem,interpretation,element);
1896 neg find mustInstanceOfConstants_class(problem,interpretation,element);
1897 neg find mustInstanceOfAddress_class(problem,interpretation,element);
1898 neg find mustInstanceOfIncome_Type_class(problem,interpretation,element);
1899 neg find mustInstanceOfDS_class(problem,interpretation,element);
1900 neg find mustInstanceOfNon_Resident_Tax_Payer_class(problem,interpretation,element);
1901 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
1902 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
1903 neg find mustInstanceOfDependent_class(problem,interpretation,element);
1904 neg find mustInstanceOfIncome_class(problem,interpretation,element);
1905 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
1906 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
1907 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
1908 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
1909 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
1910 neg find mustInstanceOfHousehold_class(problem,interpretation,element);
1911 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
1912 neg find scopeDisallowsNewResident_Tax_Payer_class(problem, interpretation);
1913 neg find isPrimitive(element);
1914} or
1915{ find mustInstanceOfResident_Tax_Payer_class(problem,interpretation,element); }
1916/**
1917 * An element must be an instance of type "Trade_and_Business_Income class".
1918 */
1919private pattern mustInstanceOfTrade_and_Business_Income_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
1920 Type.name(type,"Trade_and_Business_Income class");
1921 find directInstanceOf(problem,interpretation,element,type);
1922}
1923private pattern scopeDisallowsNewTrade_and_Business_Income_class(problem:LogicProblem, interpretation:PartialInterpretation) {
1924 find interpretation(problem,interpretation);
1925 PartialInterpretation.scopes(interpretation,scope);
1926 Scope.targetTypeInterpretation(scope,typeInterpretation);
1927 Scope.maxNewElements(scope,0);
1928 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
1929 Type.name(type,"Trade_and_Business_Income class");
1930}
1931
1932/**
1933 * An element may be an instance of type "Trade_and_Business_Income class".
1934 */
1935private pattern mayInstanceOfTrade_and_Business_Income_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
1936{
1937 find interpretation(problem,interpretation);
1938 PartialInterpretation.newElements(interpretation,element);
1939 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
1940 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
1941 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
1942 neg find mustInstanceOfCapital_and_Investments_Income_class(problem,interpretation,element);
1943 neg find mustInstanceOfRentals_and_Leases_Income_class(problem,interpretation,element);
1944 neg find mustInstanceOfExpense_class(problem,interpretation,element);
1945 neg find mustInstanceOfConstants_class(problem,interpretation,element);
1946 neg find mustInstanceOfAddress_class(problem,interpretation,element);
1947 neg find mustInstanceOfDS_class(problem,interpretation,element);
1948 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
1949 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
1950 neg find mustInstanceOfPensions_and_Annuities_Income_class(problem,interpretation,element);
1951 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
1952 neg find mustInstanceOfIncome_class(problem,interpretation,element);
1953 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
1954 neg find mustInstanceOfEmployment_Income_class(problem,interpretation,element);
1955 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
1956 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
1957 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
1958 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
1959 neg find mustInstanceOfAgriculture_and_Forestry_Income_class(problem,interpretation,element);
1960 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
1961 neg find scopeDisallowsNewTrade_and_Business_Income_class(problem, interpretation);
1962 neg find isPrimitive(element);
1963} or {
1964 find interpretation(problem,interpretation);
1965 PartialInterpretation.openWorldElements(interpretation,element);
1966 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
1967 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
1968 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
1969 neg find mustInstanceOfCapital_and_Investments_Income_class(problem,interpretation,element);
1970 neg find mustInstanceOfRentals_and_Leases_Income_class(problem,interpretation,element);
1971 neg find mustInstanceOfExpense_class(problem,interpretation,element);
1972 neg find mustInstanceOfConstants_class(problem,interpretation,element);
1973 neg find mustInstanceOfAddress_class(problem,interpretation,element);
1974 neg find mustInstanceOfDS_class(problem,interpretation,element);
1975 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
1976 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
1977 neg find mustInstanceOfPensions_and_Annuities_Income_class(problem,interpretation,element);
1978 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
1979 neg find mustInstanceOfIncome_class(problem,interpretation,element);
1980 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
1981 neg find mustInstanceOfEmployment_Income_class(problem,interpretation,element);
1982 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
1983 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
1984 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
1985 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
1986 neg find mustInstanceOfAgriculture_and_Forestry_Income_class(problem,interpretation,element);
1987 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
1988 neg find scopeDisallowsNewTrade_and_Business_Income_class(problem, interpretation);
1989 neg find isPrimitive(element);
1990} or
1991{ find mustInstanceOfTrade_and_Business_Income_class(problem,interpretation,element); }
1992/**
1993 * An element must be an instance of type "Agriculture_and_Forestry_Income class".
1994 */
1995private pattern mustInstanceOfAgriculture_and_Forestry_Income_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
1996 Type.name(type,"Agriculture_and_Forestry_Income class");
1997 find directInstanceOf(problem,interpretation,element,type);
1998}
1999private pattern scopeDisallowsNewAgriculture_and_Forestry_Income_class(problem:LogicProblem, interpretation:PartialInterpretation) {
2000 find interpretation(problem,interpretation);
2001 PartialInterpretation.scopes(interpretation,scope);
2002 Scope.targetTypeInterpretation(scope,typeInterpretation);
2003 Scope.maxNewElements(scope,0);
2004 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
2005 Type.name(type,"Agriculture_and_Forestry_Income class");
2006}
2007
2008/**
2009 * An element may be an instance of type "Agriculture_and_Forestry_Income class".
2010 */
2011private pattern mayInstanceOfAgriculture_and_Forestry_Income_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
2012{
2013 find interpretation(problem,interpretation);
2014 PartialInterpretation.newElements(interpretation,element);
2015 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
2016 neg find mustInstanceOfRentals_and_Leases_Income_class(problem,interpretation,element);
2017 neg find mustInstanceOfCapital_and_Investments_Income_class(problem,interpretation,element);
2018 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
2019 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
2020 neg find mustInstanceOfConstants_class(problem,interpretation,element);
2021 neg find mustInstanceOfExpense_class(problem,interpretation,element);
2022 neg find mustInstanceOfAddress_class(problem,interpretation,element);
2023 neg find mustInstanceOfDS_class(problem,interpretation,element);
2024 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
2025 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
2026 neg find mustInstanceOfPensions_and_Annuities_Income_class(problem,interpretation,element);
2027 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
2028 neg find mustInstanceOfIncome_class(problem,interpretation,element);
2029 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
2030 neg find mustInstanceOfEmployment_Income_class(problem,interpretation,element);
2031 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
2032 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
2033 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
2034 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
2035 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
2036 neg find mustInstanceOfTrade_and_Business_Income_class(problem,interpretation,element);
2037 neg find scopeDisallowsNewAgriculture_and_Forestry_Income_class(problem, interpretation);
2038 neg find isPrimitive(element);
2039} or {
2040 find interpretation(problem,interpretation);
2041 PartialInterpretation.openWorldElements(interpretation,element);
2042 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
2043 neg find mustInstanceOfRentals_and_Leases_Income_class(problem,interpretation,element);
2044 neg find mustInstanceOfCapital_and_Investments_Income_class(problem,interpretation,element);
2045 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
2046 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
2047 neg find mustInstanceOfConstants_class(problem,interpretation,element);
2048 neg find mustInstanceOfExpense_class(problem,interpretation,element);
2049 neg find mustInstanceOfAddress_class(problem,interpretation,element);
2050 neg find mustInstanceOfDS_class(problem,interpretation,element);
2051 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
2052 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
2053 neg find mustInstanceOfPensions_and_Annuities_Income_class(problem,interpretation,element);
2054 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
2055 neg find mustInstanceOfIncome_class(problem,interpretation,element);
2056 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
2057 neg find mustInstanceOfEmployment_Income_class(problem,interpretation,element);
2058 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
2059 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
2060 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
2061 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
2062 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
2063 neg find mustInstanceOfTrade_and_Business_Income_class(problem,interpretation,element);
2064 neg find scopeDisallowsNewAgriculture_and_Forestry_Income_class(problem, interpretation);
2065 neg find isPrimitive(element);
2066} or
2067{ find mustInstanceOfAgriculture_and_Forestry_Income_class(problem,interpretation,element); }
2068/**
2069 * An element must be an instance of type "Pensions_and_Annuities_Income class".
2070 */
2071private pattern mustInstanceOfPensions_and_Annuities_Income_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
2072 Type.name(type,"Pensions_and_Annuities_Income class");
2073 find directInstanceOf(problem,interpretation,element,type);
2074}
2075private pattern scopeDisallowsNewPensions_and_Annuities_Income_class(problem:LogicProblem, interpretation:PartialInterpretation) {
2076 find interpretation(problem,interpretation);
2077 PartialInterpretation.scopes(interpretation,scope);
2078 Scope.targetTypeInterpretation(scope,typeInterpretation);
2079 Scope.maxNewElements(scope,0);
2080 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
2081 Type.name(type,"Pensions_and_Annuities_Income class");
2082}
2083
2084/**
2085 * An element may be an instance of type "Pensions_and_Annuities_Income class".
2086 */
2087private pattern mayInstanceOfPensions_and_Annuities_Income_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
2088{
2089 find interpretation(problem,interpretation);
2090 PartialInterpretation.newElements(interpretation,element);
2091 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
2092 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
2093 neg find mustInstanceOfRentals_and_Leases_Income_class(problem,interpretation,element);
2094 neg find mustInstanceOfCapital_and_Investments_Income_class(problem,interpretation,element);
2095 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
2096 neg find mustInstanceOfExpense_class(problem,interpretation,element);
2097 neg find mustInstanceOfConstants_class(problem,interpretation,element);
2098 neg find mustInstanceOfAddress_class(problem,interpretation,element);
2099 neg find mustInstanceOfDS_class(problem,interpretation,element);
2100 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
2101 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
2102 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
2103 neg find mustInstanceOfIncome_class(problem,interpretation,element);
2104 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
2105 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
2106 neg find mustInstanceOfEmployment_Income_class(problem,interpretation,element);
2107 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
2108 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
2109 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
2110 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
2111 neg find mustInstanceOfAgriculture_and_Forestry_Income_class(problem,interpretation,element);
2112 neg find mustInstanceOfTrade_and_Business_Income_class(problem,interpretation,element);
2113 neg find scopeDisallowsNewPensions_and_Annuities_Income_class(problem, interpretation);
2114 neg find isPrimitive(element);
2115} or {
2116 find interpretation(problem,interpretation);
2117 PartialInterpretation.openWorldElements(interpretation,element);
2118 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
2119 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
2120 neg find mustInstanceOfRentals_and_Leases_Income_class(problem,interpretation,element);
2121 neg find mustInstanceOfCapital_and_Investments_Income_class(problem,interpretation,element);
2122 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
2123 neg find mustInstanceOfExpense_class(problem,interpretation,element);
2124 neg find mustInstanceOfConstants_class(problem,interpretation,element);
2125 neg find mustInstanceOfAddress_class(problem,interpretation,element);
2126 neg find mustInstanceOfDS_class(problem,interpretation,element);
2127 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
2128 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
2129 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
2130 neg find mustInstanceOfIncome_class(problem,interpretation,element);
2131 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
2132 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
2133 neg find mustInstanceOfEmployment_Income_class(problem,interpretation,element);
2134 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
2135 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
2136 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
2137 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
2138 neg find mustInstanceOfAgriculture_and_Forestry_Income_class(problem,interpretation,element);
2139 neg find mustInstanceOfTrade_and_Business_Income_class(problem,interpretation,element);
2140 neg find scopeDisallowsNewPensions_and_Annuities_Income_class(problem, interpretation);
2141 neg find isPrimitive(element);
2142} or
2143{ find mustInstanceOfPensions_and_Annuities_Income_class(problem,interpretation,element); }
2144/**
2145 * An element must be an instance of type "Capital_and_Investments_Income class".
2146 */
2147private pattern mustInstanceOfCapital_and_Investments_Income_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
2148 Type.name(type,"Capital_and_Investments_Income class");
2149 find directInstanceOf(problem,interpretation,element,type);
2150}
2151private pattern scopeDisallowsNewCapital_and_Investments_Income_class(problem:LogicProblem, interpretation:PartialInterpretation) {
2152 find interpretation(problem,interpretation);
2153 PartialInterpretation.scopes(interpretation,scope);
2154 Scope.targetTypeInterpretation(scope,typeInterpretation);
2155 Scope.maxNewElements(scope,0);
2156 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
2157 Type.name(type,"Capital_and_Investments_Income class");
2158}
2159
2160/**
2161 * An element may be an instance of type "Capital_and_Investments_Income class".
2162 */
2163private pattern mayInstanceOfCapital_and_Investments_Income_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
2164{
2165 find interpretation(problem,interpretation);
2166 PartialInterpretation.newElements(interpretation,element);
2167 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
2168 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
2169 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
2170 neg find mustInstanceOfRentals_and_Leases_Income_class(problem,interpretation,element);
2171 neg find mustInstanceOfExpense_class(problem,interpretation,element);
2172 neg find mustInstanceOfConstants_class(problem,interpretation,element);
2173 neg find mustInstanceOfAddress_class(problem,interpretation,element);
2174 neg find mustInstanceOfDS_class(problem,interpretation,element);
2175 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
2176 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
2177 neg find mustInstanceOfPensions_and_Annuities_Income_class(problem,interpretation,element);
2178 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
2179 neg find mustInstanceOfIncome_class(problem,interpretation,element);
2180 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
2181 neg find mustInstanceOfEmployment_Income_class(problem,interpretation,element);
2182 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
2183 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
2184 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
2185 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
2186 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
2187 neg find mustInstanceOfAgriculture_and_Forestry_Income_class(problem,interpretation,element);
2188 neg find mustInstanceOfTrade_and_Business_Income_class(problem,interpretation,element);
2189 neg find scopeDisallowsNewCapital_and_Investments_Income_class(problem, interpretation);
2190 neg find isPrimitive(element);
2191} or {
2192 find interpretation(problem,interpretation);
2193 PartialInterpretation.openWorldElements(interpretation,element);
2194 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
2195 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
2196 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
2197 neg find mustInstanceOfRentals_and_Leases_Income_class(problem,interpretation,element);
2198 neg find mustInstanceOfExpense_class(problem,interpretation,element);
2199 neg find mustInstanceOfConstants_class(problem,interpretation,element);
2200 neg find mustInstanceOfAddress_class(problem,interpretation,element);
2201 neg find mustInstanceOfDS_class(problem,interpretation,element);
2202 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
2203 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
2204 neg find mustInstanceOfPensions_and_Annuities_Income_class(problem,interpretation,element);
2205 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
2206 neg find mustInstanceOfIncome_class(problem,interpretation,element);
2207 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
2208 neg find mustInstanceOfEmployment_Income_class(problem,interpretation,element);
2209 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
2210 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
2211 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
2212 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
2213 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
2214 neg find mustInstanceOfAgriculture_and_Forestry_Income_class(problem,interpretation,element);
2215 neg find mustInstanceOfTrade_and_Business_Income_class(problem,interpretation,element);
2216 neg find scopeDisallowsNewCapital_and_Investments_Income_class(problem, interpretation);
2217 neg find isPrimitive(element);
2218} or
2219{ find mustInstanceOfCapital_and_Investments_Income_class(problem,interpretation,element); }
2220/**
2221 * An element must be an instance of type "Employment_Income class".
2222 */
2223private pattern mustInstanceOfEmployment_Income_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
2224 Type.name(type,"Employment_Income class");
2225 find directInstanceOf(problem,interpretation,element,type);
2226}
2227private pattern scopeDisallowsNewEmployment_Income_class(problem:LogicProblem, interpretation:PartialInterpretation) {
2228 find interpretation(problem,interpretation);
2229 PartialInterpretation.scopes(interpretation,scope);
2230 Scope.targetTypeInterpretation(scope,typeInterpretation);
2231 Scope.maxNewElements(scope,0);
2232 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
2233 Type.name(type,"Employment_Income class");
2234}
2235
2236/**
2237 * An element may be an instance of type "Employment_Income class".
2238 */
2239private pattern mayInstanceOfEmployment_Income_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
2240{
2241 find interpretation(problem,interpretation);
2242 PartialInterpretation.newElements(interpretation,element);
2243 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
2244 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
2245 neg find mustInstanceOfRentals_and_Leases_Income_class(problem,interpretation,element);
2246 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
2247 neg find mustInstanceOfCapital_and_Investments_Income_class(problem,interpretation,element);
2248 neg find mustInstanceOfExpense_class(problem,interpretation,element);
2249 neg find mustInstanceOfConstants_class(problem,interpretation,element);
2250 neg find mustInstanceOfAddress_class(problem,interpretation,element);
2251 neg find mustInstanceOfDS_class(problem,interpretation,element);
2252 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
2253 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
2254 neg find mustInstanceOfPensions_and_Annuities_Income_class(problem,interpretation,element);
2255 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
2256 neg find mustInstanceOfIncome_class(problem,interpretation,element);
2257 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
2258 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
2259 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
2260 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
2261 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
2262 neg find mustInstanceOfAgriculture_and_Forestry_Income_class(problem,interpretation,element);
2263 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
2264 neg find mustInstanceOfTrade_and_Business_Income_class(problem,interpretation,element);
2265 neg find scopeDisallowsNewEmployment_Income_class(problem, interpretation);
2266 neg find isPrimitive(element);
2267} or {
2268 find interpretation(problem,interpretation);
2269 PartialInterpretation.openWorldElements(interpretation,element);
2270 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
2271 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
2272 neg find mustInstanceOfRentals_and_Leases_Income_class(problem,interpretation,element);
2273 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
2274 neg find mustInstanceOfCapital_and_Investments_Income_class(problem,interpretation,element);
2275 neg find mustInstanceOfExpense_class(problem,interpretation,element);
2276 neg find mustInstanceOfConstants_class(problem,interpretation,element);
2277 neg find mustInstanceOfAddress_class(problem,interpretation,element);
2278 neg find mustInstanceOfDS_class(problem,interpretation,element);
2279 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
2280 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
2281 neg find mustInstanceOfPensions_and_Annuities_Income_class(problem,interpretation,element);
2282 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
2283 neg find mustInstanceOfIncome_class(problem,interpretation,element);
2284 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
2285 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
2286 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
2287 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
2288 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
2289 neg find mustInstanceOfAgriculture_and_Forestry_Income_class(problem,interpretation,element);
2290 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
2291 neg find mustInstanceOfTrade_and_Business_Income_class(problem,interpretation,element);
2292 neg find scopeDisallowsNewEmployment_Income_class(problem, interpretation);
2293 neg find isPrimitive(element);
2294} or
2295{ find mustInstanceOfEmployment_Income_class(problem,interpretation,element); }
2296/**
2297 * An element must be an instance of type "Rentals_and_Leases_Income class".
2298 */
2299private pattern mustInstanceOfRentals_and_Leases_Income_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
2300 Type.name(type,"Rentals_and_Leases_Income class");
2301 find directInstanceOf(problem,interpretation,element,type);
2302}
2303private pattern scopeDisallowsNewRentals_and_Leases_Income_class(problem:LogicProblem, interpretation:PartialInterpretation) {
2304 find interpretation(problem,interpretation);
2305 PartialInterpretation.scopes(interpretation,scope);
2306 Scope.targetTypeInterpretation(scope,typeInterpretation);
2307 Scope.maxNewElements(scope,0);
2308 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
2309 Type.name(type,"Rentals_and_Leases_Income class");
2310}
2311
2312/**
2313 * An element may be an instance of type "Rentals_and_Leases_Income class".
2314 */
2315private pattern mayInstanceOfRentals_and_Leases_Income_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
2316{
2317 find interpretation(problem,interpretation);
2318 PartialInterpretation.newElements(interpretation,element);
2319 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
2320 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
2321 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
2322 neg find mustInstanceOfCapital_and_Investments_Income_class(problem,interpretation,element);
2323 neg find mustInstanceOfConstants_class(problem,interpretation,element);
2324 neg find mustInstanceOfExpense_class(problem,interpretation,element);
2325 neg find mustInstanceOfAddress_class(problem,interpretation,element);
2326 neg find mustInstanceOfDS_class(problem,interpretation,element);
2327 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
2328 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
2329 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
2330 neg find mustInstanceOfPensions_and_Annuities_Income_class(problem,interpretation,element);
2331 neg find mustInstanceOfIncome_class(problem,interpretation,element);
2332 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
2333 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
2334 neg find mustInstanceOfEmployment_Income_class(problem,interpretation,element);
2335 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
2336 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
2337 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
2338 neg find mustInstanceOfAgriculture_and_Forestry_Income_class(problem,interpretation,element);
2339 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
2340 neg find mustInstanceOfTrade_and_Business_Income_class(problem,interpretation,element);
2341 neg find scopeDisallowsNewRentals_and_Leases_Income_class(problem, interpretation);
2342 neg find isPrimitive(element);
2343} or {
2344 find interpretation(problem,interpretation);
2345 PartialInterpretation.openWorldElements(interpretation,element);
2346 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
2347 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
2348 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
2349 neg find mustInstanceOfCapital_and_Investments_Income_class(problem,interpretation,element);
2350 neg find mustInstanceOfConstants_class(problem,interpretation,element);
2351 neg find mustInstanceOfExpense_class(problem,interpretation,element);
2352 neg find mustInstanceOfAddress_class(problem,interpretation,element);
2353 neg find mustInstanceOfDS_class(problem,interpretation,element);
2354 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
2355 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
2356 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
2357 neg find mustInstanceOfPensions_and_Annuities_Income_class(problem,interpretation,element);
2358 neg find mustInstanceOfIncome_class(problem,interpretation,element);
2359 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
2360 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
2361 neg find mustInstanceOfEmployment_Income_class(problem,interpretation,element);
2362 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
2363 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
2364 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
2365 neg find mustInstanceOfAgriculture_and_Forestry_Income_class(problem,interpretation,element);
2366 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
2367 neg find mustInstanceOfTrade_and_Business_Income_class(problem,interpretation,element);
2368 neg find scopeDisallowsNewRentals_and_Leases_Income_class(problem, interpretation);
2369 neg find isPrimitive(element);
2370} or
2371{ find mustInstanceOfRentals_and_Leases_Income_class(problem,interpretation,element); }
2372/**
2373 * An element must be an instance of type "Foreign_Income class".
2374 */
2375private pattern mustInstanceOfForeign_Income_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
2376 Type.name(type,"Foreign_Income class");
2377 find directInstanceOf(problem,interpretation,element,type);
2378}
2379private pattern scopeDisallowsNewForeign_Income_class(problem:LogicProblem, interpretation:PartialInterpretation) {
2380 find interpretation(problem,interpretation);
2381 PartialInterpretation.scopes(interpretation,scope);
2382 Scope.targetTypeInterpretation(scope,typeInterpretation);
2383 Scope.maxNewElements(scope,0);
2384 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
2385 Type.name(type,"Foreign_Income class");
2386}
2387
2388/**
2389 * An element may be an instance of type "Foreign_Income class".
2390 */
2391private pattern mayInstanceOfForeign_Income_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
2392{
2393 find interpretation(problem,interpretation);
2394 PartialInterpretation.newElements(interpretation,element);
2395 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
2396 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
2397 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
2398 neg find mustInstanceOfExpense_class(problem,interpretation,element);
2399 neg find mustInstanceOfConstants_class(problem,interpretation,element);
2400 neg find mustInstanceOfAddress_class(problem,interpretation,element);
2401 neg find mustInstanceOfIncome_Type_class(problem,interpretation,element);
2402 neg find mustInstanceOfDS_class(problem,interpretation,element);
2403 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
2404 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
2405 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
2406 neg find mustInstanceOfLocal_Income_class(problem,interpretation,element);
2407 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
2408 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
2409 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
2410 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
2411 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
2412 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
2413 neg find scopeDisallowsNewForeign_Income_class(problem, interpretation);
2414 neg find isPrimitive(element);
2415} or {
2416 find interpretation(problem,interpretation);
2417 PartialInterpretation.openWorldElements(interpretation,element);
2418 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
2419 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
2420 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
2421 neg find mustInstanceOfExpense_class(problem,interpretation,element);
2422 neg find mustInstanceOfConstants_class(problem,interpretation,element);
2423 neg find mustInstanceOfAddress_class(problem,interpretation,element);
2424 neg find mustInstanceOfIncome_Type_class(problem,interpretation,element);
2425 neg find mustInstanceOfDS_class(problem,interpretation,element);
2426 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
2427 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
2428 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
2429 neg find mustInstanceOfLocal_Income_class(problem,interpretation,element);
2430 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
2431 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
2432 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
2433 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
2434 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
2435 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
2436 neg find scopeDisallowsNewForeign_Income_class(problem, interpretation);
2437 neg find isPrimitive(element);
2438} or
2439{ find mustInstanceOfForeign_Income_class(problem,interpretation,element); }
2440/**
2441 * An element must be an instance of type "Local_Income class".
2442 */
2443private pattern mustInstanceOfLocal_Income_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
2444 Type.name(type,"Local_Income class");
2445 find directInstanceOf(problem,interpretation,element,type);
2446}
2447private pattern scopeDisallowsNewLocal_Income_class(problem:LogicProblem, interpretation:PartialInterpretation) {
2448 find interpretation(problem,interpretation);
2449 PartialInterpretation.scopes(interpretation,scope);
2450 Scope.targetTypeInterpretation(scope,typeInterpretation);
2451 Scope.maxNewElements(scope,0);
2452 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
2453 Type.name(type,"Local_Income class");
2454}
2455
2456/**
2457 * An element may be an instance of type "Local_Income class".
2458 */
2459private pattern mayInstanceOfLocal_Income_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
2460{
2461 find interpretation(problem,interpretation);
2462 PartialInterpretation.newElements(interpretation,element);
2463 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
2464 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
2465 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
2466 neg find mustInstanceOfConstants_class(problem,interpretation,element);
2467 neg find mustInstanceOfExpense_class(problem,interpretation,element);
2468 neg find mustInstanceOfAddress_class(problem,interpretation,element);
2469 neg find mustInstanceOfForeign_Income_class(problem,interpretation,element);
2470 neg find mustInstanceOfDS_class(problem,interpretation,element);
2471 neg find mustInstanceOfIncome_Type_class(problem,interpretation,element);
2472 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
2473 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
2474 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
2475 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
2476 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
2477 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
2478 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
2479 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
2480 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
2481 neg find scopeDisallowsNewLocal_Income_class(problem, interpretation);
2482 neg find isPrimitive(element);
2483} or {
2484 find interpretation(problem,interpretation);
2485 PartialInterpretation.openWorldElements(interpretation,element);
2486 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
2487 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
2488 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
2489 neg find mustInstanceOfConstants_class(problem,interpretation,element);
2490 neg find mustInstanceOfExpense_class(problem,interpretation,element);
2491 neg find mustInstanceOfAddress_class(problem,interpretation,element);
2492 neg find mustInstanceOfForeign_Income_class(problem,interpretation,element);
2493 neg find mustInstanceOfDS_class(problem,interpretation,element);
2494 neg find mustInstanceOfIncome_Type_class(problem,interpretation,element);
2495 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
2496 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
2497 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
2498 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
2499 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
2500 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
2501 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
2502 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
2503 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
2504 neg find scopeDisallowsNewLocal_Income_class(problem, interpretation);
2505 neg find isPrimitive(element);
2506} or
2507{ find mustInstanceOfLocal_Income_class(problem,interpretation,element); }
2508/**
2509 * An element must be an instance of type "CIM class".
2510 */
2511private pattern mustInstanceOfCIM_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
2512 Type.name(type,"CIM class");
2513 find directInstanceOf(problem,interpretation,element,type);
2514}
2515private pattern scopeDisallowsNewCIM_class(problem:LogicProblem, interpretation:PartialInterpretation) {
2516 find interpretation(problem,interpretation);
2517 PartialInterpretation.scopes(interpretation,scope);
2518 Scope.targetTypeInterpretation(scope,typeInterpretation);
2519 Scope.maxNewElements(scope,0);
2520 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
2521 Type.name(type,"CIM class");
2522}
2523
2524/**
2525 * An element may be an instance of type "CIM class".
2526 */
2527private pattern mayInstanceOfCIM_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
2528{
2529 find interpretation(problem,interpretation);
2530 PartialInterpretation.newElements(interpretation,element);
2531 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
2532 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
2533 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
2534 neg find mustInstanceOfConstants_class(problem,interpretation,element);
2535 neg find mustInstanceOfExpense_class(problem,interpretation,element);
2536 neg find mustInstanceOfAddress_class(problem,interpretation,element);
2537 neg find mustInstanceOfDS_class(problem,interpretation,element);
2538 neg find mustInstanceOfIncome_Type_class(problem,interpretation,element);
2539 neg find mustInstanceOfCIS_class(problem,interpretation,element);
2540 neg find mustInstanceOfCIP_class(problem,interpretation,element);
2541 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
2542 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
2543 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
2544 neg find mustInstanceOfIncome_class(problem,interpretation,element);
2545 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
2546 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
2547 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
2548 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
2549 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
2550 neg find scopeDisallowsNewCIM_class(problem, interpretation);
2551 neg find isPrimitive(element);
2552} or {
2553 find interpretation(problem,interpretation);
2554 PartialInterpretation.openWorldElements(interpretation,element);
2555 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
2556 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
2557 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
2558 neg find mustInstanceOfConstants_class(problem,interpretation,element);
2559 neg find mustInstanceOfExpense_class(problem,interpretation,element);
2560 neg find mustInstanceOfAddress_class(problem,interpretation,element);
2561 neg find mustInstanceOfDS_class(problem,interpretation,element);
2562 neg find mustInstanceOfIncome_Type_class(problem,interpretation,element);
2563 neg find mustInstanceOfCIS_class(problem,interpretation,element);
2564 neg find mustInstanceOfCIP_class(problem,interpretation,element);
2565 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
2566 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
2567 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
2568 neg find mustInstanceOfIncome_class(problem,interpretation,element);
2569 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
2570 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
2571 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
2572 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
2573 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
2574 neg find scopeDisallowsNewCIM_class(problem, interpretation);
2575 neg find isPrimitive(element);
2576} or
2577{ find mustInstanceOfCIM_class(problem,interpretation,element); }
2578/**
2579 * An element must be an instance of type "CIP class".
2580 */
2581private pattern mustInstanceOfCIP_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
2582 Type.name(type,"CIP class");
2583 find directInstanceOf(problem,interpretation,element,type);
2584}
2585private pattern scopeDisallowsNewCIP_class(problem:LogicProblem, interpretation:PartialInterpretation) {
2586 find interpretation(problem,interpretation);
2587 PartialInterpretation.scopes(interpretation,scope);
2588 Scope.targetTypeInterpretation(scope,typeInterpretation);
2589 Scope.maxNewElements(scope,0);
2590 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
2591 Type.name(type,"CIP class");
2592}
2593
2594/**
2595 * An element may be an instance of type "CIP class".
2596 */
2597private pattern mayInstanceOfCIP_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
2598{
2599 find interpretation(problem,interpretation);
2600 PartialInterpretation.newElements(interpretation,element);
2601 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
2602 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
2603 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
2604 neg find mustInstanceOfConstants_class(problem,interpretation,element);
2605 neg find mustInstanceOfExpense_class(problem,interpretation,element);
2606 neg find mustInstanceOfAddress_class(problem,interpretation,element);
2607 neg find mustInstanceOfDS_class(problem,interpretation,element);
2608 neg find mustInstanceOfIncome_Type_class(problem,interpretation,element);
2609 neg find mustInstanceOfCIS_class(problem,interpretation,element);
2610 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
2611 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
2612 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
2613 neg find mustInstanceOfIncome_class(problem,interpretation,element);
2614 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
2615 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
2616 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
2617 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
2618 neg find mustInstanceOfCIM_class(problem,interpretation,element);
2619 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
2620 neg find scopeDisallowsNewCIP_class(problem, interpretation);
2621 neg find isPrimitive(element);
2622} or {
2623 find interpretation(problem,interpretation);
2624 PartialInterpretation.openWorldElements(interpretation,element);
2625 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
2626 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
2627 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
2628 neg find mustInstanceOfConstants_class(problem,interpretation,element);
2629 neg find mustInstanceOfExpense_class(problem,interpretation,element);
2630 neg find mustInstanceOfAddress_class(problem,interpretation,element);
2631 neg find mustInstanceOfDS_class(problem,interpretation,element);
2632 neg find mustInstanceOfIncome_Type_class(problem,interpretation,element);
2633 neg find mustInstanceOfCIS_class(problem,interpretation,element);
2634 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
2635 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
2636 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
2637 neg find mustInstanceOfIncome_class(problem,interpretation,element);
2638 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
2639 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
2640 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
2641 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
2642 neg find mustInstanceOfCIM_class(problem,interpretation,element);
2643 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
2644 neg find scopeDisallowsNewCIP_class(problem, interpretation);
2645 neg find isPrimitive(element);
2646} or
2647{ find mustInstanceOfCIP_class(problem,interpretation,element); }
2648/**
2649 * An element must be an instance of type "CIS class".
2650 */
2651private pattern mustInstanceOfCIS_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
2652 Type.name(type,"CIS class");
2653 find directInstanceOf(problem,interpretation,element,type);
2654}
2655private pattern scopeDisallowsNewCIS_class(problem:LogicProblem, interpretation:PartialInterpretation) {
2656 find interpretation(problem,interpretation);
2657 PartialInterpretation.scopes(interpretation,scope);
2658 Scope.targetTypeInterpretation(scope,typeInterpretation);
2659 Scope.maxNewElements(scope,0);
2660 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
2661 Type.name(type,"CIS class");
2662}
2663
2664/**
2665 * An element may be an instance of type "CIS class".
2666 */
2667private pattern mayInstanceOfCIS_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
2668{
2669 find interpretation(problem,interpretation);
2670 PartialInterpretation.newElements(interpretation,element);
2671 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
2672 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
2673 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
2674 neg find mustInstanceOfConstants_class(problem,interpretation,element);
2675 neg find mustInstanceOfExpense_class(problem,interpretation,element);
2676 neg find mustInstanceOfAddress_class(problem,interpretation,element);
2677 neg find mustInstanceOfDS_class(problem,interpretation,element);
2678 neg find mustInstanceOfIncome_Type_class(problem,interpretation,element);
2679 neg find mustInstanceOfCIP_class(problem,interpretation,element);
2680 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
2681 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
2682 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
2683 neg find mustInstanceOfIncome_class(problem,interpretation,element);
2684 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
2685 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
2686 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
2687 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
2688 neg find mustInstanceOfCIM_class(problem,interpretation,element);
2689 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
2690 neg find scopeDisallowsNewCIS_class(problem, interpretation);
2691 neg find isPrimitive(element);
2692} or {
2693 find interpretation(problem,interpretation);
2694 PartialInterpretation.openWorldElements(interpretation,element);
2695 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
2696 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
2697 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
2698 neg find mustInstanceOfConstants_class(problem,interpretation,element);
2699 neg find mustInstanceOfExpense_class(problem,interpretation,element);
2700 neg find mustInstanceOfAddress_class(problem,interpretation,element);
2701 neg find mustInstanceOfDS_class(problem,interpretation,element);
2702 neg find mustInstanceOfIncome_Type_class(problem,interpretation,element);
2703 neg find mustInstanceOfCIP_class(problem,interpretation,element);
2704 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
2705 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
2706 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
2707 neg find mustInstanceOfIncome_class(problem,interpretation,element);
2708 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
2709 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
2710 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
2711 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
2712 neg find mustInstanceOfCIM_class(problem,interpretation,element);
2713 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
2714 neg find scopeDisallowsNewCIS_class(problem, interpretation);
2715 neg find isPrimitive(element);
2716} or
2717{ find mustInstanceOfCIS_class(problem,interpretation,element); }
2718/**
2719 * An element must be an instance of type "FD class".
2720 */
2721private pattern mustInstanceOfFD_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
2722 Type.name(type,"FD class");
2723 find directInstanceOf(problem,interpretation,element,type);
2724}
2725private pattern scopeDisallowsNewFD_class(problem:LogicProblem, interpretation:PartialInterpretation) {
2726 find interpretation(problem,interpretation);
2727 PartialInterpretation.scopes(interpretation,scope);
2728 Scope.targetTypeInterpretation(scope,typeInterpretation);
2729 Scope.maxNewElements(scope,0);
2730 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
2731 Type.name(type,"FD class");
2732}
2733
2734/**
2735 * An element may be an instance of type "FD class".
2736 */
2737private pattern mayInstanceOfFD_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
2738{
2739 find interpretation(problem,interpretation);
2740 PartialInterpretation.newElements(interpretation,element);
2741 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
2742 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
2743 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
2744 neg find mustInstanceOfExpense_class(problem,interpretation,element);
2745 neg find mustInstanceOfConstants_class(problem,interpretation,element);
2746 neg find mustInstanceOfAddress_class(problem,interpretation,element);
2747 neg find mustInstanceOfDS_class(problem,interpretation,element);
2748 neg find mustInstanceOfIncome_Type_class(problem,interpretation,element);
2749 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
2750 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
2751 neg find mustInstanceOfFO_class(problem,interpretation,element);
2752 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
2753 neg find mustInstanceOfIncome_class(problem,interpretation,element);
2754 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
2755 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
2756 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
2757 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
2758 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
2759 neg find scopeDisallowsNewFD_class(problem, interpretation);
2760 neg find isPrimitive(element);
2761} or {
2762 find interpretation(problem,interpretation);
2763 PartialInterpretation.openWorldElements(interpretation,element);
2764 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
2765 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
2766 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
2767 neg find mustInstanceOfExpense_class(problem,interpretation,element);
2768 neg find mustInstanceOfConstants_class(problem,interpretation,element);
2769 neg find mustInstanceOfAddress_class(problem,interpretation,element);
2770 neg find mustInstanceOfDS_class(problem,interpretation,element);
2771 neg find mustInstanceOfIncome_Type_class(problem,interpretation,element);
2772 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
2773 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
2774 neg find mustInstanceOfFO_class(problem,interpretation,element);
2775 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
2776 neg find mustInstanceOfIncome_class(problem,interpretation,element);
2777 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
2778 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
2779 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
2780 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
2781 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
2782 neg find scopeDisallowsNewFD_class(problem, interpretation);
2783 neg find isPrimitive(element);
2784} or
2785{ find mustInstanceOfFD_class(problem,interpretation,element); }
2786/**
2787 * An element must be an instance of type "Professional_Expenses_Deduction class".
2788 */
2789private pattern mustInstanceOfProfessional_Expenses_Deduction_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
2790 Type.name(type,"Professional_Expenses_Deduction class");
2791 find directInstanceOf(problem,interpretation,element,type);
2792}
2793private pattern scopeDisallowsNewProfessional_Expenses_Deduction_class(problem:LogicProblem, interpretation:PartialInterpretation) {
2794 find interpretation(problem,interpretation);
2795 PartialInterpretation.scopes(interpretation,scope);
2796 Scope.targetTypeInterpretation(scope,typeInterpretation);
2797 Scope.maxNewElements(scope,0);
2798 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
2799 Type.name(type,"Professional_Expenses_Deduction class");
2800}
2801
2802/**
2803 * An element may be an instance of type "Professional_Expenses_Deduction class".
2804 */
2805private pattern mayInstanceOfProfessional_Expenses_Deduction_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
2806{
2807 find interpretation(problem,interpretation);
2808 PartialInterpretation.newElements(interpretation,element);
2809 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
2810 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
2811 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
2812 neg find mustInstanceOfExpense_class(problem,interpretation,element);
2813 neg find mustInstanceOfConstants_class(problem,interpretation,element);
2814 neg find mustInstanceOfFD_class(problem,interpretation,element);
2815 neg find mustInstanceOfAddress_class(problem,interpretation,element);
2816 neg find mustInstanceOfIncome_Type_class(problem,interpretation,element);
2817 neg find mustInstanceOfDS_class(problem,interpretation,element);
2818 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
2819 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
2820 neg find mustInstanceOfFO_class(problem,interpretation,element);
2821 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
2822 neg find mustInstanceOfIncome_class(problem,interpretation,element);
2823 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
2824 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
2825 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
2826 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
2827 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
2828 neg find scopeDisallowsNewProfessional_Expenses_Deduction_class(problem, interpretation);
2829 neg find isPrimitive(element);
2830} or {
2831 find interpretation(problem,interpretation);
2832 PartialInterpretation.openWorldElements(interpretation,element);
2833 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
2834 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
2835 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
2836 neg find mustInstanceOfExpense_class(problem,interpretation,element);
2837 neg find mustInstanceOfConstants_class(problem,interpretation,element);
2838 neg find mustInstanceOfFD_class(problem,interpretation,element);
2839 neg find mustInstanceOfAddress_class(problem,interpretation,element);
2840 neg find mustInstanceOfIncome_Type_class(problem,interpretation,element);
2841 neg find mustInstanceOfDS_class(problem,interpretation,element);
2842 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
2843 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
2844 neg find mustInstanceOfFO_class(problem,interpretation,element);
2845 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
2846 neg find mustInstanceOfIncome_class(problem,interpretation,element);
2847 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
2848 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
2849 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
2850 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
2851 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
2852 neg find scopeDisallowsNewProfessional_Expenses_Deduction_class(problem, interpretation);
2853 neg find isPrimitive(element);
2854} or
2855{ find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element); }
2856/**
2857 * An element must be an instance of type "FO class".
2858 */
2859private pattern mustInstanceOfFO_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
2860 Type.name(type,"FO class");
2861 find directInstanceOf(problem,interpretation,element,type);
2862}
2863private pattern scopeDisallowsNewFO_class(problem:LogicProblem, interpretation:PartialInterpretation) {
2864 find interpretation(problem,interpretation);
2865 PartialInterpretation.scopes(interpretation,scope);
2866 Scope.targetTypeInterpretation(scope,typeInterpretation);
2867 Scope.maxNewElements(scope,0);
2868 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
2869 Type.name(type,"FO class");
2870}
2871
2872/**
2873 * An element may be an instance of type "FO class".
2874 */
2875private pattern mayInstanceOfFO_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
2876{
2877 find interpretation(problem,interpretation);
2878 PartialInterpretation.newElements(interpretation,element);
2879 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
2880 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
2881 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
2882 neg find mustInstanceOfConstants_class(problem,interpretation,element);
2883 neg find mustInstanceOfExpense_class(problem,interpretation,element);
2884 neg find mustInstanceOfFD_class(problem,interpretation,element);
2885 neg find mustInstanceOfAddress_class(problem,interpretation,element);
2886 neg find mustInstanceOfIncome_Type_class(problem,interpretation,element);
2887 neg find mustInstanceOfDS_class(problem,interpretation,element);
2888 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
2889 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
2890 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
2891 neg find mustInstanceOfIncome_class(problem,interpretation,element);
2892 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
2893 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
2894 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
2895 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
2896 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
2897 neg find scopeDisallowsNewFO_class(problem, interpretation);
2898 neg find isPrimitive(element);
2899} or {
2900 find interpretation(problem,interpretation);
2901 PartialInterpretation.openWorldElements(interpretation,element);
2902 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
2903 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
2904 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
2905 neg find mustInstanceOfConstants_class(problem,interpretation,element);
2906 neg find mustInstanceOfExpense_class(problem,interpretation,element);
2907 neg find mustInstanceOfFD_class(problem,interpretation,element);
2908 neg find mustInstanceOfAddress_class(problem,interpretation,element);
2909 neg find mustInstanceOfIncome_Type_class(problem,interpretation,element);
2910 neg find mustInstanceOfDS_class(problem,interpretation,element);
2911 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
2912 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
2913 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
2914 neg find mustInstanceOfIncome_class(problem,interpretation,element);
2915 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
2916 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
2917 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
2918 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
2919 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
2920 neg find scopeDisallowsNewFO_class(problem, interpretation);
2921 neg find isPrimitive(element);
2922} or
2923{ find mustInstanceOfFO_class(problem,interpretation,element); }
2924/**
2925 * An element must be an instance of type "DS_for_Permanent_Expense class".
2926 */
2927private pattern mustInstanceOfDS_for_Permanent_Expense_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
2928 Type.name(type,"DS_for_Permanent_Expense class");
2929 find directInstanceOf(problem,interpretation,element,type);
2930}
2931private pattern scopeDisallowsNewDS_for_Permanent_Expense_class(problem:LogicProblem, interpretation:PartialInterpretation) {
2932 find interpretation(problem,interpretation);
2933 PartialInterpretation.scopes(interpretation,scope);
2934 Scope.targetTypeInterpretation(scope,typeInterpretation);
2935 Scope.maxNewElements(scope,0);
2936 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
2937 Type.name(type,"DS_for_Permanent_Expense class");
2938}
2939
2940/**
2941 * An element may be an instance of type "DS_for_Permanent_Expense class".
2942 */
2943private pattern mayInstanceOfDS_for_Permanent_Expense_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
2944{
2945 find interpretation(problem,interpretation);
2946 PartialInterpretation.newElements(interpretation,element);
2947 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
2948 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
2949 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
2950 neg find mustInstanceOfExpense_class(problem,interpretation,element);
2951 neg find mustInstanceOfConstants_class(problem,interpretation,element);
2952 neg find mustInstanceOfAddress_class(problem,interpretation,element);
2953 neg find mustInstanceOfIncome_Type_class(problem,interpretation,element);
2954 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
2955 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
2956 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
2957 neg find mustInstanceOfDS_for_Loss_Carryforward_class(problem,interpretation,element);
2958 neg find mustInstanceOfDS_for_Donation_class(problem,interpretation,element);
2959 neg find mustInstanceOfIncome_class(problem,interpretation,element);
2960 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
2961 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
2962 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
2963 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
2964 neg find mustInstanceOfDS_for_Interest_Expense_class(problem,interpretation,element);
2965 neg find mustInstanceOfDS_for_Health_and_Pension_Insurance_class(problem,interpretation,element);
2966 neg find mustInstanceOfDS_for_Private_Insurance_and_Plan_class(problem,interpretation,element);
2967 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
2968 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
2969 neg find scopeDisallowsNewDS_for_Permanent_Expense_class(problem, interpretation);
2970 neg find isPrimitive(element);
2971} or {
2972 find interpretation(problem,interpretation);
2973 PartialInterpretation.openWorldElements(interpretation,element);
2974 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
2975 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
2976 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
2977 neg find mustInstanceOfExpense_class(problem,interpretation,element);
2978 neg find mustInstanceOfConstants_class(problem,interpretation,element);
2979 neg find mustInstanceOfAddress_class(problem,interpretation,element);
2980 neg find mustInstanceOfIncome_Type_class(problem,interpretation,element);
2981 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
2982 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
2983 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
2984 neg find mustInstanceOfDS_for_Loss_Carryforward_class(problem,interpretation,element);
2985 neg find mustInstanceOfDS_for_Donation_class(problem,interpretation,element);
2986 neg find mustInstanceOfIncome_class(problem,interpretation,element);
2987 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
2988 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
2989 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
2990 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
2991 neg find mustInstanceOfDS_for_Interest_Expense_class(problem,interpretation,element);
2992 neg find mustInstanceOfDS_for_Health_and_Pension_Insurance_class(problem,interpretation,element);
2993 neg find mustInstanceOfDS_for_Private_Insurance_and_Plan_class(problem,interpretation,element);
2994 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
2995 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
2996 neg find scopeDisallowsNewDS_for_Permanent_Expense_class(problem, interpretation);
2997 neg find isPrimitive(element);
2998} or
2999{ find mustInstanceOfDS_for_Permanent_Expense_class(problem,interpretation,element); }
3000/**
3001 * An element must be an instance of type "DS class".
3002 */
3003private pattern mustInstanceOfDS_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
3004 Type.name(type,"DS class");
3005 find directInstanceOf(problem,interpretation,element,type);
3006}
3007private pattern scopeDisallowsNewDS_class(problem:LogicProblem, interpretation:PartialInterpretation) {
3008 find interpretation(problem,interpretation);
3009 PartialInterpretation.scopes(interpretation,scope);
3010 Scope.targetTypeInterpretation(scope,typeInterpretation);
3011 Scope.maxNewElements(scope,0);
3012 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
3013 Type.name(type,"DS class");
3014}
3015
3016/**
3017 * An element may be an instance of type "DS class".
3018 */
3019private pattern mayInstanceOfDS_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
3020{
3021 find interpretation(problem,interpretation);
3022 PartialInterpretation.newElements(interpretation,element);
3023 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
3024 neg find mustInstanceOfDS_for_Permanent_Expense_class(problem,interpretation,element);
3025 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
3026 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
3027 neg find mustInstanceOfConstants_class(problem,interpretation,element);
3028 neg find mustInstanceOfExpense_class(problem,interpretation,element);
3029 neg find mustInstanceOfAddress_class(problem,interpretation,element);
3030 neg find mustInstanceOfIncome_Type_class(problem,interpretation,element);
3031 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
3032 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
3033 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
3034 neg find mustInstanceOfDS_for_Loss_Carryforward_class(problem,interpretation,element);
3035 neg find mustInstanceOfDS_for_Donation_class(problem,interpretation,element);
3036 neg find mustInstanceOfIncome_class(problem,interpretation,element);
3037 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
3038 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
3039 neg find mustInstanceOfDS_for_Interest_Expense_class(problem,interpretation,element);
3040 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
3041 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
3042 neg find mustInstanceOfDS_for_Health_and_Pension_Insurance_class(problem,interpretation,element);
3043 neg find mustInstanceOfDS_for_Private_Insurance_and_Plan_class(problem,interpretation,element);
3044 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
3045 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
3046 neg find scopeDisallowsNewDS_class(problem, interpretation);
3047 neg find isPrimitive(element);
3048} or {
3049 find interpretation(problem,interpretation);
3050 PartialInterpretation.openWorldElements(interpretation,element);
3051 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
3052 neg find mustInstanceOfDS_for_Permanent_Expense_class(problem,interpretation,element);
3053 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
3054 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
3055 neg find mustInstanceOfConstants_class(problem,interpretation,element);
3056 neg find mustInstanceOfExpense_class(problem,interpretation,element);
3057 neg find mustInstanceOfAddress_class(problem,interpretation,element);
3058 neg find mustInstanceOfIncome_Type_class(problem,interpretation,element);
3059 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
3060 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
3061 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
3062 neg find mustInstanceOfDS_for_Loss_Carryforward_class(problem,interpretation,element);
3063 neg find mustInstanceOfDS_for_Donation_class(problem,interpretation,element);
3064 neg find mustInstanceOfIncome_class(problem,interpretation,element);
3065 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
3066 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
3067 neg find mustInstanceOfDS_for_Interest_Expense_class(problem,interpretation,element);
3068 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
3069 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
3070 neg find mustInstanceOfDS_for_Health_and_Pension_Insurance_class(problem,interpretation,element);
3071 neg find mustInstanceOfDS_for_Private_Insurance_and_Plan_class(problem,interpretation,element);
3072 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
3073 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
3074 neg find scopeDisallowsNewDS_class(problem, interpretation);
3075 neg find isPrimitive(element);
3076} or
3077{ find mustInstanceOfDS_class(problem,interpretation,element); }
3078/**
3079 * An element must be an instance of type "DS_for_Interest_Expense class".
3080 */
3081private pattern mustInstanceOfDS_for_Interest_Expense_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
3082 Type.name(type,"DS_for_Interest_Expense class");
3083 find directInstanceOf(problem,interpretation,element,type);
3084}
3085private pattern scopeDisallowsNewDS_for_Interest_Expense_class(problem:LogicProblem, interpretation:PartialInterpretation) {
3086 find interpretation(problem,interpretation);
3087 PartialInterpretation.scopes(interpretation,scope);
3088 Scope.targetTypeInterpretation(scope,typeInterpretation);
3089 Scope.maxNewElements(scope,0);
3090 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
3091 Type.name(type,"DS_for_Interest_Expense class");
3092}
3093
3094/**
3095 * An element may be an instance of type "DS_for_Interest_Expense class".
3096 */
3097private pattern mayInstanceOfDS_for_Interest_Expense_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
3098{
3099 find interpretation(problem,interpretation);
3100 PartialInterpretation.newElements(interpretation,element);
3101 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
3102 neg find mustInstanceOfDS_for_Permanent_Expense_class(problem,interpretation,element);
3103 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
3104 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
3105 neg find mustInstanceOfExpense_class(problem,interpretation,element);
3106 neg find mustInstanceOfConstants_class(problem,interpretation,element);
3107 neg find mustInstanceOfAddress_class(problem,interpretation,element);
3108 neg find mustInstanceOfIncome_Type_class(problem,interpretation,element);
3109 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
3110 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
3111 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
3112 neg find mustInstanceOfDS_for_Loss_Carryforward_class(problem,interpretation,element);
3113 neg find mustInstanceOfDS_for_Donation_class(problem,interpretation,element);
3114 neg find mustInstanceOfIncome_class(problem,interpretation,element);
3115 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
3116 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
3117 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
3118 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
3119 neg find mustInstanceOfDS_for_Health_and_Pension_Insurance_class(problem,interpretation,element);
3120 neg find mustInstanceOfDS_for_Private_Insurance_and_Plan_class(problem,interpretation,element);
3121 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
3122 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
3123 neg find scopeDisallowsNewDS_for_Interest_Expense_class(problem, interpretation);
3124 neg find isPrimitive(element);
3125} or {
3126 find interpretation(problem,interpretation);
3127 PartialInterpretation.openWorldElements(interpretation,element);
3128 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
3129 neg find mustInstanceOfDS_for_Permanent_Expense_class(problem,interpretation,element);
3130 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
3131 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
3132 neg find mustInstanceOfExpense_class(problem,interpretation,element);
3133 neg find mustInstanceOfConstants_class(problem,interpretation,element);
3134 neg find mustInstanceOfAddress_class(problem,interpretation,element);
3135 neg find mustInstanceOfIncome_Type_class(problem,interpretation,element);
3136 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
3137 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
3138 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
3139 neg find mustInstanceOfDS_for_Loss_Carryforward_class(problem,interpretation,element);
3140 neg find mustInstanceOfDS_for_Donation_class(problem,interpretation,element);
3141 neg find mustInstanceOfIncome_class(problem,interpretation,element);
3142 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
3143 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
3144 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
3145 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
3146 neg find mustInstanceOfDS_for_Health_and_Pension_Insurance_class(problem,interpretation,element);
3147 neg find mustInstanceOfDS_for_Private_Insurance_and_Plan_class(problem,interpretation,element);
3148 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
3149 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
3150 neg find scopeDisallowsNewDS_for_Interest_Expense_class(problem, interpretation);
3151 neg find isPrimitive(element);
3152} or
3153{ find mustInstanceOfDS_for_Interest_Expense_class(problem,interpretation,element); }
3154/**
3155 * An element must be an instance of type "DS_for_Health_and_Pension_Insurance class".
3156 */
3157private pattern mustInstanceOfDS_for_Health_and_Pension_Insurance_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
3158 Type.name(type,"DS_for_Health_and_Pension_Insurance class");
3159 find directInstanceOf(problem,interpretation,element,type);
3160}
3161private pattern scopeDisallowsNewDS_for_Health_and_Pension_Insurance_class(problem:LogicProblem, interpretation:PartialInterpretation) {
3162 find interpretation(problem,interpretation);
3163 PartialInterpretation.scopes(interpretation,scope);
3164 Scope.targetTypeInterpretation(scope,typeInterpretation);
3165 Scope.maxNewElements(scope,0);
3166 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
3167 Type.name(type,"DS_for_Health_and_Pension_Insurance class");
3168}
3169
3170/**
3171 * An element may be an instance of type "DS_for_Health_and_Pension_Insurance class".
3172 */
3173private pattern mayInstanceOfDS_for_Health_and_Pension_Insurance_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
3174{
3175 find interpretation(problem,interpretation);
3176 PartialInterpretation.newElements(interpretation,element);
3177 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
3178 neg find mustInstanceOfDS_for_Permanent_Expense_class(problem,interpretation,element);
3179 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
3180 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
3181 neg find mustInstanceOfExpense_class(problem,interpretation,element);
3182 neg find mustInstanceOfConstants_class(problem,interpretation,element);
3183 neg find mustInstanceOfAddress_class(problem,interpretation,element);
3184 neg find mustInstanceOfIncome_Type_class(problem,interpretation,element);
3185 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
3186 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
3187 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
3188 neg find mustInstanceOfDS_for_Loss_Carryforward_class(problem,interpretation,element);
3189 neg find mustInstanceOfDS_for_Donation_class(problem,interpretation,element);
3190 neg find mustInstanceOfIncome_class(problem,interpretation,element);
3191 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
3192 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
3193 neg find mustInstanceOfDS_for_Interest_Expense_class(problem,interpretation,element);
3194 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
3195 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
3196 neg find mustInstanceOfDS_for_Private_Insurance_and_Plan_class(problem,interpretation,element);
3197 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
3198 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
3199 neg find scopeDisallowsNewDS_for_Health_and_Pension_Insurance_class(problem, interpretation);
3200 neg find isPrimitive(element);
3201} or {
3202 find interpretation(problem,interpretation);
3203 PartialInterpretation.openWorldElements(interpretation,element);
3204 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
3205 neg find mustInstanceOfDS_for_Permanent_Expense_class(problem,interpretation,element);
3206 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
3207 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
3208 neg find mustInstanceOfExpense_class(problem,interpretation,element);
3209 neg find mustInstanceOfConstants_class(problem,interpretation,element);
3210 neg find mustInstanceOfAddress_class(problem,interpretation,element);
3211 neg find mustInstanceOfIncome_Type_class(problem,interpretation,element);
3212 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
3213 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
3214 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
3215 neg find mustInstanceOfDS_for_Loss_Carryforward_class(problem,interpretation,element);
3216 neg find mustInstanceOfDS_for_Donation_class(problem,interpretation,element);
3217 neg find mustInstanceOfIncome_class(problem,interpretation,element);
3218 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
3219 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
3220 neg find mustInstanceOfDS_for_Interest_Expense_class(problem,interpretation,element);
3221 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
3222 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
3223 neg find mustInstanceOfDS_for_Private_Insurance_and_Plan_class(problem,interpretation,element);
3224 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
3225 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
3226 neg find scopeDisallowsNewDS_for_Health_and_Pension_Insurance_class(problem, interpretation);
3227 neg find isPrimitive(element);
3228} or
3229{ find mustInstanceOfDS_for_Health_and_Pension_Insurance_class(problem,interpretation,element); }
3230/**
3231 * An element must be an instance of type "DS_for_Private_Insurance_and_Plan class".
3232 */
3233private pattern mustInstanceOfDS_for_Private_Insurance_and_Plan_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
3234 Type.name(type,"DS_for_Private_Insurance_and_Plan class");
3235 find directInstanceOf(problem,interpretation,element,type);
3236}
3237private pattern scopeDisallowsNewDS_for_Private_Insurance_and_Plan_class(problem:LogicProblem, interpretation:PartialInterpretation) {
3238 find interpretation(problem,interpretation);
3239 PartialInterpretation.scopes(interpretation,scope);
3240 Scope.targetTypeInterpretation(scope,typeInterpretation);
3241 Scope.maxNewElements(scope,0);
3242 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
3243 Type.name(type,"DS_for_Private_Insurance_and_Plan class");
3244}
3245
3246/**
3247 * An element may be an instance of type "DS_for_Private_Insurance_and_Plan class".
3248 */
3249private pattern mayInstanceOfDS_for_Private_Insurance_and_Plan_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
3250{
3251 find interpretation(problem,interpretation);
3252 PartialInterpretation.newElements(interpretation,element);
3253 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
3254 neg find mustInstanceOfDS_for_Permanent_Expense_class(problem,interpretation,element);
3255 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
3256 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
3257 neg find mustInstanceOfExpense_class(problem,interpretation,element);
3258 neg find mustInstanceOfConstants_class(problem,interpretation,element);
3259 neg find mustInstanceOfAddress_class(problem,interpretation,element);
3260 neg find mustInstanceOfIncome_Type_class(problem,interpretation,element);
3261 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
3262 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
3263 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
3264 neg find mustInstanceOfDS_for_Loss_Carryforward_class(problem,interpretation,element);
3265 neg find mustInstanceOfDS_for_Donation_class(problem,interpretation,element);
3266 neg find mustInstanceOfIncome_class(problem,interpretation,element);
3267 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
3268 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
3269 neg find mustInstanceOfDS_for_Interest_Expense_class(problem,interpretation,element);
3270 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
3271 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
3272 neg find mustInstanceOfDS_for_Health_and_Pension_Insurance_class(problem,interpretation,element);
3273 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
3274 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
3275 neg find scopeDisallowsNewDS_for_Private_Insurance_and_Plan_class(problem, interpretation);
3276 neg find isPrimitive(element);
3277} or {
3278 find interpretation(problem,interpretation);
3279 PartialInterpretation.openWorldElements(interpretation,element);
3280 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
3281 neg find mustInstanceOfDS_for_Permanent_Expense_class(problem,interpretation,element);
3282 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
3283 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
3284 neg find mustInstanceOfExpense_class(problem,interpretation,element);
3285 neg find mustInstanceOfConstants_class(problem,interpretation,element);
3286 neg find mustInstanceOfAddress_class(problem,interpretation,element);
3287 neg find mustInstanceOfIncome_Type_class(problem,interpretation,element);
3288 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
3289 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
3290 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
3291 neg find mustInstanceOfDS_for_Loss_Carryforward_class(problem,interpretation,element);
3292 neg find mustInstanceOfDS_for_Donation_class(problem,interpretation,element);
3293 neg find mustInstanceOfIncome_class(problem,interpretation,element);
3294 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
3295 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
3296 neg find mustInstanceOfDS_for_Interest_Expense_class(problem,interpretation,element);
3297 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
3298 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
3299 neg find mustInstanceOfDS_for_Health_and_Pension_Insurance_class(problem,interpretation,element);
3300 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
3301 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
3302 neg find scopeDisallowsNewDS_for_Private_Insurance_and_Plan_class(problem, interpretation);
3303 neg find isPrimitive(element);
3304} or
3305{ find mustInstanceOfDS_for_Private_Insurance_and_Plan_class(problem,interpretation,element); }
3306/**
3307 * An element must be an instance of type "DS_for_Loss_Carryforward class".
3308 */
3309private pattern mustInstanceOfDS_for_Loss_Carryforward_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
3310 Type.name(type,"DS_for_Loss_Carryforward class");
3311 find directInstanceOf(problem,interpretation,element,type);
3312}
3313private pattern scopeDisallowsNewDS_for_Loss_Carryforward_class(problem:LogicProblem, interpretation:PartialInterpretation) {
3314 find interpretation(problem,interpretation);
3315 PartialInterpretation.scopes(interpretation,scope);
3316 Scope.targetTypeInterpretation(scope,typeInterpretation);
3317 Scope.maxNewElements(scope,0);
3318 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
3319 Type.name(type,"DS_for_Loss_Carryforward class");
3320}
3321
3322/**
3323 * An element may be an instance of type "DS_for_Loss_Carryforward class".
3324 */
3325private pattern mayInstanceOfDS_for_Loss_Carryforward_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
3326{
3327 find interpretation(problem,interpretation);
3328 PartialInterpretation.newElements(interpretation,element);
3329 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
3330 neg find mustInstanceOfDS_for_Permanent_Expense_class(problem,interpretation,element);
3331 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
3332 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
3333 neg find mustInstanceOfConstants_class(problem,interpretation,element);
3334 neg find mustInstanceOfExpense_class(problem,interpretation,element);
3335 neg find mustInstanceOfAddress_class(problem,interpretation,element);
3336 neg find mustInstanceOfIncome_Type_class(problem,interpretation,element);
3337 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
3338 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
3339 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
3340 neg find mustInstanceOfDS_for_Donation_class(problem,interpretation,element);
3341 neg find mustInstanceOfIncome_class(problem,interpretation,element);
3342 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
3343 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
3344 neg find mustInstanceOfDS_for_Interest_Expense_class(problem,interpretation,element);
3345 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
3346 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
3347 neg find mustInstanceOfDS_for_Health_and_Pension_Insurance_class(problem,interpretation,element);
3348 neg find mustInstanceOfDS_for_Private_Insurance_and_Plan_class(problem,interpretation,element);
3349 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
3350 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
3351 neg find scopeDisallowsNewDS_for_Loss_Carryforward_class(problem, interpretation);
3352 neg find isPrimitive(element);
3353} or {
3354 find interpretation(problem,interpretation);
3355 PartialInterpretation.openWorldElements(interpretation,element);
3356 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
3357 neg find mustInstanceOfDS_for_Permanent_Expense_class(problem,interpretation,element);
3358 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
3359 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
3360 neg find mustInstanceOfConstants_class(problem,interpretation,element);
3361 neg find mustInstanceOfExpense_class(problem,interpretation,element);
3362 neg find mustInstanceOfAddress_class(problem,interpretation,element);
3363 neg find mustInstanceOfIncome_Type_class(problem,interpretation,element);
3364 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
3365 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
3366 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
3367 neg find mustInstanceOfDS_for_Donation_class(problem,interpretation,element);
3368 neg find mustInstanceOfIncome_class(problem,interpretation,element);
3369 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
3370 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
3371 neg find mustInstanceOfDS_for_Interest_Expense_class(problem,interpretation,element);
3372 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
3373 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
3374 neg find mustInstanceOfDS_for_Health_and_Pension_Insurance_class(problem,interpretation,element);
3375 neg find mustInstanceOfDS_for_Private_Insurance_and_Plan_class(problem,interpretation,element);
3376 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
3377 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
3378 neg find scopeDisallowsNewDS_for_Loss_Carryforward_class(problem, interpretation);
3379 neg find isPrimitive(element);
3380} or
3381{ find mustInstanceOfDS_for_Loss_Carryforward_class(problem,interpretation,element); }
3382/**
3383 * An element must be an instance of type "DS_for_Donation class".
3384 */
3385private pattern mustInstanceOfDS_for_Donation_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
3386 Type.name(type,"DS_for_Donation class");
3387 find directInstanceOf(problem,interpretation,element,type);
3388}
3389private pattern scopeDisallowsNewDS_for_Donation_class(problem:LogicProblem, interpretation:PartialInterpretation) {
3390 find interpretation(problem,interpretation);
3391 PartialInterpretation.scopes(interpretation,scope);
3392 Scope.targetTypeInterpretation(scope,typeInterpretation);
3393 Scope.maxNewElements(scope,0);
3394 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
3395 Type.name(type,"DS_for_Donation class");
3396}
3397
3398/**
3399 * An element may be an instance of type "DS_for_Donation class".
3400 */
3401private pattern mayInstanceOfDS_for_Donation_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
3402{
3403 find interpretation(problem,interpretation);
3404 PartialInterpretation.newElements(interpretation,element);
3405 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
3406 neg find mustInstanceOfDS_for_Permanent_Expense_class(problem,interpretation,element);
3407 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
3408 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
3409 neg find mustInstanceOfConstants_class(problem,interpretation,element);
3410 neg find mustInstanceOfExpense_class(problem,interpretation,element);
3411 neg find mustInstanceOfAddress_class(problem,interpretation,element);
3412 neg find mustInstanceOfIncome_Type_class(problem,interpretation,element);
3413 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
3414 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
3415 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
3416 neg find mustInstanceOfDS_for_Loss_Carryforward_class(problem,interpretation,element);
3417 neg find mustInstanceOfIncome_class(problem,interpretation,element);
3418 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
3419 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
3420 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
3421 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
3422 neg find mustInstanceOfDS_for_Interest_Expense_class(problem,interpretation,element);
3423 neg find mustInstanceOfDS_for_Health_and_Pension_Insurance_class(problem,interpretation,element);
3424 neg find mustInstanceOfDS_for_Private_Insurance_and_Plan_class(problem,interpretation,element);
3425 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
3426 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
3427 neg find scopeDisallowsNewDS_for_Donation_class(problem, interpretation);
3428 neg find isPrimitive(element);
3429} or {
3430 find interpretation(problem,interpretation);
3431 PartialInterpretation.openWorldElements(interpretation,element);
3432 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
3433 neg find mustInstanceOfDS_for_Permanent_Expense_class(problem,interpretation,element);
3434 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
3435 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
3436 neg find mustInstanceOfConstants_class(problem,interpretation,element);
3437 neg find mustInstanceOfExpense_class(problem,interpretation,element);
3438 neg find mustInstanceOfAddress_class(problem,interpretation,element);
3439 neg find mustInstanceOfIncome_Type_class(problem,interpretation,element);
3440 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
3441 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
3442 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
3443 neg find mustInstanceOfDS_for_Loss_Carryforward_class(problem,interpretation,element);
3444 neg find mustInstanceOfIncome_class(problem,interpretation,element);
3445 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
3446 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
3447 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
3448 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
3449 neg find mustInstanceOfDS_for_Interest_Expense_class(problem,interpretation,element);
3450 neg find mustInstanceOfDS_for_Health_and_Pension_Insurance_class(problem,interpretation,element);
3451 neg find mustInstanceOfDS_for_Private_Insurance_and_Plan_class(problem,interpretation,element);
3452 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
3453 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
3454 neg find scopeDisallowsNewDS_for_Donation_class(problem, interpretation);
3455 neg find isPrimitive(element);
3456} or
3457{ find mustInstanceOfDS_for_Donation_class(problem,interpretation,element); }
3458/**
3459 * An element must be an instance of type "Permanent_Expense class".
3460 */
3461private pattern mustInstanceOfPermanent_Expense_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
3462 Type.name(type,"Permanent_Expense class");
3463 find directInstanceOf(problem,interpretation,element,type);
3464}
3465private pattern scopeDisallowsNewPermanent_Expense_class(problem:LogicProblem, interpretation:PartialInterpretation) {
3466 find interpretation(problem,interpretation);
3467 PartialInterpretation.scopes(interpretation,scope);
3468 Scope.targetTypeInterpretation(scope,typeInterpretation);
3469 Scope.maxNewElements(scope,0);
3470 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
3471 Type.name(type,"Permanent_Expense class");
3472}
3473
3474/**
3475 * An element may be an instance of type "Permanent_Expense class".
3476 */
3477private pattern mayInstanceOfPermanent_Expense_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
3478{
3479 find interpretation(problem,interpretation);
3480 PartialInterpretation.newElements(interpretation,element);
3481 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
3482 neg find mustInstanceOfProfessional_Expense_class(problem,interpretation,element);
3483 neg find mustInstanceOfAddress_class(problem,interpretation,element);
3484 neg find mustInstanceOfDS_class(problem,interpretation,element);
3485 neg find mustInstanceOfIncome_Type_class(problem,interpretation,element);
3486 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
3487 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
3488 neg find mustInstanceOfSpousal_Expense_AC_class(problem,interpretation,element);
3489 neg find mustInstanceOfIncome_class(problem,interpretation,element);
3490 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
3491 neg find mustInstanceOfInterest_Expense_class(problem,interpretation,element);
3492 neg find mustInstanceOfExtraordinary_Expense_CE_class(problem,interpretation,element);
3493 neg find mustInstanceOfPrivate_Insurance_and_Plan_class(problem,interpretation,element);
3494 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
3495 neg find mustInstanceOfHealth_and_Pension_Insurance_class(problem,interpretation,element);
3496 neg find mustInstanceOfDonation_class(problem,interpretation,element);
3497 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
3498 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
3499 neg find mustInstanceOfConstants_class(problem,interpretation,element);
3500 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
3501 neg find mustInstanceOfLoss_Carryforward_class(problem,interpretation,element);
3502 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
3503 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
3504 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
3505 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
3506 neg find scopeDisallowsNewPermanent_Expense_class(problem, interpretation);
3507 neg find isPrimitive(element);
3508} or {
3509 find interpretation(problem,interpretation);
3510 PartialInterpretation.openWorldElements(interpretation,element);
3511 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
3512 neg find mustInstanceOfProfessional_Expense_class(problem,interpretation,element);
3513 neg find mustInstanceOfAddress_class(problem,interpretation,element);
3514 neg find mustInstanceOfDS_class(problem,interpretation,element);
3515 neg find mustInstanceOfIncome_Type_class(problem,interpretation,element);
3516 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
3517 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
3518 neg find mustInstanceOfSpousal_Expense_AC_class(problem,interpretation,element);
3519 neg find mustInstanceOfIncome_class(problem,interpretation,element);
3520 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
3521 neg find mustInstanceOfInterest_Expense_class(problem,interpretation,element);
3522 neg find mustInstanceOfExtraordinary_Expense_CE_class(problem,interpretation,element);
3523 neg find mustInstanceOfPrivate_Insurance_and_Plan_class(problem,interpretation,element);
3524 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
3525 neg find mustInstanceOfHealth_and_Pension_Insurance_class(problem,interpretation,element);
3526 neg find mustInstanceOfDonation_class(problem,interpretation,element);
3527 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
3528 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
3529 neg find mustInstanceOfConstants_class(problem,interpretation,element);
3530 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
3531 neg find mustInstanceOfLoss_Carryforward_class(problem,interpretation,element);
3532 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
3533 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
3534 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
3535 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
3536 neg find scopeDisallowsNewPermanent_Expense_class(problem, interpretation);
3537 neg find isPrimitive(element);
3538} or
3539{ find mustInstanceOfPermanent_Expense_class(problem,interpretation,element); }
3540/**
3541 * An element must be an instance of type "Special_Expense_DS class".
3542 */
3543private pattern mustInstanceOfSpecial_Expense_DS_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
3544 Type.name(type,"Special_Expense_DS class");
3545 find directInstanceOf(problem,interpretation,element,type);
3546}
3547private pattern scopeDisallowsNewSpecial_Expense_DS_class(problem:LogicProblem, interpretation:PartialInterpretation) {
3548 find interpretation(problem,interpretation);
3549 PartialInterpretation.scopes(interpretation,scope);
3550 Scope.targetTypeInterpretation(scope,typeInterpretation);
3551 Scope.maxNewElements(scope,0);
3552 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
3553 Type.name(type,"Special_Expense_DS class");
3554}
3555
3556/**
3557 * An element may be an instance of type "Special_Expense_DS class".
3558 */
3559private pattern mayInstanceOfSpecial_Expense_DS_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
3560{
3561 find interpretation(problem,interpretation);
3562 PartialInterpretation.newElements(interpretation,element);
3563 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
3564 neg find mustInstanceOfProfessional_Expense_class(problem,interpretation,element);
3565 neg find mustInstanceOfAddress_class(problem,interpretation,element);
3566 neg find mustInstanceOfIncome_Type_class(problem,interpretation,element);
3567 neg find mustInstanceOfDS_class(problem,interpretation,element);
3568 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
3569 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
3570 neg find mustInstanceOfSpousal_Expense_AC_class(problem,interpretation,element);
3571 neg find mustInstanceOfIncome_class(problem,interpretation,element);
3572 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
3573 neg find mustInstanceOfInterest_Expense_class(problem,interpretation,element);
3574 neg find mustInstanceOfExtraordinary_Expense_CE_class(problem,interpretation,element);
3575 neg find mustInstanceOfPrivate_Insurance_and_Plan_class(problem,interpretation,element);
3576 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
3577 neg find mustInstanceOfHealth_and_Pension_Insurance_class(problem,interpretation,element);
3578 neg find mustInstanceOfDonation_class(problem,interpretation,element);
3579 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
3580 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
3581 neg find mustInstanceOfConstants_class(problem,interpretation,element);
3582 neg find mustInstanceOfPermanent_Expense_class(problem,interpretation,element);
3583 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
3584 neg find mustInstanceOfLoss_Carryforward_class(problem,interpretation,element);
3585 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
3586 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
3587 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
3588 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
3589 neg find scopeDisallowsNewSpecial_Expense_DS_class(problem, interpretation);
3590 neg find isPrimitive(element);
3591} or {
3592 find interpretation(problem,interpretation);
3593 PartialInterpretation.openWorldElements(interpretation,element);
3594 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
3595 neg find mustInstanceOfProfessional_Expense_class(problem,interpretation,element);
3596 neg find mustInstanceOfAddress_class(problem,interpretation,element);
3597 neg find mustInstanceOfIncome_Type_class(problem,interpretation,element);
3598 neg find mustInstanceOfDS_class(problem,interpretation,element);
3599 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
3600 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
3601 neg find mustInstanceOfSpousal_Expense_AC_class(problem,interpretation,element);
3602 neg find mustInstanceOfIncome_class(problem,interpretation,element);
3603 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
3604 neg find mustInstanceOfInterest_Expense_class(problem,interpretation,element);
3605 neg find mustInstanceOfExtraordinary_Expense_CE_class(problem,interpretation,element);
3606 neg find mustInstanceOfPrivate_Insurance_and_Plan_class(problem,interpretation,element);
3607 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
3608 neg find mustInstanceOfHealth_and_Pension_Insurance_class(problem,interpretation,element);
3609 neg find mustInstanceOfDonation_class(problem,interpretation,element);
3610 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
3611 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
3612 neg find mustInstanceOfConstants_class(problem,interpretation,element);
3613 neg find mustInstanceOfPermanent_Expense_class(problem,interpretation,element);
3614 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
3615 neg find mustInstanceOfLoss_Carryforward_class(problem,interpretation,element);
3616 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
3617 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
3618 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
3619 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
3620 neg find scopeDisallowsNewSpecial_Expense_DS_class(problem, interpretation);
3621 neg find isPrimitive(element);
3622} or
3623{ find mustInstanceOfSpecial_Expense_DS_class(problem,interpretation,element); }
3624/**
3625 * An element must be an instance of type "Interest_Expense class".
3626 */
3627private pattern mustInstanceOfInterest_Expense_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
3628 Type.name(type,"Interest_Expense class");
3629 find directInstanceOf(problem,interpretation,element,type);
3630}
3631private pattern scopeDisallowsNewInterest_Expense_class(problem:LogicProblem, interpretation:PartialInterpretation) {
3632 find interpretation(problem,interpretation);
3633 PartialInterpretation.scopes(interpretation,scope);
3634 Scope.targetTypeInterpretation(scope,typeInterpretation);
3635 Scope.maxNewElements(scope,0);
3636 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
3637 Type.name(type,"Interest_Expense class");
3638}
3639
3640/**
3641 * An element may be an instance of type "Interest_Expense class".
3642 */
3643private pattern mayInstanceOfInterest_Expense_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
3644{
3645 find interpretation(problem,interpretation);
3646 PartialInterpretation.newElements(interpretation,element);
3647 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
3648 neg find mustInstanceOfProfessional_Expense_class(problem,interpretation,element);
3649 neg find mustInstanceOfAddress_class(problem,interpretation,element);
3650 neg find mustInstanceOfIncome_Type_class(problem,interpretation,element);
3651 neg find mustInstanceOfDS_class(problem,interpretation,element);
3652 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
3653 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
3654 neg find mustInstanceOfSpousal_Expense_AC_class(problem,interpretation,element);
3655 neg find mustInstanceOfIncome_class(problem,interpretation,element);
3656 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
3657 neg find mustInstanceOfExtraordinary_Expense_CE_class(problem,interpretation,element);
3658 neg find mustInstanceOfPrivate_Insurance_and_Plan_class(problem,interpretation,element);
3659 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
3660 neg find mustInstanceOfDonation_class(problem,interpretation,element);
3661 neg find mustInstanceOfHealth_and_Pension_Insurance_class(problem,interpretation,element);
3662 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
3663 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
3664 neg find mustInstanceOfConstants_class(problem,interpretation,element);
3665 neg find mustInstanceOfPermanent_Expense_class(problem,interpretation,element);
3666 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
3667 neg find mustInstanceOfLoss_Carryforward_class(problem,interpretation,element);
3668 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
3669 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
3670 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
3671 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
3672 neg find scopeDisallowsNewInterest_Expense_class(problem, interpretation);
3673 neg find isPrimitive(element);
3674} or {
3675 find interpretation(problem,interpretation);
3676 PartialInterpretation.openWorldElements(interpretation,element);
3677 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
3678 neg find mustInstanceOfProfessional_Expense_class(problem,interpretation,element);
3679 neg find mustInstanceOfAddress_class(problem,interpretation,element);
3680 neg find mustInstanceOfIncome_Type_class(problem,interpretation,element);
3681 neg find mustInstanceOfDS_class(problem,interpretation,element);
3682 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
3683 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
3684 neg find mustInstanceOfSpousal_Expense_AC_class(problem,interpretation,element);
3685 neg find mustInstanceOfIncome_class(problem,interpretation,element);
3686 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
3687 neg find mustInstanceOfExtraordinary_Expense_CE_class(problem,interpretation,element);
3688 neg find mustInstanceOfPrivate_Insurance_and_Plan_class(problem,interpretation,element);
3689 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
3690 neg find mustInstanceOfDonation_class(problem,interpretation,element);
3691 neg find mustInstanceOfHealth_and_Pension_Insurance_class(problem,interpretation,element);
3692 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
3693 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
3694 neg find mustInstanceOfConstants_class(problem,interpretation,element);
3695 neg find mustInstanceOfPermanent_Expense_class(problem,interpretation,element);
3696 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
3697 neg find mustInstanceOfLoss_Carryforward_class(problem,interpretation,element);
3698 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
3699 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
3700 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
3701 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
3702 neg find scopeDisallowsNewInterest_Expense_class(problem, interpretation);
3703 neg find isPrimitive(element);
3704} or
3705{ find mustInstanceOfInterest_Expense_class(problem,interpretation,element); }
3706/**
3707 * An element must be an instance of type "Private_Insurance_and_Plan class".
3708 */
3709private pattern mustInstanceOfPrivate_Insurance_and_Plan_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
3710 Type.name(type,"Private_Insurance_and_Plan class");
3711 find directInstanceOf(problem,interpretation,element,type);
3712}
3713private pattern scopeDisallowsNewPrivate_Insurance_and_Plan_class(problem:LogicProblem, interpretation:PartialInterpretation) {
3714 find interpretation(problem,interpretation);
3715 PartialInterpretation.scopes(interpretation,scope);
3716 Scope.targetTypeInterpretation(scope,typeInterpretation);
3717 Scope.maxNewElements(scope,0);
3718 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
3719 Type.name(type,"Private_Insurance_and_Plan class");
3720}
3721
3722/**
3723 * An element may be an instance of type "Private_Insurance_and_Plan class".
3724 */
3725private pattern mayInstanceOfPrivate_Insurance_and_Plan_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
3726{
3727 find interpretation(problem,interpretation);
3728 PartialInterpretation.newElements(interpretation,element);
3729 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
3730 neg find mustInstanceOfProfessional_Expense_class(problem,interpretation,element);
3731 neg find mustInstanceOfAddress_class(problem,interpretation,element);
3732 neg find mustInstanceOfDS_class(problem,interpretation,element);
3733 neg find mustInstanceOfIncome_Type_class(problem,interpretation,element);
3734 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
3735 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
3736 neg find mustInstanceOfSpousal_Expense_AC_class(problem,interpretation,element);
3737 neg find mustInstanceOfIncome_class(problem,interpretation,element);
3738 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
3739 neg find mustInstanceOfInterest_Expense_class(problem,interpretation,element);
3740 neg find mustInstanceOfExtraordinary_Expense_CE_class(problem,interpretation,element);
3741 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
3742 neg find mustInstanceOfDonation_class(problem,interpretation,element);
3743 neg find mustInstanceOfHealth_and_Pension_Insurance_class(problem,interpretation,element);
3744 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
3745 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
3746 neg find mustInstanceOfConstants_class(problem,interpretation,element);
3747 neg find mustInstanceOfPermanent_Expense_class(problem,interpretation,element);
3748 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
3749 neg find mustInstanceOfLoss_Carryforward_class(problem,interpretation,element);
3750 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
3751 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
3752 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
3753 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
3754 neg find scopeDisallowsNewPrivate_Insurance_and_Plan_class(problem, interpretation);
3755 neg find isPrimitive(element);
3756} or {
3757 find interpretation(problem,interpretation);
3758 PartialInterpretation.openWorldElements(interpretation,element);
3759 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
3760 neg find mustInstanceOfProfessional_Expense_class(problem,interpretation,element);
3761 neg find mustInstanceOfAddress_class(problem,interpretation,element);
3762 neg find mustInstanceOfDS_class(problem,interpretation,element);
3763 neg find mustInstanceOfIncome_Type_class(problem,interpretation,element);
3764 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
3765 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
3766 neg find mustInstanceOfSpousal_Expense_AC_class(problem,interpretation,element);
3767 neg find mustInstanceOfIncome_class(problem,interpretation,element);
3768 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
3769 neg find mustInstanceOfInterest_Expense_class(problem,interpretation,element);
3770 neg find mustInstanceOfExtraordinary_Expense_CE_class(problem,interpretation,element);
3771 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
3772 neg find mustInstanceOfDonation_class(problem,interpretation,element);
3773 neg find mustInstanceOfHealth_and_Pension_Insurance_class(problem,interpretation,element);
3774 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
3775 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
3776 neg find mustInstanceOfConstants_class(problem,interpretation,element);
3777 neg find mustInstanceOfPermanent_Expense_class(problem,interpretation,element);
3778 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
3779 neg find mustInstanceOfLoss_Carryforward_class(problem,interpretation,element);
3780 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
3781 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
3782 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
3783 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
3784 neg find scopeDisallowsNewPrivate_Insurance_and_Plan_class(problem, interpretation);
3785 neg find isPrimitive(element);
3786} or
3787{ find mustInstanceOfPrivate_Insurance_and_Plan_class(problem,interpretation,element); }
3788/**
3789 * An element must be an instance of type "Health_and_Pension_Insurance class".
3790 */
3791private pattern mustInstanceOfHealth_and_Pension_Insurance_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
3792 Type.name(type,"Health_and_Pension_Insurance class");
3793 find directInstanceOf(problem,interpretation,element,type);
3794}
3795private pattern scopeDisallowsNewHealth_and_Pension_Insurance_class(problem:LogicProblem, interpretation:PartialInterpretation) {
3796 find interpretation(problem,interpretation);
3797 PartialInterpretation.scopes(interpretation,scope);
3798 Scope.targetTypeInterpretation(scope,typeInterpretation);
3799 Scope.maxNewElements(scope,0);
3800 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
3801 Type.name(type,"Health_and_Pension_Insurance class");
3802}
3803
3804/**
3805 * An element may be an instance of type "Health_and_Pension_Insurance class".
3806 */
3807private pattern mayInstanceOfHealth_and_Pension_Insurance_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
3808{
3809 find interpretation(problem,interpretation);
3810 PartialInterpretation.newElements(interpretation,element);
3811 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
3812 neg find mustInstanceOfProfessional_Expense_class(problem,interpretation,element);
3813 neg find mustInstanceOfAddress_class(problem,interpretation,element);
3814 neg find mustInstanceOfIncome_Type_class(problem,interpretation,element);
3815 neg find mustInstanceOfDS_class(problem,interpretation,element);
3816 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
3817 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
3818 neg find mustInstanceOfSpousal_Expense_AC_class(problem,interpretation,element);
3819 neg find mustInstanceOfIncome_class(problem,interpretation,element);
3820 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
3821 neg find mustInstanceOfInterest_Expense_class(problem,interpretation,element);
3822 neg find mustInstanceOfExtraordinary_Expense_CE_class(problem,interpretation,element);
3823 neg find mustInstanceOfPrivate_Insurance_and_Plan_class(problem,interpretation,element);
3824 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
3825 neg find mustInstanceOfDonation_class(problem,interpretation,element);
3826 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
3827 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
3828 neg find mustInstanceOfConstants_class(problem,interpretation,element);
3829 neg find mustInstanceOfPermanent_Expense_class(problem,interpretation,element);
3830 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
3831 neg find mustInstanceOfLoss_Carryforward_class(problem,interpretation,element);
3832 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
3833 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
3834 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
3835 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
3836 neg find scopeDisallowsNewHealth_and_Pension_Insurance_class(problem, interpretation);
3837 neg find isPrimitive(element);
3838} or {
3839 find interpretation(problem,interpretation);
3840 PartialInterpretation.openWorldElements(interpretation,element);
3841 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
3842 neg find mustInstanceOfProfessional_Expense_class(problem,interpretation,element);
3843 neg find mustInstanceOfAddress_class(problem,interpretation,element);
3844 neg find mustInstanceOfIncome_Type_class(problem,interpretation,element);
3845 neg find mustInstanceOfDS_class(problem,interpretation,element);
3846 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
3847 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
3848 neg find mustInstanceOfSpousal_Expense_AC_class(problem,interpretation,element);
3849 neg find mustInstanceOfIncome_class(problem,interpretation,element);
3850 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
3851 neg find mustInstanceOfInterest_Expense_class(problem,interpretation,element);
3852 neg find mustInstanceOfExtraordinary_Expense_CE_class(problem,interpretation,element);
3853 neg find mustInstanceOfPrivate_Insurance_and_Plan_class(problem,interpretation,element);
3854 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
3855 neg find mustInstanceOfDonation_class(problem,interpretation,element);
3856 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
3857 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
3858 neg find mustInstanceOfConstants_class(problem,interpretation,element);
3859 neg find mustInstanceOfPermanent_Expense_class(problem,interpretation,element);
3860 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
3861 neg find mustInstanceOfLoss_Carryforward_class(problem,interpretation,element);
3862 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
3863 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
3864 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
3865 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
3866 neg find scopeDisallowsNewHealth_and_Pension_Insurance_class(problem, interpretation);
3867 neg find isPrimitive(element);
3868} or
3869{ find mustInstanceOfHealth_and_Pension_Insurance_class(problem,interpretation,element); }
3870/**
3871 * An element must be an instance of type "Donation class".
3872 */
3873private pattern mustInstanceOfDonation_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
3874 Type.name(type,"Donation class");
3875 find directInstanceOf(problem,interpretation,element,type);
3876}
3877private pattern scopeDisallowsNewDonation_class(problem:LogicProblem, interpretation:PartialInterpretation) {
3878 find interpretation(problem,interpretation);
3879 PartialInterpretation.scopes(interpretation,scope);
3880 Scope.targetTypeInterpretation(scope,typeInterpretation);
3881 Scope.maxNewElements(scope,0);
3882 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
3883 Type.name(type,"Donation class");
3884}
3885
3886/**
3887 * An element may be an instance of type "Donation class".
3888 */
3889private pattern mayInstanceOfDonation_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
3890{
3891 find interpretation(problem,interpretation);
3892 PartialInterpretation.newElements(interpretation,element);
3893 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
3894 neg find mustInstanceOfProfessional_Expense_class(problem,interpretation,element);
3895 neg find mustInstanceOfAddress_class(problem,interpretation,element);
3896 neg find mustInstanceOfDS_class(problem,interpretation,element);
3897 neg find mustInstanceOfIncome_Type_class(problem,interpretation,element);
3898 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
3899 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
3900 neg find mustInstanceOfSpousal_Expense_AC_class(problem,interpretation,element);
3901 neg find mustInstanceOfIncome_class(problem,interpretation,element);
3902 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
3903 neg find mustInstanceOfInterest_Expense_class(problem,interpretation,element);
3904 neg find mustInstanceOfExtraordinary_Expense_CE_class(problem,interpretation,element);
3905 neg find mustInstanceOfPrivate_Insurance_and_Plan_class(problem,interpretation,element);
3906 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
3907 neg find mustInstanceOfHealth_and_Pension_Insurance_class(problem,interpretation,element);
3908 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
3909 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
3910 neg find mustInstanceOfConstants_class(problem,interpretation,element);
3911 neg find mustInstanceOfPermanent_Expense_class(problem,interpretation,element);
3912 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
3913 neg find mustInstanceOfLoss_Carryforward_class(problem,interpretation,element);
3914 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
3915 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
3916 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
3917 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
3918 neg find scopeDisallowsNewDonation_class(problem, interpretation);
3919 neg find isPrimitive(element);
3920} or {
3921 find interpretation(problem,interpretation);
3922 PartialInterpretation.openWorldElements(interpretation,element);
3923 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
3924 neg find mustInstanceOfProfessional_Expense_class(problem,interpretation,element);
3925 neg find mustInstanceOfAddress_class(problem,interpretation,element);
3926 neg find mustInstanceOfDS_class(problem,interpretation,element);
3927 neg find mustInstanceOfIncome_Type_class(problem,interpretation,element);
3928 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
3929 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
3930 neg find mustInstanceOfSpousal_Expense_AC_class(problem,interpretation,element);
3931 neg find mustInstanceOfIncome_class(problem,interpretation,element);
3932 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
3933 neg find mustInstanceOfInterest_Expense_class(problem,interpretation,element);
3934 neg find mustInstanceOfExtraordinary_Expense_CE_class(problem,interpretation,element);
3935 neg find mustInstanceOfPrivate_Insurance_and_Plan_class(problem,interpretation,element);
3936 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
3937 neg find mustInstanceOfHealth_and_Pension_Insurance_class(problem,interpretation,element);
3938 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
3939 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
3940 neg find mustInstanceOfConstants_class(problem,interpretation,element);
3941 neg find mustInstanceOfPermanent_Expense_class(problem,interpretation,element);
3942 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
3943 neg find mustInstanceOfLoss_Carryforward_class(problem,interpretation,element);
3944 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
3945 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
3946 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
3947 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
3948 neg find scopeDisallowsNewDonation_class(problem, interpretation);
3949 neg find isPrimitive(element);
3950} or
3951{ find mustInstanceOfDonation_class(problem,interpretation,element); }
3952/**
3953 * An element must be an instance of type "Loss_Carryforward class".
3954 */
3955private pattern mustInstanceOfLoss_Carryforward_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
3956 Type.name(type,"Loss_Carryforward class");
3957 find directInstanceOf(problem,interpretation,element,type);
3958}
3959private pattern scopeDisallowsNewLoss_Carryforward_class(problem:LogicProblem, interpretation:PartialInterpretation) {
3960 find interpretation(problem,interpretation);
3961 PartialInterpretation.scopes(interpretation,scope);
3962 Scope.targetTypeInterpretation(scope,typeInterpretation);
3963 Scope.maxNewElements(scope,0);
3964 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
3965 Type.name(type,"Loss_Carryforward class");
3966}
3967
3968/**
3969 * An element may be an instance of type "Loss_Carryforward class".
3970 */
3971private pattern mayInstanceOfLoss_Carryforward_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
3972{
3973 find interpretation(problem,interpretation);
3974 PartialInterpretation.newElements(interpretation,element);
3975 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
3976 neg find mustInstanceOfProfessional_Expense_class(problem,interpretation,element);
3977 neg find mustInstanceOfAddress_class(problem,interpretation,element);
3978 neg find mustInstanceOfIncome_Type_class(problem,interpretation,element);
3979 neg find mustInstanceOfDS_class(problem,interpretation,element);
3980 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
3981 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
3982 neg find mustInstanceOfSpousal_Expense_AC_class(problem,interpretation,element);
3983 neg find mustInstanceOfIncome_class(problem,interpretation,element);
3984 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
3985 neg find mustInstanceOfInterest_Expense_class(problem,interpretation,element);
3986 neg find mustInstanceOfExtraordinary_Expense_CE_class(problem,interpretation,element);
3987 neg find mustInstanceOfPrivate_Insurance_and_Plan_class(problem,interpretation,element);
3988 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
3989 neg find mustInstanceOfHealth_and_Pension_Insurance_class(problem,interpretation,element);
3990 neg find mustInstanceOfDonation_class(problem,interpretation,element);
3991 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
3992 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
3993 neg find mustInstanceOfConstants_class(problem,interpretation,element);
3994 neg find mustInstanceOfPermanent_Expense_class(problem,interpretation,element);
3995 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
3996 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
3997 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
3998 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
3999 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
4000 neg find scopeDisallowsNewLoss_Carryforward_class(problem, interpretation);
4001 neg find isPrimitive(element);
4002} or {
4003 find interpretation(problem,interpretation);
4004 PartialInterpretation.openWorldElements(interpretation,element);
4005 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
4006 neg find mustInstanceOfProfessional_Expense_class(problem,interpretation,element);
4007 neg find mustInstanceOfAddress_class(problem,interpretation,element);
4008 neg find mustInstanceOfIncome_Type_class(problem,interpretation,element);
4009 neg find mustInstanceOfDS_class(problem,interpretation,element);
4010 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
4011 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
4012 neg find mustInstanceOfSpousal_Expense_AC_class(problem,interpretation,element);
4013 neg find mustInstanceOfIncome_class(problem,interpretation,element);
4014 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
4015 neg find mustInstanceOfInterest_Expense_class(problem,interpretation,element);
4016 neg find mustInstanceOfExtraordinary_Expense_CE_class(problem,interpretation,element);
4017 neg find mustInstanceOfPrivate_Insurance_and_Plan_class(problem,interpretation,element);
4018 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
4019 neg find mustInstanceOfHealth_and_Pension_Insurance_class(problem,interpretation,element);
4020 neg find mustInstanceOfDonation_class(problem,interpretation,element);
4021 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
4022 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
4023 neg find mustInstanceOfConstants_class(problem,interpretation,element);
4024 neg find mustInstanceOfPermanent_Expense_class(problem,interpretation,element);
4025 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
4026 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
4027 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
4028 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
4029 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
4030 neg find scopeDisallowsNewLoss_Carryforward_class(problem, interpretation);
4031 neg find isPrimitive(element);
4032} or
4033{ find mustInstanceOfLoss_Carryforward_class(problem,interpretation,element); }
4034/**
4035 * An element must be an instance of type "Spousal_Expense_AC class".
4036 */
4037private pattern mustInstanceOfSpousal_Expense_AC_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
4038 Type.name(type,"Spousal_Expense_AC class");
4039 find directInstanceOf(problem,interpretation,element,type);
4040}
4041private pattern scopeDisallowsNewSpousal_Expense_AC_class(problem:LogicProblem, interpretation:PartialInterpretation) {
4042 find interpretation(problem,interpretation);
4043 PartialInterpretation.scopes(interpretation,scope);
4044 Scope.targetTypeInterpretation(scope,typeInterpretation);
4045 Scope.maxNewElements(scope,0);
4046 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
4047 Type.name(type,"Spousal_Expense_AC class");
4048}
4049
4050/**
4051 * An element may be an instance of type "Spousal_Expense_AC class".
4052 */
4053private pattern mayInstanceOfSpousal_Expense_AC_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
4054{
4055 find interpretation(problem,interpretation);
4056 PartialInterpretation.newElements(interpretation,element);
4057 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
4058 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
4059 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
4060 neg find mustInstanceOfProfessional_Expense_class(problem,interpretation,element);
4061 neg find mustInstanceOfConstants_class(problem,interpretation,element);
4062 neg find mustInstanceOfAddress_class(problem,interpretation,element);
4063 neg find mustInstanceOfIncome_Type_class(problem,interpretation,element);
4064 neg find mustInstanceOfDS_class(problem,interpretation,element);
4065 neg find mustInstanceOfSpecial_Expense_DS_class(problem,interpretation,element);
4066 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
4067 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
4068 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
4069 neg find mustInstanceOfIncome_class(problem,interpretation,element);
4070 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
4071 neg find mustInstanceOfExtraordinary_Expense_CE_class(problem,interpretation,element);
4072 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
4073 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
4074 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
4075 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
4076 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
4077 neg find scopeDisallowsNewSpousal_Expense_AC_class(problem, interpretation);
4078 neg find isPrimitive(element);
4079} or {
4080 find interpretation(problem,interpretation);
4081 PartialInterpretation.openWorldElements(interpretation,element);
4082 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
4083 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
4084 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
4085 neg find mustInstanceOfProfessional_Expense_class(problem,interpretation,element);
4086 neg find mustInstanceOfConstants_class(problem,interpretation,element);
4087 neg find mustInstanceOfAddress_class(problem,interpretation,element);
4088 neg find mustInstanceOfIncome_Type_class(problem,interpretation,element);
4089 neg find mustInstanceOfDS_class(problem,interpretation,element);
4090 neg find mustInstanceOfSpecial_Expense_DS_class(problem,interpretation,element);
4091 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
4092 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
4093 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
4094 neg find mustInstanceOfIncome_class(problem,interpretation,element);
4095 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
4096 neg find mustInstanceOfExtraordinary_Expense_CE_class(problem,interpretation,element);
4097 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
4098 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
4099 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
4100 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
4101 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
4102 neg find scopeDisallowsNewSpousal_Expense_AC_class(problem, interpretation);
4103 neg find isPrimitive(element);
4104} or
4105{ find mustInstanceOfSpousal_Expense_AC_class(problem,interpretation,element); }
4106/**
4107 * An element must be an instance of type "Extraordinary_Expense_CE class".
4108 */
4109private pattern mustInstanceOfExtraordinary_Expense_CE_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
4110 Type.name(type,"Extraordinary_Expense_CE class");
4111 find directInstanceOf(problem,interpretation,element,type);
4112}
4113private pattern scopeDisallowsNewExtraordinary_Expense_CE_class(problem:LogicProblem, interpretation:PartialInterpretation) {
4114 find interpretation(problem,interpretation);
4115 PartialInterpretation.scopes(interpretation,scope);
4116 Scope.targetTypeInterpretation(scope,typeInterpretation);
4117 Scope.maxNewElements(scope,0);
4118 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
4119 Type.name(type,"Extraordinary_Expense_CE class");
4120}
4121
4122/**
4123 * An element may be an instance of type "Extraordinary_Expense_CE class".
4124 */
4125private pattern mayInstanceOfExtraordinary_Expense_CE_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
4126{
4127 find interpretation(problem,interpretation);
4128 PartialInterpretation.newElements(interpretation,element);
4129 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
4130 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
4131 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
4132 neg find mustInstanceOfConstants_class(problem,interpretation,element);
4133 neg find mustInstanceOfProfessional_Expense_class(problem,interpretation,element);
4134 neg find mustInstanceOfAddress_class(problem,interpretation,element);
4135 neg find mustInstanceOfDS_class(problem,interpretation,element);
4136 neg find mustInstanceOfIncome_Type_class(problem,interpretation,element);
4137 neg find mustInstanceOfSpecial_Expense_DS_class(problem,interpretation,element);
4138 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
4139 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
4140 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
4141 neg find mustInstanceOfSpousal_Expense_AC_class(problem,interpretation,element);
4142 neg find mustInstanceOfIncome_class(problem,interpretation,element);
4143 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
4144 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
4145 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
4146 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
4147 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
4148 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
4149 neg find scopeDisallowsNewExtraordinary_Expense_CE_class(problem, interpretation);
4150 neg find isPrimitive(element);
4151} or {
4152 find interpretation(problem,interpretation);
4153 PartialInterpretation.openWorldElements(interpretation,element);
4154 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
4155 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
4156 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
4157 neg find mustInstanceOfConstants_class(problem,interpretation,element);
4158 neg find mustInstanceOfProfessional_Expense_class(problem,interpretation,element);
4159 neg find mustInstanceOfAddress_class(problem,interpretation,element);
4160 neg find mustInstanceOfDS_class(problem,interpretation,element);
4161 neg find mustInstanceOfIncome_Type_class(problem,interpretation,element);
4162 neg find mustInstanceOfSpecial_Expense_DS_class(problem,interpretation,element);
4163 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
4164 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
4165 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
4166 neg find mustInstanceOfSpousal_Expense_AC_class(problem,interpretation,element);
4167 neg find mustInstanceOfIncome_class(problem,interpretation,element);
4168 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
4169 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
4170 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
4171 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
4172 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
4173 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
4174 neg find scopeDisallowsNewExtraordinary_Expense_CE_class(problem, interpretation);
4175 neg find isPrimitive(element);
4176} or
4177{ find mustInstanceOfExtraordinary_Expense_CE_class(problem,interpretation,element); }
4178/**
4179 * An element must be an instance of type "Travel_Expense_FD class".
4180 */
4181private pattern mustInstanceOfTravel_Expense_FD_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
4182 Type.name(type,"Travel_Expense_FD class");
4183 find directInstanceOf(problem,interpretation,element,type);
4184}
4185private pattern scopeDisallowsNewTravel_Expense_FD_class(problem:LogicProblem, interpretation:PartialInterpretation) {
4186 find interpretation(problem,interpretation);
4187 PartialInterpretation.scopes(interpretation,scope);
4188 Scope.targetTypeInterpretation(scope,typeInterpretation);
4189 Scope.maxNewElements(scope,0);
4190 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
4191 Type.name(type,"Travel_Expense_FD class");
4192}
4193
4194/**
4195 * An element may be an instance of type "Travel_Expense_FD class".
4196 */
4197private pattern mayInstanceOfTravel_Expense_FD_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
4198{
4199 find interpretation(problem,interpretation);
4200 PartialInterpretation.newElements(interpretation,element);
4201 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
4202 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
4203 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
4204 neg find mustInstanceOfConstants_class(problem,interpretation,element);
4205 neg find mustInstanceOfAddress_class(problem,interpretation,element);
4206 neg find mustInstanceOfIncome_Type_class(problem,interpretation,element);
4207 neg find mustInstanceOfDS_class(problem,interpretation,element);
4208 neg find mustInstanceOfSpecial_Expense_DS_class(problem,interpretation,element);
4209 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
4210 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
4211 neg find mustInstanceOfMiscellaneous_Expense_FO_class(problem,interpretation,element);
4212 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
4213 neg find mustInstanceOfSpousal_Expense_AC_class(problem,interpretation,element);
4214 neg find mustInstanceOfIncome_class(problem,interpretation,element);
4215 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
4216 neg find mustInstanceOfExtraordinary_Expense_CE_class(problem,interpretation,element);
4217 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
4218 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
4219 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
4220 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
4221 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
4222 neg find scopeDisallowsNewTravel_Expense_FD_class(problem, interpretation);
4223 neg find isPrimitive(element);
4224} or {
4225 find interpretation(problem,interpretation);
4226 PartialInterpretation.openWorldElements(interpretation,element);
4227 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
4228 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
4229 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
4230 neg find mustInstanceOfConstants_class(problem,interpretation,element);
4231 neg find mustInstanceOfAddress_class(problem,interpretation,element);
4232 neg find mustInstanceOfIncome_Type_class(problem,interpretation,element);
4233 neg find mustInstanceOfDS_class(problem,interpretation,element);
4234 neg find mustInstanceOfSpecial_Expense_DS_class(problem,interpretation,element);
4235 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
4236 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
4237 neg find mustInstanceOfMiscellaneous_Expense_FO_class(problem,interpretation,element);
4238 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
4239 neg find mustInstanceOfSpousal_Expense_AC_class(problem,interpretation,element);
4240 neg find mustInstanceOfIncome_class(problem,interpretation,element);
4241 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
4242 neg find mustInstanceOfExtraordinary_Expense_CE_class(problem,interpretation,element);
4243 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
4244 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
4245 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
4246 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
4247 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
4248 neg find scopeDisallowsNewTravel_Expense_FD_class(problem, interpretation);
4249 neg find isPrimitive(element);
4250} or
4251{ find mustInstanceOfTravel_Expense_FD_class(problem,interpretation,element); }
4252/**
4253 * An element must be an instance of type "Professional_Expense class".
4254 */
4255private pattern mustInstanceOfProfessional_Expense_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
4256 Type.name(type,"Professional_Expense class");
4257 find directInstanceOf(problem,interpretation,element,type);
4258}
4259private pattern scopeDisallowsNewProfessional_Expense_class(problem:LogicProblem, interpretation:PartialInterpretation) {
4260 find interpretation(problem,interpretation);
4261 PartialInterpretation.scopes(interpretation,scope);
4262 Scope.targetTypeInterpretation(scope,typeInterpretation);
4263 Scope.maxNewElements(scope,0);
4264 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
4265 Type.name(type,"Professional_Expense class");
4266}
4267
4268/**
4269 * An element may be an instance of type "Professional_Expense class".
4270 */
4271private pattern mayInstanceOfProfessional_Expense_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
4272{
4273 find interpretation(problem,interpretation);
4274 PartialInterpretation.newElements(interpretation,element);
4275 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
4276 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
4277 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
4278 neg find mustInstanceOfConstants_class(problem,interpretation,element);
4279 neg find mustInstanceOfAddress_class(problem,interpretation,element);
4280 neg find mustInstanceOfDS_class(problem,interpretation,element);
4281 neg find mustInstanceOfIncome_Type_class(problem,interpretation,element);
4282 neg find mustInstanceOfSpecial_Expense_DS_class(problem,interpretation,element);
4283 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
4284 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
4285 neg find mustInstanceOfMiscellaneous_Expense_FO_class(problem,interpretation,element);
4286 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
4287 neg find mustInstanceOfSpousal_Expense_AC_class(problem,interpretation,element);
4288 neg find mustInstanceOfIncome_class(problem,interpretation,element);
4289 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
4290 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
4291 neg find mustInstanceOfExtraordinary_Expense_CE_class(problem,interpretation,element);
4292 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
4293 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
4294 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
4295 neg find mustInstanceOfTravel_Expense_FD_class(problem,interpretation,element);
4296 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
4297 neg find scopeDisallowsNewProfessional_Expense_class(problem, interpretation);
4298 neg find isPrimitive(element);
4299} or {
4300 find interpretation(problem,interpretation);
4301 PartialInterpretation.openWorldElements(interpretation,element);
4302 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
4303 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
4304 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
4305 neg find mustInstanceOfConstants_class(problem,interpretation,element);
4306 neg find mustInstanceOfAddress_class(problem,interpretation,element);
4307 neg find mustInstanceOfDS_class(problem,interpretation,element);
4308 neg find mustInstanceOfIncome_Type_class(problem,interpretation,element);
4309 neg find mustInstanceOfSpecial_Expense_DS_class(problem,interpretation,element);
4310 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
4311 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
4312 neg find mustInstanceOfMiscellaneous_Expense_FO_class(problem,interpretation,element);
4313 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
4314 neg find mustInstanceOfSpousal_Expense_AC_class(problem,interpretation,element);
4315 neg find mustInstanceOfIncome_class(problem,interpretation,element);
4316 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
4317 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
4318 neg find mustInstanceOfExtraordinary_Expense_CE_class(problem,interpretation,element);
4319 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
4320 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
4321 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
4322 neg find mustInstanceOfTravel_Expense_FD_class(problem,interpretation,element);
4323 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
4324 neg find scopeDisallowsNewProfessional_Expense_class(problem, interpretation);
4325 neg find isPrimitive(element);
4326} or
4327{ find mustInstanceOfProfessional_Expense_class(problem,interpretation,element); }
4328/**
4329 * An element must be an instance of type "Miscellaneous_Expense_FO class".
4330 */
4331private pattern mustInstanceOfMiscellaneous_Expense_FO_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
4332 Type.name(type,"Miscellaneous_Expense_FO class");
4333 find directInstanceOf(problem,interpretation,element,type);
4334}
4335private pattern scopeDisallowsNewMiscellaneous_Expense_FO_class(problem:LogicProblem, interpretation:PartialInterpretation) {
4336 find interpretation(problem,interpretation);
4337 PartialInterpretation.scopes(interpretation,scope);
4338 Scope.targetTypeInterpretation(scope,typeInterpretation);
4339 Scope.maxNewElements(scope,0);
4340 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
4341 Type.name(type,"Miscellaneous_Expense_FO class");
4342}
4343
4344/**
4345 * An element may be an instance of type "Miscellaneous_Expense_FO class".
4346 */
4347private pattern mayInstanceOfMiscellaneous_Expense_FO_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
4348{
4349 find interpretation(problem,interpretation);
4350 PartialInterpretation.newElements(interpretation,element);
4351 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
4352 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
4353 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
4354 neg find mustInstanceOfConstants_class(problem,interpretation,element);
4355 neg find mustInstanceOfAddress_class(problem,interpretation,element);
4356 neg find mustInstanceOfDS_class(problem,interpretation,element);
4357 neg find mustInstanceOfIncome_Type_class(problem,interpretation,element);
4358 neg find mustInstanceOfSpecial_Expense_DS_class(problem,interpretation,element);
4359 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
4360 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
4361 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
4362 neg find mustInstanceOfSpousal_Expense_AC_class(problem,interpretation,element);
4363 neg find mustInstanceOfIncome_class(problem,interpretation,element);
4364 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
4365 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
4366 neg find mustInstanceOfExtraordinary_Expense_CE_class(problem,interpretation,element);
4367 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
4368 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
4369 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
4370 neg find mustInstanceOfTravel_Expense_FD_class(problem,interpretation,element);
4371 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
4372 neg find scopeDisallowsNewMiscellaneous_Expense_FO_class(problem, interpretation);
4373 neg find isPrimitive(element);
4374} or {
4375 find interpretation(problem,interpretation);
4376 PartialInterpretation.openWorldElements(interpretation,element);
4377 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
4378 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
4379 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
4380 neg find mustInstanceOfConstants_class(problem,interpretation,element);
4381 neg find mustInstanceOfAddress_class(problem,interpretation,element);
4382 neg find mustInstanceOfDS_class(problem,interpretation,element);
4383 neg find mustInstanceOfIncome_Type_class(problem,interpretation,element);
4384 neg find mustInstanceOfSpecial_Expense_DS_class(problem,interpretation,element);
4385 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
4386 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
4387 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
4388 neg find mustInstanceOfSpousal_Expense_AC_class(problem,interpretation,element);
4389 neg find mustInstanceOfIncome_class(problem,interpretation,element);
4390 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
4391 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
4392 neg find mustInstanceOfExtraordinary_Expense_CE_class(problem,interpretation,element);
4393 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
4394 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
4395 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
4396 neg find mustInstanceOfTravel_Expense_FD_class(problem,interpretation,element);
4397 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
4398 neg find scopeDisallowsNewMiscellaneous_Expense_FO_class(problem, interpretation);
4399 neg find isPrimitive(element);
4400} or
4401{ find mustInstanceOfMiscellaneous_Expense_FO_class(problem,interpretation,element); }
4402/**
4403 * An element must be an instance of type "Grantor enum".
4404 */
4405private pattern mustInstanceOfGrantor_enum(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
4406 Type.name(type,"Grantor enum");
4407 find directInstanceOf(problem,interpretation,element,type);
4408}
4409private pattern scopeDisallowsNewGrantor_enum(problem:LogicProblem, interpretation:PartialInterpretation) {
4410 find interpretation(problem,interpretation);
4411 PartialInterpretation.scopes(interpretation,scope);
4412 Scope.targetTypeInterpretation(scope,typeInterpretation);
4413 Scope.maxNewElements(scope,0);
4414 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
4415 Type.name(type,"Grantor enum");
4416}
4417
4418/**
4419 * An element may be an instance of type "Grantor enum".
4420 */
4421private pattern mayInstanceOfGrantor_enum(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
4422{ find mustInstanceOfGrantor_enum(problem,interpretation,element); }
4423/**
4424 * An element must be an instance of type "Disability_Types enum".
4425 */
4426private pattern mustInstanceOfDisability_Types_enum(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
4427 Type.name(type,"Disability_Types enum");
4428 find directInstanceOf(problem,interpretation,element,type);
4429}
4430private pattern scopeDisallowsNewDisability_Types_enum(problem:LogicProblem, interpretation:PartialInterpretation) {
4431 find interpretation(problem,interpretation);
4432 PartialInterpretation.scopes(interpretation,scope);
4433 Scope.targetTypeInterpretation(scope,typeInterpretation);
4434 Scope.maxNewElements(scope,0);
4435 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
4436 Type.name(type,"Disability_Types enum");
4437}
4438
4439/**
4440 * An element may be an instance of type "Disability_Types enum".
4441 */
4442private pattern mayInstanceOfDisability_Types_enum(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
4443{ find mustInstanceOfDisability_Types_enum(problem,interpretation,element); }
4444/**
4445 * An element must be an instance of type "Country enum".
4446 */
4447private pattern mustInstanceOfCountry_enum(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
4448 Type.name(type,"Country enum");
4449 find directInstanceOf(problem,interpretation,element,type);
4450}
4451private pattern scopeDisallowsNewCountry_enum(problem:LogicProblem, interpretation:PartialInterpretation) {
4452 find interpretation(problem,interpretation);
4453 PartialInterpretation.scopes(interpretation,scope);
4454 Scope.targetTypeInterpretation(scope,typeInterpretation);
4455 Scope.maxNewElements(scope,0);
4456 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
4457 Type.name(type,"Country enum");
4458}
4459
4460/**
4461 * An element may be an instance of type "Country enum".
4462 */
4463private pattern mayInstanceOfCountry_enum(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
4464{ find mustInstanceOfCountry_enum(problem,interpretation,element); }
4465/**
4466 * An element must be an instance of type "Tax_Card_Type enum".
4467 */
4468private pattern mustInstanceOfTax_Card_Type_enum(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
4469 Type.name(type,"Tax_Card_Type enum");
4470 find directInstanceOf(problem,interpretation,element,type);
4471}
4472private pattern scopeDisallowsNewTax_Card_Type_enum(problem:LogicProblem, interpretation:PartialInterpretation) {
4473 find interpretation(problem,interpretation);
4474 PartialInterpretation.scopes(interpretation,scope);
4475 Scope.targetTypeInterpretation(scope,typeInterpretation);
4476 Scope.maxNewElements(scope,0);
4477 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
4478 Type.name(type,"Tax_Card_Type enum");
4479}
4480
4481/**
4482 * An element may be an instance of type "Tax_Card_Type enum".
4483 */
4484private pattern mayInstanceOfTax_Card_Type_enum(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
4485{ find mustInstanceOfTax_Card_Type_enum(problem,interpretation,element); }
4486/**
4487 * An element must be an instance of type "Tax_Office enum".
4488 */
4489private pattern mustInstanceOfTax_Office_enum(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
4490 Type.name(type,"Tax_Office enum");
4491 find directInstanceOf(problem,interpretation,element,type);
4492}
4493private pattern scopeDisallowsNewTax_Office_enum(problem:LogicProblem, interpretation:PartialInterpretation) {
4494 find interpretation(problem,interpretation);
4495 PartialInterpretation.scopes(interpretation,scope);
4496 Scope.targetTypeInterpretation(scope,typeInterpretation);
4497 Scope.maxNewElements(scope,0);
4498 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
4499 Type.name(type,"Tax_Office enum");
4500}
4501
4502/**
4503 * An element may be an instance of type "Tax_Office enum".
4504 */
4505private pattern mayInstanceOfTax_Office_enum(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
4506{ find mustInstanceOfTax_Office_enum(problem,interpretation,element); }
4507/**
4508 * An element must be an instance of type "Tax_Class_Category enum".
4509 */
4510private pattern mustInstanceOfTax_Class_Category_enum(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
4511 Type.name(type,"Tax_Class_Category enum");
4512 find directInstanceOf(problem,interpretation,element,type);
4513}
4514private pattern scopeDisallowsNewTax_Class_Category_enum(problem:LogicProblem, interpretation:PartialInterpretation) {
4515 find interpretation(problem,interpretation);
4516 PartialInterpretation.scopes(interpretation,scope);
4517 Scope.targetTypeInterpretation(scope,typeInterpretation);
4518 Scope.maxNewElements(scope,0);
4519 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
4520 Type.name(type,"Tax_Class_Category enum");
4521}
4522
4523/**
4524 * An element may be an instance of type "Tax_Class_Category enum".
4525 */
4526private pattern mayInstanceOfTax_Class_Category_enum(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
4527{ find mustInstanceOfTax_Class_Category_enum(problem,interpretation,element); }
4528/**
4529 * An element must be an instance of type "Job_Activity enum".
4530 */
4531private pattern mustInstanceOfJob_Activity_enum(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
4532 Type.name(type,"Job_Activity enum");
4533 find directInstanceOf(problem,interpretation,element,type);
4534}
4535private pattern scopeDisallowsNewJob_Activity_enum(problem:LogicProblem, interpretation:PartialInterpretation) {
4536 find interpretation(problem,interpretation);
4537 PartialInterpretation.scopes(interpretation,scope);
4538 Scope.targetTypeInterpretation(scope,typeInterpretation);
4539 Scope.maxNewElements(scope,0);
4540 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
4541 Type.name(type,"Job_Activity enum");
4542}
4543
4544/**
4545 * An element may be an instance of type "Job_Activity enum".
4546 */
4547private pattern mayInstanceOfJob_Activity_enum(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
4548{ find mustInstanceOfJob_Activity_enum(problem,interpretation,element); }
4549/**
4550 * An element must be an instance of type "Town enum".
4551 */
4552private pattern mustInstanceOfTown_enum(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
4553 Type.name(type,"Town enum");
4554 find directInstanceOf(problem,interpretation,element,type);
4555}
4556private pattern scopeDisallowsNewTown_enum(problem:LogicProblem, interpretation:PartialInterpretation) {
4557 find interpretation(problem,interpretation);
4558 PartialInterpretation.scopes(interpretation,scope);
4559 Scope.targetTypeInterpretation(scope,typeInterpretation);
4560 Scope.maxNewElements(scope,0);
4561 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
4562 Type.name(type,"Town enum");
4563}
4564
4565/**
4566 * An element may be an instance of type "Town enum".
4567 */
4568private pattern mayInstanceOfTown_enum(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
4569{ find mustInstanceOfTown_enum(problem,interpretation,element); }
4570/**
4571 * An element must be an instance of type "Type_of_Rate enum".
4572 */
4573private pattern mustInstanceOfType_of_Rate_enum(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
4574 Type.name(type,"Type_of_Rate enum");
4575 find directInstanceOf(problem,interpretation,element,type);
4576}
4577private pattern scopeDisallowsNewType_of_Rate_enum(problem:LogicProblem, interpretation:PartialInterpretation) {
4578 find interpretation(problem,interpretation);
4579 PartialInterpretation.scopes(interpretation,scope);
4580 Scope.targetTypeInterpretation(scope,typeInterpretation);
4581 Scope.maxNewElements(scope,0);
4582 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
4583 Type.name(type,"Type_of_Rate enum");
4584}
4585
4586/**
4587 * An element may be an instance of type "Type_of_Rate enum".
4588 */
4589private pattern mayInstanceOfType_of_Rate_enum(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
4590{ find mustInstanceOfType_of_Rate_enum(problem,interpretation,element); }
4591/**
4592 * An element must be an instance of type "CE_Type enum".
4593 */
4594private pattern mustInstanceOfCE_Type_enum(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
4595 Type.name(type,"CE_Type enum");
4596 find directInstanceOf(problem,interpretation,element,type);
4597}
4598private pattern scopeDisallowsNewCE_Type_enum(problem:LogicProblem, interpretation:PartialInterpretation) {
4599 find interpretation(problem,interpretation);
4600 PartialInterpretation.scopes(interpretation,scope);
4601 Scope.targetTypeInterpretation(scope,typeInterpretation);
4602 Scope.maxNewElements(scope,0);
4603 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
4604 Type.name(type,"CE_Type enum");
4605}
4606
4607/**
4608 * An element may be an instance of type "CE_Type enum".
4609 */
4610private pattern mayInstanceOfCE_Type_enum(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
4611{ find mustInstanceOfCE_Type_enum(problem,interpretation,element); }
4612/**
4613 * An element must be an instance of type "Expense_Purpose enum".
4614 */
4615private pattern mustInstanceOfExpense_Purpose_enum(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
4616 Type.name(type,"Expense_Purpose enum");
4617 find directInstanceOf(problem,interpretation,element,type);
4618}
4619private pattern scopeDisallowsNewExpense_Purpose_enum(problem:LogicProblem, interpretation:PartialInterpretation) {
4620 find interpretation(problem,interpretation);
4621 PartialInterpretation.scopes(interpretation,scope);
4622 Scope.targetTypeInterpretation(scope,typeInterpretation);
4623 Scope.maxNewElements(scope,0);
4624 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
4625 Type.name(type,"Expense_Purpose enum");
4626}
4627
4628/**
4629 * An element may be an instance of type "Expense_Purpose enum".
4630 */
4631private pattern mayInstanceOfExpense_Purpose_enum(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
4632{ find mustInstanceOfExpense_Purpose_enum(problem,interpretation,element); }
4633/**
4634 * An element must be an instance of type "Dependent_Type enum".
4635 */
4636private pattern mustInstanceOfDependent_Type_enum(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
4637 Type.name(type,"Dependent_Type enum");
4638 find directInstanceOf(problem,interpretation,element,type);
4639}
4640private pattern scopeDisallowsNewDependent_Type_enum(problem:LogicProblem, interpretation:PartialInterpretation) {
4641 find interpretation(problem,interpretation);
4642 PartialInterpretation.scopes(interpretation,scope);
4643 Scope.targetTypeInterpretation(scope,typeInterpretation);
4644 Scope.maxNewElements(scope,0);
4645 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
4646 Type.name(type,"Dependent_Type enum");
4647}
4648
4649/**
4650 * An element may be an instance of type "Dependent_Type enum".
4651 */
4652private pattern mayInstanceOfDependent_Type_enum(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
4653{ find mustInstanceOfDependent_Type_enum(problem,interpretation,element); }
4654/**
4655 * An element must be an instance of type "Separation_Causes enum".
4656 */
4657private pattern mustInstanceOfSeparation_Causes_enum(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
4658 Type.name(type,"Separation_Causes enum");
4659 find directInstanceOf(problem,interpretation,element,type);
4660}
4661private pattern scopeDisallowsNewSeparation_Causes_enum(problem:LogicProblem, interpretation:PartialInterpretation) {
4662 find interpretation(problem,interpretation);
4663 PartialInterpretation.scopes(interpretation,scope);
4664 Scope.targetTypeInterpretation(scope,typeInterpretation);
4665 Scope.maxNewElements(scope,0);
4666 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
4667 Type.name(type,"Separation_Causes enum");
4668}
4669
4670/**
4671 * An element may be an instance of type "Separation_Causes enum".
4672 */
4673private pattern mayInstanceOfSeparation_Causes_enum(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
4674{ find mustInstanceOfSeparation_Causes_enum(problem,interpretation,element); }
4675/**
4676 * An element must be an instance of type "Category_of_Permanent_Expense enum".
4677 */
4678private pattern mustInstanceOfCategory_of_Permanent_Expense_enum(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
4679 Type.name(type,"Category_of_Permanent_Expense enum");
4680 find directInstanceOf(problem,interpretation,element,type);
4681}
4682private pattern scopeDisallowsNewCategory_of_Permanent_Expense_enum(problem:LogicProblem, interpretation:PartialInterpretation) {
4683 find interpretation(problem,interpretation);
4684 PartialInterpretation.scopes(interpretation,scope);
4685 Scope.targetTypeInterpretation(scope,typeInterpretation);
4686 Scope.maxNewElements(scope,0);
4687 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
4688 Type.name(type,"Category_of_Permanent_Expense enum");
4689}
4690
4691/**
4692 * An element may be an instance of type "Category_of_Permanent_Expense enum".
4693 */
4694private pattern mayInstanceOfCategory_of_Permanent_Expense_enum(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
4695{ find mustInstanceOfCategory_of_Permanent_Expense_enum(problem,interpretation,element); }
4696/**
4697 * An element must be an instance of type "Category_of_Health_and_Pension_Insurances enum".
4698 */
4699private pattern mustInstanceOfCategory_of_Health_and_Pension_Insurances_enum(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
4700 Type.name(type,"Category_of_Health_and_Pension_Insurances enum");
4701 find directInstanceOf(problem,interpretation,element,type);
4702}
4703private pattern scopeDisallowsNewCategory_of_Health_and_Pension_Insurances_enum(problem:LogicProblem, interpretation:PartialInterpretation) {
4704 find interpretation(problem,interpretation);
4705 PartialInterpretation.scopes(interpretation,scope);
4706 Scope.targetTypeInterpretation(scope,typeInterpretation);
4707 Scope.maxNewElements(scope,0);
4708 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
4709 Type.name(type,"Category_of_Health_and_Pension_Insurances enum");
4710}
4711
4712/**
4713 * An element may be an instance of type "Category_of_Health_and_Pension_Insurances enum".
4714 */
4715private pattern mayInstanceOfCategory_of_Health_and_Pension_Insurances_enum(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
4716{ find mustInstanceOfCategory_of_Health_and_Pension_Insurances_enum(problem,interpretation,element); }
4717/**
4718 * An element must be an instance of type "Category_of_Private_Insurance_and_Plan enum".
4719 */
4720private pattern mustInstanceOfCategory_of_Private_Insurance_and_Plan_enum(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
4721 Type.name(type,"Category_of_Private_Insurance_and_Plan enum");
4722 find directInstanceOf(problem,interpretation,element,type);
4723}
4724private pattern scopeDisallowsNewCategory_of_Private_Insurance_and_Plan_enum(problem:LogicProblem, interpretation:PartialInterpretation) {
4725 find interpretation(problem,interpretation);
4726 PartialInterpretation.scopes(interpretation,scope);
4727 Scope.targetTypeInterpretation(scope,typeInterpretation);
4728 Scope.maxNewElements(scope,0);
4729 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
4730 Type.name(type,"Category_of_Private_Insurance_and_Plan enum");
4731}
4732
4733/**
4734 * An element may be an instance of type "Category_of_Private_Insurance_and_Plan enum".
4735 */
4736private pattern mayInstanceOfCategory_of_Private_Insurance_and_Plan_enum(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
4737{ find mustInstanceOfCategory_of_Private_Insurance_and_Plan_enum(problem,interpretation,element); }
4738/**
4739 * An element must be an instance of type "Legal_Union_Types enum".
4740 */
4741private pattern mustInstanceOfLegal_Union_Types_enum(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
4742 Type.name(type,"Legal_Union_Types enum");
4743 find directInstanceOf(problem,interpretation,element,type);
4744}
4745private pattern scopeDisallowsNewLegal_Union_Types_enum(problem:LogicProblem, interpretation:PartialInterpretation) {
4746 find interpretation(problem,interpretation);
4747 PartialInterpretation.scopes(interpretation,scope);
4748 Scope.targetTypeInterpretation(scope,typeInterpretation);
4749 Scope.maxNewElements(scope,0);
4750 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
4751 Type.name(type,"Legal_Union_Types enum");
4752}
4753
4754/**
4755 * An element may be an instance of type "Legal_Union_Types enum".
4756 */
4757private pattern mayInstanceOfLegal_Union_Types_enum(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
4758{ find mustInstanceOfLegal_Union_Types_enum(problem,interpretation,element); }
4759
4760//////////
4761// 1.2 Relation Declaration Indexers
4762//////////
4763/**
4764 * Matcher for detecting tuples t where []taxPayer reference Income_Tax(source,target)
4765 */
4766private pattern mustInRelationtaxPayer_reference_Income_Tax(
4767 problem:LogicProblem, interpretation:PartialInterpretation,
4768 source: DefinedElement, target:DefinedElement)
4769{
4770 find interpretation(problem,interpretation);
4771 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
4772 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"taxPayer reference Income_Tax");
4773 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
4774 BinaryElementRelationLink.param1(link,source);
4775 BinaryElementRelationLink.param2(link,target);
4776}
4777/**
4778 * Matcher for detecting tuples t where <>taxPayer reference Income_Tax(source,target)
4779 */
4780private pattern mayInRelationtaxPayer_reference_Income_Tax(
4781 problem:LogicProblem, interpretation:PartialInterpretation,
4782 source: DefinedElement, target:DefinedElement)
4783{
4784 find interpretation(problem,interpretation);
4785 // The two endpoint of the link have to exist
4786 find mayExist(problem, interpretation, source);
4787 find mayExist(problem, interpretation, target);
4788 // Type consistency
4789 find mayInstanceOfIncome_Tax_class(problem,interpretation,source);
4790 find mayInstanceOfTax_Payer_class(problem,interpretation,target);
4791 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
4792 // the upper bound of the multiplicity should be considered.
4793 numberOfExistingReferences == count find mustInRelationtaxPayer_reference_Income_Tax(problem,interpretation,source,_);
4794 check(numberOfExistingReferences < 1);
4795} or {
4796 find mustInRelationtaxPayer_reference_Income_Tax(problem,interpretation,source,target);
4797}
4798/**
4799 * Matcher for detecting tuples t where []dependents reference Tax_Payer(source,target)
4800 */
4801private pattern mustInRelationdependents_reference_Tax_Payer(
4802 problem:LogicProblem, interpretation:PartialInterpretation,
4803 source: DefinedElement, target:DefinedElement)
4804{
4805 find interpretation(problem,interpretation);
4806 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
4807 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"dependents reference Tax_Payer");
4808 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
4809 BinaryElementRelationLink.param1(link,source);
4810 BinaryElementRelationLink.param2(link,target);
4811}
4812/**
4813 * Matcher for detecting tuples t where <>dependents reference Tax_Payer(source,target)
4814 */
4815private pattern mayInRelationdependents_reference_Tax_Payer(
4816 problem:LogicProblem, interpretation:PartialInterpretation,
4817 source: DefinedElement, target:DefinedElement)
4818{
4819 find interpretation(problem,interpretation);
4820 // The two endpoint of the link have to exist
4821 find mayExist(problem, interpretation, source);
4822 find mayExist(problem, interpretation, target);
4823 // Type consistency
4824 find mayInstanceOfTax_Payer_class(problem,interpretation,source);
4825 find mayInstanceOfDependent_class(problem,interpretation,target);
4826 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
4827 // the upper bound of the multiplicity should be considered.
4828 numberOfExistingReferences == count find mustInRelationdependents_reference_Tax_Payer(problem,interpretation,source,_);
4829 check(numberOfExistingReferences < 6);
4830 // There are "numberOfExistingReferences" currently existing instances of the reference to the target,
4831 // the upper bound of the opposite reference multiplicity should be considered.
4832 numberOfExistingOppositeReferences == count find mustInRelationresponsible_person_reference_Dependent(problem,interpretation,target,_);
4833 check(numberOfExistingOppositeReferences < 1);
4834 // The reference is containment, then a new reference cannot be create if:
4835 // 1. Multiple parents
4836 neg find mustContains4(problem,interpretation,_,target);
4837 // 2. Circle in the containment hierarchy
4838 neg find mustTransitiveContains(source,target);
4839} or {
4840 find mustInRelationdependents_reference_Tax_Payer(problem,interpretation,source,target);
4841}
4842/**
4843 * Matcher for detecting tuples t where []from_agent reference Tax_Payer(source,target)
4844 */
4845private pattern mustInRelationfrom_agent_reference_Tax_Payer(
4846 problem:LogicProblem, interpretation:PartialInterpretation,
4847 source: DefinedElement, target:DefinedElement)
4848{
4849 find interpretation(problem,interpretation);
4850 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
4851 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"from_agent reference Tax_Payer");
4852 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
4853 BinaryElementRelationLink.param1(link,source);
4854 BinaryElementRelationLink.param2(link,target);
4855}
4856/**
4857 * Matcher for detecting tuples t where <>from_agent reference Tax_Payer(source,target)
4858 */
4859private pattern mayInRelationfrom_agent_reference_Tax_Payer(
4860 problem:LogicProblem, interpretation:PartialInterpretation,
4861 source: DefinedElement, target:DefinedElement)
4862{
4863 find interpretation(problem,interpretation);
4864 // The two endpoint of the link have to exist
4865 find mayExist(problem, interpretation, source);
4866 find mayExist(problem, interpretation, target);
4867 // Type consistency
4868 find mayInstanceOfTax_Payer_class(problem,interpretation,source);
4869 find mayInstanceOfFromAgent_class(problem,interpretation,target);
4870 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
4871 // the upper bound of the multiplicity should be considered.
4872 numberOfExistingReferences == count find mustInRelationfrom_agent_reference_Tax_Payer(problem,interpretation,source,_);
4873 check(numberOfExistingReferences < 1);
4874 // There are "numberOfExistingReferences" currently existing instances of the reference to the target,
4875 // the upper bound of the opposite reference multiplicity should be considered.
4876 numberOfExistingOppositeReferences == count find mustInRelationtaxPayer_reference_FromAgent(problem,interpretation,target,_);
4877 check(numberOfExistingOppositeReferences < 1);
4878 // The reference is containment, then a new reference cannot be create if:
4879 // 1. Multiple parents
4880 neg find mustContains4(problem,interpretation,_,target);
4881 // 2. Circle in the containment hierarchy
4882 neg find mustTransitiveContains(source,target);
4883} or {
4884 find mustInRelationfrom_agent_reference_Tax_Payer(problem,interpretation,source,target);
4885}
4886/**
4887 * Matcher for detecting tuples t where []incomes reference Tax_Payer(source,target)
4888 */
4889private pattern mustInRelationincomes_reference_Tax_Payer(
4890 problem:LogicProblem, interpretation:PartialInterpretation,
4891 source: DefinedElement, target:DefinedElement)
4892{
4893 find interpretation(problem,interpretation);
4894 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
4895 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"incomes reference Tax_Payer");
4896 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
4897 BinaryElementRelationLink.param1(link,source);
4898 BinaryElementRelationLink.param2(link,target);
4899}
4900/**
4901 * Matcher for detecting tuples t where <>incomes reference Tax_Payer(source,target)
4902 */
4903private pattern mayInRelationincomes_reference_Tax_Payer(
4904 problem:LogicProblem, interpretation:PartialInterpretation,
4905 source: DefinedElement, target:DefinedElement)
4906{
4907 find interpretation(problem,interpretation);
4908 // The two endpoint of the link have to exist
4909 find mayExist(problem, interpretation, source);
4910 find mayExist(problem, interpretation, target);
4911 // Type consistency
4912 find mayInstanceOfTax_Payer_class(problem,interpretation,source);
4913 find mayInstanceOfIncome_class(problem,interpretation,target);
4914 // There are "numberOfExistingReferences" currently existing instances of the reference to the target,
4915 // the upper bound of the opposite reference multiplicity should be considered.
4916 numberOfExistingOppositeReferences == count find mustInRelationtaxPayer_reference_Income(problem,interpretation,target,_);
4917 check(numberOfExistingOppositeReferences < 1);
4918 // The reference is containment, then a new reference cannot be create if:
4919 // 1. Multiple parents
4920 neg find mustContains4(problem,interpretation,_,target);
4921 // 2. Circle in the containment hierarchy
4922 neg find mustTransitiveContains(source,target);
4923} or {
4924 find mustInRelationincomes_reference_Tax_Payer(problem,interpretation,source,target);
4925}
4926/**
4927 * Matcher for detecting tuples t where []from_law reference Tax_Payer(source,target)
4928 */
4929private pattern mustInRelationfrom_law_reference_Tax_Payer(
4930 problem:LogicProblem, interpretation:PartialInterpretation,
4931 source: DefinedElement, target:DefinedElement)
4932{
4933 find interpretation(problem,interpretation);
4934 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
4935 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"from_law reference Tax_Payer");
4936 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
4937 BinaryElementRelationLink.param1(link,source);
4938 BinaryElementRelationLink.param2(link,target);
4939}
4940/**
4941 * Matcher for detecting tuples t where <>from_law reference Tax_Payer(source,target)
4942 */
4943private pattern mayInRelationfrom_law_reference_Tax_Payer(
4944 problem:LogicProblem, interpretation:PartialInterpretation,
4945 source: DefinedElement, target:DefinedElement)
4946{
4947 find interpretation(problem,interpretation);
4948 // The two endpoint of the link have to exist
4949 find mayExist(problem, interpretation, source);
4950 find mayExist(problem, interpretation, target);
4951 // Type consistency
4952 find mayInstanceOfTax_Payer_class(problem,interpretation,source);
4953 find mayInstanceOfFromLaw_class(problem,interpretation,target);
4954 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
4955 // the upper bound of the multiplicity should be considered.
4956 numberOfExistingReferences == count find mustInRelationfrom_law_reference_Tax_Payer(problem,interpretation,source,_);
4957 check(numberOfExistingReferences < 1);
4958 // There are "numberOfExistingReferences" currently existing instances of the reference to the target,
4959 // the upper bound of the opposite reference multiplicity should be considered.
4960 numberOfExistingOppositeReferences == count find mustInRelationtaxPayer_reference_FromLaw(problem,interpretation,target,_);
4961 check(numberOfExistingOppositeReferences < 1);
4962 // The reference is containment, then a new reference cannot be create if:
4963 // 1. Multiple parents
4964 neg find mustContains4(problem,interpretation,_,target);
4965 // 2. Circle in the containment hierarchy
4966 neg find mustTransitiveContains(source,target);
4967} or {
4968 find mustInRelationfrom_law_reference_Tax_Payer(problem,interpretation,source,target);
4969}
4970/**
4971 * Matcher for detecting tuples t where []addresses reference Physical_Person(source,target)
4972 */
4973private pattern mustInRelationaddresses_reference_Physical_Person(
4974 problem:LogicProblem, interpretation:PartialInterpretation,
4975 source: DefinedElement, target:DefinedElement)
4976{
4977 find interpretation(problem,interpretation);
4978 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
4979 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"addresses reference Physical_Person");
4980 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
4981 BinaryElementRelationLink.param1(link,source);
4982 BinaryElementRelationLink.param2(link,target);
4983}
4984/**
4985 * Matcher for detecting tuples t where <>addresses reference Physical_Person(source,target)
4986 */
4987private pattern mayInRelationaddresses_reference_Physical_Person(
4988 problem:LogicProblem, interpretation:PartialInterpretation,
4989 source: DefinedElement, target:DefinedElement)
4990{
4991 find interpretation(problem,interpretation);
4992 // The two endpoint of the link have to exist
4993 find mayExist(problem, interpretation, source);
4994 find mayExist(problem, interpretation, target);
4995 // Type consistency
4996 find mayInstanceOfPhysical_Person_class(problem,interpretation,source);
4997 find mayInstanceOfAddress_class(problem,interpretation,target);
4998} or {
4999 find mustInRelationaddresses_reference_Physical_Person(problem,interpretation,source,target);
5000}
5001/**
5002 * Matcher for detecting tuples t where []expenses reference Physical_Person(source,target)
5003 */
5004private pattern mustInRelationexpenses_reference_Physical_Person(
5005 problem:LogicProblem, interpretation:PartialInterpretation,
5006 source: DefinedElement, target:DefinedElement)
5007{
5008 find interpretation(problem,interpretation);
5009 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
5010 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"expenses reference Physical_Person");
5011 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
5012 BinaryElementRelationLink.param1(link,source);
5013 BinaryElementRelationLink.param2(link,target);
5014}
5015/**
5016 * Matcher for detecting tuples t where <>expenses reference Physical_Person(source,target)
5017 */
5018private pattern mayInRelationexpenses_reference_Physical_Person(
5019 problem:LogicProblem, interpretation:PartialInterpretation,
5020 source: DefinedElement, target:DefinedElement)
5021{
5022 find interpretation(problem,interpretation);
5023 // The two endpoint of the link have to exist
5024 find mayExist(problem, interpretation, source);
5025 find mayExist(problem, interpretation, target);
5026 // Type consistency
5027 find mayInstanceOfPhysical_Person_class(problem,interpretation,source);
5028 find mayInstanceOfExpense_class(problem,interpretation,target);
5029 // There are "numberOfExistingReferences" currently existing instances of the reference to the target,
5030 // the upper bound of the opposite reference multiplicity should be considered.
5031 numberOfExistingOppositeReferences == count find mustInRelationbeneficiary_reference_Expense(problem,interpretation,target,_);
5032 check(numberOfExistingOppositeReferences < 1);
5033} or {
5034 find mustInRelationexpenses_reference_Physical_Person(problem,interpretation,source,target);
5035}
5036/**
5037 * Matcher for detecting tuples t where []taxPayer reference Address(source,target)
5038 */
5039private pattern mustInRelationtaxPayer_reference_Address(
5040 problem:LogicProblem, interpretation:PartialInterpretation,
5041 source: DefinedElement, target:DefinedElement)
5042{
5043 find interpretation(problem,interpretation);
5044 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
5045 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"taxPayer reference Address");
5046 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
5047 BinaryElementRelationLink.param1(link,source);
5048 BinaryElementRelationLink.param2(link,target);
5049}
5050/**
5051 * Matcher for detecting tuples t where <>taxPayer reference Address(source,target)
5052 */
5053private pattern mayInRelationtaxPayer_reference_Address(
5054 problem:LogicProblem, interpretation:PartialInterpretation,
5055 source: DefinedElement, target:DefinedElement)
5056{
5057 find interpretation(problem,interpretation);
5058 // The two endpoint of the link have to exist
5059 find mayExist(problem, interpretation, source);
5060 find mayExist(problem, interpretation, target);
5061 // Type consistency
5062 find mayInstanceOfAddress_class(problem,interpretation,source);
5063 find mayInstanceOfPhysical_Person_class(problem,interpretation,target);
5064} or {
5065 find mustInRelationtaxPayer_reference_Address(problem,interpretation,source,target);
5066}
5067/**
5068 * Matcher for detecting tuples t where []dependent reference Expense(source,target)
5069 */
5070private pattern mustInRelationdependent_reference_Expense(
5071 problem:LogicProblem, interpretation:PartialInterpretation,
5072 source: DefinedElement, target:DefinedElement)
5073{
5074 find interpretation(problem,interpretation);
5075 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
5076 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"dependent reference Expense");
5077 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
5078 BinaryElementRelationLink.param1(link,source);
5079 BinaryElementRelationLink.param2(link,target);
5080}
5081/**
5082 * Matcher for detecting tuples t where <>dependent reference Expense(source,target)
5083 */
5084private pattern mayInRelationdependent_reference_Expense(
5085 problem:LogicProblem, interpretation:PartialInterpretation,
5086 source: DefinedElement, target:DefinedElement)
5087{
5088 find interpretation(problem,interpretation);
5089 // The two endpoint of the link have to exist
5090 find mayExist(problem, interpretation, source);
5091 find mayExist(problem, interpretation, target);
5092 // Type consistency
5093 find mayInstanceOfExpense_class(problem,interpretation,source);
5094 find mayInstanceOfDependent_class(problem,interpretation,target);
5095 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
5096 // the upper bound of the multiplicity should be considered.
5097 numberOfExistingReferences == count find mustInRelationdependent_reference_Expense(problem,interpretation,source,_);
5098 check(numberOfExistingReferences < 1);
5099} or {
5100 find mustInRelationdependent_reference_Expense(problem,interpretation,source,target);
5101}
5102/**
5103 * Matcher for detecting tuples t where []from_agent reference Expense(source,target)
5104 */
5105private pattern mustInRelationfrom_agent_reference_Expense(
5106 problem:LogicProblem, interpretation:PartialInterpretation,
5107 source: DefinedElement, target:DefinedElement)
5108{
5109 find interpretation(problem,interpretation);
5110 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
5111 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"from_agent reference Expense");
5112 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
5113 BinaryElementRelationLink.param1(link,source);
5114 BinaryElementRelationLink.param2(link,target);
5115}
5116/**
5117 * Matcher for detecting tuples t where <>from_agent reference Expense(source,target)
5118 */
5119private pattern mayInRelationfrom_agent_reference_Expense(
5120 problem:LogicProblem, interpretation:PartialInterpretation,
5121 source: DefinedElement, target:DefinedElement)
5122{
5123 find interpretation(problem,interpretation);
5124 // The two endpoint of the link have to exist
5125 find mayExist(problem, interpretation, source);
5126 find mayExist(problem, interpretation, target);
5127 // Type consistency
5128 find mayInstanceOfExpense_class(problem,interpretation,source);
5129 find mayInstanceOfFromAgent_class(problem,interpretation,target);
5130 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
5131 // the upper bound of the multiplicity should be considered.
5132 numberOfExistingReferences == count find mustInRelationfrom_agent_reference_Expense(problem,interpretation,source,_);
5133 check(numberOfExistingReferences < 1);
5134 // There are "numberOfExistingReferences" currently existing instances of the reference to the target,
5135 // the upper bound of the opposite reference multiplicity should be considered.
5136 numberOfExistingOppositeReferences == count find mustInRelationexpense_reference_FromAgent(problem,interpretation,target,_);
5137 check(numberOfExistingOppositeReferences < 1);
5138} or {
5139 find mustInRelationfrom_agent_reference_Expense(problem,interpretation,source,target);
5140}
5141/**
5142 * Matcher for detecting tuples t where []income reference Expense(source,target)
5143 */
5144private pattern mustInRelationincome_reference_Expense(
5145 problem:LogicProblem, interpretation:PartialInterpretation,
5146 source: DefinedElement, target:DefinedElement)
5147{
5148 find interpretation(problem,interpretation);
5149 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
5150 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"income reference Expense");
5151 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
5152 BinaryElementRelationLink.param1(link,source);
5153 BinaryElementRelationLink.param2(link,target);
5154}
5155/**
5156 * Matcher for detecting tuples t where <>income reference Expense(source,target)
5157 */
5158private pattern mayInRelationincome_reference_Expense(
5159 problem:LogicProblem, interpretation:PartialInterpretation,
5160 source: DefinedElement, target:DefinedElement)
5161{
5162 find interpretation(problem,interpretation);
5163 // The two endpoint of the link have to exist
5164 find mayExist(problem, interpretation, source);
5165 find mayExist(problem, interpretation, target);
5166 // Type consistency
5167 find mayInstanceOfExpense_class(problem,interpretation,source);
5168 find mayInstanceOfIncome_class(problem,interpretation,target);
5169 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
5170 // the upper bound of the multiplicity should be considered.
5171 numberOfExistingReferences == count find mustInRelationincome_reference_Expense(problem,interpretation,source,_);
5172 check(numberOfExistingReferences < 1);
5173 // The eOpposite of the reference is containment, then a referene cannot be created if
5174 // 1. Multiple parents
5175 neg find mustContains4(problem,interpretation,source,_);
5176 // 2. Circle in the containment hierarchy
5177 neg find mustTransitiveContains(source,target);
5178} or {
5179 find mustInRelationincome_reference_Expense(problem,interpretation,source,target);
5180}
5181/**
5182 * Matcher for detecting tuples t where []beneficiary reference Expense(source,target)
5183 */
5184private pattern mustInRelationbeneficiary_reference_Expense(
5185 problem:LogicProblem, interpretation:PartialInterpretation,
5186 source: DefinedElement, target:DefinedElement)
5187{
5188 find interpretation(problem,interpretation);
5189 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
5190 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"beneficiary reference Expense");
5191 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
5192 BinaryElementRelationLink.param1(link,source);
5193 BinaryElementRelationLink.param2(link,target);
5194}
5195/**
5196 * Matcher for detecting tuples t where <>beneficiary reference Expense(source,target)
5197 */
5198private pattern mayInRelationbeneficiary_reference_Expense(
5199 problem:LogicProblem, interpretation:PartialInterpretation,
5200 source: DefinedElement, target:DefinedElement)
5201{
5202 find interpretation(problem,interpretation);
5203 // The two endpoint of the link have to exist
5204 find mayExist(problem, interpretation, source);
5205 find mayExist(problem, interpretation, target);
5206 // Type consistency
5207 find mayInstanceOfExpense_class(problem,interpretation,source);
5208 find mayInstanceOfPhysical_Person_class(problem,interpretation,target);
5209 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
5210 // the upper bound of the multiplicity should be considered.
5211 numberOfExistingReferences == count find mustInRelationbeneficiary_reference_Expense(problem,interpretation,source,_);
5212 check(numberOfExistingReferences < 1);
5213} or {
5214 find mustInRelationbeneficiary_reference_Expense(problem,interpretation,source,target);
5215}
5216/**
5217 * Matcher for detecting tuples t where []responsible_person reference Dependent(source,target)
5218 */
5219private pattern mustInRelationresponsible_person_reference_Dependent(
5220 problem:LogicProblem, interpretation:PartialInterpretation,
5221 source: DefinedElement, target:DefinedElement)
5222{
5223 find interpretation(problem,interpretation);
5224 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
5225 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"responsible_person reference Dependent");
5226 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
5227 BinaryElementRelationLink.param1(link,source);
5228 BinaryElementRelationLink.param2(link,target);
5229}
5230/**
5231 * Matcher for detecting tuples t where <>responsible_person reference Dependent(source,target)
5232 */
5233private pattern mayInRelationresponsible_person_reference_Dependent(
5234 problem:LogicProblem, interpretation:PartialInterpretation,
5235 source: DefinedElement, target:DefinedElement)
5236{
5237 find interpretation(problem,interpretation);
5238 // The two endpoint of the link have to exist
5239 find mayExist(problem, interpretation, source);
5240 find mayExist(problem, interpretation, target);
5241 // Type consistency
5242 find mayInstanceOfDependent_class(problem,interpretation,source);
5243 find mayInstanceOfTax_Payer_class(problem,interpretation,target);
5244 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
5245 // the upper bound of the multiplicity should be considered.
5246 numberOfExistingReferences == count find mustInRelationresponsible_person_reference_Dependent(problem,interpretation,source,_);
5247 check(numberOfExistingReferences < 1);
5248 // There are "numberOfExistingReferences" currently existing instances of the reference to the target,
5249 // the upper bound of the opposite reference multiplicity should be considered.
5250 numberOfExistingOppositeReferences == count find mustInRelationdependents_reference_Tax_Payer(problem,interpretation,target,_);
5251 check(numberOfExistingOppositeReferences < 6);
5252 // The eOpposite of the reference is containment, then a referene cannot be created if
5253 // 1. Multiple parents
5254 neg find mustContains4(problem,interpretation,source,_);
5255 // 2. Circle in the containment hierarchy
5256 neg find mustTransitiveContains(source,target);
5257} or {
5258 find mustInRelationresponsible_person_reference_Dependent(problem,interpretation,source,target);
5259}
5260/**
5261 * Matcher for detecting tuples t where []allowances reference Dependent(source,target)
5262 */
5263private pattern mustInRelationallowances_reference_Dependent(
5264 problem:LogicProblem, interpretation:PartialInterpretation,
5265 source: DefinedElement, target:DefinedElement)
5266{
5267 find interpretation(problem,interpretation);
5268 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
5269 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"allowances reference Dependent");
5270 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
5271 BinaryElementRelationLink.param1(link,source);
5272 BinaryElementRelationLink.param2(link,target);
5273}
5274/**
5275 * Matcher for detecting tuples t where <>allowances reference Dependent(source,target)
5276 */
5277private pattern mayInRelationallowances_reference_Dependent(
5278 problem:LogicProblem, interpretation:PartialInterpretation,
5279 source: DefinedElement, target:DefinedElement)
5280{
5281 find interpretation(problem,interpretation);
5282 // The two endpoint of the link have to exist
5283 find mayExist(problem, interpretation, source);
5284 find mayExist(problem, interpretation, target);
5285 // Type consistency
5286 find mayInstanceOfDependent_class(problem,interpretation,source);
5287 find mayInstanceOfExternal_Allowance_class(problem,interpretation,target);
5288 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
5289 // the upper bound of the multiplicity should be considered.
5290 numberOfExistingReferences == count find mustInRelationallowances_reference_Dependent(problem,interpretation,source,_);
5291 check(numberOfExistingReferences < 1);
5292 // There are "numberOfExistingReferences" currently existing instances of the reference to the target,
5293 // the upper bound of the opposite reference multiplicity should be considered.
5294 numberOfExistingOppositeReferences == count find mustInRelationperson_reference_External_Allowance(problem,interpretation,target,_);
5295 check(numberOfExistingOppositeReferences < 1);
5296 // The reference is containment, then a new reference cannot be create if:
5297 // 1. Multiple parents
5298 neg find mustContains4(problem,interpretation,_,target);
5299 // 2. Circle in the containment hierarchy
5300 neg find mustTransitiveContains(source,target);
5301} or {
5302 find mustInRelationallowances_reference_Dependent(problem,interpretation,source,target);
5303}
5304/**
5305 * Matcher for detecting tuples t where []household reference Dependent(source,target)
5306 */
5307private pattern mustInRelationhousehold_reference_Dependent(
5308 problem:LogicProblem, interpretation:PartialInterpretation,
5309 source: DefinedElement, target:DefinedElement)
5310{
5311 find interpretation(problem,interpretation);
5312 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
5313 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"household reference Dependent");
5314 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
5315 BinaryElementRelationLink.param1(link,source);
5316 BinaryElementRelationLink.param2(link,target);
5317}
5318/**
5319 * Matcher for detecting tuples t where <>household reference Dependent(source,target)
5320 */
5321private pattern mayInRelationhousehold_reference_Dependent(
5322 problem:LogicProblem, interpretation:PartialInterpretation,
5323 source: DefinedElement, target:DefinedElement)
5324{
5325 find interpretation(problem,interpretation);
5326 // The two endpoint of the link have to exist
5327 find mayExist(problem, interpretation, source);
5328 find mayExist(problem, interpretation, target);
5329 // Type consistency
5330 find mayInstanceOfDependent_class(problem,interpretation,source);
5331 find mayInstanceOfHousehold_class(problem,interpretation,target);
5332 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
5333 // the upper bound of the multiplicity should be considered.
5334 numberOfExistingReferences == count find mustInRelationhousehold_reference_Dependent(problem,interpretation,source,_);
5335 check(numberOfExistingReferences < 1);
5336 // The eOpposite of the reference is containment, then a referene cannot be created if
5337 // 1. Multiple parents
5338 neg find mustContains4(problem,interpretation,source,_);
5339 // 2. Circle in the containment hierarchy
5340 neg find mustTransitiveContains(source,target);
5341} or {
5342 find mustInRelationhousehold_reference_Dependent(problem,interpretation,source,target);
5343}
5344/**
5345 * Matcher for detecting tuples t where []from_agent reference Dependent(source,target)
5346 */
5347private pattern mustInRelationfrom_agent_reference_Dependent(
5348 problem:LogicProblem, interpretation:PartialInterpretation,
5349 source: DefinedElement, target:DefinedElement)
5350{
5351 find interpretation(problem,interpretation);
5352 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
5353 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"from_agent reference Dependent");
5354 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
5355 BinaryElementRelationLink.param1(link,source);
5356 BinaryElementRelationLink.param2(link,target);
5357}
5358/**
5359 * Matcher for detecting tuples t where <>from_agent reference Dependent(source,target)
5360 */
5361private pattern mayInRelationfrom_agent_reference_Dependent(
5362 problem:LogicProblem, interpretation:PartialInterpretation,
5363 source: DefinedElement, target:DefinedElement)
5364{
5365 find interpretation(problem,interpretation);
5366 // The two endpoint of the link have to exist
5367 find mayExist(problem, interpretation, source);
5368 find mayExist(problem, interpretation, target);
5369 // Type consistency
5370 find mayInstanceOfDependent_class(problem,interpretation,source);
5371 find mayInstanceOfFromAgent_class(problem,interpretation,target);
5372 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
5373 // the upper bound of the multiplicity should be considered.
5374 numberOfExistingReferences == count find mustInRelationfrom_agent_reference_Dependent(problem,interpretation,source,_);
5375 check(numberOfExistingReferences < 1);
5376 // There are "numberOfExistingReferences" currently existing instances of the reference to the target,
5377 // the upper bound of the opposite reference multiplicity should be considered.
5378 numberOfExistingOppositeReferences == count find mustInRelationdependent_reference_FromAgent(problem,interpretation,target,_);
5379 check(numberOfExistingOppositeReferences < 1);
5380} or {
5381 find mustInRelationfrom_agent_reference_Dependent(problem,interpretation,source,target);
5382}
5383/**
5384 * Matcher for detecting tuples t where []expense reference Dependent(source,target)
5385 */
5386private pattern mustInRelationexpense_reference_Dependent(
5387 problem:LogicProblem, interpretation:PartialInterpretation,
5388 source: DefinedElement, target:DefinedElement)
5389{
5390 find interpretation(problem,interpretation);
5391 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
5392 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"expense reference Dependent");
5393 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
5394 BinaryElementRelationLink.param1(link,source);
5395 BinaryElementRelationLink.param2(link,target);
5396}
5397/**
5398 * Matcher for detecting tuples t where <>expense reference Dependent(source,target)
5399 */
5400private pattern mayInRelationexpense_reference_Dependent(
5401 problem:LogicProblem, interpretation:PartialInterpretation,
5402 source: DefinedElement, target:DefinedElement)
5403{
5404 find interpretation(problem,interpretation);
5405 // The two endpoint of the link have to exist
5406 find mayExist(problem, interpretation, source);
5407 find mayExist(problem, interpretation, target);
5408 // Type consistency
5409 find mayInstanceOfDependent_class(problem,interpretation,source);
5410 find mayInstanceOfExpense_class(problem,interpretation,target);
5411 // There are "numberOfExistingReferences" currently existing instances of the reference to the target,
5412 // the upper bound of the opposite reference multiplicity should be considered.
5413 numberOfExistingOppositeReferences == count find mustInRelationdependent_reference_Expense(problem,interpretation,target,_);
5414 check(numberOfExistingOppositeReferences < 1);
5415} or {
5416 find mustInRelationexpense_reference_Dependent(problem,interpretation,source,target);
5417}
5418/**
5419 * Matcher for detecting tuples t where []reciver reference External_Allowance(source,target)
5420 */
5421private pattern mustInRelationreciver_reference_External_Allowance(
5422 problem:LogicProblem, interpretation:PartialInterpretation,
5423 source: DefinedElement, target:DefinedElement)
5424{
5425 find interpretation(problem,interpretation);
5426 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
5427 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"reciver reference External_Allowance");
5428 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
5429 BinaryElementRelationLink.param1(link,source);
5430 BinaryElementRelationLink.param2(link,target);
5431}
5432/**
5433 * Matcher for detecting tuples t where <>reciver reference External_Allowance(source,target)
5434 */
5435private pattern mayInRelationreciver_reference_External_Allowance(
5436 problem:LogicProblem, interpretation:PartialInterpretation,
5437 source: DefinedElement, target:DefinedElement)
5438{
5439 find interpretation(problem,interpretation);
5440 // The two endpoint of the link have to exist
5441 find mayExist(problem, interpretation, source);
5442 find mayExist(problem, interpretation, target);
5443 // Type consistency
5444 find mayInstanceOfExternal_Allowance_class(problem,interpretation,source);
5445 find mayInstanceOfPhysical_Person_class(problem,interpretation,target);
5446 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
5447 // the upper bound of the multiplicity should be considered.
5448 numberOfExistingReferences == count find mustInRelationreciver_reference_External_Allowance(problem,interpretation,source,_);
5449 check(numberOfExistingReferences < 1);
5450} or {
5451 find mustInRelationreciver_reference_External_Allowance(problem,interpretation,source,target);
5452}
5453/**
5454 * Matcher for detecting tuples t where []person reference External_Allowance(source,target)
5455 */
5456private pattern mustInRelationperson_reference_External_Allowance(
5457 problem:LogicProblem, interpretation:PartialInterpretation,
5458 source: DefinedElement, target:DefinedElement)
5459{
5460 find interpretation(problem,interpretation);
5461 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
5462 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"person reference External_Allowance");
5463 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
5464 BinaryElementRelationLink.param1(link,source);
5465 BinaryElementRelationLink.param2(link,target);
5466}
5467/**
5468 * Matcher for detecting tuples t where <>person reference External_Allowance(source,target)
5469 */
5470private pattern mayInRelationperson_reference_External_Allowance(
5471 problem:LogicProblem, interpretation:PartialInterpretation,
5472 source: DefinedElement, target:DefinedElement)
5473{
5474 find interpretation(problem,interpretation);
5475 // The two endpoint of the link have to exist
5476 find mayExist(problem, interpretation, source);
5477 find mayExist(problem, interpretation, target);
5478 // Type consistency
5479 find mayInstanceOfExternal_Allowance_class(problem,interpretation,source);
5480 find mayInstanceOfDependent_class(problem,interpretation,target);
5481 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
5482 // the upper bound of the multiplicity should be considered.
5483 numberOfExistingReferences == count find mustInRelationperson_reference_External_Allowance(problem,interpretation,source,_);
5484 check(numberOfExistingReferences < 1);
5485 // There are "numberOfExistingReferences" currently existing instances of the reference to the target,
5486 // the upper bound of the opposite reference multiplicity should be considered.
5487 numberOfExistingOppositeReferences == count find mustInRelationallowances_reference_Dependent(problem,interpretation,target,_);
5488 check(numberOfExistingOppositeReferences < 1);
5489 // The eOpposite of the reference is containment, then a referene cannot be created if
5490 // 1. Multiple parents
5491 neg find mustContains4(problem,interpretation,source,_);
5492 // 2. Circle in the containment hierarchy
5493 neg find mustTransitiveContains(source,target);
5494} or {
5495 find mustInRelationperson_reference_External_Allowance(problem,interpretation,source,target);
5496}
5497/**
5498 * Matcher for detecting tuples t where []parents reference Household(source,target)
5499 */
5500private pattern mustInRelationparents_reference_Household(
5501 problem:LogicProblem, interpretation:PartialInterpretation,
5502 source: DefinedElement, target:DefinedElement)
5503{
5504 find interpretation(problem,interpretation);
5505 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
5506 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"parents reference Household");
5507 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
5508 BinaryElementRelationLink.param1(link,source);
5509 BinaryElementRelationLink.param2(link,target);
5510}
5511/**
5512 * Matcher for detecting tuples t where <>parents reference Household(source,target)
5513 */
5514private pattern mayInRelationparents_reference_Household(
5515 problem:LogicProblem, interpretation:PartialInterpretation,
5516 source: DefinedElement, target:DefinedElement)
5517{
5518 find interpretation(problem,interpretation);
5519 // The two endpoint of the link have to exist
5520 find mayExist(problem, interpretation, source);
5521 find mayExist(problem, interpretation, target);
5522 // Type consistency
5523 find mayInstanceOfHousehold_class(problem,interpretation,source);
5524 find mayInstanceOfLegal_Union_Record_class(problem,interpretation,target);
5525 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
5526 // the upper bound of the multiplicity should be considered.
5527 numberOfExistingReferences == count find mustInRelationparents_reference_Household(problem,interpretation,source,_);
5528 check(numberOfExistingReferences < 1);
5529 // There are "numberOfExistingReferences" currently existing instances of the reference to the target,
5530 // the upper bound of the opposite reference multiplicity should be considered.
5531 numberOfExistingOppositeReferences == count find mustInRelationhousehold_reference_Legal_Union_Record(problem,interpretation,target,_);
5532 check(numberOfExistingOppositeReferences < 1);
5533 // The reference is containment, then a new reference cannot be create if:
5534 // 1. Multiple parents
5535 neg find mustContains4(problem,interpretation,_,target);
5536 // 2. Circle in the containment hierarchy
5537 neg find mustTransitiveContains(source,target);
5538} or {
5539 find mustInRelationparents_reference_Household(problem,interpretation,source,target);
5540}
5541/**
5542 * Matcher for detecting tuples t where []children reference Household(source,target)
5543 */
5544private pattern mustInRelationchildren_reference_Household(
5545 problem:LogicProblem, interpretation:PartialInterpretation,
5546 source: DefinedElement, target:DefinedElement)
5547{
5548 find interpretation(problem,interpretation);
5549 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
5550 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"children reference Household");
5551 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
5552 BinaryElementRelationLink.param1(link,source);
5553 BinaryElementRelationLink.param2(link,target);
5554}
5555/**
5556 * Matcher for detecting tuples t where <>children reference Household(source,target)
5557 */
5558private pattern mayInRelationchildren_reference_Household(
5559 problem:LogicProblem, interpretation:PartialInterpretation,
5560 source: DefinedElement, target:DefinedElement)
5561{
5562 find interpretation(problem,interpretation);
5563 // The two endpoint of the link have to exist
5564 find mayExist(problem, interpretation, source);
5565 find mayExist(problem, interpretation, target);
5566 // Type consistency
5567 find mayInstanceOfHousehold_class(problem,interpretation,source);
5568 find mayInstanceOfDependent_class(problem,interpretation,target);
5569 // There are "numberOfExistingReferences" currently existing instances of the reference to the target,
5570 // the upper bound of the opposite reference multiplicity should be considered.
5571 numberOfExistingOppositeReferences == count find mustInRelationhousehold_reference_Dependent(problem,interpretation,target,_);
5572 check(numberOfExistingOppositeReferences < 1);
5573 // The reference is containment, then a new reference cannot be create if:
5574 // 1. Multiple parents
5575 neg find mustContains4(problem,interpretation,_,target);
5576 // 2. Circle in the containment hierarchy
5577 neg find mustTransitiveContains(source,target);
5578} or {
5579 find mustInRelationchildren_reference_Household(problem,interpretation,source,target);
5580}
5581/**
5582 * Matcher for detecting tuples t where []individual_A reference Legal_Union_Record(source,target)
5583 */
5584private pattern mustInRelationindividual_A_reference_Legal_Union_Record(
5585 problem:LogicProblem, interpretation:PartialInterpretation,
5586 source: DefinedElement, target:DefinedElement)
5587{
5588 find interpretation(problem,interpretation);
5589 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
5590 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"individual_A reference Legal_Union_Record");
5591 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
5592 BinaryElementRelationLink.param1(link,source);
5593 BinaryElementRelationLink.param2(link,target);
5594}
5595/**
5596 * Matcher for detecting tuples t where <>individual_A reference Legal_Union_Record(source,target)
5597 */
5598private pattern mayInRelationindividual_A_reference_Legal_Union_Record(
5599 problem:LogicProblem, interpretation:PartialInterpretation,
5600 source: DefinedElement, target:DefinedElement)
5601{
5602 find interpretation(problem,interpretation);
5603 // The two endpoint of the link have to exist
5604 find mayExist(problem, interpretation, source);
5605 find mayExist(problem, interpretation, target);
5606 // Type consistency
5607 find mayInstanceOfLegal_Union_Record_class(problem,interpretation,source);
5608 find mayInstanceOfPhysical_Person_class(problem,interpretation,target);
5609 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
5610 // the upper bound of the multiplicity should be considered.
5611 numberOfExistingReferences == count find mustInRelationindividual_A_reference_Legal_Union_Record(problem,interpretation,source,_);
5612 check(numberOfExistingReferences < 1);
5613 // The reference is containment, then a new reference cannot be create if:
5614 // 1. Multiple parents
5615 neg find mustContains4(problem,interpretation,_,target);
5616 // 2. Circle in the containment hierarchy
5617 neg find mustTransitiveContains(source,target);
5618} or {
5619 find mustInRelationindividual_A_reference_Legal_Union_Record(problem,interpretation,source,target);
5620}
5621/**
5622 * Matcher for detecting tuples t where []individual_B reference Legal_Union_Record(source,target)
5623 */
5624private pattern mustInRelationindividual_B_reference_Legal_Union_Record(
5625 problem:LogicProblem, interpretation:PartialInterpretation,
5626 source: DefinedElement, target:DefinedElement)
5627{
5628 find interpretation(problem,interpretation);
5629 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
5630 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"individual_B reference Legal_Union_Record");
5631 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
5632 BinaryElementRelationLink.param1(link,source);
5633 BinaryElementRelationLink.param2(link,target);
5634}
5635/**
5636 * Matcher for detecting tuples t where <>individual_B reference Legal_Union_Record(source,target)
5637 */
5638private pattern mayInRelationindividual_B_reference_Legal_Union_Record(
5639 problem:LogicProblem, interpretation:PartialInterpretation,
5640 source: DefinedElement, target:DefinedElement)
5641{
5642 find interpretation(problem,interpretation);
5643 // The two endpoint of the link have to exist
5644 find mayExist(problem, interpretation, source);
5645 find mayExist(problem, interpretation, target);
5646 // Type consistency
5647 find mayInstanceOfLegal_Union_Record_class(problem,interpretation,source);
5648 find mayInstanceOfPhysical_Person_class(problem,interpretation,target);
5649 // The reference is containment, then a new reference cannot be create if:
5650 // 1. Multiple parents
5651 neg find mustContains4(problem,interpretation,_,target);
5652 // 2. Circle in the containment hierarchy
5653 neg find mustTransitiveContains(source,target);
5654} or {
5655 find mustInRelationindividual_B_reference_Legal_Union_Record(problem,interpretation,source,target);
5656}
5657/**
5658 * Matcher for detecting tuples t where []properties reference Legal_Union_Record(source,target)
5659 */
5660private pattern mustInRelationproperties_reference_Legal_Union_Record(
5661 problem:LogicProblem, interpretation:PartialInterpretation,
5662 source: DefinedElement, target:DefinedElement)
5663{
5664 find interpretation(problem,interpretation);
5665 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
5666 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"properties reference Legal_Union_Record");
5667 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
5668 BinaryElementRelationLink.param1(link,source);
5669 BinaryElementRelationLink.param2(link,target);
5670}
5671/**
5672 * Matcher for detecting tuples t where <>properties reference Legal_Union_Record(source,target)
5673 */
5674private pattern mayInRelationproperties_reference_Legal_Union_Record(
5675 problem:LogicProblem, interpretation:PartialInterpretation,
5676 source: DefinedElement, target:DefinedElement)
5677{
5678 find interpretation(problem,interpretation);
5679 // The two endpoint of the link have to exist
5680 find mayExist(problem, interpretation, source);
5681 find mayExist(problem, interpretation, target);
5682 // Type consistency
5683 find mayInstanceOfLegal_Union_Record_class(problem,interpretation,source);
5684 find mayInstanceOfTax_Property_class(problem,interpretation,target);
5685 // There are "numberOfExistingReferences" currently existing instances of the reference to the target,
5686 // the upper bound of the opposite reference multiplicity should be considered.
5687 numberOfExistingOppositeReferences == count find mustInRelationunion_record_reference_Tax_Property(problem,interpretation,target,_);
5688 check(numberOfExistingOppositeReferences < 1);
5689 // The reference is containment, then a new reference cannot be create if:
5690 // 1. Multiple parents
5691 neg find mustContains4(problem,interpretation,_,target);
5692 // 2. Circle in the containment hierarchy
5693 neg find mustTransitiveContains(source,target);
5694} or {
5695 find mustInRelationproperties_reference_Legal_Union_Record(problem,interpretation,source,target);
5696}
5697/**
5698 * Matcher for detecting tuples t where []household reference Legal_Union_Record(source,target)
5699 */
5700private pattern mustInRelationhousehold_reference_Legal_Union_Record(
5701 problem:LogicProblem, interpretation:PartialInterpretation,
5702 source: DefinedElement, target:DefinedElement)
5703{
5704 find interpretation(problem,interpretation);
5705 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
5706 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"household reference Legal_Union_Record");
5707 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
5708 BinaryElementRelationLink.param1(link,source);
5709 BinaryElementRelationLink.param2(link,target);
5710}
5711/**
5712 * Matcher for detecting tuples t where <>household reference Legal_Union_Record(source,target)
5713 */
5714private pattern mayInRelationhousehold_reference_Legal_Union_Record(
5715 problem:LogicProblem, interpretation:PartialInterpretation,
5716 source: DefinedElement, target:DefinedElement)
5717{
5718 find interpretation(problem,interpretation);
5719 // The two endpoint of the link have to exist
5720 find mayExist(problem, interpretation, source);
5721 find mayExist(problem, interpretation, target);
5722 // Type consistency
5723 find mayInstanceOfLegal_Union_Record_class(problem,interpretation,source);
5724 find mayInstanceOfHousehold_class(problem,interpretation,target);
5725 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
5726 // the upper bound of the multiplicity should be considered.
5727 numberOfExistingReferences == count find mustInRelationhousehold_reference_Legal_Union_Record(problem,interpretation,source,_);
5728 check(numberOfExistingReferences < 1);
5729 // There are "numberOfExistingReferences" currently existing instances of the reference to the target,
5730 // the upper bound of the opposite reference multiplicity should be considered.
5731 numberOfExistingOppositeReferences == count find mustInRelationparents_reference_Household(problem,interpretation,target,_);
5732 check(numberOfExistingOppositeReferences < 1);
5733 // The eOpposite of the reference is containment, then a referene cannot be created if
5734 // 1. Multiple parents
5735 neg find mustContains4(problem,interpretation,source,_);
5736 // 2. Circle in the containment hierarchy
5737 neg find mustTransitiveContains(source,target);
5738} or {
5739 find mustInRelationhousehold_reference_Legal_Union_Record(problem,interpretation,source,target);
5740}
5741/**
5742 * Matcher for detecting tuples t where []union_record reference Tax_Property(source,target)
5743 */
5744private pattern mustInRelationunion_record_reference_Tax_Property(
5745 problem:LogicProblem, interpretation:PartialInterpretation,
5746 source: DefinedElement, target:DefinedElement)
5747{
5748 find interpretation(problem,interpretation);
5749 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
5750 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"union_record reference Tax_Property");
5751 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
5752 BinaryElementRelationLink.param1(link,source);
5753 BinaryElementRelationLink.param2(link,target);
5754}
5755/**
5756 * Matcher for detecting tuples t where <>union_record reference Tax_Property(source,target)
5757 */
5758private pattern mayInRelationunion_record_reference_Tax_Property(
5759 problem:LogicProblem, interpretation:PartialInterpretation,
5760 source: DefinedElement, target:DefinedElement)
5761{
5762 find interpretation(problem,interpretation);
5763 // The two endpoint of the link have to exist
5764 find mayExist(problem, interpretation, source);
5765 find mayExist(problem, interpretation, target);
5766 // Type consistency
5767 find mayInstanceOfTax_Property_class(problem,interpretation,source);
5768 find mayInstanceOfLegal_Union_Record_class(problem,interpretation,target);
5769 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
5770 // the upper bound of the multiplicity should be considered.
5771 numberOfExistingReferences == count find mustInRelationunion_record_reference_Tax_Property(problem,interpretation,source,_);
5772 check(numberOfExistingReferences < 1);
5773 // The eOpposite of the reference is containment, then a referene cannot be created if
5774 // 1. Multiple parents
5775 neg find mustContains4(problem,interpretation,source,_);
5776 // 2. Circle in the containment hierarchy
5777 neg find mustTransitiveContains(source,target);
5778} or {
5779 find mustInRelationunion_record_reference_Tax_Property(problem,interpretation,source,target);
5780}
5781/**
5782 * Matcher for detecting tuples t where []taxPayer reference FromAgent(source,target)
5783 */
5784private pattern mustInRelationtaxPayer_reference_FromAgent(
5785 problem:LogicProblem, interpretation:PartialInterpretation,
5786 source: DefinedElement, target:DefinedElement)
5787{
5788 find interpretation(problem,interpretation);
5789 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
5790 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"taxPayer reference FromAgent");
5791 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
5792 BinaryElementRelationLink.param1(link,source);
5793 BinaryElementRelationLink.param2(link,target);
5794}
5795/**
5796 * Matcher for detecting tuples t where <>taxPayer reference FromAgent(source,target)
5797 */
5798private pattern mayInRelationtaxPayer_reference_FromAgent(
5799 problem:LogicProblem, interpretation:PartialInterpretation,
5800 source: DefinedElement, target:DefinedElement)
5801{
5802 find interpretation(problem,interpretation);
5803 // The two endpoint of the link have to exist
5804 find mayExist(problem, interpretation, source);
5805 find mayExist(problem, interpretation, target);
5806 // Type consistency
5807 find mayInstanceOfFromAgent_class(problem,interpretation,source);
5808 find mayInstanceOfTax_Payer_class(problem,interpretation,target);
5809 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
5810 // the upper bound of the multiplicity should be considered.
5811 numberOfExistingReferences == count find mustInRelationtaxPayer_reference_FromAgent(problem,interpretation,source,_);
5812 check(numberOfExistingReferences < 1);
5813 // There are "numberOfExistingReferences" currently existing instances of the reference to the target,
5814 // the upper bound of the opposite reference multiplicity should be considered.
5815 numberOfExistingOppositeReferences == count find mustInRelationfrom_agent_reference_Tax_Payer(problem,interpretation,target,_);
5816 check(numberOfExistingOppositeReferences < 1);
5817 // The eOpposite of the reference is containment, then a referene cannot be created if
5818 // 1. Multiple parents
5819 neg find mustContains4(problem,interpretation,source,_);
5820 // 2. Circle in the containment hierarchy
5821 neg find mustTransitiveContains(source,target);
5822} or {
5823 find mustInRelationtaxPayer_reference_FromAgent(problem,interpretation,source,target);
5824}
5825/**
5826 * Matcher for detecting tuples t where []expense reference FromAgent(source,target)
5827 */
5828private pattern mustInRelationexpense_reference_FromAgent(
5829 problem:LogicProblem, interpretation:PartialInterpretation,
5830 source: DefinedElement, target:DefinedElement)
5831{
5832 find interpretation(problem,interpretation);
5833 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
5834 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"expense reference FromAgent");
5835 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
5836 BinaryElementRelationLink.param1(link,source);
5837 BinaryElementRelationLink.param2(link,target);
5838}
5839/**
5840 * Matcher for detecting tuples t where <>expense reference FromAgent(source,target)
5841 */
5842private pattern mayInRelationexpense_reference_FromAgent(
5843 problem:LogicProblem, interpretation:PartialInterpretation,
5844 source: DefinedElement, target:DefinedElement)
5845{
5846 find interpretation(problem,interpretation);
5847 // The two endpoint of the link have to exist
5848 find mayExist(problem, interpretation, source);
5849 find mayExist(problem, interpretation, target);
5850 // Type consistency
5851 find mayInstanceOfFromAgent_class(problem,interpretation,source);
5852 find mayInstanceOfExpense_class(problem,interpretation,target);
5853 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
5854 // the upper bound of the multiplicity should be considered.
5855 numberOfExistingReferences == count find mustInRelationexpense_reference_FromAgent(problem,interpretation,source,_);
5856 check(numberOfExistingReferences < 1);
5857 // There are "numberOfExistingReferences" currently existing instances of the reference to the target,
5858 // the upper bound of the opposite reference multiplicity should be considered.
5859 numberOfExistingOppositeReferences == count find mustInRelationfrom_agent_reference_Expense(problem,interpretation,target,_);
5860 check(numberOfExistingOppositeReferences < 1);
5861} or {
5862 find mustInRelationexpense_reference_FromAgent(problem,interpretation,source,target);
5863}
5864/**
5865 * Matcher for detecting tuples t where []dependent reference FromAgent(source,target)
5866 */
5867private pattern mustInRelationdependent_reference_FromAgent(
5868 problem:LogicProblem, interpretation:PartialInterpretation,
5869 source: DefinedElement, target:DefinedElement)
5870{
5871 find interpretation(problem,interpretation);
5872 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
5873 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"dependent reference FromAgent");
5874 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
5875 BinaryElementRelationLink.param1(link,source);
5876 BinaryElementRelationLink.param2(link,target);
5877}
5878/**
5879 * Matcher for detecting tuples t where <>dependent reference FromAgent(source,target)
5880 */
5881private pattern mayInRelationdependent_reference_FromAgent(
5882 problem:LogicProblem, interpretation:PartialInterpretation,
5883 source: DefinedElement, target:DefinedElement)
5884{
5885 find interpretation(problem,interpretation);
5886 // The two endpoint of the link have to exist
5887 find mayExist(problem, interpretation, source);
5888 find mayExist(problem, interpretation, target);
5889 // Type consistency
5890 find mayInstanceOfFromAgent_class(problem,interpretation,source);
5891 find mayInstanceOfDependent_class(problem,interpretation,target);
5892 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
5893 // the upper bound of the multiplicity should be considered.
5894 numberOfExistingReferences == count find mustInRelationdependent_reference_FromAgent(problem,interpretation,source,_);
5895 check(numberOfExistingReferences < 1);
5896 // There are "numberOfExistingReferences" currently existing instances of the reference to the target,
5897 // the upper bound of the opposite reference multiplicity should be considered.
5898 numberOfExistingOppositeReferences == count find mustInRelationfrom_agent_reference_Dependent(problem,interpretation,target,_);
5899 check(numberOfExistingOppositeReferences < 1);
5900} or {
5901 find mustInRelationdependent_reference_FromAgent(problem,interpretation,source,target);
5902}
5903/**
5904 * Matcher for detecting tuples t where []income_type reference Income(source,target)
5905 */
5906private pattern mustInRelationincome_type_reference_Income(
5907 problem:LogicProblem, interpretation:PartialInterpretation,
5908 source: DefinedElement, target:DefinedElement)
5909{
5910 find interpretation(problem,interpretation);
5911 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
5912 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"income_type reference Income");
5913 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
5914 BinaryElementRelationLink.param1(link,source);
5915 BinaryElementRelationLink.param2(link,target);
5916}
5917/**
5918 * Matcher for detecting tuples t where <>income_type reference Income(source,target)
5919 */
5920private pattern mayInRelationincome_type_reference_Income(
5921 problem:LogicProblem, interpretation:PartialInterpretation,
5922 source: DefinedElement, target:DefinedElement)
5923{
5924 find interpretation(problem,interpretation);
5925 // The two endpoint of the link have to exist
5926 find mayExist(problem, interpretation, source);
5927 find mayExist(problem, interpretation, target);
5928 // Type consistency
5929 find mayInstanceOfIncome_class(problem,interpretation,source);
5930 find mayInstanceOfIncome_Type_class(problem,interpretation,target);
5931 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
5932 // the upper bound of the multiplicity should be considered.
5933 numberOfExistingReferences == count find mustInRelationincome_type_reference_Income(problem,interpretation,source,_);
5934 check(numberOfExistingReferences < 1);
5935 // There are "numberOfExistingReferences" currently existing instances of the reference to the target,
5936 // the upper bound of the opposite reference multiplicity should be considered.
5937 numberOfExistingOppositeReferences == count find mustInRelationincome_reference_Income_Type(problem,interpretation,target,_);
5938 check(numberOfExistingOppositeReferences < 1);
5939 // The reference is containment, then a new reference cannot be create if:
5940 // 1. Multiple parents
5941 neg find mustContains4(problem,interpretation,_,target);
5942 // 2. Circle in the containment hierarchy
5943 neg find mustTransitiveContains(source,target);
5944} or {
5945 find mustInRelationincome_type_reference_Income(problem,interpretation,source,target);
5946}
5947/**
5948 * Matcher for detecting tuples t where []tax_card reference Income(source,target)
5949 */
5950private pattern mustInRelationtax_card_reference_Income(
5951 problem:LogicProblem, interpretation:PartialInterpretation,
5952 source: DefinedElement, target:DefinedElement)
5953{
5954 find interpretation(problem,interpretation);
5955 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
5956 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"tax_card reference Income");
5957 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
5958 BinaryElementRelationLink.param1(link,source);
5959 BinaryElementRelationLink.param2(link,target);
5960}
5961/**
5962 * Matcher for detecting tuples t where <>tax_card reference Income(source,target)
5963 */
5964private pattern mayInRelationtax_card_reference_Income(
5965 problem:LogicProblem, interpretation:PartialInterpretation,
5966 source: DefinedElement, target:DefinedElement)
5967{
5968 find interpretation(problem,interpretation);
5969 // The two endpoint of the link have to exist
5970 find mayExist(problem, interpretation, source);
5971 find mayExist(problem, interpretation, target);
5972 // Type consistency
5973 find mayInstanceOfIncome_class(problem,interpretation,source);
5974 find mayInstanceOfTax_Card_class(problem,interpretation,target);
5975 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
5976 // the upper bound of the multiplicity should be considered.
5977 numberOfExistingReferences == count find mustInRelationtax_card_reference_Income(problem,interpretation,source,_);
5978 check(numberOfExistingReferences < 1);
5979 // There are "numberOfExistingReferences" currently existing instances of the reference to the target,
5980 // the upper bound of the opposite reference multiplicity should be considered.
5981 numberOfExistingOppositeReferences == count find mustInRelationincome_reference_Tax_Card(problem,interpretation,target,_);
5982 check(numberOfExistingOppositeReferences < 1);
5983 // The reference is containment, then a new reference cannot be create if:
5984 // 1. Multiple parents
5985 neg find mustContains4(problem,interpretation,_,target);
5986 // 2. Circle in the containment hierarchy
5987 neg find mustTransitiveContains(source,target);
5988} or {
5989 find mustInRelationtax_card_reference_Income(problem,interpretation,source,target);
5990}
5991/**
5992 * Matcher for detecting tuples t where []taxPayer reference Income(source,target)
5993 */
5994private pattern mustInRelationtaxPayer_reference_Income(
5995 problem:LogicProblem, interpretation:PartialInterpretation,
5996 source: DefinedElement, target:DefinedElement)
5997{
5998 find interpretation(problem,interpretation);
5999 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
6000 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"taxPayer reference Income");
6001 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
6002 BinaryElementRelationLink.param1(link,source);
6003 BinaryElementRelationLink.param2(link,target);
6004}
6005/**
6006 * Matcher for detecting tuples t where <>taxPayer reference Income(source,target)
6007 */
6008private pattern mayInRelationtaxPayer_reference_Income(
6009 problem:LogicProblem, interpretation:PartialInterpretation,
6010 source: DefinedElement, target:DefinedElement)
6011{
6012 find interpretation(problem,interpretation);
6013 // The two endpoint of the link have to exist
6014 find mayExist(problem, interpretation, source);
6015 find mayExist(problem, interpretation, target);
6016 // Type consistency
6017 find mayInstanceOfIncome_class(problem,interpretation,source);
6018 find mayInstanceOfTax_Payer_class(problem,interpretation,target);
6019 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
6020 // the upper bound of the multiplicity should be considered.
6021 numberOfExistingReferences == count find mustInRelationtaxPayer_reference_Income(problem,interpretation,source,_);
6022 check(numberOfExistingReferences < 1);
6023 // The eOpposite of the reference is containment, then a referene cannot be created if
6024 // 1. Multiple parents
6025 neg find mustContains4(problem,interpretation,source,_);
6026 // 2. Circle in the containment hierarchy
6027 neg find mustTransitiveContains(source,target);
6028} or {
6029 find mustInRelationtaxPayer_reference_Income(problem,interpretation,source,target);
6030}
6031/**
6032 * Matcher for detecting tuples t where []details reference Income(source,target)
6033 */
6034private pattern mustInRelationdetails_reference_Income(
6035 problem:LogicProblem, interpretation:PartialInterpretation,
6036 source: DefinedElement, target:DefinedElement)
6037{
6038 find interpretation(problem,interpretation);
6039 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
6040 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"details reference Income");
6041 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
6042 BinaryElementRelationLink.param1(link,source);
6043 BinaryElementRelationLink.param2(link,target);
6044}
6045/**
6046 * Matcher for detecting tuples t where <>details reference Income(source,target)
6047 */
6048private pattern mayInRelationdetails_reference_Income(
6049 problem:LogicProblem, interpretation:PartialInterpretation,
6050 source: DefinedElement, target:DefinedElement)
6051{
6052 find interpretation(problem,interpretation);
6053 // The two endpoint of the link have to exist
6054 find mayExist(problem, interpretation, source);
6055 find mayExist(problem, interpretation, target);
6056 // Type consistency
6057 find mayInstanceOfIncome_class(problem,interpretation,source);
6058 find mayInstanceOfIncome_Detail_class(problem,interpretation,target);
6059 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
6060 // the upper bound of the multiplicity should be considered.
6061 numberOfExistingReferences == count find mustInRelationdetails_reference_Income(problem,interpretation,source,_);
6062 check(numberOfExistingReferences < 12);
6063 // There are "numberOfExistingReferences" currently existing instances of the reference to the target,
6064 // the upper bound of the opposite reference multiplicity should be considered.
6065 numberOfExistingOppositeReferences == count find mustInRelationincome_reference_Income_Detail(problem,interpretation,target,_);
6066 check(numberOfExistingOppositeReferences < 1);
6067 // The reference is containment, then a new reference cannot be create if:
6068 // 1. Multiple parents
6069 neg find mustContains4(problem,interpretation,_,target);
6070 // 2. Circle in the containment hierarchy
6071 neg find mustTransitiveContains(source,target);
6072} or {
6073 find mustInRelationdetails_reference_Income(problem,interpretation,source,target);
6074}
6075/**
6076 * Matcher for detecting tuples t where []expenses reference Income(source,target)
6077 */
6078private pattern mustInRelationexpenses_reference_Income(
6079 problem:LogicProblem, interpretation:PartialInterpretation,
6080 source: DefinedElement, target:DefinedElement)
6081{
6082 find interpretation(problem,interpretation);
6083 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
6084 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"expenses reference Income");
6085 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
6086 BinaryElementRelationLink.param1(link,source);
6087 BinaryElementRelationLink.param2(link,target);
6088}
6089/**
6090 * Matcher for detecting tuples t where <>expenses reference Income(source,target)
6091 */
6092private pattern mayInRelationexpenses_reference_Income(
6093 problem:LogicProblem, interpretation:PartialInterpretation,
6094 source: DefinedElement, target:DefinedElement)
6095{
6096 find interpretation(problem,interpretation);
6097 // The two endpoint of the link have to exist
6098 find mayExist(problem, interpretation, source);
6099 find mayExist(problem, interpretation, target);
6100 // Type consistency
6101 find mayInstanceOfIncome_class(problem,interpretation,source);
6102 find mayInstanceOfExpense_class(problem,interpretation,target);
6103 // There are "numberOfExistingReferences" currently existing instances of the reference to the target,
6104 // the upper bound of the opposite reference multiplicity should be considered.
6105 numberOfExistingOppositeReferences == count find mustInRelationincome_reference_Expense(problem,interpretation,target,_);
6106 check(numberOfExistingOppositeReferences < 1);
6107 // The reference is containment, then a new reference cannot be create if:
6108 // 1. Multiple parents
6109 neg find mustContains4(problem,interpretation,_,target);
6110 // 2. Circle in the containment hierarchy
6111 neg find mustTransitiveContains(source,target);
6112} or {
6113 find mustInRelationexpenses_reference_Income(problem,interpretation,source,target);
6114}
6115/**
6116 * Matcher for detecting tuples t where []income reference Income_Type(source,target)
6117 */
6118private pattern mustInRelationincome_reference_Income_Type(
6119 problem:LogicProblem, interpretation:PartialInterpretation,
6120 source: DefinedElement, target:DefinedElement)
6121{
6122 find interpretation(problem,interpretation);
6123 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
6124 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"income reference Income_Type");
6125 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
6126 BinaryElementRelationLink.param1(link,source);
6127 BinaryElementRelationLink.param2(link,target);
6128}
6129/**
6130 * Matcher for detecting tuples t where <>income reference Income_Type(source,target)
6131 */
6132private pattern mayInRelationincome_reference_Income_Type(
6133 problem:LogicProblem, interpretation:PartialInterpretation,
6134 source: DefinedElement, target:DefinedElement)
6135{
6136 find interpretation(problem,interpretation);
6137 // The two endpoint of the link have to exist
6138 find mayExist(problem, interpretation, source);
6139 find mayExist(problem, interpretation, target);
6140 // Type consistency
6141 find mayInstanceOfIncome_Type_class(problem,interpretation,source);
6142 find mayInstanceOfIncome_class(problem,interpretation,target);
6143 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
6144 // the upper bound of the multiplicity should be considered.
6145 numberOfExistingReferences == count find mustInRelationincome_reference_Income_Type(problem,interpretation,source,_);
6146 check(numberOfExistingReferences < 1);
6147 // There are "numberOfExistingReferences" currently existing instances of the reference to the target,
6148 // the upper bound of the opposite reference multiplicity should be considered.
6149 numberOfExistingOppositeReferences == count find mustInRelationincome_type_reference_Income(problem,interpretation,target,_);
6150 check(numberOfExistingOppositeReferences < 1);
6151 // The eOpposite of the reference is containment, then a referene cannot be created if
6152 // 1. Multiple parents
6153 neg find mustContains4(problem,interpretation,source,_);
6154 // 2. Circle in the containment hierarchy
6155 neg find mustTransitiveContains(source,target);
6156} or {
6157 find mustInRelationincome_reference_Income_Type(problem,interpretation,source,target);
6158}
6159/**
6160 * Matcher for detecting tuples t where []tax_payers_address reference Tax_Card(source,target)
6161 */
6162private pattern mustInRelationtax_payers_address_reference_Tax_Card(
6163 problem:LogicProblem, interpretation:PartialInterpretation,
6164 source: DefinedElement, target:DefinedElement)
6165{
6166 find interpretation(problem,interpretation);
6167 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
6168 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"tax_payers_address reference Tax_Card");
6169 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
6170 BinaryElementRelationLink.param1(link,source);
6171 BinaryElementRelationLink.param2(link,target);
6172}
6173/**
6174 * Matcher for detecting tuples t where <>tax_payers_address reference Tax_Card(source,target)
6175 */
6176private pattern mayInRelationtax_payers_address_reference_Tax_Card(
6177 problem:LogicProblem, interpretation:PartialInterpretation,
6178 source: DefinedElement, target:DefinedElement)
6179{
6180 find interpretation(problem,interpretation);
6181 // The two endpoint of the link have to exist
6182 find mayExist(problem, interpretation, source);
6183 find mayExist(problem, interpretation, target);
6184 // Type consistency
6185 find mayInstanceOfTax_Card_class(problem,interpretation,source);
6186 find mayInstanceOfAddress_class(problem,interpretation,target);
6187 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
6188 // the upper bound of the multiplicity should be considered.
6189 numberOfExistingReferences == count find mustInRelationtax_payers_address_reference_Tax_Card(problem,interpretation,source,_);
6190 check(numberOfExistingReferences < 1);
6191} or {
6192 find mustInRelationtax_payers_address_reference_Tax_Card(problem,interpretation,source,target);
6193}
6194/**
6195 * Matcher for detecting tuples t where []income_Tax_Credit reference Tax_Card(source,target)
6196 */
6197private pattern mustInRelationincome_Tax_Credit_reference_Tax_Card(
6198 problem:LogicProblem, interpretation:PartialInterpretation,
6199 source: DefinedElement, target:DefinedElement)
6200{
6201 find interpretation(problem,interpretation);
6202 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
6203 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"income_Tax_Credit reference Tax_Card");
6204 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
6205 BinaryElementRelationLink.param1(link,source);
6206 BinaryElementRelationLink.param2(link,target);
6207}
6208/**
6209 * Matcher for detecting tuples t where <>income_Tax_Credit reference Tax_Card(source,target)
6210 */
6211private pattern mayInRelationincome_Tax_Credit_reference_Tax_Card(
6212 problem:LogicProblem, interpretation:PartialInterpretation,
6213 source: DefinedElement, target:DefinedElement)
6214{
6215 find interpretation(problem,interpretation);
6216 // The two endpoint of the link have to exist
6217 find mayExist(problem, interpretation, source);
6218 find mayExist(problem, interpretation, target);
6219 // Type consistency
6220 find mayInstanceOfTax_Card_class(problem,interpretation,source);
6221 find mayInstanceOfIncome_Tax_Credit_class(problem,interpretation,target);
6222 // There are "numberOfExistingReferences" currently existing instances of the reference to the target,
6223 // the upper bound of the opposite reference multiplicity should be considered.
6224 numberOfExistingOppositeReferences == count find mustInRelationtaxation_Frame_reference_Income_Tax_Credit(problem,interpretation,target,_);
6225 check(numberOfExistingOppositeReferences < 1);
6226} or {
6227 find mustInRelationincome_Tax_Credit_reference_Tax_Card(problem,interpretation,source,target);
6228}
6229/**
6230 * Matcher for detecting tuples t where []previous reference Tax_Card(source,target)
6231 */
6232private pattern mustInRelationprevious_reference_Tax_Card(
6233 problem:LogicProblem, interpretation:PartialInterpretation,
6234 source: DefinedElement, target:DefinedElement)
6235{
6236 find interpretation(problem,interpretation);
6237 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
6238 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"previous reference Tax_Card");
6239 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
6240 BinaryElementRelationLink.param1(link,source);
6241 BinaryElementRelationLink.param2(link,target);
6242}
6243/**
6244 * Matcher for detecting tuples t where <>previous reference Tax_Card(source,target)
6245 */
6246private pattern mayInRelationprevious_reference_Tax_Card(
6247 problem:LogicProblem, interpretation:PartialInterpretation,
6248 source: DefinedElement, target:DefinedElement)
6249{
6250 find interpretation(problem,interpretation);
6251 // The two endpoint of the link have to exist
6252 find mayExist(problem, interpretation, source);
6253 find mayExist(problem, interpretation, target);
6254 // Type consistency
6255 find mayInstanceOfTax_Card_class(problem,interpretation,source);
6256 find mayInstanceOfTax_Card_class(problem,interpretation,target);
6257 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
6258 // the upper bound of the multiplicity should be considered.
6259 numberOfExistingReferences == count find mustInRelationprevious_reference_Tax_Card(problem,interpretation,source,_);
6260 check(numberOfExistingReferences < 1);
6261 // There are "numberOfExistingReferences" currently existing instances of the reference to the target,
6262 // the upper bound of the opposite reference multiplicity should be considered.
6263 numberOfExistingOppositeReferences == count find mustInRelationcurrent_tax_card_reference_Tax_Card(problem,interpretation,target,_);
6264 check(numberOfExistingOppositeReferences < 1);
6265} or {
6266 find mustInRelationprevious_reference_Tax_Card(problem,interpretation,source,target);
6267}
6268/**
6269 * Matcher for detecting tuples t where []current_tax_card reference Tax_Card(source,target)
6270 */
6271private pattern mustInRelationcurrent_tax_card_reference_Tax_Card(
6272 problem:LogicProblem, interpretation:PartialInterpretation,
6273 source: DefinedElement, target:DefinedElement)
6274{
6275 find interpretation(problem,interpretation);
6276 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
6277 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"current_tax_card reference Tax_Card");
6278 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
6279 BinaryElementRelationLink.param1(link,source);
6280 BinaryElementRelationLink.param2(link,target);
6281}
6282/**
6283 * Matcher for detecting tuples t where <>current_tax_card reference Tax_Card(source,target)
6284 */
6285private pattern mayInRelationcurrent_tax_card_reference_Tax_Card(
6286 problem:LogicProblem, interpretation:PartialInterpretation,
6287 source: DefinedElement, target:DefinedElement)
6288{
6289 find interpretation(problem,interpretation);
6290 // The two endpoint of the link have to exist
6291 find mayExist(problem, interpretation, source);
6292 find mayExist(problem, interpretation, target);
6293 // Type consistency
6294 find mayInstanceOfTax_Card_class(problem,interpretation,source);
6295 find mayInstanceOfTax_Card_class(problem,interpretation,target);
6296 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
6297 // the upper bound of the multiplicity should be considered.
6298 numberOfExistingReferences == count find mustInRelationcurrent_tax_card_reference_Tax_Card(problem,interpretation,source,_);
6299 check(numberOfExistingReferences < 1);
6300 // There are "numberOfExistingReferences" currently existing instances of the reference to the target,
6301 // the upper bound of the opposite reference multiplicity should be considered.
6302 numberOfExistingOppositeReferences == count find mustInRelationprevious_reference_Tax_Card(problem,interpretation,target,_);
6303 check(numberOfExistingOppositeReferences < 1);
6304} or {
6305 find mustInRelationcurrent_tax_card_reference_Tax_Card(problem,interpretation,source,target);
6306}
6307/**
6308 * Matcher for detecting tuples t where []income reference Tax_Card(source,target)
6309 */
6310private pattern mustInRelationincome_reference_Tax_Card(
6311 problem:LogicProblem, interpretation:PartialInterpretation,
6312 source: DefinedElement, target:DefinedElement)
6313{
6314 find interpretation(problem,interpretation);
6315 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
6316 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"income reference Tax_Card");
6317 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
6318 BinaryElementRelationLink.param1(link,source);
6319 BinaryElementRelationLink.param2(link,target);
6320}
6321/**
6322 * Matcher for detecting tuples t where <>income reference Tax_Card(source,target)
6323 */
6324private pattern mayInRelationincome_reference_Tax_Card(
6325 problem:LogicProblem, interpretation:PartialInterpretation,
6326 source: DefinedElement, target:DefinedElement)
6327{
6328 find interpretation(problem,interpretation);
6329 // The two endpoint of the link have to exist
6330 find mayExist(problem, interpretation, source);
6331 find mayExist(problem, interpretation, target);
6332 // Type consistency
6333 find mayInstanceOfTax_Card_class(problem,interpretation,source);
6334 find mayInstanceOfIncome_class(problem,interpretation,target);
6335 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
6336 // the upper bound of the multiplicity should be considered.
6337 numberOfExistingReferences == count find mustInRelationincome_reference_Tax_Card(problem,interpretation,source,_);
6338 check(numberOfExistingReferences < 1);
6339 // There are "numberOfExistingReferences" currently existing instances of the reference to the target,
6340 // the upper bound of the opposite reference multiplicity should be considered.
6341 numberOfExistingOppositeReferences == count find mustInRelationtax_card_reference_Income(problem,interpretation,target,_);
6342 check(numberOfExistingOppositeReferences < 1);
6343 // The eOpposite of the reference is containment, then a referene cannot be created if
6344 // 1. Multiple parents
6345 neg find mustContains4(problem,interpretation,source,_);
6346 // 2. Circle in the containment hierarchy
6347 neg find mustTransitiveContains(source,target);
6348} or {
6349 find mustInRelationincome_reference_Tax_Card(problem,interpretation,source,target);
6350}
6351/**
6352 * Matcher for detecting tuples t where []taxPayer reference Income_Tax_Credit(source,target)
6353 */
6354private pattern mustInRelationtaxPayer_reference_Income_Tax_Credit(
6355 problem:LogicProblem, interpretation:PartialInterpretation,
6356 source: DefinedElement, target:DefinedElement)
6357{
6358 find interpretation(problem,interpretation);
6359 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
6360 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"taxPayer reference Income_Tax_Credit");
6361 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
6362 BinaryElementRelationLink.param1(link,source);
6363 BinaryElementRelationLink.param2(link,target);
6364}
6365/**
6366 * Matcher for detecting tuples t where <>taxPayer reference Income_Tax_Credit(source,target)
6367 */
6368private pattern mayInRelationtaxPayer_reference_Income_Tax_Credit(
6369 problem:LogicProblem, interpretation:PartialInterpretation,
6370 source: DefinedElement, target:DefinedElement)
6371{
6372 find interpretation(problem,interpretation);
6373 // The two endpoint of the link have to exist
6374 find mayExist(problem, interpretation, source);
6375 find mayExist(problem, interpretation, target);
6376 // Type consistency
6377 find mayInstanceOfIncome_Tax_Credit_class(problem,interpretation,source);
6378 find mayInstanceOfTax_Payer_class(problem,interpretation,target);
6379 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
6380 // the upper bound of the multiplicity should be considered.
6381 numberOfExistingReferences == count find mustInRelationtaxPayer_reference_Income_Tax_Credit(problem,interpretation,source,_);
6382 check(numberOfExistingReferences < 1);
6383} or {
6384 find mustInRelationtaxPayer_reference_Income_Tax_Credit(problem,interpretation,source,target);
6385}
6386/**
6387 * Matcher for detecting tuples t where []taxation_Frame reference Income_Tax_Credit(source,target)
6388 */
6389private pattern mustInRelationtaxation_Frame_reference_Income_Tax_Credit(
6390 problem:LogicProblem, interpretation:PartialInterpretation,
6391 source: DefinedElement, target:DefinedElement)
6392{
6393 find interpretation(problem,interpretation);
6394 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
6395 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"taxation_Frame reference Income_Tax_Credit");
6396 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
6397 BinaryElementRelationLink.param1(link,source);
6398 BinaryElementRelationLink.param2(link,target);
6399}
6400/**
6401 * Matcher for detecting tuples t where <>taxation_Frame reference Income_Tax_Credit(source,target)
6402 */
6403private pattern mayInRelationtaxation_Frame_reference_Income_Tax_Credit(
6404 problem:LogicProblem, interpretation:PartialInterpretation,
6405 source: DefinedElement, target:DefinedElement)
6406{
6407 find interpretation(problem,interpretation);
6408 // The two endpoint of the link have to exist
6409 find mayExist(problem, interpretation, source);
6410 find mayExist(problem, interpretation, target);
6411 // Type consistency
6412 find mayInstanceOfIncome_Tax_Credit_class(problem,interpretation,source);
6413 find mayInstanceOfTax_Card_class(problem,interpretation,target);
6414 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
6415 // the upper bound of the multiplicity should be considered.
6416 numberOfExistingReferences == count find mustInRelationtaxation_Frame_reference_Income_Tax_Credit(problem,interpretation,source,_);
6417 check(numberOfExistingReferences < 1);
6418} or {
6419 find mustInRelationtaxation_Frame_reference_Income_Tax_Credit(problem,interpretation,source,target);
6420}
6421/**
6422 * Matcher for detecting tuples t where []income reference Income_Detail(source,target)
6423 */
6424private pattern mustInRelationincome_reference_Income_Detail(
6425 problem:LogicProblem, interpretation:PartialInterpretation,
6426 source: DefinedElement, target:DefinedElement)
6427{
6428 find interpretation(problem,interpretation);
6429 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
6430 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"income reference Income_Detail");
6431 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
6432 BinaryElementRelationLink.param1(link,source);
6433 BinaryElementRelationLink.param2(link,target);
6434}
6435/**
6436 * Matcher for detecting tuples t where <>income reference Income_Detail(source,target)
6437 */
6438private pattern mayInRelationincome_reference_Income_Detail(
6439 problem:LogicProblem, interpretation:PartialInterpretation,
6440 source: DefinedElement, target:DefinedElement)
6441{
6442 find interpretation(problem,interpretation);
6443 // The two endpoint of the link have to exist
6444 find mayExist(problem, interpretation, source);
6445 find mayExist(problem, interpretation, target);
6446 // Type consistency
6447 find mayInstanceOfIncome_Detail_class(problem,interpretation,source);
6448 find mayInstanceOfIncome_class(problem,interpretation,target);
6449 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
6450 // the upper bound of the multiplicity should be considered.
6451 numberOfExistingReferences == count find mustInRelationincome_reference_Income_Detail(problem,interpretation,source,_);
6452 check(numberOfExistingReferences < 1);
6453 // There are "numberOfExistingReferences" currently existing instances of the reference to the target,
6454 // the upper bound of the opposite reference multiplicity should be considered.
6455 numberOfExistingOppositeReferences == count find mustInRelationdetails_reference_Income(problem,interpretation,target,_);
6456 check(numberOfExistingOppositeReferences < 12);
6457 // The eOpposite of the reference is containment, then a referene cannot be created if
6458 // 1. Multiple parents
6459 neg find mustContains4(problem,interpretation,source,_);
6460 // 2. Circle in the containment hierarchy
6461 neg find mustTransitiveContains(source,target);
6462} or {
6463 find mustInRelationincome_reference_Income_Detail(problem,interpretation,source,target);
6464}
6465/**
6466 * Matcher for detecting tuples t where []taxPayer reference FromLaw(source,target)
6467 */
6468private pattern mustInRelationtaxPayer_reference_FromLaw(
6469 problem:LogicProblem, interpretation:PartialInterpretation,
6470 source: DefinedElement, target:DefinedElement)
6471{
6472 find interpretation(problem,interpretation);
6473 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
6474 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"taxPayer reference FromLaw");
6475 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
6476 BinaryElementRelationLink.param1(link,source);
6477 BinaryElementRelationLink.param2(link,target);
6478}
6479/**
6480 * Matcher for detecting tuples t where <>taxPayer reference FromLaw(source,target)
6481 */
6482private pattern mayInRelationtaxPayer_reference_FromLaw(
6483 problem:LogicProblem, interpretation:PartialInterpretation,
6484 source: DefinedElement, target:DefinedElement)
6485{
6486 find interpretation(problem,interpretation);
6487 // The two endpoint of the link have to exist
6488 find mayExist(problem, interpretation, source);
6489 find mayExist(problem, interpretation, target);
6490 // Type consistency
6491 find mayInstanceOfFromLaw_class(problem,interpretation,source);
6492 find mayInstanceOfTax_Payer_class(problem,interpretation,target);
6493 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
6494 // the upper bound of the multiplicity should be considered.
6495 numberOfExistingReferences == count find mustInRelationtaxPayer_reference_FromLaw(problem,interpretation,source,_);
6496 check(numberOfExistingReferences < 1);
6497 // There are "numberOfExistingReferences" currently existing instances of the reference to the target,
6498 // the upper bound of the opposite reference multiplicity should be considered.
6499 numberOfExistingOppositeReferences == count find mustInRelationfrom_law_reference_Tax_Payer(problem,interpretation,target,_);
6500 check(numberOfExistingOppositeReferences < 1);
6501 // The eOpposite of the reference is containment, then a referene cannot be created if
6502 // 1. Multiple parents
6503 neg find mustContains4(problem,interpretation,source,_);
6504 // 2. Circle in the containment hierarchy
6505 neg find mustTransitiveContains(source,target);
6506} or {
6507 find mustInRelationtaxPayer_reference_FromLaw(problem,interpretation,source,target);
6508}
6509/**
6510 * Matcher for detecting tuples t where []MAXIMUM_CE_RATE_FOR_CHILD_NOT_BEING_PART_OF_HOUSEHOLD attribute Constants(source,target)
6511 */
6512private pattern mustInRelationMAXIMUM_CE_RATE_FOR_CHILD_NOT_BEING_PART_OF_HOUSEHOLD_attribute_Constants(
6513 problem:LogicProblem, interpretation:PartialInterpretation,
6514 source: DefinedElement, target:DefinedElement)
6515{
6516 find interpretation(problem,interpretation);
6517 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
6518 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"MAXIMUM_CE_RATE_FOR_CHILD_NOT_BEING_PART_OF_HOUSEHOLD attribute Constants");
6519 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
6520 BinaryElementRelationLink.param1(link,source);
6521 BinaryElementRelationLink.param2(link,target);
6522}
6523/**
6524 * Matcher for detecting tuples t where <>MAXIMUM_CE_RATE_FOR_CHILD_NOT_BEING_PART_OF_HOUSEHOLD attribute Constants(source,target)
6525 */
6526private pattern mayInRelationMAXIMUM_CE_RATE_FOR_CHILD_NOT_BEING_PART_OF_HOUSEHOLD_attribute_Constants(
6527 problem:LogicProblem, interpretation:PartialInterpretation,
6528 source: DefinedElement, target:DefinedElement)
6529{
6530 find interpretation(problem,interpretation);
6531 // The two endpoint of the link have to exist
6532 find mayExist(problem, interpretation, source);
6533 find mayExist(problem, interpretation, target);
6534 // Type consistency
6535 find mayInstanceOfConstants_class(problem,interpretation,source);
6536 RealElement(target);
6537 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
6538 // the upper bound of the multiplicity should be considered.
6539 numberOfExistingReferences == count find mustInRelationMAXIMUM_CE_RATE_FOR_CHILD_NOT_BEING_PART_OF_HOUSEHOLD_attribute_Constants(problem,interpretation,source,_);
6540 check(numberOfExistingReferences < 1);
6541} or {
6542 find mustInRelationMAXIMUM_CE_RATE_FOR_CHILD_NOT_BEING_PART_OF_HOUSEHOLD_attribute_Constants(problem,interpretation,source,target);
6543}
6544/**
6545 * Matcher for detecting tuples t where []MAXIMUM_CE_RATE_FOR_HOUSE_CARE_AND_CHILD_PART_OF_THE_HOUSEHOLD_CARE attribute Constants(source,target)
6546 */
6547private pattern mustInRelationMAXIMUM_CE_RATE_FOR_HOUSE_CARE_AND_CHILD_PART_OF_THE_HOUSEHOLD_CARE_attribute_Constants(
6548 problem:LogicProblem, interpretation:PartialInterpretation,
6549 source: DefinedElement, target:DefinedElement)
6550{
6551 find interpretation(problem,interpretation);
6552 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
6553 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"MAXIMUM_CE_RATE_FOR_HOUSE_CARE_AND_CHILD_PART_OF_THE_HOUSEHOLD_CARE attribute Constants");
6554 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
6555 BinaryElementRelationLink.param1(link,source);
6556 BinaryElementRelationLink.param2(link,target);
6557}
6558/**
6559 * Matcher for detecting tuples t where <>MAXIMUM_CE_RATE_FOR_HOUSE_CARE_AND_CHILD_PART_OF_THE_HOUSEHOLD_CARE attribute Constants(source,target)
6560 */
6561private pattern mayInRelationMAXIMUM_CE_RATE_FOR_HOUSE_CARE_AND_CHILD_PART_OF_THE_HOUSEHOLD_CARE_attribute_Constants(
6562 problem:LogicProblem, interpretation:PartialInterpretation,
6563 source: DefinedElement, target:DefinedElement)
6564{
6565 find interpretation(problem,interpretation);
6566 // The two endpoint of the link have to exist
6567 find mayExist(problem, interpretation, source);
6568 find mayExist(problem, interpretation, target);
6569 // Type consistency
6570 find mayInstanceOfConstants_class(problem,interpretation,source);
6571 RealElement(target);
6572 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
6573 // the upper bound of the multiplicity should be considered.
6574 numberOfExistingReferences == count find mustInRelationMAXIMUM_CE_RATE_FOR_HOUSE_CARE_AND_CHILD_PART_OF_THE_HOUSEHOLD_CARE_attribute_Constants(problem,interpretation,source,_);
6575 check(numberOfExistingReferences < 1);
6576} or {
6577 find mustInRelationMAXIMUM_CE_RATE_FOR_HOUSE_CARE_AND_CHILD_PART_OF_THE_HOUSEHOLD_CARE_attribute_Constants(problem,interpretation,source,target);
6578}
6579/**
6580 * Matcher for detecting tuples t where []MINIMUM_SALARY attribute Constants(source,target)
6581 */
6582private pattern mustInRelationMINIMUM_SALARY_attribute_Constants(
6583 problem:LogicProblem, interpretation:PartialInterpretation,
6584 source: DefinedElement, target:DefinedElement)
6585{
6586 find interpretation(problem,interpretation);
6587 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
6588 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"MINIMUM_SALARY attribute Constants");
6589 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
6590 BinaryElementRelationLink.param1(link,source);
6591 BinaryElementRelationLink.param2(link,target);
6592}
6593/**
6594 * Matcher for detecting tuples t where <>MINIMUM_SALARY attribute Constants(source,target)
6595 */
6596private pattern mayInRelationMINIMUM_SALARY_attribute_Constants(
6597 problem:LogicProblem, interpretation:PartialInterpretation,
6598 source: DefinedElement, target:DefinedElement)
6599{
6600 find interpretation(problem,interpretation);
6601 // The two endpoint of the link have to exist
6602 find mayExist(problem, interpretation, source);
6603 find mayExist(problem, interpretation, target);
6604 // Type consistency
6605 find mayInstanceOfConstants_class(problem,interpretation,source);
6606 RealElement(target);
6607 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
6608 // the upper bound of the multiplicity should be considered.
6609 numberOfExistingReferences == count find mustInRelationMINIMUM_SALARY_attribute_Constants(problem,interpretation,source,_);
6610 check(numberOfExistingReferences < 1);
6611} or {
6612 find mustInRelationMINIMUM_SALARY_attribute_Constants(problem,interpretation,source,target);
6613}
6614/**
6615 * Matcher for detecting tuples t where []FLAT_RATE_FOR_EXTRA_PROFESSIONAL_DEDUCTION attribute Constants(source,target)
6616 */
6617private pattern mustInRelationFLAT_RATE_FOR_EXTRA_PROFESSIONAL_DEDUCTION_attribute_Constants(
6618 problem:LogicProblem, interpretation:PartialInterpretation,
6619 source: DefinedElement, target:DefinedElement)
6620{
6621 find interpretation(problem,interpretation);
6622 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
6623 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"FLAT_RATE_FOR_EXTRA_PROFESSIONAL_DEDUCTION attribute Constants");
6624 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
6625 BinaryElementRelationLink.param1(link,source);
6626 BinaryElementRelationLink.param2(link,target);
6627}
6628/**
6629 * Matcher for detecting tuples t where <>FLAT_RATE_FOR_EXTRA_PROFESSIONAL_DEDUCTION attribute Constants(source,target)
6630 */
6631private pattern mayInRelationFLAT_RATE_FOR_EXTRA_PROFESSIONAL_DEDUCTION_attribute_Constants(
6632 problem:LogicProblem, interpretation:PartialInterpretation,
6633 source: DefinedElement, target:DefinedElement)
6634{
6635 find interpretation(problem,interpretation);
6636 // The two endpoint of the link have to exist
6637 find mayExist(problem, interpretation, source);
6638 find mayExist(problem, interpretation, target);
6639 // Type consistency
6640 find mayInstanceOfConstants_class(problem,interpretation,source);
6641 RealElement(target);
6642 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
6643 // the upper bound of the multiplicity should be considered.
6644 numberOfExistingReferences == count find mustInRelationFLAT_RATE_FOR_EXTRA_PROFESSIONAL_DEDUCTION_attribute_Constants(problem,interpretation,source,_);
6645 check(numberOfExistingReferences < 1);
6646} or {
6647 find mustInRelationFLAT_RATE_FOR_EXTRA_PROFESSIONAL_DEDUCTION_attribute_Constants(problem,interpretation,source,target);
6648}
6649/**
6650 * Matcher for detecting tuples t where []MAXIMUM_DEDUCTIBLE_PERCENTAGE_FOR_DONATIONS attribute Constants(source,target)
6651 */
6652private pattern mustInRelationMAXIMUM_DEDUCTIBLE_PERCENTAGE_FOR_DONATIONS_attribute_Constants(
6653 problem:LogicProblem, interpretation:PartialInterpretation,
6654 source: DefinedElement, target:DefinedElement)
6655{
6656 find interpretation(problem,interpretation);
6657 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
6658 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"MAXIMUM_DEDUCTIBLE_PERCENTAGE_FOR_DONATIONS attribute Constants");
6659 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
6660 BinaryElementRelationLink.param1(link,source);
6661 BinaryElementRelationLink.param2(link,target);
6662}
6663/**
6664 * Matcher for detecting tuples t where <>MAXIMUM_DEDUCTIBLE_PERCENTAGE_FOR_DONATIONS attribute Constants(source,target)
6665 */
6666private pattern mayInRelationMAXIMUM_DEDUCTIBLE_PERCENTAGE_FOR_DONATIONS_attribute_Constants(
6667 problem:LogicProblem, interpretation:PartialInterpretation,
6668 source: DefinedElement, target:DefinedElement)
6669{
6670 find interpretation(problem,interpretation);
6671 // The two endpoint of the link have to exist
6672 find mayExist(problem, interpretation, source);
6673 find mayExist(problem, interpretation, target);
6674 // Type consistency
6675 find mayInstanceOfConstants_class(problem,interpretation,source);
6676 RealElement(target);
6677 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
6678 // the upper bound of the multiplicity should be considered.
6679 numberOfExistingReferences == count find mustInRelationMAXIMUM_DEDUCTIBLE_PERCENTAGE_FOR_DONATIONS_attribute_Constants(problem,interpretation,source,_);
6680 check(numberOfExistingReferences < 1);
6681} or {
6682 find mustInRelationMAXIMUM_DEDUCTIBLE_PERCENTAGE_FOR_DONATIONS_attribute_Constants(problem,interpretation,source,target);
6683}
6684/**
6685 * Matcher for detecting tuples t where []MINIMUM_DEDUCTIBLE_AMOUNT_FOR_DONATIONS attribute Constants(source,target)
6686 */
6687private pattern mustInRelationMINIMUM_DEDUCTIBLE_AMOUNT_FOR_DONATIONS_attribute_Constants(
6688 problem:LogicProblem, interpretation:PartialInterpretation,
6689 source: DefinedElement, target:DefinedElement)
6690{
6691 find interpretation(problem,interpretation);
6692 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
6693 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"MINIMUM_DEDUCTIBLE_AMOUNT_FOR_DONATIONS attribute Constants");
6694 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
6695 BinaryElementRelationLink.param1(link,source);
6696 BinaryElementRelationLink.param2(link,target);
6697}
6698/**
6699 * Matcher for detecting tuples t where <>MINIMUM_DEDUCTIBLE_AMOUNT_FOR_DONATIONS attribute Constants(source,target)
6700 */
6701private pattern mayInRelationMINIMUM_DEDUCTIBLE_AMOUNT_FOR_DONATIONS_attribute_Constants(
6702 problem:LogicProblem, interpretation:PartialInterpretation,
6703 source: DefinedElement, target:DefinedElement)
6704{
6705 find interpretation(problem,interpretation);
6706 // The two endpoint of the link have to exist
6707 find mayExist(problem, interpretation, source);
6708 find mayExist(problem, interpretation, target);
6709 // Type consistency
6710 find mayInstanceOfConstants_class(problem,interpretation,source);
6711 RealElement(target);
6712 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
6713 // the upper bound of the multiplicity should be considered.
6714 numberOfExistingReferences == count find mustInRelationMINIMUM_DEDUCTIBLE_AMOUNT_FOR_DONATIONS_attribute_Constants(problem,interpretation,source,_);
6715 check(numberOfExistingReferences < 1);
6716} or {
6717 find mustInRelationMINIMUM_DEDUCTIBLE_AMOUNT_FOR_DONATIONS_attribute_Constants(problem,interpretation,source,target);
6718}
6719/**
6720 * Matcher for detecting tuples t where []MAXIMUM_DEDUCTIBLE_AMOUNT_FOR_ADDITIONAL_PENSION_AND_INSURANC attribute Constants(source,target)
6721 */
6722private pattern mustInRelationMAXIMUM_DEDUCTIBLE_AMOUNT_FOR_ADDITIONAL_PENSION_AND_INSURANC_attribute_Constants(
6723 problem:LogicProblem, interpretation:PartialInterpretation,
6724 source: DefinedElement, target:DefinedElement)
6725{
6726 find interpretation(problem,interpretation);
6727 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
6728 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"MAXIMUM_DEDUCTIBLE_AMOUNT_FOR_ADDITIONAL_PENSION_AND_INSURANC attribute Constants");
6729 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
6730 BinaryElementRelationLink.param1(link,source);
6731 BinaryElementRelationLink.param2(link,target);
6732}
6733/**
6734 * Matcher for detecting tuples t where <>MAXIMUM_DEDUCTIBLE_AMOUNT_FOR_ADDITIONAL_PENSION_AND_INSURANC attribute Constants(source,target)
6735 */
6736private pattern mayInRelationMAXIMUM_DEDUCTIBLE_AMOUNT_FOR_ADDITIONAL_PENSION_AND_INSURANC_attribute_Constants(
6737 problem:LogicProblem, interpretation:PartialInterpretation,
6738 source: DefinedElement, target:DefinedElement)
6739{
6740 find interpretation(problem,interpretation);
6741 // The two endpoint of the link have to exist
6742 find mayExist(problem, interpretation, source);
6743 find mayExist(problem, interpretation, target);
6744 // Type consistency
6745 find mayInstanceOfConstants_class(problem,interpretation,source);
6746 RealElement(target);
6747 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
6748 // the upper bound of the multiplicity should be considered.
6749 numberOfExistingReferences == count find mustInRelationMAXIMUM_DEDUCTIBLE_AMOUNT_FOR_ADDITIONAL_PENSION_AND_INSURANC_attribute_Constants(problem,interpretation,source,_);
6750 check(numberOfExistingReferences < 1);
6751} or {
6752 find mustInRelationMAXIMUM_DEDUCTIBLE_AMOUNT_FOR_ADDITIONAL_PENSION_AND_INSURANC_attribute_Constants(problem,interpretation,source,target);
6753}
6754/**
6755 * Matcher for detecting tuples t where []MAXIMUM_DEDUCTIBLE_AMOUNT_FOR_ALIMONY_EXPENSE attribute Constants(source,target)
6756 */
6757private pattern mustInRelationMAXIMUM_DEDUCTIBLE_AMOUNT_FOR_ALIMONY_EXPENSE_attribute_Constants(
6758 problem:LogicProblem, interpretation:PartialInterpretation,
6759 source: DefinedElement, target:DefinedElement)
6760{
6761 find interpretation(problem,interpretation);
6762 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
6763 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"MAXIMUM_DEDUCTIBLE_AMOUNT_FOR_ALIMONY_EXPENSE attribute Constants");
6764 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
6765 BinaryElementRelationLink.param1(link,source);
6766 BinaryElementRelationLink.param2(link,target);
6767}
6768/**
6769 * Matcher for detecting tuples t where <>MAXIMUM_DEDUCTIBLE_AMOUNT_FOR_ALIMONY_EXPENSE attribute Constants(source,target)
6770 */
6771private pattern mayInRelationMAXIMUM_DEDUCTIBLE_AMOUNT_FOR_ALIMONY_EXPENSE_attribute_Constants(
6772 problem:LogicProblem, interpretation:PartialInterpretation,
6773 source: DefinedElement, target:DefinedElement)
6774{
6775 find interpretation(problem,interpretation);
6776 // The two endpoint of the link have to exist
6777 find mayExist(problem, interpretation, source);
6778 find mayExist(problem, interpretation, target);
6779 // Type consistency
6780 find mayInstanceOfConstants_class(problem,interpretation,source);
6781 RealElement(target);
6782 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
6783 // the upper bound of the multiplicity should be considered.
6784 numberOfExistingReferences == count find mustInRelationMAXIMUM_DEDUCTIBLE_AMOUNT_FOR_ALIMONY_EXPENSE_attribute_Constants(problem,interpretation,source,_);
6785 check(numberOfExistingReferences < 1);
6786} or {
6787 find mustInRelationMAXIMUM_DEDUCTIBLE_AMOUNT_FOR_ALIMONY_EXPENSE_attribute_Constants(problem,interpretation,source,target);
6788}
6789/**
6790 * Matcher for detecting tuples t where []MAXIMAL_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION attribute Constants(source,target)
6791 */
6792private pattern mustInRelationMAXIMAL_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION_attribute_Constants(
6793 problem:LogicProblem, interpretation:PartialInterpretation,
6794 source: DefinedElement, target:DefinedElement)
6795{
6796 find interpretation(problem,interpretation);
6797 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
6798 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"MAXIMAL_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION attribute Constants");
6799 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
6800 BinaryElementRelationLink.param1(link,source);
6801 BinaryElementRelationLink.param2(link,target);
6802}
6803/**
6804 * Matcher for detecting tuples t where <>MAXIMAL_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION attribute Constants(source,target)
6805 */
6806private pattern mayInRelationMAXIMAL_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION_attribute_Constants(
6807 problem:LogicProblem, interpretation:PartialInterpretation,
6808 source: DefinedElement, target:DefinedElement)
6809{
6810 find interpretation(problem,interpretation);
6811 // The two endpoint of the link have to exist
6812 find mayExist(problem, interpretation, source);
6813 find mayExist(problem, interpretation, target);
6814 // Type consistency
6815 find mayInstanceOfConstants_class(problem,interpretation,source);
6816 RealElement(target);
6817 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
6818 // the upper bound of the multiplicity should be considered.
6819 numberOfExistingReferences == count find mustInRelationMAXIMAL_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION_attribute_Constants(problem,interpretation,source,_);
6820 check(numberOfExistingReferences < 1);
6821} or {
6822 find mustInRelationMAXIMAL_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION_attribute_Constants(problem,interpretation,source,target);
6823}
6824/**
6825 * Matcher for detecting tuples t where []MAXIMAL_FLAT_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION attribute Constants(source,target)
6826 */
6827private pattern mustInRelationMAXIMAL_FLAT_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION_attribute_Constants(
6828 problem:LogicProblem, interpretation:PartialInterpretation,
6829 source: DefinedElement, target:DefinedElement)
6830{
6831 find interpretation(problem,interpretation);
6832 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
6833 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"MAXIMAL_FLAT_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION attribute Constants");
6834 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
6835 BinaryElementRelationLink.param1(link,source);
6836 BinaryElementRelationLink.param2(link,target);
6837}
6838/**
6839 * Matcher for detecting tuples t where <>MAXIMAL_FLAT_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION attribute Constants(source,target)
6840 */
6841private pattern mayInRelationMAXIMAL_FLAT_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION_attribute_Constants(
6842 problem:LogicProblem, interpretation:PartialInterpretation,
6843 source: DefinedElement, target:DefinedElement)
6844{
6845 find interpretation(problem,interpretation);
6846 // The two endpoint of the link have to exist
6847 find mayExist(problem, interpretation, source);
6848 find mayExist(problem, interpretation, target);
6849 // Type consistency
6850 find mayInstanceOfConstants_class(problem,interpretation,source);
6851 RealElement(target);
6852 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
6853 // the upper bound of the multiplicity should be considered.
6854 numberOfExistingReferences == count find mustInRelationMAXIMAL_FLAT_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION_attribute_Constants(problem,interpretation,source,_);
6855 check(numberOfExistingReferences < 1);
6856} or {
6857 find mustInRelationMAXIMAL_FLAT_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION_attribute_Constants(problem,interpretation,source,target);
6858}
6859/**
6860 * Matcher for detecting tuples t where []MINIMAL_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION attribute Constants(source,target)
6861 */
6862private pattern mustInRelationMINIMAL_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION_attribute_Constants(
6863 problem:LogicProblem, interpretation:PartialInterpretation,
6864 source: DefinedElement, target:DefinedElement)
6865{
6866 find interpretation(problem,interpretation);
6867 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
6868 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"MINIMAL_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION attribute Constants");
6869 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
6870 BinaryElementRelationLink.param1(link,source);
6871 BinaryElementRelationLink.param2(link,target);
6872}
6873/**
6874 * Matcher for detecting tuples t where <>MINIMAL_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION attribute Constants(source,target)
6875 */
6876private pattern mayInRelationMINIMAL_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION_attribute_Constants(
6877 problem:LogicProblem, interpretation:PartialInterpretation,
6878 source: DefinedElement, target:DefinedElement)
6879{
6880 find interpretation(problem,interpretation);
6881 // The two endpoint of the link have to exist
6882 find mayExist(problem, interpretation, source);
6883 find mayExist(problem, interpretation, target);
6884 // Type consistency
6885 find mayInstanceOfConstants_class(problem,interpretation,source);
6886 RealElement(target);
6887 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
6888 // the upper bound of the multiplicity should be considered.
6889 numberOfExistingReferences == count find mustInRelationMINIMAL_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION_attribute_Constants(problem,interpretation,source,_);
6890 check(numberOfExistingReferences < 1);
6891} or {
6892 find mustInRelationMINIMAL_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION_attribute_Constants(problem,interpretation,source,target);
6893}
6894/**
6895 * Matcher for detecting tuples t where []FLAT_RATE_CIM_DAILY attribute Constants(source,target)
6896 */
6897private pattern mustInRelationFLAT_RATE_CIM_DAILY_attribute_Constants(
6898 problem:LogicProblem, interpretation:PartialInterpretation,
6899 source: DefinedElement, target:DefinedElement)
6900{
6901 find interpretation(problem,interpretation);
6902 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
6903 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"FLAT_RATE_CIM_DAILY attribute Constants");
6904 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
6905 BinaryElementRelationLink.param1(link,source);
6906 BinaryElementRelationLink.param2(link,target);
6907}
6908/**
6909 * Matcher for detecting tuples t where <>FLAT_RATE_CIM_DAILY attribute Constants(source,target)
6910 */
6911private pattern mayInRelationFLAT_RATE_CIM_DAILY_attribute_Constants(
6912 problem:LogicProblem, interpretation:PartialInterpretation,
6913 source: DefinedElement, target:DefinedElement)
6914{
6915 find interpretation(problem,interpretation);
6916 // The two endpoint of the link have to exist
6917 find mayExist(problem, interpretation, source);
6918 find mayExist(problem, interpretation, target);
6919 // Type consistency
6920 find mayInstanceOfConstants_class(problem,interpretation,source);
6921 RealElement(target);
6922 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
6923 // the upper bound of the multiplicity should be considered.
6924 numberOfExistingReferences == count find mustInRelationFLAT_RATE_CIM_DAILY_attribute_Constants(problem,interpretation,source,_);
6925 check(numberOfExistingReferences < 1);
6926} or {
6927 find mustInRelationFLAT_RATE_CIM_DAILY_attribute_Constants(problem,interpretation,source,target);
6928}
6929/**
6930 * Matcher for detecting tuples t where []FLAT_RATE_CIM_MONTHLY attribute Constants(source,target)
6931 */
6932private pattern mustInRelationFLAT_RATE_CIM_MONTHLY_attribute_Constants(
6933 problem:LogicProblem, interpretation:PartialInterpretation,
6934 source: DefinedElement, target:DefinedElement)
6935{
6936 find interpretation(problem,interpretation);
6937 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
6938 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"FLAT_RATE_CIM_MONTHLY attribute Constants");
6939 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
6940 BinaryElementRelationLink.param1(link,source);
6941 BinaryElementRelationLink.param2(link,target);
6942}
6943/**
6944 * Matcher for detecting tuples t where <>FLAT_RATE_CIM_MONTHLY attribute Constants(source,target)
6945 */
6946private pattern mayInRelationFLAT_RATE_CIM_MONTHLY_attribute_Constants(
6947 problem:LogicProblem, interpretation:PartialInterpretation,
6948 source: DefinedElement, target:DefinedElement)
6949{
6950 find interpretation(problem,interpretation);
6951 // The two endpoint of the link have to exist
6952 find mayExist(problem, interpretation, source);
6953 find mayExist(problem, interpretation, target);
6954 // Type consistency
6955 find mayInstanceOfConstants_class(problem,interpretation,source);
6956 RealElement(target);
6957 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
6958 // the upper bound of the multiplicity should be considered.
6959 numberOfExistingReferences == count find mustInRelationFLAT_RATE_CIM_MONTHLY_attribute_Constants(problem,interpretation,source,_);
6960 check(numberOfExistingReferences < 1);
6961} or {
6962 find mustInRelationFLAT_RATE_CIM_MONTHLY_attribute_Constants(problem,interpretation,source,target);
6963}
6964/**
6965 * Matcher for detecting tuples t where []FLAT_RATE_CIM_YEARLY attribute Constants(source,target)
6966 */
6967private pattern mustInRelationFLAT_RATE_CIM_YEARLY_attribute_Constants(
6968 problem:LogicProblem, interpretation:PartialInterpretation,
6969 source: DefinedElement, target:DefinedElement)
6970{
6971 find interpretation(problem,interpretation);
6972 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
6973 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"FLAT_RATE_CIM_YEARLY attribute Constants");
6974 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
6975 BinaryElementRelationLink.param1(link,source);
6976 BinaryElementRelationLink.param2(link,target);
6977}
6978/**
6979 * Matcher for detecting tuples t where <>FLAT_RATE_CIM_YEARLY attribute Constants(source,target)
6980 */
6981private pattern mayInRelationFLAT_RATE_CIM_YEARLY_attribute_Constants(
6982 problem:LogicProblem, interpretation:PartialInterpretation,
6983 source: DefinedElement, target:DefinedElement)
6984{
6985 find interpretation(problem,interpretation);
6986 // The two endpoint of the link have to exist
6987 find mayExist(problem, interpretation, source);
6988 find mayExist(problem, interpretation, target);
6989 // Type consistency
6990 find mayInstanceOfConstants_class(problem,interpretation,source);
6991 RealElement(target);
6992 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
6993 // the upper bound of the multiplicity should be considered.
6994 numberOfExistingReferences == count find mustInRelationFLAT_RATE_CIM_YEARLY_attribute_Constants(problem,interpretation,source,_);
6995 check(numberOfExistingReferences < 1);
6996} or {
6997 find mustInRelationFLAT_RATE_CIM_YEARLY_attribute_Constants(problem,interpretation,source,target);
6998}
6999/**
7000 * Matcher for detecting tuples t where []FLAT_RATE_CIP_DAILY attribute Constants(source,target)
7001 */
7002private pattern mustInRelationFLAT_RATE_CIP_DAILY_attribute_Constants(
7003 problem:LogicProblem, interpretation:PartialInterpretation,
7004 source: DefinedElement, target:DefinedElement)
7005{
7006 find interpretation(problem,interpretation);
7007 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
7008 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"FLAT_RATE_CIP_DAILY attribute Constants");
7009 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
7010 BinaryElementRelationLink.param1(link,source);
7011 BinaryElementRelationLink.param2(link,target);
7012}
7013/**
7014 * Matcher for detecting tuples t where <>FLAT_RATE_CIP_DAILY attribute Constants(source,target)
7015 */
7016private pattern mayInRelationFLAT_RATE_CIP_DAILY_attribute_Constants(
7017 problem:LogicProblem, interpretation:PartialInterpretation,
7018 source: DefinedElement, target:DefinedElement)
7019{
7020 find interpretation(problem,interpretation);
7021 // The two endpoint of the link have to exist
7022 find mayExist(problem, interpretation, source);
7023 find mayExist(problem, interpretation, target);
7024 // Type consistency
7025 find mayInstanceOfConstants_class(problem,interpretation,source);
7026 RealElement(target);
7027 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
7028 // the upper bound of the multiplicity should be considered.
7029 numberOfExistingReferences == count find mustInRelationFLAT_RATE_CIP_DAILY_attribute_Constants(problem,interpretation,source,_);
7030 check(numberOfExistingReferences < 1);
7031} or {
7032 find mustInRelationFLAT_RATE_CIP_DAILY_attribute_Constants(problem,interpretation,source,target);
7033}
7034/**
7035 * Matcher for detecting tuples t where []FLAT_RATE_CIP_MONTHLY attribute Constants(source,target)
7036 */
7037private pattern mustInRelationFLAT_RATE_CIP_MONTHLY_attribute_Constants(
7038 problem:LogicProblem, interpretation:PartialInterpretation,
7039 source: DefinedElement, target:DefinedElement)
7040{
7041 find interpretation(problem,interpretation);
7042 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
7043 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"FLAT_RATE_CIP_MONTHLY attribute Constants");
7044 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
7045 BinaryElementRelationLink.param1(link,source);
7046 BinaryElementRelationLink.param2(link,target);
7047}
7048/**
7049 * Matcher for detecting tuples t where <>FLAT_RATE_CIP_MONTHLY attribute Constants(source,target)
7050 */
7051private pattern mayInRelationFLAT_RATE_CIP_MONTHLY_attribute_Constants(
7052 problem:LogicProblem, interpretation:PartialInterpretation,
7053 source: DefinedElement, target:DefinedElement)
7054{
7055 find interpretation(problem,interpretation);
7056 // The two endpoint of the link have to exist
7057 find mayExist(problem, interpretation, source);
7058 find mayExist(problem, interpretation, target);
7059 // Type consistency
7060 find mayInstanceOfConstants_class(problem,interpretation,source);
7061 RealElement(target);
7062 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
7063 // the upper bound of the multiplicity should be considered.
7064 numberOfExistingReferences == count find mustInRelationFLAT_RATE_CIP_MONTHLY_attribute_Constants(problem,interpretation,source,_);
7065 check(numberOfExistingReferences < 1);
7066} or {
7067 find mustInRelationFLAT_RATE_CIP_MONTHLY_attribute_Constants(problem,interpretation,source,target);
7068}
7069/**
7070 * Matcher for detecting tuples t where []FLAT_RATE_CIP_YEARLY attribute Constants(source,target)
7071 */
7072private pattern mustInRelationFLAT_RATE_CIP_YEARLY_attribute_Constants(
7073 problem:LogicProblem, interpretation:PartialInterpretation,
7074 source: DefinedElement, target:DefinedElement)
7075{
7076 find interpretation(problem,interpretation);
7077 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
7078 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"FLAT_RATE_CIP_YEARLY attribute Constants");
7079 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
7080 BinaryElementRelationLink.param1(link,source);
7081 BinaryElementRelationLink.param2(link,target);
7082}
7083/**
7084 * Matcher for detecting tuples t where <>FLAT_RATE_CIP_YEARLY attribute Constants(source,target)
7085 */
7086private pattern mayInRelationFLAT_RATE_CIP_YEARLY_attribute_Constants(
7087 problem:LogicProblem, interpretation:PartialInterpretation,
7088 source: DefinedElement, target:DefinedElement)
7089{
7090 find interpretation(problem,interpretation);
7091 // The two endpoint of the link have to exist
7092 find mayExist(problem, interpretation, source);
7093 find mayExist(problem, interpretation, target);
7094 // Type consistency
7095 find mayInstanceOfConstants_class(problem,interpretation,source);
7096 RealElement(target);
7097 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
7098 // the upper bound of the multiplicity should be considered.
7099 numberOfExistingReferences == count find mustInRelationFLAT_RATE_CIP_YEARLY_attribute_Constants(problem,interpretation,source,_);
7100 check(numberOfExistingReferences < 1);
7101} or {
7102 find mustInRelationFLAT_RATE_CIP_YEARLY_attribute_Constants(problem,interpretation,source,target);
7103}
7104/**
7105 * Matcher for detecting tuples t where []FLAT_RATE_CIS_DAILY attribute Constants(source,target)
7106 */
7107private pattern mustInRelationFLAT_RATE_CIS_DAILY_attribute_Constants(
7108 problem:LogicProblem, interpretation:PartialInterpretation,
7109 source: DefinedElement, target:DefinedElement)
7110{
7111 find interpretation(problem,interpretation);
7112 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
7113 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"FLAT_RATE_CIS_DAILY attribute Constants");
7114 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
7115 BinaryElementRelationLink.param1(link,source);
7116 BinaryElementRelationLink.param2(link,target);
7117}
7118/**
7119 * Matcher for detecting tuples t where <>FLAT_RATE_CIS_DAILY attribute Constants(source,target)
7120 */
7121private pattern mayInRelationFLAT_RATE_CIS_DAILY_attribute_Constants(
7122 problem:LogicProblem, interpretation:PartialInterpretation,
7123 source: DefinedElement, target:DefinedElement)
7124{
7125 find interpretation(problem,interpretation);
7126 // The two endpoint of the link have to exist
7127 find mayExist(problem, interpretation, source);
7128 find mayExist(problem, interpretation, target);
7129 // Type consistency
7130 find mayInstanceOfConstants_class(problem,interpretation,source);
7131 RealElement(target);
7132 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
7133 // the upper bound of the multiplicity should be considered.
7134 numberOfExistingReferences == count find mustInRelationFLAT_RATE_CIS_DAILY_attribute_Constants(problem,interpretation,source,_);
7135 check(numberOfExistingReferences < 1);
7136} or {
7137 find mustInRelationFLAT_RATE_CIS_DAILY_attribute_Constants(problem,interpretation,source,target);
7138}
7139/**
7140 * Matcher for detecting tuples t where []FLAT_RATE_CIS_MONTHLY attribute Constants(source,target)
7141 */
7142private pattern mustInRelationFLAT_RATE_CIS_MONTHLY_attribute_Constants(
7143 problem:LogicProblem, interpretation:PartialInterpretation,
7144 source: DefinedElement, target:DefinedElement)
7145{
7146 find interpretation(problem,interpretation);
7147 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
7148 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"FLAT_RATE_CIS_MONTHLY attribute Constants");
7149 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
7150 BinaryElementRelationLink.param1(link,source);
7151 BinaryElementRelationLink.param2(link,target);
7152}
7153/**
7154 * Matcher for detecting tuples t where <>FLAT_RATE_CIS_MONTHLY attribute Constants(source,target)
7155 */
7156private pattern mayInRelationFLAT_RATE_CIS_MONTHLY_attribute_Constants(
7157 problem:LogicProblem, interpretation:PartialInterpretation,
7158 source: DefinedElement, target:DefinedElement)
7159{
7160 find interpretation(problem,interpretation);
7161 // The two endpoint of the link have to exist
7162 find mayExist(problem, interpretation, source);
7163 find mayExist(problem, interpretation, target);
7164 // Type consistency
7165 find mayInstanceOfConstants_class(problem,interpretation,source);
7166 RealElement(target);
7167 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
7168 // the upper bound of the multiplicity should be considered.
7169 numberOfExistingReferences == count find mustInRelationFLAT_RATE_CIS_MONTHLY_attribute_Constants(problem,interpretation,source,_);
7170 check(numberOfExistingReferences < 1);
7171} or {
7172 find mustInRelationFLAT_RATE_CIS_MONTHLY_attribute_Constants(problem,interpretation,source,target);
7173}
7174/**
7175 * Matcher for detecting tuples t where []FLAT_RATE_CIS_YEARLY attribute Constants(source,target)
7176 */
7177private pattern mustInRelationFLAT_RATE_CIS_YEARLY_attribute_Constants(
7178 problem:LogicProblem, interpretation:PartialInterpretation,
7179 source: DefinedElement, target:DefinedElement)
7180{
7181 find interpretation(problem,interpretation);
7182 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
7183 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"FLAT_RATE_CIS_YEARLY attribute Constants");
7184 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
7185 BinaryElementRelationLink.param1(link,source);
7186 BinaryElementRelationLink.param2(link,target);
7187}
7188/**
7189 * Matcher for detecting tuples t where <>FLAT_RATE_CIS_YEARLY attribute Constants(source,target)
7190 */
7191private pattern mayInRelationFLAT_RATE_CIS_YEARLY_attribute_Constants(
7192 problem:LogicProblem, interpretation:PartialInterpretation,
7193 source: DefinedElement, target:DefinedElement)
7194{
7195 find interpretation(problem,interpretation);
7196 // The two endpoint of the link have to exist
7197 find mayExist(problem, interpretation, source);
7198 find mayExist(problem, interpretation, target);
7199 // Type consistency
7200 find mayInstanceOfConstants_class(problem,interpretation,source);
7201 RealElement(target);
7202 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
7203 // the upper bound of the multiplicity should be considered.
7204 numberOfExistingReferences == count find mustInRelationFLAT_RATE_CIS_YEARLY_attribute_Constants(problem,interpretation,source,_);
7205 check(numberOfExistingReferences < 1);
7206} or {
7207 find mustInRelationFLAT_RATE_CIS_YEARLY_attribute_Constants(problem,interpretation,source,target);
7208}
7209/**
7210 * Matcher for detecting tuples t where []FLAT_RATE_FOR_TRAVEL_EXPENSE_PER_UNIT attribute Constants(source,target)
7211 */
7212private pattern mustInRelationFLAT_RATE_FOR_TRAVEL_EXPENSE_PER_UNIT_attribute_Constants(
7213 problem:LogicProblem, interpretation:PartialInterpretation,
7214 source: DefinedElement, target:DefinedElement)
7215{
7216 find interpretation(problem,interpretation);
7217 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
7218 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"FLAT_RATE_FOR_TRAVEL_EXPENSE_PER_UNIT attribute Constants");
7219 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
7220 BinaryElementRelationLink.param1(link,source);
7221 BinaryElementRelationLink.param2(link,target);
7222}
7223/**
7224 * Matcher for detecting tuples t where <>FLAT_RATE_FOR_TRAVEL_EXPENSE_PER_UNIT attribute Constants(source,target)
7225 */
7226private pattern mayInRelationFLAT_RATE_FOR_TRAVEL_EXPENSE_PER_UNIT_attribute_Constants(
7227 problem:LogicProblem, interpretation:PartialInterpretation,
7228 source: DefinedElement, target:DefinedElement)
7229{
7230 find interpretation(problem,interpretation);
7231 // The two endpoint of the link have to exist
7232 find mayExist(problem, interpretation, source);
7233 find mayExist(problem, interpretation, target);
7234 // Type consistency
7235 find mayInstanceOfConstants_class(problem,interpretation,source);
7236 RealElement(target);
7237 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
7238 // the upper bound of the multiplicity should be considered.
7239 numberOfExistingReferences == count find mustInRelationFLAT_RATE_FOR_TRAVEL_EXPENSE_PER_UNIT_attribute_Constants(problem,interpretation,source,_);
7240 check(numberOfExistingReferences < 1);
7241} or {
7242 find mustInRelationFLAT_RATE_FOR_TRAVEL_EXPENSE_PER_UNIT_attribute_Constants(problem,interpretation,source,target);
7243}
7244/**
7245 * Matcher for detecting tuples t where []MAXIMUM_DEDUCTIBLE_AMOUNT_FOR_DS attribute Constants(source,target)
7246 */
7247private pattern mustInRelationMAXIMUM_DEDUCTIBLE_AMOUNT_FOR_DS_attribute_Constants(
7248 problem:LogicProblem, interpretation:PartialInterpretation,
7249 source: DefinedElement, target:DefinedElement)
7250{
7251 find interpretation(problem,interpretation);
7252 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
7253 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"MAXIMUM_DEDUCTIBLE_AMOUNT_FOR_DS attribute Constants");
7254 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
7255 BinaryElementRelationLink.param1(link,source);
7256 BinaryElementRelationLink.param2(link,target);
7257}
7258/**
7259 * Matcher for detecting tuples t where <>MAXIMUM_DEDUCTIBLE_AMOUNT_FOR_DS attribute Constants(source,target)
7260 */
7261private pattern mayInRelationMAXIMUM_DEDUCTIBLE_AMOUNT_FOR_DS_attribute_Constants(
7262 problem:LogicProblem, interpretation:PartialInterpretation,
7263 source: DefinedElement, target:DefinedElement)
7264{
7265 find interpretation(problem,interpretation);
7266 // The two endpoint of the link have to exist
7267 find mayExist(problem, interpretation, source);
7268 find mayExist(problem, interpretation, target);
7269 // Type consistency
7270 find mayInstanceOfConstants_class(problem,interpretation,source);
7271 RealElement(target);
7272 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
7273 // the upper bound of the multiplicity should be considered.
7274 numberOfExistingReferences == count find mustInRelationMAXIMUM_DEDUCTIBLE_AMOUNT_FOR_DS_attribute_Constants(problem,interpretation,source,_);
7275 check(numberOfExistingReferences < 1);
7276} or {
7277 find mustInRelationMAXIMUM_DEDUCTIBLE_AMOUNT_FOR_DS_attribute_Constants(problem,interpretation,source,target);
7278}
7279/**
7280 * Matcher for detecting tuples t where []FLAT_RATE_FOR_MISCELLANEOUS_EXPENSE attribute Constants(source,target)
7281 */
7282private pattern mustInRelationFLAT_RATE_FOR_MISCELLANEOUS_EXPENSE_attribute_Constants(
7283 problem:LogicProblem, interpretation:PartialInterpretation,
7284 source: DefinedElement, target:DefinedElement)
7285{
7286 find interpretation(problem,interpretation);
7287 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
7288 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"FLAT_RATE_FOR_MISCELLANEOUS_EXPENSE attribute Constants");
7289 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
7290 BinaryElementRelationLink.param1(link,source);
7291 BinaryElementRelationLink.param2(link,target);
7292}
7293/**
7294 * Matcher for detecting tuples t where <>FLAT_RATE_FOR_MISCELLANEOUS_EXPENSE attribute Constants(source,target)
7295 */
7296private pattern mayInRelationFLAT_RATE_FOR_MISCELLANEOUS_EXPENSE_attribute_Constants(
7297 problem:LogicProblem, interpretation:PartialInterpretation,
7298 source: DefinedElement, target:DefinedElement)
7299{
7300 find interpretation(problem,interpretation);
7301 // The two endpoint of the link have to exist
7302 find mayExist(problem, interpretation, source);
7303 find mayExist(problem, interpretation, target);
7304 // Type consistency
7305 find mayInstanceOfConstants_class(problem,interpretation,source);
7306 RealElement(target);
7307 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
7308 // the upper bound of the multiplicity should be considered.
7309 numberOfExistingReferences == count find mustInRelationFLAT_RATE_FOR_MISCELLANEOUS_EXPENSE_attribute_Constants(problem,interpretation,source,_);
7310 check(numberOfExistingReferences < 1);
7311} or {
7312 find mustInRelationFLAT_RATE_FOR_MISCELLANEOUS_EXPENSE_attribute_Constants(problem,interpretation,source,target);
7313}
7314/**
7315 * Matcher for detecting tuples t where []DISABILITY_FLAT_RATE_FOR_MISCELLANEOUS_EXPENSE attribute Constants(source,target)
7316 */
7317private pattern mustInRelationDISABILITY_FLAT_RATE_FOR_MISCELLANEOUS_EXPENSE_attribute_Constants(
7318 problem:LogicProblem, interpretation:PartialInterpretation,
7319 source: DefinedElement, target:DefinedElement)
7320{
7321 find interpretation(problem,interpretation);
7322 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
7323 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"DISABILITY_FLAT_RATE_FOR_MISCELLANEOUS_EXPENSE attribute Constants");
7324 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
7325 BinaryElementRelationLink.param1(link,source);
7326 BinaryElementRelationLink.param2(link,target);
7327}
7328/**
7329 * Matcher for detecting tuples t where <>DISABILITY_FLAT_RATE_FOR_MISCELLANEOUS_EXPENSE attribute Constants(source,target)
7330 */
7331private pattern mayInRelationDISABILITY_FLAT_RATE_FOR_MISCELLANEOUS_EXPENSE_attribute_Constants(
7332 problem:LogicProblem, interpretation:PartialInterpretation,
7333 source: DefinedElement, target:DefinedElement)
7334{
7335 find interpretation(problem,interpretation);
7336 // The two endpoint of the link have to exist
7337 find mayExist(problem, interpretation, source);
7338 find mayExist(problem, interpretation, target);
7339 // Type consistency
7340 find mayInstanceOfConstants_class(problem,interpretation,source);
7341 RealElement(target);
7342 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
7343 // the upper bound of the multiplicity should be considered.
7344 numberOfExistingReferences == count find mustInRelationDISABILITY_FLAT_RATE_FOR_MISCELLANEOUS_EXPENSE_attribute_Constants(problem,interpretation,source,_);
7345 check(numberOfExistingReferences < 1);
7346} or {
7347 find mustInRelationDISABILITY_FLAT_RATE_FOR_MISCELLANEOUS_EXPENSE_attribute_Constants(problem,interpretation,source,target);
7348}
7349/**
7350 * Matcher for detecting tuples t where []MAXIMUM_DEDUCTIBLE_AMOUNT_FOR_ADDITIONAL_PENSION_AND_INSURANCE attribute Constants(source,target)
7351 */
7352private pattern mustInRelationMAXIMUM_DEDUCTIBLE_AMOUNT_FOR_ADDITIONAL_PENSION_AND_INSURANCE_attribute_Constants(
7353 problem:LogicProblem, interpretation:PartialInterpretation,
7354 source: DefinedElement, target:DefinedElement)
7355{
7356 find interpretation(problem,interpretation);
7357 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
7358 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"MAXIMUM_DEDUCTIBLE_AMOUNT_FOR_ADDITIONAL_PENSION_AND_INSURANCE attribute Constants");
7359 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
7360 BinaryElementRelationLink.param1(link,source);
7361 BinaryElementRelationLink.param2(link,target);
7362}
7363/**
7364 * Matcher for detecting tuples t where <>MAXIMUM_DEDUCTIBLE_AMOUNT_FOR_ADDITIONAL_PENSION_AND_INSURANCE attribute Constants(source,target)
7365 */
7366private pattern mayInRelationMAXIMUM_DEDUCTIBLE_AMOUNT_FOR_ADDITIONAL_PENSION_AND_INSURANCE_attribute_Constants(
7367 problem:LogicProblem, interpretation:PartialInterpretation,
7368 source: DefinedElement, target:DefinedElement)
7369{
7370 find interpretation(problem,interpretation);
7371 // The two endpoint of the link have to exist
7372 find mayExist(problem, interpretation, source);
7373 find mayExist(problem, interpretation, target);
7374 // Type consistency
7375 find mayInstanceOfConstants_class(problem,interpretation,source);
7376 RealElement(target);
7377 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
7378 // the upper bound of the multiplicity should be considered.
7379 numberOfExistingReferences == count find mustInRelationMAXIMUM_DEDUCTIBLE_AMOUNT_FOR_ADDITIONAL_PENSION_AND_INSURANCE_attribute_Constants(problem,interpretation,source,_);
7380 check(numberOfExistingReferences < 1);
7381} or {
7382 find mustInRelationMAXIMUM_DEDUCTIBLE_AMOUNT_FOR_ADDITIONAL_PENSION_AND_INSURANCE_attribute_Constants(problem,interpretation,source,target);
7383}
7384/**
7385 * Matcher for detecting tuples t where []tax_amount attribute Income_Tax(source,target)
7386 */
7387private pattern mustInRelationtax_amount_attribute_Income_Tax(
7388 problem:LogicProblem, interpretation:PartialInterpretation,
7389 source: DefinedElement, target:DefinedElement)
7390{
7391 find interpretation(problem,interpretation);
7392 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
7393 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"tax_amount attribute Income_Tax");
7394 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
7395 BinaryElementRelationLink.param1(link,source);
7396 BinaryElementRelationLink.param2(link,target);
7397}
7398/**
7399 * Matcher for detecting tuples t where <>tax_amount attribute Income_Tax(source,target)
7400 */
7401private pattern mayInRelationtax_amount_attribute_Income_Tax(
7402 problem:LogicProblem, interpretation:PartialInterpretation,
7403 source: DefinedElement, target:DefinedElement)
7404{
7405 find interpretation(problem,interpretation);
7406 // The two endpoint of the link have to exist
7407 find mayExist(problem, interpretation, source);
7408 find mayExist(problem, interpretation, target);
7409 // Type consistency
7410 find mayInstanceOfIncome_Tax_class(problem,interpretation,source);
7411 RealElement(target);
7412 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
7413 // the upper bound of the multiplicity should be considered.
7414 numberOfExistingReferences == count find mustInRelationtax_amount_attribute_Income_Tax(problem,interpretation,source,_);
7415 check(numberOfExistingReferences < 1);
7416} or {
7417 find mustInRelationtax_amount_attribute_Income_Tax(problem,interpretation,source,target);
7418}
7419/**
7420 * Matcher for detecting tuples t where []tax_year attribute Income_Tax(source,target)
7421 */
7422private pattern mustInRelationtax_year_attribute_Income_Tax(
7423 problem:LogicProblem, interpretation:PartialInterpretation,
7424 source: DefinedElement, target:DefinedElement)
7425{
7426 find interpretation(problem,interpretation);
7427 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
7428 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"tax_year attribute Income_Tax");
7429 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
7430 BinaryElementRelationLink.param1(link,source);
7431 BinaryElementRelationLink.param2(link,target);
7432}
7433/**
7434 * Matcher for detecting tuples t where <>tax_year attribute Income_Tax(source,target)
7435 */
7436private pattern mayInRelationtax_year_attribute_Income_Tax(
7437 problem:LogicProblem, interpretation:PartialInterpretation,
7438 source: DefinedElement, target:DefinedElement)
7439{
7440 find interpretation(problem,interpretation);
7441 // The two endpoint of the link have to exist
7442 find mayExist(problem, interpretation, source);
7443 find mayExist(problem, interpretation, target);
7444 // Type consistency
7445 find mayInstanceOfIncome_Tax_class(problem,interpretation,source);
7446 IntegerElement(target);
7447 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
7448 // the upper bound of the multiplicity should be considered.
7449 numberOfExistingReferences == count find mustInRelationtax_year_attribute_Income_Tax(problem,interpretation,source,_);
7450 check(numberOfExistingReferences < 1);
7451} or {
7452 find mustInRelationtax_year_attribute_Income_Tax(problem,interpretation,source,target);
7453}
7454/**
7455 * Matcher for detecting tuples t where []id6 attribute Income_Tax(source,target)
7456 */
7457private pattern mustInRelationid6_attribute_Income_Tax(
7458 problem:LogicProblem, interpretation:PartialInterpretation,
7459 source: DefinedElement, target:DefinedElement)
7460{
7461 find interpretation(problem,interpretation);
7462 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
7463 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"id6 attribute Income_Tax");
7464 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
7465 BinaryElementRelationLink.param1(link,source);
7466 BinaryElementRelationLink.param2(link,target);
7467}
7468/**
7469 * Matcher for detecting tuples t where <>id6 attribute Income_Tax(source,target)
7470 */
7471private pattern mayInRelationid6_attribute_Income_Tax(
7472 problem:LogicProblem, interpretation:PartialInterpretation,
7473 source: DefinedElement, target:DefinedElement)
7474{
7475 find interpretation(problem,interpretation);
7476 // The two endpoint of the link have to exist
7477 find mayExist(problem, interpretation, source);
7478 find mayExist(problem, interpretation, target);
7479 // Type consistency
7480 find mayInstanceOfIncome_Tax_class(problem,interpretation,source);
7481 StringElement(target);
7482 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
7483 // the upper bound of the multiplicity should be considered.
7484 numberOfExistingReferences == count find mustInRelationid6_attribute_Income_Tax(problem,interpretation,source,_);
7485 check(numberOfExistingReferences < 1);
7486} or {
7487 find mustInRelationid6_attribute_Income_Tax(problem,interpretation,source,target);
7488}
7489/**
7490 * Matcher for detecting tuples t where []taxesDue attribute Tax_Payer(source,target)
7491 */
7492private pattern mustInRelationtaxesDue_attribute_Tax_Payer(
7493 problem:LogicProblem, interpretation:PartialInterpretation,
7494 source: DefinedElement, target:DefinedElement)
7495{
7496 find interpretation(problem,interpretation);
7497 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
7498 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"taxesDue attribute Tax_Payer");
7499 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
7500 BinaryElementRelationLink.param1(link,source);
7501 BinaryElementRelationLink.param2(link,target);
7502}
7503/**
7504 * Matcher for detecting tuples t where <>taxesDue attribute Tax_Payer(source,target)
7505 */
7506private pattern mayInRelationtaxesDue_attribute_Tax_Payer(
7507 problem:LogicProblem, interpretation:PartialInterpretation,
7508 source: DefinedElement, target:DefinedElement)
7509{
7510 find interpretation(problem,interpretation);
7511 // The two endpoint of the link have to exist
7512 find mayExist(problem, interpretation, source);
7513 find mayExist(problem, interpretation, target);
7514 // Type consistency
7515 find mayInstanceOfTax_Payer_class(problem,interpretation,source);
7516 RealElement(target);
7517 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
7518 // the upper bound of the multiplicity should be considered.
7519 numberOfExistingReferences == count find mustInRelationtaxesDue_attribute_Tax_Payer(problem,interpretation,source,_);
7520 check(numberOfExistingReferences < 1);
7521} or {
7522 find mustInRelationtaxesDue_attribute_Tax_Payer(problem,interpretation,source,target);
7523}
7524/**
7525 * Matcher for detecting tuples t where []is_assisting_spouse attribute Physical_Person(source,target)
7526 */
7527private pattern mustInRelationis_assisting_spouse_attribute_Physical_Person(
7528 problem:LogicProblem, interpretation:PartialInterpretation,
7529 source: DefinedElement, target:DefinedElement)
7530{
7531 find interpretation(problem,interpretation);
7532 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
7533 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"is_assisting_spouse attribute Physical_Person");
7534 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
7535 BinaryElementRelationLink.param1(link,source);
7536 BinaryElementRelationLink.param2(link,target);
7537}
7538/**
7539 * Matcher for detecting tuples t where <>is_assisting_spouse attribute Physical_Person(source,target)
7540 */
7541private pattern mayInRelationis_assisting_spouse_attribute_Physical_Person(
7542 problem:LogicProblem, interpretation:PartialInterpretation,
7543 source: DefinedElement, target:DefinedElement)
7544{
7545 find interpretation(problem,interpretation);
7546 // The two endpoint of the link have to exist
7547 find mayExist(problem, interpretation, source);
7548 find mayExist(problem, interpretation, target);
7549 // Type consistency
7550 find mayInstanceOfPhysical_Person_class(problem,interpretation,source);
7551 BooleanElement(target);
7552 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
7553 // the upper bound of the multiplicity should be considered.
7554 numberOfExistingReferences == count find mustInRelationis_assisting_spouse_attribute_Physical_Person(problem,interpretation,source,_);
7555 check(numberOfExistingReferences < 1);
7556} or {
7557 find mustInRelationis_assisting_spouse_attribute_Physical_Person(problem,interpretation,source,target);
7558}
7559/**
7560 * Matcher for detecting tuples t where []SSNo attribute Physical_Person(source,target)
7561 */
7562private pattern mustInRelationSSNo_attribute_Physical_Person(
7563 problem:LogicProblem, interpretation:PartialInterpretation,
7564 source: DefinedElement, target:DefinedElement)
7565{
7566 find interpretation(problem,interpretation);
7567 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
7568 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"SSNo attribute Physical_Person");
7569 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
7570 BinaryElementRelationLink.param1(link,source);
7571 BinaryElementRelationLink.param2(link,target);
7572}
7573/**
7574 * Matcher for detecting tuples t where <>SSNo attribute Physical_Person(source,target)
7575 */
7576private pattern mayInRelationSSNo_attribute_Physical_Person(
7577 problem:LogicProblem, interpretation:PartialInterpretation,
7578 source: DefinedElement, target:DefinedElement)
7579{
7580 find interpretation(problem,interpretation);
7581 // The two endpoint of the link have to exist
7582 find mayExist(problem, interpretation, source);
7583 find mayExist(problem, interpretation, target);
7584 // Type consistency
7585 find mayInstanceOfPhysical_Person_class(problem,interpretation,source);
7586 StringElement(target);
7587 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
7588 // the upper bound of the multiplicity should be considered.
7589 numberOfExistingReferences == count find mustInRelationSSNo_attribute_Physical_Person(problem,interpretation,source,_);
7590 check(numberOfExistingReferences < 1);
7591} or {
7592 find mustInRelationSSNo_attribute_Physical_Person(problem,interpretation,source,target);
7593}
7594/**
7595 * Matcher for detecting tuples t where []birth_year attribute Physical_Person(source,target)
7596 */
7597private pattern mustInRelationbirth_year_attribute_Physical_Person(
7598 problem:LogicProblem, interpretation:PartialInterpretation,
7599 source: DefinedElement, target:DefinedElement)
7600{
7601 find interpretation(problem,interpretation);
7602 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
7603 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"birth_year attribute Physical_Person");
7604 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
7605 BinaryElementRelationLink.param1(link,source);
7606 BinaryElementRelationLink.param2(link,target);
7607}
7608/**
7609 * Matcher for detecting tuples t where <>birth_year attribute Physical_Person(source,target)
7610 */
7611private pattern mayInRelationbirth_year_attribute_Physical_Person(
7612 problem:LogicProblem, interpretation:PartialInterpretation,
7613 source: DefinedElement, target:DefinedElement)
7614{
7615 find interpretation(problem,interpretation);
7616 // The two endpoint of the link have to exist
7617 find mayExist(problem, interpretation, source);
7618 find mayExist(problem, interpretation, target);
7619 // Type consistency
7620 find mayInstanceOfPhysical_Person_class(problem,interpretation,source);
7621 IntegerElement(target);
7622 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
7623 // the upper bound of the multiplicity should be considered.
7624 numberOfExistingReferences == count find mustInRelationbirth_year_attribute_Physical_Person(problem,interpretation,source,_);
7625 check(numberOfExistingReferences < 1);
7626} or {
7627 find mustInRelationbirth_year_attribute_Physical_Person(problem,interpretation,source,target);
7628}
7629/**
7630 * Matcher for detecting tuples t where []disability_percentage attribute Physical_Person(source,target)
7631 */
7632private pattern mustInRelationdisability_percentage_attribute_Physical_Person(
7633 problem:LogicProblem, interpretation:PartialInterpretation,
7634 source: DefinedElement, target:DefinedElement)
7635{
7636 find interpretation(problem,interpretation);
7637 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
7638 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"disability_percentage attribute Physical_Person");
7639 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
7640 BinaryElementRelationLink.param1(link,source);
7641 BinaryElementRelationLink.param2(link,target);
7642}
7643/**
7644 * Matcher for detecting tuples t where <>disability_percentage attribute Physical_Person(source,target)
7645 */
7646private pattern mayInRelationdisability_percentage_attribute_Physical_Person(
7647 problem:LogicProblem, interpretation:PartialInterpretation,
7648 source: DefinedElement, target:DefinedElement)
7649{
7650 find interpretation(problem,interpretation);
7651 // The two endpoint of the link have to exist
7652 find mayExist(problem, interpretation, source);
7653 find mayExist(problem, interpretation, target);
7654 // Type consistency
7655 find mayInstanceOfPhysical_Person_class(problem,interpretation,source);
7656 RealElement(target);
7657 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
7658 // the upper bound of the multiplicity should be considered.
7659 numberOfExistingReferences == count find mustInRelationdisability_percentage_attribute_Physical_Person(problem,interpretation,source,_);
7660 check(numberOfExistingReferences < 1);
7661} or {
7662 find mustInRelationdisability_percentage_attribute_Physical_Person(problem,interpretation,source,target);
7663}
7664/**
7665 * Matcher for detecting tuples t where []disability_type attribute Physical_Person(source,target)
7666 */
7667private pattern mustInRelationdisability_type_attribute_Physical_Person(
7668 problem:LogicProblem, interpretation:PartialInterpretation,
7669 source: DefinedElement, target:DefinedElement)
7670{
7671 find interpretation(problem,interpretation);
7672 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
7673 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"disability_type attribute Physical_Person");
7674 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
7675 BinaryElementRelationLink.param1(link,source);
7676 BinaryElementRelationLink.param2(link,target);
7677}
7678/**
7679 * Matcher for detecting tuples t where <>disability_type attribute Physical_Person(source,target)
7680 */
7681private pattern mayInRelationdisability_type_attribute_Physical_Person(
7682 problem:LogicProblem, interpretation:PartialInterpretation,
7683 source: DefinedElement, target:DefinedElement)
7684{
7685 find interpretation(problem,interpretation);
7686 // The two endpoint of the link have to exist
7687 find mayExist(problem, interpretation, source);
7688 find mayExist(problem, interpretation, target);
7689 // Type consistency
7690 find mayInstanceOfPhysical_Person_class(problem,interpretation,source);
7691 find mayInstanceOfDisability_Types_enum(problem,interpretation,target);
7692 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
7693 // the upper bound of the multiplicity should be considered.
7694 numberOfExistingReferences == count find mustInRelationdisability_type_attribute_Physical_Person(problem,interpretation,source,_);
7695 check(numberOfExistingReferences < 1);
7696} or {
7697 find mustInRelationdisability_type_attribute_Physical_Person(problem,interpretation,source,target);
7698}
7699/**
7700 * Matcher for detecting tuples t where []is_affiliated_personnaly_to_social_security attribute Physical_Person(source,target)
7701 */
7702private pattern mustInRelationis_affiliated_personnaly_to_social_security_attribute_Physical_Person(
7703 problem:LogicProblem, interpretation:PartialInterpretation,
7704 source: DefinedElement, target:DefinedElement)
7705{
7706 find interpretation(problem,interpretation);
7707 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
7708 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"is_affiliated_personnaly_to_social_security attribute Physical_Person");
7709 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
7710 BinaryElementRelationLink.param1(link,source);
7711 BinaryElementRelationLink.param2(link,target);
7712}
7713/**
7714 * Matcher for detecting tuples t where <>is_affiliated_personnaly_to_social_security attribute Physical_Person(source,target)
7715 */
7716private pattern mayInRelationis_affiliated_personnaly_to_social_security_attribute_Physical_Person(
7717 problem:LogicProblem, interpretation:PartialInterpretation,
7718 source: DefinedElement, target:DefinedElement)
7719{
7720 find interpretation(problem,interpretation);
7721 // The two endpoint of the link have to exist
7722 find mayExist(problem, interpretation, source);
7723 find mayExist(problem, interpretation, target);
7724 // Type consistency
7725 find mayInstanceOfPhysical_Person_class(problem,interpretation,source);
7726 BooleanElement(target);
7727 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
7728 // the upper bound of the multiplicity should be considered.
7729 numberOfExistingReferences == count find mustInRelationis_affiliated_personnaly_to_social_security_attribute_Physical_Person(problem,interpretation,source,_);
7730 check(numberOfExistingReferences < 1);
7731} or {
7732 find mustInRelationis_affiliated_personnaly_to_social_security_attribute_Physical_Person(problem,interpretation,source,target);
7733}
7734/**
7735 * Matcher for detecting tuples t where []birth_month attribute Physical_Person(source,target)
7736 */
7737private pattern mustInRelationbirth_month_attribute_Physical_Person(
7738 problem:LogicProblem, interpretation:PartialInterpretation,
7739 source: DefinedElement, target:DefinedElement)
7740{
7741 find interpretation(problem,interpretation);
7742 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
7743 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"birth_month attribute Physical_Person");
7744 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
7745 BinaryElementRelationLink.param1(link,source);
7746 BinaryElementRelationLink.param2(link,target);
7747}
7748/**
7749 * Matcher for detecting tuples t where <>birth_month attribute Physical_Person(source,target)
7750 */
7751private pattern mayInRelationbirth_month_attribute_Physical_Person(
7752 problem:LogicProblem, interpretation:PartialInterpretation,
7753 source: DefinedElement, target:DefinedElement)
7754{
7755 find interpretation(problem,interpretation);
7756 // The two endpoint of the link have to exist
7757 find mayExist(problem, interpretation, source);
7758 find mayExist(problem, interpretation, target);
7759 // Type consistency
7760 find mayInstanceOfPhysical_Person_class(problem,interpretation,source);
7761 IntegerElement(target);
7762 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
7763 // the upper bound of the multiplicity should be considered.
7764 numberOfExistingReferences == count find mustInRelationbirth_month_attribute_Physical_Person(problem,interpretation,source,_);
7765 check(numberOfExistingReferences < 1);
7766} or {
7767 find mustInRelationbirth_month_attribute_Physical_Person(problem,interpretation,source,target);
7768}
7769/**
7770 * Matcher for detecting tuples t where []birth_day attribute Physical_Person(source,target)
7771 */
7772private pattern mustInRelationbirth_day_attribute_Physical_Person(
7773 problem:LogicProblem, interpretation:PartialInterpretation,
7774 source: DefinedElement, target:DefinedElement)
7775{
7776 find interpretation(problem,interpretation);
7777 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
7778 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"birth_day attribute Physical_Person");
7779 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
7780 BinaryElementRelationLink.param1(link,source);
7781 BinaryElementRelationLink.param2(link,target);
7782}
7783/**
7784 * Matcher for detecting tuples t where <>birth_day attribute Physical_Person(source,target)
7785 */
7786private pattern mayInRelationbirth_day_attribute_Physical_Person(
7787 problem:LogicProblem, interpretation:PartialInterpretation,
7788 source: DefinedElement, target:DefinedElement)
7789{
7790 find interpretation(problem,interpretation);
7791 // The two endpoint of the link have to exist
7792 find mayExist(problem, interpretation, source);
7793 find mayExist(problem, interpretation, target);
7794 // Type consistency
7795 find mayInstanceOfPhysical_Person_class(problem,interpretation,source);
7796 IntegerElement(target);
7797 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
7798 // the upper bound of the multiplicity should be considered.
7799 numberOfExistingReferences == count find mustInRelationbirth_day_attribute_Physical_Person(problem,interpretation,source,_);
7800 check(numberOfExistingReferences < 1);
7801} or {
7802 find mustInRelationbirth_day_attribute_Physical_Person(problem,interpretation,source,target);
7803}
7804/**
7805 * Matcher for detecting tuples t where []is_widower attribute Physical_Person(source,target)
7806 */
7807private pattern mustInRelationis_widower_attribute_Physical_Person(
7808 problem:LogicProblem, interpretation:PartialInterpretation,
7809 source: DefinedElement, target:DefinedElement)
7810{
7811 find interpretation(problem,interpretation);
7812 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
7813 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"is_widower attribute Physical_Person");
7814 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
7815 BinaryElementRelationLink.param1(link,source);
7816 BinaryElementRelationLink.param2(link,target);
7817}
7818/**
7819 * Matcher for detecting tuples t where <>is_widower attribute Physical_Person(source,target)
7820 */
7821private pattern mayInRelationis_widower_attribute_Physical_Person(
7822 problem:LogicProblem, interpretation:PartialInterpretation,
7823 source: DefinedElement, target:DefinedElement)
7824{
7825 find interpretation(problem,interpretation);
7826 // The two endpoint of the link have to exist
7827 find mayExist(problem, interpretation, source);
7828 find mayExist(problem, interpretation, target);
7829 // Type consistency
7830 find mayInstanceOfPhysical_Person_class(problem,interpretation,source);
7831 BooleanElement(target);
7832 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
7833 // the upper bound of the multiplicity should be considered.
7834 numberOfExistingReferences == count find mustInRelationis_widower_attribute_Physical_Person(problem,interpretation,source,_);
7835 check(numberOfExistingReferences < 1);
7836} or {
7837 find mustInRelationis_widower_attribute_Physical_Person(problem,interpretation,source,target);
7838}
7839/**
7840 * Matcher for detecting tuples t where []country attribute Address(source,target)
7841 */
7842private pattern mustInRelationcountry_attribute_Address(
7843 problem:LogicProblem, interpretation:PartialInterpretation,
7844 source: DefinedElement, target:DefinedElement)
7845{
7846 find interpretation(problem,interpretation);
7847 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
7848 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"country attribute Address");
7849 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
7850 BinaryElementRelationLink.param1(link,source);
7851 BinaryElementRelationLink.param2(link,target);
7852}
7853/**
7854 * Matcher for detecting tuples t where <>country attribute Address(source,target)
7855 */
7856private pattern mayInRelationcountry_attribute_Address(
7857 problem:LogicProblem, interpretation:PartialInterpretation,
7858 source: DefinedElement, target:DefinedElement)
7859{
7860 find interpretation(problem,interpretation);
7861 // The two endpoint of the link have to exist
7862 find mayExist(problem, interpretation, source);
7863 find mayExist(problem, interpretation, target);
7864 // Type consistency
7865 find mayInstanceOfAddress_class(problem,interpretation,source);
7866 find mayInstanceOfCountry_enum(problem,interpretation,target);
7867 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
7868 // the upper bound of the multiplicity should be considered.
7869 numberOfExistingReferences == count find mustInRelationcountry_attribute_Address(problem,interpretation,source,_);
7870 check(numberOfExistingReferences < 1);
7871} or {
7872 find mustInRelationcountry_attribute_Address(problem,interpretation,source,target);
7873}
7874/**
7875 * Matcher for detecting tuples t where []street attribute Address(source,target)
7876 */
7877private pattern mustInRelationstreet_attribute_Address(
7878 problem:LogicProblem, interpretation:PartialInterpretation,
7879 source: DefinedElement, target:DefinedElement)
7880{
7881 find interpretation(problem,interpretation);
7882 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
7883 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"street attribute Address");
7884 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
7885 BinaryElementRelationLink.param1(link,source);
7886 BinaryElementRelationLink.param2(link,target);
7887}
7888/**
7889 * Matcher for detecting tuples t where <>street attribute Address(source,target)
7890 */
7891private pattern mayInRelationstreet_attribute_Address(
7892 problem:LogicProblem, interpretation:PartialInterpretation,
7893 source: DefinedElement, target:DefinedElement)
7894{
7895 find interpretation(problem,interpretation);
7896 // The two endpoint of the link have to exist
7897 find mayExist(problem, interpretation, source);
7898 find mayExist(problem, interpretation, target);
7899 // Type consistency
7900 find mayInstanceOfAddress_class(problem,interpretation,source);
7901 StringElement(target);
7902 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
7903 // the upper bound of the multiplicity should be considered.
7904 numberOfExistingReferences == count find mustInRelationstreet_attribute_Address(problem,interpretation,source,_);
7905 check(numberOfExistingReferences < 1);
7906} or {
7907 find mustInRelationstreet_attribute_Address(problem,interpretation,source,target);
7908}
7909/**
7910 * Matcher for detecting tuples t where []zipCode attribute Address(source,target)
7911 */
7912private pattern mustInRelationzipCode_attribute_Address(
7913 problem:LogicProblem, interpretation:PartialInterpretation,
7914 source: DefinedElement, target:DefinedElement)
7915{
7916 find interpretation(problem,interpretation);
7917 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
7918 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"zipCode attribute Address");
7919 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
7920 BinaryElementRelationLink.param1(link,source);
7921 BinaryElementRelationLink.param2(link,target);
7922}
7923/**
7924 * Matcher for detecting tuples t where <>zipCode attribute Address(source,target)
7925 */
7926private pattern mayInRelationzipCode_attribute_Address(
7927 problem:LogicProblem, interpretation:PartialInterpretation,
7928 source: DefinedElement, target:DefinedElement)
7929{
7930 find interpretation(problem,interpretation);
7931 // The two endpoint of the link have to exist
7932 find mayExist(problem, interpretation, source);
7933 find mayExist(problem, interpretation, target);
7934 // Type consistency
7935 find mayInstanceOfAddress_class(problem,interpretation,source);
7936 StringElement(target);
7937 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
7938 // the upper bound of the multiplicity should be considered.
7939 numberOfExistingReferences == count find mustInRelationzipCode_attribute_Address(problem,interpretation,source,_);
7940 check(numberOfExistingReferences < 1);
7941} or {
7942 find mustInRelationzipCode_attribute_Address(problem,interpretation,source,target);
7943}
7944/**
7945 * Matcher for detecting tuples t where []city attribute Address(source,target)
7946 */
7947private pattern mustInRelationcity_attribute_Address(
7948 problem:LogicProblem, interpretation:PartialInterpretation,
7949 source: DefinedElement, target:DefinedElement)
7950{
7951 find interpretation(problem,interpretation);
7952 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
7953 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"city attribute Address");
7954 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
7955 BinaryElementRelationLink.param1(link,source);
7956 BinaryElementRelationLink.param2(link,target);
7957}
7958/**
7959 * Matcher for detecting tuples t where <>city attribute Address(source,target)
7960 */
7961private pattern mayInRelationcity_attribute_Address(
7962 problem:LogicProblem, interpretation:PartialInterpretation,
7963 source: DefinedElement, target:DefinedElement)
7964{
7965 find interpretation(problem,interpretation);
7966 // The two endpoint of the link have to exist
7967 find mayExist(problem, interpretation, source);
7968 find mayExist(problem, interpretation, target);
7969 // Type consistency
7970 find mayInstanceOfAddress_class(problem,interpretation,source);
7971 StringElement(target);
7972 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
7973 // the upper bound of the multiplicity should be considered.
7974 numberOfExistingReferences == count find mustInRelationcity_attribute_Address(problem,interpretation,source,_);
7975 check(numberOfExistingReferences < 1);
7976} or {
7977 find mustInRelationcity_attribute_Address(problem,interpretation,source,target);
7978}
7979/**
7980 * Matcher for detecting tuples t where []id2 attribute Address(source,target)
7981 */
7982private pattern mustInRelationid2_attribute_Address(
7983 problem:LogicProblem, interpretation:PartialInterpretation,
7984 source: DefinedElement, target:DefinedElement)
7985{
7986 find interpretation(problem,interpretation);
7987 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
7988 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"id2 attribute Address");
7989 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
7990 BinaryElementRelationLink.param1(link,source);
7991 BinaryElementRelationLink.param2(link,target);
7992}
7993/**
7994 * Matcher for detecting tuples t where <>id2 attribute Address(source,target)
7995 */
7996private pattern mayInRelationid2_attribute_Address(
7997 problem:LogicProblem, interpretation:PartialInterpretation,
7998 source: DefinedElement, target:DefinedElement)
7999{
8000 find interpretation(problem,interpretation);
8001 // The two endpoint of the link have to exist
8002 find mayExist(problem, interpretation, source);
8003 find mayExist(problem, interpretation, target);
8004 // Type consistency
8005 find mayInstanceOfAddress_class(problem,interpretation,source);
8006 StringElement(target);
8007 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
8008 // the upper bound of the multiplicity should be considered.
8009 numberOfExistingReferences == count find mustInRelationid2_attribute_Address(problem,interpretation,source,_);
8010 check(numberOfExistingReferences < 1);
8011} or {
8012 find mustInRelationid2_attribute_Address(problem,interpretation,source,target);
8013}
8014/**
8015 * Matcher for detecting tuples t where []declared_amount attribute Expense(source,target)
8016 */
8017private pattern mustInRelationdeclared_amount_attribute_Expense(
8018 problem:LogicProblem, interpretation:PartialInterpretation,
8019 source: DefinedElement, target:DefinedElement)
8020{
8021 find interpretation(problem,interpretation);
8022 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
8023 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"declared_amount attribute Expense");
8024 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
8025 BinaryElementRelationLink.param1(link,source);
8026 BinaryElementRelationLink.param2(link,target);
8027}
8028/**
8029 * Matcher for detecting tuples t where <>declared_amount attribute Expense(source,target)
8030 */
8031private pattern mayInRelationdeclared_amount_attribute_Expense(
8032 problem:LogicProblem, interpretation:PartialInterpretation,
8033 source: DefinedElement, target:DefinedElement)
8034{
8035 find interpretation(problem,interpretation);
8036 // The two endpoint of the link have to exist
8037 find mayExist(problem, interpretation, source);
8038 find mayExist(problem, interpretation, target);
8039 // Type consistency
8040 find mayInstanceOfExpense_class(problem,interpretation,source);
8041 RealElement(target);
8042 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
8043 // the upper bound of the multiplicity should be considered.
8044 numberOfExistingReferences == count find mustInRelationdeclared_amount_attribute_Expense(problem,interpretation,source,_);
8045 check(numberOfExistingReferences < 1);
8046} or {
8047 find mustInRelationdeclared_amount_attribute_Expense(problem,interpretation,source,target);
8048}
8049/**
8050 * Matcher for detecting tuples t where []expense_purpose attribute Expense(source,target)
8051 */
8052private pattern mustInRelationexpense_purpose_attribute_Expense(
8053 problem:LogicProblem, interpretation:PartialInterpretation,
8054 source: DefinedElement, target:DefinedElement)
8055{
8056 find interpretation(problem,interpretation);
8057 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
8058 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"expense_purpose attribute Expense");
8059 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
8060 BinaryElementRelationLink.param1(link,source);
8061 BinaryElementRelationLink.param2(link,target);
8062}
8063/**
8064 * Matcher for detecting tuples t where <>expense_purpose attribute Expense(source,target)
8065 */
8066private pattern mayInRelationexpense_purpose_attribute_Expense(
8067 problem:LogicProblem, interpretation:PartialInterpretation,
8068 source: DefinedElement, target:DefinedElement)
8069{
8070 find interpretation(problem,interpretation);
8071 // The two endpoint of the link have to exist
8072 find mayExist(problem, interpretation, source);
8073 find mayExist(problem, interpretation, target);
8074 // Type consistency
8075 find mayInstanceOfExpense_class(problem,interpretation,source);
8076 find mayInstanceOfExpense_Purpose_enum(problem,interpretation,target);
8077 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
8078 // the upper bound of the multiplicity should be considered.
8079 numberOfExistingReferences == count find mustInRelationexpense_purpose_attribute_Expense(problem,interpretation,source,_);
8080 check(numberOfExistingReferences < 1);
8081} or {
8082 find mustInRelationexpense_purpose_attribute_Expense(problem,interpretation,source,target);
8083}
8084/**
8085 * Matcher for detecting tuples t where []id4 attribute Expense(source,target)
8086 */
8087private pattern mustInRelationid4_attribute_Expense(
8088 problem:LogicProblem, interpretation:PartialInterpretation,
8089 source: DefinedElement, target:DefinedElement)
8090{
8091 find interpretation(problem,interpretation);
8092 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
8093 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"id4 attribute Expense");
8094 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
8095 BinaryElementRelationLink.param1(link,source);
8096 BinaryElementRelationLink.param2(link,target);
8097}
8098/**
8099 * Matcher for detecting tuples t where <>id4 attribute Expense(source,target)
8100 */
8101private pattern mayInRelationid4_attribute_Expense(
8102 problem:LogicProblem, interpretation:PartialInterpretation,
8103 source: DefinedElement, target:DefinedElement)
8104{
8105 find interpretation(problem,interpretation);
8106 // The two endpoint of the link have to exist
8107 find mayExist(problem, interpretation, source);
8108 find mayExist(problem, interpretation, target);
8109 // Type consistency
8110 find mayInstanceOfExpense_class(problem,interpretation,source);
8111 StringElement(target);
8112 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
8113 // the upper bound of the multiplicity should be considered.
8114 numberOfExistingReferences == count find mustInRelationid4_attribute_Expense(problem,interpretation,source,_);
8115 check(numberOfExistingReferences < 1);
8116} or {
8117 find mustInRelationid4_attribute_Expense(problem,interpretation,source,target);
8118}
8119/**
8120 * Matcher for detecting tuples t where []dependent_type attribute Dependent(source,target)
8121 */
8122private pattern mustInRelationdependent_type_attribute_Dependent(
8123 problem:LogicProblem, interpretation:PartialInterpretation,
8124 source: DefinedElement, target:DefinedElement)
8125{
8126 find interpretation(problem,interpretation);
8127 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
8128 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"dependent_type attribute Dependent");
8129 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
8130 BinaryElementRelationLink.param1(link,source);
8131 BinaryElementRelationLink.param2(link,target);
8132}
8133/**
8134 * Matcher for detecting tuples t where <>dependent_type attribute Dependent(source,target)
8135 */
8136private pattern mayInRelationdependent_type_attribute_Dependent(
8137 problem:LogicProblem, interpretation:PartialInterpretation,
8138 source: DefinedElement, target:DefinedElement)
8139{
8140 find interpretation(problem,interpretation);
8141 // The two endpoint of the link have to exist
8142 find mayExist(problem, interpretation, source);
8143 find mayExist(problem, interpretation, target);
8144 // Type consistency
8145 find mayInstanceOfDependent_class(problem,interpretation,source);
8146 find mayInstanceOfDependent_Type_enum(problem,interpretation,target);
8147 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
8148 // the upper bound of the multiplicity should be considered.
8149 numberOfExistingReferences == count find mustInRelationdependent_type_attribute_Dependent(problem,interpretation,source,_);
8150 check(numberOfExistingReferences < 1);
8151} or {
8152 find mustInRelationdependent_type_attribute_Dependent(problem,interpretation,source,target);
8153}
8154/**
8155 * Matcher for detecting tuples t where []continued_studies attribute Dependent(source,target)
8156 */
8157private pattern mustInRelationcontinued_studies_attribute_Dependent(
8158 problem:LogicProblem, interpretation:PartialInterpretation,
8159 source: DefinedElement, target:DefinedElement)
8160{
8161 find interpretation(problem,interpretation);
8162 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
8163 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"continued_studies attribute Dependent");
8164 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
8165 BinaryElementRelationLink.param1(link,source);
8166 BinaryElementRelationLink.param2(link,target);
8167}
8168/**
8169 * Matcher for detecting tuples t where <>continued_studies attribute Dependent(source,target)
8170 */
8171private pattern mayInRelationcontinued_studies_attribute_Dependent(
8172 problem:LogicProblem, interpretation:PartialInterpretation,
8173 source: DefinedElement, target:DefinedElement)
8174{
8175 find interpretation(problem,interpretation);
8176 // The two endpoint of the link have to exist
8177 find mayExist(problem, interpretation, source);
8178 find mayExist(problem, interpretation, target);
8179 // Type consistency
8180 find mayInstanceOfDependent_class(problem,interpretation,source);
8181 BooleanElement(target);
8182 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
8183 // the upper bound of the multiplicity should be considered.
8184 numberOfExistingReferences == count find mustInRelationcontinued_studies_attribute_Dependent(problem,interpretation,source,_);
8185 check(numberOfExistingReferences < 1);
8186} or {
8187 find mustInRelationcontinued_studies_attribute_Dependent(problem,interpretation,source,target);
8188}
8189/**
8190 * Matcher for detecting tuples t where []amount attribute External_Allowance(source,target)
8191 */
8192private pattern mustInRelationamount_attribute_External_Allowance(
8193 problem:LogicProblem, interpretation:PartialInterpretation,
8194 source: DefinedElement, target:DefinedElement)
8195{
8196 find interpretation(problem,interpretation);
8197 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
8198 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"amount attribute External_Allowance");
8199 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
8200 BinaryElementRelationLink.param1(link,source);
8201 BinaryElementRelationLink.param2(link,target);
8202}
8203/**
8204 * Matcher for detecting tuples t where <>amount attribute External_Allowance(source,target)
8205 */
8206private pattern mayInRelationamount_attribute_External_Allowance(
8207 problem:LogicProblem, interpretation:PartialInterpretation,
8208 source: DefinedElement, target:DefinedElement)
8209{
8210 find interpretation(problem,interpretation);
8211 // The two endpoint of the link have to exist
8212 find mayExist(problem, interpretation, source);
8213 find mayExist(problem, interpretation, target);
8214 // Type consistency
8215 find mayInstanceOfExternal_Allowance_class(problem,interpretation,source);
8216 RealElement(target);
8217 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
8218 // the upper bound of the multiplicity should be considered.
8219 numberOfExistingReferences == count find mustInRelationamount_attribute_External_Allowance(problem,interpretation,source,_);
8220 check(numberOfExistingReferences < 1);
8221} or {
8222 find mustInRelationamount_attribute_External_Allowance(problem,interpretation,source,target);
8223}
8224/**
8225 * Matcher for detecting tuples t where []grantor attribute External_Allowance(source,target)
8226 */
8227private pattern mustInRelationgrantor_attribute_External_Allowance(
8228 problem:LogicProblem, interpretation:PartialInterpretation,
8229 source: DefinedElement, target:DefinedElement)
8230{
8231 find interpretation(problem,interpretation);
8232 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
8233 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"grantor attribute External_Allowance");
8234 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
8235 BinaryElementRelationLink.param1(link,source);
8236 BinaryElementRelationLink.param2(link,target);
8237}
8238/**
8239 * Matcher for detecting tuples t where <>grantor attribute External_Allowance(source,target)
8240 */
8241private pattern mayInRelationgrantor_attribute_External_Allowance(
8242 problem:LogicProblem, interpretation:PartialInterpretation,
8243 source: DefinedElement, target:DefinedElement)
8244{
8245 find interpretation(problem,interpretation);
8246 // The two endpoint of the link have to exist
8247 find mayExist(problem, interpretation, source);
8248 find mayExist(problem, interpretation, target);
8249 // Type consistency
8250 find mayInstanceOfExternal_Allowance_class(problem,interpretation,source);
8251 find mayInstanceOfGrantor_enum(problem,interpretation,target);
8252 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
8253 // the upper bound of the multiplicity should be considered.
8254 numberOfExistingReferences == count find mustInRelationgrantor_attribute_External_Allowance(problem,interpretation,source,_);
8255 check(numberOfExistingReferences < 1);
8256} or {
8257 find mustInRelationgrantor_attribute_External_Allowance(problem,interpretation,source,target);
8258}
8259/**
8260 * Matcher for detecting tuples t where []starting_year attribute External_Allowance(source,target)
8261 */
8262private pattern mustInRelationstarting_year_attribute_External_Allowance(
8263 problem:LogicProblem, interpretation:PartialInterpretation,
8264 source: DefinedElement, target:DefinedElement)
8265{
8266 find interpretation(problem,interpretation);
8267 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
8268 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"starting_year attribute External_Allowance");
8269 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
8270 BinaryElementRelationLink.param1(link,source);
8271 BinaryElementRelationLink.param2(link,target);
8272}
8273/**
8274 * Matcher for detecting tuples t where <>starting_year attribute External_Allowance(source,target)
8275 */
8276private pattern mayInRelationstarting_year_attribute_External_Allowance(
8277 problem:LogicProblem, interpretation:PartialInterpretation,
8278 source: DefinedElement, target:DefinedElement)
8279{
8280 find interpretation(problem,interpretation);
8281 // The two endpoint of the link have to exist
8282 find mayExist(problem, interpretation, source);
8283 find mayExist(problem, interpretation, target);
8284 // Type consistency
8285 find mayInstanceOfExternal_Allowance_class(problem,interpretation,source);
8286 IntegerElement(target);
8287 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
8288 // the upper bound of the multiplicity should be considered.
8289 numberOfExistingReferences == count find mustInRelationstarting_year_attribute_External_Allowance(problem,interpretation,source,_);
8290 check(numberOfExistingReferences < 1);
8291} or {
8292 find mustInRelationstarting_year_attribute_External_Allowance(problem,interpretation,source,target);
8293}
8294/**
8295 * Matcher for detecting tuples t where []ending_year attribute External_Allowance(source,target)
8296 */
8297private pattern mustInRelationending_year_attribute_External_Allowance(
8298 problem:LogicProblem, interpretation:PartialInterpretation,
8299 source: DefinedElement, target:DefinedElement)
8300{
8301 find interpretation(problem,interpretation);
8302 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
8303 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"ending_year attribute External_Allowance");
8304 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
8305 BinaryElementRelationLink.param1(link,source);
8306 BinaryElementRelationLink.param2(link,target);
8307}
8308/**
8309 * Matcher for detecting tuples t where <>ending_year attribute External_Allowance(source,target)
8310 */
8311private pattern mayInRelationending_year_attribute_External_Allowance(
8312 problem:LogicProblem, interpretation:PartialInterpretation,
8313 source: DefinedElement, target:DefinedElement)
8314{
8315 find interpretation(problem,interpretation);
8316 // The two endpoint of the link have to exist
8317 find mayExist(problem, interpretation, source);
8318 find mayExist(problem, interpretation, target);
8319 // Type consistency
8320 find mayInstanceOfExternal_Allowance_class(problem,interpretation,source);
8321 IntegerElement(target);
8322 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
8323 // the upper bound of the multiplicity should be considered.
8324 numberOfExistingReferences == count find mustInRelationending_year_attribute_External_Allowance(problem,interpretation,source,_);
8325 check(numberOfExistingReferences < 1);
8326} or {
8327 find mustInRelationending_year_attribute_External_Allowance(problem,interpretation,source,target);
8328}
8329/**
8330 * Matcher for detecting tuples t where []id5 attribute External_Allowance(source,target)
8331 */
8332private pattern mustInRelationid5_attribute_External_Allowance(
8333 problem:LogicProblem, interpretation:PartialInterpretation,
8334 source: DefinedElement, target:DefinedElement)
8335{
8336 find interpretation(problem,interpretation);
8337 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
8338 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"id5 attribute External_Allowance");
8339 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
8340 BinaryElementRelationLink.param1(link,source);
8341 BinaryElementRelationLink.param2(link,target);
8342}
8343/**
8344 * Matcher for detecting tuples t where <>id5 attribute External_Allowance(source,target)
8345 */
8346private pattern mayInRelationid5_attribute_External_Allowance(
8347 problem:LogicProblem, interpretation:PartialInterpretation,
8348 source: DefinedElement, target:DefinedElement)
8349{
8350 find interpretation(problem,interpretation);
8351 // The two endpoint of the link have to exist
8352 find mayExist(problem, interpretation, source);
8353 find mayExist(problem, interpretation, target);
8354 // Type consistency
8355 find mayInstanceOfExternal_Allowance_class(problem,interpretation,source);
8356 StringElement(target);
8357 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
8358 // the upper bound of the multiplicity should be considered.
8359 numberOfExistingReferences == count find mustInRelationid5_attribute_External_Allowance(problem,interpretation,source,_);
8360 check(numberOfExistingReferences < 1);
8361} or {
8362 find mustInRelationid5_attribute_External_Allowance(problem,interpretation,source,target);
8363}
8364/**
8365 * Matcher for detecting tuples t where []id1 attribute Household(source,target)
8366 */
8367private pattern mustInRelationid1_attribute_Household(
8368 problem:LogicProblem, interpretation:PartialInterpretation,
8369 source: DefinedElement, target:DefinedElement)
8370{
8371 find interpretation(problem,interpretation);
8372 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
8373 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"id1 attribute Household");
8374 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
8375 BinaryElementRelationLink.param1(link,source);
8376 BinaryElementRelationLink.param2(link,target);
8377}
8378/**
8379 * Matcher for detecting tuples t where <>id1 attribute Household(source,target)
8380 */
8381private pattern mayInRelationid1_attribute_Household(
8382 problem:LogicProblem, interpretation:PartialInterpretation,
8383 source: DefinedElement, target:DefinedElement)
8384{
8385 find interpretation(problem,interpretation);
8386 // The two endpoint of the link have to exist
8387 find mayExist(problem, interpretation, source);
8388 find mayExist(problem, interpretation, target);
8389 // Type consistency
8390 find mayInstanceOfHousehold_class(problem,interpretation,source);
8391 StringElement(target);
8392 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
8393 // the upper bound of the multiplicity should be considered.
8394 numberOfExistingReferences == count find mustInRelationid1_attribute_Household(problem,interpretation,source,_);
8395 check(numberOfExistingReferences < 1);
8396} or {
8397 find mustInRelationid1_attribute_Household(problem,interpretation,source,target);
8398}
8399/**
8400 * Matcher for detecting tuples t where []start_year attribute Legal_Union_Record(source,target)
8401 */
8402private pattern mustInRelationstart_year_attribute_Legal_Union_Record(
8403 problem:LogicProblem, interpretation:PartialInterpretation,
8404 source: DefinedElement, target:DefinedElement)
8405{
8406 find interpretation(problem,interpretation);
8407 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
8408 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"start_year attribute Legal_Union_Record");
8409 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
8410 BinaryElementRelationLink.param1(link,source);
8411 BinaryElementRelationLink.param2(link,target);
8412}
8413/**
8414 * Matcher for detecting tuples t where <>start_year attribute Legal_Union_Record(source,target)
8415 */
8416private pattern mayInRelationstart_year_attribute_Legal_Union_Record(
8417 problem:LogicProblem, interpretation:PartialInterpretation,
8418 source: DefinedElement, target:DefinedElement)
8419{
8420 find interpretation(problem,interpretation);
8421 // The two endpoint of the link have to exist
8422 find mayExist(problem, interpretation, source);
8423 find mayExist(problem, interpretation, target);
8424 // Type consistency
8425 find mayInstanceOfLegal_Union_Record_class(problem,interpretation,source);
8426 IntegerElement(target);
8427 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
8428 // the upper bound of the multiplicity should be considered.
8429 numberOfExistingReferences == count find mustInRelationstart_year_attribute_Legal_Union_Record(problem,interpretation,source,_);
8430 check(numberOfExistingReferences < 1);
8431} or {
8432 find mustInRelationstart_year_attribute_Legal_Union_Record(problem,interpretation,source,target);
8433}
8434/**
8435 * Matcher for detecting tuples t where []end_year attribute Legal_Union_Record(source,target)
8436 */
8437private pattern mustInRelationend_year_attribute_Legal_Union_Record(
8438 problem:LogicProblem, interpretation:PartialInterpretation,
8439 source: DefinedElement, target:DefinedElement)
8440{
8441 find interpretation(problem,interpretation);
8442 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
8443 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"end_year attribute Legal_Union_Record");
8444 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
8445 BinaryElementRelationLink.param1(link,source);
8446 BinaryElementRelationLink.param2(link,target);
8447}
8448/**
8449 * Matcher for detecting tuples t where <>end_year attribute Legal_Union_Record(source,target)
8450 */
8451private pattern mayInRelationend_year_attribute_Legal_Union_Record(
8452 problem:LogicProblem, interpretation:PartialInterpretation,
8453 source: DefinedElement, target:DefinedElement)
8454{
8455 find interpretation(problem,interpretation);
8456 // The two endpoint of the link have to exist
8457 find mayExist(problem, interpretation, source);
8458 find mayExist(problem, interpretation, target);
8459 // Type consistency
8460 find mayInstanceOfLegal_Union_Record_class(problem,interpretation,source);
8461 IntegerElement(target);
8462 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
8463 // the upper bound of the multiplicity should be considered.
8464 numberOfExistingReferences == count find mustInRelationend_year_attribute_Legal_Union_Record(problem,interpretation,source,_);
8465 check(numberOfExistingReferences < 1);
8466} or {
8467 find mustInRelationend_year_attribute_Legal_Union_Record(problem,interpretation,source,target);
8468}
8469/**
8470 * Matcher for detecting tuples t where []separation_cause attribute Legal_Union_Record(source,target)
8471 */
8472private pattern mustInRelationseparation_cause_attribute_Legal_Union_Record(
8473 problem:LogicProblem, interpretation:PartialInterpretation,
8474 source: DefinedElement, target:DefinedElement)
8475{
8476 find interpretation(problem,interpretation);
8477 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
8478 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"separation_cause attribute Legal_Union_Record");
8479 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
8480 BinaryElementRelationLink.param1(link,source);
8481 BinaryElementRelationLink.param2(link,target);
8482}
8483/**
8484 * Matcher for detecting tuples t where <>separation_cause attribute Legal_Union_Record(source,target)
8485 */
8486private pattern mayInRelationseparation_cause_attribute_Legal_Union_Record(
8487 problem:LogicProblem, interpretation:PartialInterpretation,
8488 source: DefinedElement, target:DefinedElement)
8489{
8490 find interpretation(problem,interpretation);
8491 // The two endpoint of the link have to exist
8492 find mayExist(problem, interpretation, source);
8493 find mayExist(problem, interpretation, target);
8494 // Type consistency
8495 find mayInstanceOfLegal_Union_Record_class(problem,interpretation,source);
8496 find mayInstanceOfSeparation_Causes_enum(problem,interpretation,target);
8497 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
8498 // the upper bound of the multiplicity should be considered.
8499 numberOfExistingReferences == count find mustInRelationseparation_cause_attribute_Legal_Union_Record(problem,interpretation,source,_);
8500 check(numberOfExistingReferences < 1);
8501} or {
8502 find mustInRelationseparation_cause_attribute_Legal_Union_Record(problem,interpretation,source,target);
8503}
8504/**
8505 * Matcher for detecting tuples t where []mutual_agreement attribute Legal_Union_Record(source,target)
8506 */
8507private pattern mustInRelationmutual_agreement_attribute_Legal_Union_Record(
8508 problem:LogicProblem, interpretation:PartialInterpretation,
8509 source: DefinedElement, target:DefinedElement)
8510{
8511 find interpretation(problem,interpretation);
8512 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
8513 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"mutual_agreement attribute Legal_Union_Record");
8514 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
8515 BinaryElementRelationLink.param1(link,source);
8516 BinaryElementRelationLink.param2(link,target);
8517}
8518/**
8519 * Matcher for detecting tuples t where <>mutual_agreement attribute Legal_Union_Record(source,target)
8520 */
8521private pattern mayInRelationmutual_agreement_attribute_Legal_Union_Record(
8522 problem:LogicProblem, interpretation:PartialInterpretation,
8523 source: DefinedElement, target:DefinedElement)
8524{
8525 find interpretation(problem,interpretation);
8526 // The two endpoint of the link have to exist
8527 find mayExist(problem, interpretation, source);
8528 find mayExist(problem, interpretation, target);
8529 // Type consistency
8530 find mayInstanceOfLegal_Union_Record_class(problem,interpretation,source);
8531 BooleanElement(target);
8532 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
8533 // the upper bound of the multiplicity should be considered.
8534 numberOfExistingReferences == count find mustInRelationmutual_agreement_attribute_Legal_Union_Record(problem,interpretation,source,_);
8535 check(numberOfExistingReferences < 1);
8536} or {
8537 find mustInRelationmutual_agreement_attribute_Legal_Union_Record(problem,interpretation,source,target);
8538}
8539/**
8540 * Matcher for detecting tuples t where []id9 attribute Legal_Union_Record(source,target)
8541 */
8542private pattern mustInRelationid9_attribute_Legal_Union_Record(
8543 problem:LogicProblem, interpretation:PartialInterpretation,
8544 source: DefinedElement, target:DefinedElement)
8545{
8546 find interpretation(problem,interpretation);
8547 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
8548 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"id9 attribute Legal_Union_Record");
8549 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
8550 BinaryElementRelationLink.param1(link,source);
8551 BinaryElementRelationLink.param2(link,target);
8552}
8553/**
8554 * Matcher for detecting tuples t where <>id9 attribute Legal_Union_Record(source,target)
8555 */
8556private pattern mayInRelationid9_attribute_Legal_Union_Record(
8557 problem:LogicProblem, interpretation:PartialInterpretation,
8558 source: DefinedElement, target:DefinedElement)
8559{
8560 find interpretation(problem,interpretation);
8561 // The two endpoint of the link have to exist
8562 find mayExist(problem, interpretation, source);
8563 find mayExist(problem, interpretation, target);
8564 // Type consistency
8565 find mayInstanceOfLegal_Union_Record_class(problem,interpretation,source);
8566 StringElement(target);
8567 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
8568 // the upper bound of the multiplicity should be considered.
8569 numberOfExistingReferences == count find mustInRelationid9_attribute_Legal_Union_Record(problem,interpretation,source,_);
8570 check(numberOfExistingReferences < 1);
8571} or {
8572 find mustInRelationid9_attribute_Legal_Union_Record(problem,interpretation,source,target);
8573}
8574/**
8575 * Matcher for detecting tuples t where []starting_year attribute Tax_Property(source,target)
8576 */
8577private pattern mustInRelationstarting_year_attribute_Tax_Property(
8578 problem:LogicProblem, interpretation:PartialInterpretation,
8579 source: DefinedElement, target:DefinedElement)
8580{
8581 find interpretation(problem,interpretation);
8582 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
8583 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"starting_year attribute Tax_Property");
8584 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
8585 BinaryElementRelationLink.param1(link,source);
8586 BinaryElementRelationLink.param2(link,target);
8587}
8588/**
8589 * Matcher for detecting tuples t where <>starting_year attribute Tax_Property(source,target)
8590 */
8591private pattern mayInRelationstarting_year_attribute_Tax_Property(
8592 problem:LogicProblem, interpretation:PartialInterpretation,
8593 source: DefinedElement, target:DefinedElement)
8594{
8595 find interpretation(problem,interpretation);
8596 // The two endpoint of the link have to exist
8597 find mayExist(problem, interpretation, source);
8598 find mayExist(problem, interpretation, target);
8599 // Type consistency
8600 find mayInstanceOfTax_Property_class(problem,interpretation,source);
8601 IntegerElement(target);
8602 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
8603 // the upper bound of the multiplicity should be considered.
8604 numberOfExistingReferences == count find mustInRelationstarting_year_attribute_Tax_Property(problem,interpretation,source,_);
8605 check(numberOfExistingReferences < 1);
8606} or {
8607 find mustInRelationstarting_year_attribute_Tax_Property(problem,interpretation,source,target);
8608}
8609/**
8610 * Matcher for detecting tuples t where []id10 attribute Tax_Property(source,target)
8611 */
8612private pattern mustInRelationid10_attribute_Tax_Property(
8613 problem:LogicProblem, interpretation:PartialInterpretation,
8614 source: DefinedElement, target:DefinedElement)
8615{
8616 find interpretation(problem,interpretation);
8617 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
8618 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"id10 attribute Tax_Property");
8619 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
8620 BinaryElementRelationLink.param1(link,source);
8621 BinaryElementRelationLink.param2(link,target);
8622}
8623/**
8624 * Matcher for detecting tuples t where <>id10 attribute Tax_Property(source,target)
8625 */
8626private pattern mayInRelationid10_attribute_Tax_Property(
8627 problem:LogicProblem, interpretation:PartialInterpretation,
8628 source: DefinedElement, target:DefinedElement)
8629{
8630 find interpretation(problem,interpretation);
8631 // The two endpoint of the link have to exist
8632 find mayExist(problem, interpretation, source);
8633 find mayExist(problem, interpretation, target);
8634 // Type consistency
8635 find mayInstanceOfTax_Property_class(problem,interpretation,source);
8636 StringElement(target);
8637 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
8638 // the upper bound of the multiplicity should be considered.
8639 numberOfExistingReferences == count find mustInRelationid10_attribute_Tax_Property(problem,interpretation,source,_);
8640 check(numberOfExistingReferences < 1);
8641} or {
8642 find mustInRelationid10_attribute_Tax_Property(problem,interpretation,source,target);
8643}
8644/**
8645 * Matcher for detecting tuples t where []is_dependent_eligible_for_CE_Not_In_Houshold_Children_Care attribute FromAgent(source,target)
8646 */
8647private pattern mustInRelationis_dependent_eligible_for_CE_Not_In_Houshold_Children_Care_attribute_FromAgent(
8648 problem:LogicProblem, interpretation:PartialInterpretation,
8649 source: DefinedElement, target:DefinedElement)
8650{
8651 find interpretation(problem,interpretation);
8652 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
8653 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"is_dependent_eligible_for_CE_Not_In_Houshold_Children_Care attribute FromAgent");
8654 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
8655 BinaryElementRelationLink.param1(link,source);
8656 BinaryElementRelationLink.param2(link,target);
8657}
8658/**
8659 * Matcher for detecting tuples t where <>is_dependent_eligible_for_CE_Not_In_Houshold_Children_Care attribute FromAgent(source,target)
8660 */
8661private pattern mayInRelationis_dependent_eligible_for_CE_Not_In_Houshold_Children_Care_attribute_FromAgent(
8662 problem:LogicProblem, interpretation:PartialInterpretation,
8663 source: DefinedElement, target:DefinedElement)
8664{
8665 find interpretation(problem,interpretation);
8666 // The two endpoint of the link have to exist
8667 find mayExist(problem, interpretation, source);
8668 find mayExist(problem, interpretation, target);
8669 // Type consistency
8670 find mayInstanceOfFromAgent_class(problem,interpretation,source);
8671 BooleanElement(target);
8672 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
8673 // the upper bound of the multiplicity should be considered.
8674 numberOfExistingReferences == count find mustInRelationis_dependent_eligible_for_CE_Not_In_Houshold_Children_Care_attribute_FromAgent(problem,interpretation,source,_);
8675 check(numberOfExistingReferences < 1);
8676} or {
8677 find mustInRelationis_dependent_eligible_for_CE_Not_In_Houshold_Children_Care_attribute_FromAgent(problem,interpretation,source,target);
8678}
8679/**
8680 * Matcher for detecting tuples t where []is_eligible_debt attribute FromAgent(source,target)
8681 */
8682private pattern mustInRelationis_eligible_debt_attribute_FromAgent(
8683 problem:LogicProblem, interpretation:PartialInterpretation,
8684 source: DefinedElement, target:DefinedElement)
8685{
8686 find interpretation(problem,interpretation);
8687 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
8688 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"is_eligible_debt attribute FromAgent");
8689 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
8690 BinaryElementRelationLink.param1(link,source);
8691 BinaryElementRelationLink.param2(link,target);
8692}
8693/**
8694 * Matcher for detecting tuples t where <>is_eligible_debt attribute FromAgent(source,target)
8695 */
8696private pattern mayInRelationis_eligible_debt_attribute_FromAgent(
8697 problem:LogicProblem, interpretation:PartialInterpretation,
8698 source: DefinedElement, target:DefinedElement)
8699{
8700 find interpretation(problem,interpretation);
8701 // The two endpoint of the link have to exist
8702 find mayExist(problem, interpretation, source);
8703 find mayExist(problem, interpretation, target);
8704 // Type consistency
8705 find mayInstanceOfFromAgent_class(problem,interpretation,source);
8706 BooleanElement(target);
8707 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
8708 // the upper bound of the multiplicity should be considered.
8709 numberOfExistingReferences == count find mustInRelationis_eligible_debt_attribute_FromAgent(problem,interpretation,source,_);
8710 check(numberOfExistingReferences < 1);
8711} or {
8712 find mustInRelationis_eligible_debt_attribute_FromAgent(problem,interpretation,source,target);
8713}
8714/**
8715 * Matcher for detecting tuples t where []income_amount attribute Income(source,target)
8716 */
8717private pattern mustInRelationincome_amount_attribute_Income(
8718 problem:LogicProblem, interpretation:PartialInterpretation,
8719 source: DefinedElement, target:DefinedElement)
8720{
8721 find interpretation(problem,interpretation);
8722 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
8723 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"income_amount attribute Income");
8724 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
8725 BinaryElementRelationLink.param1(link,source);
8726 BinaryElementRelationLink.param2(link,target);
8727}
8728/**
8729 * Matcher for detecting tuples t where <>income_amount attribute Income(source,target)
8730 */
8731private pattern mayInRelationincome_amount_attribute_Income(
8732 problem:LogicProblem, interpretation:PartialInterpretation,
8733 source: DefinedElement, target:DefinedElement)
8734{
8735 find interpretation(problem,interpretation);
8736 // The two endpoint of the link have to exist
8737 find mayExist(problem, interpretation, source);
8738 find mayExist(problem, interpretation, target);
8739 // Type consistency
8740 find mayInstanceOfIncome_class(problem,interpretation,source);
8741 RealElement(target);
8742 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
8743 // the upper bound of the multiplicity should be considered.
8744 numberOfExistingReferences == count find mustInRelationincome_amount_attribute_Income(problem,interpretation,source,_);
8745 check(numberOfExistingReferences < 1);
8746} or {
8747 find mustInRelationincome_amount_attribute_Income(problem,interpretation,source,target);
8748}
8749/**
8750 * Matcher for detecting tuples t where []tax_liability attribute Income(source,target)
8751 */
8752private pattern mustInRelationtax_liability_attribute_Income(
8753 problem:LogicProblem, interpretation:PartialInterpretation,
8754 source: DefinedElement, target:DefinedElement)
8755{
8756 find interpretation(problem,interpretation);
8757 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
8758 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"tax_liability attribute Income");
8759 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
8760 BinaryElementRelationLink.param1(link,source);
8761 BinaryElementRelationLink.param2(link,target);
8762}
8763/**
8764 * Matcher for detecting tuples t where <>tax_liability attribute Income(source,target)
8765 */
8766private pattern mayInRelationtax_liability_attribute_Income(
8767 problem:LogicProblem, interpretation:PartialInterpretation,
8768 source: DefinedElement, target:DefinedElement)
8769{
8770 find interpretation(problem,interpretation);
8771 // The two endpoint of the link have to exist
8772 find mayExist(problem, interpretation, source);
8773 find mayExist(problem, interpretation, target);
8774 // Type consistency
8775 find mayInstanceOfIncome_class(problem,interpretation,source);
8776 RealElement(target);
8777 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
8778 // the upper bound of the multiplicity should be considered.
8779 numberOfExistingReferences == count find mustInRelationtax_liability_attribute_Income(problem,interpretation,source,_);
8780 check(numberOfExistingReferences < 1);
8781} or {
8782 find mustInRelationtax_liability_attribute_Income(problem,interpretation,source,target);
8783}
8784/**
8785 * Matcher for detecting tuples t where []num attribute Income(source,target)
8786 */
8787private pattern mustInRelationnum_attribute_Income(
8788 problem:LogicProblem, interpretation:PartialInterpretation,
8789 source: DefinedElement, target:DefinedElement)
8790{
8791 find interpretation(problem,interpretation);
8792 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
8793 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"num attribute Income");
8794 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
8795 BinaryElementRelationLink.param1(link,source);
8796 BinaryElementRelationLink.param2(link,target);
8797}
8798/**
8799 * Matcher for detecting tuples t where <>num attribute Income(source,target)
8800 */
8801private pattern mayInRelationnum_attribute_Income(
8802 problem:LogicProblem, interpretation:PartialInterpretation,
8803 source: DefinedElement, target:DefinedElement)
8804{
8805 find interpretation(problem,interpretation);
8806 // The two endpoint of the link have to exist
8807 find mayExist(problem, interpretation, source);
8808 find mayExist(problem, interpretation, target);
8809 // Type consistency
8810 find mayInstanceOfIncome_class(problem,interpretation,source);
8811 IntegerElement(target);
8812 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
8813 // the upper bound of the multiplicity should be considered.
8814 numberOfExistingReferences == count find mustInRelationnum_attribute_Income(problem,interpretation,source,_);
8815 check(numberOfExistingReferences < 1);
8816} or {
8817 find mustInRelationnum_attribute_Income(problem,interpretation,source,target);
8818}
8819/**
8820 * Matcher for detecting tuples t where []subjectToWithholdingTax attribute Income_Type(source,target)
8821 */
8822private pattern mustInRelationsubjectToWithholdingTax_attribute_Income_Type(
8823 problem:LogicProblem, interpretation:PartialInterpretation,
8824 source: DefinedElement, target:DefinedElement)
8825{
8826 find interpretation(problem,interpretation);
8827 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
8828 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"subjectToWithholdingTax attribute Income_Type");
8829 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
8830 BinaryElementRelationLink.param1(link,source);
8831 BinaryElementRelationLink.param2(link,target);
8832}
8833/**
8834 * Matcher for detecting tuples t where <>subjectToWithholdingTax attribute Income_Type(source,target)
8835 */
8836private pattern mayInRelationsubjectToWithholdingTax_attribute_Income_Type(
8837 problem:LogicProblem, interpretation:PartialInterpretation,
8838 source: DefinedElement, target:DefinedElement)
8839{
8840 find interpretation(problem,interpretation);
8841 // The two endpoint of the link have to exist
8842 find mayExist(problem, interpretation, source);
8843 find mayExist(problem, interpretation, target);
8844 // Type consistency
8845 find mayInstanceOfIncome_Type_class(problem,interpretation,source);
8846 BooleanElement(target);
8847 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
8848 // the upper bound of the multiplicity should be considered.
8849 numberOfExistingReferences == count find mustInRelationsubjectToWithholdingTax_attribute_Income_Type(problem,interpretation,source,_);
8850 check(numberOfExistingReferences < 1);
8851} or {
8852 find mustInRelationsubjectToWithholdingTax_attribute_Income_Type(problem,interpretation,source,target);
8853}
8854/**
8855 * Matcher for detecting tuples t where []id8 attribute Income_Type(source,target)
8856 */
8857private pattern mustInRelationid8_attribute_Income_Type(
8858 problem:LogicProblem, interpretation:PartialInterpretation,
8859 source: DefinedElement, target:DefinedElement)
8860{
8861 find interpretation(problem,interpretation);
8862 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
8863 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"id8 attribute Income_Type");
8864 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
8865 BinaryElementRelationLink.param1(link,source);
8866 BinaryElementRelationLink.param2(link,target);
8867}
8868/**
8869 * Matcher for detecting tuples t where <>id8 attribute Income_Type(source,target)
8870 */
8871private pattern mayInRelationid8_attribute_Income_Type(
8872 problem:LogicProblem, interpretation:PartialInterpretation,
8873 source: DefinedElement, target:DefinedElement)
8874{
8875 find interpretation(problem,interpretation);
8876 // The two endpoint of the link have to exist
8877 find mayExist(problem, interpretation, source);
8878 find mayExist(problem, interpretation, target);
8879 // Type consistency
8880 find mayInstanceOfIncome_Type_class(problem,interpretation,source);
8881 StringElement(target);
8882 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
8883 // the upper bound of the multiplicity should be considered.
8884 numberOfExistingReferences == count find mustInRelationid8_attribute_Income_Type(problem,interpretation,source,_);
8885 check(numberOfExistingReferences < 1);
8886} or {
8887 find mustInRelationid8_attribute_Income_Type(problem,interpretation,source,target);
8888}
8889/**
8890 * Matcher for detecting tuples t where []card_identifier attribute Tax_Card(source,target)
8891 */
8892private pattern mustInRelationcard_identifier_attribute_Tax_Card(
8893 problem:LogicProblem, interpretation:PartialInterpretation,
8894 source: DefinedElement, target:DefinedElement)
8895{
8896 find interpretation(problem,interpretation);
8897 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
8898 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"card_identifier attribute Tax_Card");
8899 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
8900 BinaryElementRelationLink.param1(link,source);
8901 BinaryElementRelationLink.param2(link,target);
8902}
8903/**
8904 * Matcher for detecting tuples t where <>card_identifier attribute Tax_Card(source,target)
8905 */
8906private pattern mayInRelationcard_identifier_attribute_Tax_Card(
8907 problem:LogicProblem, interpretation:PartialInterpretation,
8908 source: DefinedElement, target:DefinedElement)
8909{
8910 find interpretation(problem,interpretation);
8911 // The two endpoint of the link have to exist
8912 find mayExist(problem, interpretation, source);
8913 find mayExist(problem, interpretation, target);
8914 // Type consistency
8915 find mayInstanceOfTax_Card_class(problem,interpretation,source);
8916 StringElement(target);
8917 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
8918 // the upper bound of the multiplicity should be considered.
8919 numberOfExistingReferences == count find mustInRelationcard_identifier_attribute_Tax_Card(problem,interpretation,source,_);
8920 check(numberOfExistingReferences < 1);
8921} or {
8922 find mustInRelationcard_identifier_attribute_Tax_Card(problem,interpretation,source,target);
8923}
8924/**
8925 * Matcher for detecting tuples t where []tax_card_type attribute Tax_Card(source,target)
8926 */
8927private pattern mustInRelationtax_card_type_attribute_Tax_Card(
8928 problem:LogicProblem, interpretation:PartialInterpretation,
8929 source: DefinedElement, target:DefinedElement)
8930{
8931 find interpretation(problem,interpretation);
8932 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
8933 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"tax_card_type attribute Tax_Card");
8934 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
8935 BinaryElementRelationLink.param1(link,source);
8936 BinaryElementRelationLink.param2(link,target);
8937}
8938/**
8939 * Matcher for detecting tuples t where <>tax_card_type attribute Tax_Card(source,target)
8940 */
8941private pattern mayInRelationtax_card_type_attribute_Tax_Card(
8942 problem:LogicProblem, interpretation:PartialInterpretation,
8943 source: DefinedElement, target:DefinedElement)
8944{
8945 find interpretation(problem,interpretation);
8946 // The two endpoint of the link have to exist
8947 find mayExist(problem, interpretation, source);
8948 find mayExist(problem, interpretation, target);
8949 // Type consistency
8950 find mayInstanceOfTax_Card_class(problem,interpretation,source);
8951 find mayInstanceOfTax_Card_Type_enum(problem,interpretation,target);
8952 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
8953 // the upper bound of the multiplicity should be considered.
8954 numberOfExistingReferences == count find mustInRelationtax_card_type_attribute_Tax_Card(problem,interpretation,source,_);
8955 check(numberOfExistingReferences < 1);
8956} or {
8957 find mustInRelationtax_card_type_attribute_Tax_Card(problem,interpretation,source,target);
8958}
8959/**
8960 * Matcher for detecting tuples t where []tax_office attribute Tax_Card(source,target)
8961 */
8962private pattern mustInRelationtax_office_attribute_Tax_Card(
8963 problem:LogicProblem, interpretation:PartialInterpretation,
8964 source: DefinedElement, target:DefinedElement)
8965{
8966 find interpretation(problem,interpretation);
8967 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
8968 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"tax_office attribute Tax_Card");
8969 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
8970 BinaryElementRelationLink.param1(link,source);
8971 BinaryElementRelationLink.param2(link,target);
8972}
8973/**
8974 * Matcher for detecting tuples t where <>tax_office attribute Tax_Card(source,target)
8975 */
8976private pattern mayInRelationtax_office_attribute_Tax_Card(
8977 problem:LogicProblem, interpretation:PartialInterpretation,
8978 source: DefinedElement, target:DefinedElement)
8979{
8980 find interpretation(problem,interpretation);
8981 // The two endpoint of the link have to exist
8982 find mayExist(problem, interpretation, source);
8983 find mayExist(problem, interpretation, target);
8984 // Type consistency
8985 find mayInstanceOfTax_Card_class(problem,interpretation,source);
8986 find mayInstanceOfTax_Office_enum(problem,interpretation,target);
8987 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
8988 // the upper bound of the multiplicity should be considered.
8989 numberOfExistingReferences == count find mustInRelationtax_office_attribute_Tax_Card(problem,interpretation,source,_);
8990 check(numberOfExistingReferences < 1);
8991} or {
8992 find mustInRelationtax_office_attribute_Tax_Card(problem,interpretation,source,target);
8993}
8994/**
8995 * Matcher for detecting tuples t where []percentage_of_witholding attribute Tax_Card(source,target)
8996 */
8997private pattern mustInRelationpercentage_of_witholding_attribute_Tax_Card(
8998 problem:LogicProblem, interpretation:PartialInterpretation,
8999 source: DefinedElement, target:DefinedElement)
9000{
9001 find interpretation(problem,interpretation);
9002 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
9003 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"percentage_of_witholding attribute Tax_Card");
9004 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
9005 BinaryElementRelationLink.param1(link,source);
9006 BinaryElementRelationLink.param2(link,target);
9007}
9008/**
9009 * Matcher for detecting tuples t where <>percentage_of_witholding attribute Tax_Card(source,target)
9010 */
9011private pattern mayInRelationpercentage_of_witholding_attribute_Tax_Card(
9012 problem:LogicProblem, interpretation:PartialInterpretation,
9013 source: DefinedElement, target:DefinedElement)
9014{
9015 find interpretation(problem,interpretation);
9016 // The two endpoint of the link have to exist
9017 find mayExist(problem, interpretation, source);
9018 find mayExist(problem, interpretation, target);
9019 // Type consistency
9020 find mayInstanceOfTax_Card_class(problem,interpretation,source);
9021 RealElement(target);
9022 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
9023 // the upper bound of the multiplicity should be considered.
9024 numberOfExistingReferences == count find mustInRelationpercentage_of_witholding_attribute_Tax_Card(problem,interpretation,source,_);
9025 check(numberOfExistingReferences < 1);
9026} or {
9027 find mustInRelationpercentage_of_witholding_attribute_Tax_Card(problem,interpretation,source,target);
9028}
9029/**
9030 * Matcher for detecting tuples t where []tax_payers_name_surname attribute Tax_Card(source,target)
9031 */
9032private pattern mustInRelationtax_payers_name_surname_attribute_Tax_Card(
9033 problem:LogicProblem, interpretation:PartialInterpretation,
9034 source: DefinedElement, target:DefinedElement)
9035{
9036 find interpretation(problem,interpretation);
9037 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
9038 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"tax_payers_name_surname attribute Tax_Card");
9039 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
9040 BinaryElementRelationLink.param1(link,source);
9041 BinaryElementRelationLink.param2(link,target);
9042}
9043/**
9044 * Matcher for detecting tuples t where <>tax_payers_name_surname attribute Tax_Card(source,target)
9045 */
9046private pattern mayInRelationtax_payers_name_surname_attribute_Tax_Card(
9047 problem:LogicProblem, interpretation:PartialInterpretation,
9048 source: DefinedElement, target:DefinedElement)
9049{
9050 find interpretation(problem,interpretation);
9051 // The two endpoint of the link have to exist
9052 find mayExist(problem, interpretation, source);
9053 find mayExist(problem, interpretation, target);
9054 // Type consistency
9055 find mayInstanceOfTax_Card_class(problem,interpretation,source);
9056 StringElement(target);
9057} or {
9058 find mustInRelationtax_payers_name_surname_attribute_Tax_Card(problem,interpretation,source,target);
9059}
9060/**
9061 * Matcher for detecting tuples t where []tax_payers_partner_name_surname attribute Tax_Card(source,target)
9062 */
9063private pattern mustInRelationtax_payers_partner_name_surname_attribute_Tax_Card(
9064 problem:LogicProblem, interpretation:PartialInterpretation,
9065 source: DefinedElement, target:DefinedElement)
9066{
9067 find interpretation(problem,interpretation);
9068 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
9069 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"tax_payers_partner_name_surname attribute Tax_Card");
9070 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
9071 BinaryElementRelationLink.param1(link,source);
9072 BinaryElementRelationLink.param2(link,target);
9073}
9074/**
9075 * Matcher for detecting tuples t where <>tax_payers_partner_name_surname attribute Tax_Card(source,target)
9076 */
9077private pattern mayInRelationtax_payers_partner_name_surname_attribute_Tax_Card(
9078 problem:LogicProblem, interpretation:PartialInterpretation,
9079 source: DefinedElement, target:DefinedElement)
9080{
9081 find interpretation(problem,interpretation);
9082 // The two endpoint of the link have to exist
9083 find mayExist(problem, interpretation, source);
9084 find mayExist(problem, interpretation, target);
9085 // Type consistency
9086 find mayInstanceOfTax_Card_class(problem,interpretation,source);
9087 StringElement(target);
9088} or {
9089 find mustInRelationtax_payers_partner_name_surname_attribute_Tax_Card(problem,interpretation,source,target);
9090}
9091/**
9092 * Matcher for detecting tuples t where []jobs_Employer_SSNo attribute Tax_Card(source,target)
9093 */
9094private pattern mustInRelationjobs_Employer_SSNo_attribute_Tax_Card(
9095 problem:LogicProblem, interpretation:PartialInterpretation,
9096 source: DefinedElement, target:DefinedElement)
9097{
9098 find interpretation(problem,interpretation);
9099 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
9100 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"jobs_Employer_SSNo attribute Tax_Card");
9101 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
9102 BinaryElementRelationLink.param1(link,source);
9103 BinaryElementRelationLink.param2(link,target);
9104}
9105/**
9106 * Matcher for detecting tuples t where <>jobs_Employer_SSNo attribute Tax_Card(source,target)
9107 */
9108private pattern mayInRelationjobs_Employer_SSNo_attribute_Tax_Card(
9109 problem:LogicProblem, interpretation:PartialInterpretation,
9110 source: DefinedElement, target:DefinedElement)
9111{
9112 find interpretation(problem,interpretation);
9113 // The two endpoint of the link have to exist
9114 find mayExist(problem, interpretation, source);
9115 find mayExist(problem, interpretation, target);
9116 // Type consistency
9117 find mayInstanceOfTax_Card_class(problem,interpretation,source);
9118 StringElement(target);
9119 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
9120 // the upper bound of the multiplicity should be considered.
9121 numberOfExistingReferences == count find mustInRelationjobs_Employer_SSNo_attribute_Tax_Card(problem,interpretation,source,_);
9122 check(numberOfExistingReferences < 1);
9123} or {
9124 find mustInRelationjobs_Employer_SSNo_attribute_Tax_Card(problem,interpretation,source,target);
9125}
9126/**
9127 * Matcher for detecting tuples t where []jobs_employers_name attribute Tax_Card(source,target)
9128 */
9129private pattern mustInRelationjobs_employers_name_attribute_Tax_Card(
9130 problem:LogicProblem, interpretation:PartialInterpretation,
9131 source: DefinedElement, target:DefinedElement)
9132{
9133 find interpretation(problem,interpretation);
9134 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
9135 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"jobs_employers_name attribute Tax_Card");
9136 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
9137 BinaryElementRelationLink.param1(link,source);
9138 BinaryElementRelationLink.param2(link,target);
9139}
9140/**
9141 * Matcher for detecting tuples t where <>jobs_employers_name attribute Tax_Card(source,target)
9142 */
9143private pattern mayInRelationjobs_employers_name_attribute_Tax_Card(
9144 problem:LogicProblem, interpretation:PartialInterpretation,
9145 source: DefinedElement, target:DefinedElement)
9146{
9147 find interpretation(problem,interpretation);
9148 // The two endpoint of the link have to exist
9149 find mayExist(problem, interpretation, source);
9150 find mayExist(problem, interpretation, target);
9151 // Type consistency
9152 find mayInstanceOfTax_Card_class(problem,interpretation,source);
9153 StringElement(target);
9154 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
9155 // the upper bound of the multiplicity should be considered.
9156 numberOfExistingReferences == count find mustInRelationjobs_employers_name_attribute_Tax_Card(problem,interpretation,source,_);
9157 check(numberOfExistingReferences < 1);
9158} or {
9159 find mustInRelationjobs_employers_name_attribute_Tax_Card(problem,interpretation,source,target);
9160}
9161/**
9162 * Matcher for detecting tuples t where []jobs_activity_type attribute Tax_Card(source,target)
9163 */
9164private pattern mustInRelationjobs_activity_type_attribute_Tax_Card(
9165 problem:LogicProblem, interpretation:PartialInterpretation,
9166 source: DefinedElement, target:DefinedElement)
9167{
9168 find interpretation(problem,interpretation);
9169 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
9170 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"jobs_activity_type attribute Tax_Card");
9171 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
9172 BinaryElementRelationLink.param1(link,source);
9173 BinaryElementRelationLink.param2(link,target);
9174}
9175/**
9176 * Matcher for detecting tuples t where <>jobs_activity_type attribute Tax_Card(source,target)
9177 */
9178private pattern mayInRelationjobs_activity_type_attribute_Tax_Card(
9179 problem:LogicProblem, interpretation:PartialInterpretation,
9180 source: DefinedElement, target:DefinedElement)
9181{
9182 find interpretation(problem,interpretation);
9183 // The two endpoint of the link have to exist
9184 find mayExist(problem, interpretation, source);
9185 find mayExist(problem, interpretation, target);
9186 // Type consistency
9187 find mayInstanceOfTax_Card_class(problem,interpretation,source);
9188 find mayInstanceOfJob_Activity_enum(problem,interpretation,target);
9189 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
9190 // the upper bound of the multiplicity should be considered.
9191 numberOfExistingReferences == count find mustInRelationjobs_activity_type_attribute_Tax_Card(problem,interpretation,source,_);
9192 check(numberOfExistingReferences < 1);
9193} or {
9194 find mustInRelationjobs_activity_type_attribute_Tax_Card(problem,interpretation,source,target);
9195}
9196/**
9197 * Matcher for detecting tuples t where []jobs_place_of_work attribute Tax_Card(source,target)
9198 */
9199private pattern mustInRelationjobs_place_of_work_attribute_Tax_Card(
9200 problem:LogicProblem, interpretation:PartialInterpretation,
9201 source: DefinedElement, target:DefinedElement)
9202{
9203 find interpretation(problem,interpretation);
9204 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
9205 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"jobs_place_of_work attribute Tax_Card");
9206 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
9207 BinaryElementRelationLink.param1(link,source);
9208 BinaryElementRelationLink.param2(link,target);
9209}
9210/**
9211 * Matcher for detecting tuples t where <>jobs_place_of_work attribute Tax_Card(source,target)
9212 */
9213private pattern mayInRelationjobs_place_of_work_attribute_Tax_Card(
9214 problem:LogicProblem, interpretation:PartialInterpretation,
9215 source: DefinedElement, target:DefinedElement)
9216{
9217 find interpretation(problem,interpretation);
9218 // The two endpoint of the link have to exist
9219 find mayExist(problem, interpretation, source);
9220 find mayExist(problem, interpretation, target);
9221 // Type consistency
9222 find mayInstanceOfTax_Card_class(problem,interpretation,source);
9223 find mayInstanceOfTown_enum(problem,interpretation,target);
9224 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
9225 // the upper bound of the multiplicity should be considered.
9226 numberOfExistingReferences == count find mustInRelationjobs_place_of_work_attribute_Tax_Card(problem,interpretation,source,_);
9227 check(numberOfExistingReferences < 1);
9228} or {
9229 find mustInRelationjobs_place_of_work_attribute_Tax_Card(problem,interpretation,source,target);
9230}
9231/**
9232 * Matcher for detecting tuples t where []deduction_FD_daily attribute Tax_Card(source,target)
9233 */
9234private pattern mustInRelationdeduction_FD_daily_attribute_Tax_Card(
9235 problem:LogicProblem, interpretation:PartialInterpretation,
9236 source: DefinedElement, target:DefinedElement)
9237{
9238 find interpretation(problem,interpretation);
9239 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
9240 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"deduction_FD_daily attribute Tax_Card");
9241 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
9242 BinaryElementRelationLink.param1(link,source);
9243 BinaryElementRelationLink.param2(link,target);
9244}
9245/**
9246 * Matcher for detecting tuples t where <>deduction_FD_daily attribute Tax_Card(source,target)
9247 */
9248private pattern mayInRelationdeduction_FD_daily_attribute_Tax_Card(
9249 problem:LogicProblem, interpretation:PartialInterpretation,
9250 source: DefinedElement, target:DefinedElement)
9251{
9252 find interpretation(problem,interpretation);
9253 // The two endpoint of the link have to exist
9254 find mayExist(problem, interpretation, source);
9255 find mayExist(problem, interpretation, target);
9256 // Type consistency
9257 find mayInstanceOfTax_Card_class(problem,interpretation,source);
9258 RealElement(target);
9259 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
9260 // the upper bound of the multiplicity should be considered.
9261 numberOfExistingReferences == count find mustInRelationdeduction_FD_daily_attribute_Tax_Card(problem,interpretation,source,_);
9262 check(numberOfExistingReferences < 1);
9263} or {
9264 find mustInRelationdeduction_FD_daily_attribute_Tax_Card(problem,interpretation,source,target);
9265}
9266/**
9267 * Matcher for detecting tuples t where []deduction_FD_monthly attribute Tax_Card(source,target)
9268 */
9269private pattern mustInRelationdeduction_FD_monthly_attribute_Tax_Card(
9270 problem:LogicProblem, interpretation:PartialInterpretation,
9271 source: DefinedElement, target:DefinedElement)
9272{
9273 find interpretation(problem,interpretation);
9274 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
9275 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"deduction_FD_monthly attribute Tax_Card");
9276 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
9277 BinaryElementRelationLink.param1(link,source);
9278 BinaryElementRelationLink.param2(link,target);
9279}
9280/**
9281 * Matcher for detecting tuples t where <>deduction_FD_monthly attribute Tax_Card(source,target)
9282 */
9283private pattern mayInRelationdeduction_FD_monthly_attribute_Tax_Card(
9284 problem:LogicProblem, interpretation:PartialInterpretation,
9285 source: DefinedElement, target:DefinedElement)
9286{
9287 find interpretation(problem,interpretation);
9288 // The two endpoint of the link have to exist
9289 find mayExist(problem, interpretation, source);
9290 find mayExist(problem, interpretation, target);
9291 // Type consistency
9292 find mayInstanceOfTax_Card_class(problem,interpretation,source);
9293 RealElement(target);
9294 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
9295 // the upper bound of the multiplicity should be considered.
9296 numberOfExistingReferences == count find mustInRelationdeduction_FD_monthly_attribute_Tax_Card(problem,interpretation,source,_);
9297 check(numberOfExistingReferences < 1);
9298} or {
9299 find mustInRelationdeduction_FD_monthly_attribute_Tax_Card(problem,interpretation,source,target);
9300}
9301/**
9302 * Matcher for detecting tuples t where []deduction_AC_daily attribute Tax_Card(source,target)
9303 */
9304private pattern mustInRelationdeduction_AC_daily_attribute_Tax_Card(
9305 problem:LogicProblem, interpretation:PartialInterpretation,
9306 source: DefinedElement, target:DefinedElement)
9307{
9308 find interpretation(problem,interpretation);
9309 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
9310 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"deduction_AC_daily attribute Tax_Card");
9311 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
9312 BinaryElementRelationLink.param1(link,source);
9313 BinaryElementRelationLink.param2(link,target);
9314}
9315/**
9316 * Matcher for detecting tuples t where <>deduction_AC_daily attribute Tax_Card(source,target)
9317 */
9318private pattern mayInRelationdeduction_AC_daily_attribute_Tax_Card(
9319 problem:LogicProblem, interpretation:PartialInterpretation,
9320 source: DefinedElement, target:DefinedElement)
9321{
9322 find interpretation(problem,interpretation);
9323 // The two endpoint of the link have to exist
9324 find mayExist(problem, interpretation, source);
9325 find mayExist(problem, interpretation, target);
9326 // Type consistency
9327 find mayInstanceOfTax_Card_class(problem,interpretation,source);
9328 RealElement(target);
9329 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
9330 // the upper bound of the multiplicity should be considered.
9331 numberOfExistingReferences == count find mustInRelationdeduction_AC_daily_attribute_Tax_Card(problem,interpretation,source,_);
9332 check(numberOfExistingReferences < 1);
9333} or {
9334 find mustInRelationdeduction_AC_daily_attribute_Tax_Card(problem,interpretation,source,target);
9335}
9336/**
9337 * Matcher for detecting tuples t where []deduction_AC_monthly attribute Tax_Card(source,target)
9338 */
9339private pattern mustInRelationdeduction_AC_monthly_attribute_Tax_Card(
9340 problem:LogicProblem, interpretation:PartialInterpretation,
9341 source: DefinedElement, target:DefinedElement)
9342{
9343 find interpretation(problem,interpretation);
9344 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
9345 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"deduction_AC_monthly attribute Tax_Card");
9346 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
9347 BinaryElementRelationLink.param1(link,source);
9348 BinaryElementRelationLink.param2(link,target);
9349}
9350/**
9351 * Matcher for detecting tuples t where <>deduction_AC_monthly attribute Tax_Card(source,target)
9352 */
9353private pattern mayInRelationdeduction_AC_monthly_attribute_Tax_Card(
9354 problem:LogicProblem, interpretation:PartialInterpretation,
9355 source: DefinedElement, target:DefinedElement)
9356{
9357 find interpretation(problem,interpretation);
9358 // The two endpoint of the link have to exist
9359 find mayExist(problem, interpretation, source);
9360 find mayExist(problem, interpretation, target);
9361 // Type consistency
9362 find mayInstanceOfTax_Card_class(problem,interpretation,source);
9363 RealElement(target);
9364 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
9365 // the upper bound of the multiplicity should be considered.
9366 numberOfExistingReferences == count find mustInRelationdeduction_AC_monthly_attribute_Tax_Card(problem,interpretation,source,_);
9367 check(numberOfExistingReferences < 1);
9368} or {
9369 find mustInRelationdeduction_AC_monthly_attribute_Tax_Card(problem,interpretation,source,target);
9370}
9371/**
9372 * Matcher for detecting tuples t where []deduction_AC_yearly attribute Tax_Card(source,target)
9373 */
9374private pattern mustInRelationdeduction_AC_yearly_attribute_Tax_Card(
9375 problem:LogicProblem, interpretation:PartialInterpretation,
9376 source: DefinedElement, target:DefinedElement)
9377{
9378 find interpretation(problem,interpretation);
9379 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
9380 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"deduction_AC_yearly attribute Tax_Card");
9381 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
9382 BinaryElementRelationLink.param1(link,source);
9383 BinaryElementRelationLink.param2(link,target);
9384}
9385/**
9386 * Matcher for detecting tuples t where <>deduction_AC_yearly attribute Tax_Card(source,target)
9387 */
9388private pattern mayInRelationdeduction_AC_yearly_attribute_Tax_Card(
9389 problem:LogicProblem, interpretation:PartialInterpretation,
9390 source: DefinedElement, target:DefinedElement)
9391{
9392 find interpretation(problem,interpretation);
9393 // The two endpoint of the link have to exist
9394 find mayExist(problem, interpretation, source);
9395 find mayExist(problem, interpretation, target);
9396 // Type consistency
9397 find mayInstanceOfTax_Card_class(problem,interpretation,source);
9398 RealElement(target);
9399 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
9400 // the upper bound of the multiplicity should be considered.
9401 numberOfExistingReferences == count find mustInRelationdeduction_AC_yearly_attribute_Tax_Card(problem,interpretation,source,_);
9402 check(numberOfExistingReferences < 1);
9403} or {
9404 find mustInRelationdeduction_AC_yearly_attribute_Tax_Card(problem,interpretation,source,target);
9405}
9406/**
9407 * Matcher for detecting tuples t where []deduction_CE_daily attribute Tax_Card(source,target)
9408 */
9409private pattern mustInRelationdeduction_CE_daily_attribute_Tax_Card(
9410 problem:LogicProblem, interpretation:PartialInterpretation,
9411 source: DefinedElement, target:DefinedElement)
9412{
9413 find interpretation(problem,interpretation);
9414 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
9415 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"deduction_CE_daily attribute Tax_Card");
9416 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
9417 BinaryElementRelationLink.param1(link,source);
9418 BinaryElementRelationLink.param2(link,target);
9419}
9420/**
9421 * Matcher for detecting tuples t where <>deduction_CE_daily attribute Tax_Card(source,target)
9422 */
9423private pattern mayInRelationdeduction_CE_daily_attribute_Tax_Card(
9424 problem:LogicProblem, interpretation:PartialInterpretation,
9425 source: DefinedElement, target:DefinedElement)
9426{
9427 find interpretation(problem,interpretation);
9428 // The two endpoint of the link have to exist
9429 find mayExist(problem, interpretation, source);
9430 find mayExist(problem, interpretation, target);
9431 // Type consistency
9432 find mayInstanceOfTax_Card_class(problem,interpretation,source);
9433 RealElement(target);
9434 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
9435 // the upper bound of the multiplicity should be considered.
9436 numberOfExistingReferences == count find mustInRelationdeduction_CE_daily_attribute_Tax_Card(problem,interpretation,source,_);
9437 check(numberOfExistingReferences < 1);
9438} or {
9439 find mustInRelationdeduction_CE_daily_attribute_Tax_Card(problem,interpretation,source,target);
9440}
9441/**
9442 * Matcher for detecting tuples t where []deduction_CE_monthly attribute Tax_Card(source,target)
9443 */
9444private pattern mustInRelationdeduction_CE_monthly_attribute_Tax_Card(
9445 problem:LogicProblem, interpretation:PartialInterpretation,
9446 source: DefinedElement, target:DefinedElement)
9447{
9448 find interpretation(problem,interpretation);
9449 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
9450 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"deduction_CE_monthly attribute Tax_Card");
9451 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
9452 BinaryElementRelationLink.param1(link,source);
9453 BinaryElementRelationLink.param2(link,target);
9454}
9455/**
9456 * Matcher for detecting tuples t where <>deduction_CE_monthly attribute Tax_Card(source,target)
9457 */
9458private pattern mayInRelationdeduction_CE_monthly_attribute_Tax_Card(
9459 problem:LogicProblem, interpretation:PartialInterpretation,
9460 source: DefinedElement, target:DefinedElement)
9461{
9462 find interpretation(problem,interpretation);
9463 // The two endpoint of the link have to exist
9464 find mayExist(problem, interpretation, source);
9465 find mayExist(problem, interpretation, target);
9466 // Type consistency
9467 find mayInstanceOfTax_Card_class(problem,interpretation,source);
9468 RealElement(target);
9469 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
9470 // the upper bound of the multiplicity should be considered.
9471 numberOfExistingReferences == count find mustInRelationdeduction_CE_monthly_attribute_Tax_Card(problem,interpretation,source,_);
9472 check(numberOfExistingReferences < 1);
9473} or {
9474 find mustInRelationdeduction_CE_monthly_attribute_Tax_Card(problem,interpretation,source,target);
9475}
9476/**
9477 * Matcher for detecting tuples t where []deduction_CE_yearly attribute Tax_Card(source,target)
9478 */
9479private pattern mustInRelationdeduction_CE_yearly_attribute_Tax_Card(
9480 problem:LogicProblem, interpretation:PartialInterpretation,
9481 source: DefinedElement, target:DefinedElement)
9482{
9483 find interpretation(problem,interpretation);
9484 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
9485 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"deduction_CE_yearly attribute Tax_Card");
9486 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
9487 BinaryElementRelationLink.param1(link,source);
9488 BinaryElementRelationLink.param2(link,target);
9489}
9490/**
9491 * Matcher for detecting tuples t where <>deduction_CE_yearly attribute Tax_Card(source,target)
9492 */
9493private pattern mayInRelationdeduction_CE_yearly_attribute_Tax_Card(
9494 problem:LogicProblem, interpretation:PartialInterpretation,
9495 source: DefinedElement, target:DefinedElement)
9496{
9497 find interpretation(problem,interpretation);
9498 // The two endpoint of the link have to exist
9499 find mayExist(problem, interpretation, source);
9500 find mayExist(problem, interpretation, target);
9501 // Type consistency
9502 find mayInstanceOfTax_Card_class(problem,interpretation,source);
9503 RealElement(target);
9504 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
9505 // the upper bound of the multiplicity should be considered.
9506 numberOfExistingReferences == count find mustInRelationdeduction_CE_yearly_attribute_Tax_Card(problem,interpretation,source,_);
9507 check(numberOfExistingReferences < 1);
9508} or {
9509 find mustInRelationdeduction_CE_yearly_attribute_Tax_Card(problem,interpretation,source,target);
9510}
9511/**
9512 * Matcher for detecting tuples t where []deduction_DS_daily attribute Tax_Card(source,target)
9513 */
9514private pattern mustInRelationdeduction_DS_daily_attribute_Tax_Card(
9515 problem:LogicProblem, interpretation:PartialInterpretation,
9516 source: DefinedElement, target:DefinedElement)
9517{
9518 find interpretation(problem,interpretation);
9519 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
9520 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"deduction_DS_daily attribute Tax_Card");
9521 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
9522 BinaryElementRelationLink.param1(link,source);
9523 BinaryElementRelationLink.param2(link,target);
9524}
9525/**
9526 * Matcher for detecting tuples t where <>deduction_DS_daily attribute Tax_Card(source,target)
9527 */
9528private pattern mayInRelationdeduction_DS_daily_attribute_Tax_Card(
9529 problem:LogicProblem, interpretation:PartialInterpretation,
9530 source: DefinedElement, target:DefinedElement)
9531{
9532 find interpretation(problem,interpretation);
9533 // The two endpoint of the link have to exist
9534 find mayExist(problem, interpretation, source);
9535 find mayExist(problem, interpretation, target);
9536 // Type consistency
9537 find mayInstanceOfTax_Card_class(problem,interpretation,source);
9538 RealElement(target);
9539 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
9540 // the upper bound of the multiplicity should be considered.
9541 numberOfExistingReferences == count find mustInRelationdeduction_DS_daily_attribute_Tax_Card(problem,interpretation,source,_);
9542 check(numberOfExistingReferences < 1);
9543} or {
9544 find mustInRelationdeduction_DS_daily_attribute_Tax_Card(problem,interpretation,source,target);
9545}
9546/**
9547 * Matcher for detecting tuples t where []deduction_DS_monthly attribute Tax_Card(source,target)
9548 */
9549private pattern mustInRelationdeduction_DS_monthly_attribute_Tax_Card(
9550 problem:LogicProblem, interpretation:PartialInterpretation,
9551 source: DefinedElement, target:DefinedElement)
9552{
9553 find interpretation(problem,interpretation);
9554 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
9555 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"deduction_DS_monthly attribute Tax_Card");
9556 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
9557 BinaryElementRelationLink.param1(link,source);
9558 BinaryElementRelationLink.param2(link,target);
9559}
9560/**
9561 * Matcher for detecting tuples t where <>deduction_DS_monthly attribute Tax_Card(source,target)
9562 */
9563private pattern mayInRelationdeduction_DS_monthly_attribute_Tax_Card(
9564 problem:LogicProblem, interpretation:PartialInterpretation,
9565 source: DefinedElement, target:DefinedElement)
9566{
9567 find interpretation(problem,interpretation);
9568 // The two endpoint of the link have to exist
9569 find mayExist(problem, interpretation, source);
9570 find mayExist(problem, interpretation, target);
9571 // Type consistency
9572 find mayInstanceOfTax_Card_class(problem,interpretation,source);
9573 RealElement(target);
9574 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
9575 // the upper bound of the multiplicity should be considered.
9576 numberOfExistingReferences == count find mustInRelationdeduction_DS_monthly_attribute_Tax_Card(problem,interpretation,source,_);
9577 check(numberOfExistingReferences < 1);
9578} or {
9579 find mustInRelationdeduction_DS_monthly_attribute_Tax_Card(problem,interpretation,source,target);
9580}
9581/**
9582 * Matcher for detecting tuples t where []deduction_FO_daily attribute Tax_Card(source,target)
9583 */
9584private pattern mustInRelationdeduction_FO_daily_attribute_Tax_Card(
9585 problem:LogicProblem, interpretation:PartialInterpretation,
9586 source: DefinedElement, target:DefinedElement)
9587{
9588 find interpretation(problem,interpretation);
9589 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
9590 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"deduction_FO_daily attribute Tax_Card");
9591 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
9592 BinaryElementRelationLink.param1(link,source);
9593 BinaryElementRelationLink.param2(link,target);
9594}
9595/**
9596 * Matcher for detecting tuples t where <>deduction_FO_daily attribute Tax_Card(source,target)
9597 */
9598private pattern mayInRelationdeduction_FO_daily_attribute_Tax_Card(
9599 problem:LogicProblem, interpretation:PartialInterpretation,
9600 source: DefinedElement, target:DefinedElement)
9601{
9602 find interpretation(problem,interpretation);
9603 // The two endpoint of the link have to exist
9604 find mayExist(problem, interpretation, source);
9605 find mayExist(problem, interpretation, target);
9606 // Type consistency
9607 find mayInstanceOfTax_Card_class(problem,interpretation,source);
9608 RealElement(target);
9609 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
9610 // the upper bound of the multiplicity should be considered.
9611 numberOfExistingReferences == count find mustInRelationdeduction_FO_daily_attribute_Tax_Card(problem,interpretation,source,_);
9612 check(numberOfExistingReferences < 1);
9613} or {
9614 find mustInRelationdeduction_FO_daily_attribute_Tax_Card(problem,interpretation,source,target);
9615}
9616/**
9617 * Matcher for detecting tuples t where []deduction_FO_monthly attribute Tax_Card(source,target)
9618 */
9619private pattern mustInRelationdeduction_FO_monthly_attribute_Tax_Card(
9620 problem:LogicProblem, interpretation:PartialInterpretation,
9621 source: DefinedElement, target:DefinedElement)
9622{
9623 find interpretation(problem,interpretation);
9624 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
9625 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"deduction_FO_monthly attribute Tax_Card");
9626 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
9627 BinaryElementRelationLink.param1(link,source);
9628 BinaryElementRelationLink.param2(link,target);
9629}
9630/**
9631 * Matcher for detecting tuples t where <>deduction_FO_monthly attribute Tax_Card(source,target)
9632 */
9633private pattern mayInRelationdeduction_FO_monthly_attribute_Tax_Card(
9634 problem:LogicProblem, interpretation:PartialInterpretation,
9635 source: DefinedElement, target:DefinedElement)
9636{
9637 find interpretation(problem,interpretation);
9638 // The two endpoint of the link have to exist
9639 find mayExist(problem, interpretation, source);
9640 find mayExist(problem, interpretation, target);
9641 // Type consistency
9642 find mayInstanceOfTax_Card_class(problem,interpretation,source);
9643 RealElement(target);
9644 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
9645 // the upper bound of the multiplicity should be considered.
9646 numberOfExistingReferences == count find mustInRelationdeduction_FO_monthly_attribute_Tax_Card(problem,interpretation,source,_);
9647 check(numberOfExistingReferences < 1);
9648} or {
9649 find mustInRelationdeduction_FO_monthly_attribute_Tax_Card(problem,interpretation,source,target);
9650}
9651/**
9652 * Matcher for detecting tuples t where []deduction_FO_yearly attribute Tax_Card(source,target)
9653 */
9654private pattern mustInRelationdeduction_FO_yearly_attribute_Tax_Card(
9655 problem:LogicProblem, interpretation:PartialInterpretation,
9656 source: DefinedElement, target:DefinedElement)
9657{
9658 find interpretation(problem,interpretation);
9659 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
9660 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"deduction_FO_yearly attribute Tax_Card");
9661 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
9662 BinaryElementRelationLink.param1(link,source);
9663 BinaryElementRelationLink.param2(link,target);
9664}
9665/**
9666 * Matcher for detecting tuples t where <>deduction_FO_yearly attribute Tax_Card(source,target)
9667 */
9668private pattern mayInRelationdeduction_FO_yearly_attribute_Tax_Card(
9669 problem:LogicProblem, interpretation:PartialInterpretation,
9670 source: DefinedElement, target:DefinedElement)
9671{
9672 find interpretation(problem,interpretation);
9673 // The two endpoint of the link have to exist
9674 find mayExist(problem, interpretation, source);
9675 find mayExist(problem, interpretation, target);
9676 // Type consistency
9677 find mayInstanceOfTax_Card_class(problem,interpretation,source);
9678 RealElement(target);
9679 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
9680 // the upper bound of the multiplicity should be considered.
9681 numberOfExistingReferences == count find mustInRelationdeduction_FO_yearly_attribute_Tax_Card(problem,interpretation,source,_);
9682 check(numberOfExistingReferences < 1);
9683} or {
9684 find mustInRelationdeduction_FO_yearly_attribute_Tax_Card(problem,interpretation,source,target);
9685}
9686/**
9687 * Matcher for detecting tuples t where []credit_CIS_daily attribute Tax_Card(source,target)
9688 */
9689private pattern mustInRelationcredit_CIS_daily_attribute_Tax_Card(
9690 problem:LogicProblem, interpretation:PartialInterpretation,
9691 source: DefinedElement, target:DefinedElement)
9692{
9693 find interpretation(problem,interpretation);
9694 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
9695 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"credit_CIS_daily attribute Tax_Card");
9696 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
9697 BinaryElementRelationLink.param1(link,source);
9698 BinaryElementRelationLink.param2(link,target);
9699}
9700/**
9701 * Matcher for detecting tuples t where <>credit_CIS_daily attribute Tax_Card(source,target)
9702 */
9703private pattern mayInRelationcredit_CIS_daily_attribute_Tax_Card(
9704 problem:LogicProblem, interpretation:PartialInterpretation,
9705 source: DefinedElement, target:DefinedElement)
9706{
9707 find interpretation(problem,interpretation);
9708 // The two endpoint of the link have to exist
9709 find mayExist(problem, interpretation, source);
9710 find mayExist(problem, interpretation, target);
9711 // Type consistency
9712 find mayInstanceOfTax_Card_class(problem,interpretation,source);
9713 RealElement(target);
9714 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
9715 // the upper bound of the multiplicity should be considered.
9716 numberOfExistingReferences == count find mustInRelationcredit_CIS_daily_attribute_Tax_Card(problem,interpretation,source,_);
9717 check(numberOfExistingReferences < 1);
9718} or {
9719 find mustInRelationcredit_CIS_daily_attribute_Tax_Card(problem,interpretation,source,target);
9720}
9721/**
9722 * Matcher for detecting tuples t where []credit_CIS_monthly attribute Tax_Card(source,target)
9723 */
9724private pattern mustInRelationcredit_CIS_monthly_attribute_Tax_Card(
9725 problem:LogicProblem, interpretation:PartialInterpretation,
9726 source: DefinedElement, target:DefinedElement)
9727{
9728 find interpretation(problem,interpretation);
9729 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
9730 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"credit_CIS_monthly attribute Tax_Card");
9731 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
9732 BinaryElementRelationLink.param1(link,source);
9733 BinaryElementRelationLink.param2(link,target);
9734}
9735/**
9736 * Matcher for detecting tuples t where <>credit_CIS_monthly attribute Tax_Card(source,target)
9737 */
9738private pattern mayInRelationcredit_CIS_monthly_attribute_Tax_Card(
9739 problem:LogicProblem, interpretation:PartialInterpretation,
9740 source: DefinedElement, target:DefinedElement)
9741{
9742 find interpretation(problem,interpretation);
9743 // The two endpoint of the link have to exist
9744 find mayExist(problem, interpretation, source);
9745 find mayExist(problem, interpretation, target);
9746 // Type consistency
9747 find mayInstanceOfTax_Card_class(problem,interpretation,source);
9748 RealElement(target);
9749 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
9750 // the upper bound of the multiplicity should be considered.
9751 numberOfExistingReferences == count find mustInRelationcredit_CIS_monthly_attribute_Tax_Card(problem,interpretation,source,_);
9752 check(numberOfExistingReferences < 1);
9753} or {
9754 find mustInRelationcredit_CIS_monthly_attribute_Tax_Card(problem,interpretation,source,target);
9755}
9756/**
9757 * Matcher for detecting tuples t where []credit_CIM_daily attribute Tax_Card(source,target)
9758 */
9759private pattern mustInRelationcredit_CIM_daily_attribute_Tax_Card(
9760 problem:LogicProblem, interpretation:PartialInterpretation,
9761 source: DefinedElement, target:DefinedElement)
9762{
9763 find interpretation(problem,interpretation);
9764 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
9765 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"credit_CIM_daily attribute Tax_Card");
9766 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
9767 BinaryElementRelationLink.param1(link,source);
9768 BinaryElementRelationLink.param2(link,target);
9769}
9770/**
9771 * Matcher for detecting tuples t where <>credit_CIM_daily attribute Tax_Card(source,target)
9772 */
9773private pattern mayInRelationcredit_CIM_daily_attribute_Tax_Card(
9774 problem:LogicProblem, interpretation:PartialInterpretation,
9775 source: DefinedElement, target:DefinedElement)
9776{
9777 find interpretation(problem,interpretation);
9778 // The two endpoint of the link have to exist
9779 find mayExist(problem, interpretation, source);
9780 find mayExist(problem, interpretation, target);
9781 // Type consistency
9782 find mayInstanceOfTax_Card_class(problem,interpretation,source);
9783 RealElement(target);
9784 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
9785 // the upper bound of the multiplicity should be considered.
9786 numberOfExistingReferences == count find mustInRelationcredit_CIM_daily_attribute_Tax_Card(problem,interpretation,source,_);
9787 check(numberOfExistingReferences < 1);
9788} or {
9789 find mustInRelationcredit_CIM_daily_attribute_Tax_Card(problem,interpretation,source,target);
9790}
9791/**
9792 * Matcher for detecting tuples t where []validity attribute Tax_Card(source,target)
9793 */
9794private pattern mustInRelationvalidity_attribute_Tax_Card(
9795 problem:LogicProblem, interpretation:PartialInterpretation,
9796 source: DefinedElement, target:DefinedElement)
9797{
9798 find interpretation(problem,interpretation);
9799 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
9800 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"validity attribute Tax_Card");
9801 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
9802 BinaryElementRelationLink.param1(link,source);
9803 BinaryElementRelationLink.param2(link,target);
9804}
9805/**
9806 * Matcher for detecting tuples t where <>validity attribute Tax_Card(source,target)
9807 */
9808private pattern mayInRelationvalidity_attribute_Tax_Card(
9809 problem:LogicProblem, interpretation:PartialInterpretation,
9810 source: DefinedElement, target:DefinedElement)
9811{
9812 find interpretation(problem,interpretation);
9813 // The two endpoint of the link have to exist
9814 find mayExist(problem, interpretation, source);
9815 find mayExist(problem, interpretation, target);
9816 // Type consistency
9817 find mayInstanceOfTax_Card_class(problem,interpretation,source);
9818 BooleanElement(target);
9819 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
9820 // the upper bound of the multiplicity should be considered.
9821 numberOfExistingReferences == count find mustInRelationvalidity_attribute_Tax_Card(problem,interpretation,source,_);
9822 check(numberOfExistingReferences < 1);
9823} or {
9824 find mustInRelationvalidity_attribute_Tax_Card(problem,interpretation,source,target);
9825}
9826/**
9827 * Matcher for detecting tuples t where []credit_CIM_yearly attribute Tax_Card(source,target)
9828 */
9829private pattern mustInRelationcredit_CIM_yearly_attribute_Tax_Card(
9830 problem:LogicProblem, interpretation:PartialInterpretation,
9831 source: DefinedElement, target:DefinedElement)
9832{
9833 find interpretation(problem,interpretation);
9834 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
9835 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"credit_CIM_yearly attribute Tax_Card");
9836 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
9837 BinaryElementRelationLink.param1(link,source);
9838 BinaryElementRelationLink.param2(link,target);
9839}
9840/**
9841 * Matcher for detecting tuples t where <>credit_CIM_yearly attribute Tax_Card(source,target)
9842 */
9843private pattern mayInRelationcredit_CIM_yearly_attribute_Tax_Card(
9844 problem:LogicProblem, interpretation:PartialInterpretation,
9845 source: DefinedElement, target:DefinedElement)
9846{
9847 find interpretation(problem,interpretation);
9848 // The two endpoint of the link have to exist
9849 find mayExist(problem, interpretation, source);
9850 find mayExist(problem, interpretation, target);
9851 // Type consistency
9852 find mayInstanceOfTax_Card_class(problem,interpretation,source);
9853 RealElement(target);
9854 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
9855 // the upper bound of the multiplicity should be considered.
9856 numberOfExistingReferences == count find mustInRelationcredit_CIM_yearly_attribute_Tax_Card(problem,interpretation,source,_);
9857 check(numberOfExistingReferences < 1);
9858} or {
9859 find mustInRelationcredit_CIM_yearly_attribute_Tax_Card(problem,interpretation,source,target);
9860}
9861/**
9862 * Matcher for detecting tuples t where []deduction_DS_Alimony_yearly attribute Tax_Card(source,target)
9863 */
9864private pattern mustInRelationdeduction_DS_Alimony_yearly_attribute_Tax_Card(
9865 problem:LogicProblem, interpretation:PartialInterpretation,
9866 source: DefinedElement, target:DefinedElement)
9867{
9868 find interpretation(problem,interpretation);
9869 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
9870 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"deduction_DS_Alimony_yearly attribute Tax_Card");
9871 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
9872 BinaryElementRelationLink.param1(link,source);
9873 BinaryElementRelationLink.param2(link,target);
9874}
9875/**
9876 * Matcher for detecting tuples t where <>deduction_DS_Alimony_yearly attribute Tax_Card(source,target)
9877 */
9878private pattern mayInRelationdeduction_DS_Alimony_yearly_attribute_Tax_Card(
9879 problem:LogicProblem, interpretation:PartialInterpretation,
9880 source: DefinedElement, target:DefinedElement)
9881{
9882 find interpretation(problem,interpretation);
9883 // The two endpoint of the link have to exist
9884 find mayExist(problem, interpretation, source);
9885 find mayExist(problem, interpretation, target);
9886 // Type consistency
9887 find mayInstanceOfTax_Card_class(problem,interpretation,source);
9888 RealElement(target);
9889 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
9890 // the upper bound of the multiplicity should be considered.
9891 numberOfExistingReferences == count find mustInRelationdeduction_DS_Alimony_yearly_attribute_Tax_Card(problem,interpretation,source,_);
9892 check(numberOfExistingReferences < 1);
9893} or {
9894 find mustInRelationdeduction_DS_Alimony_yearly_attribute_Tax_Card(problem,interpretation,source,target);
9895}
9896/**
9897 * Matcher for detecting tuples t where []deduction_DS_Debt_yearly attribute Tax_Card(source,target)
9898 */
9899private pattern mustInRelationdeduction_DS_Debt_yearly_attribute_Tax_Card(
9900 problem:LogicProblem, interpretation:PartialInterpretation,
9901 source: DefinedElement, target:DefinedElement)
9902{
9903 find interpretation(problem,interpretation);
9904 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
9905 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"deduction_DS_Debt_yearly attribute Tax_Card");
9906 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
9907 BinaryElementRelationLink.param1(link,source);
9908 BinaryElementRelationLink.param2(link,target);
9909}
9910/**
9911 * Matcher for detecting tuples t where <>deduction_DS_Debt_yearly attribute Tax_Card(source,target)
9912 */
9913private pattern mayInRelationdeduction_DS_Debt_yearly_attribute_Tax_Card(
9914 problem:LogicProblem, interpretation:PartialInterpretation,
9915 source: DefinedElement, target:DefinedElement)
9916{
9917 find interpretation(problem,interpretation);
9918 // The two endpoint of the link have to exist
9919 find mayExist(problem, interpretation, source);
9920 find mayExist(problem, interpretation, target);
9921 // Type consistency
9922 find mayInstanceOfTax_Card_class(problem,interpretation,source);
9923 RealElement(target);
9924 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
9925 // the upper bound of the multiplicity should be considered.
9926 numberOfExistingReferences == count find mustInRelationdeduction_DS_Debt_yearly_attribute_Tax_Card(problem,interpretation,source,_);
9927 check(numberOfExistingReferences < 1);
9928} or {
9929 find mustInRelationdeduction_DS_Debt_yearly_attribute_Tax_Card(problem,interpretation,source,target);
9930}
9931/**
9932 * Matcher for detecting tuples t where []grantedBy attribute Income_Tax_Credit(source,target)
9933 */
9934private pattern mustInRelationgrantedBy_attribute_Income_Tax_Credit(
9935 problem:LogicProblem, interpretation:PartialInterpretation,
9936 source: DefinedElement, target:DefinedElement)
9937{
9938 find interpretation(problem,interpretation);
9939 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
9940 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"grantedBy attribute Income_Tax_Credit");
9941 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
9942 BinaryElementRelationLink.param1(link,source);
9943 BinaryElementRelationLink.param2(link,target);
9944}
9945/**
9946 * Matcher for detecting tuples t where <>grantedBy attribute Income_Tax_Credit(source,target)
9947 */
9948private pattern mayInRelationgrantedBy_attribute_Income_Tax_Credit(
9949 problem:LogicProblem, interpretation:PartialInterpretation,
9950 source: DefinedElement, target:DefinedElement)
9951{
9952 find interpretation(problem,interpretation);
9953 // The two endpoint of the link have to exist
9954 find mayExist(problem, interpretation, source);
9955 find mayExist(problem, interpretation, target);
9956 // Type consistency
9957 find mayInstanceOfIncome_Tax_Credit_class(problem,interpretation,source);
9958 find mayInstanceOfGrantor_enum(problem,interpretation,target);
9959 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
9960 // the upper bound of the multiplicity should be considered.
9961 numberOfExistingReferences == count find mustInRelationgrantedBy_attribute_Income_Tax_Credit(problem,interpretation,source,_);
9962 check(numberOfExistingReferences < 1);
9963} or {
9964 find mustInRelationgrantedBy_attribute_Income_Tax_Credit(problem,interpretation,source,target);
9965}
9966/**
9967 * Matcher for detecting tuples t where []tax_year attribute Income_Tax_Credit(source,target)
9968 */
9969private pattern mustInRelationtax_year_attribute_Income_Tax_Credit(
9970 problem:LogicProblem, interpretation:PartialInterpretation,
9971 source: DefinedElement, target:DefinedElement)
9972{
9973 find interpretation(problem,interpretation);
9974 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
9975 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"tax_year attribute Income_Tax_Credit");
9976 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
9977 BinaryElementRelationLink.param1(link,source);
9978 BinaryElementRelationLink.param2(link,target);
9979}
9980/**
9981 * Matcher for detecting tuples t where <>tax_year attribute Income_Tax_Credit(source,target)
9982 */
9983private pattern mayInRelationtax_year_attribute_Income_Tax_Credit(
9984 problem:LogicProblem, interpretation:PartialInterpretation,
9985 source: DefinedElement, target:DefinedElement)
9986{
9987 find interpretation(problem,interpretation);
9988 // The two endpoint of the link have to exist
9989 find mayExist(problem, interpretation, source);
9990 find mayExist(problem, interpretation, target);
9991 // Type consistency
9992 find mayInstanceOfIncome_Tax_Credit_class(problem,interpretation,source);
9993 IntegerElement(target);
9994 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
9995 // the upper bound of the multiplicity should be considered.
9996 numberOfExistingReferences == count find mustInRelationtax_year_attribute_Income_Tax_Credit(problem,interpretation,source,_);
9997 check(numberOfExistingReferences < 1);
9998} or {
9999 find mustInRelationtax_year_attribute_Income_Tax_Credit(problem,interpretation,source,target);
10000}
10001/**
10002 * Matcher for detecting tuples t where []yearly attribute Income_Tax_Credit(source,target)
10003 */
10004private pattern mustInRelationyearly_attribute_Income_Tax_Credit(
10005 problem:LogicProblem, interpretation:PartialInterpretation,
10006 source: DefinedElement, target:DefinedElement)
10007{
10008 find interpretation(problem,interpretation);
10009 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
10010 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"yearly attribute Income_Tax_Credit");
10011 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
10012 BinaryElementRelationLink.param1(link,source);
10013 BinaryElementRelationLink.param2(link,target);
10014}
10015/**
10016 * Matcher for detecting tuples t where <>yearly attribute Income_Tax_Credit(source,target)
10017 */
10018private pattern mayInRelationyearly_attribute_Income_Tax_Credit(
10019 problem:LogicProblem, interpretation:PartialInterpretation,
10020 source: DefinedElement, target:DefinedElement)
10021{
10022 find interpretation(problem,interpretation);
10023 // The two endpoint of the link have to exist
10024 find mayExist(problem, interpretation, source);
10025 find mayExist(problem, interpretation, target);
10026 // Type consistency
10027 find mayInstanceOfIncome_Tax_Credit_class(problem,interpretation,source);
10028 RealElement(target);
10029 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
10030 // the upper bound of the multiplicity should be considered.
10031 numberOfExistingReferences == count find mustInRelationyearly_attribute_Income_Tax_Credit(problem,interpretation,source,_);
10032 check(numberOfExistingReferences < 1);
10033} or {
10034 find mustInRelationyearly_attribute_Income_Tax_Credit(problem,interpretation,source,target);
10035}
10036/**
10037 * Matcher for detecting tuples t where []monthly attribute Income_Tax_Credit(source,target)
10038 */
10039private pattern mustInRelationmonthly_attribute_Income_Tax_Credit(
10040 problem:LogicProblem, interpretation:PartialInterpretation,
10041 source: DefinedElement, target:DefinedElement)
10042{
10043 find interpretation(problem,interpretation);
10044 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
10045 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"monthly attribute Income_Tax_Credit");
10046 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
10047 BinaryElementRelationLink.param1(link,source);
10048 BinaryElementRelationLink.param2(link,target);
10049}
10050/**
10051 * Matcher for detecting tuples t where <>monthly attribute Income_Tax_Credit(source,target)
10052 */
10053private pattern mayInRelationmonthly_attribute_Income_Tax_Credit(
10054 problem:LogicProblem, interpretation:PartialInterpretation,
10055 source: DefinedElement, target:DefinedElement)
10056{
10057 find interpretation(problem,interpretation);
10058 // The two endpoint of the link have to exist
10059 find mayExist(problem, interpretation, source);
10060 find mayExist(problem, interpretation, target);
10061 // Type consistency
10062 find mayInstanceOfIncome_Tax_Credit_class(problem,interpretation,source);
10063 RealElement(target);
10064 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
10065 // the upper bound of the multiplicity should be considered.
10066 numberOfExistingReferences == count find mustInRelationmonthly_attribute_Income_Tax_Credit(problem,interpretation,source,_);
10067 check(numberOfExistingReferences < 1);
10068} or {
10069 find mustInRelationmonthly_attribute_Income_Tax_Credit(problem,interpretation,source,target);
10070}
10071/**
10072 * Matcher for detecting tuples t where []daily attribute Income_Tax_Credit(source,target)
10073 */
10074private pattern mustInRelationdaily_attribute_Income_Tax_Credit(
10075 problem:LogicProblem, interpretation:PartialInterpretation,
10076 source: DefinedElement, target:DefinedElement)
10077{
10078 find interpretation(problem,interpretation);
10079 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
10080 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"daily attribute Income_Tax_Credit");
10081 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
10082 BinaryElementRelationLink.param1(link,source);
10083 BinaryElementRelationLink.param2(link,target);
10084}
10085/**
10086 * Matcher for detecting tuples t where <>daily attribute Income_Tax_Credit(source,target)
10087 */
10088private pattern mayInRelationdaily_attribute_Income_Tax_Credit(
10089 problem:LogicProblem, interpretation:PartialInterpretation,
10090 source: DefinedElement, target:DefinedElement)
10091{
10092 find interpretation(problem,interpretation);
10093 // The two endpoint of the link have to exist
10094 find mayExist(problem, interpretation, source);
10095 find mayExist(problem, interpretation, target);
10096 // Type consistency
10097 find mayInstanceOfIncome_Tax_Credit_class(problem,interpretation,source);
10098 RealElement(target);
10099 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
10100 // the upper bound of the multiplicity should be considered.
10101 numberOfExistingReferences == count find mustInRelationdaily_attribute_Income_Tax_Credit(problem,interpretation,source,_);
10102 check(numberOfExistingReferences < 1);
10103} or {
10104 find mustInRelationdaily_attribute_Income_Tax_Credit(problem,interpretation,source,target);
10105}
10106/**
10107 * Matcher for detecting tuples t where []id7 attribute Income_Tax_Credit(source,target)
10108 */
10109private pattern mustInRelationid7_attribute_Income_Tax_Credit(
10110 problem:LogicProblem, interpretation:PartialInterpretation,
10111 source: DefinedElement, target:DefinedElement)
10112{
10113 find interpretation(problem,interpretation);
10114 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
10115 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"id7 attribute Income_Tax_Credit");
10116 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
10117 BinaryElementRelationLink.param1(link,source);
10118 BinaryElementRelationLink.param2(link,target);
10119}
10120/**
10121 * Matcher for detecting tuples t where <>id7 attribute Income_Tax_Credit(source,target)
10122 */
10123private pattern mayInRelationid7_attribute_Income_Tax_Credit(
10124 problem:LogicProblem, interpretation:PartialInterpretation,
10125 source: DefinedElement, target:DefinedElement)
10126{
10127 find interpretation(problem,interpretation);
10128 // The two endpoint of the link have to exist
10129 find mayExist(problem, interpretation, source);
10130 find mayExist(problem, interpretation, target);
10131 // Type consistency
10132 find mayInstanceOfIncome_Tax_Credit_class(problem,interpretation,source);
10133 StringElement(target);
10134 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
10135 // the upper bound of the multiplicity should be considered.
10136 numberOfExistingReferences == count find mustInRelationid7_attribute_Income_Tax_Credit(problem,interpretation,source,_);
10137 check(numberOfExistingReferences < 1);
10138} or {
10139 find mustInRelationid7_attribute_Income_Tax_Credit(problem,interpretation,source,target);
10140}
10141/**
10142 * Matcher for detecting tuples t where []amount attribute Income_Detail(source,target)
10143 */
10144private pattern mustInRelationamount_attribute_Income_Detail(
10145 problem:LogicProblem, interpretation:PartialInterpretation,
10146 source: DefinedElement, target:DefinedElement)
10147{
10148 find interpretation(problem,interpretation);
10149 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
10150 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"amount attribute Income_Detail");
10151 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
10152 BinaryElementRelationLink.param1(link,source);
10153 BinaryElementRelationLink.param2(link,target);
10154}
10155/**
10156 * Matcher for detecting tuples t where <>amount attribute Income_Detail(source,target)
10157 */
10158private pattern mayInRelationamount_attribute_Income_Detail(
10159 problem:LogicProblem, interpretation:PartialInterpretation,
10160 source: DefinedElement, target:DefinedElement)
10161{
10162 find interpretation(problem,interpretation);
10163 // The two endpoint of the link have to exist
10164 find mayExist(problem, interpretation, source);
10165 find mayExist(problem, interpretation, target);
10166 // Type consistency
10167 find mayInstanceOfIncome_Detail_class(problem,interpretation,source);
10168 RealElement(target);
10169 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
10170 // the upper bound of the multiplicity should be considered.
10171 numberOfExistingReferences == count find mustInRelationamount_attribute_Income_Detail(problem,interpretation,source,_);
10172 check(numberOfExistingReferences < 1);
10173} or {
10174 find mustInRelationamount_attribute_Income_Detail(problem,interpretation,source,target);
10175}
10176/**
10177 * Matcher for detecting tuples t where []is_worked attribute Income_Detail(source,target)
10178 */
10179private pattern mustInRelationis_worked_attribute_Income_Detail(
10180 problem:LogicProblem, interpretation:PartialInterpretation,
10181 source: DefinedElement, target:DefinedElement)
10182{
10183 find interpretation(problem,interpretation);
10184 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
10185 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"is_worked attribute Income_Detail");
10186 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
10187 BinaryElementRelationLink.param1(link,source);
10188 BinaryElementRelationLink.param2(link,target);
10189}
10190/**
10191 * Matcher for detecting tuples t where <>is_worked attribute Income_Detail(source,target)
10192 */
10193private pattern mayInRelationis_worked_attribute_Income_Detail(
10194 problem:LogicProblem, interpretation:PartialInterpretation,
10195 source: DefinedElement, target:DefinedElement)
10196{
10197 find interpretation(problem,interpretation);
10198 // The two endpoint of the link have to exist
10199 find mayExist(problem, interpretation, source);
10200 find mayExist(problem, interpretation, target);
10201 // Type consistency
10202 find mayInstanceOfIncome_Detail_class(problem,interpretation,source);
10203 BooleanElement(target);
10204 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
10205 // the upper bound of the multiplicity should be considered.
10206 numberOfExistingReferences == count find mustInRelationis_worked_attribute_Income_Detail(problem,interpretation,source,_);
10207 check(numberOfExistingReferences < 1);
10208} or {
10209 find mustInRelationis_worked_attribute_Income_Detail(problem,interpretation,source,target);
10210}
10211/**
10212 * Matcher for detecting tuples t where []distance attribute Income_Detail(source,target)
10213 */
10214private pattern mustInRelationdistance_attribute_Income_Detail(
10215 problem:LogicProblem, interpretation:PartialInterpretation,
10216 source: DefinedElement, target:DefinedElement)
10217{
10218 find interpretation(problem,interpretation);
10219 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
10220 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"distance attribute Income_Detail");
10221 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
10222 BinaryElementRelationLink.param1(link,source);
10223 BinaryElementRelationLink.param2(link,target);
10224}
10225/**
10226 * Matcher for detecting tuples t where <>distance attribute Income_Detail(source,target)
10227 */
10228private pattern mayInRelationdistance_attribute_Income_Detail(
10229 problem:LogicProblem, interpretation:PartialInterpretation,
10230 source: DefinedElement, target:DefinedElement)
10231{
10232 find interpretation(problem,interpretation);
10233 // The two endpoint of the link have to exist
10234 find mayExist(problem, interpretation, source);
10235 find mayExist(problem, interpretation, target);
10236 // Type consistency
10237 find mayInstanceOfIncome_Detail_class(problem,interpretation,source);
10238 RealElement(target);
10239 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
10240 // the upper bound of the multiplicity should be considered.
10241 numberOfExistingReferences == count find mustInRelationdistance_attribute_Income_Detail(problem,interpretation,source,_);
10242 check(numberOfExistingReferences < 1);
10243} or {
10244 find mustInRelationdistance_attribute_Income_Detail(problem,interpretation,source,target);
10245}
10246/**
10247 * Matcher for detecting tuples t where []worked_days attribute Income_Detail(source,target)
10248 */
10249private pattern mustInRelationworked_days_attribute_Income_Detail(
10250 problem:LogicProblem, interpretation:PartialInterpretation,
10251 source: DefinedElement, target:DefinedElement)
10252{
10253 find interpretation(problem,interpretation);
10254 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
10255 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"worked_days attribute Income_Detail");
10256 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
10257 BinaryElementRelationLink.param1(link,source);
10258 BinaryElementRelationLink.param2(link,target);
10259}
10260/**
10261 * Matcher for detecting tuples t where <>worked_days attribute Income_Detail(source,target)
10262 */
10263private pattern mayInRelationworked_days_attribute_Income_Detail(
10264 problem:LogicProblem, interpretation:PartialInterpretation,
10265 source: DefinedElement, target:DefinedElement)
10266{
10267 find interpretation(problem,interpretation);
10268 // The two endpoint of the link have to exist
10269 find mayExist(problem, interpretation, source);
10270 find mayExist(problem, interpretation, target);
10271 // Type consistency
10272 find mayInstanceOfIncome_Detail_class(problem,interpretation,source);
10273 IntegerElement(target);
10274 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
10275 // the upper bound of the multiplicity should be considered.
10276 numberOfExistingReferences == count find mustInRelationworked_days_attribute_Income_Detail(problem,interpretation,source,_);
10277 check(numberOfExistingReferences < 1);
10278} or {
10279 find mustInRelationworked_days_attribute_Income_Detail(problem,interpretation,source,target);
10280}
10281/**
10282 * Matcher for detecting tuples t where []is_contributing_CNS attribute Income_Detail(source,target)
10283 */
10284private pattern mustInRelationis_contributing_CNS_attribute_Income_Detail(
10285 problem:LogicProblem, interpretation:PartialInterpretation,
10286 source: DefinedElement, target:DefinedElement)
10287{
10288 find interpretation(problem,interpretation);
10289 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
10290 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"is_contributing_CNS attribute Income_Detail");
10291 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
10292 BinaryElementRelationLink.param1(link,source);
10293 BinaryElementRelationLink.param2(link,target);
10294}
10295/**
10296 * Matcher for detecting tuples t where <>is_contributing_CNS attribute Income_Detail(source,target)
10297 */
10298private pattern mayInRelationis_contributing_CNS_attribute_Income_Detail(
10299 problem:LogicProblem, interpretation:PartialInterpretation,
10300 source: DefinedElement, target:DefinedElement)
10301{
10302 find interpretation(problem,interpretation);
10303 // The two endpoint of the link have to exist
10304 find mayExist(problem, interpretation, source);
10305 find mayExist(problem, interpretation, target);
10306 // Type consistency
10307 find mayInstanceOfIncome_Detail_class(problem,interpretation,source);
10308 BooleanElement(target);
10309 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
10310 // the upper bound of the multiplicity should be considered.
10311 numberOfExistingReferences == count find mustInRelationis_contributing_CNS_attribute_Income_Detail(problem,interpretation,source,_);
10312 check(numberOfExistingReferences < 1);
10313} or {
10314 find mustInRelationis_contributing_CNS_attribute_Income_Detail(problem,interpretation,source,target);
10315}
10316/**
10317 * Matcher for detecting tuples t where []id5 attribute Income_Detail(source,target)
10318 */
10319private pattern mustInRelationid5_attribute_Income_Detail(
10320 problem:LogicProblem, interpretation:PartialInterpretation,
10321 source: DefinedElement, target:DefinedElement)
10322{
10323 find interpretation(problem,interpretation);
10324 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
10325 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"id5 attribute Income_Detail");
10326 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
10327 BinaryElementRelationLink.param1(link,source);
10328 BinaryElementRelationLink.param2(link,target);
10329}
10330/**
10331 * Matcher for detecting tuples t where <>id5 attribute Income_Detail(source,target)
10332 */
10333private pattern mayInRelationid5_attribute_Income_Detail(
10334 problem:LogicProblem, interpretation:PartialInterpretation,
10335 source: DefinedElement, target:DefinedElement)
10336{
10337 find interpretation(problem,interpretation);
10338 // The two endpoint of the link have to exist
10339 find mayExist(problem, interpretation, source);
10340 find mayExist(problem, interpretation, target);
10341 // Type consistency
10342 find mayInstanceOfIncome_Detail_class(problem,interpretation,source);
10343 StringElement(target);
10344 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
10345 // the upper bound of the multiplicity should be considered.
10346 numberOfExistingReferences == count find mustInRelationid5_attribute_Income_Detail(problem,interpretation,source,_);
10347 check(numberOfExistingReferences < 1);
10348} or {
10349 find mustInRelationid5_attribute_Income_Detail(problem,interpretation,source,target);
10350}
10351/**
10352 * Matcher for detecting tuples t where []id attribute FromLaw(source,target)
10353 */
10354private pattern mustInRelationid_attribute_FromLaw(
10355 problem:LogicProblem, interpretation:PartialInterpretation,
10356 source: DefinedElement, target:DefinedElement)
10357{
10358 find interpretation(problem,interpretation);
10359 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
10360 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"id attribute FromLaw");
10361 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
10362 BinaryElementRelationLink.param1(link,source);
10363 BinaryElementRelationLink.param2(link,target);
10364}
10365/**
10366 * Matcher for detecting tuples t where <>id attribute FromLaw(source,target)
10367 */
10368private pattern mayInRelationid_attribute_FromLaw(
10369 problem:LogicProblem, interpretation:PartialInterpretation,
10370 source: DefinedElement, target:DefinedElement)
10371{
10372 find interpretation(problem,interpretation);
10373 // The two endpoint of the link have to exist
10374 find mayExist(problem, interpretation, source);
10375 find mayExist(problem, interpretation, target);
10376 // Type consistency
10377 find mayInstanceOfFromLaw_class(problem,interpretation,source);
10378 StringElement(target);
10379 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
10380 // the upper bound of the multiplicity should be considered.
10381 numberOfExistingReferences == count find mustInRelationid_attribute_FromLaw(problem,interpretation,source,_);
10382 check(numberOfExistingReferences < 1);
10383} or {
10384 find mustInRelationid_attribute_FromLaw(problem,interpretation,source,target);
10385}
10386/**
10387 * Matcher for detecting tuples t where []is_assimilated_to_resident attribute Non_Resident_Tax_Payer(source,target)
10388 */
10389private pattern mustInRelationis_assimilated_to_resident_attribute_Non_Resident_Tax_Payer(
10390 problem:LogicProblem, interpretation:PartialInterpretation,
10391 source: DefinedElement, target:DefinedElement)
10392{
10393 find interpretation(problem,interpretation);
10394 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
10395 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"is_assimilated_to_resident attribute Non_Resident_Tax_Payer");
10396 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
10397 BinaryElementRelationLink.param1(link,source);
10398 BinaryElementRelationLink.param2(link,target);
10399}
10400/**
10401 * Matcher for detecting tuples t where <>is_assimilated_to_resident attribute Non_Resident_Tax_Payer(source,target)
10402 */
10403private pattern mayInRelationis_assimilated_to_resident_attribute_Non_Resident_Tax_Payer(
10404 problem:LogicProblem, interpretation:PartialInterpretation,
10405 source: DefinedElement, target:DefinedElement)
10406{
10407 find interpretation(problem,interpretation);
10408 // The two endpoint of the link have to exist
10409 find mayExist(problem, interpretation, source);
10410 find mayExist(problem, interpretation, target);
10411 // Type consistency
10412 find mayInstanceOfNon_Resident_Tax_Payer_class(problem,interpretation,source);
10413 BooleanElement(target);
10414 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
10415 // the upper bound of the multiplicity should be considered.
10416 numberOfExistingReferences == count find mustInRelationis_assimilated_to_resident_attribute_Non_Resident_Tax_Payer(problem,interpretation,source,_);
10417 check(numberOfExistingReferences < 1);
10418} or {
10419 find mustInRelationis_assimilated_to_resident_attribute_Non_Resident_Tax_Payer(problem,interpretation,source,target);
10420}
10421/**
10422 * Matcher for detecting tuples t where []occasional_payement attribute Pensions_and_Annuities_Income(source,target)
10423 */
10424private pattern mustInRelationoccasional_payement_attribute_Pensions_and_Annuities_Income(
10425 problem:LogicProblem, interpretation:PartialInterpretation,
10426 source: DefinedElement, target:DefinedElement)
10427{
10428 find interpretation(problem,interpretation);
10429 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
10430 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"occasional_payement attribute Pensions_and_Annuities_Income");
10431 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
10432 BinaryElementRelationLink.param1(link,source);
10433 BinaryElementRelationLink.param2(link,target);
10434}
10435/**
10436 * Matcher for detecting tuples t where <>occasional_payement attribute Pensions_and_Annuities_Income(source,target)
10437 */
10438private pattern mayInRelationoccasional_payement_attribute_Pensions_and_Annuities_Income(
10439 problem:LogicProblem, interpretation:PartialInterpretation,
10440 source: DefinedElement, target:DefinedElement)
10441{
10442 find interpretation(problem,interpretation);
10443 // The two endpoint of the link have to exist
10444 find mayExist(problem, interpretation, source);
10445 find mayExist(problem, interpretation, target);
10446 // Type consistency
10447 find mayInstanceOfPensions_and_Annuities_Income_class(problem,interpretation,source);
10448 BooleanElement(target);
10449 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
10450 // the upper bound of the multiplicity should be considered.
10451 numberOfExistingReferences == count find mustInRelationoccasional_payement_attribute_Pensions_and_Annuities_Income(problem,interpretation,source,_);
10452 check(numberOfExistingReferences < 1);
10453} or {
10454 find mustInRelationoccasional_payement_attribute_Pensions_and_Annuities_Income(problem,interpretation,source,target);
10455}
10456/**
10457 * Matcher for detecting tuples t where []is_periodic attribute Rentals_and_Leases_Income(source,target)
10458 */
10459private pattern mustInRelationis_periodic_attribute_Rentals_and_Leases_Income(
10460 problem:LogicProblem, interpretation:PartialInterpretation,
10461 source: DefinedElement, target:DefinedElement)
10462{
10463 find interpretation(problem,interpretation);
10464 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
10465 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"is_periodic attribute Rentals_and_Leases_Income");
10466 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
10467 BinaryElementRelationLink.param1(link,source);
10468 BinaryElementRelationLink.param2(link,target);
10469}
10470/**
10471 * Matcher for detecting tuples t where <>is_periodic attribute Rentals_and_Leases_Income(source,target)
10472 */
10473private pattern mayInRelationis_periodic_attribute_Rentals_and_Leases_Income(
10474 problem:LogicProblem, interpretation:PartialInterpretation,
10475 source: DefinedElement, target:DefinedElement)
10476{
10477 find interpretation(problem,interpretation);
10478 // The two endpoint of the link have to exist
10479 find mayExist(problem, interpretation, source);
10480 find mayExist(problem, interpretation, target);
10481 // Type consistency
10482 find mayInstanceOfRentals_and_Leases_Income_class(problem,interpretation,source);
10483 BooleanElement(target);
10484 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
10485 // the upper bound of the multiplicity should be considered.
10486 numberOfExistingReferences == count find mustInRelationis_periodic_attribute_Rentals_and_Leases_Income(problem,interpretation,source,_);
10487 check(numberOfExistingReferences < 1);
10488} or {
10489 find mustInRelationis_periodic_attribute_Rentals_and_Leases_Income(problem,interpretation,source,target);
10490}
10491/**
10492 * Matcher for detecting tuples t where []distance_declared_in_january attribute FD(source,target)
10493 */
10494private pattern mustInRelationdistance_declared_in_january_attribute_FD(
10495 problem:LogicProblem, interpretation:PartialInterpretation,
10496 source: DefinedElement, target:DefinedElement)
10497{
10498 find interpretation(problem,interpretation);
10499 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
10500 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"distance_declared_in_january attribute FD");
10501 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
10502 BinaryElementRelationLink.param1(link,source);
10503 BinaryElementRelationLink.param2(link,target);
10504}
10505/**
10506 * Matcher for detecting tuples t where <>distance_declared_in_january attribute FD(source,target)
10507 */
10508private pattern mayInRelationdistance_declared_in_january_attribute_FD(
10509 problem:LogicProblem, interpretation:PartialInterpretation,
10510 source: DefinedElement, target:DefinedElement)
10511{
10512 find interpretation(problem,interpretation);
10513 // The two endpoint of the link have to exist
10514 find mayExist(problem, interpretation, source);
10515 find mayExist(problem, interpretation, target);
10516 // Type consistency
10517 find mayInstanceOfFD_class(problem,interpretation,source);
10518 RealElement(target);
10519 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
10520 // the upper bound of the multiplicity should be considered.
10521 numberOfExistingReferences == count find mustInRelationdistance_declared_in_january_attribute_FD(problem,interpretation,source,_);
10522 check(numberOfExistingReferences < 1);
10523} or {
10524 find mustInRelationdistance_declared_in_january_attribute_FD(problem,interpretation,source,target);
10525}
10526/**
10527 * Matcher for detecting tuples t where []calculated_distance attribute FD(source,target)
10528 */
10529private pattern mustInRelationcalculated_distance_attribute_FD(
10530 problem:LogicProblem, interpretation:PartialInterpretation,
10531 source: DefinedElement, target:DefinedElement)
10532{
10533 find interpretation(problem,interpretation);
10534 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
10535 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"calculated_distance attribute FD");
10536 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
10537 BinaryElementRelationLink.param1(link,source);
10538 BinaryElementRelationLink.param2(link,target);
10539}
10540/**
10541 * Matcher for detecting tuples t where <>calculated_distance attribute FD(source,target)
10542 */
10543private pattern mayInRelationcalculated_distance_attribute_FD(
10544 problem:LogicProblem, interpretation:PartialInterpretation,
10545 source: DefinedElement, target:DefinedElement)
10546{
10547 find interpretation(problem,interpretation);
10548 // The two endpoint of the link have to exist
10549 find mayExist(problem, interpretation, source);
10550 find mayExist(problem, interpretation, target);
10551 // Type consistency
10552 find mayInstanceOfFD_class(problem,interpretation,source);
10553 RealElement(target);
10554 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
10555 // the upper bound of the multiplicity should be considered.
10556 numberOfExistingReferences == count find mustInRelationcalculated_distance_attribute_FD(problem,interpretation,source,_);
10557 check(numberOfExistingReferences < 1);
10558} or {
10559 find mustInRelationcalculated_distance_attribute_FD(problem,interpretation,source,target);
10560}
10561/**
10562 * Matcher for detecting tuples t where []rate_type_for_FO attribute FO(source,target)
10563 */
10564private pattern mustInRelationrate_type_for_FO_attribute_FO(
10565 problem:LogicProblem, interpretation:PartialInterpretation,
10566 source: DefinedElement, target:DefinedElement)
10567{
10568 find interpretation(problem,interpretation);
10569 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
10570 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"rate_type_for_FO attribute FO");
10571 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
10572 BinaryElementRelationLink.param1(link,source);
10573 BinaryElementRelationLink.param2(link,target);
10574}
10575/**
10576 * Matcher for detecting tuples t where <>rate_type_for_FO attribute FO(source,target)
10577 */
10578private pattern mayInRelationrate_type_for_FO_attribute_FO(
10579 problem:LogicProblem, interpretation:PartialInterpretation,
10580 source: DefinedElement, target:DefinedElement)
10581{
10582 find interpretation(problem,interpretation);
10583 // The two endpoint of the link have to exist
10584 find mayExist(problem, interpretation, source);
10585 find mayExist(problem, interpretation, target);
10586 // Type consistency
10587 find mayInstanceOfFO_class(problem,interpretation,source);
10588 find mayInstanceOfType_of_Rate_enum(problem,interpretation,target);
10589 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
10590 // the upper bound of the multiplicity should be considered.
10591 numberOfExistingReferences == count find mustInRelationrate_type_for_FO_attribute_FO(problem,interpretation,source,_);
10592 check(numberOfExistingReferences < 1);
10593} or {
10594 find mustInRelationrate_type_for_FO_attribute_FO(problem,interpretation,source,target);
10595}
10596/**
10597 * Matcher for detecting tuples t where []permanent_expense_category attribute DS_for_Permanent_Expense(source,target)
10598 */
10599private pattern mustInRelationpermanent_expense_category_attribute_DS_for_Permanent_Expense(
10600 problem:LogicProblem, interpretation:PartialInterpretation,
10601 source: DefinedElement, target:DefinedElement)
10602{
10603 find interpretation(problem,interpretation);
10604 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
10605 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"permanent_expense_category attribute DS_for_Permanent_Expense");
10606 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
10607 BinaryElementRelationLink.param1(link,source);
10608 BinaryElementRelationLink.param2(link,target);
10609}
10610/**
10611 * Matcher for detecting tuples t where <>permanent_expense_category attribute DS_for_Permanent_Expense(source,target)
10612 */
10613private pattern mayInRelationpermanent_expense_category_attribute_DS_for_Permanent_Expense(
10614 problem:LogicProblem, interpretation:PartialInterpretation,
10615 source: DefinedElement, target:DefinedElement)
10616{
10617 find interpretation(problem,interpretation);
10618 // The two endpoint of the link have to exist
10619 find mayExist(problem, interpretation, source);
10620 find mayExist(problem, interpretation, target);
10621 // Type consistency
10622 find mayInstanceOfDS_for_Permanent_Expense_class(problem,interpretation,source);
10623 find mayInstanceOfCategory_of_Permanent_Expense_enum(problem,interpretation,target);
10624 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
10625 // the upper bound of the multiplicity should be considered.
10626 numberOfExistingReferences == count find mustInRelationpermanent_expense_category_attribute_DS_for_Permanent_Expense(problem,interpretation,source,_);
10627 check(numberOfExistingReferences < 1);
10628} or {
10629 find mustInRelationpermanent_expense_category_attribute_DS_for_Permanent_Expense(problem,interpretation,source,target);
10630}
10631/**
10632 * Matcher for detecting tuples t where []maximum_deductible_amount attribute DS(source,target)
10633 */
10634private pattern mustInRelationmaximum_deductible_amount_attribute_DS(
10635 problem:LogicProblem, interpretation:PartialInterpretation,
10636 source: DefinedElement, target:DefinedElement)
10637{
10638 find interpretation(problem,interpretation);
10639 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
10640 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"maximum_deductible_amount attribute DS");
10641 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
10642 BinaryElementRelationLink.param1(link,source);
10643 BinaryElementRelationLink.param2(link,target);
10644}
10645/**
10646 * Matcher for detecting tuples t where <>maximum_deductible_amount attribute DS(source,target)
10647 */
10648private pattern mayInRelationmaximum_deductible_amount_attribute_DS(
10649 problem:LogicProblem, interpretation:PartialInterpretation,
10650 source: DefinedElement, target:DefinedElement)
10651{
10652 find interpretation(problem,interpretation);
10653 // The two endpoint of the link have to exist
10654 find mayExist(problem, interpretation, source);
10655 find mayExist(problem, interpretation, target);
10656 // Type consistency
10657 find mayInstanceOfDS_class(problem,interpretation,source);
10658 RealElement(target);
10659 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
10660 // the upper bound of the multiplicity should be considered.
10661 numberOfExistingReferences == count find mustInRelationmaximum_deductible_amount_attribute_DS(problem,interpretation,source,_);
10662 check(numberOfExistingReferences < 1);
10663} or {
10664 find mustInRelationmaximum_deductible_amount_attribute_DS(problem,interpretation,source,target);
10665}
10666/**
10667 * Matcher for detecting tuples t where []id3 attribute DS(source,target)
10668 */
10669private pattern mustInRelationid3_attribute_DS(
10670 problem:LogicProblem, interpretation:PartialInterpretation,
10671 source: DefinedElement, target:DefinedElement)
10672{
10673 find interpretation(problem,interpretation);
10674 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
10675 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"id3 attribute DS");
10676 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
10677 BinaryElementRelationLink.param1(link,source);
10678 BinaryElementRelationLink.param2(link,target);
10679}
10680/**
10681 * Matcher for detecting tuples t where <>id3 attribute DS(source,target)
10682 */
10683private pattern mayInRelationid3_attribute_DS(
10684 problem:LogicProblem, interpretation:PartialInterpretation,
10685 source: DefinedElement, target:DefinedElement)
10686{
10687 find interpretation(problem,interpretation);
10688 // The two endpoint of the link have to exist
10689 find mayExist(problem, interpretation, source);
10690 find mayExist(problem, interpretation, target);
10691 // Type consistency
10692 find mayInstanceOfDS_class(problem,interpretation,source);
10693 StringElement(target);
10694 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
10695 // the upper bound of the multiplicity should be considered.
10696 numberOfExistingReferences == count find mustInRelationid3_attribute_DS(problem,interpretation,source,_);
10697 check(numberOfExistingReferences < 1);
10698} or {
10699 find mustInRelationid3_attribute_DS(problem,interpretation,source,target);
10700}
10701/**
10702 * Matcher for detecting tuples t where []insurance_category attribute DS_for_Health_and_Pension_Insurance(source,target)
10703 */
10704private pattern mustInRelationinsurance_category_attribute_DS_for_Health_and_Pension_Insurance(
10705 problem:LogicProblem, interpretation:PartialInterpretation,
10706 source: DefinedElement, target:DefinedElement)
10707{
10708 find interpretation(problem,interpretation);
10709 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
10710 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"insurance_category attribute DS_for_Health_and_Pension_Insurance");
10711 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
10712 BinaryElementRelationLink.param1(link,source);
10713 BinaryElementRelationLink.param2(link,target);
10714}
10715/**
10716 * Matcher for detecting tuples t where <>insurance_category attribute DS_for_Health_and_Pension_Insurance(source,target)
10717 */
10718private pattern mayInRelationinsurance_category_attribute_DS_for_Health_and_Pension_Insurance(
10719 problem:LogicProblem, interpretation:PartialInterpretation,
10720 source: DefinedElement, target:DefinedElement)
10721{
10722 find interpretation(problem,interpretation);
10723 // The two endpoint of the link have to exist
10724 find mayExist(problem, interpretation, source);
10725 find mayExist(problem, interpretation, target);
10726 // Type consistency
10727 find mayInstanceOfDS_for_Health_and_Pension_Insurance_class(problem,interpretation,source);
10728 find mayInstanceOfCategory_of_Health_and_Pension_Insurances_enum(problem,interpretation,target);
10729 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
10730 // the upper bound of the multiplicity should be considered.
10731 numberOfExistingReferences == count find mustInRelationinsurance_category_attribute_DS_for_Health_and_Pension_Insurance(problem,interpretation,source,_);
10732 check(numberOfExistingReferences < 1);
10733} or {
10734 find mustInRelationinsurance_category_attribute_DS_for_Health_and_Pension_Insurance(problem,interpretation,source,target);
10735}
10736/**
10737 * Matcher for detecting tuples t where []private_insurance_and_plan_category attribute DS_for_Private_Insurance_and_Plan(source,target)
10738 */
10739private pattern mustInRelationprivate_insurance_and_plan_category_attribute_DS_for_Private_Insurance_and_Plan(
10740 problem:LogicProblem, interpretation:PartialInterpretation,
10741 source: DefinedElement, target:DefinedElement)
10742{
10743 find interpretation(problem,interpretation);
10744 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
10745 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"private_insurance_and_plan_category attribute DS_for_Private_Insurance_and_Plan");
10746 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
10747 BinaryElementRelationLink.param1(link,source);
10748 BinaryElementRelationLink.param2(link,target);
10749}
10750/**
10751 * Matcher for detecting tuples t where <>private_insurance_and_plan_category attribute DS_for_Private_Insurance_and_Plan(source,target)
10752 */
10753private pattern mayInRelationprivate_insurance_and_plan_category_attribute_DS_for_Private_Insurance_and_Plan(
10754 problem:LogicProblem, interpretation:PartialInterpretation,
10755 source: DefinedElement, target:DefinedElement)
10756{
10757 find interpretation(problem,interpretation);
10758 // The two endpoint of the link have to exist
10759 find mayExist(problem, interpretation, source);
10760 find mayExist(problem, interpretation, target);
10761 // Type consistency
10762 find mayInstanceOfDS_for_Private_Insurance_and_Plan_class(problem,interpretation,source);
10763 find mayInstanceOfCategory_of_Private_Insurance_and_Plan_enum(problem,interpretation,target);
10764 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
10765 // the upper bound of the multiplicity should be considered.
10766 numberOfExistingReferences == count find mustInRelationprivate_insurance_and_plan_category_attribute_DS_for_Private_Insurance_and_Plan(problem,interpretation,source,_);
10767 check(numberOfExistingReferences < 1);
10768} or {
10769 find mustInRelationprivate_insurance_and_plan_category_attribute_DS_for_Private_Insurance_and_Plan(problem,interpretation,source,target);
10770}
10771/**
10772 * Matcher for detecting tuples t where []increase_for_life_insurance attribute DS_for_Private_Insurance_and_Plan(source,target)
10773 */
10774private pattern mustInRelationincrease_for_life_insurance_attribute_DS_for_Private_Insurance_and_Plan(
10775 problem:LogicProblem, interpretation:PartialInterpretation,
10776 source: DefinedElement, target:DefinedElement)
10777{
10778 find interpretation(problem,interpretation);
10779 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
10780 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"increase_for_life_insurance attribute DS_for_Private_Insurance_and_Plan");
10781 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
10782 BinaryElementRelationLink.param1(link,source);
10783 BinaryElementRelationLink.param2(link,target);
10784}
10785/**
10786 * Matcher for detecting tuples t where <>increase_for_life_insurance attribute DS_for_Private_Insurance_and_Plan(source,target)
10787 */
10788private pattern mayInRelationincrease_for_life_insurance_attribute_DS_for_Private_Insurance_and_Plan(
10789 problem:LogicProblem, interpretation:PartialInterpretation,
10790 source: DefinedElement, target:DefinedElement)
10791{
10792 find interpretation(problem,interpretation);
10793 // The two endpoint of the link have to exist
10794 find mayExist(problem, interpretation, source);
10795 find mayExist(problem, interpretation, target);
10796 // Type consistency
10797 find mayInstanceOfDS_for_Private_Insurance_and_Plan_class(problem,interpretation,source);
10798 RealElement(target);
10799 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
10800 // the upper bound of the multiplicity should be considered.
10801 numberOfExistingReferences == count find mustInRelationincrease_for_life_insurance_attribute_DS_for_Private_Insurance_and_Plan(problem,interpretation,source,_);
10802 check(numberOfExistingReferences < 1);
10803} or {
10804 find mustInRelationincrease_for_life_insurance_attribute_DS_for_Private_Insurance_and_Plan(problem,interpretation,source,target);
10805}
10806/**
10807 * Matcher for detecting tuples t where []maximum_deductible_amount_for_private_insurance attribute DS_for_Private_Insurance_and_Plan(source,target)
10808 */
10809private pattern mustInRelationmaximum_deductible_amount_for_private_insurance_attribute_DS_for_Private_Insurance_and_Plan(
10810 problem:LogicProblem, interpretation:PartialInterpretation,
10811 source: DefinedElement, target:DefinedElement)
10812{
10813 find interpretation(problem,interpretation);
10814 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
10815 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"maximum_deductible_amount_for_private_insurance attribute DS_for_Private_Insurance_and_Plan");
10816 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
10817 BinaryElementRelationLink.param1(link,source);
10818 BinaryElementRelationLink.param2(link,target);
10819}
10820/**
10821 * Matcher for detecting tuples t where <>maximum_deductible_amount_for_private_insurance attribute DS_for_Private_Insurance_and_Plan(source,target)
10822 */
10823private pattern mayInRelationmaximum_deductible_amount_for_private_insurance_attribute_DS_for_Private_Insurance_and_Plan(
10824 problem:LogicProblem, interpretation:PartialInterpretation,
10825 source: DefinedElement, target:DefinedElement)
10826{
10827 find interpretation(problem,interpretation);
10828 // The two endpoint of the link have to exist
10829 find mayExist(problem, interpretation, source);
10830 find mayExist(problem, interpretation, target);
10831 // Type consistency
10832 find mayInstanceOfDS_for_Private_Insurance_and_Plan_class(problem,interpretation,source);
10833 RealElement(target);
10834 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
10835 // the upper bound of the multiplicity should be considered.
10836 numberOfExistingReferences == count find mustInRelationmaximum_deductible_amount_for_private_insurance_attribute_DS_for_Private_Insurance_and_Plan(problem,interpretation,source,_);
10837 check(numberOfExistingReferences < 1);
10838} or {
10839 find mustInRelationmaximum_deductible_amount_for_private_insurance_attribute_DS_for_Private_Insurance_and_Plan(problem,interpretation,source,target);
10840}
10841/**
10842 * Matcher for detecting tuples t where []maximum_deductible_amount_for_old_age_pension_plan attribute DS_for_Private_Insurance_and_Plan(source,target)
10843 */
10844private pattern mustInRelationmaximum_deductible_amount_for_old_age_pension_plan_attribute_DS_for_Private_Insurance_and_Plan(
10845 problem:LogicProblem, interpretation:PartialInterpretation,
10846 source: DefinedElement, target:DefinedElement)
10847{
10848 find interpretation(problem,interpretation);
10849 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
10850 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"maximum_deductible_amount_for_old_age_pension_plan attribute DS_for_Private_Insurance_and_Plan");
10851 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
10852 BinaryElementRelationLink.param1(link,source);
10853 BinaryElementRelationLink.param2(link,target);
10854}
10855/**
10856 * Matcher for detecting tuples t where <>maximum_deductible_amount_for_old_age_pension_plan attribute DS_for_Private_Insurance_and_Plan(source,target)
10857 */
10858private pattern mayInRelationmaximum_deductible_amount_for_old_age_pension_plan_attribute_DS_for_Private_Insurance_and_Plan(
10859 problem:LogicProblem, interpretation:PartialInterpretation,
10860 source: DefinedElement, target:DefinedElement)
10861{
10862 find interpretation(problem,interpretation);
10863 // The two endpoint of the link have to exist
10864 find mayExist(problem, interpretation, source);
10865 find mayExist(problem, interpretation, target);
10866 // Type consistency
10867 find mayInstanceOfDS_for_Private_Insurance_and_Plan_class(problem,interpretation,source);
10868 RealElement(target);
10869 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
10870 // the upper bound of the multiplicity should be considered.
10871 numberOfExistingReferences == count find mustInRelationmaximum_deductible_amount_for_old_age_pension_plan_attribute_DS_for_Private_Insurance_and_Plan(problem,interpretation,source,_);
10872 check(numberOfExistingReferences < 1);
10873} or {
10874 find mustInRelationmaximum_deductible_amount_for_old_age_pension_plan_attribute_DS_for_Private_Insurance_and_Plan(problem,interpretation,source,target);
10875}
10876/**
10877 * Matcher for detecting tuples t where []category attribute Permanent_Expense(source,target)
10878 */
10879private pattern mustInRelationcategory_attribute_Permanent_Expense(
10880 problem:LogicProblem, interpretation:PartialInterpretation,
10881 source: DefinedElement, target:DefinedElement)
10882{
10883 find interpretation(problem,interpretation);
10884 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
10885 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"category attribute Permanent_Expense");
10886 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
10887 BinaryElementRelationLink.param1(link,source);
10888 BinaryElementRelationLink.param2(link,target);
10889}
10890/**
10891 * Matcher for detecting tuples t where <>category attribute Permanent_Expense(source,target)
10892 */
10893private pattern mayInRelationcategory_attribute_Permanent_Expense(
10894 problem:LogicProblem, interpretation:PartialInterpretation,
10895 source: DefinedElement, target:DefinedElement)
10896{
10897 find interpretation(problem,interpretation);
10898 // The two endpoint of the link have to exist
10899 find mayExist(problem, interpretation, source);
10900 find mayExist(problem, interpretation, target);
10901 // Type consistency
10902 find mayInstanceOfPermanent_Expense_class(problem,interpretation,source);
10903 find mayInstanceOfCategory_of_Permanent_Expense_enum(problem,interpretation,target);
10904 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
10905 // the upper bound of the multiplicity should be considered.
10906 numberOfExistingReferences == count find mustInRelationcategory_attribute_Permanent_Expense(problem,interpretation,source,_);
10907 check(numberOfExistingReferences < 1);
10908} or {
10909 find mustInRelationcategory_attribute_Permanent_Expense(problem,interpretation,source,target);
10910}
10911/**
10912 * Matcher for detecting tuples t where []is_eligible_for_deduction attribute Permanent_Expense(source,target)
10913 */
10914private pattern mustInRelationis_eligible_for_deduction_attribute_Permanent_Expense(
10915 problem:LogicProblem, interpretation:PartialInterpretation,
10916 source: DefinedElement, target:DefinedElement)
10917{
10918 find interpretation(problem,interpretation);
10919 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
10920 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"is_eligible_for_deduction attribute Permanent_Expense");
10921 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
10922 BinaryElementRelationLink.param1(link,source);
10923 BinaryElementRelationLink.param2(link,target);
10924}
10925/**
10926 * Matcher for detecting tuples t where <>is_eligible_for_deduction attribute Permanent_Expense(source,target)
10927 */
10928private pattern mayInRelationis_eligible_for_deduction_attribute_Permanent_Expense(
10929 problem:LogicProblem, interpretation:PartialInterpretation,
10930 source: DefinedElement, target:DefinedElement)
10931{
10932 find interpretation(problem,interpretation);
10933 // The two endpoint of the link have to exist
10934 find mayExist(problem, interpretation, source);
10935 find mayExist(problem, interpretation, target);
10936 // Type consistency
10937 find mayInstanceOfPermanent_Expense_class(problem,interpretation,source);
10938 BooleanElement(target);
10939 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
10940 // the upper bound of the multiplicity should be considered.
10941 numberOfExistingReferences == count find mustInRelationis_eligible_for_deduction_attribute_Permanent_Expense(problem,interpretation,source,_);
10942 check(numberOfExistingReferences < 1);
10943} or {
10944 find mustInRelationis_eligible_for_deduction_attribute_Permanent_Expense(problem,interpretation,source,target);
10945}
10946/**
10947 * Matcher for detecting tuples t where []category attribute Private_Insurance_and_Plan(source,target)
10948 */
10949private pattern mustInRelationcategory_attribute_Private_Insurance_and_Plan(
10950 problem:LogicProblem, interpretation:PartialInterpretation,
10951 source: DefinedElement, target:DefinedElement)
10952{
10953 find interpretation(problem,interpretation);
10954 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
10955 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"category attribute Private_Insurance_and_Plan");
10956 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
10957 BinaryElementRelationLink.param1(link,source);
10958 BinaryElementRelationLink.param2(link,target);
10959}
10960/**
10961 * Matcher for detecting tuples t where <>category attribute Private_Insurance_and_Plan(source,target)
10962 */
10963private pattern mayInRelationcategory_attribute_Private_Insurance_and_Plan(
10964 problem:LogicProblem, interpretation:PartialInterpretation,
10965 source: DefinedElement, target:DefinedElement)
10966{
10967 find interpretation(problem,interpretation);
10968 // The two endpoint of the link have to exist
10969 find mayExist(problem, interpretation, source);
10970 find mayExist(problem, interpretation, target);
10971 // Type consistency
10972 find mayInstanceOfPrivate_Insurance_and_Plan_class(problem,interpretation,source);
10973 find mayInstanceOfCategory_of_Private_Insurance_and_Plan_enum(problem,interpretation,target);
10974 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
10975 // the upper bound of the multiplicity should be considered.
10976 numberOfExistingReferences == count find mustInRelationcategory_attribute_Private_Insurance_and_Plan(problem,interpretation,source,_);
10977 check(numberOfExistingReferences < 1);
10978} or {
10979 find mustInRelationcategory_attribute_Private_Insurance_and_Plan(problem,interpretation,source,target);
10980}
10981/**
10982 * Matcher for detecting tuples t where []duration_of_contract attribute Private_Insurance_and_Plan(source,target)
10983 */
10984private pattern mustInRelationduration_of_contract_attribute_Private_Insurance_and_Plan(
10985 problem:LogicProblem, interpretation:PartialInterpretation,
10986 source: DefinedElement, target:DefinedElement)
10987{
10988 find interpretation(problem,interpretation);
10989 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
10990 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"duration_of_contract attribute Private_Insurance_and_Plan");
10991 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
10992 BinaryElementRelationLink.param1(link,source);
10993 BinaryElementRelationLink.param2(link,target);
10994}
10995/**
10996 * Matcher for detecting tuples t where <>duration_of_contract attribute Private_Insurance_and_Plan(source,target)
10997 */
10998private pattern mayInRelationduration_of_contract_attribute_Private_Insurance_and_Plan(
10999 problem:LogicProblem, interpretation:PartialInterpretation,
11000 source: DefinedElement, target:DefinedElement)
11001{
11002 find interpretation(problem,interpretation);
11003 // The two endpoint of the link have to exist
11004 find mayExist(problem, interpretation, source);
11005 find mayExist(problem, interpretation, target);
11006 // Type consistency
11007 find mayInstanceOfPrivate_Insurance_and_Plan_class(problem,interpretation,source);
11008 IntegerElement(target);
11009 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
11010 // the upper bound of the multiplicity should be considered.
11011 numberOfExistingReferences == count find mustInRelationduration_of_contract_attribute_Private_Insurance_and_Plan(problem,interpretation,source,_);
11012 check(numberOfExistingReferences < 1);
11013} or {
11014 find mustInRelationduration_of_contract_attribute_Private_Insurance_and_Plan(problem,interpretation,source,target);
11015}
11016/**
11017 * Matcher for detecting tuples t where []is_private_insurance_and_plan_eligible_for_deduction attribute Private_Insurance_and_Plan(source,target)
11018 */
11019private pattern mustInRelationis_private_insurance_and_plan_eligible_for_deduction_attribute_Private_Insurance_and_Plan(
11020 problem:LogicProblem, interpretation:PartialInterpretation,
11021 source: DefinedElement, target:DefinedElement)
11022{
11023 find interpretation(problem,interpretation);
11024 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
11025 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"is_private_insurance_and_plan_eligible_for_deduction attribute Private_Insurance_and_Plan");
11026 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
11027 BinaryElementRelationLink.param1(link,source);
11028 BinaryElementRelationLink.param2(link,target);
11029}
11030/**
11031 * Matcher for detecting tuples t where <>is_private_insurance_and_plan_eligible_for_deduction attribute Private_Insurance_and_Plan(source,target)
11032 */
11033private pattern mayInRelationis_private_insurance_and_plan_eligible_for_deduction_attribute_Private_Insurance_and_Plan(
11034 problem:LogicProblem, interpretation:PartialInterpretation,
11035 source: DefinedElement, target:DefinedElement)
11036{
11037 find interpretation(problem,interpretation);
11038 // The two endpoint of the link have to exist
11039 find mayExist(problem, interpretation, source);
11040 find mayExist(problem, interpretation, target);
11041 // Type consistency
11042 find mayInstanceOfPrivate_Insurance_and_Plan_class(problem,interpretation,source);
11043 BooleanElement(target);
11044 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
11045 // the upper bound of the multiplicity should be considered.
11046 numberOfExistingReferences == count find mustInRelationis_private_insurance_and_plan_eligible_for_deduction_attribute_Private_Insurance_and_Plan(problem,interpretation,source,_);
11047 check(numberOfExistingReferences < 1);
11048} or {
11049 find mustInRelationis_private_insurance_and_plan_eligible_for_deduction_attribute_Private_Insurance_and_Plan(problem,interpretation,source,target);
11050}
11051/**
11052 * Matcher for detecting tuples t where []category attribute Health_and_Pension_Insurance(source,target)
11053 */
11054private pattern mustInRelationcategory_attribute_Health_and_Pension_Insurance(
11055 problem:LogicProblem, interpretation:PartialInterpretation,
11056 source: DefinedElement, target:DefinedElement)
11057{
11058 find interpretation(problem,interpretation);
11059 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
11060 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"category attribute Health_and_Pension_Insurance");
11061 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
11062 BinaryElementRelationLink.param1(link,source);
11063 BinaryElementRelationLink.param2(link,target);
11064}
11065/**
11066 * Matcher for detecting tuples t where <>category attribute Health_and_Pension_Insurance(source,target)
11067 */
11068private pattern mayInRelationcategory_attribute_Health_and_Pension_Insurance(
11069 problem:LogicProblem, interpretation:PartialInterpretation,
11070 source: DefinedElement, target:DefinedElement)
11071{
11072 find interpretation(problem,interpretation);
11073 // The two endpoint of the link have to exist
11074 find mayExist(problem, interpretation, source);
11075 find mayExist(problem, interpretation, target);
11076 // Type consistency
11077 find mayInstanceOfHealth_and_Pension_Insurance_class(problem,interpretation,source);
11078 find mayInstanceOfCategory_of_Health_and_Pension_Insurances_enum(problem,interpretation,target);
11079 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
11080 // the upper bound of the multiplicity should be considered.
11081 numberOfExistingReferences == count find mustInRelationcategory_attribute_Health_and_Pension_Insurance(problem,interpretation,source,_);
11082 check(numberOfExistingReferences < 1);
11083} or {
11084 find mustInRelationcategory_attribute_Health_and_Pension_Insurance(problem,interpretation,source,target);
11085}
11086/**
11087 * Matcher for detecting tuples t where []is_related_to_additional_salary attribute Health_and_Pension_Insurance(source,target)
11088 */
11089private pattern mustInRelationis_related_to_additional_salary_attribute_Health_and_Pension_Insurance(
11090 problem:LogicProblem, interpretation:PartialInterpretation,
11091 source: DefinedElement, target:DefinedElement)
11092{
11093 find interpretation(problem,interpretation);
11094 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
11095 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"is_related_to_additional_salary attribute Health_and_Pension_Insurance");
11096 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
11097 BinaryElementRelationLink.param1(link,source);
11098 BinaryElementRelationLink.param2(link,target);
11099}
11100/**
11101 * Matcher for detecting tuples t where <>is_related_to_additional_salary attribute Health_and_Pension_Insurance(source,target)
11102 */
11103private pattern mayInRelationis_related_to_additional_salary_attribute_Health_and_Pension_Insurance(
11104 problem:LogicProblem, interpretation:PartialInterpretation,
11105 source: DefinedElement, target:DefinedElement)
11106{
11107 find interpretation(problem,interpretation);
11108 // The two endpoint of the link have to exist
11109 find mayExist(problem, interpretation, source);
11110 find mayExist(problem, interpretation, target);
11111 // Type consistency
11112 find mayInstanceOfHealth_and_Pension_Insurance_class(problem,interpretation,source);
11113 BooleanElement(target);
11114 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
11115 // the upper bound of the multiplicity should be considered.
11116 numberOfExistingReferences == count find mustInRelationis_related_to_additional_salary_attribute_Health_and_Pension_Insurance(problem,interpretation,source,_);
11117 check(numberOfExistingReferences < 1);
11118} or {
11119 find mustInRelationis_related_to_additional_salary_attribute_Health_and_Pension_Insurance(problem,interpretation,source,target);
11120}
11121/**
11122 * Matcher for detecting tuples t where []beneficiary1 attribute Donation(source,target)
11123 */
11124private pattern mustInRelationbeneficiary1_attribute_Donation(
11125 problem:LogicProblem, interpretation:PartialInterpretation,
11126 source: DefinedElement, target:DefinedElement)
11127{
11128 find interpretation(problem,interpretation);
11129 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
11130 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"beneficiary1 attribute Donation");
11131 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
11132 BinaryElementRelationLink.param1(link,source);
11133 BinaryElementRelationLink.param2(link,target);
11134}
11135/**
11136 * Matcher for detecting tuples t where <>beneficiary1 attribute Donation(source,target)
11137 */
11138private pattern mayInRelationbeneficiary1_attribute_Donation(
11139 problem:LogicProblem, interpretation:PartialInterpretation,
11140 source: DefinedElement, target:DefinedElement)
11141{
11142 find interpretation(problem,interpretation);
11143 // The two endpoint of the link have to exist
11144 find mayExist(problem, interpretation, source);
11145 find mayExist(problem, interpretation, target);
11146 // Type consistency
11147 find mayInstanceOfDonation_class(problem,interpretation,source);
11148 StringElement(target);
11149 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
11150 // the upper bound of the multiplicity should be considered.
11151 numberOfExistingReferences == count find mustInRelationbeneficiary1_attribute_Donation(problem,interpretation,source,_);
11152 check(numberOfExistingReferences < 1);
11153} or {
11154 find mustInRelationbeneficiary1_attribute_Donation(problem,interpretation,source,target);
11155}
11156/**
11157 * Matcher for detecting tuples t where []is_beneficiary_eligible attribute Donation(source,target)
11158 */
11159private pattern mustInRelationis_beneficiary_eligible_attribute_Donation(
11160 problem:LogicProblem, interpretation:PartialInterpretation,
11161 source: DefinedElement, target:DefinedElement)
11162{
11163 find interpretation(problem,interpretation);
11164 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
11165 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"is_beneficiary_eligible attribute Donation");
11166 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
11167 BinaryElementRelationLink.param1(link,source);
11168 BinaryElementRelationLink.param2(link,target);
11169}
11170/**
11171 * Matcher for detecting tuples t where <>is_beneficiary_eligible attribute Donation(source,target)
11172 */
11173private pattern mayInRelationis_beneficiary_eligible_attribute_Donation(
11174 problem:LogicProblem, interpretation:PartialInterpretation,
11175 source: DefinedElement, target:DefinedElement)
11176{
11177 find interpretation(problem,interpretation);
11178 // The two endpoint of the link have to exist
11179 find mayExist(problem, interpretation, source);
11180 find mayExist(problem, interpretation, target);
11181 // Type consistency
11182 find mayInstanceOfDonation_class(problem,interpretation,source);
11183 BooleanElement(target);
11184 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
11185 // the upper bound of the multiplicity should be considered.
11186 numberOfExistingReferences == count find mustInRelationis_beneficiary_eligible_attribute_Donation(problem,interpretation,source,_);
11187 check(numberOfExistingReferences < 1);
11188} or {
11189 find mustInRelationis_beneficiary_eligible_attribute_Donation(problem,interpretation,source,target);
11190}
11191/**
11192 * Matcher for detecting tuples t where []is_donation_reported attribute Donation(source,target)
11193 */
11194private pattern mustInRelationis_donation_reported_attribute_Donation(
11195 problem:LogicProblem, interpretation:PartialInterpretation,
11196 source: DefinedElement, target:DefinedElement)
11197{
11198 find interpretation(problem,interpretation);
11199 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
11200 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"is_donation_reported attribute Donation");
11201 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
11202 BinaryElementRelationLink.param1(link,source);
11203 BinaryElementRelationLink.param2(link,target);
11204}
11205/**
11206 * Matcher for detecting tuples t where <>is_donation_reported attribute Donation(source,target)
11207 */
11208private pattern mayInRelationis_donation_reported_attribute_Donation(
11209 problem:LogicProblem, interpretation:PartialInterpretation,
11210 source: DefinedElement, target:DefinedElement)
11211{
11212 find interpretation(problem,interpretation);
11213 // The two endpoint of the link have to exist
11214 find mayExist(problem, interpretation, source);
11215 find mayExist(problem, interpretation, target);
11216 // Type consistency
11217 find mayInstanceOfDonation_class(problem,interpretation,source);
11218 BooleanElement(target);
11219 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
11220 // the upper bound of the multiplicity should be considered.
11221 numberOfExistingReferences == count find mustInRelationis_donation_reported_attribute_Donation(problem,interpretation,source,_);
11222 check(numberOfExistingReferences < 1);
11223} or {
11224 find mustInRelationis_donation_reported_attribute_Donation(problem,interpretation,source,target);
11225}
11226/**
11227 * Matcher for detecting tuples t where []regular_accountability attribute Loss_Carryforward(source,target)
11228 */
11229private pattern mustInRelationregular_accountability_attribute_Loss_Carryforward(
11230 problem:LogicProblem, interpretation:PartialInterpretation,
11231 source: DefinedElement, target:DefinedElement)
11232{
11233 find interpretation(problem,interpretation);
11234 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
11235 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"regular_accountability attribute Loss_Carryforward");
11236 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
11237 BinaryElementRelationLink.param1(link,source);
11238 BinaryElementRelationLink.param2(link,target);
11239}
11240/**
11241 * Matcher for detecting tuples t where <>regular_accountability attribute Loss_Carryforward(source,target)
11242 */
11243private pattern mayInRelationregular_accountability_attribute_Loss_Carryforward(
11244 problem:LogicProblem, interpretation:PartialInterpretation,
11245 source: DefinedElement, target:DefinedElement)
11246{
11247 find interpretation(problem,interpretation);
11248 // The two endpoint of the link have to exist
11249 find mayExist(problem, interpretation, source);
11250 find mayExist(problem, interpretation, target);
11251 // Type consistency
11252 find mayInstanceOfLoss_Carryforward_class(problem,interpretation,source);
11253 BooleanElement(target);
11254 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
11255 // the upper bound of the multiplicity should be considered.
11256 numberOfExistingReferences == count find mustInRelationregular_accountability_attribute_Loss_Carryforward(problem,interpretation,source,_);
11257 check(numberOfExistingReferences < 1);
11258} or {
11259 find mustInRelationregular_accountability_attribute_Loss_Carryforward(problem,interpretation,source,target);
11260}
11261/**
11262 * Matcher for detecting tuples t where []compensation_by_other_means attribute Loss_Carryforward(source,target)
11263 */
11264private pattern mustInRelationcompensation_by_other_means_attribute_Loss_Carryforward(
11265 problem:LogicProblem, interpretation:PartialInterpretation,
11266 source: DefinedElement, target:DefinedElement)
11267{
11268 find interpretation(problem,interpretation);
11269 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
11270 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"compensation_by_other_means attribute Loss_Carryforward");
11271 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
11272 BinaryElementRelationLink.param1(link,source);
11273 BinaryElementRelationLink.param2(link,target);
11274}
11275/**
11276 * Matcher for detecting tuples t where <>compensation_by_other_means attribute Loss_Carryforward(source,target)
11277 */
11278private pattern mayInRelationcompensation_by_other_means_attribute_Loss_Carryforward(
11279 problem:LogicProblem, interpretation:PartialInterpretation,
11280 source: DefinedElement, target:DefinedElement)
11281{
11282 find interpretation(problem,interpretation);
11283 // The two endpoint of the link have to exist
11284 find mayExist(problem, interpretation, source);
11285 find mayExist(problem, interpretation, target);
11286 // Type consistency
11287 find mayInstanceOfLoss_Carryforward_class(problem,interpretation,source);
11288 BooleanElement(target);
11289 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
11290 // the upper bound of the multiplicity should be considered.
11291 numberOfExistingReferences == count find mustInRelationcompensation_by_other_means_attribute_Loss_Carryforward(problem,interpretation,source,_);
11292 check(numberOfExistingReferences < 1);
11293} or {
11294 find mustInRelationcompensation_by_other_means_attribute_Loss_Carryforward(problem,interpretation,source,target);
11295}
11296/**
11297 * Matcher for detecting tuples t where []tax_payer_has_inherited_business_ownership attribute Loss_Carryforward(source,target)
11298 */
11299private pattern mustInRelationtax_payer_has_inherited_business_ownership_attribute_Loss_Carryforward(
11300 problem:LogicProblem, interpretation:PartialInterpretation,
11301 source: DefinedElement, target:DefinedElement)
11302{
11303 find interpretation(problem,interpretation);
11304 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
11305 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"tax_payer_has_inherited_business_ownership attribute Loss_Carryforward");
11306 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
11307 BinaryElementRelationLink.param1(link,source);
11308 BinaryElementRelationLink.param2(link,target);
11309}
11310/**
11311 * Matcher for detecting tuples t where <>tax_payer_has_inherited_business_ownership attribute Loss_Carryforward(source,target)
11312 */
11313private pattern mayInRelationtax_payer_has_inherited_business_ownership_attribute_Loss_Carryforward(
11314 problem:LogicProblem, interpretation:PartialInterpretation,
11315 source: DefinedElement, target:DefinedElement)
11316{
11317 find interpretation(problem,interpretation);
11318 // The two endpoint of the link have to exist
11319 find mayExist(problem, interpretation, source);
11320 find mayExist(problem, interpretation, target);
11321 // Type consistency
11322 find mayInstanceOfLoss_Carryforward_class(problem,interpretation,source);
11323 BooleanElement(target);
11324 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
11325 // the upper bound of the multiplicity should be considered.
11326 numberOfExistingReferences == count find mustInRelationtax_payer_has_inherited_business_ownership_attribute_Loss_Carryforward(problem,interpretation,source,_);
11327 check(numberOfExistingReferences < 1);
11328} or {
11329 find mustInRelationtax_payer_has_inherited_business_ownership_attribute_Loss_Carryforward(problem,interpretation,source,target);
11330}
11331/**
11332 * Matcher for detecting tuples t where []tax_payer_has_been_partner_in_business attribute Loss_Carryforward(source,target)
11333 */
11334private pattern mustInRelationtax_payer_has_been_partner_in_business_attribute_Loss_Carryforward(
11335 problem:LogicProblem, interpretation:PartialInterpretation,
11336 source: DefinedElement, target:DefinedElement)
11337{
11338 find interpretation(problem,interpretation);
11339 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
11340 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"tax_payer_has_been_partner_in_business attribute Loss_Carryforward");
11341 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
11342 BinaryElementRelationLink.param1(link,source);
11343 BinaryElementRelationLink.param2(link,target);
11344}
11345/**
11346 * Matcher for detecting tuples t where <>tax_payer_has_been_partner_in_business attribute Loss_Carryforward(source,target)
11347 */
11348private pattern mayInRelationtax_payer_has_been_partner_in_business_attribute_Loss_Carryforward(
11349 problem:LogicProblem, interpretation:PartialInterpretation,
11350 source: DefinedElement, target:DefinedElement)
11351{
11352 find interpretation(problem,interpretation);
11353 // The two endpoint of the link have to exist
11354 find mayExist(problem, interpretation, source);
11355 find mayExist(problem, interpretation, target);
11356 // Type consistency
11357 find mayInstanceOfLoss_Carryforward_class(problem,interpretation,source);
11358 BooleanElement(target);
11359 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
11360 // the upper bound of the multiplicity should be considered.
11361 numberOfExistingReferences == count find mustInRelationtax_payer_has_been_partner_in_business_attribute_Loss_Carryforward(problem,interpretation,source,_);
11362 check(numberOfExistingReferences < 1);
11363} or {
11364 find mustInRelationtax_payer_has_been_partner_in_business_attribute_Loss_Carryforward(problem,interpretation,source,target);
11365}
11366/**
11367 * Matcher for detecting tuples t where []thresholded_deduction_percentage attribute Extraordinary_Expense_CE(source,target)
11368 */
11369private pattern mustInRelationthresholded_deduction_percentage_attribute_Extraordinary_Expense_CE(
11370 problem:LogicProblem, interpretation:PartialInterpretation,
11371 source: DefinedElement, target:DefinedElement)
11372{
11373 find interpretation(problem,interpretation);
11374 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
11375 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"thresholded_deduction_percentage attribute Extraordinary_Expense_CE");
11376 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
11377 BinaryElementRelationLink.param1(link,source);
11378 BinaryElementRelationLink.param2(link,target);
11379}
11380/**
11381 * Matcher for detecting tuples t where <>thresholded_deduction_percentage attribute Extraordinary_Expense_CE(source,target)
11382 */
11383private pattern mayInRelationthresholded_deduction_percentage_attribute_Extraordinary_Expense_CE(
11384 problem:LogicProblem, interpretation:PartialInterpretation,
11385 source: DefinedElement, target:DefinedElement)
11386{
11387 find interpretation(problem,interpretation);
11388 // The two endpoint of the link have to exist
11389 find mayExist(problem, interpretation, source);
11390 find mayExist(problem, interpretation, target);
11391 // Type consistency
11392 find mayInstanceOfExtraordinary_Expense_CE_class(problem,interpretation,source);
11393 RealElement(target);
11394 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
11395 // the upper bound of the multiplicity should be considered.
11396 numberOfExistingReferences == count find mustInRelationthresholded_deduction_percentage_attribute_Extraordinary_Expense_CE(problem,interpretation,source,_);
11397 check(numberOfExistingReferences < 1);
11398} or {
11399 find mustInRelationthresholded_deduction_percentage_attribute_Extraordinary_Expense_CE(problem,interpretation,source,target);
11400}
11401/**
11402 * Matcher for detecting tuples t where []ce_type attribute Extraordinary_Expense_CE(source,target)
11403 */
11404private pattern mustInRelationce_type_attribute_Extraordinary_Expense_CE(
11405 problem:LogicProblem, interpretation:PartialInterpretation,
11406 source: DefinedElement, target:DefinedElement)
11407{
11408 find interpretation(problem,interpretation);
11409 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
11410 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"ce_type attribute Extraordinary_Expense_CE");
11411 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
11412 BinaryElementRelationLink.param1(link,source);
11413 BinaryElementRelationLink.param2(link,target);
11414}
11415/**
11416 * Matcher for detecting tuples t where <>ce_type attribute Extraordinary_Expense_CE(source,target)
11417 */
11418private pattern mayInRelationce_type_attribute_Extraordinary_Expense_CE(
11419 problem:LogicProblem, interpretation:PartialInterpretation,
11420 source: DefinedElement, target:DefinedElement)
11421{
11422 find interpretation(problem,interpretation);
11423 // The two endpoint of the link have to exist
11424 find mayExist(problem, interpretation, source);
11425 find mayExist(problem, interpretation, target);
11426 // Type consistency
11427 find mayInstanceOfExtraordinary_Expense_CE_class(problem,interpretation,source);
11428 find mayInstanceOfCE_Type_enum(problem,interpretation,target);
11429 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
11430 // the upper bound of the multiplicity should be considered.
11431 numberOfExistingReferences == count find mustInRelationce_type_attribute_Extraordinary_Expense_CE(problem,interpretation,source,_);
11432 check(numberOfExistingReferences < 1);
11433} or {
11434 find mustInRelationce_type_attribute_Extraordinary_Expense_CE(problem,interpretation,source,target);
11435}
11436
11437//////////
11438// 1.3 Relation Definition Indexers
11439//////////
11440
11441//////////
11442// 1.4 Containment Indexer
11443//////////
11444private pattern mustContains2(source: DefinedElement, target: DefinedElement) {
11445 find mustContains4(_,_,source,target);
11446}
11447
11448private pattern mustContains4(problem:LogicProblem, interpretation:PartialInterpretation,
11449 source: DefinedElement, target: DefinedElement)
11450 { find mustInRelationdependents_reference_Tax_Payer(problem,interpretation,source,target); }or
11451
11452 { find mustInRelationfrom_agent_reference_Tax_Payer(problem,interpretation,source,target); }or
11453
11454 { find mustInRelationincomes_reference_Tax_Payer(problem,interpretation,source,target); }or
11455
11456 { find mustInRelationfrom_law_reference_Tax_Payer(problem,interpretation,source,target); }or
11457
11458 { find mustInRelationallowances_reference_Dependent(problem,interpretation,source,target); }or
11459
11460 { find mustInRelationparents_reference_Household(problem,interpretation,source,target); }or
11461
11462 { find mustInRelationchildren_reference_Household(problem,interpretation,source,target); }or
11463
11464 { find mustInRelationindividual_A_reference_Legal_Union_Record(problem,interpretation,source,target); }or
11465
11466 { find mustInRelationindividual_B_reference_Legal_Union_Record(problem,interpretation,source,target); }or
11467
11468 { find mustInRelationproperties_reference_Legal_Union_Record(problem,interpretation,source,target); }or
11469
11470 { find mustInRelationincome_type_reference_Income(problem,interpretation,source,target); }or
11471
11472 { find mustInRelationtax_card_reference_Income(problem,interpretation,source,target); }or
11473
11474 { find mustInRelationdetails_reference_Income(problem,interpretation,source,target); }or
11475
11476 { find mustInRelationexpenses_reference_Income(problem,interpretation,source,target); }
11477
11478private pattern mustTransitiveContains(source,target) {
11479 find mustContains2+(source,target);
11480}
11481
11482//////////
11483// 2. Invalidation Indexers
11484//////////
11485// 2.1 Invalidated by WF Queries
11486//////////
11487
11488//////////
11489// 3. Unfinishedness Indexers
11490//////////
11491// 3.1 Unfinishedness Measured by Multiplicity
11492//////////
11493pattern unfinishedLowerMultiplicity_taxPayer_reference_Income_Tax(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
11494 find interpretation(problem,interpretation);
11495 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
11496 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"taxPayer reference Income_Tax");
11497 find mustInstanceOfIncome_Tax_class(problem,interpretation,object);
11498 numberOfExistingReferences == count find mustInRelationtaxPayer_reference_Income_Tax(problem,interpretation,object,_);
11499 check(numberOfExistingReferences < 1);
11500 missingMultiplicity == eval(1-numberOfExistingReferences);
11501}
11502pattern unfinishedLowerMultiplicity_from_agent_reference_Tax_Payer(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
11503 find interpretation(problem,interpretation);
11504 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
11505 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"from_agent reference Tax_Payer");
11506 find mustInstanceOfTax_Payer_class(problem,interpretation,object);
11507 numberOfExistingReferences == count find mustInRelationfrom_agent_reference_Tax_Payer(problem,interpretation,object,_);
11508 check(numberOfExistingReferences < 1);
11509 missingMultiplicity == eval(1-numberOfExistingReferences);
11510}
11511pattern unfinishedLowerMultiplicity_incomes_reference_Tax_Payer(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
11512 find interpretation(problem,interpretation);
11513 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
11514 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"incomes reference Tax_Payer");
11515 find mustInstanceOfTax_Payer_class(problem,interpretation,object);
11516 numberOfExistingReferences == count find mustInRelationincomes_reference_Tax_Payer(problem,interpretation,object,_);
11517 check(numberOfExistingReferences < 1);
11518 missingMultiplicity == eval(1-numberOfExistingReferences);
11519}
11520pattern unfinishedLowerMultiplicity_from_law_reference_Tax_Payer(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
11521 find interpretation(problem,interpretation);
11522 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
11523 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"from_law reference Tax_Payer");
11524 find mustInstanceOfTax_Payer_class(problem,interpretation,object);
11525 numberOfExistingReferences == count find mustInRelationfrom_law_reference_Tax_Payer(problem,interpretation,object,_);
11526 check(numberOfExistingReferences < 1);
11527 missingMultiplicity == eval(1-numberOfExistingReferences);
11528}
11529pattern unfinishedLowerMultiplicity_income_reference_Expense(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
11530 find interpretation(problem,interpretation);
11531 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
11532 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"income reference Expense");
11533 find mustInstanceOfExpense_class(problem,interpretation,object);
11534 numberOfExistingReferences == count find mustInRelationincome_reference_Expense(problem,interpretation,object,_);
11535 check(numberOfExistingReferences < 1);
11536 missingMultiplicity == eval(1-numberOfExistingReferences);
11537}
11538pattern unfinishedLowerMultiplicity_reciver_reference_External_Allowance(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
11539 find interpretation(problem,interpretation);
11540 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
11541 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"reciver reference External_Allowance");
11542 find mustInstanceOfExternal_Allowance_class(problem,interpretation,object);
11543 numberOfExistingReferences == count find mustInRelationreciver_reference_External_Allowance(problem,interpretation,object,_);
11544 check(numberOfExistingReferences < 1);
11545 missingMultiplicity == eval(1-numberOfExistingReferences);
11546}
11547pattern unfinishedLowerMultiplicity_person_reference_External_Allowance(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
11548 find interpretation(problem,interpretation);
11549 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
11550 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"person reference External_Allowance");
11551 find mustInstanceOfExternal_Allowance_class(problem,interpretation,object);
11552 numberOfExistingReferences == count find mustInRelationperson_reference_External_Allowance(problem,interpretation,object,_);
11553 check(numberOfExistingReferences < 1);
11554 missingMultiplicity == eval(1-numberOfExistingReferences);
11555}
11556pattern unfinishedLowerMultiplicity_parents_reference_Household(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
11557 find interpretation(problem,interpretation);
11558 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
11559 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"parents reference Household");
11560 find mustInstanceOfHousehold_class(problem,interpretation,object);
11561 numberOfExistingReferences == count find mustInRelationparents_reference_Household(problem,interpretation,object,_);
11562 check(numberOfExistingReferences < 1);
11563 missingMultiplicity == eval(1-numberOfExistingReferences);
11564}
11565pattern unfinishedLowerMultiplicity_individual_A_reference_Legal_Union_Record(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
11566 find interpretation(problem,interpretation);
11567 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
11568 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"individual_A reference Legal_Union_Record");
11569 find mustInstanceOfLegal_Union_Record_class(problem,interpretation,object);
11570 numberOfExistingReferences == count find mustInRelationindividual_A_reference_Legal_Union_Record(problem,interpretation,object,_);
11571 check(numberOfExistingReferences < 1);
11572 missingMultiplicity == eval(1-numberOfExistingReferences);
11573}
11574pattern unfinishedLowerMultiplicity_individual_B_reference_Legal_Union_Record(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
11575 find interpretation(problem,interpretation);
11576 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
11577 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"individual_B reference Legal_Union_Record");
11578 find mustInstanceOfLegal_Union_Record_class(problem,interpretation,object);
11579 numberOfExistingReferences == count find mustInRelationindividual_B_reference_Legal_Union_Record(problem,interpretation,object,_);
11580 check(numberOfExistingReferences < 1);
11581 missingMultiplicity == eval(1-numberOfExistingReferences);
11582}
11583pattern unfinishedLowerMultiplicity_properties_reference_Legal_Union_Record(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
11584 find interpretation(problem,interpretation);
11585 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
11586 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"properties reference Legal_Union_Record");
11587 find mustInstanceOfLegal_Union_Record_class(problem,interpretation,object);
11588 numberOfExistingReferences == count find mustInRelationproperties_reference_Legal_Union_Record(problem,interpretation,object,_);
11589 check(numberOfExistingReferences < 1);
11590 missingMultiplicity == eval(1-numberOfExistingReferences);
11591}
11592pattern unfinishedLowerMultiplicity_household_reference_Legal_Union_Record(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
11593 find interpretation(problem,interpretation);
11594 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
11595 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"household reference Legal_Union_Record");
11596 find mustInstanceOfLegal_Union_Record_class(problem,interpretation,object);
11597 numberOfExistingReferences == count find mustInRelationhousehold_reference_Legal_Union_Record(problem,interpretation,object,_);
11598 check(numberOfExistingReferences < 1);
11599 missingMultiplicity == eval(1-numberOfExistingReferences);
11600}
11601pattern unfinishedLowerMultiplicity_union_record_reference_Tax_Property(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
11602 find interpretation(problem,interpretation);
11603 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
11604 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"union_record reference Tax_Property");
11605 find mustInstanceOfTax_Property_class(problem,interpretation,object);
11606 numberOfExistingReferences == count find mustInRelationunion_record_reference_Tax_Property(problem,interpretation,object,_);
11607 check(numberOfExistingReferences < 1);
11608 missingMultiplicity == eval(1-numberOfExistingReferences);
11609}
11610pattern unfinishedLowerMultiplicity_taxPayer_reference_FromAgent(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
11611 find interpretation(problem,interpretation);
11612 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
11613 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"taxPayer reference FromAgent");
11614 find mustInstanceOfFromAgent_class(problem,interpretation,object);
11615 numberOfExistingReferences == count find mustInRelationtaxPayer_reference_FromAgent(problem,interpretation,object,_);
11616 check(numberOfExistingReferences < 1);
11617 missingMultiplicity == eval(1-numberOfExistingReferences);
11618}
11619pattern unfinishedLowerMultiplicity_income_type_reference_Income(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
11620 find interpretation(problem,interpretation);
11621 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
11622 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"income_type reference Income");
11623 find mustInstanceOfIncome_class(problem,interpretation,object);
11624 numberOfExistingReferences == count find mustInRelationincome_type_reference_Income(problem,interpretation,object,_);
11625 check(numberOfExistingReferences < 1);
11626 missingMultiplicity == eval(1-numberOfExistingReferences);
11627}
11628pattern unfinishedLowerMultiplicity_taxPayer_reference_Income(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
11629 find interpretation(problem,interpretation);
11630 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
11631 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"taxPayer reference Income");
11632 find mustInstanceOfIncome_class(problem,interpretation,object);
11633 numberOfExistingReferences == count find mustInRelationtaxPayer_reference_Income(problem,interpretation,object,_);
11634 check(numberOfExistingReferences < 1);
11635 missingMultiplicity == eval(1-numberOfExistingReferences);
11636}
11637pattern unfinishedLowerMultiplicity_details_reference_Income(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
11638 find interpretation(problem,interpretation);
11639 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
11640 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"details reference Income");
11641 find mustInstanceOfIncome_class(problem,interpretation,object);
11642 numberOfExistingReferences == count find mustInRelationdetails_reference_Income(problem,interpretation,object,_);
11643 check(numberOfExistingReferences < 12);
11644 missingMultiplicity == eval(12-numberOfExistingReferences);
11645}
11646pattern unfinishedLowerMultiplicity_income_reference_Income_Type(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
11647 find interpretation(problem,interpretation);
11648 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
11649 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"income reference Income_Type");
11650 find mustInstanceOfIncome_Type_class(problem,interpretation,object);
11651 numberOfExistingReferences == count find mustInRelationincome_reference_Income_Type(problem,interpretation,object,_);
11652 check(numberOfExistingReferences < 1);
11653 missingMultiplicity == eval(1-numberOfExistingReferences);
11654}
11655pattern unfinishedLowerMultiplicity_income_reference_Tax_Card(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
11656 find interpretation(problem,interpretation);
11657 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
11658 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"income reference Tax_Card");
11659 find mustInstanceOfTax_Card_class(problem,interpretation,object);
11660 numberOfExistingReferences == count find mustInRelationincome_reference_Tax_Card(problem,interpretation,object,_);
11661 check(numberOfExistingReferences < 1);
11662 missingMultiplicity == eval(1-numberOfExistingReferences);
11663}
11664pattern unfinishedLowerMultiplicity_income_reference_Income_Detail(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
11665 find interpretation(problem,interpretation);
11666 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
11667 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"income reference Income_Detail");
11668 find mustInstanceOfIncome_Detail_class(problem,interpretation,object);
11669 numberOfExistingReferences == count find mustInRelationincome_reference_Income_Detail(problem,interpretation,object,_);
11670 check(numberOfExistingReferences < 1);
11671 missingMultiplicity == eval(1-numberOfExistingReferences);
11672}
11673pattern unfinishedLowerMultiplicity_taxPayer_reference_FromLaw(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
11674 find interpretation(problem,interpretation);
11675 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
11676 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"taxPayer reference FromLaw");
11677 find mustInstanceOfFromLaw_class(problem,interpretation,object);
11678 numberOfExistingReferences == count find mustInRelationtaxPayer_reference_FromLaw(problem,interpretation,object,_);
11679 check(numberOfExistingReferences < 1);
11680 missingMultiplicity == eval(1-numberOfExistingReferences);
11681}
11682pattern unfinishedLowerMultiplicity_MAXIMUM_CE_RATE_FOR_CHILD_NOT_BEING_PART_OF_HOUSEHOLD_attribute_Constants(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
11683 find interpretation(problem,interpretation);
11684 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
11685 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"MAXIMUM_CE_RATE_FOR_CHILD_NOT_BEING_PART_OF_HOUSEHOLD attribute Constants");
11686 find mustInstanceOfConstants_class(problem,interpretation,object);
11687 numberOfExistingReferences == count find mustInRelationMAXIMUM_CE_RATE_FOR_CHILD_NOT_BEING_PART_OF_HOUSEHOLD_attribute_Constants(problem,interpretation,object,_);
11688 check(numberOfExistingReferences < 1);
11689 missingMultiplicity == eval(1-numberOfExistingReferences);
11690}
11691pattern unfinishedLowerMultiplicity_MAXIMUM_CE_RATE_FOR_HOUSE_CARE_AND_CHILD_PART_OF_THE_HOUSEHOLD_CARE_attribute_Constants(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
11692 find interpretation(problem,interpretation);
11693 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
11694 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"MAXIMUM_CE_RATE_FOR_HOUSE_CARE_AND_CHILD_PART_OF_THE_HOUSEHOLD_CARE attribute Constants");
11695 find mustInstanceOfConstants_class(problem,interpretation,object);
11696 numberOfExistingReferences == count find mustInRelationMAXIMUM_CE_RATE_FOR_HOUSE_CARE_AND_CHILD_PART_OF_THE_HOUSEHOLD_CARE_attribute_Constants(problem,interpretation,object,_);
11697 check(numberOfExistingReferences < 1);
11698 missingMultiplicity == eval(1-numberOfExistingReferences);
11699}
11700pattern unfinishedLowerMultiplicity_MINIMUM_SALARY_attribute_Constants(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
11701 find interpretation(problem,interpretation);
11702 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
11703 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"MINIMUM_SALARY attribute Constants");
11704 find mustInstanceOfConstants_class(problem,interpretation,object);
11705 numberOfExistingReferences == count find mustInRelationMINIMUM_SALARY_attribute_Constants(problem,interpretation,object,_);
11706 check(numberOfExistingReferences < 1);
11707 missingMultiplicity == eval(1-numberOfExistingReferences);
11708}
11709pattern unfinishedLowerMultiplicity_FLAT_RATE_FOR_EXTRA_PROFESSIONAL_DEDUCTION_attribute_Constants(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
11710 find interpretation(problem,interpretation);
11711 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
11712 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"FLAT_RATE_FOR_EXTRA_PROFESSIONAL_DEDUCTION attribute Constants");
11713 find mustInstanceOfConstants_class(problem,interpretation,object);
11714 numberOfExistingReferences == count find mustInRelationFLAT_RATE_FOR_EXTRA_PROFESSIONAL_DEDUCTION_attribute_Constants(problem,interpretation,object,_);
11715 check(numberOfExistingReferences < 1);
11716 missingMultiplicity == eval(1-numberOfExistingReferences);
11717}
11718pattern unfinishedLowerMultiplicity_MAXIMUM_DEDUCTIBLE_PERCENTAGE_FOR_DONATIONS_attribute_Constants(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
11719 find interpretation(problem,interpretation);
11720 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
11721 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"MAXIMUM_DEDUCTIBLE_PERCENTAGE_FOR_DONATIONS attribute Constants");
11722 find mustInstanceOfConstants_class(problem,interpretation,object);
11723 numberOfExistingReferences == count find mustInRelationMAXIMUM_DEDUCTIBLE_PERCENTAGE_FOR_DONATIONS_attribute_Constants(problem,interpretation,object,_);
11724 check(numberOfExistingReferences < 1);
11725 missingMultiplicity == eval(1-numberOfExistingReferences);
11726}
11727pattern unfinishedLowerMultiplicity_MINIMUM_DEDUCTIBLE_AMOUNT_FOR_DONATIONS_attribute_Constants(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
11728 find interpretation(problem,interpretation);
11729 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
11730 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"MINIMUM_DEDUCTIBLE_AMOUNT_FOR_DONATIONS attribute Constants");
11731 find mustInstanceOfConstants_class(problem,interpretation,object);
11732 numberOfExistingReferences == count find mustInRelationMINIMUM_DEDUCTIBLE_AMOUNT_FOR_DONATIONS_attribute_Constants(problem,interpretation,object,_);
11733 check(numberOfExistingReferences < 1);
11734 missingMultiplicity == eval(1-numberOfExistingReferences);
11735}
11736pattern unfinishedLowerMultiplicity_MAXIMUM_DEDUCTIBLE_AMOUNT_FOR_ADDITIONAL_PENSION_AND_INSURANC_attribute_Constants(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
11737 find interpretation(problem,interpretation);
11738 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
11739 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"MAXIMUM_DEDUCTIBLE_AMOUNT_FOR_ADDITIONAL_PENSION_AND_INSURANC attribute Constants");
11740 find mustInstanceOfConstants_class(problem,interpretation,object);
11741 numberOfExistingReferences == count find mustInRelationMAXIMUM_DEDUCTIBLE_AMOUNT_FOR_ADDITIONAL_PENSION_AND_INSURANC_attribute_Constants(problem,interpretation,object,_);
11742 check(numberOfExistingReferences < 1);
11743 missingMultiplicity == eval(1-numberOfExistingReferences);
11744}
11745pattern unfinishedLowerMultiplicity_MAXIMUM_DEDUCTIBLE_AMOUNT_FOR_ALIMONY_EXPENSE_attribute_Constants(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
11746 find interpretation(problem,interpretation);
11747 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
11748 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"MAXIMUM_DEDUCTIBLE_AMOUNT_FOR_ALIMONY_EXPENSE attribute Constants");
11749 find mustInstanceOfConstants_class(problem,interpretation,object);
11750 numberOfExistingReferences == count find mustInRelationMAXIMUM_DEDUCTIBLE_AMOUNT_FOR_ALIMONY_EXPENSE_attribute_Constants(problem,interpretation,object,_);
11751 check(numberOfExistingReferences < 1);
11752 missingMultiplicity == eval(1-numberOfExistingReferences);
11753}
11754pattern unfinishedLowerMultiplicity_MAXIMAL_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION_attribute_Constants(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
11755 find interpretation(problem,interpretation);
11756 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
11757 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"MAXIMAL_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION attribute Constants");
11758 find mustInstanceOfConstants_class(problem,interpretation,object);
11759 numberOfExistingReferences == count find mustInRelationMAXIMAL_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION_attribute_Constants(problem,interpretation,object,_);
11760 check(numberOfExistingReferences < 1);
11761 missingMultiplicity == eval(1-numberOfExistingReferences);
11762}
11763pattern unfinishedLowerMultiplicity_MAXIMAL_FLAT_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION_attribute_Constants(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
11764 find interpretation(problem,interpretation);
11765 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
11766 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"MAXIMAL_FLAT_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION attribute Constants");
11767 find mustInstanceOfConstants_class(problem,interpretation,object);
11768 numberOfExistingReferences == count find mustInRelationMAXIMAL_FLAT_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION_attribute_Constants(problem,interpretation,object,_);
11769 check(numberOfExistingReferences < 1);
11770 missingMultiplicity == eval(1-numberOfExistingReferences);
11771}
11772pattern unfinishedLowerMultiplicity_MINIMAL_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION_attribute_Constants(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
11773 find interpretation(problem,interpretation);
11774 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
11775 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"MINIMAL_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION attribute Constants");
11776 find mustInstanceOfConstants_class(problem,interpretation,object);
11777 numberOfExistingReferences == count find mustInRelationMINIMAL_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION_attribute_Constants(problem,interpretation,object,_);
11778 check(numberOfExistingReferences < 1);
11779 missingMultiplicity == eval(1-numberOfExistingReferences);
11780}
11781pattern unfinishedLowerMultiplicity_FLAT_RATE_CIM_DAILY_attribute_Constants(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
11782 find interpretation(problem,interpretation);
11783 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
11784 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"FLAT_RATE_CIM_DAILY attribute Constants");
11785 find mustInstanceOfConstants_class(problem,interpretation,object);
11786 numberOfExistingReferences == count find mustInRelationFLAT_RATE_CIM_DAILY_attribute_Constants(problem,interpretation,object,_);
11787 check(numberOfExistingReferences < 1);
11788 missingMultiplicity == eval(1-numberOfExistingReferences);
11789}
11790pattern unfinishedLowerMultiplicity_FLAT_RATE_CIM_MONTHLY_attribute_Constants(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
11791 find interpretation(problem,interpretation);
11792 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
11793 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"FLAT_RATE_CIM_MONTHLY attribute Constants");
11794 find mustInstanceOfConstants_class(problem,interpretation,object);
11795 numberOfExistingReferences == count find mustInRelationFLAT_RATE_CIM_MONTHLY_attribute_Constants(problem,interpretation,object,_);
11796 check(numberOfExistingReferences < 1);
11797 missingMultiplicity == eval(1-numberOfExistingReferences);
11798}
11799pattern unfinishedLowerMultiplicity_FLAT_RATE_CIM_YEARLY_attribute_Constants(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
11800 find interpretation(problem,interpretation);
11801 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
11802 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"FLAT_RATE_CIM_YEARLY attribute Constants");
11803 find mustInstanceOfConstants_class(problem,interpretation,object);
11804 numberOfExistingReferences == count find mustInRelationFLAT_RATE_CIM_YEARLY_attribute_Constants(problem,interpretation,object,_);
11805 check(numberOfExistingReferences < 1);
11806 missingMultiplicity == eval(1-numberOfExistingReferences);
11807}
11808pattern unfinishedLowerMultiplicity_FLAT_RATE_CIP_DAILY_attribute_Constants(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
11809 find interpretation(problem,interpretation);
11810 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
11811 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"FLAT_RATE_CIP_DAILY attribute Constants");
11812 find mustInstanceOfConstants_class(problem,interpretation,object);
11813 numberOfExistingReferences == count find mustInRelationFLAT_RATE_CIP_DAILY_attribute_Constants(problem,interpretation,object,_);
11814 check(numberOfExistingReferences < 1);
11815 missingMultiplicity == eval(1-numberOfExistingReferences);
11816}
11817pattern unfinishedLowerMultiplicity_FLAT_RATE_CIP_MONTHLY_attribute_Constants(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
11818 find interpretation(problem,interpretation);
11819 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
11820 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"FLAT_RATE_CIP_MONTHLY attribute Constants");
11821 find mustInstanceOfConstants_class(problem,interpretation,object);
11822 numberOfExistingReferences == count find mustInRelationFLAT_RATE_CIP_MONTHLY_attribute_Constants(problem,interpretation,object,_);
11823 check(numberOfExistingReferences < 1);
11824 missingMultiplicity == eval(1-numberOfExistingReferences);
11825}
11826pattern unfinishedLowerMultiplicity_FLAT_RATE_CIP_YEARLY_attribute_Constants(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
11827 find interpretation(problem,interpretation);
11828 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
11829 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"FLAT_RATE_CIP_YEARLY attribute Constants");
11830 find mustInstanceOfConstants_class(problem,interpretation,object);
11831 numberOfExistingReferences == count find mustInRelationFLAT_RATE_CIP_YEARLY_attribute_Constants(problem,interpretation,object,_);
11832 check(numberOfExistingReferences < 1);
11833 missingMultiplicity == eval(1-numberOfExistingReferences);
11834}
11835pattern unfinishedLowerMultiplicity_FLAT_RATE_CIS_DAILY_attribute_Constants(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
11836 find interpretation(problem,interpretation);
11837 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
11838 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"FLAT_RATE_CIS_DAILY attribute Constants");
11839 find mustInstanceOfConstants_class(problem,interpretation,object);
11840 numberOfExistingReferences == count find mustInRelationFLAT_RATE_CIS_DAILY_attribute_Constants(problem,interpretation,object,_);
11841 check(numberOfExistingReferences < 1);
11842 missingMultiplicity == eval(1-numberOfExistingReferences);
11843}
11844pattern unfinishedLowerMultiplicity_FLAT_RATE_CIS_MONTHLY_attribute_Constants(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
11845 find interpretation(problem,interpretation);
11846 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
11847 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"FLAT_RATE_CIS_MONTHLY attribute Constants");
11848 find mustInstanceOfConstants_class(problem,interpretation,object);
11849 numberOfExistingReferences == count find mustInRelationFLAT_RATE_CIS_MONTHLY_attribute_Constants(problem,interpretation,object,_);
11850 check(numberOfExistingReferences < 1);
11851 missingMultiplicity == eval(1-numberOfExistingReferences);
11852}
11853pattern unfinishedLowerMultiplicity_FLAT_RATE_CIS_YEARLY_attribute_Constants(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
11854 find interpretation(problem,interpretation);
11855 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
11856 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"FLAT_RATE_CIS_YEARLY attribute Constants");
11857 find mustInstanceOfConstants_class(problem,interpretation,object);
11858 numberOfExistingReferences == count find mustInRelationFLAT_RATE_CIS_YEARLY_attribute_Constants(problem,interpretation,object,_);
11859 check(numberOfExistingReferences < 1);
11860 missingMultiplicity == eval(1-numberOfExistingReferences);
11861}
11862pattern unfinishedLowerMultiplicity_FLAT_RATE_FOR_TRAVEL_EXPENSE_PER_UNIT_attribute_Constants(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
11863 find interpretation(problem,interpretation);
11864 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
11865 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"FLAT_RATE_FOR_TRAVEL_EXPENSE_PER_UNIT attribute Constants");
11866 find mustInstanceOfConstants_class(problem,interpretation,object);
11867 numberOfExistingReferences == count find mustInRelationFLAT_RATE_FOR_TRAVEL_EXPENSE_PER_UNIT_attribute_Constants(problem,interpretation,object,_);
11868 check(numberOfExistingReferences < 1);
11869 missingMultiplicity == eval(1-numberOfExistingReferences);
11870}
11871pattern unfinishedLowerMultiplicity_MAXIMUM_DEDUCTIBLE_AMOUNT_FOR_DS_attribute_Constants(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
11872 find interpretation(problem,interpretation);
11873 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
11874 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"MAXIMUM_DEDUCTIBLE_AMOUNT_FOR_DS attribute Constants");
11875 find mustInstanceOfConstants_class(problem,interpretation,object);
11876 numberOfExistingReferences == count find mustInRelationMAXIMUM_DEDUCTIBLE_AMOUNT_FOR_DS_attribute_Constants(problem,interpretation,object,_);
11877 check(numberOfExistingReferences < 1);
11878 missingMultiplicity == eval(1-numberOfExistingReferences);
11879}
11880pattern unfinishedLowerMultiplicity_FLAT_RATE_FOR_MISCELLANEOUS_EXPENSE_attribute_Constants(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
11881 find interpretation(problem,interpretation);
11882 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
11883 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"FLAT_RATE_FOR_MISCELLANEOUS_EXPENSE attribute Constants");
11884 find mustInstanceOfConstants_class(problem,interpretation,object);
11885 numberOfExistingReferences == count find mustInRelationFLAT_RATE_FOR_MISCELLANEOUS_EXPENSE_attribute_Constants(problem,interpretation,object,_);
11886 check(numberOfExistingReferences < 1);
11887 missingMultiplicity == eval(1-numberOfExistingReferences);
11888}
11889pattern unfinishedLowerMultiplicity_DISABILITY_FLAT_RATE_FOR_MISCELLANEOUS_EXPENSE_attribute_Constants(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
11890 find interpretation(problem,interpretation);
11891 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
11892 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"DISABILITY_FLAT_RATE_FOR_MISCELLANEOUS_EXPENSE attribute Constants");
11893 find mustInstanceOfConstants_class(problem,interpretation,object);
11894 numberOfExistingReferences == count find mustInRelationDISABILITY_FLAT_RATE_FOR_MISCELLANEOUS_EXPENSE_attribute_Constants(problem,interpretation,object,_);
11895 check(numberOfExistingReferences < 1);
11896 missingMultiplicity == eval(1-numberOfExistingReferences);
11897}
11898pattern unfinishedLowerMultiplicity_MAXIMUM_DEDUCTIBLE_AMOUNT_FOR_ADDITIONAL_PENSION_AND_INSURANCE_attribute_Constants(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
11899 find interpretation(problem,interpretation);
11900 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
11901 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"MAXIMUM_DEDUCTIBLE_AMOUNT_FOR_ADDITIONAL_PENSION_AND_INSURANCE attribute Constants");
11902 find mustInstanceOfConstants_class(problem,interpretation,object);
11903 numberOfExistingReferences == count find mustInRelationMAXIMUM_DEDUCTIBLE_AMOUNT_FOR_ADDITIONAL_PENSION_AND_INSURANCE_attribute_Constants(problem,interpretation,object,_);
11904 check(numberOfExistingReferences < 1);
11905 missingMultiplicity == eval(1-numberOfExistingReferences);
11906}
11907pattern unfinishedLowerMultiplicity_tax_amount_attribute_Income_Tax(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
11908 find interpretation(problem,interpretation);
11909 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
11910 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"tax_amount attribute Income_Tax");
11911 find mustInstanceOfIncome_Tax_class(problem,interpretation,object);
11912 numberOfExistingReferences == count find mustInRelationtax_amount_attribute_Income_Tax(problem,interpretation,object,_);
11913 check(numberOfExistingReferences < 1);
11914 missingMultiplicity == eval(1-numberOfExistingReferences);
11915}
11916pattern unfinishedLowerMultiplicity_tax_year_attribute_Income_Tax(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
11917 find interpretation(problem,interpretation);
11918 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
11919 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"tax_year attribute Income_Tax");
11920 find mustInstanceOfIncome_Tax_class(problem,interpretation,object);
11921 numberOfExistingReferences == count find mustInRelationtax_year_attribute_Income_Tax(problem,interpretation,object,_);
11922 check(numberOfExistingReferences < 1);
11923 missingMultiplicity == eval(1-numberOfExistingReferences);
11924}
11925pattern unfinishedLowerMultiplicity_id6_attribute_Income_Tax(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
11926 find interpretation(problem,interpretation);
11927 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
11928 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"id6 attribute Income_Tax");
11929 find mustInstanceOfIncome_Tax_class(problem,interpretation,object);
11930 numberOfExistingReferences == count find mustInRelationid6_attribute_Income_Tax(problem,interpretation,object,_);
11931 check(numberOfExistingReferences < 1);
11932 missingMultiplicity == eval(1-numberOfExistingReferences);
11933}
11934pattern unfinishedLowerMultiplicity_taxesDue_attribute_Tax_Payer(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
11935 find interpretation(problem,interpretation);
11936 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
11937 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"taxesDue attribute Tax_Payer");
11938 find mustInstanceOfTax_Payer_class(problem,interpretation,object);
11939 numberOfExistingReferences == count find mustInRelationtaxesDue_attribute_Tax_Payer(problem,interpretation,object,_);
11940 check(numberOfExistingReferences < 1);
11941 missingMultiplicity == eval(1-numberOfExistingReferences);
11942}
11943pattern unfinishedLowerMultiplicity_is_assisting_spouse_attribute_Physical_Person(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
11944 find interpretation(problem,interpretation);
11945 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
11946 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"is_assisting_spouse attribute Physical_Person");
11947 find mustInstanceOfPhysical_Person_class(problem,interpretation,object);
11948 numberOfExistingReferences == count find mustInRelationis_assisting_spouse_attribute_Physical_Person(problem,interpretation,object,_);
11949 check(numberOfExistingReferences < 1);
11950 missingMultiplicity == eval(1-numberOfExistingReferences);
11951}
11952pattern unfinishedLowerMultiplicity_SSNo_attribute_Physical_Person(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
11953 find interpretation(problem,interpretation);
11954 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
11955 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"SSNo attribute Physical_Person");
11956 find mustInstanceOfPhysical_Person_class(problem,interpretation,object);
11957 numberOfExistingReferences == count find mustInRelationSSNo_attribute_Physical_Person(problem,interpretation,object,_);
11958 check(numberOfExistingReferences < 1);
11959 missingMultiplicity == eval(1-numberOfExistingReferences);
11960}
11961pattern unfinishedLowerMultiplicity_birth_year_attribute_Physical_Person(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
11962 find interpretation(problem,interpretation);
11963 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
11964 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"birth_year attribute Physical_Person");
11965 find mustInstanceOfPhysical_Person_class(problem,interpretation,object);
11966 numberOfExistingReferences == count find mustInRelationbirth_year_attribute_Physical_Person(problem,interpretation,object,_);
11967 check(numberOfExistingReferences < 1);
11968 missingMultiplicity == eval(1-numberOfExistingReferences);
11969}
11970pattern unfinishedLowerMultiplicity_disability_percentage_attribute_Physical_Person(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
11971 find interpretation(problem,interpretation);
11972 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
11973 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"disability_percentage attribute Physical_Person");
11974 find mustInstanceOfPhysical_Person_class(problem,interpretation,object);
11975 numberOfExistingReferences == count find mustInRelationdisability_percentage_attribute_Physical_Person(problem,interpretation,object,_);
11976 check(numberOfExistingReferences < 1);
11977 missingMultiplicity == eval(1-numberOfExistingReferences);
11978}
11979pattern unfinishedLowerMultiplicity_disability_type_attribute_Physical_Person(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
11980 find interpretation(problem,interpretation);
11981 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
11982 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"disability_type attribute Physical_Person");
11983 find mustInstanceOfPhysical_Person_class(problem,interpretation,object);
11984 numberOfExistingReferences == count find mustInRelationdisability_type_attribute_Physical_Person(problem,interpretation,object,_);
11985 check(numberOfExistingReferences < 1);
11986 missingMultiplicity == eval(1-numberOfExistingReferences);
11987}
11988pattern unfinishedLowerMultiplicity_is_affiliated_personnaly_to_social_security_attribute_Physical_Person(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
11989 find interpretation(problem,interpretation);
11990 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
11991 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"is_affiliated_personnaly_to_social_security attribute Physical_Person");
11992 find mustInstanceOfPhysical_Person_class(problem,interpretation,object);
11993 numberOfExistingReferences == count find mustInRelationis_affiliated_personnaly_to_social_security_attribute_Physical_Person(problem,interpretation,object,_);
11994 check(numberOfExistingReferences < 1);
11995 missingMultiplicity == eval(1-numberOfExistingReferences);
11996}
11997pattern unfinishedLowerMultiplicity_birth_month_attribute_Physical_Person(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
11998 find interpretation(problem,interpretation);
11999 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
12000 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"birth_month attribute Physical_Person");
12001 find mustInstanceOfPhysical_Person_class(problem,interpretation,object);
12002 numberOfExistingReferences == count find mustInRelationbirth_month_attribute_Physical_Person(problem,interpretation,object,_);
12003 check(numberOfExistingReferences < 1);
12004 missingMultiplicity == eval(1-numberOfExistingReferences);
12005}
12006pattern unfinishedLowerMultiplicity_birth_day_attribute_Physical_Person(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
12007 find interpretation(problem,interpretation);
12008 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
12009 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"birth_day attribute Physical_Person");
12010 find mustInstanceOfPhysical_Person_class(problem,interpretation,object);
12011 numberOfExistingReferences == count find mustInRelationbirth_day_attribute_Physical_Person(problem,interpretation,object,_);
12012 check(numberOfExistingReferences < 1);
12013 missingMultiplicity == eval(1-numberOfExistingReferences);
12014}
12015pattern unfinishedLowerMultiplicity_is_widower_attribute_Physical_Person(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
12016 find interpretation(problem,interpretation);
12017 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
12018 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"is_widower attribute Physical_Person");
12019 find mustInstanceOfPhysical_Person_class(problem,interpretation,object);
12020 numberOfExistingReferences == count find mustInRelationis_widower_attribute_Physical_Person(problem,interpretation,object,_);
12021 check(numberOfExistingReferences < 1);
12022 missingMultiplicity == eval(1-numberOfExistingReferences);
12023}
12024pattern unfinishedLowerMultiplicity_country_attribute_Address(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
12025 find interpretation(problem,interpretation);
12026 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
12027 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"country attribute Address");
12028 find mustInstanceOfAddress_class(problem,interpretation,object);
12029 numberOfExistingReferences == count find mustInRelationcountry_attribute_Address(problem,interpretation,object,_);
12030 check(numberOfExistingReferences < 1);
12031 missingMultiplicity == eval(1-numberOfExistingReferences);
12032}
12033pattern unfinishedLowerMultiplicity_street_attribute_Address(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
12034 find interpretation(problem,interpretation);
12035 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
12036 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"street attribute Address");
12037 find mustInstanceOfAddress_class(problem,interpretation,object);
12038 numberOfExistingReferences == count find mustInRelationstreet_attribute_Address(problem,interpretation,object,_);
12039 check(numberOfExistingReferences < 1);
12040 missingMultiplicity == eval(1-numberOfExistingReferences);
12041}
12042pattern unfinishedLowerMultiplicity_zipCode_attribute_Address(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
12043 find interpretation(problem,interpretation);
12044 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
12045 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"zipCode attribute Address");
12046 find mustInstanceOfAddress_class(problem,interpretation,object);
12047 numberOfExistingReferences == count find mustInRelationzipCode_attribute_Address(problem,interpretation,object,_);
12048 check(numberOfExistingReferences < 1);
12049 missingMultiplicity == eval(1-numberOfExistingReferences);
12050}
12051pattern unfinishedLowerMultiplicity_city_attribute_Address(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
12052 find interpretation(problem,interpretation);
12053 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
12054 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"city attribute Address");
12055 find mustInstanceOfAddress_class(problem,interpretation,object);
12056 numberOfExistingReferences == count find mustInRelationcity_attribute_Address(problem,interpretation,object,_);
12057 check(numberOfExistingReferences < 1);
12058 missingMultiplicity == eval(1-numberOfExistingReferences);
12059}
12060pattern unfinishedLowerMultiplicity_id2_attribute_Address(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
12061 find interpretation(problem,interpretation);
12062 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
12063 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"id2 attribute Address");
12064 find mustInstanceOfAddress_class(problem,interpretation,object);
12065 numberOfExistingReferences == count find mustInRelationid2_attribute_Address(problem,interpretation,object,_);
12066 check(numberOfExistingReferences < 1);
12067 missingMultiplicity == eval(1-numberOfExistingReferences);
12068}
12069pattern unfinishedLowerMultiplicity_declared_amount_attribute_Expense(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
12070 find interpretation(problem,interpretation);
12071 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
12072 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"declared_amount attribute Expense");
12073 find mustInstanceOfExpense_class(problem,interpretation,object);
12074 numberOfExistingReferences == count find mustInRelationdeclared_amount_attribute_Expense(problem,interpretation,object,_);
12075 check(numberOfExistingReferences < 1);
12076 missingMultiplicity == eval(1-numberOfExistingReferences);
12077}
12078pattern unfinishedLowerMultiplicity_expense_purpose_attribute_Expense(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
12079 find interpretation(problem,interpretation);
12080 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
12081 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"expense_purpose attribute Expense");
12082 find mustInstanceOfExpense_class(problem,interpretation,object);
12083 numberOfExistingReferences == count find mustInRelationexpense_purpose_attribute_Expense(problem,interpretation,object,_);
12084 check(numberOfExistingReferences < 1);
12085 missingMultiplicity == eval(1-numberOfExistingReferences);
12086}
12087pattern unfinishedLowerMultiplicity_id4_attribute_Expense(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
12088 find interpretation(problem,interpretation);
12089 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
12090 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"id4 attribute Expense");
12091 find mustInstanceOfExpense_class(problem,interpretation,object);
12092 numberOfExistingReferences == count find mustInRelationid4_attribute_Expense(problem,interpretation,object,_);
12093 check(numberOfExistingReferences < 1);
12094 missingMultiplicity == eval(1-numberOfExistingReferences);
12095}
12096pattern unfinishedLowerMultiplicity_dependent_type_attribute_Dependent(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
12097 find interpretation(problem,interpretation);
12098 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
12099 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"dependent_type attribute Dependent");
12100 find mustInstanceOfDependent_class(problem,interpretation,object);
12101 numberOfExistingReferences == count find mustInRelationdependent_type_attribute_Dependent(problem,interpretation,object,_);
12102 check(numberOfExistingReferences < 1);
12103 missingMultiplicity == eval(1-numberOfExistingReferences);
12104}
12105pattern unfinishedLowerMultiplicity_continued_studies_attribute_Dependent(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
12106 find interpretation(problem,interpretation);
12107 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
12108 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"continued_studies attribute Dependent");
12109 find mustInstanceOfDependent_class(problem,interpretation,object);
12110 numberOfExistingReferences == count find mustInRelationcontinued_studies_attribute_Dependent(problem,interpretation,object,_);
12111 check(numberOfExistingReferences < 1);
12112 missingMultiplicity == eval(1-numberOfExistingReferences);
12113}
12114pattern unfinishedLowerMultiplicity_amount_attribute_External_Allowance(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
12115 find interpretation(problem,interpretation);
12116 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
12117 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"amount attribute External_Allowance");
12118 find mustInstanceOfExternal_Allowance_class(problem,interpretation,object);
12119 numberOfExistingReferences == count find mustInRelationamount_attribute_External_Allowance(problem,interpretation,object,_);
12120 check(numberOfExistingReferences < 1);
12121 missingMultiplicity == eval(1-numberOfExistingReferences);
12122}
12123pattern unfinishedLowerMultiplicity_grantor_attribute_External_Allowance(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
12124 find interpretation(problem,interpretation);
12125 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
12126 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"grantor attribute External_Allowance");
12127 find mustInstanceOfExternal_Allowance_class(problem,interpretation,object);
12128 numberOfExistingReferences == count find mustInRelationgrantor_attribute_External_Allowance(problem,interpretation,object,_);
12129 check(numberOfExistingReferences < 1);
12130 missingMultiplicity == eval(1-numberOfExistingReferences);
12131}
12132pattern unfinishedLowerMultiplicity_starting_year_attribute_External_Allowance(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
12133 find interpretation(problem,interpretation);
12134 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
12135 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"starting_year attribute External_Allowance");
12136 find mustInstanceOfExternal_Allowance_class(problem,interpretation,object);
12137 numberOfExistingReferences == count find mustInRelationstarting_year_attribute_External_Allowance(problem,interpretation,object,_);
12138 check(numberOfExistingReferences < 1);
12139 missingMultiplicity == eval(1-numberOfExistingReferences);
12140}
12141pattern unfinishedLowerMultiplicity_ending_year_attribute_External_Allowance(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
12142 find interpretation(problem,interpretation);
12143 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
12144 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"ending_year attribute External_Allowance");
12145 find mustInstanceOfExternal_Allowance_class(problem,interpretation,object);
12146 numberOfExistingReferences == count find mustInRelationending_year_attribute_External_Allowance(problem,interpretation,object,_);
12147 check(numberOfExistingReferences < 1);
12148 missingMultiplicity == eval(1-numberOfExistingReferences);
12149}
12150pattern unfinishedLowerMultiplicity_id5_attribute_External_Allowance(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
12151 find interpretation(problem,interpretation);
12152 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
12153 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"id5 attribute External_Allowance");
12154 find mustInstanceOfExternal_Allowance_class(problem,interpretation,object);
12155 numberOfExistingReferences == count find mustInRelationid5_attribute_External_Allowance(problem,interpretation,object,_);
12156 check(numberOfExistingReferences < 1);
12157 missingMultiplicity == eval(1-numberOfExistingReferences);
12158}
12159pattern unfinishedLowerMultiplicity_id1_attribute_Household(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
12160 find interpretation(problem,interpretation);
12161 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
12162 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"id1 attribute Household");
12163 find mustInstanceOfHousehold_class(problem,interpretation,object);
12164 numberOfExistingReferences == count find mustInRelationid1_attribute_Household(problem,interpretation,object,_);
12165 check(numberOfExistingReferences < 1);
12166 missingMultiplicity == eval(1-numberOfExistingReferences);
12167}
12168pattern unfinishedLowerMultiplicity_start_year_attribute_Legal_Union_Record(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
12169 find interpretation(problem,interpretation);
12170 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
12171 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"start_year attribute Legal_Union_Record");
12172 find mustInstanceOfLegal_Union_Record_class(problem,interpretation,object);
12173 numberOfExistingReferences == count find mustInRelationstart_year_attribute_Legal_Union_Record(problem,interpretation,object,_);
12174 check(numberOfExistingReferences < 1);
12175 missingMultiplicity == eval(1-numberOfExistingReferences);
12176}
12177pattern unfinishedLowerMultiplicity_end_year_attribute_Legal_Union_Record(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
12178 find interpretation(problem,interpretation);
12179 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
12180 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"end_year attribute Legal_Union_Record");
12181 find mustInstanceOfLegal_Union_Record_class(problem,interpretation,object);
12182 numberOfExistingReferences == count find mustInRelationend_year_attribute_Legal_Union_Record(problem,interpretation,object,_);
12183 check(numberOfExistingReferences < 1);
12184 missingMultiplicity == eval(1-numberOfExistingReferences);
12185}
12186pattern unfinishedLowerMultiplicity_separation_cause_attribute_Legal_Union_Record(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
12187 find interpretation(problem,interpretation);
12188 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
12189 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"separation_cause attribute Legal_Union_Record");
12190 find mustInstanceOfLegal_Union_Record_class(problem,interpretation,object);
12191 numberOfExistingReferences == count find mustInRelationseparation_cause_attribute_Legal_Union_Record(problem,interpretation,object,_);
12192 check(numberOfExistingReferences < 1);
12193 missingMultiplicity == eval(1-numberOfExistingReferences);
12194}
12195pattern unfinishedLowerMultiplicity_mutual_agreement_attribute_Legal_Union_Record(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
12196 find interpretation(problem,interpretation);
12197 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
12198 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"mutual_agreement attribute Legal_Union_Record");
12199 find mustInstanceOfLegal_Union_Record_class(problem,interpretation,object);
12200 numberOfExistingReferences == count find mustInRelationmutual_agreement_attribute_Legal_Union_Record(problem,interpretation,object,_);
12201 check(numberOfExistingReferences < 1);
12202 missingMultiplicity == eval(1-numberOfExistingReferences);
12203}
12204pattern unfinishedLowerMultiplicity_id9_attribute_Legal_Union_Record(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
12205 find interpretation(problem,interpretation);
12206 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
12207 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"id9 attribute Legal_Union_Record");
12208 find mustInstanceOfLegal_Union_Record_class(problem,interpretation,object);
12209 numberOfExistingReferences == count find mustInRelationid9_attribute_Legal_Union_Record(problem,interpretation,object,_);
12210 check(numberOfExistingReferences < 1);
12211 missingMultiplicity == eval(1-numberOfExistingReferences);
12212}
12213pattern unfinishedLowerMultiplicity_starting_year_attribute_Tax_Property(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
12214 find interpretation(problem,interpretation);
12215 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
12216 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"starting_year attribute Tax_Property");
12217 find mustInstanceOfTax_Property_class(problem,interpretation,object);
12218 numberOfExistingReferences == count find mustInRelationstarting_year_attribute_Tax_Property(problem,interpretation,object,_);
12219 check(numberOfExistingReferences < 1);
12220 missingMultiplicity == eval(1-numberOfExistingReferences);
12221}
12222pattern unfinishedLowerMultiplicity_id10_attribute_Tax_Property(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
12223 find interpretation(problem,interpretation);
12224 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
12225 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"id10 attribute Tax_Property");
12226 find mustInstanceOfTax_Property_class(problem,interpretation,object);
12227 numberOfExistingReferences == count find mustInRelationid10_attribute_Tax_Property(problem,interpretation,object,_);
12228 check(numberOfExistingReferences < 1);
12229 missingMultiplicity == eval(1-numberOfExistingReferences);
12230}
12231pattern unfinishedLowerMultiplicity_is_dependent_eligible_for_CE_Not_In_Houshold_Children_Care_attribute_FromAgent(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
12232 find interpretation(problem,interpretation);
12233 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
12234 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"is_dependent_eligible_for_CE_Not_In_Houshold_Children_Care attribute FromAgent");
12235 find mustInstanceOfFromAgent_class(problem,interpretation,object);
12236 numberOfExistingReferences == count find mustInRelationis_dependent_eligible_for_CE_Not_In_Houshold_Children_Care_attribute_FromAgent(problem,interpretation,object,_);
12237 check(numberOfExistingReferences < 1);
12238 missingMultiplicity == eval(1-numberOfExistingReferences);
12239}
12240pattern unfinishedLowerMultiplicity_is_eligible_debt_attribute_FromAgent(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
12241 find interpretation(problem,interpretation);
12242 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
12243 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"is_eligible_debt attribute FromAgent");
12244 find mustInstanceOfFromAgent_class(problem,interpretation,object);
12245 numberOfExistingReferences == count find mustInRelationis_eligible_debt_attribute_FromAgent(problem,interpretation,object,_);
12246 check(numberOfExistingReferences < 1);
12247 missingMultiplicity == eval(1-numberOfExistingReferences);
12248}
12249pattern unfinishedLowerMultiplicity_income_amount_attribute_Income(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
12250 find interpretation(problem,interpretation);
12251 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
12252 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"income_amount attribute Income");
12253 find mustInstanceOfIncome_class(problem,interpretation,object);
12254 numberOfExistingReferences == count find mustInRelationincome_amount_attribute_Income(problem,interpretation,object,_);
12255 check(numberOfExistingReferences < 1);
12256 missingMultiplicity == eval(1-numberOfExistingReferences);
12257}
12258pattern unfinishedLowerMultiplicity_tax_liability_attribute_Income(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
12259 find interpretation(problem,interpretation);
12260 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
12261 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"tax_liability attribute Income");
12262 find mustInstanceOfIncome_class(problem,interpretation,object);
12263 numberOfExistingReferences == count find mustInRelationtax_liability_attribute_Income(problem,interpretation,object,_);
12264 check(numberOfExistingReferences < 1);
12265 missingMultiplicity == eval(1-numberOfExistingReferences);
12266}
12267pattern unfinishedLowerMultiplicity_num_attribute_Income(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
12268 find interpretation(problem,interpretation);
12269 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
12270 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"num attribute Income");
12271 find mustInstanceOfIncome_class(problem,interpretation,object);
12272 numberOfExistingReferences == count find mustInRelationnum_attribute_Income(problem,interpretation,object,_);
12273 check(numberOfExistingReferences < 1);
12274 missingMultiplicity == eval(1-numberOfExistingReferences);
12275}
12276pattern unfinishedLowerMultiplicity_subjectToWithholdingTax_attribute_Income_Type(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
12277 find interpretation(problem,interpretation);
12278 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
12279 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"subjectToWithholdingTax attribute Income_Type");
12280 find mustInstanceOfIncome_Type_class(problem,interpretation,object);
12281 numberOfExistingReferences == count find mustInRelationsubjectToWithholdingTax_attribute_Income_Type(problem,interpretation,object,_);
12282 check(numberOfExistingReferences < 1);
12283 missingMultiplicity == eval(1-numberOfExistingReferences);
12284}
12285pattern unfinishedLowerMultiplicity_id8_attribute_Income_Type(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
12286 find interpretation(problem,interpretation);
12287 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
12288 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"id8 attribute Income_Type");
12289 find mustInstanceOfIncome_Type_class(problem,interpretation,object);
12290 numberOfExistingReferences == count find mustInRelationid8_attribute_Income_Type(problem,interpretation,object,_);
12291 check(numberOfExistingReferences < 1);
12292 missingMultiplicity == eval(1-numberOfExistingReferences);
12293}
12294pattern unfinishedLowerMultiplicity_tax_card_type_attribute_Tax_Card(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
12295 find interpretation(problem,interpretation);
12296 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
12297 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"tax_card_type attribute Tax_Card");
12298 find mustInstanceOfTax_Card_class(problem,interpretation,object);
12299 numberOfExistingReferences == count find mustInRelationtax_card_type_attribute_Tax_Card(problem,interpretation,object,_);
12300 check(numberOfExistingReferences < 1);
12301 missingMultiplicity == eval(1-numberOfExistingReferences);
12302}
12303pattern unfinishedLowerMultiplicity_tax_office_attribute_Tax_Card(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
12304 find interpretation(problem,interpretation);
12305 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
12306 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"tax_office attribute Tax_Card");
12307 find mustInstanceOfTax_Card_class(problem,interpretation,object);
12308 numberOfExistingReferences == count find mustInRelationtax_office_attribute_Tax_Card(problem,interpretation,object,_);
12309 check(numberOfExistingReferences < 1);
12310 missingMultiplicity == eval(1-numberOfExistingReferences);
12311}
12312pattern unfinishedLowerMultiplicity_percentage_of_witholding_attribute_Tax_Card(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
12313 find interpretation(problem,interpretation);
12314 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
12315 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"percentage_of_witholding attribute Tax_Card");
12316 find mustInstanceOfTax_Card_class(problem,interpretation,object);
12317 numberOfExistingReferences == count find mustInRelationpercentage_of_witholding_attribute_Tax_Card(problem,interpretation,object,_);
12318 check(numberOfExistingReferences < 1);
12319 missingMultiplicity == eval(1-numberOfExistingReferences);
12320}
12321pattern unfinishedLowerMultiplicity_jobs_activity_type_attribute_Tax_Card(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
12322 find interpretation(problem,interpretation);
12323 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
12324 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"jobs_activity_type attribute Tax_Card");
12325 find mustInstanceOfTax_Card_class(problem,interpretation,object);
12326 numberOfExistingReferences == count find mustInRelationjobs_activity_type_attribute_Tax_Card(problem,interpretation,object,_);
12327 check(numberOfExistingReferences < 1);
12328 missingMultiplicity == eval(1-numberOfExistingReferences);
12329}
12330pattern unfinishedLowerMultiplicity_jobs_place_of_work_attribute_Tax_Card(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
12331 find interpretation(problem,interpretation);
12332 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
12333 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"jobs_place_of_work attribute Tax_Card");
12334 find mustInstanceOfTax_Card_class(problem,interpretation,object);
12335 numberOfExistingReferences == count find mustInRelationjobs_place_of_work_attribute_Tax_Card(problem,interpretation,object,_);
12336 check(numberOfExistingReferences < 1);
12337 missingMultiplicity == eval(1-numberOfExistingReferences);
12338}
12339pattern unfinishedLowerMultiplicity_deduction_FD_daily_attribute_Tax_Card(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
12340 find interpretation(problem,interpretation);
12341 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
12342 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"deduction_FD_daily attribute Tax_Card");
12343 find mustInstanceOfTax_Card_class(problem,interpretation,object);
12344 numberOfExistingReferences == count find mustInRelationdeduction_FD_daily_attribute_Tax_Card(problem,interpretation,object,_);
12345 check(numberOfExistingReferences < 1);
12346 missingMultiplicity == eval(1-numberOfExistingReferences);
12347}
12348pattern unfinishedLowerMultiplicity_deduction_FD_monthly_attribute_Tax_Card(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
12349 find interpretation(problem,interpretation);
12350 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
12351 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"deduction_FD_monthly attribute Tax_Card");
12352 find mustInstanceOfTax_Card_class(problem,interpretation,object);
12353 numberOfExistingReferences == count find mustInRelationdeduction_FD_monthly_attribute_Tax_Card(problem,interpretation,object,_);
12354 check(numberOfExistingReferences < 1);
12355 missingMultiplicity == eval(1-numberOfExistingReferences);
12356}
12357pattern unfinishedLowerMultiplicity_deduction_AC_daily_attribute_Tax_Card(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
12358 find interpretation(problem,interpretation);
12359 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
12360 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"deduction_AC_daily attribute Tax_Card");
12361 find mustInstanceOfTax_Card_class(problem,interpretation,object);
12362 numberOfExistingReferences == count find mustInRelationdeduction_AC_daily_attribute_Tax_Card(problem,interpretation,object,_);
12363 check(numberOfExistingReferences < 1);
12364 missingMultiplicity == eval(1-numberOfExistingReferences);
12365}
12366pattern unfinishedLowerMultiplicity_deduction_AC_monthly_attribute_Tax_Card(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
12367 find interpretation(problem,interpretation);
12368 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
12369 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"deduction_AC_monthly attribute Tax_Card");
12370 find mustInstanceOfTax_Card_class(problem,interpretation,object);
12371 numberOfExistingReferences == count find mustInRelationdeduction_AC_monthly_attribute_Tax_Card(problem,interpretation,object,_);
12372 check(numberOfExistingReferences < 1);
12373 missingMultiplicity == eval(1-numberOfExistingReferences);
12374}
12375pattern unfinishedLowerMultiplicity_deduction_AC_yearly_attribute_Tax_Card(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
12376 find interpretation(problem,interpretation);
12377 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
12378 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"deduction_AC_yearly attribute Tax_Card");
12379 find mustInstanceOfTax_Card_class(problem,interpretation,object);
12380 numberOfExistingReferences == count find mustInRelationdeduction_AC_yearly_attribute_Tax_Card(problem,interpretation,object,_);
12381 check(numberOfExistingReferences < 1);
12382 missingMultiplicity == eval(1-numberOfExistingReferences);
12383}
12384pattern unfinishedLowerMultiplicity_deduction_CE_daily_attribute_Tax_Card(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
12385 find interpretation(problem,interpretation);
12386 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
12387 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"deduction_CE_daily attribute Tax_Card");
12388 find mustInstanceOfTax_Card_class(problem,interpretation,object);
12389 numberOfExistingReferences == count find mustInRelationdeduction_CE_daily_attribute_Tax_Card(problem,interpretation,object,_);
12390 check(numberOfExistingReferences < 1);
12391 missingMultiplicity == eval(1-numberOfExistingReferences);
12392}
12393pattern unfinishedLowerMultiplicity_deduction_CE_monthly_attribute_Tax_Card(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
12394 find interpretation(problem,interpretation);
12395 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
12396 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"deduction_CE_monthly attribute Tax_Card");
12397 find mustInstanceOfTax_Card_class(problem,interpretation,object);
12398 numberOfExistingReferences == count find mustInRelationdeduction_CE_monthly_attribute_Tax_Card(problem,interpretation,object,_);
12399 check(numberOfExistingReferences < 1);
12400 missingMultiplicity == eval(1-numberOfExistingReferences);
12401}
12402pattern unfinishedLowerMultiplicity_deduction_CE_yearly_attribute_Tax_Card(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
12403 find interpretation(problem,interpretation);
12404 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
12405 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"deduction_CE_yearly attribute Tax_Card");
12406 find mustInstanceOfTax_Card_class(problem,interpretation,object);
12407 numberOfExistingReferences == count find mustInRelationdeduction_CE_yearly_attribute_Tax_Card(problem,interpretation,object,_);
12408 check(numberOfExistingReferences < 1);
12409 missingMultiplicity == eval(1-numberOfExistingReferences);
12410}
12411pattern unfinishedLowerMultiplicity_deduction_DS_daily_attribute_Tax_Card(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
12412 find interpretation(problem,interpretation);
12413 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
12414 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"deduction_DS_daily attribute Tax_Card");
12415 find mustInstanceOfTax_Card_class(problem,interpretation,object);
12416 numberOfExistingReferences == count find mustInRelationdeduction_DS_daily_attribute_Tax_Card(problem,interpretation,object,_);
12417 check(numberOfExistingReferences < 1);
12418 missingMultiplicity == eval(1-numberOfExistingReferences);
12419}
12420pattern unfinishedLowerMultiplicity_deduction_DS_monthly_attribute_Tax_Card(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
12421 find interpretation(problem,interpretation);
12422 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
12423 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"deduction_DS_monthly attribute Tax_Card");
12424 find mustInstanceOfTax_Card_class(problem,interpretation,object);
12425 numberOfExistingReferences == count find mustInRelationdeduction_DS_monthly_attribute_Tax_Card(problem,interpretation,object,_);
12426 check(numberOfExistingReferences < 1);
12427 missingMultiplicity == eval(1-numberOfExistingReferences);
12428}
12429pattern unfinishedLowerMultiplicity_deduction_FO_daily_attribute_Tax_Card(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
12430 find interpretation(problem,interpretation);
12431 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
12432 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"deduction_FO_daily attribute Tax_Card");
12433 find mustInstanceOfTax_Card_class(problem,interpretation,object);
12434 numberOfExistingReferences == count find mustInRelationdeduction_FO_daily_attribute_Tax_Card(problem,interpretation,object,_);
12435 check(numberOfExistingReferences < 1);
12436 missingMultiplicity == eval(1-numberOfExistingReferences);
12437}
12438pattern unfinishedLowerMultiplicity_deduction_FO_monthly_attribute_Tax_Card(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
12439 find interpretation(problem,interpretation);
12440 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
12441 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"deduction_FO_monthly attribute Tax_Card");
12442 find mustInstanceOfTax_Card_class(problem,interpretation,object);
12443 numberOfExistingReferences == count find mustInRelationdeduction_FO_monthly_attribute_Tax_Card(problem,interpretation,object,_);
12444 check(numberOfExistingReferences < 1);
12445 missingMultiplicity == eval(1-numberOfExistingReferences);
12446}
12447pattern unfinishedLowerMultiplicity_deduction_FO_yearly_attribute_Tax_Card(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
12448 find interpretation(problem,interpretation);
12449 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
12450 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"deduction_FO_yearly attribute Tax_Card");
12451 find mustInstanceOfTax_Card_class(problem,interpretation,object);
12452 numberOfExistingReferences == count find mustInRelationdeduction_FO_yearly_attribute_Tax_Card(problem,interpretation,object,_);
12453 check(numberOfExistingReferences < 1);
12454 missingMultiplicity == eval(1-numberOfExistingReferences);
12455}
12456pattern unfinishedLowerMultiplicity_credit_CIS_daily_attribute_Tax_Card(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
12457 find interpretation(problem,interpretation);
12458 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
12459 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"credit_CIS_daily attribute Tax_Card");
12460 find mustInstanceOfTax_Card_class(problem,interpretation,object);
12461 numberOfExistingReferences == count find mustInRelationcredit_CIS_daily_attribute_Tax_Card(problem,interpretation,object,_);
12462 check(numberOfExistingReferences < 1);
12463 missingMultiplicity == eval(1-numberOfExistingReferences);
12464}
12465pattern unfinishedLowerMultiplicity_credit_CIS_monthly_attribute_Tax_Card(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
12466 find interpretation(problem,interpretation);
12467 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
12468 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"credit_CIS_monthly attribute Tax_Card");
12469 find mustInstanceOfTax_Card_class(problem,interpretation,object);
12470 numberOfExistingReferences == count find mustInRelationcredit_CIS_monthly_attribute_Tax_Card(problem,interpretation,object,_);
12471 check(numberOfExistingReferences < 1);
12472 missingMultiplicity == eval(1-numberOfExistingReferences);
12473}
12474pattern unfinishedLowerMultiplicity_credit_CIM_daily_attribute_Tax_Card(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
12475 find interpretation(problem,interpretation);
12476 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
12477 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"credit_CIM_daily attribute Tax_Card");
12478 find mustInstanceOfTax_Card_class(problem,interpretation,object);
12479 numberOfExistingReferences == count find mustInRelationcredit_CIM_daily_attribute_Tax_Card(problem,interpretation,object,_);
12480 check(numberOfExistingReferences < 1);
12481 missingMultiplicity == eval(1-numberOfExistingReferences);
12482}
12483pattern unfinishedLowerMultiplicity_validity_attribute_Tax_Card(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
12484 find interpretation(problem,interpretation);
12485 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
12486 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"validity attribute Tax_Card");
12487 find mustInstanceOfTax_Card_class(problem,interpretation,object);
12488 numberOfExistingReferences == count find mustInRelationvalidity_attribute_Tax_Card(problem,interpretation,object,_);
12489 check(numberOfExistingReferences < 1);
12490 missingMultiplicity == eval(1-numberOfExistingReferences);
12491}
12492pattern unfinishedLowerMultiplicity_credit_CIM_yearly_attribute_Tax_Card(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
12493 find interpretation(problem,interpretation);
12494 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
12495 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"credit_CIM_yearly attribute Tax_Card");
12496 find mustInstanceOfTax_Card_class(problem,interpretation,object);
12497 numberOfExistingReferences == count find mustInRelationcredit_CIM_yearly_attribute_Tax_Card(problem,interpretation,object,_);
12498 check(numberOfExistingReferences < 1);
12499 missingMultiplicity == eval(1-numberOfExistingReferences);
12500}
12501pattern unfinishedLowerMultiplicity_deduction_DS_Alimony_yearly_attribute_Tax_Card(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
12502 find interpretation(problem,interpretation);
12503 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
12504 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"deduction_DS_Alimony_yearly attribute Tax_Card");
12505 find mustInstanceOfTax_Card_class(problem,interpretation,object);
12506 numberOfExistingReferences == count find mustInRelationdeduction_DS_Alimony_yearly_attribute_Tax_Card(problem,interpretation,object,_);
12507 check(numberOfExistingReferences < 1);
12508 missingMultiplicity == eval(1-numberOfExistingReferences);
12509}
12510pattern unfinishedLowerMultiplicity_deduction_DS_Debt_yearly_attribute_Tax_Card(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
12511 find interpretation(problem,interpretation);
12512 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
12513 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"deduction_DS_Debt_yearly attribute Tax_Card");
12514 find mustInstanceOfTax_Card_class(problem,interpretation,object);
12515 numberOfExistingReferences == count find mustInRelationdeduction_DS_Debt_yearly_attribute_Tax_Card(problem,interpretation,object,_);
12516 check(numberOfExistingReferences < 1);
12517 missingMultiplicity == eval(1-numberOfExistingReferences);
12518}
12519pattern unfinishedLowerMultiplicity_grantedBy_attribute_Income_Tax_Credit(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
12520 find interpretation(problem,interpretation);
12521 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
12522 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"grantedBy attribute Income_Tax_Credit");
12523 find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,object);
12524 numberOfExistingReferences == count find mustInRelationgrantedBy_attribute_Income_Tax_Credit(problem,interpretation,object,_);
12525 check(numberOfExistingReferences < 1);
12526 missingMultiplicity == eval(1-numberOfExistingReferences);
12527}
12528pattern unfinishedLowerMultiplicity_tax_year_attribute_Income_Tax_Credit(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
12529 find interpretation(problem,interpretation);
12530 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
12531 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"tax_year attribute Income_Tax_Credit");
12532 find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,object);
12533 numberOfExistingReferences == count find mustInRelationtax_year_attribute_Income_Tax_Credit(problem,interpretation,object,_);
12534 check(numberOfExistingReferences < 1);
12535 missingMultiplicity == eval(1-numberOfExistingReferences);
12536}
12537pattern unfinishedLowerMultiplicity_yearly_attribute_Income_Tax_Credit(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
12538 find interpretation(problem,interpretation);
12539 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
12540 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"yearly attribute Income_Tax_Credit");
12541 find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,object);
12542 numberOfExistingReferences == count find mustInRelationyearly_attribute_Income_Tax_Credit(problem,interpretation,object,_);
12543 check(numberOfExistingReferences < 1);
12544 missingMultiplicity == eval(1-numberOfExistingReferences);
12545}
12546pattern unfinishedLowerMultiplicity_monthly_attribute_Income_Tax_Credit(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
12547 find interpretation(problem,interpretation);
12548 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
12549 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"monthly attribute Income_Tax_Credit");
12550 find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,object);
12551 numberOfExistingReferences == count find mustInRelationmonthly_attribute_Income_Tax_Credit(problem,interpretation,object,_);
12552 check(numberOfExistingReferences < 1);
12553 missingMultiplicity == eval(1-numberOfExistingReferences);
12554}
12555pattern unfinishedLowerMultiplicity_daily_attribute_Income_Tax_Credit(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
12556 find interpretation(problem,interpretation);
12557 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
12558 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"daily attribute Income_Tax_Credit");
12559 find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,object);
12560 numberOfExistingReferences == count find mustInRelationdaily_attribute_Income_Tax_Credit(problem,interpretation,object,_);
12561 check(numberOfExistingReferences < 1);
12562 missingMultiplicity == eval(1-numberOfExistingReferences);
12563}
12564pattern unfinishedLowerMultiplicity_id7_attribute_Income_Tax_Credit(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
12565 find interpretation(problem,interpretation);
12566 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
12567 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"id7 attribute Income_Tax_Credit");
12568 find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,object);
12569 numberOfExistingReferences == count find mustInRelationid7_attribute_Income_Tax_Credit(problem,interpretation,object,_);
12570 check(numberOfExistingReferences < 1);
12571 missingMultiplicity == eval(1-numberOfExistingReferences);
12572}
12573pattern unfinishedLowerMultiplicity_amount_attribute_Income_Detail(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
12574 find interpretation(problem,interpretation);
12575 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
12576 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"amount attribute Income_Detail");
12577 find mustInstanceOfIncome_Detail_class(problem,interpretation,object);
12578 numberOfExistingReferences == count find mustInRelationamount_attribute_Income_Detail(problem,interpretation,object,_);
12579 check(numberOfExistingReferences < 1);
12580 missingMultiplicity == eval(1-numberOfExistingReferences);
12581}
12582pattern unfinishedLowerMultiplicity_is_worked_attribute_Income_Detail(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
12583 find interpretation(problem,interpretation);
12584 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
12585 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"is_worked attribute Income_Detail");
12586 find mustInstanceOfIncome_Detail_class(problem,interpretation,object);
12587 numberOfExistingReferences == count find mustInRelationis_worked_attribute_Income_Detail(problem,interpretation,object,_);
12588 check(numberOfExistingReferences < 1);
12589 missingMultiplicity == eval(1-numberOfExistingReferences);
12590}
12591pattern unfinishedLowerMultiplicity_distance_attribute_Income_Detail(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
12592 find interpretation(problem,interpretation);
12593 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
12594 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"distance attribute Income_Detail");
12595 find mustInstanceOfIncome_Detail_class(problem,interpretation,object);
12596 numberOfExistingReferences == count find mustInRelationdistance_attribute_Income_Detail(problem,interpretation,object,_);
12597 check(numberOfExistingReferences < 1);
12598 missingMultiplicity == eval(1-numberOfExistingReferences);
12599}
12600pattern unfinishedLowerMultiplicity_worked_days_attribute_Income_Detail(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
12601 find interpretation(problem,interpretation);
12602 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
12603 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"worked_days attribute Income_Detail");
12604 find mustInstanceOfIncome_Detail_class(problem,interpretation,object);
12605 numberOfExistingReferences == count find mustInRelationworked_days_attribute_Income_Detail(problem,interpretation,object,_);
12606 check(numberOfExistingReferences < 1);
12607 missingMultiplicity == eval(1-numberOfExistingReferences);
12608}
12609pattern unfinishedLowerMultiplicity_is_contributing_CNS_attribute_Income_Detail(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
12610 find interpretation(problem,interpretation);
12611 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
12612 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"is_contributing_CNS attribute Income_Detail");
12613 find mustInstanceOfIncome_Detail_class(problem,interpretation,object);
12614 numberOfExistingReferences == count find mustInRelationis_contributing_CNS_attribute_Income_Detail(problem,interpretation,object,_);
12615 check(numberOfExistingReferences < 1);
12616 missingMultiplicity == eval(1-numberOfExistingReferences);
12617}
12618pattern unfinishedLowerMultiplicity_id5_attribute_Income_Detail(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
12619 find interpretation(problem,interpretation);
12620 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
12621 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"id5 attribute Income_Detail");
12622 find mustInstanceOfIncome_Detail_class(problem,interpretation,object);
12623 numberOfExistingReferences == count find mustInRelationid5_attribute_Income_Detail(problem,interpretation,object,_);
12624 check(numberOfExistingReferences < 1);
12625 missingMultiplicity == eval(1-numberOfExistingReferences);
12626}
12627pattern unfinishedLowerMultiplicity_id_attribute_FromLaw(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
12628 find interpretation(problem,interpretation);
12629 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
12630 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"id attribute FromLaw");
12631 find mustInstanceOfFromLaw_class(problem,interpretation,object);
12632 numberOfExistingReferences == count find mustInRelationid_attribute_FromLaw(problem,interpretation,object,_);
12633 check(numberOfExistingReferences < 1);
12634 missingMultiplicity == eval(1-numberOfExistingReferences);
12635}
12636pattern unfinishedLowerMultiplicity_is_assimilated_to_resident_attribute_Non_Resident_Tax_Payer(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
12637 find interpretation(problem,interpretation);
12638 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
12639 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"is_assimilated_to_resident attribute Non_Resident_Tax_Payer");
12640 find mustInstanceOfNon_Resident_Tax_Payer_class(problem,interpretation,object);
12641 numberOfExistingReferences == count find mustInRelationis_assimilated_to_resident_attribute_Non_Resident_Tax_Payer(problem,interpretation,object,_);
12642 check(numberOfExistingReferences < 1);
12643 missingMultiplicity == eval(1-numberOfExistingReferences);
12644}
12645pattern unfinishedLowerMultiplicity_is_periodic_attribute_Rentals_and_Leases_Income(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
12646 find interpretation(problem,interpretation);
12647 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
12648 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"is_periodic attribute Rentals_and_Leases_Income");
12649 find mustInstanceOfRentals_and_Leases_Income_class(problem,interpretation,object);
12650 numberOfExistingReferences == count find mustInRelationis_periodic_attribute_Rentals_and_Leases_Income(problem,interpretation,object,_);
12651 check(numberOfExistingReferences < 1);
12652 missingMultiplicity == eval(1-numberOfExistingReferences);
12653}
12654pattern unfinishedLowerMultiplicity_distance_declared_in_january_attribute_FD(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
12655 find interpretation(problem,interpretation);
12656 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
12657 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"distance_declared_in_january attribute FD");
12658 find mustInstanceOfFD_class(problem,interpretation,object);
12659 numberOfExistingReferences == count find mustInRelationdistance_declared_in_january_attribute_FD(problem,interpretation,object,_);
12660 check(numberOfExistingReferences < 1);
12661 missingMultiplicity == eval(1-numberOfExistingReferences);
12662}
12663pattern unfinishedLowerMultiplicity_calculated_distance_attribute_FD(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
12664 find interpretation(problem,interpretation);
12665 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
12666 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"calculated_distance attribute FD");
12667 find mustInstanceOfFD_class(problem,interpretation,object);
12668 numberOfExistingReferences == count find mustInRelationcalculated_distance_attribute_FD(problem,interpretation,object,_);
12669 check(numberOfExistingReferences < 1);
12670 missingMultiplicity == eval(1-numberOfExistingReferences);
12671}
12672pattern unfinishedLowerMultiplicity_rate_type_for_FO_attribute_FO(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
12673 find interpretation(problem,interpretation);
12674 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
12675 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"rate_type_for_FO attribute FO");
12676 find mustInstanceOfFO_class(problem,interpretation,object);
12677 numberOfExistingReferences == count find mustInRelationrate_type_for_FO_attribute_FO(problem,interpretation,object,_);
12678 check(numberOfExistingReferences < 1);
12679 missingMultiplicity == eval(1-numberOfExistingReferences);
12680}
12681pattern unfinishedLowerMultiplicity_permanent_expense_category_attribute_DS_for_Permanent_Expense(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
12682 find interpretation(problem,interpretation);
12683 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
12684 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"permanent_expense_category attribute DS_for_Permanent_Expense");
12685 find mustInstanceOfDS_for_Permanent_Expense_class(problem,interpretation,object);
12686 numberOfExistingReferences == count find mustInRelationpermanent_expense_category_attribute_DS_for_Permanent_Expense(problem,interpretation,object,_);
12687 check(numberOfExistingReferences < 1);
12688 missingMultiplicity == eval(1-numberOfExistingReferences);
12689}
12690pattern unfinishedLowerMultiplicity_maximum_deductible_amount_attribute_DS(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
12691 find interpretation(problem,interpretation);
12692 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
12693 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"maximum_deductible_amount attribute DS");
12694 find mustInstanceOfDS_class(problem,interpretation,object);
12695 numberOfExistingReferences == count find mustInRelationmaximum_deductible_amount_attribute_DS(problem,interpretation,object,_);
12696 check(numberOfExistingReferences < 1);
12697 missingMultiplicity == eval(1-numberOfExistingReferences);
12698}
12699pattern unfinishedLowerMultiplicity_id3_attribute_DS(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
12700 find interpretation(problem,interpretation);
12701 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
12702 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"id3 attribute DS");
12703 find mustInstanceOfDS_class(problem,interpretation,object);
12704 numberOfExistingReferences == count find mustInRelationid3_attribute_DS(problem,interpretation,object,_);
12705 check(numberOfExistingReferences < 1);
12706 missingMultiplicity == eval(1-numberOfExistingReferences);
12707}
12708pattern unfinishedLowerMultiplicity_insurance_category_attribute_DS_for_Health_and_Pension_Insurance(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
12709 find interpretation(problem,interpretation);
12710 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
12711 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"insurance_category attribute DS_for_Health_and_Pension_Insurance");
12712 find mustInstanceOfDS_for_Health_and_Pension_Insurance_class(problem,interpretation,object);
12713 numberOfExistingReferences == count find mustInRelationinsurance_category_attribute_DS_for_Health_and_Pension_Insurance(problem,interpretation,object,_);
12714 check(numberOfExistingReferences < 1);
12715 missingMultiplicity == eval(1-numberOfExistingReferences);
12716}
12717pattern unfinishedLowerMultiplicity_private_insurance_and_plan_category_attribute_DS_for_Private_Insurance_and_Plan(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
12718 find interpretation(problem,interpretation);
12719 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
12720 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"private_insurance_and_plan_category attribute DS_for_Private_Insurance_and_Plan");
12721 find mustInstanceOfDS_for_Private_Insurance_and_Plan_class(problem,interpretation,object);
12722 numberOfExistingReferences == count find mustInRelationprivate_insurance_and_plan_category_attribute_DS_for_Private_Insurance_and_Plan(problem,interpretation,object,_);
12723 check(numberOfExistingReferences < 1);
12724 missingMultiplicity == eval(1-numberOfExistingReferences);
12725}
12726pattern unfinishedLowerMultiplicity_increase_for_life_insurance_attribute_DS_for_Private_Insurance_and_Plan(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
12727 find interpretation(problem,interpretation);
12728 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
12729 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"increase_for_life_insurance attribute DS_for_Private_Insurance_and_Plan");
12730 find mustInstanceOfDS_for_Private_Insurance_and_Plan_class(problem,interpretation,object);
12731 numberOfExistingReferences == count find mustInRelationincrease_for_life_insurance_attribute_DS_for_Private_Insurance_and_Plan(problem,interpretation,object,_);
12732 check(numberOfExistingReferences < 1);
12733 missingMultiplicity == eval(1-numberOfExistingReferences);
12734}
12735pattern unfinishedLowerMultiplicity_maximum_deductible_amount_for_private_insurance_attribute_DS_for_Private_Insurance_and_Plan(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
12736 find interpretation(problem,interpretation);
12737 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
12738 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"maximum_deductible_amount_for_private_insurance attribute DS_for_Private_Insurance_and_Plan");
12739 find mustInstanceOfDS_for_Private_Insurance_and_Plan_class(problem,interpretation,object);
12740 numberOfExistingReferences == count find mustInRelationmaximum_deductible_amount_for_private_insurance_attribute_DS_for_Private_Insurance_and_Plan(problem,interpretation,object,_);
12741 check(numberOfExistingReferences < 1);
12742 missingMultiplicity == eval(1-numberOfExistingReferences);
12743}
12744pattern unfinishedLowerMultiplicity_maximum_deductible_amount_for_old_age_pension_plan_attribute_DS_for_Private_Insurance_and_Plan(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
12745 find interpretation(problem,interpretation);
12746 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
12747 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"maximum_deductible_amount_for_old_age_pension_plan attribute DS_for_Private_Insurance_and_Plan");
12748 find mustInstanceOfDS_for_Private_Insurance_and_Plan_class(problem,interpretation,object);
12749 numberOfExistingReferences == count find mustInRelationmaximum_deductible_amount_for_old_age_pension_plan_attribute_DS_for_Private_Insurance_and_Plan(problem,interpretation,object,_);
12750 check(numberOfExistingReferences < 1);
12751 missingMultiplicity == eval(1-numberOfExistingReferences);
12752}
12753pattern unfinishedLowerMultiplicity_category_attribute_Permanent_Expense(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
12754 find interpretation(problem,interpretation);
12755 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
12756 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"category attribute Permanent_Expense");
12757 find mustInstanceOfPermanent_Expense_class(problem,interpretation,object);
12758 numberOfExistingReferences == count find mustInRelationcategory_attribute_Permanent_Expense(problem,interpretation,object,_);
12759 check(numberOfExistingReferences < 1);
12760 missingMultiplicity == eval(1-numberOfExistingReferences);
12761}
12762pattern unfinishedLowerMultiplicity_is_eligible_for_deduction_attribute_Permanent_Expense(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
12763 find interpretation(problem,interpretation);
12764 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
12765 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"is_eligible_for_deduction attribute Permanent_Expense");
12766 find mustInstanceOfPermanent_Expense_class(problem,interpretation,object);
12767 numberOfExistingReferences == count find mustInRelationis_eligible_for_deduction_attribute_Permanent_Expense(problem,interpretation,object,_);
12768 check(numberOfExistingReferences < 1);
12769 missingMultiplicity == eval(1-numberOfExistingReferences);
12770}
12771pattern unfinishedLowerMultiplicity_category_attribute_Private_Insurance_and_Plan(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
12772 find interpretation(problem,interpretation);
12773 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
12774 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"category attribute Private_Insurance_and_Plan");
12775 find mustInstanceOfPrivate_Insurance_and_Plan_class(problem,interpretation,object);
12776 numberOfExistingReferences == count find mustInRelationcategory_attribute_Private_Insurance_and_Plan(problem,interpretation,object,_);
12777 check(numberOfExistingReferences < 1);
12778 missingMultiplicity == eval(1-numberOfExistingReferences);
12779}
12780pattern unfinishedLowerMultiplicity_duration_of_contract_attribute_Private_Insurance_and_Plan(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
12781 find interpretation(problem,interpretation);
12782 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
12783 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"duration_of_contract attribute Private_Insurance_and_Plan");
12784 find mustInstanceOfPrivate_Insurance_and_Plan_class(problem,interpretation,object);
12785 numberOfExistingReferences == count find mustInRelationduration_of_contract_attribute_Private_Insurance_and_Plan(problem,interpretation,object,_);
12786 check(numberOfExistingReferences < 1);
12787 missingMultiplicity == eval(1-numberOfExistingReferences);
12788}
12789pattern unfinishedLowerMultiplicity_is_private_insurance_and_plan_eligible_for_deduction_attribute_Private_Insurance_and_Plan(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
12790 find interpretation(problem,interpretation);
12791 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
12792 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"is_private_insurance_and_plan_eligible_for_deduction attribute Private_Insurance_and_Plan");
12793 find mustInstanceOfPrivate_Insurance_and_Plan_class(problem,interpretation,object);
12794 numberOfExistingReferences == count find mustInRelationis_private_insurance_and_plan_eligible_for_deduction_attribute_Private_Insurance_and_Plan(problem,interpretation,object,_);
12795 check(numberOfExistingReferences < 1);
12796 missingMultiplicity == eval(1-numberOfExistingReferences);
12797}
12798pattern unfinishedLowerMultiplicity_category_attribute_Health_and_Pension_Insurance(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
12799 find interpretation(problem,interpretation);
12800 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
12801 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"category attribute Health_and_Pension_Insurance");
12802 find mustInstanceOfHealth_and_Pension_Insurance_class(problem,interpretation,object);
12803 numberOfExistingReferences == count find mustInRelationcategory_attribute_Health_and_Pension_Insurance(problem,interpretation,object,_);
12804 check(numberOfExistingReferences < 1);
12805 missingMultiplicity == eval(1-numberOfExistingReferences);
12806}
12807pattern unfinishedLowerMultiplicity_is_related_to_additional_salary_attribute_Health_and_Pension_Insurance(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
12808 find interpretation(problem,interpretation);
12809 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
12810 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"is_related_to_additional_salary attribute Health_and_Pension_Insurance");
12811 find mustInstanceOfHealth_and_Pension_Insurance_class(problem,interpretation,object);
12812 numberOfExistingReferences == count find mustInRelationis_related_to_additional_salary_attribute_Health_and_Pension_Insurance(problem,interpretation,object,_);
12813 check(numberOfExistingReferences < 1);
12814 missingMultiplicity == eval(1-numberOfExistingReferences);
12815}
12816pattern unfinishedLowerMultiplicity_beneficiary1_attribute_Donation(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
12817 find interpretation(problem,interpretation);
12818 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
12819 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"beneficiary1 attribute Donation");
12820 find mustInstanceOfDonation_class(problem,interpretation,object);
12821 numberOfExistingReferences == count find mustInRelationbeneficiary1_attribute_Donation(problem,interpretation,object,_);
12822 check(numberOfExistingReferences < 1);
12823 missingMultiplicity == eval(1-numberOfExistingReferences);
12824}
12825pattern unfinishedLowerMultiplicity_is_beneficiary_eligible_attribute_Donation(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
12826 find interpretation(problem,interpretation);
12827 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
12828 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"is_beneficiary_eligible attribute Donation");
12829 find mustInstanceOfDonation_class(problem,interpretation,object);
12830 numberOfExistingReferences == count find mustInRelationis_beneficiary_eligible_attribute_Donation(problem,interpretation,object,_);
12831 check(numberOfExistingReferences < 1);
12832 missingMultiplicity == eval(1-numberOfExistingReferences);
12833}
12834pattern unfinishedLowerMultiplicity_is_donation_reported_attribute_Donation(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
12835 find interpretation(problem,interpretation);
12836 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
12837 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"is_donation_reported attribute Donation");
12838 find mustInstanceOfDonation_class(problem,interpretation,object);
12839 numberOfExistingReferences == count find mustInRelationis_donation_reported_attribute_Donation(problem,interpretation,object,_);
12840 check(numberOfExistingReferences < 1);
12841 missingMultiplicity == eval(1-numberOfExistingReferences);
12842}
12843pattern unfinishedLowerMultiplicity_regular_accountability_attribute_Loss_Carryforward(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
12844 find interpretation(problem,interpretation);
12845 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
12846 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"regular_accountability attribute Loss_Carryforward");
12847 find mustInstanceOfLoss_Carryforward_class(problem,interpretation,object);
12848 numberOfExistingReferences == count find mustInRelationregular_accountability_attribute_Loss_Carryforward(problem,interpretation,object,_);
12849 check(numberOfExistingReferences < 1);
12850 missingMultiplicity == eval(1-numberOfExistingReferences);
12851}
12852pattern unfinishedLowerMultiplicity_compensation_by_other_means_attribute_Loss_Carryforward(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
12853 find interpretation(problem,interpretation);
12854 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
12855 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"compensation_by_other_means attribute Loss_Carryforward");
12856 find mustInstanceOfLoss_Carryforward_class(problem,interpretation,object);
12857 numberOfExistingReferences == count find mustInRelationcompensation_by_other_means_attribute_Loss_Carryforward(problem,interpretation,object,_);
12858 check(numberOfExistingReferences < 1);
12859 missingMultiplicity == eval(1-numberOfExistingReferences);
12860}
12861pattern unfinishedLowerMultiplicity_tax_payer_has_inherited_business_ownership_attribute_Loss_Carryforward(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
12862 find interpretation(problem,interpretation);
12863 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
12864 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"tax_payer_has_inherited_business_ownership attribute Loss_Carryforward");
12865 find mustInstanceOfLoss_Carryforward_class(problem,interpretation,object);
12866 numberOfExistingReferences == count find mustInRelationtax_payer_has_inherited_business_ownership_attribute_Loss_Carryforward(problem,interpretation,object,_);
12867 check(numberOfExistingReferences < 1);
12868 missingMultiplicity == eval(1-numberOfExistingReferences);
12869}
12870pattern unfinishedLowerMultiplicity_tax_payer_has_been_partner_in_business_attribute_Loss_Carryforward(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
12871 find interpretation(problem,interpretation);
12872 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
12873 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"tax_payer_has_been_partner_in_business attribute Loss_Carryforward");
12874 find mustInstanceOfLoss_Carryforward_class(problem,interpretation,object);
12875 numberOfExistingReferences == count find mustInRelationtax_payer_has_been_partner_in_business_attribute_Loss_Carryforward(problem,interpretation,object,_);
12876 check(numberOfExistingReferences < 1);
12877 missingMultiplicity == eval(1-numberOfExistingReferences);
12878}
12879pattern unfinishedLowerMultiplicity_thresholded_deduction_percentage_attribute_Extraordinary_Expense_CE(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
12880 find interpretation(problem,interpretation);
12881 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
12882 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"thresholded_deduction_percentage attribute Extraordinary_Expense_CE");
12883 find mustInstanceOfExtraordinary_Expense_CE_class(problem,interpretation,object);
12884 numberOfExistingReferences == count find mustInRelationthresholded_deduction_percentage_attribute_Extraordinary_Expense_CE(problem,interpretation,object,_);
12885 check(numberOfExistingReferences < 1);
12886 missingMultiplicity == eval(1-numberOfExistingReferences);
12887}
12888pattern unfinishedLowerMultiplicity_ce_type_attribute_Extraordinary_Expense_CE(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
12889 find interpretation(problem,interpretation);
12890 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
12891 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"ce_type attribute Extraordinary_Expense_CE");
12892 find mustInstanceOfExtraordinary_Expense_CE_class(problem,interpretation,object);
12893 numberOfExistingReferences == count find mustInRelationce_type_attribute_Extraordinary_Expense_CE(problem,interpretation,object,_);
12894 check(numberOfExistingReferences < 1);
12895 missingMultiplicity == eval(1-numberOfExistingReferences);
12896}
12897
12898//////////
12899// 3.2 Unfinishedness Measured by WF Queries
12900//////////
12901
12902//////////
12903// 4. Refinement Indexers
12904//////////
12905// 4.1 Object constructors
12906//////////
12907private pattern hasElementInContainment(problem:LogicProblem, interpretation:PartialInterpretation)
12908{
12909 find interpretation(problem,interpretation);
12910 find mustInstanceOfLegal_Union_Record_class(problem,interpretation,root);
12911 find mustExist(problem, interpretation, root);
12912}or{
12913 find interpretation(problem,interpretation);
12914 find mustInstanceOfDS_for_Donation_class(problem,interpretation,root);
12915 find mustExist(problem, interpretation, root);
12916}or{
12917 find interpretation(problem,interpretation);
12918 find mustInstanceOfHealth_and_Pension_Insurance_class(problem,interpretation,root);
12919 find mustExist(problem, interpretation, root);
12920}or{
12921 find interpretation(problem,interpretation);
12922 find mustInstanceOfTax_Case_class(problem,interpretation,root);
12923 find mustExist(problem, interpretation, root);
12924}or{
12925 find interpretation(problem,interpretation);
12926 find mustInstanceOfInterest_Expense_class(problem,interpretation,root);
12927 find mustExist(problem, interpretation, root);
12928}or{
12929 find interpretation(problem,interpretation);
12930 find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,root);
12931 find mustExist(problem, interpretation, root);
12932}or{
12933 find interpretation(problem,interpretation);
12934 find mustInstanceOfAgriculture_and_Forestry_Income_class(problem,interpretation,root);
12935 find mustExist(problem, interpretation, root);
12936}or{
12937 find interpretation(problem,interpretation);
12938 find mustInstanceOfAddress_class(problem,interpretation,root);
12939 find mustExist(problem, interpretation, root);
12940}or{
12941 find interpretation(problem,interpretation);
12942 find mustInstanceOfCapital_and_Investments_Income_class(problem,interpretation,root);
12943 find mustExist(problem, interpretation, root);
12944}or{
12945 find interpretation(problem,interpretation);
12946 find mustInstanceOfTravel_Expense_FD_class(problem,interpretation,root);
12947 find mustExist(problem, interpretation, root);
12948}or{
12949 find interpretation(problem,interpretation);
12950 find mustInstanceOfIncome_Detail_class(problem,interpretation,root);
12951 find mustExist(problem, interpretation, root);
12952}or{
12953 find interpretation(problem,interpretation);
12954 find mustInstanceOfConstants_class(problem,interpretation,root);
12955 find mustExist(problem, interpretation, root);
12956}or{
12957 find interpretation(problem,interpretation);
12958 find mustInstanceOfDS_for_Permanent_Expense_class(problem,interpretation,root);
12959 find mustExist(problem, interpretation, root);
12960}or{
12961 find interpretation(problem,interpretation);
12962 find mustInstanceOfDS_for_Private_Insurance_and_Plan_class(problem,interpretation,root);
12963 find mustExist(problem, interpretation, root);
12964}or{
12965 find interpretation(problem,interpretation);
12966 find mustInstanceOfCIS_class(problem,interpretation,root);
12967 find mustExist(problem, interpretation, root);
12968}or{
12969 find interpretation(problem,interpretation);
12970 find mustInstanceOfDependent_class(problem,interpretation,root);
12971 find mustExist(problem, interpretation, root);
12972}or{
12973 find interpretation(problem,interpretation);
12974 find mustInstanceOfSpecial_Expense_DS_class(problem,interpretation,root);
12975 find mustExist(problem, interpretation, root);
12976}or{
12977 find interpretation(problem,interpretation);
12978 find mustInstanceOfMiscellaneous_Expense_FO_class(problem,interpretation,root);
12979 find mustExist(problem, interpretation, root);
12980}or{
12981 find interpretation(problem,interpretation);
12982 find mustInstanceOfEmployment_Income_class(problem,interpretation,root);
12983 find mustExist(problem, interpretation, root);
12984}or{
12985 find interpretation(problem,interpretation);
12986 find mustInstanceOfCIP_class(problem,interpretation,root);
12987 find mustExist(problem, interpretation, root);
12988}or{
12989 find interpretation(problem,interpretation);
12990 find mustInstanceOfFO_class(problem,interpretation,root);
12991 find mustExist(problem, interpretation, root);
12992}or{
12993 find interpretation(problem,interpretation);
12994 find mustInstanceOfLoss_Carryforward_class(problem,interpretation,root);
12995 find mustExist(problem, interpretation, root);
12996}or{
12997 find interpretation(problem,interpretation);
12998 find mustInstanceOfDS_for_Health_and_Pension_Insurance_class(problem,interpretation,root);
12999 find mustExist(problem, interpretation, root);
13000}or{
13001 find interpretation(problem,interpretation);
13002 find mustInstanceOfTax_Property_class(problem,interpretation,root);
13003 find mustExist(problem, interpretation, root);
13004}or{
13005 find interpretation(problem,interpretation);
13006 find mustInstanceOfSpousal_Expense_AC_class(problem,interpretation,root);
13007 find mustExist(problem, interpretation, root);
13008}or{
13009 find interpretation(problem,interpretation);
13010 find mustInstanceOfPartnership_Record_class(problem,interpretation,root);
13011 find mustExist(problem, interpretation, root);
13012}or{
13013 find interpretation(problem,interpretation);
13014 find mustInstanceOfTax_Payer_class(problem,interpretation,root);
13015 find mustExist(problem, interpretation, root);
13016}or{
13017 find interpretation(problem,interpretation);
13018 find mustInstanceOfPensions_and_Annuities_Income_class(problem,interpretation,root);
13019 find mustExist(problem, interpretation, root);
13020}or{
13021 find interpretation(problem,interpretation);
13022 find mustInstanceOfPrivate_Insurance_and_Plan_class(problem,interpretation,root);
13023 find mustExist(problem, interpretation, root);
13024}or{
13025 find interpretation(problem,interpretation);
13026 find mustInstanceOfTax_Card_class(problem,interpretation,root);
13027 find mustExist(problem, interpretation, root);
13028}or{
13029 find interpretation(problem,interpretation);
13030 find mustInstanceOfHabitual_Address_class(problem,interpretation,root);
13031 find mustExist(problem, interpretation, root);
13032}or{
13033 find interpretation(problem,interpretation);
13034 find mustInstanceOfHousehold_class(problem,interpretation,root);
13035 find mustExist(problem, interpretation, root);
13036}or{
13037 find interpretation(problem,interpretation);
13038 find mustInstanceOfExpense_class(problem,interpretation,root);
13039 find mustExist(problem, interpretation, root);
13040}or{
13041 find interpretation(problem,interpretation);
13042 find mustInstanceOfResident_Tax_Payer_class(problem,interpretation,root);
13043 find mustExist(problem, interpretation, root);
13044}or{
13045 find interpretation(problem,interpretation);
13046 find mustInstanceOfPermanent_Expense_class(problem,interpretation,root);
13047 find mustExist(problem, interpretation, root);
13048}or{
13049 find interpretation(problem,interpretation);
13050 find mustInstanceOfFromLaw_class(problem,interpretation,root);
13051 find mustExist(problem, interpretation, root);
13052}or{
13053 find interpretation(problem,interpretation);
13054 find mustInstanceOfDonation_class(problem,interpretation,root);
13055 find mustExist(problem, interpretation, root);
13056}or{
13057 find interpretation(problem,interpretation);
13058 find mustInstanceOfIncome_Tax_class(problem,interpretation,root);
13059 find mustExist(problem, interpretation, root);
13060}or{
13061 find interpretation(problem,interpretation);
13062 find mustInstanceOfRentals_and_Leases_Income_class(problem,interpretation,root);
13063 find mustExist(problem, interpretation, root);
13064}or{
13065 find interpretation(problem,interpretation);
13066 find mustInstanceOfFD_class(problem,interpretation,root);
13067 find mustExist(problem, interpretation, root);
13068}or{
13069 find interpretation(problem,interpretation);
13070 find mustInstanceOfExternal_Allowance_class(problem,interpretation,root);
13071 find mustExist(problem, interpretation, root);
13072}or{
13073 find interpretation(problem,interpretation);
13074 find mustInstanceOfExtraordinary_Expense_CE_class(problem,interpretation,root);
13075 find mustExist(problem, interpretation, root);
13076}or{
13077 find interpretation(problem,interpretation);
13078 find mustInstanceOfIncome_Type_class(problem,interpretation,root);
13079 find mustExist(problem, interpretation, root);
13080}or{
13081 find interpretation(problem,interpretation);
13082 find mustInstanceOfIncome_class(problem,interpretation,root);
13083 find mustExist(problem, interpretation, root);
13084}or{
13085 find interpretation(problem,interpretation);
13086 find mustInstanceOfForeign_Income_class(problem,interpretation,root);
13087 find mustExist(problem, interpretation, root);
13088}or{
13089 find interpretation(problem,interpretation);
13090 find mustInstanceOfFiscal_Address_class(problem,interpretation,root);
13091 find mustExist(problem, interpretation, root);
13092}or{
13093 find interpretation(problem,interpretation);
13094 find mustInstanceOfFromAgent_class(problem,interpretation,root);
13095 find mustExist(problem, interpretation, root);
13096}or{
13097 find interpretation(problem,interpretation);
13098 find mustInstanceOfLocal_Income_class(problem,interpretation,root);
13099 find mustExist(problem, interpretation, root);
13100}or{
13101 find interpretation(problem,interpretation);
13102 find mustInstanceOfDS_for_Loss_Carryforward_class(problem,interpretation,root);
13103 find mustExist(problem, interpretation, root);
13104}or{
13105 find interpretation(problem,interpretation);
13106 find mustInstanceOfCIM_class(problem,interpretation,root);
13107 find mustExist(problem, interpretation, root);
13108}or{
13109 find interpretation(problem,interpretation);
13110 find mustInstanceOfDS_for_Interest_Expense_class(problem,interpretation,root);
13111 find mustExist(problem, interpretation, root);
13112}or{
13113 find interpretation(problem,interpretation);
13114 find mustInstanceOfPhysical_Person_class(problem,interpretation,root);
13115 find mustExist(problem, interpretation, root);
13116}or{
13117 find interpretation(problem,interpretation);
13118 find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,root);
13119 find mustExist(problem, interpretation, root);
13120}or{
13121 find interpretation(problem,interpretation);
13122 find mustInstanceOfTrade_and_Business_Income_class(problem,interpretation,root);
13123 find mustExist(problem, interpretation, root);
13124}or{
13125 find interpretation(problem,interpretation);
13126 find mustInstanceOfDS_class(problem,interpretation,root);
13127 find mustExist(problem, interpretation, root);
13128}or{
13129 find interpretation(problem,interpretation);
13130 find mustInstanceOfNon_Resident_Tax_Payer_class(problem,interpretation,root);
13131 find mustExist(problem, interpretation, root);
13132}or{
13133 find interpretation(problem,interpretation);
13134 find mustInstanceOfMarriage_Record_class(problem,interpretation,root);
13135 find mustExist(problem, interpretation, root);
13136}or{
13137 find interpretation(problem,interpretation);
13138 find mustInstanceOfProfessional_Expense_class(problem,interpretation,root);
13139 find mustExist(problem, interpretation, root);
13140}
13141pattern createObject_Expense_class_by_expenses_reference_Income_with_income_reference_Expense(
13142 problem:LogicProblem, interpretation:PartialInterpretation,
13143 relationInterpretation:PartialRelationInterpretation, inverseInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
13144 container:DefinedElement)
13145{
13146 find interpretation(problem,interpretation);
13147 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
13148 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Expense class");
13149 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
13150 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"expenses reference Income");
13151 PartialInterpretation.partialrelationinterpretation(interpretation,inverseInterpretation);
13152 PartialRelationInterpretation.interpretationOf.name(inverseInterpretation,"income reference Expense");
13153 find mustInstanceOfIncome_class(problem,interpretation,container);
13154 find mayInstanceOfExpense_class(problem,interpretation,newObject);
13155 find mayInRelationexpenses_reference_Income(problem,interpretation,container,newObject);
13156 find mustExist(problem, interpretation, container);
13157 neg find mustExist(problem, interpretation, newObject);
13158}
13159pattern createObject_Expense_class(
13160 problem:LogicProblem, interpretation:PartialInterpretation,
13161 typeInterpretation:PartialComplexTypeInterpretation)
13162{
13163 find interpretation(problem,interpretation);
13164 neg find hasElementInContainment(problem,interpretation);
13165 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
13166 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Expense class");
13167 find mayInstanceOfExpense_class(problem,interpretation,newObject);
13168 find mayExist(problem, interpretation, newObject);
13169 neg find mustExist(problem, interpretation, newObject);
13170}
13171pattern createObject_Professional_Expense_class_by_expenses_reference_Income_with_income_reference_Expense(
13172 problem:LogicProblem, interpretation:PartialInterpretation,
13173 relationInterpretation:PartialRelationInterpretation, inverseInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
13174 container:DefinedElement)
13175{
13176 find interpretation(problem,interpretation);
13177 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
13178 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Professional_Expense class");
13179 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
13180 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"expenses reference Income");
13181 PartialInterpretation.partialrelationinterpretation(interpretation,inverseInterpretation);
13182 PartialRelationInterpretation.interpretationOf.name(inverseInterpretation,"income reference Expense");
13183 find mustInstanceOfIncome_class(problem,interpretation,container);
13184 find mayInstanceOfProfessional_Expense_class(problem,interpretation,newObject);
13185 find mayInRelationexpenses_reference_Income(problem,interpretation,container,newObject);
13186 find mustExist(problem, interpretation, container);
13187 neg find mustExist(problem, interpretation, newObject);
13188}
13189pattern createObject_Professional_Expense_class(
13190 problem:LogicProblem, interpretation:PartialInterpretation,
13191 typeInterpretation:PartialComplexTypeInterpretation)
13192{
13193 find interpretation(problem,interpretation);
13194 neg find hasElementInContainment(problem,interpretation);
13195 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
13196 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Professional_Expense class");
13197 find mayInstanceOfProfessional_Expense_class(problem,interpretation,newObject);
13198 find mayExist(problem, interpretation, newObject);
13199 neg find mustExist(problem, interpretation, newObject);
13200}
13201pattern createObject_Address_class(
13202 problem:LogicProblem, interpretation:PartialInterpretation,
13203 typeInterpretation:PartialComplexTypeInterpretation)
13204{
13205 find interpretation(problem,interpretation);
13206 neg find hasElementInContainment(problem,interpretation);
13207 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
13208 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Address class");
13209 find mayInstanceOfAddress_class(problem,interpretation,newObject);
13210 find mayExist(problem, interpretation, newObject);
13211 neg find mustExist(problem, interpretation, newObject);
13212}
13213pattern createObject_Foreign_Income_class_by_incomes_reference_Tax_Payer_with_taxPayer_reference_Income(
13214 problem:LogicProblem, interpretation:PartialInterpretation,
13215 relationInterpretation:PartialRelationInterpretation, inverseInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
13216 container:DefinedElement)
13217{
13218 find interpretation(problem,interpretation);
13219 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
13220 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Foreign_Income class");
13221 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
13222 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"incomes reference Tax_Payer");
13223 PartialInterpretation.partialrelationinterpretation(interpretation,inverseInterpretation);
13224 PartialRelationInterpretation.interpretationOf.name(inverseInterpretation,"taxPayer reference Income");
13225 find mustInstanceOfTax_Payer_class(problem,interpretation,container);
13226 find mayInstanceOfForeign_Income_class(problem,interpretation,newObject);
13227 find mayInRelationincomes_reference_Tax_Payer(problem,interpretation,container,newObject);
13228 find mustExist(problem, interpretation, container);
13229 neg find mustExist(problem, interpretation, newObject);
13230}
13231pattern createObject_Foreign_Income_class(
13232 problem:LogicProblem, interpretation:PartialInterpretation,
13233 typeInterpretation:PartialComplexTypeInterpretation)
13234{
13235 find interpretation(problem,interpretation);
13236 neg find hasElementInContainment(problem,interpretation);
13237 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
13238 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Foreign_Income class");
13239 find mayInstanceOfForeign_Income_class(problem,interpretation,newObject);
13240 find mayExist(problem, interpretation, newObject);
13241 neg find mustExist(problem, interpretation, newObject);
13242}
13243pattern createObject_Resident_Tax_Payer_class_by_individual_A_reference_Legal_Union_Record(
13244 problem:LogicProblem, interpretation:PartialInterpretation,
13245 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
13246 container:DefinedElement)
13247{
13248 find interpretation(problem,interpretation);
13249 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
13250 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Resident_Tax_Payer class");
13251 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
13252 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"individual_A reference Legal_Union_Record");
13253 find mustInstanceOfLegal_Union_Record_class(problem,interpretation,container);
13254 find mayInstanceOfResident_Tax_Payer_class(problem,interpretation,newObject);
13255 find mayInRelationindividual_A_reference_Legal_Union_Record(problem,interpretation,container,newObject);
13256 find mustExist(problem, interpretation, container);
13257 neg find mustExist(problem, interpretation, newObject);
13258}
13259pattern createObject_Resident_Tax_Payer_class_by_individual_B_reference_Legal_Union_Record(
13260 problem:LogicProblem, interpretation:PartialInterpretation,
13261 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
13262 container:DefinedElement)
13263{
13264 find interpretation(problem,interpretation);
13265 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
13266 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Resident_Tax_Payer class");
13267 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
13268 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"individual_B reference Legal_Union_Record");
13269 find mustInstanceOfLegal_Union_Record_class(problem,interpretation,container);
13270 find mayInstanceOfResident_Tax_Payer_class(problem,interpretation,newObject);
13271 find mayInRelationindividual_B_reference_Legal_Union_Record(problem,interpretation,container,newObject);
13272 find mustExist(problem, interpretation, container);
13273 neg find mustExist(problem, interpretation, newObject);
13274}
13275pattern createObject_Resident_Tax_Payer_class(
13276 problem:LogicProblem, interpretation:PartialInterpretation,
13277 typeInterpretation:PartialComplexTypeInterpretation)
13278{
13279 find interpretation(problem,interpretation);
13280 neg find hasElementInContainment(problem,interpretation);
13281 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
13282 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Resident_Tax_Payer class");
13283 find mayInstanceOfResident_Tax_Payer_class(problem,interpretation,newObject);
13284 find mayExist(problem, interpretation, newObject);
13285 neg find mustExist(problem, interpretation, newObject);
13286}
13287pattern createObject_CIS_class(
13288 problem:LogicProblem, interpretation:PartialInterpretation,
13289 typeInterpretation:PartialComplexTypeInterpretation)
13290{
13291 find interpretation(problem,interpretation);
13292 neg find hasElementInContainment(problem,interpretation);
13293 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
13294 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"CIS class");
13295 find mayInstanceOfCIS_class(problem,interpretation,newObject);
13296 find mayExist(problem, interpretation, newObject);
13297 neg find mustExist(problem, interpretation, newObject);
13298}
13299pattern createObject_Special_Expense_DS_class_by_expenses_reference_Income_with_income_reference_Expense(
13300 problem:LogicProblem, interpretation:PartialInterpretation,
13301 relationInterpretation:PartialRelationInterpretation, inverseInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
13302 container:DefinedElement)
13303{
13304 find interpretation(problem,interpretation);
13305 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
13306 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Special_Expense_DS class");
13307 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
13308 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"expenses reference Income");
13309 PartialInterpretation.partialrelationinterpretation(interpretation,inverseInterpretation);
13310 PartialRelationInterpretation.interpretationOf.name(inverseInterpretation,"income reference Expense");
13311 find mustInstanceOfIncome_class(problem,interpretation,container);
13312 find mayInstanceOfSpecial_Expense_DS_class(problem,interpretation,newObject);
13313 find mayInRelationexpenses_reference_Income(problem,interpretation,container,newObject);
13314 find mustExist(problem, interpretation, container);
13315 neg find mustExist(problem, interpretation, newObject);
13316}
13317pattern createObject_Special_Expense_DS_class(
13318 problem:LogicProblem, interpretation:PartialInterpretation,
13319 typeInterpretation:PartialComplexTypeInterpretation)
13320{
13321 find interpretation(problem,interpretation);
13322 neg find hasElementInContainment(problem,interpretation);
13323 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
13324 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Special_Expense_DS class");
13325 find mayInstanceOfSpecial_Expense_DS_class(problem,interpretation,newObject);
13326 find mayExist(problem, interpretation, newObject);
13327 neg find mustExist(problem, interpretation, newObject);
13328}
13329pattern createObject_CIP_class(
13330 problem:LogicProblem, interpretation:PartialInterpretation,
13331 typeInterpretation:PartialComplexTypeInterpretation)
13332{
13333 find interpretation(problem,interpretation);
13334 neg find hasElementInContainment(problem,interpretation);
13335 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
13336 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"CIP class");
13337 find mayInstanceOfCIP_class(problem,interpretation,newObject);
13338 find mayExist(problem, interpretation, newObject);
13339 neg find mustExist(problem, interpretation, newObject);
13340}
13341pattern createObject_Income_Tax_class(
13342 problem:LogicProblem, interpretation:PartialInterpretation,
13343 typeInterpretation:PartialComplexTypeInterpretation)
13344{
13345 find interpretation(problem,interpretation);
13346 neg find hasElementInContainment(problem,interpretation);
13347 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
13348 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Income_Tax class");
13349 find mayInstanceOfIncome_Tax_class(problem,interpretation,newObject);
13350 find mayExist(problem, interpretation, newObject);
13351 neg find mustExist(problem, interpretation, newObject);
13352}
13353pattern createObject_Physical_Person_class_by_individual_A_reference_Legal_Union_Record(
13354 problem:LogicProblem, interpretation:PartialInterpretation,
13355 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
13356 container:DefinedElement)
13357{
13358 find interpretation(problem,interpretation);
13359 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
13360 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Physical_Person class");
13361 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
13362 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"individual_A reference Legal_Union_Record");
13363 find mustInstanceOfLegal_Union_Record_class(problem,interpretation,container);
13364 find mayInstanceOfPhysical_Person_class(problem,interpretation,newObject);
13365 find mayInRelationindividual_A_reference_Legal_Union_Record(problem,interpretation,container,newObject);
13366 find mustExist(problem, interpretation, container);
13367 neg find mustExist(problem, interpretation, newObject);
13368}
13369pattern createObject_Physical_Person_class_by_individual_B_reference_Legal_Union_Record(
13370 problem:LogicProblem, interpretation:PartialInterpretation,
13371 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
13372 container:DefinedElement)
13373{
13374 find interpretation(problem,interpretation);
13375 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
13376 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Physical_Person class");
13377 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
13378 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"individual_B reference Legal_Union_Record");
13379 find mustInstanceOfLegal_Union_Record_class(problem,interpretation,container);
13380 find mayInstanceOfPhysical_Person_class(problem,interpretation,newObject);
13381 find mayInRelationindividual_B_reference_Legal_Union_Record(problem,interpretation,container,newObject);
13382 find mustExist(problem, interpretation, container);
13383 neg find mustExist(problem, interpretation, newObject);
13384}
13385pattern createObject_Physical_Person_class(
13386 problem:LogicProblem, interpretation:PartialInterpretation,
13387 typeInterpretation:PartialComplexTypeInterpretation)
13388{
13389 find interpretation(problem,interpretation);
13390 neg find hasElementInContainment(problem,interpretation);
13391 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
13392 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Physical_Person class");
13393 find mayInstanceOfPhysical_Person_class(problem,interpretation,newObject);
13394 find mayExist(problem, interpretation, newObject);
13395 neg find mustExist(problem, interpretation, newObject);
13396}
13397pattern createObject_Professional_Expenses_Deduction_class(
13398 problem:LogicProblem, interpretation:PartialInterpretation,
13399 typeInterpretation:PartialComplexTypeInterpretation)
13400{
13401 find interpretation(problem,interpretation);
13402 neg find hasElementInContainment(problem,interpretation);
13403 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
13404 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Professional_Expenses_Deduction class");
13405 find mayInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,newObject);
13406 find mayExist(problem, interpretation, newObject);
13407 neg find mustExist(problem, interpretation, newObject);
13408}
13409pattern createObject_Interest_Expense_class_by_expenses_reference_Income_with_income_reference_Expense(
13410 problem:LogicProblem, interpretation:PartialInterpretation,
13411 relationInterpretation:PartialRelationInterpretation, inverseInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
13412 container:DefinedElement)
13413{
13414 find interpretation(problem,interpretation);
13415 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
13416 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Interest_Expense class");
13417 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
13418 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"expenses reference Income");
13419 PartialInterpretation.partialrelationinterpretation(interpretation,inverseInterpretation);
13420 PartialRelationInterpretation.interpretationOf.name(inverseInterpretation,"income reference Expense");
13421 find mustInstanceOfIncome_class(problem,interpretation,container);
13422 find mayInstanceOfInterest_Expense_class(problem,interpretation,newObject);
13423 find mayInRelationexpenses_reference_Income(problem,interpretation,container,newObject);
13424 find mustExist(problem, interpretation, container);
13425 neg find mustExist(problem, interpretation, newObject);
13426}
13427pattern createObject_Interest_Expense_class(
13428 problem:LogicProblem, interpretation:PartialInterpretation,
13429 typeInterpretation:PartialComplexTypeInterpretation)
13430{
13431 find interpretation(problem,interpretation);
13432 neg find hasElementInContainment(problem,interpretation);
13433 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
13434 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Interest_Expense class");
13435 find mayInstanceOfInterest_Expense_class(problem,interpretation,newObject);
13436 find mayExist(problem, interpretation, newObject);
13437 neg find mustExist(problem, interpretation, newObject);
13438}
13439pattern createObject_DS_for_Health_and_Pension_Insurance_class(
13440 problem:LogicProblem, interpretation:PartialInterpretation,
13441 typeInterpretation:PartialComplexTypeInterpretation)
13442{
13443 find interpretation(problem,interpretation);
13444 neg find hasElementInContainment(problem,interpretation);
13445 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
13446 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"DS_for_Health_and_Pension_Insurance class");
13447 find mayInstanceOfDS_for_Health_and_Pension_Insurance_class(problem,interpretation,newObject);
13448 find mayExist(problem, interpretation, newObject);
13449 neg find mustExist(problem, interpretation, newObject);
13450}
13451pattern createObject_Tax_Card_class_by_tax_card_reference_Income_with_income_reference_Tax_Card(
13452 problem:LogicProblem, interpretation:PartialInterpretation,
13453 relationInterpretation:PartialRelationInterpretation, inverseInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
13454 container:DefinedElement)
13455{
13456 find interpretation(problem,interpretation);
13457 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
13458 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Tax_Card class");
13459 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
13460 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"tax_card reference Income");
13461 PartialInterpretation.partialrelationinterpretation(interpretation,inverseInterpretation);
13462 PartialRelationInterpretation.interpretationOf.name(inverseInterpretation,"income reference Tax_Card");
13463 find mustInstanceOfIncome_class(problem,interpretation,container);
13464 find mayInstanceOfTax_Card_class(problem,interpretation,newObject);
13465 find mayInRelationtax_card_reference_Income(problem,interpretation,container,newObject);
13466 find mustExist(problem, interpretation, container);
13467 neg find mustExist(problem, interpretation, newObject);
13468}
13469pattern createObject_Tax_Card_class(
13470 problem:LogicProblem, interpretation:PartialInterpretation,
13471 typeInterpretation:PartialComplexTypeInterpretation)
13472{
13473 find interpretation(problem,interpretation);
13474 neg find hasElementInContainment(problem,interpretation);
13475 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
13476 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Tax_Card class");
13477 find mayInstanceOfTax_Card_class(problem,interpretation,newObject);
13478 find mayExist(problem, interpretation, newObject);
13479 neg find mustExist(problem, interpretation, newObject);
13480}
13481pattern createObject_Donation_class_by_expenses_reference_Income_with_income_reference_Expense(
13482 problem:LogicProblem, interpretation:PartialInterpretation,
13483 relationInterpretation:PartialRelationInterpretation, inverseInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
13484 container:DefinedElement)
13485{
13486 find interpretation(problem,interpretation);
13487 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
13488 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Donation class");
13489 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
13490 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"expenses reference Income");
13491 PartialInterpretation.partialrelationinterpretation(interpretation,inverseInterpretation);
13492 PartialRelationInterpretation.interpretationOf.name(inverseInterpretation,"income reference Expense");
13493 find mustInstanceOfIncome_class(problem,interpretation,container);
13494 find mayInstanceOfDonation_class(problem,interpretation,newObject);
13495 find mayInRelationexpenses_reference_Income(problem,interpretation,container,newObject);
13496 find mustExist(problem, interpretation, container);
13497 neg find mustExist(problem, interpretation, newObject);
13498}
13499pattern createObject_Donation_class(
13500 problem:LogicProblem, interpretation:PartialInterpretation,
13501 typeInterpretation:PartialComplexTypeInterpretation)
13502{
13503 find interpretation(problem,interpretation);
13504 neg find hasElementInContainment(problem,interpretation);
13505 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
13506 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Donation class");
13507 find mayInstanceOfDonation_class(problem,interpretation,newObject);
13508 find mayExist(problem, interpretation, newObject);
13509 neg find mustExist(problem, interpretation, newObject);
13510}
13511pattern createObject_FromAgent_class_by_from_agent_reference_Tax_Payer_with_taxPayer_reference_FromAgent(
13512 problem:LogicProblem, interpretation:PartialInterpretation,
13513 relationInterpretation:PartialRelationInterpretation, inverseInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
13514 container:DefinedElement)
13515{
13516 find interpretation(problem,interpretation);
13517 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
13518 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"FromAgent class");
13519 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
13520 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"from_agent reference Tax_Payer");
13521 PartialInterpretation.partialrelationinterpretation(interpretation,inverseInterpretation);
13522 PartialRelationInterpretation.interpretationOf.name(inverseInterpretation,"taxPayer reference FromAgent");
13523 find mustInstanceOfTax_Payer_class(problem,interpretation,container);
13524 find mayInstanceOfFromAgent_class(problem,interpretation,newObject);
13525 find mayInRelationfrom_agent_reference_Tax_Payer(problem,interpretation,container,newObject);
13526 find mustExist(problem, interpretation, container);
13527 neg find mustExist(problem, interpretation, newObject);
13528}
13529pattern createObject_FromAgent_class(
13530 problem:LogicProblem, interpretation:PartialInterpretation,
13531 typeInterpretation:PartialComplexTypeInterpretation)
13532{
13533 find interpretation(problem,interpretation);
13534 neg find hasElementInContainment(problem,interpretation);
13535 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
13536 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"FromAgent class");
13537 find mayInstanceOfFromAgent_class(problem,interpretation,newObject);
13538 find mayExist(problem, interpretation, newObject);
13539 neg find mustExist(problem, interpretation, newObject);
13540}
13541pattern createObject_Capital_and_Investments_Income_class_by_income_type_reference_Income_with_income_reference_Income_Type(
13542 problem:LogicProblem, interpretation:PartialInterpretation,
13543 relationInterpretation:PartialRelationInterpretation, inverseInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
13544 container:DefinedElement)
13545{
13546 find interpretation(problem,interpretation);
13547 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
13548 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Capital_and_Investments_Income class");
13549 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
13550 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"income_type reference Income");
13551 PartialInterpretation.partialrelationinterpretation(interpretation,inverseInterpretation);
13552 PartialRelationInterpretation.interpretationOf.name(inverseInterpretation,"income reference Income_Type");
13553 find mustInstanceOfIncome_class(problem,interpretation,container);
13554 find mayInstanceOfCapital_and_Investments_Income_class(problem,interpretation,newObject);
13555 find mayInRelationincome_type_reference_Income(problem,interpretation,container,newObject);
13556 find mustExist(problem, interpretation, container);
13557 neg find mustExist(problem, interpretation, newObject);
13558}
13559pattern createObject_Capital_and_Investments_Income_class(
13560 problem:LogicProblem, interpretation:PartialInterpretation,
13561 typeInterpretation:PartialComplexTypeInterpretation)
13562{
13563 find interpretation(problem,interpretation);
13564 neg find hasElementInContainment(problem,interpretation);
13565 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
13566 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Capital_and_Investments_Income class");
13567 find mayInstanceOfCapital_and_Investments_Income_class(problem,interpretation,newObject);
13568 find mayExist(problem, interpretation, newObject);
13569 neg find mustExist(problem, interpretation, newObject);
13570}
13571pattern createObject_DS_for_Permanent_Expense_class(
13572 problem:LogicProblem, interpretation:PartialInterpretation,
13573 typeInterpretation:PartialComplexTypeInterpretation)
13574{
13575 find interpretation(problem,interpretation);
13576 neg find hasElementInContainment(problem,interpretation);
13577 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
13578 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"DS_for_Permanent_Expense class");
13579 find mayInstanceOfDS_for_Permanent_Expense_class(problem,interpretation,newObject);
13580 find mayExist(problem, interpretation, newObject);
13581 neg find mustExist(problem, interpretation, newObject);
13582}
13583pattern createObject_Rentals_and_Leases_Income_class_by_income_type_reference_Income_with_income_reference_Income_Type(
13584 problem:LogicProblem, interpretation:PartialInterpretation,
13585 relationInterpretation:PartialRelationInterpretation, inverseInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
13586 container:DefinedElement)
13587{
13588 find interpretation(problem,interpretation);
13589 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
13590 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Rentals_and_Leases_Income class");
13591 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
13592 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"income_type reference Income");
13593 PartialInterpretation.partialrelationinterpretation(interpretation,inverseInterpretation);
13594 PartialRelationInterpretation.interpretationOf.name(inverseInterpretation,"income reference Income_Type");
13595 find mustInstanceOfIncome_class(problem,interpretation,container);
13596 find mayInstanceOfRentals_and_Leases_Income_class(problem,interpretation,newObject);
13597 find mayInRelationincome_type_reference_Income(problem,interpretation,container,newObject);
13598 find mustExist(problem, interpretation, container);
13599 neg find mustExist(problem, interpretation, newObject);
13600}
13601pattern createObject_Rentals_and_Leases_Income_class(
13602 problem:LogicProblem, interpretation:PartialInterpretation,
13603 typeInterpretation:PartialComplexTypeInterpretation)
13604{
13605 find interpretation(problem,interpretation);
13606 neg find hasElementInContainment(problem,interpretation);
13607 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
13608 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Rentals_and_Leases_Income class");
13609 find mayInstanceOfRentals_and_Leases_Income_class(problem,interpretation,newObject);
13610 find mayExist(problem, interpretation, newObject);
13611 neg find mustExist(problem, interpretation, newObject);
13612}
13613pattern createObject_Permanent_Expense_class_by_expenses_reference_Income_with_income_reference_Expense(
13614 problem:LogicProblem, interpretation:PartialInterpretation,
13615 relationInterpretation:PartialRelationInterpretation, inverseInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
13616 container:DefinedElement)
13617{
13618 find interpretation(problem,interpretation);
13619 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
13620 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Permanent_Expense class");
13621 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
13622 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"expenses reference Income");
13623 PartialInterpretation.partialrelationinterpretation(interpretation,inverseInterpretation);
13624 PartialRelationInterpretation.interpretationOf.name(inverseInterpretation,"income reference Expense");
13625 find mustInstanceOfIncome_class(problem,interpretation,container);
13626 find mayInstanceOfPermanent_Expense_class(problem,interpretation,newObject);
13627 find mayInRelationexpenses_reference_Income(problem,interpretation,container,newObject);
13628 find mustExist(problem, interpretation, container);
13629 neg find mustExist(problem, interpretation, newObject);
13630}
13631pattern createObject_Permanent_Expense_class(
13632 problem:LogicProblem, interpretation:PartialInterpretation,
13633 typeInterpretation:PartialComplexTypeInterpretation)
13634{
13635 find interpretation(problem,interpretation);
13636 neg find hasElementInContainment(problem,interpretation);
13637 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
13638 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Permanent_Expense class");
13639 find mayInstanceOfPermanent_Expense_class(problem,interpretation,newObject);
13640 find mayExist(problem, interpretation, newObject);
13641 neg find mustExist(problem, interpretation, newObject);
13642}
13643pattern createObject_Miscellaneous_Expense_FO_class_by_expenses_reference_Income_with_income_reference_Expense(
13644 problem:LogicProblem, interpretation:PartialInterpretation,
13645 relationInterpretation:PartialRelationInterpretation, inverseInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
13646 container:DefinedElement)
13647{
13648 find interpretation(problem,interpretation);
13649 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
13650 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Miscellaneous_Expense_FO class");
13651 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
13652 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"expenses reference Income");
13653 PartialInterpretation.partialrelationinterpretation(interpretation,inverseInterpretation);
13654 PartialRelationInterpretation.interpretationOf.name(inverseInterpretation,"income reference Expense");
13655 find mustInstanceOfIncome_class(problem,interpretation,container);
13656 find mayInstanceOfMiscellaneous_Expense_FO_class(problem,interpretation,newObject);
13657 find mayInRelationexpenses_reference_Income(problem,interpretation,container,newObject);
13658 find mustExist(problem, interpretation, container);
13659 neg find mustExist(problem, interpretation, newObject);
13660}
13661pattern createObject_Miscellaneous_Expense_FO_class(
13662 problem:LogicProblem, interpretation:PartialInterpretation,
13663 typeInterpretation:PartialComplexTypeInterpretation)
13664{
13665 find interpretation(problem,interpretation);
13666 neg find hasElementInContainment(problem,interpretation);
13667 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
13668 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Miscellaneous_Expense_FO class");
13669 find mayInstanceOfMiscellaneous_Expense_FO_class(problem,interpretation,newObject);
13670 find mayExist(problem, interpretation, newObject);
13671 neg find mustExist(problem, interpretation, newObject);
13672}
13673pattern createObject_Tax_Property_class_by_properties_reference_Legal_Union_Record_with_union_record_reference_Tax_Property(
13674 problem:LogicProblem, interpretation:PartialInterpretation,
13675 relationInterpretation:PartialRelationInterpretation, inverseInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
13676 container:DefinedElement)
13677{
13678 find interpretation(problem,interpretation);
13679 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
13680 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Tax_Property class");
13681 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
13682 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"properties reference Legal_Union_Record");
13683 PartialInterpretation.partialrelationinterpretation(interpretation,inverseInterpretation);
13684 PartialRelationInterpretation.interpretationOf.name(inverseInterpretation,"union_record reference Tax_Property");
13685 find mustInstanceOfLegal_Union_Record_class(problem,interpretation,container);
13686 find mayInstanceOfTax_Property_class(problem,interpretation,newObject);
13687 find mayInRelationproperties_reference_Legal_Union_Record(problem,interpretation,container,newObject);
13688 find mustExist(problem, interpretation, container);
13689 neg find mustExist(problem, interpretation, newObject);
13690}
13691pattern createObject_Tax_Property_class(
13692 problem:LogicProblem, interpretation:PartialInterpretation,
13693 typeInterpretation:PartialComplexTypeInterpretation)
13694{
13695 find interpretation(problem,interpretation);
13696 neg find hasElementInContainment(problem,interpretation);
13697 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
13698 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Tax_Property class");
13699 find mayInstanceOfTax_Property_class(problem,interpretation,newObject);
13700 find mayExist(problem, interpretation, newObject);
13701 neg find mustExist(problem, interpretation, newObject);
13702}
13703pattern createObject_DS_for_Donation_class(
13704 problem:LogicProblem, interpretation:PartialInterpretation,
13705 typeInterpretation:PartialComplexTypeInterpretation)
13706{
13707 find interpretation(problem,interpretation);
13708 neg find hasElementInContainment(problem,interpretation);
13709 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
13710 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"DS_for_Donation class");
13711 find mayInstanceOfDS_for_Donation_class(problem,interpretation,newObject);
13712 find mayExist(problem, interpretation, newObject);
13713 neg find mustExist(problem, interpretation, newObject);
13714}
13715pattern createObject_Loss_Carryforward_class_by_expenses_reference_Income_with_income_reference_Expense(
13716 problem:LogicProblem, interpretation:PartialInterpretation,
13717 relationInterpretation:PartialRelationInterpretation, inverseInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
13718 container:DefinedElement)
13719{
13720 find interpretation(problem,interpretation);
13721 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
13722 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Loss_Carryforward class");
13723 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
13724 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"expenses reference Income");
13725 PartialInterpretation.partialrelationinterpretation(interpretation,inverseInterpretation);
13726 PartialRelationInterpretation.interpretationOf.name(inverseInterpretation,"income reference Expense");
13727 find mustInstanceOfIncome_class(problem,interpretation,container);
13728 find mayInstanceOfLoss_Carryforward_class(problem,interpretation,newObject);
13729 find mayInRelationexpenses_reference_Income(problem,interpretation,container,newObject);
13730 find mustExist(problem, interpretation, container);
13731 neg find mustExist(problem, interpretation, newObject);
13732}
13733pattern createObject_Loss_Carryforward_class(
13734 problem:LogicProblem, interpretation:PartialInterpretation,
13735 typeInterpretation:PartialComplexTypeInterpretation)
13736{
13737 find interpretation(problem,interpretation);
13738 neg find hasElementInContainment(problem,interpretation);
13739 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
13740 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Loss_Carryforward class");
13741 find mayInstanceOfLoss_Carryforward_class(problem,interpretation,newObject);
13742 find mayExist(problem, interpretation, newObject);
13743 neg find mustExist(problem, interpretation, newObject);
13744}
13745pattern createObject_Employment_Income_class_by_income_type_reference_Income_with_income_reference_Income_Type(
13746 problem:LogicProblem, interpretation:PartialInterpretation,
13747 relationInterpretation:PartialRelationInterpretation, inverseInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
13748 container:DefinedElement)
13749{
13750 find interpretation(problem,interpretation);
13751 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
13752 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Employment_Income class");
13753 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
13754 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"income_type reference Income");
13755 PartialInterpretation.partialrelationinterpretation(interpretation,inverseInterpretation);
13756 PartialRelationInterpretation.interpretationOf.name(inverseInterpretation,"income reference Income_Type");
13757 find mustInstanceOfIncome_class(problem,interpretation,container);
13758 find mayInstanceOfEmployment_Income_class(problem,interpretation,newObject);
13759 find mayInRelationincome_type_reference_Income(problem,interpretation,container,newObject);
13760 find mustExist(problem, interpretation, container);
13761 neg find mustExist(problem, interpretation, newObject);
13762}
13763pattern createObject_Employment_Income_class(
13764 problem:LogicProblem, interpretation:PartialInterpretation,
13765 typeInterpretation:PartialComplexTypeInterpretation)
13766{
13767 find interpretation(problem,interpretation);
13768 neg find hasElementInContainment(problem,interpretation);
13769 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
13770 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Employment_Income class");
13771 find mayInstanceOfEmployment_Income_class(problem,interpretation,newObject);
13772 find mayExist(problem, interpretation, newObject);
13773 neg find mustExist(problem, interpretation, newObject);
13774}
13775pattern createObject_Household_class(
13776 problem:LogicProblem, interpretation:PartialInterpretation,
13777 typeInterpretation:PartialComplexTypeInterpretation)
13778{
13779 find interpretation(problem,interpretation);
13780 neg find hasElementInContainment(problem,interpretation);
13781 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
13782 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Household class");
13783 find mayInstanceOfHousehold_class(problem,interpretation,newObject);
13784 find mayExist(problem, interpretation, newObject);
13785 neg find mustExist(problem, interpretation, newObject);
13786}
13787pattern createObject_Agriculture_and_Forestry_Income_class_by_income_type_reference_Income_with_income_reference_Income_Type(
13788 problem:LogicProblem, interpretation:PartialInterpretation,
13789 relationInterpretation:PartialRelationInterpretation, inverseInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
13790 container:DefinedElement)
13791{
13792 find interpretation(problem,interpretation);
13793 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
13794 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Agriculture_and_Forestry_Income class");
13795 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
13796 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"income_type reference Income");
13797 PartialInterpretation.partialrelationinterpretation(interpretation,inverseInterpretation);
13798 PartialRelationInterpretation.interpretationOf.name(inverseInterpretation,"income reference Income_Type");
13799 find mustInstanceOfIncome_class(problem,interpretation,container);
13800 find mayInstanceOfAgriculture_and_Forestry_Income_class(problem,interpretation,newObject);
13801 find mayInRelationincome_type_reference_Income(problem,interpretation,container,newObject);
13802 find mustExist(problem, interpretation, container);
13803 neg find mustExist(problem, interpretation, newObject);
13804}
13805pattern createObject_Agriculture_and_Forestry_Income_class(
13806 problem:LogicProblem, interpretation:PartialInterpretation,
13807 typeInterpretation:PartialComplexTypeInterpretation)
13808{
13809 find interpretation(problem,interpretation);
13810 neg find hasElementInContainment(problem,interpretation);
13811 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
13812 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Agriculture_and_Forestry_Income class");
13813 find mayInstanceOfAgriculture_and_Forestry_Income_class(problem,interpretation,newObject);
13814 find mayExist(problem, interpretation, newObject);
13815 neg find mustExist(problem, interpretation, newObject);
13816}
13817pattern createObject_Habitual_Address_class(
13818 problem:LogicProblem, interpretation:PartialInterpretation,
13819 typeInterpretation:PartialComplexTypeInterpretation)
13820{
13821 find interpretation(problem,interpretation);
13822 neg find hasElementInContainment(problem,interpretation);
13823 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
13824 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Habitual_Address class");
13825 find mayInstanceOfHabitual_Address_class(problem,interpretation,newObject);
13826 find mayExist(problem, interpretation, newObject);
13827 neg find mustExist(problem, interpretation, newObject);
13828}
13829pattern createObject_DS_class(
13830 problem:LogicProblem, interpretation:PartialInterpretation,
13831 typeInterpretation:PartialComplexTypeInterpretation)
13832{
13833 find interpretation(problem,interpretation);
13834 neg find hasElementInContainment(problem,interpretation);
13835 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
13836 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"DS class");
13837 find mayInstanceOfDS_class(problem,interpretation,newObject);
13838 find mayExist(problem, interpretation, newObject);
13839 neg find mustExist(problem, interpretation, newObject);
13840}
13841pattern createObject_Fiscal_Address_class(
13842 problem:LogicProblem, interpretation:PartialInterpretation,
13843 typeInterpretation:PartialComplexTypeInterpretation)
13844{
13845 find interpretation(problem,interpretation);
13846 neg find hasElementInContainment(problem,interpretation);
13847 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
13848 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Fiscal_Address class");
13849 find mayInstanceOfFiscal_Address_class(problem,interpretation,newObject);
13850 find mayExist(problem, interpretation, newObject);
13851 neg find mustExist(problem, interpretation, newObject);
13852}
13853pattern createObject_FO_class(
13854 problem:LogicProblem, interpretation:PartialInterpretation,
13855 typeInterpretation:PartialComplexTypeInterpretation)
13856{
13857 find interpretation(problem,interpretation);
13858 neg find hasElementInContainment(problem,interpretation);
13859 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
13860 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"FO class");
13861 find mayInstanceOfFO_class(problem,interpretation,newObject);
13862 find mayExist(problem, interpretation, newObject);
13863 neg find mustExist(problem, interpretation, newObject);
13864}
13865pattern createObject_Pensions_and_Annuities_Income_class_by_income_type_reference_Income_with_income_reference_Income_Type(
13866 problem:LogicProblem, interpretation:PartialInterpretation,
13867 relationInterpretation:PartialRelationInterpretation, inverseInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
13868 container:DefinedElement)
13869{
13870 find interpretation(problem,interpretation);
13871 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
13872 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Pensions_and_Annuities_Income class");
13873 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
13874 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"income_type reference Income");
13875 PartialInterpretation.partialrelationinterpretation(interpretation,inverseInterpretation);
13876 PartialRelationInterpretation.interpretationOf.name(inverseInterpretation,"income reference Income_Type");
13877 find mustInstanceOfIncome_class(problem,interpretation,container);
13878 find mayInstanceOfPensions_and_Annuities_Income_class(problem,interpretation,newObject);
13879 find mayInRelationincome_type_reference_Income(problem,interpretation,container,newObject);
13880 find mustExist(problem, interpretation, container);
13881 neg find mustExist(problem, interpretation, newObject);
13882}
13883pattern createObject_Pensions_and_Annuities_Income_class(
13884 problem:LogicProblem, interpretation:PartialInterpretation,
13885 typeInterpretation:PartialComplexTypeInterpretation)
13886{
13887 find interpretation(problem,interpretation);
13888 neg find hasElementInContainment(problem,interpretation);
13889 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
13890 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Pensions_and_Annuities_Income class");
13891 find mayInstanceOfPensions_and_Annuities_Income_class(problem,interpretation,newObject);
13892 find mayExist(problem, interpretation, newObject);
13893 neg find mustExist(problem, interpretation, newObject);
13894}
13895pattern createObject_DS_for_Loss_Carryforward_class(
13896 problem:LogicProblem, interpretation:PartialInterpretation,
13897 typeInterpretation:PartialComplexTypeInterpretation)
13898{
13899 find interpretation(problem,interpretation);
13900 neg find hasElementInContainment(problem,interpretation);
13901 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
13902 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"DS_for_Loss_Carryforward class");
13903 find mayInstanceOfDS_for_Loss_Carryforward_class(problem,interpretation,newObject);
13904 find mayExist(problem, interpretation, newObject);
13905 neg find mustExist(problem, interpretation, newObject);
13906}
13907pattern createObject_Spousal_Expense_AC_class_by_expenses_reference_Income_with_income_reference_Expense(
13908 problem:LogicProblem, interpretation:PartialInterpretation,
13909 relationInterpretation:PartialRelationInterpretation, inverseInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
13910 container:DefinedElement)
13911{
13912 find interpretation(problem,interpretation);
13913 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
13914 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Spousal_Expense_AC class");
13915 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
13916 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"expenses reference Income");
13917 PartialInterpretation.partialrelationinterpretation(interpretation,inverseInterpretation);
13918 PartialRelationInterpretation.interpretationOf.name(inverseInterpretation,"income reference Expense");
13919 find mustInstanceOfIncome_class(problem,interpretation,container);
13920 find mayInstanceOfSpousal_Expense_AC_class(problem,interpretation,newObject);
13921 find mayInRelationexpenses_reference_Income(problem,interpretation,container,newObject);
13922 find mustExist(problem, interpretation, container);
13923 neg find mustExist(problem, interpretation, newObject);
13924}
13925pattern createObject_Spousal_Expense_AC_class(
13926 problem:LogicProblem, interpretation:PartialInterpretation,
13927 typeInterpretation:PartialComplexTypeInterpretation)
13928{
13929 find interpretation(problem,interpretation);
13930 neg find hasElementInContainment(problem,interpretation);
13931 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
13932 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Spousal_Expense_AC class");
13933 find mayInstanceOfSpousal_Expense_AC_class(problem,interpretation,newObject);
13934 find mayExist(problem, interpretation, newObject);
13935 neg find mustExist(problem, interpretation, newObject);
13936}
13937pattern createObject_Local_Income_class_by_incomes_reference_Tax_Payer_with_taxPayer_reference_Income(
13938 problem:LogicProblem, interpretation:PartialInterpretation,
13939 relationInterpretation:PartialRelationInterpretation, inverseInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
13940 container:DefinedElement)
13941{
13942 find interpretation(problem,interpretation);
13943 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
13944 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Local_Income class");
13945 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
13946 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"incomes reference Tax_Payer");
13947 PartialInterpretation.partialrelationinterpretation(interpretation,inverseInterpretation);
13948 PartialRelationInterpretation.interpretationOf.name(inverseInterpretation,"taxPayer reference Income");
13949 find mustInstanceOfTax_Payer_class(problem,interpretation,container);
13950 find mayInstanceOfLocal_Income_class(problem,interpretation,newObject);
13951 find mayInRelationincomes_reference_Tax_Payer(problem,interpretation,container,newObject);
13952 find mustExist(problem, interpretation, container);
13953 neg find mustExist(problem, interpretation, newObject);
13954}
13955pattern createObject_Local_Income_class(
13956 problem:LogicProblem, interpretation:PartialInterpretation,
13957 typeInterpretation:PartialComplexTypeInterpretation)
13958{
13959 find interpretation(problem,interpretation);
13960 neg find hasElementInContainment(problem,interpretation);
13961 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
13962 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Local_Income class");
13963 find mayInstanceOfLocal_Income_class(problem,interpretation,newObject);
13964 find mayExist(problem, interpretation, newObject);
13965 neg find mustExist(problem, interpretation, newObject);
13966}
13967pattern createObject_Extraordinary_Expense_CE_class_by_expenses_reference_Income_with_income_reference_Expense(
13968 problem:LogicProblem, interpretation:PartialInterpretation,
13969 relationInterpretation:PartialRelationInterpretation, inverseInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
13970 container:DefinedElement)
13971{
13972 find interpretation(problem,interpretation);
13973 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
13974 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Extraordinary_Expense_CE class");
13975 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
13976 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"expenses reference Income");
13977 PartialInterpretation.partialrelationinterpretation(interpretation,inverseInterpretation);
13978 PartialRelationInterpretation.interpretationOf.name(inverseInterpretation,"income reference Expense");
13979 find mustInstanceOfIncome_class(problem,interpretation,container);
13980 find mayInstanceOfExtraordinary_Expense_CE_class(problem,interpretation,newObject);
13981 find mayInRelationexpenses_reference_Income(problem,interpretation,container,newObject);
13982 find mustExist(problem, interpretation, container);
13983 neg find mustExist(problem, interpretation, newObject);
13984}
13985pattern createObject_Extraordinary_Expense_CE_class(
13986 problem:LogicProblem, interpretation:PartialInterpretation,
13987 typeInterpretation:PartialComplexTypeInterpretation)
13988{
13989 find interpretation(problem,interpretation);
13990 neg find hasElementInContainment(problem,interpretation);
13991 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
13992 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Extraordinary_Expense_CE class");
13993 find mayInstanceOfExtraordinary_Expense_CE_class(problem,interpretation,newObject);
13994 find mayExist(problem, interpretation, newObject);
13995 neg find mustExist(problem, interpretation, newObject);
13996}
13997pattern createObject_Private_Insurance_and_Plan_class_by_expenses_reference_Income_with_income_reference_Expense(
13998 problem:LogicProblem, interpretation:PartialInterpretation,
13999 relationInterpretation:PartialRelationInterpretation, inverseInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
14000 container:DefinedElement)
14001{
14002 find interpretation(problem,interpretation);
14003 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
14004 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Private_Insurance_and_Plan class");
14005 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
14006 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"expenses reference Income");
14007 PartialInterpretation.partialrelationinterpretation(interpretation,inverseInterpretation);
14008 PartialRelationInterpretation.interpretationOf.name(inverseInterpretation,"income reference Expense");
14009 find mustInstanceOfIncome_class(problem,interpretation,container);
14010 find mayInstanceOfPrivate_Insurance_and_Plan_class(problem,interpretation,newObject);
14011 find mayInRelationexpenses_reference_Income(problem,interpretation,container,newObject);
14012 find mustExist(problem, interpretation, container);
14013 neg find mustExist(problem, interpretation, newObject);
14014}
14015pattern createObject_Private_Insurance_and_Plan_class(
14016 problem:LogicProblem, interpretation:PartialInterpretation,
14017 typeInterpretation:PartialComplexTypeInterpretation)
14018{
14019 find interpretation(problem,interpretation);
14020 neg find hasElementInContainment(problem,interpretation);
14021 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
14022 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Private_Insurance_and_Plan class");
14023 find mayInstanceOfPrivate_Insurance_and_Plan_class(problem,interpretation,newObject);
14024 find mayExist(problem, interpretation, newObject);
14025 neg find mustExist(problem, interpretation, newObject);
14026}
14027pattern createObject_DS_for_Interest_Expense_class(
14028 problem:LogicProblem, interpretation:PartialInterpretation,
14029 typeInterpretation:PartialComplexTypeInterpretation)
14030{
14031 find interpretation(problem,interpretation);
14032 neg find hasElementInContainment(problem,interpretation);
14033 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
14034 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"DS_for_Interest_Expense class");
14035 find mayInstanceOfDS_for_Interest_Expense_class(problem,interpretation,newObject);
14036 find mayExist(problem, interpretation, newObject);
14037 neg find mustExist(problem, interpretation, newObject);
14038}
14039pattern createObject_Health_and_Pension_Insurance_class_by_expenses_reference_Income_with_income_reference_Expense(
14040 problem:LogicProblem, interpretation:PartialInterpretation,
14041 relationInterpretation:PartialRelationInterpretation, inverseInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
14042 container:DefinedElement)
14043{
14044 find interpretation(problem,interpretation);
14045 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
14046 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Health_and_Pension_Insurance class");
14047 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
14048 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"expenses reference Income");
14049 PartialInterpretation.partialrelationinterpretation(interpretation,inverseInterpretation);
14050 PartialRelationInterpretation.interpretationOf.name(inverseInterpretation,"income reference Expense");
14051 find mustInstanceOfIncome_class(problem,interpretation,container);
14052 find mayInstanceOfHealth_and_Pension_Insurance_class(problem,interpretation,newObject);
14053 find mayInRelationexpenses_reference_Income(problem,interpretation,container,newObject);
14054 find mustExist(problem, interpretation, container);
14055 neg find mustExist(problem, interpretation, newObject);
14056}
14057pattern createObject_Health_and_Pension_Insurance_class(
14058 problem:LogicProblem, interpretation:PartialInterpretation,
14059 typeInterpretation:PartialComplexTypeInterpretation)
14060{
14061 find interpretation(problem,interpretation);
14062 neg find hasElementInContainment(problem,interpretation);
14063 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
14064 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Health_and_Pension_Insurance class");
14065 find mayInstanceOfHealth_and_Pension_Insurance_class(problem,interpretation,newObject);
14066 find mayExist(problem, interpretation, newObject);
14067 neg find mustExist(problem, interpretation, newObject);
14068}
14069pattern createObject_Travel_Expense_FD_class_by_expenses_reference_Income_with_income_reference_Expense(
14070 problem:LogicProblem, interpretation:PartialInterpretation,
14071 relationInterpretation:PartialRelationInterpretation, inverseInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
14072 container:DefinedElement)
14073{
14074 find interpretation(problem,interpretation);
14075 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
14076 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Travel_Expense_FD class");
14077 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
14078 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"expenses reference Income");
14079 PartialInterpretation.partialrelationinterpretation(interpretation,inverseInterpretation);
14080 PartialRelationInterpretation.interpretationOf.name(inverseInterpretation,"income reference Expense");
14081 find mustInstanceOfIncome_class(problem,interpretation,container);
14082 find mayInstanceOfTravel_Expense_FD_class(problem,interpretation,newObject);
14083 find mayInRelationexpenses_reference_Income(problem,interpretation,container,newObject);
14084 find mustExist(problem, interpretation, container);
14085 neg find mustExist(problem, interpretation, newObject);
14086}
14087pattern createObject_Travel_Expense_FD_class(
14088 problem:LogicProblem, interpretation:PartialInterpretation,
14089 typeInterpretation:PartialComplexTypeInterpretation)
14090{
14091 find interpretation(problem,interpretation);
14092 neg find hasElementInContainment(problem,interpretation);
14093 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
14094 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Travel_Expense_FD class");
14095 find mayInstanceOfTravel_Expense_FD_class(problem,interpretation,newObject);
14096 find mayExist(problem, interpretation, newObject);
14097 neg find mustExist(problem, interpretation, newObject);
14098}
14099pattern createObject_Trade_and_Business_Income_class_by_income_type_reference_Income_with_income_reference_Income_Type(
14100 problem:LogicProblem, interpretation:PartialInterpretation,
14101 relationInterpretation:PartialRelationInterpretation, inverseInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
14102 container:DefinedElement)
14103{
14104 find interpretation(problem,interpretation);
14105 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
14106 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Trade_and_Business_Income class");
14107 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
14108 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"income_type reference Income");
14109 PartialInterpretation.partialrelationinterpretation(interpretation,inverseInterpretation);
14110 PartialRelationInterpretation.interpretationOf.name(inverseInterpretation,"income reference Income_Type");
14111 find mustInstanceOfIncome_class(problem,interpretation,container);
14112 find mayInstanceOfTrade_and_Business_Income_class(problem,interpretation,newObject);
14113 find mayInRelationincome_type_reference_Income(problem,interpretation,container,newObject);
14114 find mustExist(problem, interpretation, container);
14115 neg find mustExist(problem, interpretation, newObject);
14116}
14117pattern createObject_Trade_and_Business_Income_class(
14118 problem:LogicProblem, interpretation:PartialInterpretation,
14119 typeInterpretation:PartialComplexTypeInterpretation)
14120{
14121 find interpretation(problem,interpretation);
14122 neg find hasElementInContainment(problem,interpretation);
14123 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
14124 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Trade_and_Business_Income class");
14125 find mayInstanceOfTrade_and_Business_Income_class(problem,interpretation,newObject);
14126 find mayExist(problem, interpretation, newObject);
14127 neg find mustExist(problem, interpretation, newObject);
14128}
14129pattern createObject_FromLaw_class_by_from_law_reference_Tax_Payer_with_taxPayer_reference_FromLaw(
14130 problem:LogicProblem, interpretation:PartialInterpretation,
14131 relationInterpretation:PartialRelationInterpretation, inverseInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
14132 container:DefinedElement)
14133{
14134 find interpretation(problem,interpretation);
14135 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
14136 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"FromLaw class");
14137 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
14138 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"from_law reference Tax_Payer");
14139 PartialInterpretation.partialrelationinterpretation(interpretation,inverseInterpretation);
14140 PartialRelationInterpretation.interpretationOf.name(inverseInterpretation,"taxPayer reference FromLaw");
14141 find mustInstanceOfTax_Payer_class(problem,interpretation,container);
14142 find mayInstanceOfFromLaw_class(problem,interpretation,newObject);
14143 find mayInRelationfrom_law_reference_Tax_Payer(problem,interpretation,container,newObject);
14144 find mustExist(problem, interpretation, container);
14145 neg find mustExist(problem, interpretation, newObject);
14146}
14147pattern createObject_FromLaw_class(
14148 problem:LogicProblem, interpretation:PartialInterpretation,
14149 typeInterpretation:PartialComplexTypeInterpretation)
14150{
14151 find interpretation(problem,interpretation);
14152 neg find hasElementInContainment(problem,interpretation);
14153 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
14154 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"FromLaw class");
14155 find mayInstanceOfFromLaw_class(problem,interpretation,newObject);
14156 find mayExist(problem, interpretation, newObject);
14157 neg find mustExist(problem, interpretation, newObject);
14158}
14159pattern createObject_FD_class(
14160 problem:LogicProblem, interpretation:PartialInterpretation,
14161 typeInterpretation:PartialComplexTypeInterpretation)
14162{
14163 find interpretation(problem,interpretation);
14164 neg find hasElementInContainment(problem,interpretation);
14165 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
14166 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"FD class");
14167 find mayInstanceOfFD_class(problem,interpretation,newObject);
14168 find mayExist(problem, interpretation, newObject);
14169 neg find mustExist(problem, interpretation, newObject);
14170}
14171pattern createObject_Non_Resident_Tax_Payer_class_by_individual_A_reference_Legal_Union_Record(
14172 problem:LogicProblem, interpretation:PartialInterpretation,
14173 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
14174 container:DefinedElement)
14175{
14176 find interpretation(problem,interpretation);
14177 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
14178 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Non_Resident_Tax_Payer class");
14179 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
14180 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"individual_A reference Legal_Union_Record");
14181 find mustInstanceOfLegal_Union_Record_class(problem,interpretation,container);
14182 find mayInstanceOfNon_Resident_Tax_Payer_class(problem,interpretation,newObject);
14183 find mayInRelationindividual_A_reference_Legal_Union_Record(problem,interpretation,container,newObject);
14184 find mustExist(problem, interpretation, container);
14185 neg find mustExist(problem, interpretation, newObject);
14186}
14187pattern createObject_Non_Resident_Tax_Payer_class_by_individual_B_reference_Legal_Union_Record(
14188 problem:LogicProblem, interpretation:PartialInterpretation,
14189 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
14190 container:DefinedElement)
14191{
14192 find interpretation(problem,interpretation);
14193 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
14194 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Non_Resident_Tax_Payer class");
14195 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
14196 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"individual_B reference Legal_Union_Record");
14197 find mustInstanceOfLegal_Union_Record_class(problem,interpretation,container);
14198 find mayInstanceOfNon_Resident_Tax_Payer_class(problem,interpretation,newObject);
14199 find mayInRelationindividual_B_reference_Legal_Union_Record(problem,interpretation,container,newObject);
14200 find mustExist(problem, interpretation, container);
14201 neg find mustExist(problem, interpretation, newObject);
14202}
14203pattern createObject_Non_Resident_Tax_Payer_class(
14204 problem:LogicProblem, interpretation:PartialInterpretation,
14205 typeInterpretation:PartialComplexTypeInterpretation)
14206{
14207 find interpretation(problem,interpretation);
14208 neg find hasElementInContainment(problem,interpretation);
14209 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
14210 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Non_Resident_Tax_Payer class");
14211 find mayInstanceOfNon_Resident_Tax_Payer_class(problem,interpretation,newObject);
14212 find mayExist(problem, interpretation, newObject);
14213 neg find mustExist(problem, interpretation, newObject);
14214}
14215pattern createObject_Marriage_Record_class_by_parents_reference_Household_with_household_reference_Legal_Union_Record(
14216 problem:LogicProblem, interpretation:PartialInterpretation,
14217 relationInterpretation:PartialRelationInterpretation, inverseInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
14218 container:DefinedElement)
14219{
14220 find interpretation(problem,interpretation);
14221 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
14222 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Marriage_Record class");
14223 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
14224 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"parents reference Household");
14225 PartialInterpretation.partialrelationinterpretation(interpretation,inverseInterpretation);
14226 PartialRelationInterpretation.interpretationOf.name(inverseInterpretation,"household reference Legal_Union_Record");
14227 find mustInstanceOfHousehold_class(problem,interpretation,container);
14228 find mayInstanceOfMarriage_Record_class(problem,interpretation,newObject);
14229 find mayInRelationparents_reference_Household(problem,interpretation,container,newObject);
14230 find mustExist(problem, interpretation, container);
14231 neg find mustExist(problem, interpretation, newObject);
14232}
14233pattern createObject_Marriage_Record_class(
14234 problem:LogicProblem, interpretation:PartialInterpretation,
14235 typeInterpretation:PartialComplexTypeInterpretation)
14236{
14237 find interpretation(problem,interpretation);
14238 neg find hasElementInContainment(problem,interpretation);
14239 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
14240 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Marriage_Record class");
14241 find mayInstanceOfMarriage_Record_class(problem,interpretation,newObject);
14242 find mayExist(problem, interpretation, newObject);
14243 neg find mustExist(problem, interpretation, newObject);
14244}
14245pattern createObject_Dependent_class_by_dependents_reference_Tax_Payer_with_responsible_person_reference_Dependent(
14246 problem:LogicProblem, interpretation:PartialInterpretation,
14247 relationInterpretation:PartialRelationInterpretation, inverseInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
14248 container:DefinedElement)
14249{
14250 find interpretation(problem,interpretation);
14251 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
14252 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Dependent class");
14253 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
14254 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"dependents reference Tax_Payer");
14255 PartialInterpretation.partialrelationinterpretation(interpretation,inverseInterpretation);
14256 PartialRelationInterpretation.interpretationOf.name(inverseInterpretation,"responsible_person reference Dependent");
14257 find mustInstanceOfTax_Payer_class(problem,interpretation,container);
14258 find mayInstanceOfDependent_class(problem,interpretation,newObject);
14259 find mayInRelationdependents_reference_Tax_Payer(problem,interpretation,container,newObject);
14260 find mustExist(problem, interpretation, container);
14261 neg find mustExist(problem, interpretation, newObject);
14262}
14263pattern createObject_Dependent_class_by_children_reference_Household_with_household_reference_Dependent(
14264 problem:LogicProblem, interpretation:PartialInterpretation,
14265 relationInterpretation:PartialRelationInterpretation, inverseInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
14266 container:DefinedElement)
14267{
14268 find interpretation(problem,interpretation);
14269 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
14270 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Dependent class");
14271 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
14272 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"children reference Household");
14273 PartialInterpretation.partialrelationinterpretation(interpretation,inverseInterpretation);
14274 PartialRelationInterpretation.interpretationOf.name(inverseInterpretation,"household reference Dependent");
14275 find mustInstanceOfHousehold_class(problem,interpretation,container);
14276 find mayInstanceOfDependent_class(problem,interpretation,newObject);
14277 find mayInRelationchildren_reference_Household(problem,interpretation,container,newObject);
14278 find mustExist(problem, interpretation, container);
14279 neg find mustExist(problem, interpretation, newObject);
14280}
14281pattern createObject_Dependent_class_by_individual_A_reference_Legal_Union_Record(
14282 problem:LogicProblem, interpretation:PartialInterpretation,
14283 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
14284 container:DefinedElement)
14285{
14286 find interpretation(problem,interpretation);
14287 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
14288 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Dependent class");
14289 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
14290 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"individual_A reference Legal_Union_Record");
14291 find mustInstanceOfLegal_Union_Record_class(problem,interpretation,container);
14292 find mayInstanceOfDependent_class(problem,interpretation,newObject);
14293 find mayInRelationindividual_A_reference_Legal_Union_Record(problem,interpretation,container,newObject);
14294 find mustExist(problem, interpretation, container);
14295 neg find mustExist(problem, interpretation, newObject);
14296}
14297pattern createObject_Dependent_class_by_individual_B_reference_Legal_Union_Record(
14298 problem:LogicProblem, interpretation:PartialInterpretation,
14299 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
14300 container:DefinedElement)
14301{
14302 find interpretation(problem,interpretation);
14303 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
14304 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Dependent class");
14305 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
14306 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"individual_B reference Legal_Union_Record");
14307 find mustInstanceOfLegal_Union_Record_class(problem,interpretation,container);
14308 find mayInstanceOfDependent_class(problem,interpretation,newObject);
14309 find mayInRelationindividual_B_reference_Legal_Union_Record(problem,interpretation,container,newObject);
14310 find mustExist(problem, interpretation, container);
14311 neg find mustExist(problem, interpretation, newObject);
14312}
14313pattern createObject_Dependent_class(
14314 problem:LogicProblem, interpretation:PartialInterpretation,
14315 typeInterpretation:PartialComplexTypeInterpretation)
14316{
14317 find interpretation(problem,interpretation);
14318 neg find hasElementInContainment(problem,interpretation);
14319 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
14320 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Dependent class");
14321 find mayInstanceOfDependent_class(problem,interpretation,newObject);
14322 find mayExist(problem, interpretation, newObject);
14323 neg find mustExist(problem, interpretation, newObject);
14324}
14325pattern createObject_Partnership_Record_class_by_parents_reference_Household_with_household_reference_Legal_Union_Record(
14326 problem:LogicProblem, interpretation:PartialInterpretation,
14327 relationInterpretation:PartialRelationInterpretation, inverseInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
14328 container:DefinedElement)
14329{
14330 find interpretation(problem,interpretation);
14331 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
14332 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Partnership_Record class");
14333 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
14334 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"parents reference Household");
14335 PartialInterpretation.partialrelationinterpretation(interpretation,inverseInterpretation);
14336 PartialRelationInterpretation.interpretationOf.name(inverseInterpretation,"household reference Legal_Union_Record");
14337 find mustInstanceOfHousehold_class(problem,interpretation,container);
14338 find mayInstanceOfPartnership_Record_class(problem,interpretation,newObject);
14339 find mayInRelationparents_reference_Household(problem,interpretation,container,newObject);
14340 find mustExist(problem, interpretation, container);
14341 neg find mustExist(problem, interpretation, newObject);
14342}
14343pattern createObject_Partnership_Record_class(
14344 problem:LogicProblem, interpretation:PartialInterpretation,
14345 typeInterpretation:PartialComplexTypeInterpretation)
14346{
14347 find interpretation(problem,interpretation);
14348 neg find hasElementInContainment(problem,interpretation);
14349 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
14350 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Partnership_Record class");
14351 find mayInstanceOfPartnership_Record_class(problem,interpretation,newObject);
14352 find mayExist(problem, interpretation, newObject);
14353 neg find mustExist(problem, interpretation, newObject);
14354}
14355pattern createObject_External_Allowance_class_by_allowances_reference_Dependent_with_person_reference_External_Allowance(
14356 problem:LogicProblem, interpretation:PartialInterpretation,
14357 relationInterpretation:PartialRelationInterpretation, inverseInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
14358 container:DefinedElement)
14359{
14360 find interpretation(problem,interpretation);
14361 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
14362 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"External_Allowance class");
14363 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
14364 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"allowances reference Dependent");
14365 PartialInterpretation.partialrelationinterpretation(interpretation,inverseInterpretation);
14366 PartialRelationInterpretation.interpretationOf.name(inverseInterpretation,"person reference External_Allowance");
14367 find mustInstanceOfDependent_class(problem,interpretation,container);
14368 find mayInstanceOfExternal_Allowance_class(problem,interpretation,newObject);
14369 find mayInRelationallowances_reference_Dependent(problem,interpretation,container,newObject);
14370 find mustExist(problem, interpretation, container);
14371 neg find mustExist(problem, interpretation, newObject);
14372}
14373pattern createObject_External_Allowance_class(
14374 problem:LogicProblem, interpretation:PartialInterpretation,
14375 typeInterpretation:PartialComplexTypeInterpretation)
14376{
14377 find interpretation(problem,interpretation);
14378 neg find hasElementInContainment(problem,interpretation);
14379 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
14380 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"External_Allowance class");
14381 find mayInstanceOfExternal_Allowance_class(problem,interpretation,newObject);
14382 find mayExist(problem, interpretation, newObject);
14383 neg find mustExist(problem, interpretation, newObject);
14384}
14385pattern createObject_Income_Tax_Credit_class(
14386 problem:LogicProblem, interpretation:PartialInterpretation,
14387 typeInterpretation:PartialComplexTypeInterpretation)
14388{
14389 find interpretation(problem,interpretation);
14390 neg find hasElementInContainment(problem,interpretation);
14391 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
14392 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Income_Tax_Credit class");
14393 find mayInstanceOfIncome_Tax_Credit_class(problem,interpretation,newObject);
14394 find mayExist(problem, interpretation, newObject);
14395 neg find mustExist(problem, interpretation, newObject);
14396}
14397pattern createObject_Income_Detail_class_by_details_reference_Income_with_income_reference_Income_Detail(
14398 problem:LogicProblem, interpretation:PartialInterpretation,
14399 relationInterpretation:PartialRelationInterpretation, inverseInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
14400 container:DefinedElement)
14401{
14402 find interpretation(problem,interpretation);
14403 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
14404 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Income_Detail class");
14405 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
14406 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"details reference Income");
14407 PartialInterpretation.partialrelationinterpretation(interpretation,inverseInterpretation);
14408 PartialRelationInterpretation.interpretationOf.name(inverseInterpretation,"income reference Income_Detail");
14409 find mustInstanceOfIncome_class(problem,interpretation,container);
14410 find mayInstanceOfIncome_Detail_class(problem,interpretation,newObject);
14411 find mayInRelationdetails_reference_Income(problem,interpretation,container,newObject);
14412 find mustExist(problem, interpretation, container);
14413 neg find mustExist(problem, interpretation, newObject);
14414}
14415pattern createObject_Income_Detail_class(
14416 problem:LogicProblem, interpretation:PartialInterpretation,
14417 typeInterpretation:PartialComplexTypeInterpretation)
14418{
14419 find interpretation(problem,interpretation);
14420 neg find hasElementInContainment(problem,interpretation);
14421 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
14422 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Income_Detail class");
14423 find mayInstanceOfIncome_Detail_class(problem,interpretation,newObject);
14424 find mayExist(problem, interpretation, newObject);
14425 neg find mustExist(problem, interpretation, newObject);
14426}
14427pattern createObject_DS_for_Private_Insurance_and_Plan_class(
14428 problem:LogicProblem, interpretation:PartialInterpretation,
14429 typeInterpretation:PartialComplexTypeInterpretation)
14430{
14431 find interpretation(problem,interpretation);
14432 neg find hasElementInContainment(problem,interpretation);
14433 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
14434 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"DS_for_Private_Insurance_and_Plan class");
14435 find mayInstanceOfDS_for_Private_Insurance_and_Plan_class(problem,interpretation,newObject);
14436 find mayExist(problem, interpretation, newObject);
14437 neg find mustExist(problem, interpretation, newObject);
14438}
14439pattern createObject_CIM_class(
14440 problem:LogicProblem, interpretation:PartialInterpretation,
14441 typeInterpretation:PartialComplexTypeInterpretation)
14442{
14443 find interpretation(problem,interpretation);
14444 neg find hasElementInContainment(problem,interpretation);
14445 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
14446 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"CIM class");
14447 find mayInstanceOfCIM_class(problem,interpretation,newObject);
14448 find mayExist(problem, interpretation, newObject);
14449 neg find mustExist(problem, interpretation, newObject);
14450}
14451
14452//////////
14453// 4.2 Type refinement
14454//////////
14455pattern refineTypeTo_Expense_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
14456 find interpretation(problem,interpretation);
14457 PartialInterpretation.newElements(interpretation,element);
14458 find mayInstanceOfExpense_class(problem,interpretation,element);
14459 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
14460 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
14461 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
14462 neg find mustInstanceOfProfessional_Expense_class(problem,interpretation,element);
14463 neg find mustInstanceOfConstants_class(problem,interpretation,element);
14464 neg find mustInstanceOfExpense_class(problem,interpretation,element);
14465 neg find mustInstanceOfAddress_class(problem,interpretation,element);
14466 neg find mustInstanceOfDS_class(problem,interpretation,element);
14467 neg find mustInstanceOfIncome_Type_class(problem,interpretation,element);
14468 neg find mustInstanceOfSpecial_Expense_DS_class(problem,interpretation,element);
14469 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
14470 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
14471 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
14472 neg find mustInstanceOfSpousal_Expense_AC_class(problem,interpretation,element);
14473 neg find mustInstanceOfIncome_class(problem,interpretation,element);
14474 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
14475 neg find mustInstanceOfExtraordinary_Expense_CE_class(problem,interpretation,element);
14476 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
14477 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
14478 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
14479 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
14480 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
14481}
14482pattern refineTypeTo_Professional_Expense_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
14483 find interpretation(problem,interpretation);
14484 PartialInterpretation.newElements(interpretation,element);
14485 find mayInstanceOfProfessional_Expense_class(problem,interpretation,element);
14486 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
14487 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
14488 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
14489 neg find mustInstanceOfProfessional_Expense_class(problem,interpretation,element);
14490 neg find mustInstanceOfConstants_class(problem,interpretation,element);
14491 neg find mustInstanceOfAddress_class(problem,interpretation,element);
14492 neg find mustInstanceOfDS_class(problem,interpretation,element);
14493 neg find mustInstanceOfIncome_Type_class(problem,interpretation,element);
14494 neg find mustInstanceOfSpecial_Expense_DS_class(problem,interpretation,element);
14495 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
14496 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
14497 neg find mustInstanceOfMiscellaneous_Expense_FO_class(problem,interpretation,element);
14498 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
14499 neg find mustInstanceOfSpousal_Expense_AC_class(problem,interpretation,element);
14500 neg find mustInstanceOfIncome_class(problem,interpretation,element);
14501 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
14502 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
14503 neg find mustInstanceOfExtraordinary_Expense_CE_class(problem,interpretation,element);
14504 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
14505 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
14506 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
14507 neg find mustInstanceOfTravel_Expense_FD_class(problem,interpretation,element);
14508 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
14509}
14510pattern refineTypeTo_Address_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
14511 find interpretation(problem,interpretation);
14512 PartialInterpretation.newElements(interpretation,element);
14513 find mayInstanceOfAddress_class(problem,interpretation,element);
14514 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
14515 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
14516 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
14517 neg find mustInstanceOfExpense_class(problem,interpretation,element);
14518 neg find mustInstanceOfConstants_class(problem,interpretation,element);
14519 neg find mustInstanceOfAddress_class(problem,interpretation,element);
14520 neg find mustInstanceOfDS_class(problem,interpretation,element);
14521 neg find mustInstanceOfIncome_Type_class(problem,interpretation,element);
14522 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
14523 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
14524 neg find mustInstanceOfFiscal_Address_class(problem,interpretation,element);
14525 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
14526 neg find mustInstanceOfIncome_class(problem,interpretation,element);
14527 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
14528 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
14529 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
14530 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
14531 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
14532 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
14533 neg find mustInstanceOfHabitual_Address_class(problem,interpretation,element);
14534}
14535pattern refineTypeTo_Foreign_Income_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
14536 find interpretation(problem,interpretation);
14537 PartialInterpretation.newElements(interpretation,element);
14538 find mayInstanceOfForeign_Income_class(problem,interpretation,element);
14539 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
14540 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
14541 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
14542 neg find mustInstanceOfExpense_class(problem,interpretation,element);
14543 neg find mustInstanceOfConstants_class(problem,interpretation,element);
14544 neg find mustInstanceOfAddress_class(problem,interpretation,element);
14545 neg find mustInstanceOfForeign_Income_class(problem,interpretation,element);
14546 neg find mustInstanceOfIncome_Type_class(problem,interpretation,element);
14547 neg find mustInstanceOfDS_class(problem,interpretation,element);
14548 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
14549 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
14550 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
14551 neg find mustInstanceOfLocal_Income_class(problem,interpretation,element);
14552 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
14553 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
14554 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
14555 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
14556 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
14557 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
14558}
14559pattern refineTypeTo_Resident_Tax_Payer_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
14560 find interpretation(problem,interpretation);
14561 PartialInterpretation.newElements(interpretation,element);
14562 find mayInstanceOfResident_Tax_Payer_class(problem,interpretation,element);
14563 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
14564 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
14565 neg find mustInstanceOfExpense_class(problem,interpretation,element);
14566 neg find mustInstanceOfConstants_class(problem,interpretation,element);
14567 neg find mustInstanceOfAddress_class(problem,interpretation,element);
14568 neg find mustInstanceOfIncome_Type_class(problem,interpretation,element);
14569 neg find mustInstanceOfDS_class(problem,interpretation,element);
14570 neg find mustInstanceOfResident_Tax_Payer_class(problem,interpretation,element);
14571 neg find mustInstanceOfNon_Resident_Tax_Payer_class(problem,interpretation,element);
14572 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
14573 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
14574 neg find mustInstanceOfDependent_class(problem,interpretation,element);
14575 neg find mustInstanceOfIncome_class(problem,interpretation,element);
14576 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
14577 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
14578 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
14579 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
14580 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
14581 neg find mustInstanceOfHousehold_class(problem,interpretation,element);
14582 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
14583}
14584pattern refineTypeTo_CIS_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
14585 find interpretation(problem,interpretation);
14586 PartialInterpretation.newElements(interpretation,element);
14587 find mayInstanceOfCIS_class(problem,interpretation,element);
14588 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
14589 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
14590 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
14591 neg find mustInstanceOfConstants_class(problem,interpretation,element);
14592 neg find mustInstanceOfExpense_class(problem,interpretation,element);
14593 neg find mustInstanceOfAddress_class(problem,interpretation,element);
14594 neg find mustInstanceOfDS_class(problem,interpretation,element);
14595 neg find mustInstanceOfIncome_Type_class(problem,interpretation,element);
14596 neg find mustInstanceOfCIP_class(problem,interpretation,element);
14597 neg find mustInstanceOfCIS_class(problem,interpretation,element);
14598 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
14599 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
14600 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
14601 neg find mustInstanceOfIncome_class(problem,interpretation,element);
14602 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
14603 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
14604 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
14605 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
14606 neg find mustInstanceOfCIM_class(problem,interpretation,element);
14607 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
14608}
14609pattern refineTypeTo_Special_Expense_DS_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
14610 find interpretation(problem,interpretation);
14611 PartialInterpretation.newElements(interpretation,element);
14612 find mayInstanceOfSpecial_Expense_DS_class(problem,interpretation,element);
14613 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
14614 neg find mustInstanceOfProfessional_Expense_class(problem,interpretation,element);
14615 neg find mustInstanceOfAddress_class(problem,interpretation,element);
14616 neg find mustInstanceOfIncome_Type_class(problem,interpretation,element);
14617 neg find mustInstanceOfDS_class(problem,interpretation,element);
14618 neg find mustInstanceOfSpecial_Expense_DS_class(problem,interpretation,element);
14619 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
14620 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
14621 neg find mustInstanceOfSpousal_Expense_AC_class(problem,interpretation,element);
14622 neg find mustInstanceOfIncome_class(problem,interpretation,element);
14623 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
14624 neg find mustInstanceOfInterest_Expense_class(problem,interpretation,element);
14625 neg find mustInstanceOfExtraordinary_Expense_CE_class(problem,interpretation,element);
14626 neg find mustInstanceOfPrivate_Insurance_and_Plan_class(problem,interpretation,element);
14627 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
14628 neg find mustInstanceOfHealth_and_Pension_Insurance_class(problem,interpretation,element);
14629 neg find mustInstanceOfDonation_class(problem,interpretation,element);
14630 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
14631 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
14632 neg find mustInstanceOfConstants_class(problem,interpretation,element);
14633 neg find mustInstanceOfPermanent_Expense_class(problem,interpretation,element);
14634 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
14635 neg find mustInstanceOfLoss_Carryforward_class(problem,interpretation,element);
14636 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
14637 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
14638 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
14639 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
14640}
14641pattern refineTypeTo_CIP_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
14642 find interpretation(problem,interpretation);
14643 PartialInterpretation.newElements(interpretation,element);
14644 find mayInstanceOfCIP_class(problem,interpretation,element);
14645 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
14646 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
14647 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
14648 neg find mustInstanceOfConstants_class(problem,interpretation,element);
14649 neg find mustInstanceOfExpense_class(problem,interpretation,element);
14650 neg find mustInstanceOfAddress_class(problem,interpretation,element);
14651 neg find mustInstanceOfDS_class(problem,interpretation,element);
14652 neg find mustInstanceOfIncome_Type_class(problem,interpretation,element);
14653 neg find mustInstanceOfCIS_class(problem,interpretation,element);
14654 neg find mustInstanceOfCIP_class(problem,interpretation,element);
14655 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
14656 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
14657 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
14658 neg find mustInstanceOfIncome_class(problem,interpretation,element);
14659 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
14660 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
14661 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
14662 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
14663 neg find mustInstanceOfCIM_class(problem,interpretation,element);
14664 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
14665}
14666pattern refineTypeTo_Income_Tax_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
14667 find interpretation(problem,interpretation);
14668 PartialInterpretation.newElements(interpretation,element);
14669 find mayInstanceOfIncome_Tax_class(problem,interpretation,element);
14670 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
14671 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
14672 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
14673 neg find mustInstanceOfConstants_class(problem,interpretation,element);
14674 neg find mustInstanceOfExpense_class(problem,interpretation,element);
14675 neg find mustInstanceOfAddress_class(problem,interpretation,element);
14676 neg find mustInstanceOfDS_class(problem,interpretation,element);
14677 neg find mustInstanceOfIncome_Type_class(problem,interpretation,element);
14678 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
14679 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
14680 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
14681 neg find mustInstanceOfIncome_class(problem,interpretation,element);
14682 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
14683 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
14684 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
14685 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
14686 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
14687 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
14688}
14689pattern refineTypeTo_Physical_Person_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
14690 find interpretation(problem,interpretation);
14691 PartialInterpretation.newElements(interpretation,element);
14692 find mayInstanceOfPhysical_Person_class(problem,interpretation,element);
14693 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
14694 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
14695 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
14696 neg find mustInstanceOfExpense_class(problem,interpretation,element);
14697 neg find mustInstanceOfConstants_class(problem,interpretation,element);
14698 neg find mustInstanceOfAddress_class(problem,interpretation,element);
14699 neg find mustInstanceOfDS_class(problem,interpretation,element);
14700 neg find mustInstanceOfIncome_Type_class(problem,interpretation,element);
14701 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
14702 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
14703 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
14704 neg find mustInstanceOfDependent_class(problem,interpretation,element);
14705 neg find mustInstanceOfIncome_class(problem,interpretation,element);
14706 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
14707 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
14708 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
14709 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
14710 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
14711 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
14712}
14713pattern refineTypeTo_Professional_Expenses_Deduction_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
14714 find interpretation(problem,interpretation);
14715 PartialInterpretation.newElements(interpretation,element);
14716 find mayInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
14717 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
14718 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
14719 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
14720 neg find mustInstanceOfExpense_class(problem,interpretation,element);
14721 neg find mustInstanceOfConstants_class(problem,interpretation,element);
14722 neg find mustInstanceOfFD_class(problem,interpretation,element);
14723 neg find mustInstanceOfAddress_class(problem,interpretation,element);
14724 neg find mustInstanceOfIncome_Type_class(problem,interpretation,element);
14725 neg find mustInstanceOfDS_class(problem,interpretation,element);
14726 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
14727 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
14728 neg find mustInstanceOfFO_class(problem,interpretation,element);
14729 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
14730 neg find mustInstanceOfIncome_class(problem,interpretation,element);
14731 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
14732 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
14733 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
14734 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
14735 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
14736 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
14737}
14738pattern refineTypeTo_Interest_Expense_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
14739 find interpretation(problem,interpretation);
14740 PartialInterpretation.newElements(interpretation,element);
14741 find mayInstanceOfInterest_Expense_class(problem,interpretation,element);
14742 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
14743 neg find mustInstanceOfProfessional_Expense_class(problem,interpretation,element);
14744 neg find mustInstanceOfAddress_class(problem,interpretation,element);
14745 neg find mustInstanceOfIncome_Type_class(problem,interpretation,element);
14746 neg find mustInstanceOfDS_class(problem,interpretation,element);
14747 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
14748 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
14749 neg find mustInstanceOfSpousal_Expense_AC_class(problem,interpretation,element);
14750 neg find mustInstanceOfIncome_class(problem,interpretation,element);
14751 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
14752 neg find mustInstanceOfInterest_Expense_class(problem,interpretation,element);
14753 neg find mustInstanceOfExtraordinary_Expense_CE_class(problem,interpretation,element);
14754 neg find mustInstanceOfPrivate_Insurance_and_Plan_class(problem,interpretation,element);
14755 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
14756 neg find mustInstanceOfDonation_class(problem,interpretation,element);
14757 neg find mustInstanceOfHealth_and_Pension_Insurance_class(problem,interpretation,element);
14758 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
14759 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
14760 neg find mustInstanceOfConstants_class(problem,interpretation,element);
14761 neg find mustInstanceOfPermanent_Expense_class(problem,interpretation,element);
14762 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
14763 neg find mustInstanceOfLoss_Carryforward_class(problem,interpretation,element);
14764 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
14765 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
14766 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
14767 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
14768}
14769pattern refineTypeTo_DS_for_Health_and_Pension_Insurance_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
14770 find interpretation(problem,interpretation);
14771 PartialInterpretation.newElements(interpretation,element);
14772 find mayInstanceOfDS_for_Health_and_Pension_Insurance_class(problem,interpretation,element);
14773 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
14774 neg find mustInstanceOfDS_for_Permanent_Expense_class(problem,interpretation,element);
14775 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
14776 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
14777 neg find mustInstanceOfExpense_class(problem,interpretation,element);
14778 neg find mustInstanceOfConstants_class(problem,interpretation,element);
14779 neg find mustInstanceOfAddress_class(problem,interpretation,element);
14780 neg find mustInstanceOfIncome_Type_class(problem,interpretation,element);
14781 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
14782 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
14783 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
14784 neg find mustInstanceOfDS_for_Loss_Carryforward_class(problem,interpretation,element);
14785 neg find mustInstanceOfDS_for_Donation_class(problem,interpretation,element);
14786 neg find mustInstanceOfIncome_class(problem,interpretation,element);
14787 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
14788 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
14789 neg find mustInstanceOfDS_for_Interest_Expense_class(problem,interpretation,element);
14790 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
14791 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
14792 neg find mustInstanceOfDS_for_Health_and_Pension_Insurance_class(problem,interpretation,element);
14793 neg find mustInstanceOfDS_for_Private_Insurance_and_Plan_class(problem,interpretation,element);
14794 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
14795 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
14796}
14797pattern refineTypeTo_Tax_Card_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
14798 find interpretation(problem,interpretation);
14799 PartialInterpretation.newElements(interpretation,element);
14800 find mayInstanceOfTax_Card_class(problem,interpretation,element);
14801 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
14802 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
14803 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
14804 neg find mustInstanceOfConstants_class(problem,interpretation,element);
14805 neg find mustInstanceOfExpense_class(problem,interpretation,element);
14806 neg find mustInstanceOfAddress_class(problem,interpretation,element);
14807 neg find mustInstanceOfDS_class(problem,interpretation,element);
14808 neg find mustInstanceOfIncome_Type_class(problem,interpretation,element);
14809 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
14810 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
14811 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
14812 neg find mustInstanceOfIncome_class(problem,interpretation,element);
14813 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
14814 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
14815 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
14816 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
14817 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
14818 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
14819}
14820pattern refineTypeTo_Donation_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
14821 find interpretation(problem,interpretation);
14822 PartialInterpretation.newElements(interpretation,element);
14823 find mayInstanceOfDonation_class(problem,interpretation,element);
14824 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
14825 neg find mustInstanceOfProfessional_Expense_class(problem,interpretation,element);
14826 neg find mustInstanceOfAddress_class(problem,interpretation,element);
14827 neg find mustInstanceOfDS_class(problem,interpretation,element);
14828 neg find mustInstanceOfIncome_Type_class(problem,interpretation,element);
14829 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
14830 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
14831 neg find mustInstanceOfSpousal_Expense_AC_class(problem,interpretation,element);
14832 neg find mustInstanceOfIncome_class(problem,interpretation,element);
14833 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
14834 neg find mustInstanceOfInterest_Expense_class(problem,interpretation,element);
14835 neg find mustInstanceOfExtraordinary_Expense_CE_class(problem,interpretation,element);
14836 neg find mustInstanceOfPrivate_Insurance_and_Plan_class(problem,interpretation,element);
14837 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
14838 neg find mustInstanceOfDonation_class(problem,interpretation,element);
14839 neg find mustInstanceOfHealth_and_Pension_Insurance_class(problem,interpretation,element);
14840 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
14841 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
14842 neg find mustInstanceOfConstants_class(problem,interpretation,element);
14843 neg find mustInstanceOfPermanent_Expense_class(problem,interpretation,element);
14844 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
14845 neg find mustInstanceOfLoss_Carryforward_class(problem,interpretation,element);
14846 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
14847 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
14848 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
14849 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
14850}
14851pattern refineTypeTo_FromAgent_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
14852 find interpretation(problem,interpretation);
14853 PartialInterpretation.newElements(interpretation,element);
14854 find mayInstanceOfFromAgent_class(problem,interpretation,element);
14855 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
14856 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
14857 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
14858 neg find mustInstanceOfExpense_class(problem,interpretation,element);
14859 neg find mustInstanceOfConstants_class(problem,interpretation,element);
14860 neg find mustInstanceOfAddress_class(problem,interpretation,element);
14861 neg find mustInstanceOfIncome_Type_class(problem,interpretation,element);
14862 neg find mustInstanceOfDS_class(problem,interpretation,element);
14863 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
14864 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
14865 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
14866 neg find mustInstanceOfIncome_class(problem,interpretation,element);
14867 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
14868 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
14869 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
14870 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
14871 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
14872 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
14873}
14874pattern refineTypeTo_Capital_and_Investments_Income_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
14875 find interpretation(problem,interpretation);
14876 PartialInterpretation.newElements(interpretation,element);
14877 find mayInstanceOfCapital_and_Investments_Income_class(problem,interpretation,element);
14878 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
14879 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
14880 neg find mustInstanceOfCapital_and_Investments_Income_class(problem,interpretation,element);
14881 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
14882 neg find mustInstanceOfRentals_and_Leases_Income_class(problem,interpretation,element);
14883 neg find mustInstanceOfExpense_class(problem,interpretation,element);
14884 neg find mustInstanceOfConstants_class(problem,interpretation,element);
14885 neg find mustInstanceOfAddress_class(problem,interpretation,element);
14886 neg find mustInstanceOfDS_class(problem,interpretation,element);
14887 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
14888 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
14889 neg find mustInstanceOfPensions_and_Annuities_Income_class(problem,interpretation,element);
14890 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
14891 neg find mustInstanceOfIncome_class(problem,interpretation,element);
14892 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
14893 neg find mustInstanceOfEmployment_Income_class(problem,interpretation,element);
14894 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
14895 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
14896 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
14897 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
14898 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
14899 neg find mustInstanceOfAgriculture_and_Forestry_Income_class(problem,interpretation,element);
14900 neg find mustInstanceOfTrade_and_Business_Income_class(problem,interpretation,element);
14901}
14902pattern refineTypeTo_DS_for_Permanent_Expense_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
14903 find interpretation(problem,interpretation);
14904 PartialInterpretation.newElements(interpretation,element);
14905 find mayInstanceOfDS_for_Permanent_Expense_class(problem,interpretation,element);
14906 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
14907 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
14908 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
14909 neg find mustInstanceOfDS_for_Permanent_Expense_class(problem,interpretation,element);
14910 neg find mustInstanceOfExpense_class(problem,interpretation,element);
14911 neg find mustInstanceOfConstants_class(problem,interpretation,element);
14912 neg find mustInstanceOfAddress_class(problem,interpretation,element);
14913 neg find mustInstanceOfIncome_Type_class(problem,interpretation,element);
14914 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
14915 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
14916 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
14917 neg find mustInstanceOfDS_for_Loss_Carryforward_class(problem,interpretation,element);
14918 neg find mustInstanceOfDS_for_Donation_class(problem,interpretation,element);
14919 neg find mustInstanceOfIncome_class(problem,interpretation,element);
14920 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
14921 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
14922 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
14923 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
14924 neg find mustInstanceOfDS_for_Interest_Expense_class(problem,interpretation,element);
14925 neg find mustInstanceOfDS_for_Health_and_Pension_Insurance_class(problem,interpretation,element);
14926 neg find mustInstanceOfDS_for_Private_Insurance_and_Plan_class(problem,interpretation,element);
14927 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
14928 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
14929}
14930pattern refineTypeTo_Rentals_and_Leases_Income_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
14931 find interpretation(problem,interpretation);
14932 PartialInterpretation.newElements(interpretation,element);
14933 find mayInstanceOfRentals_and_Leases_Income_class(problem,interpretation,element);
14934 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
14935 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
14936 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
14937 neg find mustInstanceOfRentals_and_Leases_Income_class(problem,interpretation,element);
14938 neg find mustInstanceOfCapital_and_Investments_Income_class(problem,interpretation,element);
14939 neg find mustInstanceOfConstants_class(problem,interpretation,element);
14940 neg find mustInstanceOfExpense_class(problem,interpretation,element);
14941 neg find mustInstanceOfAddress_class(problem,interpretation,element);
14942 neg find mustInstanceOfDS_class(problem,interpretation,element);
14943 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
14944 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
14945 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
14946 neg find mustInstanceOfPensions_and_Annuities_Income_class(problem,interpretation,element);
14947 neg find mustInstanceOfIncome_class(problem,interpretation,element);
14948 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
14949 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
14950 neg find mustInstanceOfEmployment_Income_class(problem,interpretation,element);
14951 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
14952 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
14953 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
14954 neg find mustInstanceOfAgriculture_and_Forestry_Income_class(problem,interpretation,element);
14955 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
14956 neg find mustInstanceOfTrade_and_Business_Income_class(problem,interpretation,element);
14957}
14958pattern refineTypeTo_Permanent_Expense_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
14959 find interpretation(problem,interpretation);
14960 PartialInterpretation.newElements(interpretation,element);
14961 find mayInstanceOfPermanent_Expense_class(problem,interpretation,element);
14962 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
14963 neg find mustInstanceOfProfessional_Expense_class(problem,interpretation,element);
14964 neg find mustInstanceOfAddress_class(problem,interpretation,element);
14965 neg find mustInstanceOfDS_class(problem,interpretation,element);
14966 neg find mustInstanceOfIncome_Type_class(problem,interpretation,element);
14967 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
14968 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
14969 neg find mustInstanceOfSpousal_Expense_AC_class(problem,interpretation,element);
14970 neg find mustInstanceOfIncome_class(problem,interpretation,element);
14971 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
14972 neg find mustInstanceOfInterest_Expense_class(problem,interpretation,element);
14973 neg find mustInstanceOfExtraordinary_Expense_CE_class(problem,interpretation,element);
14974 neg find mustInstanceOfPrivate_Insurance_and_Plan_class(problem,interpretation,element);
14975 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
14976 neg find mustInstanceOfHealth_and_Pension_Insurance_class(problem,interpretation,element);
14977 neg find mustInstanceOfDonation_class(problem,interpretation,element);
14978 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
14979 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
14980 neg find mustInstanceOfConstants_class(problem,interpretation,element);
14981 neg find mustInstanceOfPermanent_Expense_class(problem,interpretation,element);
14982 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
14983 neg find mustInstanceOfLoss_Carryforward_class(problem,interpretation,element);
14984 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
14985 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
14986 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
14987 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
14988}
14989pattern refineTypeTo_Miscellaneous_Expense_FO_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
14990 find interpretation(problem,interpretation);
14991 PartialInterpretation.newElements(interpretation,element);
14992 find mayInstanceOfMiscellaneous_Expense_FO_class(problem,interpretation,element);
14993 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
14994 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
14995 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
14996 neg find mustInstanceOfConstants_class(problem,interpretation,element);
14997 neg find mustInstanceOfAddress_class(problem,interpretation,element);
14998 neg find mustInstanceOfDS_class(problem,interpretation,element);
14999 neg find mustInstanceOfIncome_Type_class(problem,interpretation,element);
15000 neg find mustInstanceOfSpecial_Expense_DS_class(problem,interpretation,element);
15001 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
15002 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
15003 neg find mustInstanceOfMiscellaneous_Expense_FO_class(problem,interpretation,element);
15004 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
15005 neg find mustInstanceOfSpousal_Expense_AC_class(problem,interpretation,element);
15006 neg find mustInstanceOfIncome_class(problem,interpretation,element);
15007 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
15008 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
15009 neg find mustInstanceOfExtraordinary_Expense_CE_class(problem,interpretation,element);
15010 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
15011 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
15012 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
15013 neg find mustInstanceOfTravel_Expense_FD_class(problem,interpretation,element);
15014 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
15015}
15016pattern refineTypeTo_Tax_Property_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
15017 find interpretation(problem,interpretation);
15018 PartialInterpretation.newElements(interpretation,element);
15019 find mayInstanceOfTax_Property_class(problem,interpretation,element);
15020 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
15021 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
15022 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
15023 neg find mustInstanceOfExpense_class(problem,interpretation,element);
15024 neg find mustInstanceOfConstants_class(problem,interpretation,element);
15025 neg find mustInstanceOfAddress_class(problem,interpretation,element);
15026 neg find mustInstanceOfIncome_Type_class(problem,interpretation,element);
15027 neg find mustInstanceOfDS_class(problem,interpretation,element);
15028 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
15029 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
15030 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
15031 neg find mustInstanceOfIncome_class(problem,interpretation,element);
15032 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
15033 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
15034 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
15035 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
15036 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
15037 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
15038}
15039pattern refineTypeTo_DS_for_Donation_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
15040 find interpretation(problem,interpretation);
15041 PartialInterpretation.newElements(interpretation,element);
15042 find mayInstanceOfDS_for_Donation_class(problem,interpretation,element);
15043 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
15044 neg find mustInstanceOfDS_for_Permanent_Expense_class(problem,interpretation,element);
15045 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
15046 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
15047 neg find mustInstanceOfConstants_class(problem,interpretation,element);
15048 neg find mustInstanceOfExpense_class(problem,interpretation,element);
15049 neg find mustInstanceOfAddress_class(problem,interpretation,element);
15050 neg find mustInstanceOfIncome_Type_class(problem,interpretation,element);
15051 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
15052 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
15053 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
15054 neg find mustInstanceOfDS_for_Loss_Carryforward_class(problem,interpretation,element);
15055 neg find mustInstanceOfDS_for_Donation_class(problem,interpretation,element);
15056 neg find mustInstanceOfIncome_class(problem,interpretation,element);
15057 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
15058 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
15059 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
15060 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
15061 neg find mustInstanceOfDS_for_Interest_Expense_class(problem,interpretation,element);
15062 neg find mustInstanceOfDS_for_Health_and_Pension_Insurance_class(problem,interpretation,element);
15063 neg find mustInstanceOfDS_for_Private_Insurance_and_Plan_class(problem,interpretation,element);
15064 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
15065 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
15066}
15067pattern refineTypeTo_Loss_Carryforward_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
15068 find interpretation(problem,interpretation);
15069 PartialInterpretation.newElements(interpretation,element);
15070 find mayInstanceOfLoss_Carryforward_class(problem,interpretation,element);
15071 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
15072 neg find mustInstanceOfProfessional_Expense_class(problem,interpretation,element);
15073 neg find mustInstanceOfAddress_class(problem,interpretation,element);
15074 neg find mustInstanceOfIncome_Type_class(problem,interpretation,element);
15075 neg find mustInstanceOfDS_class(problem,interpretation,element);
15076 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
15077 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
15078 neg find mustInstanceOfSpousal_Expense_AC_class(problem,interpretation,element);
15079 neg find mustInstanceOfIncome_class(problem,interpretation,element);
15080 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
15081 neg find mustInstanceOfInterest_Expense_class(problem,interpretation,element);
15082 neg find mustInstanceOfExtraordinary_Expense_CE_class(problem,interpretation,element);
15083 neg find mustInstanceOfPrivate_Insurance_and_Plan_class(problem,interpretation,element);
15084 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
15085 neg find mustInstanceOfHealth_and_Pension_Insurance_class(problem,interpretation,element);
15086 neg find mustInstanceOfDonation_class(problem,interpretation,element);
15087 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
15088 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
15089 neg find mustInstanceOfConstants_class(problem,interpretation,element);
15090 neg find mustInstanceOfPermanent_Expense_class(problem,interpretation,element);
15091 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
15092 neg find mustInstanceOfLoss_Carryforward_class(problem,interpretation,element);
15093 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
15094 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
15095 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
15096 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
15097}
15098pattern refineTypeTo_Employment_Income_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
15099 find interpretation(problem,interpretation);
15100 PartialInterpretation.newElements(interpretation,element);
15101 find mayInstanceOfEmployment_Income_class(problem,interpretation,element);
15102 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
15103 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
15104 neg find mustInstanceOfRentals_and_Leases_Income_class(problem,interpretation,element);
15105 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
15106 neg find mustInstanceOfCapital_and_Investments_Income_class(problem,interpretation,element);
15107 neg find mustInstanceOfExpense_class(problem,interpretation,element);
15108 neg find mustInstanceOfConstants_class(problem,interpretation,element);
15109 neg find mustInstanceOfAddress_class(problem,interpretation,element);
15110 neg find mustInstanceOfDS_class(problem,interpretation,element);
15111 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
15112 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
15113 neg find mustInstanceOfPensions_and_Annuities_Income_class(problem,interpretation,element);
15114 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
15115 neg find mustInstanceOfIncome_class(problem,interpretation,element);
15116 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
15117 neg find mustInstanceOfEmployment_Income_class(problem,interpretation,element);
15118 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
15119 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
15120 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
15121 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
15122 neg find mustInstanceOfAgriculture_and_Forestry_Income_class(problem,interpretation,element);
15123 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
15124 neg find mustInstanceOfTrade_and_Business_Income_class(problem,interpretation,element);
15125}
15126pattern refineTypeTo_Household_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
15127 find interpretation(problem,interpretation);
15128 PartialInterpretation.newElements(interpretation,element);
15129 find mayInstanceOfHousehold_class(problem,interpretation,element);
15130 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
15131 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
15132 neg find mustInstanceOfExpense_class(problem,interpretation,element);
15133 neg find mustInstanceOfConstants_class(problem,interpretation,element);
15134 neg find mustInstanceOfAddress_class(problem,interpretation,element);
15135 neg find mustInstanceOfIncome_Type_class(problem,interpretation,element);
15136 neg find mustInstanceOfDS_class(problem,interpretation,element);
15137 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
15138 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
15139 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
15140 neg find mustInstanceOfIncome_class(problem,interpretation,element);
15141 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
15142 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
15143 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
15144 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
15145 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
15146 neg find mustInstanceOfHousehold_class(problem,interpretation,element);
15147 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
15148}
15149pattern refineTypeTo_Agriculture_and_Forestry_Income_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
15150 find interpretation(problem,interpretation);
15151 PartialInterpretation.newElements(interpretation,element);
15152 find mayInstanceOfAgriculture_and_Forestry_Income_class(problem,interpretation,element);
15153 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
15154 neg find mustInstanceOfRentals_and_Leases_Income_class(problem,interpretation,element);
15155 neg find mustInstanceOfCapital_and_Investments_Income_class(problem,interpretation,element);
15156 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
15157 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
15158 neg find mustInstanceOfConstants_class(problem,interpretation,element);
15159 neg find mustInstanceOfExpense_class(problem,interpretation,element);
15160 neg find mustInstanceOfAddress_class(problem,interpretation,element);
15161 neg find mustInstanceOfDS_class(problem,interpretation,element);
15162 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
15163 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
15164 neg find mustInstanceOfPensions_and_Annuities_Income_class(problem,interpretation,element);
15165 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
15166 neg find mustInstanceOfIncome_class(problem,interpretation,element);
15167 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
15168 neg find mustInstanceOfEmployment_Income_class(problem,interpretation,element);
15169 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
15170 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
15171 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
15172 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
15173 neg find mustInstanceOfAgriculture_and_Forestry_Income_class(problem,interpretation,element);
15174 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
15175 neg find mustInstanceOfTrade_and_Business_Income_class(problem,interpretation,element);
15176}
15177pattern refineTypeTo_Habitual_Address_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
15178 find interpretation(problem,interpretation);
15179 PartialInterpretation.newElements(interpretation,element);
15180 find mayInstanceOfHabitual_Address_class(problem,interpretation,element);
15181 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
15182 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
15183 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
15184 neg find mustInstanceOfExpense_class(problem,interpretation,element);
15185 neg find mustInstanceOfConstants_class(problem,interpretation,element);
15186 neg find mustInstanceOfIncome_Type_class(problem,interpretation,element);
15187 neg find mustInstanceOfDS_class(problem,interpretation,element);
15188 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
15189 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
15190 neg find mustInstanceOfFiscal_Address_class(problem,interpretation,element);
15191 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
15192 neg find mustInstanceOfIncome_class(problem,interpretation,element);
15193 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
15194 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
15195 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
15196 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
15197 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
15198 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
15199 neg find mustInstanceOfHabitual_Address_class(problem,interpretation,element);
15200}
15201pattern refineTypeTo_DS_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
15202 find interpretation(problem,interpretation);
15203 PartialInterpretation.newElements(interpretation,element);
15204 find mayInstanceOfDS_class(problem,interpretation,element);
15205 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
15206 neg find mustInstanceOfDS_for_Permanent_Expense_class(problem,interpretation,element);
15207 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
15208 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
15209 neg find mustInstanceOfConstants_class(problem,interpretation,element);
15210 neg find mustInstanceOfExpense_class(problem,interpretation,element);
15211 neg find mustInstanceOfAddress_class(problem,interpretation,element);
15212 neg find mustInstanceOfIncome_Type_class(problem,interpretation,element);
15213 neg find mustInstanceOfDS_class(problem,interpretation,element);
15214 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
15215 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
15216 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
15217 neg find mustInstanceOfDS_for_Loss_Carryforward_class(problem,interpretation,element);
15218 neg find mustInstanceOfDS_for_Donation_class(problem,interpretation,element);
15219 neg find mustInstanceOfIncome_class(problem,interpretation,element);
15220 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
15221 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
15222 neg find mustInstanceOfDS_for_Interest_Expense_class(problem,interpretation,element);
15223 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
15224 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
15225 neg find mustInstanceOfDS_for_Health_and_Pension_Insurance_class(problem,interpretation,element);
15226 neg find mustInstanceOfDS_for_Private_Insurance_and_Plan_class(problem,interpretation,element);
15227 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
15228 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
15229}
15230pattern refineTypeTo_Fiscal_Address_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
15231 find interpretation(problem,interpretation);
15232 PartialInterpretation.newElements(interpretation,element);
15233 find mayInstanceOfFiscal_Address_class(problem,interpretation,element);
15234 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
15235 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
15236 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
15237 neg find mustInstanceOfConstants_class(problem,interpretation,element);
15238 neg find mustInstanceOfExpense_class(problem,interpretation,element);
15239 neg find mustInstanceOfIncome_Type_class(problem,interpretation,element);
15240 neg find mustInstanceOfDS_class(problem,interpretation,element);
15241 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
15242 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
15243 neg find mustInstanceOfFiscal_Address_class(problem,interpretation,element);
15244 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
15245 neg find mustInstanceOfIncome_class(problem,interpretation,element);
15246 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
15247 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
15248 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
15249 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
15250 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
15251 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
15252 neg find mustInstanceOfHabitual_Address_class(problem,interpretation,element);
15253}
15254pattern refineTypeTo_FO_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
15255 find interpretation(problem,interpretation);
15256 PartialInterpretation.newElements(interpretation,element);
15257 find mayInstanceOfFO_class(problem,interpretation,element);
15258 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
15259 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
15260 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
15261 neg find mustInstanceOfConstants_class(problem,interpretation,element);
15262 neg find mustInstanceOfExpense_class(problem,interpretation,element);
15263 neg find mustInstanceOfFD_class(problem,interpretation,element);
15264 neg find mustInstanceOfAddress_class(problem,interpretation,element);
15265 neg find mustInstanceOfIncome_Type_class(problem,interpretation,element);
15266 neg find mustInstanceOfDS_class(problem,interpretation,element);
15267 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
15268 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
15269 neg find mustInstanceOfFO_class(problem,interpretation,element);
15270 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
15271 neg find mustInstanceOfIncome_class(problem,interpretation,element);
15272 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
15273 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
15274 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
15275 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
15276 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
15277}
15278pattern refineTypeTo_Pensions_and_Annuities_Income_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
15279 find interpretation(problem,interpretation);
15280 PartialInterpretation.newElements(interpretation,element);
15281 find mayInstanceOfPensions_and_Annuities_Income_class(problem,interpretation,element);
15282 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
15283 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
15284 neg find mustInstanceOfRentals_and_Leases_Income_class(problem,interpretation,element);
15285 neg find mustInstanceOfCapital_and_Investments_Income_class(problem,interpretation,element);
15286 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
15287 neg find mustInstanceOfExpense_class(problem,interpretation,element);
15288 neg find mustInstanceOfConstants_class(problem,interpretation,element);
15289 neg find mustInstanceOfAddress_class(problem,interpretation,element);
15290 neg find mustInstanceOfDS_class(problem,interpretation,element);
15291 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
15292 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
15293 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
15294 neg find mustInstanceOfPensions_and_Annuities_Income_class(problem,interpretation,element);
15295 neg find mustInstanceOfIncome_class(problem,interpretation,element);
15296 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
15297 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
15298 neg find mustInstanceOfEmployment_Income_class(problem,interpretation,element);
15299 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
15300 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
15301 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
15302 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
15303 neg find mustInstanceOfAgriculture_and_Forestry_Income_class(problem,interpretation,element);
15304 neg find mustInstanceOfTrade_and_Business_Income_class(problem,interpretation,element);
15305}
15306pattern refineTypeTo_DS_for_Loss_Carryforward_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
15307 find interpretation(problem,interpretation);
15308 PartialInterpretation.newElements(interpretation,element);
15309 find mayInstanceOfDS_for_Loss_Carryforward_class(problem,interpretation,element);
15310 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
15311 neg find mustInstanceOfDS_for_Permanent_Expense_class(problem,interpretation,element);
15312 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
15313 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
15314 neg find mustInstanceOfConstants_class(problem,interpretation,element);
15315 neg find mustInstanceOfExpense_class(problem,interpretation,element);
15316 neg find mustInstanceOfAddress_class(problem,interpretation,element);
15317 neg find mustInstanceOfIncome_Type_class(problem,interpretation,element);
15318 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
15319 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
15320 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
15321 neg find mustInstanceOfDS_for_Loss_Carryforward_class(problem,interpretation,element);
15322 neg find mustInstanceOfDS_for_Donation_class(problem,interpretation,element);
15323 neg find mustInstanceOfIncome_class(problem,interpretation,element);
15324 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
15325 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
15326 neg find mustInstanceOfDS_for_Interest_Expense_class(problem,interpretation,element);
15327 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
15328 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
15329 neg find mustInstanceOfDS_for_Health_and_Pension_Insurance_class(problem,interpretation,element);
15330 neg find mustInstanceOfDS_for_Private_Insurance_and_Plan_class(problem,interpretation,element);
15331 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
15332 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
15333}
15334pattern refineTypeTo_Spousal_Expense_AC_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
15335 find interpretation(problem,interpretation);
15336 PartialInterpretation.newElements(interpretation,element);
15337 find mayInstanceOfSpousal_Expense_AC_class(problem,interpretation,element);
15338 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
15339 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
15340 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
15341 neg find mustInstanceOfProfessional_Expense_class(problem,interpretation,element);
15342 neg find mustInstanceOfConstants_class(problem,interpretation,element);
15343 neg find mustInstanceOfAddress_class(problem,interpretation,element);
15344 neg find mustInstanceOfIncome_Type_class(problem,interpretation,element);
15345 neg find mustInstanceOfDS_class(problem,interpretation,element);
15346 neg find mustInstanceOfSpecial_Expense_DS_class(problem,interpretation,element);
15347 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
15348 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
15349 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
15350 neg find mustInstanceOfSpousal_Expense_AC_class(problem,interpretation,element);
15351 neg find mustInstanceOfIncome_class(problem,interpretation,element);
15352 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
15353 neg find mustInstanceOfExtraordinary_Expense_CE_class(problem,interpretation,element);
15354 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
15355 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
15356 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
15357 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
15358 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
15359}
15360pattern refineTypeTo_Local_Income_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
15361 find interpretation(problem,interpretation);
15362 PartialInterpretation.newElements(interpretation,element);
15363 find mayInstanceOfLocal_Income_class(problem,interpretation,element);
15364 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
15365 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
15366 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
15367 neg find mustInstanceOfConstants_class(problem,interpretation,element);
15368 neg find mustInstanceOfExpense_class(problem,interpretation,element);
15369 neg find mustInstanceOfAddress_class(problem,interpretation,element);
15370 neg find mustInstanceOfForeign_Income_class(problem,interpretation,element);
15371 neg find mustInstanceOfDS_class(problem,interpretation,element);
15372 neg find mustInstanceOfIncome_Type_class(problem,interpretation,element);
15373 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
15374 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
15375 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
15376 neg find mustInstanceOfLocal_Income_class(problem,interpretation,element);
15377 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
15378 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
15379 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
15380 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
15381 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
15382 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
15383}
15384pattern refineTypeTo_Extraordinary_Expense_CE_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
15385 find interpretation(problem,interpretation);
15386 PartialInterpretation.newElements(interpretation,element);
15387 find mayInstanceOfExtraordinary_Expense_CE_class(problem,interpretation,element);
15388 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
15389 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
15390 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
15391 neg find mustInstanceOfConstants_class(problem,interpretation,element);
15392 neg find mustInstanceOfProfessional_Expense_class(problem,interpretation,element);
15393 neg find mustInstanceOfAddress_class(problem,interpretation,element);
15394 neg find mustInstanceOfDS_class(problem,interpretation,element);
15395 neg find mustInstanceOfIncome_Type_class(problem,interpretation,element);
15396 neg find mustInstanceOfSpecial_Expense_DS_class(problem,interpretation,element);
15397 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
15398 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
15399 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
15400 neg find mustInstanceOfSpousal_Expense_AC_class(problem,interpretation,element);
15401 neg find mustInstanceOfIncome_class(problem,interpretation,element);
15402 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
15403 neg find mustInstanceOfExtraordinary_Expense_CE_class(problem,interpretation,element);
15404 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
15405 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
15406 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
15407 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
15408 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
15409}
15410pattern refineTypeTo_Private_Insurance_and_Plan_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
15411 find interpretation(problem,interpretation);
15412 PartialInterpretation.newElements(interpretation,element);
15413 find mayInstanceOfPrivate_Insurance_and_Plan_class(problem,interpretation,element);
15414 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
15415 neg find mustInstanceOfProfessional_Expense_class(problem,interpretation,element);
15416 neg find mustInstanceOfAddress_class(problem,interpretation,element);
15417 neg find mustInstanceOfDS_class(problem,interpretation,element);
15418 neg find mustInstanceOfIncome_Type_class(problem,interpretation,element);
15419 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
15420 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
15421 neg find mustInstanceOfSpousal_Expense_AC_class(problem,interpretation,element);
15422 neg find mustInstanceOfIncome_class(problem,interpretation,element);
15423 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
15424 neg find mustInstanceOfInterest_Expense_class(problem,interpretation,element);
15425 neg find mustInstanceOfExtraordinary_Expense_CE_class(problem,interpretation,element);
15426 neg find mustInstanceOfPrivate_Insurance_and_Plan_class(problem,interpretation,element);
15427 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
15428 neg find mustInstanceOfDonation_class(problem,interpretation,element);
15429 neg find mustInstanceOfHealth_and_Pension_Insurance_class(problem,interpretation,element);
15430 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
15431 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
15432 neg find mustInstanceOfConstants_class(problem,interpretation,element);
15433 neg find mustInstanceOfPermanent_Expense_class(problem,interpretation,element);
15434 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
15435 neg find mustInstanceOfLoss_Carryforward_class(problem,interpretation,element);
15436 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
15437 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
15438 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
15439 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
15440}
15441pattern refineTypeTo_DS_for_Interest_Expense_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
15442 find interpretation(problem,interpretation);
15443 PartialInterpretation.newElements(interpretation,element);
15444 find mayInstanceOfDS_for_Interest_Expense_class(problem,interpretation,element);
15445 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
15446 neg find mustInstanceOfDS_for_Permanent_Expense_class(problem,interpretation,element);
15447 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
15448 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
15449 neg find mustInstanceOfExpense_class(problem,interpretation,element);
15450 neg find mustInstanceOfConstants_class(problem,interpretation,element);
15451 neg find mustInstanceOfAddress_class(problem,interpretation,element);
15452 neg find mustInstanceOfIncome_Type_class(problem,interpretation,element);
15453 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
15454 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
15455 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
15456 neg find mustInstanceOfDS_for_Loss_Carryforward_class(problem,interpretation,element);
15457 neg find mustInstanceOfDS_for_Donation_class(problem,interpretation,element);
15458 neg find mustInstanceOfIncome_class(problem,interpretation,element);
15459 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
15460 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
15461 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
15462 neg find mustInstanceOfDS_for_Interest_Expense_class(problem,interpretation,element);
15463 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
15464 neg find mustInstanceOfDS_for_Health_and_Pension_Insurance_class(problem,interpretation,element);
15465 neg find mustInstanceOfDS_for_Private_Insurance_and_Plan_class(problem,interpretation,element);
15466 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
15467 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
15468}
15469pattern refineTypeTo_Health_and_Pension_Insurance_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
15470 find interpretation(problem,interpretation);
15471 PartialInterpretation.newElements(interpretation,element);
15472 find mayInstanceOfHealth_and_Pension_Insurance_class(problem,interpretation,element);
15473 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
15474 neg find mustInstanceOfProfessional_Expense_class(problem,interpretation,element);
15475 neg find mustInstanceOfAddress_class(problem,interpretation,element);
15476 neg find mustInstanceOfIncome_Type_class(problem,interpretation,element);
15477 neg find mustInstanceOfDS_class(problem,interpretation,element);
15478 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
15479 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
15480 neg find mustInstanceOfSpousal_Expense_AC_class(problem,interpretation,element);
15481 neg find mustInstanceOfIncome_class(problem,interpretation,element);
15482 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
15483 neg find mustInstanceOfInterest_Expense_class(problem,interpretation,element);
15484 neg find mustInstanceOfExtraordinary_Expense_CE_class(problem,interpretation,element);
15485 neg find mustInstanceOfPrivate_Insurance_and_Plan_class(problem,interpretation,element);
15486 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
15487 neg find mustInstanceOfHealth_and_Pension_Insurance_class(problem,interpretation,element);
15488 neg find mustInstanceOfDonation_class(problem,interpretation,element);
15489 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
15490 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
15491 neg find mustInstanceOfConstants_class(problem,interpretation,element);
15492 neg find mustInstanceOfPermanent_Expense_class(problem,interpretation,element);
15493 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
15494 neg find mustInstanceOfLoss_Carryforward_class(problem,interpretation,element);
15495 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
15496 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
15497 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
15498 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
15499}
15500pattern refineTypeTo_Travel_Expense_FD_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
15501 find interpretation(problem,interpretation);
15502 PartialInterpretation.newElements(interpretation,element);
15503 find mayInstanceOfTravel_Expense_FD_class(problem,interpretation,element);
15504 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
15505 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
15506 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
15507 neg find mustInstanceOfConstants_class(problem,interpretation,element);
15508 neg find mustInstanceOfAddress_class(problem,interpretation,element);
15509 neg find mustInstanceOfIncome_Type_class(problem,interpretation,element);
15510 neg find mustInstanceOfDS_class(problem,interpretation,element);
15511 neg find mustInstanceOfSpecial_Expense_DS_class(problem,interpretation,element);
15512 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
15513 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
15514 neg find mustInstanceOfMiscellaneous_Expense_FO_class(problem,interpretation,element);
15515 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
15516 neg find mustInstanceOfSpousal_Expense_AC_class(problem,interpretation,element);
15517 neg find mustInstanceOfIncome_class(problem,interpretation,element);
15518 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
15519 neg find mustInstanceOfExtraordinary_Expense_CE_class(problem,interpretation,element);
15520 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
15521 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
15522 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
15523 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
15524 neg find mustInstanceOfTravel_Expense_FD_class(problem,interpretation,element);
15525 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
15526}
15527pattern refineTypeTo_Trade_and_Business_Income_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
15528 find interpretation(problem,interpretation);
15529 PartialInterpretation.newElements(interpretation,element);
15530 find mayInstanceOfTrade_and_Business_Income_class(problem,interpretation,element);
15531 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
15532 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
15533 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
15534 neg find mustInstanceOfCapital_and_Investments_Income_class(problem,interpretation,element);
15535 neg find mustInstanceOfRentals_and_Leases_Income_class(problem,interpretation,element);
15536 neg find mustInstanceOfExpense_class(problem,interpretation,element);
15537 neg find mustInstanceOfConstants_class(problem,interpretation,element);
15538 neg find mustInstanceOfAddress_class(problem,interpretation,element);
15539 neg find mustInstanceOfDS_class(problem,interpretation,element);
15540 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
15541 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
15542 neg find mustInstanceOfPensions_and_Annuities_Income_class(problem,interpretation,element);
15543 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
15544 neg find mustInstanceOfIncome_class(problem,interpretation,element);
15545 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
15546 neg find mustInstanceOfEmployment_Income_class(problem,interpretation,element);
15547 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
15548 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
15549 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
15550 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
15551 neg find mustInstanceOfAgriculture_and_Forestry_Income_class(problem,interpretation,element);
15552 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
15553 neg find mustInstanceOfTrade_and_Business_Income_class(problem,interpretation,element);
15554}
15555pattern refineTypeTo_FromLaw_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
15556 find interpretation(problem,interpretation);
15557 PartialInterpretation.newElements(interpretation,element);
15558 find mayInstanceOfFromLaw_class(problem,interpretation,element);
15559 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
15560 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
15561 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
15562 neg find mustInstanceOfConstants_class(problem,interpretation,element);
15563 neg find mustInstanceOfExpense_class(problem,interpretation,element);
15564 neg find mustInstanceOfAddress_class(problem,interpretation,element);
15565 neg find mustInstanceOfIncome_Type_class(problem,interpretation,element);
15566 neg find mustInstanceOfDS_class(problem,interpretation,element);
15567 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
15568 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
15569 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
15570 neg find mustInstanceOfIncome_class(problem,interpretation,element);
15571 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
15572 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
15573 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
15574 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
15575 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
15576 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
15577}
15578pattern refineTypeTo_FD_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
15579 find interpretation(problem,interpretation);
15580 PartialInterpretation.newElements(interpretation,element);
15581 find mayInstanceOfFD_class(problem,interpretation,element);
15582 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
15583 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
15584 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
15585 neg find mustInstanceOfExpense_class(problem,interpretation,element);
15586 neg find mustInstanceOfConstants_class(problem,interpretation,element);
15587 neg find mustInstanceOfAddress_class(problem,interpretation,element);
15588 neg find mustInstanceOfFD_class(problem,interpretation,element);
15589 neg find mustInstanceOfDS_class(problem,interpretation,element);
15590 neg find mustInstanceOfIncome_Type_class(problem,interpretation,element);
15591 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
15592 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
15593 neg find mustInstanceOfFO_class(problem,interpretation,element);
15594 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
15595 neg find mustInstanceOfIncome_class(problem,interpretation,element);
15596 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
15597 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
15598 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
15599 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
15600 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
15601}
15602pattern refineTypeTo_Non_Resident_Tax_Payer_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
15603 find interpretation(problem,interpretation);
15604 PartialInterpretation.newElements(interpretation,element);
15605 find mayInstanceOfNon_Resident_Tax_Payer_class(problem,interpretation,element);
15606 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
15607 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
15608 neg find mustInstanceOfExpense_class(problem,interpretation,element);
15609 neg find mustInstanceOfConstants_class(problem,interpretation,element);
15610 neg find mustInstanceOfAddress_class(problem,interpretation,element);
15611 neg find mustInstanceOfDS_class(problem,interpretation,element);
15612 neg find mustInstanceOfResident_Tax_Payer_class(problem,interpretation,element);
15613 neg find mustInstanceOfIncome_Type_class(problem,interpretation,element);
15614 neg find mustInstanceOfNon_Resident_Tax_Payer_class(problem,interpretation,element);
15615 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
15616 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
15617 neg find mustInstanceOfDependent_class(problem,interpretation,element);
15618 neg find mustInstanceOfIncome_class(problem,interpretation,element);
15619 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
15620 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
15621 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
15622 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
15623 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
15624 neg find mustInstanceOfHousehold_class(problem,interpretation,element);
15625 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
15626}
15627pattern refineTypeTo_Marriage_Record_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
15628 find interpretation(problem,interpretation);
15629 PartialInterpretation.newElements(interpretation,element);
15630 find mayInstanceOfMarriage_Record_class(problem,interpretation,element);
15631 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
15632 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
15633 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
15634 neg find mustInstanceOfExpense_class(problem,interpretation,element);
15635 neg find mustInstanceOfConstants_class(problem,interpretation,element);
15636 neg find mustInstanceOfAddress_class(problem,interpretation,element);
15637 neg find mustInstanceOfIncome_Type_class(problem,interpretation,element);
15638 neg find mustInstanceOfDS_class(problem,interpretation,element);
15639 neg find mustInstanceOfMarriage_Record_class(problem,interpretation,element);
15640 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
15641 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
15642 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
15643 neg find mustInstanceOfPartnership_Record_class(problem,interpretation,element);
15644 neg find mustInstanceOfIncome_class(problem,interpretation,element);
15645 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
15646 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
15647 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
15648 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
15649 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
15650}
15651pattern refineTypeTo_Dependent_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
15652 find interpretation(problem,interpretation);
15653 PartialInterpretation.newElements(interpretation,element);
15654 find mayInstanceOfDependent_class(problem,interpretation,element);
15655 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
15656 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
15657 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
15658 neg find mustInstanceOfExpense_class(problem,interpretation,element);
15659 neg find mustInstanceOfConstants_class(problem,interpretation,element);
15660 neg find mustInstanceOfAddress_class(problem,interpretation,element);
15661 neg find mustInstanceOfDS_class(problem,interpretation,element);
15662 neg find mustInstanceOfIncome_Type_class(problem,interpretation,element);
15663 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
15664 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
15665 neg find mustInstanceOfDependent_class(problem,interpretation,element);
15666 neg find mustInstanceOfIncome_class(problem,interpretation,element);
15667 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
15668 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
15669 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
15670 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
15671 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
15672 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
15673}
15674pattern refineTypeTo_Partnership_Record_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
15675 find interpretation(problem,interpretation);
15676 PartialInterpretation.newElements(interpretation,element);
15677 find mayInstanceOfPartnership_Record_class(problem,interpretation,element);
15678 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
15679 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
15680 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
15681 neg find mustInstanceOfExpense_class(problem,interpretation,element);
15682 neg find mustInstanceOfConstants_class(problem,interpretation,element);
15683 neg find mustInstanceOfAddress_class(problem,interpretation,element);
15684 neg find mustInstanceOfDS_class(problem,interpretation,element);
15685 neg find mustInstanceOfIncome_Type_class(problem,interpretation,element);
15686 neg find mustInstanceOfMarriage_Record_class(problem,interpretation,element);
15687 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
15688 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
15689 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
15690 neg find mustInstanceOfPartnership_Record_class(problem,interpretation,element);
15691 neg find mustInstanceOfIncome_class(problem,interpretation,element);
15692 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
15693 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
15694 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
15695 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
15696 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
15697}
15698pattern refineTypeTo_External_Allowance_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
15699 find interpretation(problem,interpretation);
15700 PartialInterpretation.newElements(interpretation,element);
15701 find mayInstanceOfExternal_Allowance_class(problem,interpretation,element);
15702 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
15703 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
15704 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
15705 neg find mustInstanceOfConstants_class(problem,interpretation,element);
15706 neg find mustInstanceOfExpense_class(problem,interpretation,element);
15707 neg find mustInstanceOfAddress_class(problem,interpretation,element);
15708 neg find mustInstanceOfIncome_Type_class(problem,interpretation,element);
15709 neg find mustInstanceOfDS_class(problem,interpretation,element);
15710 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
15711 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
15712 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
15713 neg find mustInstanceOfIncome_class(problem,interpretation,element);
15714 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
15715 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
15716 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
15717 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
15718 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
15719 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
15720}
15721pattern refineTypeTo_Income_Tax_Credit_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
15722 find interpretation(problem,interpretation);
15723 PartialInterpretation.newElements(interpretation,element);
15724 find mayInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
15725 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
15726 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
15727 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
15728 neg find mustInstanceOfExpense_class(problem,interpretation,element);
15729 neg find mustInstanceOfConstants_class(problem,interpretation,element);
15730 neg find mustInstanceOfAddress_class(problem,interpretation,element);
15731 neg find mustInstanceOfIncome_Type_class(problem,interpretation,element);
15732 neg find mustInstanceOfDS_class(problem,interpretation,element);
15733 neg find mustInstanceOfCIS_class(problem,interpretation,element);
15734 neg find mustInstanceOfCIP_class(problem,interpretation,element);
15735 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
15736 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
15737 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
15738 neg find mustInstanceOfIncome_class(problem,interpretation,element);
15739 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
15740 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
15741 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
15742 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
15743 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
15744 neg find mustInstanceOfCIM_class(problem,interpretation,element);
15745 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
15746}
15747pattern refineTypeTo_Income_Detail_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
15748 find interpretation(problem,interpretation);
15749 PartialInterpretation.newElements(interpretation,element);
15750 find mayInstanceOfIncome_Detail_class(problem,interpretation,element);
15751 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
15752 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
15753 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
15754 neg find mustInstanceOfConstants_class(problem,interpretation,element);
15755 neg find mustInstanceOfExpense_class(problem,interpretation,element);
15756 neg find mustInstanceOfAddress_class(problem,interpretation,element);
15757 neg find mustInstanceOfDS_class(problem,interpretation,element);
15758 neg find mustInstanceOfIncome_Type_class(problem,interpretation,element);
15759 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
15760 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
15761 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
15762 neg find mustInstanceOfIncome_class(problem,interpretation,element);
15763 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
15764 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
15765 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
15766 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
15767 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
15768 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
15769}
15770pattern refineTypeTo_DS_for_Private_Insurance_and_Plan_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
15771 find interpretation(problem,interpretation);
15772 PartialInterpretation.newElements(interpretation,element);
15773 find mayInstanceOfDS_for_Private_Insurance_and_Plan_class(problem,interpretation,element);
15774 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
15775 neg find mustInstanceOfDS_for_Permanent_Expense_class(problem,interpretation,element);
15776 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
15777 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
15778 neg find mustInstanceOfExpense_class(problem,interpretation,element);
15779 neg find mustInstanceOfConstants_class(problem,interpretation,element);
15780 neg find mustInstanceOfAddress_class(problem,interpretation,element);
15781 neg find mustInstanceOfIncome_Type_class(problem,interpretation,element);
15782 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
15783 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
15784 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
15785 neg find mustInstanceOfDS_for_Loss_Carryforward_class(problem,interpretation,element);
15786 neg find mustInstanceOfDS_for_Donation_class(problem,interpretation,element);
15787 neg find mustInstanceOfIncome_class(problem,interpretation,element);
15788 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
15789 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
15790 neg find mustInstanceOfDS_for_Interest_Expense_class(problem,interpretation,element);
15791 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
15792 neg find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,element);
15793 neg find mustInstanceOfDS_for_Health_and_Pension_Insurance_class(problem,interpretation,element);
15794 neg find mustInstanceOfDS_for_Private_Insurance_and_Plan_class(problem,interpretation,element);
15795 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
15796 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
15797}
15798pattern refineTypeTo_CIM_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
15799 find interpretation(problem,interpretation);
15800 PartialInterpretation.newElements(interpretation,element);
15801 find mayInstanceOfCIM_class(problem,interpretation,element);
15802 neg find mustInstanceOfFromAgent_class(problem,interpretation,element);
15803 neg find mustInstanceOfFromLaw_class(problem,interpretation,element);
15804 neg find mustInstanceOfTax_Case_class(problem,interpretation,element);
15805 neg find mustInstanceOfConstants_class(problem,interpretation,element);
15806 neg find mustInstanceOfExpense_class(problem,interpretation,element);
15807 neg find mustInstanceOfAddress_class(problem,interpretation,element);
15808 neg find mustInstanceOfDS_class(problem,interpretation,element);
15809 neg find mustInstanceOfIncome_Type_class(problem,interpretation,element);
15810 neg find mustInstanceOfCIS_class(problem,interpretation,element);
15811 neg find mustInstanceOfCIP_class(problem,interpretation,element);
15812 neg find mustInstanceOfIncome_Tax_class(problem,interpretation,element);
15813 neg find mustInstanceOfPhysical_Person_class(problem,interpretation,element);
15814 neg find mustInstanceOfTax_Property_class(problem,interpretation,element);
15815 neg find mustInstanceOfIncome_class(problem,interpretation,element);
15816 neg find mustInstanceOfProfessional_Expenses_Deduction_class(problem,interpretation,element);
15817 neg find mustInstanceOfExternal_Allowance_class(problem,interpretation,element);
15818 neg find mustInstanceOfIncome_Detail_class(problem,interpretation,element);
15819 neg find mustInstanceOfTax_Card_class(problem,interpretation,element);
15820 neg find mustInstanceOfCIM_class(problem,interpretation,element);
15821 neg find mustInstanceOfLegal_Union_Record_class(problem,interpretation,element);
15822}
15823
15824//////////
15825// 4.3 Relation refinement
15826//////////
15827pattern refineRelation_taxPayer_reference_Income_Tax(
15828 problem:LogicProblem, interpretation:PartialInterpretation,
15829 relationIterpretation:PartialRelationInterpretation,
15830 from: DefinedElement, to: DefinedElement)
15831{
15832 find interpretation(problem,interpretation);
15833 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
15834 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"taxPayer reference Income_Tax");
15835 find mustExist(problem, interpretation, from);
15836 find mustExist(problem, interpretation, to);
15837 find mustInstanceOfIncome_Tax_class(problem,interpretation,from);
15838 find mustInstanceOfTax_Payer_class(problem,interpretation,to);
15839 find mayInRelationtaxPayer_reference_Income_Tax(problem,interpretation,from,to);
15840 neg find mustInRelationtaxPayer_reference_Income_Tax(problem,interpretation,from,to);
15841}
15842pattern refineRelation_addresses_reference_Physical_Person_and_taxPayer_reference_Address(
15843 problem:LogicProblem, interpretation:PartialInterpretation,
15844 relationIterpretation:PartialRelationInterpretation, oppositeInterpretation:PartialRelationInterpretation,
15845 from: DefinedElement, to: DefinedElement)
15846{
15847 find interpretation(problem,interpretation);
15848 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
15849 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"addresses reference Physical_Person");
15850 PartialInterpretation.partialrelationinterpretation(interpretation,oppositeInterpretation);
15851 PartialRelationInterpretation.interpretationOf.name(oppositeInterpretation,"taxPayer reference Address");
15852 find mustExist(problem, interpretation, from);
15853 find mustExist(problem, interpretation, to);
15854 find mustInstanceOfPhysical_Person_class(problem,interpretation,from);
15855 find mustInstanceOfAddress_class(problem,interpretation,to);
15856 find mayInRelationaddresses_reference_Physical_Person(problem,interpretation,from,to);
15857 neg find mustInRelationaddresses_reference_Physical_Person(problem,interpretation,from,to);
15858}
15859pattern refineRelation_dependent_reference_Expense_and_expense_reference_Dependent(
15860 problem:LogicProblem, interpretation:PartialInterpretation,
15861 relationIterpretation:PartialRelationInterpretation, oppositeInterpretation:PartialRelationInterpretation,
15862 from: DefinedElement, to: DefinedElement)
15863{
15864 find interpretation(problem,interpretation);
15865 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
15866 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"dependent reference Expense");
15867 PartialInterpretation.partialrelationinterpretation(interpretation,oppositeInterpretation);
15868 PartialRelationInterpretation.interpretationOf.name(oppositeInterpretation,"expense reference Dependent");
15869 find mustExist(problem, interpretation, from);
15870 find mustExist(problem, interpretation, to);
15871 find mustInstanceOfExpense_class(problem,interpretation,from);
15872 find mustInstanceOfDependent_class(problem,interpretation,to);
15873 find mayInRelationdependent_reference_Expense(problem,interpretation,from,to);
15874 neg find mustInRelationdependent_reference_Expense(problem,interpretation,from,to);
15875}
15876pattern refineRelation_beneficiary_reference_Expense_and_expenses_reference_Physical_Person(
15877 problem:LogicProblem, interpretation:PartialInterpretation,
15878 relationIterpretation:PartialRelationInterpretation, oppositeInterpretation:PartialRelationInterpretation,
15879 from: DefinedElement, to: DefinedElement)
15880{
15881 find interpretation(problem,interpretation);
15882 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
15883 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"beneficiary reference Expense");
15884 PartialInterpretation.partialrelationinterpretation(interpretation,oppositeInterpretation);
15885 PartialRelationInterpretation.interpretationOf.name(oppositeInterpretation,"expenses reference Physical_Person");
15886 find mustExist(problem, interpretation, from);
15887 find mustExist(problem, interpretation, to);
15888 find mustInstanceOfExpense_class(problem,interpretation,from);
15889 find mustInstanceOfPhysical_Person_class(problem,interpretation,to);
15890 find mayInRelationbeneficiary_reference_Expense(problem,interpretation,from,to);
15891 neg find mustInRelationbeneficiary_reference_Expense(problem,interpretation,from,to);
15892}
15893pattern refineRelation_reciver_reference_External_Allowance(
15894 problem:LogicProblem, interpretation:PartialInterpretation,
15895 relationIterpretation:PartialRelationInterpretation,
15896 from: DefinedElement, to: DefinedElement)
15897{
15898 find interpretation(problem,interpretation);
15899 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
15900 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"reciver reference External_Allowance");
15901 find mustExist(problem, interpretation, from);
15902 find mustExist(problem, interpretation, to);
15903 find mustInstanceOfExternal_Allowance_class(problem,interpretation,from);
15904 find mustInstanceOfPhysical_Person_class(problem,interpretation,to);
15905 find mayInRelationreciver_reference_External_Allowance(problem,interpretation,from,to);
15906 neg find mustInRelationreciver_reference_External_Allowance(problem,interpretation,from,to);
15907}
15908pattern refineRelation_expense_reference_FromAgent_and_from_agent_reference_Expense(
15909 problem:LogicProblem, interpretation:PartialInterpretation,
15910 relationIterpretation:PartialRelationInterpretation, oppositeInterpretation:PartialRelationInterpretation,
15911 from: DefinedElement, to: DefinedElement)
15912{
15913 find interpretation(problem,interpretation);
15914 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
15915 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"expense reference FromAgent");
15916 PartialInterpretation.partialrelationinterpretation(interpretation,oppositeInterpretation);
15917 PartialRelationInterpretation.interpretationOf.name(oppositeInterpretation,"from_agent reference Expense");
15918 find mustExist(problem, interpretation, from);
15919 find mustExist(problem, interpretation, to);
15920 find mustInstanceOfFromAgent_class(problem,interpretation,from);
15921 find mustInstanceOfExpense_class(problem,interpretation,to);
15922 find mayInRelationexpense_reference_FromAgent(problem,interpretation,from,to);
15923 neg find mustInRelationexpense_reference_FromAgent(problem,interpretation,from,to);
15924}
15925pattern refineRelation_dependent_reference_FromAgent_and_from_agent_reference_Dependent(
15926 problem:LogicProblem, interpretation:PartialInterpretation,
15927 relationIterpretation:PartialRelationInterpretation, oppositeInterpretation:PartialRelationInterpretation,
15928 from: DefinedElement, to: DefinedElement)
15929{
15930 find interpretation(problem,interpretation);
15931 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
15932 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"dependent reference FromAgent");
15933 PartialInterpretation.partialrelationinterpretation(interpretation,oppositeInterpretation);
15934 PartialRelationInterpretation.interpretationOf.name(oppositeInterpretation,"from_agent reference Dependent");
15935 find mustExist(problem, interpretation, from);
15936 find mustExist(problem, interpretation, to);
15937 find mustInstanceOfFromAgent_class(problem,interpretation,from);
15938 find mustInstanceOfDependent_class(problem,interpretation,to);
15939 find mayInRelationdependent_reference_FromAgent(problem,interpretation,from,to);
15940 neg find mustInRelationdependent_reference_FromAgent(problem,interpretation,from,to);
15941}
15942pattern refineRelation_tax_payers_address_reference_Tax_Card(
15943 problem:LogicProblem, interpretation:PartialInterpretation,
15944 relationIterpretation:PartialRelationInterpretation,
15945 from: DefinedElement, to: DefinedElement)
15946{
15947 find interpretation(problem,interpretation);
15948 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
15949 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"tax_payers_address reference Tax_Card");
15950 find mustExist(problem, interpretation, from);
15951 find mustExist(problem, interpretation, to);
15952 find mustInstanceOfTax_Card_class(problem,interpretation,from);
15953 find mustInstanceOfAddress_class(problem,interpretation,to);
15954 find mayInRelationtax_payers_address_reference_Tax_Card(problem,interpretation,from,to);
15955 neg find mustInRelationtax_payers_address_reference_Tax_Card(problem,interpretation,from,to);
15956}
15957pattern refineRelation_income_Tax_Credit_reference_Tax_Card_and_taxation_Frame_reference_Income_Tax_Credit(
15958 problem:LogicProblem, interpretation:PartialInterpretation,
15959 relationIterpretation:PartialRelationInterpretation, oppositeInterpretation:PartialRelationInterpretation,
15960 from: DefinedElement, to: DefinedElement)
15961{
15962 find interpretation(problem,interpretation);
15963 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
15964 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"income_Tax_Credit reference Tax_Card");
15965 PartialInterpretation.partialrelationinterpretation(interpretation,oppositeInterpretation);
15966 PartialRelationInterpretation.interpretationOf.name(oppositeInterpretation,"taxation_Frame reference Income_Tax_Credit");
15967 find mustExist(problem, interpretation, from);
15968 find mustExist(problem, interpretation, to);
15969 find mustInstanceOfTax_Card_class(problem,interpretation,from);
15970 find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,to);
15971 find mayInRelationincome_Tax_Credit_reference_Tax_Card(problem,interpretation,from,to);
15972 neg find mustInRelationincome_Tax_Credit_reference_Tax_Card(problem,interpretation,from,to);
15973}
15974pattern refineRelation_current_tax_card_reference_Tax_Card_and_previous_reference_Tax_Card(
15975 problem:LogicProblem, interpretation:PartialInterpretation,
15976 relationIterpretation:PartialRelationInterpretation, oppositeInterpretation:PartialRelationInterpretation,
15977 from: DefinedElement, to: DefinedElement)
15978{
15979 find interpretation(problem,interpretation);
15980 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
15981 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"current_tax_card reference Tax_Card");
15982 PartialInterpretation.partialrelationinterpretation(interpretation,oppositeInterpretation);
15983 PartialRelationInterpretation.interpretationOf.name(oppositeInterpretation,"previous reference Tax_Card");
15984 find mustExist(problem, interpretation, from);
15985 find mustExist(problem, interpretation, to);
15986 find mustInstanceOfTax_Card_class(problem,interpretation,from);
15987 find mustInstanceOfTax_Card_class(problem,interpretation,to);
15988 find mayInRelationcurrent_tax_card_reference_Tax_Card(problem,interpretation,from,to);
15989 neg find mustInRelationcurrent_tax_card_reference_Tax_Card(problem,interpretation,from,to);
15990}
15991pattern refineRelation_taxPayer_reference_Income_Tax_Credit(
15992 problem:LogicProblem, interpretation:PartialInterpretation,
15993 relationIterpretation:PartialRelationInterpretation,
15994 from: DefinedElement, to: DefinedElement)
15995{
15996 find interpretation(problem,interpretation);
15997 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
15998 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"taxPayer reference Income_Tax_Credit");
15999 find mustExist(problem, interpretation, from);
16000 find mustExist(problem, interpretation, to);
16001 find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,from);
16002 find mustInstanceOfTax_Payer_class(problem,interpretation,to);
16003 find mayInRelationtaxPayer_reference_Income_Tax_Credit(problem,interpretation,from,to);
16004 neg find mustInRelationtaxPayer_reference_Income_Tax_Credit(problem,interpretation,from,to);
16005}
16006pattern refineRelation_MAXIMUM_CE_RATE_FOR_CHILD_NOT_BEING_PART_OF_HOUSEHOLD_attribute_Constants(
16007 problem:LogicProblem, interpretation:PartialInterpretation,
16008 relationIterpretation:PartialRelationInterpretation,
16009 from: DefinedElement, to: DefinedElement)
16010{
16011 find interpretation(problem,interpretation);
16012 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
16013 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"MAXIMUM_CE_RATE_FOR_CHILD_NOT_BEING_PART_OF_HOUSEHOLD attribute Constants");
16014 find mustExist(problem, interpretation, from);
16015 find mustExist(problem, interpretation, to);
16016 find mustInstanceOfConstants_class(problem,interpretation,from);
16017 RealElement(to);
16018 find mayInRelationMAXIMUM_CE_RATE_FOR_CHILD_NOT_BEING_PART_OF_HOUSEHOLD_attribute_Constants(problem,interpretation,from,to);
16019 neg find mustInRelationMAXIMUM_CE_RATE_FOR_CHILD_NOT_BEING_PART_OF_HOUSEHOLD_attribute_Constants(problem,interpretation,from,to);
16020}
16021pattern refineRelation_MAXIMUM_CE_RATE_FOR_HOUSE_CARE_AND_CHILD_PART_OF_THE_HOUSEHOLD_CARE_attribute_Constants(
16022 problem:LogicProblem, interpretation:PartialInterpretation,
16023 relationIterpretation:PartialRelationInterpretation,
16024 from: DefinedElement, to: DefinedElement)
16025{
16026 find interpretation(problem,interpretation);
16027 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
16028 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"MAXIMUM_CE_RATE_FOR_HOUSE_CARE_AND_CHILD_PART_OF_THE_HOUSEHOLD_CARE attribute Constants");
16029 find mustExist(problem, interpretation, from);
16030 find mustExist(problem, interpretation, to);
16031 find mustInstanceOfConstants_class(problem,interpretation,from);
16032 RealElement(to);
16033 find mayInRelationMAXIMUM_CE_RATE_FOR_HOUSE_CARE_AND_CHILD_PART_OF_THE_HOUSEHOLD_CARE_attribute_Constants(problem,interpretation,from,to);
16034 neg find mustInRelationMAXIMUM_CE_RATE_FOR_HOUSE_CARE_AND_CHILD_PART_OF_THE_HOUSEHOLD_CARE_attribute_Constants(problem,interpretation,from,to);
16035}
16036pattern refineRelation_MINIMUM_SALARY_attribute_Constants(
16037 problem:LogicProblem, interpretation:PartialInterpretation,
16038 relationIterpretation:PartialRelationInterpretation,
16039 from: DefinedElement, to: DefinedElement)
16040{
16041 find interpretation(problem,interpretation);
16042 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
16043 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"MINIMUM_SALARY attribute Constants");
16044 find mustExist(problem, interpretation, from);
16045 find mustExist(problem, interpretation, to);
16046 find mustInstanceOfConstants_class(problem,interpretation,from);
16047 RealElement(to);
16048 find mayInRelationMINIMUM_SALARY_attribute_Constants(problem,interpretation,from,to);
16049 neg find mustInRelationMINIMUM_SALARY_attribute_Constants(problem,interpretation,from,to);
16050}
16051pattern refineRelation_FLAT_RATE_FOR_EXTRA_PROFESSIONAL_DEDUCTION_attribute_Constants(
16052 problem:LogicProblem, interpretation:PartialInterpretation,
16053 relationIterpretation:PartialRelationInterpretation,
16054 from: DefinedElement, to: DefinedElement)
16055{
16056 find interpretation(problem,interpretation);
16057 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
16058 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"FLAT_RATE_FOR_EXTRA_PROFESSIONAL_DEDUCTION attribute Constants");
16059 find mustExist(problem, interpretation, from);
16060 find mustExist(problem, interpretation, to);
16061 find mustInstanceOfConstants_class(problem,interpretation,from);
16062 RealElement(to);
16063 find mayInRelationFLAT_RATE_FOR_EXTRA_PROFESSIONAL_DEDUCTION_attribute_Constants(problem,interpretation,from,to);
16064 neg find mustInRelationFLAT_RATE_FOR_EXTRA_PROFESSIONAL_DEDUCTION_attribute_Constants(problem,interpretation,from,to);
16065}
16066pattern refineRelation_MAXIMUM_DEDUCTIBLE_PERCENTAGE_FOR_DONATIONS_attribute_Constants(
16067 problem:LogicProblem, interpretation:PartialInterpretation,
16068 relationIterpretation:PartialRelationInterpretation,
16069 from: DefinedElement, to: DefinedElement)
16070{
16071 find interpretation(problem,interpretation);
16072 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
16073 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"MAXIMUM_DEDUCTIBLE_PERCENTAGE_FOR_DONATIONS attribute Constants");
16074 find mustExist(problem, interpretation, from);
16075 find mustExist(problem, interpretation, to);
16076 find mustInstanceOfConstants_class(problem,interpretation,from);
16077 RealElement(to);
16078 find mayInRelationMAXIMUM_DEDUCTIBLE_PERCENTAGE_FOR_DONATIONS_attribute_Constants(problem,interpretation,from,to);
16079 neg find mustInRelationMAXIMUM_DEDUCTIBLE_PERCENTAGE_FOR_DONATIONS_attribute_Constants(problem,interpretation,from,to);
16080}
16081pattern refineRelation_MINIMUM_DEDUCTIBLE_AMOUNT_FOR_DONATIONS_attribute_Constants(
16082 problem:LogicProblem, interpretation:PartialInterpretation,
16083 relationIterpretation:PartialRelationInterpretation,
16084 from: DefinedElement, to: DefinedElement)
16085{
16086 find interpretation(problem,interpretation);
16087 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
16088 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"MINIMUM_DEDUCTIBLE_AMOUNT_FOR_DONATIONS attribute Constants");
16089 find mustExist(problem, interpretation, from);
16090 find mustExist(problem, interpretation, to);
16091 find mustInstanceOfConstants_class(problem,interpretation,from);
16092 RealElement(to);
16093 find mayInRelationMINIMUM_DEDUCTIBLE_AMOUNT_FOR_DONATIONS_attribute_Constants(problem,interpretation,from,to);
16094 neg find mustInRelationMINIMUM_DEDUCTIBLE_AMOUNT_FOR_DONATIONS_attribute_Constants(problem,interpretation,from,to);
16095}
16096pattern refineRelation_MAXIMUM_DEDUCTIBLE_AMOUNT_FOR_ADDITIONAL_PENSION_AND_INSURANC_attribute_Constants(
16097 problem:LogicProblem, interpretation:PartialInterpretation,
16098 relationIterpretation:PartialRelationInterpretation,
16099 from: DefinedElement, to: DefinedElement)
16100{
16101 find interpretation(problem,interpretation);
16102 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
16103 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"MAXIMUM_DEDUCTIBLE_AMOUNT_FOR_ADDITIONAL_PENSION_AND_INSURANC attribute Constants");
16104 find mustExist(problem, interpretation, from);
16105 find mustExist(problem, interpretation, to);
16106 find mustInstanceOfConstants_class(problem,interpretation,from);
16107 RealElement(to);
16108 find mayInRelationMAXIMUM_DEDUCTIBLE_AMOUNT_FOR_ADDITIONAL_PENSION_AND_INSURANC_attribute_Constants(problem,interpretation,from,to);
16109 neg find mustInRelationMAXIMUM_DEDUCTIBLE_AMOUNT_FOR_ADDITIONAL_PENSION_AND_INSURANC_attribute_Constants(problem,interpretation,from,to);
16110}
16111pattern refineRelation_MAXIMUM_DEDUCTIBLE_AMOUNT_FOR_ALIMONY_EXPENSE_attribute_Constants(
16112 problem:LogicProblem, interpretation:PartialInterpretation,
16113 relationIterpretation:PartialRelationInterpretation,
16114 from: DefinedElement, to: DefinedElement)
16115{
16116 find interpretation(problem,interpretation);
16117 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
16118 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"MAXIMUM_DEDUCTIBLE_AMOUNT_FOR_ALIMONY_EXPENSE attribute Constants");
16119 find mustExist(problem, interpretation, from);
16120 find mustExist(problem, interpretation, to);
16121 find mustInstanceOfConstants_class(problem,interpretation,from);
16122 RealElement(to);
16123 find mayInRelationMAXIMUM_DEDUCTIBLE_AMOUNT_FOR_ALIMONY_EXPENSE_attribute_Constants(problem,interpretation,from,to);
16124 neg find mustInRelationMAXIMUM_DEDUCTIBLE_AMOUNT_FOR_ALIMONY_EXPENSE_attribute_Constants(problem,interpretation,from,to);
16125}
16126pattern refineRelation_MAXIMAL_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION_attribute_Constants(
16127 problem:LogicProblem, interpretation:PartialInterpretation,
16128 relationIterpretation:PartialRelationInterpretation,
16129 from: DefinedElement, to: DefinedElement)
16130{
16131 find interpretation(problem,interpretation);
16132 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
16133 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"MAXIMAL_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION attribute Constants");
16134 find mustExist(problem, interpretation, from);
16135 find mustExist(problem, interpretation, to);
16136 find mustInstanceOfConstants_class(problem,interpretation,from);
16137 RealElement(to);
16138 find mayInRelationMAXIMAL_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION_attribute_Constants(problem,interpretation,from,to);
16139 neg find mustInRelationMAXIMAL_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION_attribute_Constants(problem,interpretation,from,to);
16140}
16141pattern refineRelation_MAXIMAL_FLAT_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION_attribute_Constants(
16142 problem:LogicProblem, interpretation:PartialInterpretation,
16143 relationIterpretation:PartialRelationInterpretation,
16144 from: DefinedElement, to: DefinedElement)
16145{
16146 find interpretation(problem,interpretation);
16147 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
16148 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"MAXIMAL_FLAT_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION attribute Constants");
16149 find mustExist(problem, interpretation, from);
16150 find mustExist(problem, interpretation, to);
16151 find mustInstanceOfConstants_class(problem,interpretation,from);
16152 RealElement(to);
16153 find mayInRelationMAXIMAL_FLAT_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION_attribute_Constants(problem,interpretation,from,to);
16154 neg find mustInRelationMAXIMAL_FLAT_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION_attribute_Constants(problem,interpretation,from,to);
16155}
16156pattern refineRelation_MINIMAL_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION_attribute_Constants(
16157 problem:LogicProblem, interpretation:PartialInterpretation,
16158 relationIterpretation:PartialRelationInterpretation,
16159 from: DefinedElement, to: DefinedElement)
16160{
16161 find interpretation(problem,interpretation);
16162 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
16163 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"MINIMAL_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION attribute Constants");
16164 find mustExist(problem, interpretation, from);
16165 find mustExist(problem, interpretation, to);
16166 find mustInstanceOfConstants_class(problem,interpretation,from);
16167 RealElement(to);
16168 find mayInRelationMINIMAL_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION_attribute_Constants(problem,interpretation,from,to);
16169 neg find mustInRelationMINIMAL_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION_attribute_Constants(problem,interpretation,from,to);
16170}
16171pattern refineRelation_FLAT_RATE_CIM_DAILY_attribute_Constants(
16172 problem:LogicProblem, interpretation:PartialInterpretation,
16173 relationIterpretation:PartialRelationInterpretation,
16174 from: DefinedElement, to: DefinedElement)
16175{
16176 find interpretation(problem,interpretation);
16177 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
16178 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"FLAT_RATE_CIM_DAILY attribute Constants");
16179 find mustExist(problem, interpretation, from);
16180 find mustExist(problem, interpretation, to);
16181 find mustInstanceOfConstants_class(problem,interpretation,from);
16182 RealElement(to);
16183 find mayInRelationFLAT_RATE_CIM_DAILY_attribute_Constants(problem,interpretation,from,to);
16184 neg find mustInRelationFLAT_RATE_CIM_DAILY_attribute_Constants(problem,interpretation,from,to);
16185}
16186pattern refineRelation_FLAT_RATE_CIM_MONTHLY_attribute_Constants(
16187 problem:LogicProblem, interpretation:PartialInterpretation,
16188 relationIterpretation:PartialRelationInterpretation,
16189 from: DefinedElement, to: DefinedElement)
16190{
16191 find interpretation(problem,interpretation);
16192 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
16193 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"FLAT_RATE_CIM_MONTHLY attribute Constants");
16194 find mustExist(problem, interpretation, from);
16195 find mustExist(problem, interpretation, to);
16196 find mustInstanceOfConstants_class(problem,interpretation,from);
16197 RealElement(to);
16198 find mayInRelationFLAT_RATE_CIM_MONTHLY_attribute_Constants(problem,interpretation,from,to);
16199 neg find mustInRelationFLAT_RATE_CIM_MONTHLY_attribute_Constants(problem,interpretation,from,to);
16200}
16201pattern refineRelation_FLAT_RATE_CIM_YEARLY_attribute_Constants(
16202 problem:LogicProblem, interpretation:PartialInterpretation,
16203 relationIterpretation:PartialRelationInterpretation,
16204 from: DefinedElement, to: DefinedElement)
16205{
16206 find interpretation(problem,interpretation);
16207 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
16208 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"FLAT_RATE_CIM_YEARLY attribute Constants");
16209 find mustExist(problem, interpretation, from);
16210 find mustExist(problem, interpretation, to);
16211 find mustInstanceOfConstants_class(problem,interpretation,from);
16212 RealElement(to);
16213 find mayInRelationFLAT_RATE_CIM_YEARLY_attribute_Constants(problem,interpretation,from,to);
16214 neg find mustInRelationFLAT_RATE_CIM_YEARLY_attribute_Constants(problem,interpretation,from,to);
16215}
16216pattern refineRelation_FLAT_RATE_CIP_DAILY_attribute_Constants(
16217 problem:LogicProblem, interpretation:PartialInterpretation,
16218 relationIterpretation:PartialRelationInterpretation,
16219 from: DefinedElement, to: DefinedElement)
16220{
16221 find interpretation(problem,interpretation);
16222 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
16223 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"FLAT_RATE_CIP_DAILY attribute Constants");
16224 find mustExist(problem, interpretation, from);
16225 find mustExist(problem, interpretation, to);
16226 find mustInstanceOfConstants_class(problem,interpretation,from);
16227 RealElement(to);
16228 find mayInRelationFLAT_RATE_CIP_DAILY_attribute_Constants(problem,interpretation,from,to);
16229 neg find mustInRelationFLAT_RATE_CIP_DAILY_attribute_Constants(problem,interpretation,from,to);
16230}
16231pattern refineRelation_FLAT_RATE_CIP_MONTHLY_attribute_Constants(
16232 problem:LogicProblem, interpretation:PartialInterpretation,
16233 relationIterpretation:PartialRelationInterpretation,
16234 from: DefinedElement, to: DefinedElement)
16235{
16236 find interpretation(problem,interpretation);
16237 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
16238 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"FLAT_RATE_CIP_MONTHLY attribute Constants");
16239 find mustExist(problem, interpretation, from);
16240 find mustExist(problem, interpretation, to);
16241 find mustInstanceOfConstants_class(problem,interpretation,from);
16242 RealElement(to);
16243 find mayInRelationFLAT_RATE_CIP_MONTHLY_attribute_Constants(problem,interpretation,from,to);
16244 neg find mustInRelationFLAT_RATE_CIP_MONTHLY_attribute_Constants(problem,interpretation,from,to);
16245}
16246pattern refineRelation_FLAT_RATE_CIP_YEARLY_attribute_Constants(
16247 problem:LogicProblem, interpretation:PartialInterpretation,
16248 relationIterpretation:PartialRelationInterpretation,
16249 from: DefinedElement, to: DefinedElement)
16250{
16251 find interpretation(problem,interpretation);
16252 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
16253 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"FLAT_RATE_CIP_YEARLY attribute Constants");
16254 find mustExist(problem, interpretation, from);
16255 find mustExist(problem, interpretation, to);
16256 find mustInstanceOfConstants_class(problem,interpretation,from);
16257 RealElement(to);
16258 find mayInRelationFLAT_RATE_CIP_YEARLY_attribute_Constants(problem,interpretation,from,to);
16259 neg find mustInRelationFLAT_RATE_CIP_YEARLY_attribute_Constants(problem,interpretation,from,to);
16260}
16261pattern refineRelation_FLAT_RATE_CIS_DAILY_attribute_Constants(
16262 problem:LogicProblem, interpretation:PartialInterpretation,
16263 relationIterpretation:PartialRelationInterpretation,
16264 from: DefinedElement, to: DefinedElement)
16265{
16266 find interpretation(problem,interpretation);
16267 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
16268 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"FLAT_RATE_CIS_DAILY attribute Constants");
16269 find mustExist(problem, interpretation, from);
16270 find mustExist(problem, interpretation, to);
16271 find mustInstanceOfConstants_class(problem,interpretation,from);
16272 RealElement(to);
16273 find mayInRelationFLAT_RATE_CIS_DAILY_attribute_Constants(problem,interpretation,from,to);
16274 neg find mustInRelationFLAT_RATE_CIS_DAILY_attribute_Constants(problem,interpretation,from,to);
16275}
16276pattern refineRelation_FLAT_RATE_CIS_MONTHLY_attribute_Constants(
16277 problem:LogicProblem, interpretation:PartialInterpretation,
16278 relationIterpretation:PartialRelationInterpretation,
16279 from: DefinedElement, to: DefinedElement)
16280{
16281 find interpretation(problem,interpretation);
16282 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
16283 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"FLAT_RATE_CIS_MONTHLY attribute Constants");
16284 find mustExist(problem, interpretation, from);
16285 find mustExist(problem, interpretation, to);
16286 find mustInstanceOfConstants_class(problem,interpretation,from);
16287 RealElement(to);
16288 find mayInRelationFLAT_RATE_CIS_MONTHLY_attribute_Constants(problem,interpretation,from,to);
16289 neg find mustInRelationFLAT_RATE_CIS_MONTHLY_attribute_Constants(problem,interpretation,from,to);
16290}
16291pattern refineRelation_FLAT_RATE_CIS_YEARLY_attribute_Constants(
16292 problem:LogicProblem, interpretation:PartialInterpretation,
16293 relationIterpretation:PartialRelationInterpretation,
16294 from: DefinedElement, to: DefinedElement)
16295{
16296 find interpretation(problem,interpretation);
16297 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
16298 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"FLAT_RATE_CIS_YEARLY attribute Constants");
16299 find mustExist(problem, interpretation, from);
16300 find mustExist(problem, interpretation, to);
16301 find mustInstanceOfConstants_class(problem,interpretation,from);
16302 RealElement(to);
16303 find mayInRelationFLAT_RATE_CIS_YEARLY_attribute_Constants(problem,interpretation,from,to);
16304 neg find mustInRelationFLAT_RATE_CIS_YEARLY_attribute_Constants(problem,interpretation,from,to);
16305}
16306pattern refineRelation_FLAT_RATE_FOR_TRAVEL_EXPENSE_PER_UNIT_attribute_Constants(
16307 problem:LogicProblem, interpretation:PartialInterpretation,
16308 relationIterpretation:PartialRelationInterpretation,
16309 from: DefinedElement, to: DefinedElement)
16310{
16311 find interpretation(problem,interpretation);
16312 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
16313 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"FLAT_RATE_FOR_TRAVEL_EXPENSE_PER_UNIT attribute Constants");
16314 find mustExist(problem, interpretation, from);
16315 find mustExist(problem, interpretation, to);
16316 find mustInstanceOfConstants_class(problem,interpretation,from);
16317 RealElement(to);
16318 find mayInRelationFLAT_RATE_FOR_TRAVEL_EXPENSE_PER_UNIT_attribute_Constants(problem,interpretation,from,to);
16319 neg find mustInRelationFLAT_RATE_FOR_TRAVEL_EXPENSE_PER_UNIT_attribute_Constants(problem,interpretation,from,to);
16320}
16321pattern refineRelation_MAXIMUM_DEDUCTIBLE_AMOUNT_FOR_DS_attribute_Constants(
16322 problem:LogicProblem, interpretation:PartialInterpretation,
16323 relationIterpretation:PartialRelationInterpretation,
16324 from: DefinedElement, to: DefinedElement)
16325{
16326 find interpretation(problem,interpretation);
16327 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
16328 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"MAXIMUM_DEDUCTIBLE_AMOUNT_FOR_DS attribute Constants");
16329 find mustExist(problem, interpretation, from);
16330 find mustExist(problem, interpretation, to);
16331 find mustInstanceOfConstants_class(problem,interpretation,from);
16332 RealElement(to);
16333 find mayInRelationMAXIMUM_DEDUCTIBLE_AMOUNT_FOR_DS_attribute_Constants(problem,interpretation,from,to);
16334 neg find mustInRelationMAXIMUM_DEDUCTIBLE_AMOUNT_FOR_DS_attribute_Constants(problem,interpretation,from,to);
16335}
16336pattern refineRelation_FLAT_RATE_FOR_MISCELLANEOUS_EXPENSE_attribute_Constants(
16337 problem:LogicProblem, interpretation:PartialInterpretation,
16338 relationIterpretation:PartialRelationInterpretation,
16339 from: DefinedElement, to: DefinedElement)
16340{
16341 find interpretation(problem,interpretation);
16342 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
16343 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"FLAT_RATE_FOR_MISCELLANEOUS_EXPENSE attribute Constants");
16344 find mustExist(problem, interpretation, from);
16345 find mustExist(problem, interpretation, to);
16346 find mustInstanceOfConstants_class(problem,interpretation,from);
16347 RealElement(to);
16348 find mayInRelationFLAT_RATE_FOR_MISCELLANEOUS_EXPENSE_attribute_Constants(problem,interpretation,from,to);
16349 neg find mustInRelationFLAT_RATE_FOR_MISCELLANEOUS_EXPENSE_attribute_Constants(problem,interpretation,from,to);
16350}
16351pattern refineRelation_DISABILITY_FLAT_RATE_FOR_MISCELLANEOUS_EXPENSE_attribute_Constants(
16352 problem:LogicProblem, interpretation:PartialInterpretation,
16353 relationIterpretation:PartialRelationInterpretation,
16354 from: DefinedElement, to: DefinedElement)
16355{
16356 find interpretation(problem,interpretation);
16357 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
16358 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"DISABILITY_FLAT_RATE_FOR_MISCELLANEOUS_EXPENSE attribute Constants");
16359 find mustExist(problem, interpretation, from);
16360 find mustExist(problem, interpretation, to);
16361 find mustInstanceOfConstants_class(problem,interpretation,from);
16362 RealElement(to);
16363 find mayInRelationDISABILITY_FLAT_RATE_FOR_MISCELLANEOUS_EXPENSE_attribute_Constants(problem,interpretation,from,to);
16364 neg find mustInRelationDISABILITY_FLAT_RATE_FOR_MISCELLANEOUS_EXPENSE_attribute_Constants(problem,interpretation,from,to);
16365}
16366pattern refineRelation_MAXIMUM_DEDUCTIBLE_AMOUNT_FOR_ADDITIONAL_PENSION_AND_INSURANCE_attribute_Constants(
16367 problem:LogicProblem, interpretation:PartialInterpretation,
16368 relationIterpretation:PartialRelationInterpretation,
16369 from: DefinedElement, to: DefinedElement)
16370{
16371 find interpretation(problem,interpretation);
16372 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
16373 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"MAXIMUM_DEDUCTIBLE_AMOUNT_FOR_ADDITIONAL_PENSION_AND_INSURANCE attribute Constants");
16374 find mustExist(problem, interpretation, from);
16375 find mustExist(problem, interpretation, to);
16376 find mustInstanceOfConstants_class(problem,interpretation,from);
16377 RealElement(to);
16378 find mayInRelationMAXIMUM_DEDUCTIBLE_AMOUNT_FOR_ADDITIONAL_PENSION_AND_INSURANCE_attribute_Constants(problem,interpretation,from,to);
16379 neg find mustInRelationMAXIMUM_DEDUCTIBLE_AMOUNT_FOR_ADDITIONAL_PENSION_AND_INSURANCE_attribute_Constants(problem,interpretation,from,to);
16380}
16381pattern refineRelation_tax_amount_attribute_Income_Tax(
16382 problem:LogicProblem, interpretation:PartialInterpretation,
16383 relationIterpretation:PartialRelationInterpretation,
16384 from: DefinedElement, to: DefinedElement)
16385{
16386 find interpretation(problem,interpretation);
16387 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
16388 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"tax_amount attribute Income_Tax");
16389 find mustExist(problem, interpretation, from);
16390 find mustExist(problem, interpretation, to);
16391 find mustInstanceOfIncome_Tax_class(problem,interpretation,from);
16392 RealElement(to);
16393 find mayInRelationtax_amount_attribute_Income_Tax(problem,interpretation,from,to);
16394 neg find mustInRelationtax_amount_attribute_Income_Tax(problem,interpretation,from,to);
16395}
16396pattern refineRelation_tax_year_attribute_Income_Tax(
16397 problem:LogicProblem, interpretation:PartialInterpretation,
16398 relationIterpretation:PartialRelationInterpretation,
16399 from: DefinedElement, to: DefinedElement)
16400{
16401 find interpretation(problem,interpretation);
16402 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
16403 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"tax_year attribute Income_Tax");
16404 find mustExist(problem, interpretation, from);
16405 find mustExist(problem, interpretation, to);
16406 find mustInstanceOfIncome_Tax_class(problem,interpretation,from);
16407 IntegerElement(to);
16408 find mayInRelationtax_year_attribute_Income_Tax(problem,interpretation,from,to);
16409 neg find mustInRelationtax_year_attribute_Income_Tax(problem,interpretation,from,to);
16410}
16411pattern refineRelation_id6_attribute_Income_Tax(
16412 problem:LogicProblem, interpretation:PartialInterpretation,
16413 relationIterpretation:PartialRelationInterpretation,
16414 from: DefinedElement, to: DefinedElement)
16415{
16416 find interpretation(problem,interpretation);
16417 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
16418 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"id6 attribute Income_Tax");
16419 find mustExist(problem, interpretation, from);
16420 find mustExist(problem, interpretation, to);
16421 find mustInstanceOfIncome_Tax_class(problem,interpretation,from);
16422 StringElement(to);
16423 find mayInRelationid6_attribute_Income_Tax(problem,interpretation,from,to);
16424 neg find mustInRelationid6_attribute_Income_Tax(problem,interpretation,from,to);
16425}
16426pattern refineRelation_taxesDue_attribute_Tax_Payer(
16427 problem:LogicProblem, interpretation:PartialInterpretation,
16428 relationIterpretation:PartialRelationInterpretation,
16429 from: DefinedElement, to: DefinedElement)
16430{
16431 find interpretation(problem,interpretation);
16432 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
16433 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"taxesDue attribute Tax_Payer");
16434 find mustExist(problem, interpretation, from);
16435 find mustExist(problem, interpretation, to);
16436 find mustInstanceOfTax_Payer_class(problem,interpretation,from);
16437 RealElement(to);
16438 find mayInRelationtaxesDue_attribute_Tax_Payer(problem,interpretation,from,to);
16439 neg find mustInRelationtaxesDue_attribute_Tax_Payer(problem,interpretation,from,to);
16440}
16441pattern refineRelation_is_assisting_spouse_attribute_Physical_Person(
16442 problem:LogicProblem, interpretation:PartialInterpretation,
16443 relationIterpretation:PartialRelationInterpretation,
16444 from: DefinedElement, to: DefinedElement)
16445{
16446 find interpretation(problem,interpretation);
16447 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
16448 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"is_assisting_spouse attribute Physical_Person");
16449 find mustExist(problem, interpretation, from);
16450 find mustExist(problem, interpretation, to);
16451 find mustInstanceOfPhysical_Person_class(problem,interpretation,from);
16452 BooleanElement(to);
16453 find mayInRelationis_assisting_spouse_attribute_Physical_Person(problem,interpretation,from,to);
16454 neg find mustInRelationis_assisting_spouse_attribute_Physical_Person(problem,interpretation,from,to);
16455}
16456pattern refineRelation_SSNo_attribute_Physical_Person(
16457 problem:LogicProblem, interpretation:PartialInterpretation,
16458 relationIterpretation:PartialRelationInterpretation,
16459 from: DefinedElement, to: DefinedElement)
16460{
16461 find interpretation(problem,interpretation);
16462 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
16463 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"SSNo attribute Physical_Person");
16464 find mustExist(problem, interpretation, from);
16465 find mustExist(problem, interpretation, to);
16466 find mustInstanceOfPhysical_Person_class(problem,interpretation,from);
16467 StringElement(to);
16468 find mayInRelationSSNo_attribute_Physical_Person(problem,interpretation,from,to);
16469 neg find mustInRelationSSNo_attribute_Physical_Person(problem,interpretation,from,to);
16470}
16471pattern refineRelation_birth_year_attribute_Physical_Person(
16472 problem:LogicProblem, interpretation:PartialInterpretation,
16473 relationIterpretation:PartialRelationInterpretation,
16474 from: DefinedElement, to: DefinedElement)
16475{
16476 find interpretation(problem,interpretation);
16477 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
16478 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"birth_year attribute Physical_Person");
16479 find mustExist(problem, interpretation, from);
16480 find mustExist(problem, interpretation, to);
16481 find mustInstanceOfPhysical_Person_class(problem,interpretation,from);
16482 IntegerElement(to);
16483 find mayInRelationbirth_year_attribute_Physical_Person(problem,interpretation,from,to);
16484 neg find mustInRelationbirth_year_attribute_Physical_Person(problem,interpretation,from,to);
16485}
16486pattern refineRelation_disability_percentage_attribute_Physical_Person(
16487 problem:LogicProblem, interpretation:PartialInterpretation,
16488 relationIterpretation:PartialRelationInterpretation,
16489 from: DefinedElement, to: DefinedElement)
16490{
16491 find interpretation(problem,interpretation);
16492 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
16493 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"disability_percentage attribute Physical_Person");
16494 find mustExist(problem, interpretation, from);
16495 find mustExist(problem, interpretation, to);
16496 find mustInstanceOfPhysical_Person_class(problem,interpretation,from);
16497 RealElement(to);
16498 find mayInRelationdisability_percentage_attribute_Physical_Person(problem,interpretation,from,to);
16499 neg find mustInRelationdisability_percentage_attribute_Physical_Person(problem,interpretation,from,to);
16500}
16501pattern refineRelation_disability_type_attribute_Physical_Person(
16502 problem:LogicProblem, interpretation:PartialInterpretation,
16503 relationIterpretation:PartialRelationInterpretation,
16504 from: DefinedElement, to: DefinedElement)
16505{
16506 find interpretation(problem,interpretation);
16507 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
16508 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"disability_type attribute Physical_Person");
16509 find mustExist(problem, interpretation, from);
16510 find mustExist(problem, interpretation, to);
16511 find mustInstanceOfPhysical_Person_class(problem,interpretation,from);
16512 find mustInstanceOfDisability_Types_enum(problem,interpretation,to);
16513 find mayInRelationdisability_type_attribute_Physical_Person(problem,interpretation,from,to);
16514 neg find mustInRelationdisability_type_attribute_Physical_Person(problem,interpretation,from,to);
16515}
16516pattern refineRelation_is_affiliated_personnaly_to_social_security_attribute_Physical_Person(
16517 problem:LogicProblem, interpretation:PartialInterpretation,
16518 relationIterpretation:PartialRelationInterpretation,
16519 from: DefinedElement, to: DefinedElement)
16520{
16521 find interpretation(problem,interpretation);
16522 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
16523 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"is_affiliated_personnaly_to_social_security attribute Physical_Person");
16524 find mustExist(problem, interpretation, from);
16525 find mustExist(problem, interpretation, to);
16526 find mustInstanceOfPhysical_Person_class(problem,interpretation,from);
16527 BooleanElement(to);
16528 find mayInRelationis_affiliated_personnaly_to_social_security_attribute_Physical_Person(problem,interpretation,from,to);
16529 neg find mustInRelationis_affiliated_personnaly_to_social_security_attribute_Physical_Person(problem,interpretation,from,to);
16530}
16531pattern refineRelation_birth_month_attribute_Physical_Person(
16532 problem:LogicProblem, interpretation:PartialInterpretation,
16533 relationIterpretation:PartialRelationInterpretation,
16534 from: DefinedElement, to: DefinedElement)
16535{
16536 find interpretation(problem,interpretation);
16537 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
16538 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"birth_month attribute Physical_Person");
16539 find mustExist(problem, interpretation, from);
16540 find mustExist(problem, interpretation, to);
16541 find mustInstanceOfPhysical_Person_class(problem,interpretation,from);
16542 IntegerElement(to);
16543 find mayInRelationbirth_month_attribute_Physical_Person(problem,interpretation,from,to);
16544 neg find mustInRelationbirth_month_attribute_Physical_Person(problem,interpretation,from,to);
16545}
16546pattern refineRelation_birth_day_attribute_Physical_Person(
16547 problem:LogicProblem, interpretation:PartialInterpretation,
16548 relationIterpretation:PartialRelationInterpretation,
16549 from: DefinedElement, to: DefinedElement)
16550{
16551 find interpretation(problem,interpretation);
16552 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
16553 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"birth_day attribute Physical_Person");
16554 find mustExist(problem, interpretation, from);
16555 find mustExist(problem, interpretation, to);
16556 find mustInstanceOfPhysical_Person_class(problem,interpretation,from);
16557 IntegerElement(to);
16558 find mayInRelationbirth_day_attribute_Physical_Person(problem,interpretation,from,to);
16559 neg find mustInRelationbirth_day_attribute_Physical_Person(problem,interpretation,from,to);
16560}
16561pattern refineRelation_is_widower_attribute_Physical_Person(
16562 problem:LogicProblem, interpretation:PartialInterpretation,
16563 relationIterpretation:PartialRelationInterpretation,
16564 from: DefinedElement, to: DefinedElement)
16565{
16566 find interpretation(problem,interpretation);
16567 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
16568 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"is_widower attribute Physical_Person");
16569 find mustExist(problem, interpretation, from);
16570 find mustExist(problem, interpretation, to);
16571 find mustInstanceOfPhysical_Person_class(problem,interpretation,from);
16572 BooleanElement(to);
16573 find mayInRelationis_widower_attribute_Physical_Person(problem,interpretation,from,to);
16574 neg find mustInRelationis_widower_attribute_Physical_Person(problem,interpretation,from,to);
16575}
16576pattern refineRelation_country_attribute_Address(
16577 problem:LogicProblem, interpretation:PartialInterpretation,
16578 relationIterpretation:PartialRelationInterpretation,
16579 from: DefinedElement, to: DefinedElement)
16580{
16581 find interpretation(problem,interpretation);
16582 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
16583 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"country attribute Address");
16584 find mustExist(problem, interpretation, from);
16585 find mustExist(problem, interpretation, to);
16586 find mustInstanceOfAddress_class(problem,interpretation,from);
16587 find mustInstanceOfCountry_enum(problem,interpretation,to);
16588 find mayInRelationcountry_attribute_Address(problem,interpretation,from,to);
16589 neg find mustInRelationcountry_attribute_Address(problem,interpretation,from,to);
16590}
16591pattern refineRelation_street_attribute_Address(
16592 problem:LogicProblem, interpretation:PartialInterpretation,
16593 relationIterpretation:PartialRelationInterpretation,
16594 from: DefinedElement, to: DefinedElement)
16595{
16596 find interpretation(problem,interpretation);
16597 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
16598 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"street attribute Address");
16599 find mustExist(problem, interpretation, from);
16600 find mustExist(problem, interpretation, to);
16601 find mustInstanceOfAddress_class(problem,interpretation,from);
16602 StringElement(to);
16603 find mayInRelationstreet_attribute_Address(problem,interpretation,from,to);
16604 neg find mustInRelationstreet_attribute_Address(problem,interpretation,from,to);
16605}
16606pattern refineRelation_zipCode_attribute_Address(
16607 problem:LogicProblem, interpretation:PartialInterpretation,
16608 relationIterpretation:PartialRelationInterpretation,
16609 from: DefinedElement, to: DefinedElement)
16610{
16611 find interpretation(problem,interpretation);
16612 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
16613 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"zipCode attribute Address");
16614 find mustExist(problem, interpretation, from);
16615 find mustExist(problem, interpretation, to);
16616 find mustInstanceOfAddress_class(problem,interpretation,from);
16617 StringElement(to);
16618 find mayInRelationzipCode_attribute_Address(problem,interpretation,from,to);
16619 neg find mustInRelationzipCode_attribute_Address(problem,interpretation,from,to);
16620}
16621pattern refineRelation_city_attribute_Address(
16622 problem:LogicProblem, interpretation:PartialInterpretation,
16623 relationIterpretation:PartialRelationInterpretation,
16624 from: DefinedElement, to: DefinedElement)
16625{
16626 find interpretation(problem,interpretation);
16627 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
16628 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"city attribute Address");
16629 find mustExist(problem, interpretation, from);
16630 find mustExist(problem, interpretation, to);
16631 find mustInstanceOfAddress_class(problem,interpretation,from);
16632 StringElement(to);
16633 find mayInRelationcity_attribute_Address(problem,interpretation,from,to);
16634 neg find mustInRelationcity_attribute_Address(problem,interpretation,from,to);
16635}
16636pattern refineRelation_id2_attribute_Address(
16637 problem:LogicProblem, interpretation:PartialInterpretation,
16638 relationIterpretation:PartialRelationInterpretation,
16639 from: DefinedElement, to: DefinedElement)
16640{
16641 find interpretation(problem,interpretation);
16642 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
16643 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"id2 attribute Address");
16644 find mustExist(problem, interpretation, from);
16645 find mustExist(problem, interpretation, to);
16646 find mustInstanceOfAddress_class(problem,interpretation,from);
16647 StringElement(to);
16648 find mayInRelationid2_attribute_Address(problem,interpretation,from,to);
16649 neg find mustInRelationid2_attribute_Address(problem,interpretation,from,to);
16650}
16651pattern refineRelation_declared_amount_attribute_Expense(
16652 problem:LogicProblem, interpretation:PartialInterpretation,
16653 relationIterpretation:PartialRelationInterpretation,
16654 from: DefinedElement, to: DefinedElement)
16655{
16656 find interpretation(problem,interpretation);
16657 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
16658 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"declared_amount attribute Expense");
16659 find mustExist(problem, interpretation, from);
16660 find mustExist(problem, interpretation, to);
16661 find mustInstanceOfExpense_class(problem,interpretation,from);
16662 RealElement(to);
16663 find mayInRelationdeclared_amount_attribute_Expense(problem,interpretation,from,to);
16664 neg find mustInRelationdeclared_amount_attribute_Expense(problem,interpretation,from,to);
16665}
16666pattern refineRelation_expense_purpose_attribute_Expense(
16667 problem:LogicProblem, interpretation:PartialInterpretation,
16668 relationIterpretation:PartialRelationInterpretation,
16669 from: DefinedElement, to: DefinedElement)
16670{
16671 find interpretation(problem,interpretation);
16672 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
16673 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"expense_purpose attribute Expense");
16674 find mustExist(problem, interpretation, from);
16675 find mustExist(problem, interpretation, to);
16676 find mustInstanceOfExpense_class(problem,interpretation,from);
16677 find mustInstanceOfExpense_Purpose_enum(problem,interpretation,to);
16678 find mayInRelationexpense_purpose_attribute_Expense(problem,interpretation,from,to);
16679 neg find mustInRelationexpense_purpose_attribute_Expense(problem,interpretation,from,to);
16680}
16681pattern refineRelation_id4_attribute_Expense(
16682 problem:LogicProblem, interpretation:PartialInterpretation,
16683 relationIterpretation:PartialRelationInterpretation,
16684 from: DefinedElement, to: DefinedElement)
16685{
16686 find interpretation(problem,interpretation);
16687 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
16688 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"id4 attribute Expense");
16689 find mustExist(problem, interpretation, from);
16690 find mustExist(problem, interpretation, to);
16691 find mustInstanceOfExpense_class(problem,interpretation,from);
16692 StringElement(to);
16693 find mayInRelationid4_attribute_Expense(problem,interpretation,from,to);
16694 neg find mustInRelationid4_attribute_Expense(problem,interpretation,from,to);
16695}
16696pattern refineRelation_dependent_type_attribute_Dependent(
16697 problem:LogicProblem, interpretation:PartialInterpretation,
16698 relationIterpretation:PartialRelationInterpretation,
16699 from: DefinedElement, to: DefinedElement)
16700{
16701 find interpretation(problem,interpretation);
16702 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
16703 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"dependent_type attribute Dependent");
16704 find mustExist(problem, interpretation, from);
16705 find mustExist(problem, interpretation, to);
16706 find mustInstanceOfDependent_class(problem,interpretation,from);
16707 find mustInstanceOfDependent_Type_enum(problem,interpretation,to);
16708 find mayInRelationdependent_type_attribute_Dependent(problem,interpretation,from,to);
16709 neg find mustInRelationdependent_type_attribute_Dependent(problem,interpretation,from,to);
16710}
16711pattern refineRelation_continued_studies_attribute_Dependent(
16712 problem:LogicProblem, interpretation:PartialInterpretation,
16713 relationIterpretation:PartialRelationInterpretation,
16714 from: DefinedElement, to: DefinedElement)
16715{
16716 find interpretation(problem,interpretation);
16717 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
16718 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"continued_studies attribute Dependent");
16719 find mustExist(problem, interpretation, from);
16720 find mustExist(problem, interpretation, to);
16721 find mustInstanceOfDependent_class(problem,interpretation,from);
16722 BooleanElement(to);
16723 find mayInRelationcontinued_studies_attribute_Dependent(problem,interpretation,from,to);
16724 neg find mustInRelationcontinued_studies_attribute_Dependent(problem,interpretation,from,to);
16725}
16726pattern refineRelation_amount_attribute_External_Allowance(
16727 problem:LogicProblem, interpretation:PartialInterpretation,
16728 relationIterpretation:PartialRelationInterpretation,
16729 from: DefinedElement, to: DefinedElement)
16730{
16731 find interpretation(problem,interpretation);
16732 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
16733 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"amount attribute External_Allowance");
16734 find mustExist(problem, interpretation, from);
16735 find mustExist(problem, interpretation, to);
16736 find mustInstanceOfExternal_Allowance_class(problem,interpretation,from);
16737 RealElement(to);
16738 find mayInRelationamount_attribute_External_Allowance(problem,interpretation,from,to);
16739 neg find mustInRelationamount_attribute_External_Allowance(problem,interpretation,from,to);
16740}
16741pattern refineRelation_grantor_attribute_External_Allowance(
16742 problem:LogicProblem, interpretation:PartialInterpretation,
16743 relationIterpretation:PartialRelationInterpretation,
16744 from: DefinedElement, to: DefinedElement)
16745{
16746 find interpretation(problem,interpretation);
16747 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
16748 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"grantor attribute External_Allowance");
16749 find mustExist(problem, interpretation, from);
16750 find mustExist(problem, interpretation, to);
16751 find mustInstanceOfExternal_Allowance_class(problem,interpretation,from);
16752 find mustInstanceOfGrantor_enum(problem,interpretation,to);
16753 find mayInRelationgrantor_attribute_External_Allowance(problem,interpretation,from,to);
16754 neg find mustInRelationgrantor_attribute_External_Allowance(problem,interpretation,from,to);
16755}
16756pattern refineRelation_starting_year_attribute_External_Allowance(
16757 problem:LogicProblem, interpretation:PartialInterpretation,
16758 relationIterpretation:PartialRelationInterpretation,
16759 from: DefinedElement, to: DefinedElement)
16760{
16761 find interpretation(problem,interpretation);
16762 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
16763 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"starting_year attribute External_Allowance");
16764 find mustExist(problem, interpretation, from);
16765 find mustExist(problem, interpretation, to);
16766 find mustInstanceOfExternal_Allowance_class(problem,interpretation,from);
16767 IntegerElement(to);
16768 find mayInRelationstarting_year_attribute_External_Allowance(problem,interpretation,from,to);
16769 neg find mustInRelationstarting_year_attribute_External_Allowance(problem,interpretation,from,to);
16770}
16771pattern refineRelation_ending_year_attribute_External_Allowance(
16772 problem:LogicProblem, interpretation:PartialInterpretation,
16773 relationIterpretation:PartialRelationInterpretation,
16774 from: DefinedElement, to: DefinedElement)
16775{
16776 find interpretation(problem,interpretation);
16777 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
16778 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"ending_year attribute External_Allowance");
16779 find mustExist(problem, interpretation, from);
16780 find mustExist(problem, interpretation, to);
16781 find mustInstanceOfExternal_Allowance_class(problem,interpretation,from);
16782 IntegerElement(to);
16783 find mayInRelationending_year_attribute_External_Allowance(problem,interpretation,from,to);
16784 neg find mustInRelationending_year_attribute_External_Allowance(problem,interpretation,from,to);
16785}
16786pattern refineRelation_id5_attribute_External_Allowance(
16787 problem:LogicProblem, interpretation:PartialInterpretation,
16788 relationIterpretation:PartialRelationInterpretation,
16789 from: DefinedElement, to: DefinedElement)
16790{
16791 find interpretation(problem,interpretation);
16792 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
16793 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"id5 attribute External_Allowance");
16794 find mustExist(problem, interpretation, from);
16795 find mustExist(problem, interpretation, to);
16796 find mustInstanceOfExternal_Allowance_class(problem,interpretation,from);
16797 StringElement(to);
16798 find mayInRelationid5_attribute_External_Allowance(problem,interpretation,from,to);
16799 neg find mustInRelationid5_attribute_External_Allowance(problem,interpretation,from,to);
16800}
16801pattern refineRelation_id1_attribute_Household(
16802 problem:LogicProblem, interpretation:PartialInterpretation,
16803 relationIterpretation:PartialRelationInterpretation,
16804 from: DefinedElement, to: DefinedElement)
16805{
16806 find interpretation(problem,interpretation);
16807 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
16808 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"id1 attribute Household");
16809 find mustExist(problem, interpretation, from);
16810 find mustExist(problem, interpretation, to);
16811 find mustInstanceOfHousehold_class(problem,interpretation,from);
16812 StringElement(to);
16813 find mayInRelationid1_attribute_Household(problem,interpretation,from,to);
16814 neg find mustInRelationid1_attribute_Household(problem,interpretation,from,to);
16815}
16816pattern refineRelation_start_year_attribute_Legal_Union_Record(
16817 problem:LogicProblem, interpretation:PartialInterpretation,
16818 relationIterpretation:PartialRelationInterpretation,
16819 from: DefinedElement, to: DefinedElement)
16820{
16821 find interpretation(problem,interpretation);
16822 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
16823 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"start_year attribute Legal_Union_Record");
16824 find mustExist(problem, interpretation, from);
16825 find mustExist(problem, interpretation, to);
16826 find mustInstanceOfLegal_Union_Record_class(problem,interpretation,from);
16827 IntegerElement(to);
16828 find mayInRelationstart_year_attribute_Legal_Union_Record(problem,interpretation,from,to);
16829 neg find mustInRelationstart_year_attribute_Legal_Union_Record(problem,interpretation,from,to);
16830}
16831pattern refineRelation_end_year_attribute_Legal_Union_Record(
16832 problem:LogicProblem, interpretation:PartialInterpretation,
16833 relationIterpretation:PartialRelationInterpretation,
16834 from: DefinedElement, to: DefinedElement)
16835{
16836 find interpretation(problem,interpretation);
16837 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
16838 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"end_year attribute Legal_Union_Record");
16839 find mustExist(problem, interpretation, from);
16840 find mustExist(problem, interpretation, to);
16841 find mustInstanceOfLegal_Union_Record_class(problem,interpretation,from);
16842 IntegerElement(to);
16843 find mayInRelationend_year_attribute_Legal_Union_Record(problem,interpretation,from,to);
16844 neg find mustInRelationend_year_attribute_Legal_Union_Record(problem,interpretation,from,to);
16845}
16846pattern refineRelation_separation_cause_attribute_Legal_Union_Record(
16847 problem:LogicProblem, interpretation:PartialInterpretation,
16848 relationIterpretation:PartialRelationInterpretation,
16849 from: DefinedElement, to: DefinedElement)
16850{
16851 find interpretation(problem,interpretation);
16852 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
16853 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"separation_cause attribute Legal_Union_Record");
16854 find mustExist(problem, interpretation, from);
16855 find mustExist(problem, interpretation, to);
16856 find mustInstanceOfLegal_Union_Record_class(problem,interpretation,from);
16857 find mustInstanceOfSeparation_Causes_enum(problem,interpretation,to);
16858 find mayInRelationseparation_cause_attribute_Legal_Union_Record(problem,interpretation,from,to);
16859 neg find mustInRelationseparation_cause_attribute_Legal_Union_Record(problem,interpretation,from,to);
16860}
16861pattern refineRelation_mutual_agreement_attribute_Legal_Union_Record(
16862 problem:LogicProblem, interpretation:PartialInterpretation,
16863 relationIterpretation:PartialRelationInterpretation,
16864 from: DefinedElement, to: DefinedElement)
16865{
16866 find interpretation(problem,interpretation);
16867 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
16868 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"mutual_agreement attribute Legal_Union_Record");
16869 find mustExist(problem, interpretation, from);
16870 find mustExist(problem, interpretation, to);
16871 find mustInstanceOfLegal_Union_Record_class(problem,interpretation,from);
16872 BooleanElement(to);
16873 find mayInRelationmutual_agreement_attribute_Legal_Union_Record(problem,interpretation,from,to);
16874 neg find mustInRelationmutual_agreement_attribute_Legal_Union_Record(problem,interpretation,from,to);
16875}
16876pattern refineRelation_id9_attribute_Legal_Union_Record(
16877 problem:LogicProblem, interpretation:PartialInterpretation,
16878 relationIterpretation:PartialRelationInterpretation,
16879 from: DefinedElement, to: DefinedElement)
16880{
16881 find interpretation(problem,interpretation);
16882 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
16883 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"id9 attribute Legal_Union_Record");
16884 find mustExist(problem, interpretation, from);
16885 find mustExist(problem, interpretation, to);
16886 find mustInstanceOfLegal_Union_Record_class(problem,interpretation,from);
16887 StringElement(to);
16888 find mayInRelationid9_attribute_Legal_Union_Record(problem,interpretation,from,to);
16889 neg find mustInRelationid9_attribute_Legal_Union_Record(problem,interpretation,from,to);
16890}
16891pattern refineRelation_starting_year_attribute_Tax_Property(
16892 problem:LogicProblem, interpretation:PartialInterpretation,
16893 relationIterpretation:PartialRelationInterpretation,
16894 from: DefinedElement, to: DefinedElement)
16895{
16896 find interpretation(problem,interpretation);
16897 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
16898 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"starting_year attribute Tax_Property");
16899 find mustExist(problem, interpretation, from);
16900 find mustExist(problem, interpretation, to);
16901 find mustInstanceOfTax_Property_class(problem,interpretation,from);
16902 IntegerElement(to);
16903 find mayInRelationstarting_year_attribute_Tax_Property(problem,interpretation,from,to);
16904 neg find mustInRelationstarting_year_attribute_Tax_Property(problem,interpretation,from,to);
16905}
16906pattern refineRelation_id10_attribute_Tax_Property(
16907 problem:LogicProblem, interpretation:PartialInterpretation,
16908 relationIterpretation:PartialRelationInterpretation,
16909 from: DefinedElement, to: DefinedElement)
16910{
16911 find interpretation(problem,interpretation);
16912 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
16913 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"id10 attribute Tax_Property");
16914 find mustExist(problem, interpretation, from);
16915 find mustExist(problem, interpretation, to);
16916 find mustInstanceOfTax_Property_class(problem,interpretation,from);
16917 StringElement(to);
16918 find mayInRelationid10_attribute_Tax_Property(problem,interpretation,from,to);
16919 neg find mustInRelationid10_attribute_Tax_Property(problem,interpretation,from,to);
16920}
16921pattern refineRelation_is_dependent_eligible_for_CE_Not_In_Houshold_Children_Care_attribute_FromAgent(
16922 problem:LogicProblem, interpretation:PartialInterpretation,
16923 relationIterpretation:PartialRelationInterpretation,
16924 from: DefinedElement, to: DefinedElement)
16925{
16926 find interpretation(problem,interpretation);
16927 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
16928 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"is_dependent_eligible_for_CE_Not_In_Houshold_Children_Care attribute FromAgent");
16929 find mustExist(problem, interpretation, from);
16930 find mustExist(problem, interpretation, to);
16931 find mustInstanceOfFromAgent_class(problem,interpretation,from);
16932 BooleanElement(to);
16933 find mayInRelationis_dependent_eligible_for_CE_Not_In_Houshold_Children_Care_attribute_FromAgent(problem,interpretation,from,to);
16934 neg find mustInRelationis_dependent_eligible_for_CE_Not_In_Houshold_Children_Care_attribute_FromAgent(problem,interpretation,from,to);
16935}
16936pattern refineRelation_is_eligible_debt_attribute_FromAgent(
16937 problem:LogicProblem, interpretation:PartialInterpretation,
16938 relationIterpretation:PartialRelationInterpretation,
16939 from: DefinedElement, to: DefinedElement)
16940{
16941 find interpretation(problem,interpretation);
16942 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
16943 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"is_eligible_debt attribute FromAgent");
16944 find mustExist(problem, interpretation, from);
16945 find mustExist(problem, interpretation, to);
16946 find mustInstanceOfFromAgent_class(problem,interpretation,from);
16947 BooleanElement(to);
16948 find mayInRelationis_eligible_debt_attribute_FromAgent(problem,interpretation,from,to);
16949 neg find mustInRelationis_eligible_debt_attribute_FromAgent(problem,interpretation,from,to);
16950}
16951pattern refineRelation_income_amount_attribute_Income(
16952 problem:LogicProblem, interpretation:PartialInterpretation,
16953 relationIterpretation:PartialRelationInterpretation,
16954 from: DefinedElement, to: DefinedElement)
16955{
16956 find interpretation(problem,interpretation);
16957 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
16958 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"income_amount attribute Income");
16959 find mustExist(problem, interpretation, from);
16960 find mustExist(problem, interpretation, to);
16961 find mustInstanceOfIncome_class(problem,interpretation,from);
16962 RealElement(to);
16963 find mayInRelationincome_amount_attribute_Income(problem,interpretation,from,to);
16964 neg find mustInRelationincome_amount_attribute_Income(problem,interpretation,from,to);
16965}
16966pattern refineRelation_tax_liability_attribute_Income(
16967 problem:LogicProblem, interpretation:PartialInterpretation,
16968 relationIterpretation:PartialRelationInterpretation,
16969 from: DefinedElement, to: DefinedElement)
16970{
16971 find interpretation(problem,interpretation);
16972 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
16973 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"tax_liability attribute Income");
16974 find mustExist(problem, interpretation, from);
16975 find mustExist(problem, interpretation, to);
16976 find mustInstanceOfIncome_class(problem,interpretation,from);
16977 RealElement(to);
16978 find mayInRelationtax_liability_attribute_Income(problem,interpretation,from,to);
16979 neg find mustInRelationtax_liability_attribute_Income(problem,interpretation,from,to);
16980}
16981pattern refineRelation_num_attribute_Income(
16982 problem:LogicProblem, interpretation:PartialInterpretation,
16983 relationIterpretation:PartialRelationInterpretation,
16984 from: DefinedElement, to: DefinedElement)
16985{
16986 find interpretation(problem,interpretation);
16987 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
16988 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"num attribute Income");
16989 find mustExist(problem, interpretation, from);
16990 find mustExist(problem, interpretation, to);
16991 find mustInstanceOfIncome_class(problem,interpretation,from);
16992 IntegerElement(to);
16993 find mayInRelationnum_attribute_Income(problem,interpretation,from,to);
16994 neg find mustInRelationnum_attribute_Income(problem,interpretation,from,to);
16995}
16996pattern refineRelation_subjectToWithholdingTax_attribute_Income_Type(
16997 problem:LogicProblem, interpretation:PartialInterpretation,
16998 relationIterpretation:PartialRelationInterpretation,
16999 from: DefinedElement, to: DefinedElement)
17000{
17001 find interpretation(problem,interpretation);
17002 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
17003 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"subjectToWithholdingTax attribute Income_Type");
17004 find mustExist(problem, interpretation, from);
17005 find mustExist(problem, interpretation, to);
17006 find mustInstanceOfIncome_Type_class(problem,interpretation,from);
17007 BooleanElement(to);
17008 find mayInRelationsubjectToWithholdingTax_attribute_Income_Type(problem,interpretation,from,to);
17009 neg find mustInRelationsubjectToWithholdingTax_attribute_Income_Type(problem,interpretation,from,to);
17010}
17011pattern refineRelation_id8_attribute_Income_Type(
17012 problem:LogicProblem, interpretation:PartialInterpretation,
17013 relationIterpretation:PartialRelationInterpretation,
17014 from: DefinedElement, to: DefinedElement)
17015{
17016 find interpretation(problem,interpretation);
17017 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
17018 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"id8 attribute Income_Type");
17019 find mustExist(problem, interpretation, from);
17020 find mustExist(problem, interpretation, to);
17021 find mustInstanceOfIncome_Type_class(problem,interpretation,from);
17022 StringElement(to);
17023 find mayInRelationid8_attribute_Income_Type(problem,interpretation,from,to);
17024 neg find mustInRelationid8_attribute_Income_Type(problem,interpretation,from,to);
17025}
17026pattern refineRelation_card_identifier_attribute_Tax_Card(
17027 problem:LogicProblem, interpretation:PartialInterpretation,
17028 relationIterpretation:PartialRelationInterpretation,
17029 from: DefinedElement, to: DefinedElement)
17030{
17031 find interpretation(problem,interpretation);
17032 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
17033 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"card_identifier attribute Tax_Card");
17034 find mustExist(problem, interpretation, from);
17035 find mustExist(problem, interpretation, to);
17036 find mustInstanceOfTax_Card_class(problem,interpretation,from);
17037 StringElement(to);
17038 find mayInRelationcard_identifier_attribute_Tax_Card(problem,interpretation,from,to);
17039 neg find mustInRelationcard_identifier_attribute_Tax_Card(problem,interpretation,from,to);
17040}
17041pattern refineRelation_tax_card_type_attribute_Tax_Card(
17042 problem:LogicProblem, interpretation:PartialInterpretation,
17043 relationIterpretation:PartialRelationInterpretation,
17044 from: DefinedElement, to: DefinedElement)
17045{
17046 find interpretation(problem,interpretation);
17047 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
17048 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"tax_card_type attribute Tax_Card");
17049 find mustExist(problem, interpretation, from);
17050 find mustExist(problem, interpretation, to);
17051 find mustInstanceOfTax_Card_class(problem,interpretation,from);
17052 find mustInstanceOfTax_Card_Type_enum(problem,interpretation,to);
17053 find mayInRelationtax_card_type_attribute_Tax_Card(problem,interpretation,from,to);
17054 neg find mustInRelationtax_card_type_attribute_Tax_Card(problem,interpretation,from,to);
17055}
17056pattern refineRelation_tax_office_attribute_Tax_Card(
17057 problem:LogicProblem, interpretation:PartialInterpretation,
17058 relationIterpretation:PartialRelationInterpretation,
17059 from: DefinedElement, to: DefinedElement)
17060{
17061 find interpretation(problem,interpretation);
17062 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
17063 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"tax_office attribute Tax_Card");
17064 find mustExist(problem, interpretation, from);
17065 find mustExist(problem, interpretation, to);
17066 find mustInstanceOfTax_Card_class(problem,interpretation,from);
17067 find mustInstanceOfTax_Office_enum(problem,interpretation,to);
17068 find mayInRelationtax_office_attribute_Tax_Card(problem,interpretation,from,to);
17069 neg find mustInRelationtax_office_attribute_Tax_Card(problem,interpretation,from,to);
17070}
17071pattern refineRelation_percentage_of_witholding_attribute_Tax_Card(
17072 problem:LogicProblem, interpretation:PartialInterpretation,
17073 relationIterpretation:PartialRelationInterpretation,
17074 from: DefinedElement, to: DefinedElement)
17075{
17076 find interpretation(problem,interpretation);
17077 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
17078 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"percentage_of_witholding attribute Tax_Card");
17079 find mustExist(problem, interpretation, from);
17080 find mustExist(problem, interpretation, to);
17081 find mustInstanceOfTax_Card_class(problem,interpretation,from);
17082 RealElement(to);
17083 find mayInRelationpercentage_of_witholding_attribute_Tax_Card(problem,interpretation,from,to);
17084 neg find mustInRelationpercentage_of_witholding_attribute_Tax_Card(problem,interpretation,from,to);
17085}
17086pattern refineRelation_tax_payers_name_surname_attribute_Tax_Card(
17087 problem:LogicProblem, interpretation:PartialInterpretation,
17088 relationIterpretation:PartialRelationInterpretation,
17089 from: DefinedElement, to: DefinedElement)
17090{
17091 find interpretation(problem,interpretation);
17092 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
17093 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"tax_payers_name_surname attribute Tax_Card");
17094 find mustExist(problem, interpretation, from);
17095 find mustExist(problem, interpretation, to);
17096 find mustInstanceOfTax_Card_class(problem,interpretation,from);
17097 StringElement(to);
17098 find mayInRelationtax_payers_name_surname_attribute_Tax_Card(problem,interpretation,from,to);
17099 neg find mustInRelationtax_payers_name_surname_attribute_Tax_Card(problem,interpretation,from,to);
17100}
17101pattern refineRelation_tax_payers_partner_name_surname_attribute_Tax_Card(
17102 problem:LogicProblem, interpretation:PartialInterpretation,
17103 relationIterpretation:PartialRelationInterpretation,
17104 from: DefinedElement, to: DefinedElement)
17105{
17106 find interpretation(problem,interpretation);
17107 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
17108 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"tax_payers_partner_name_surname attribute Tax_Card");
17109 find mustExist(problem, interpretation, from);
17110 find mustExist(problem, interpretation, to);
17111 find mustInstanceOfTax_Card_class(problem,interpretation,from);
17112 StringElement(to);
17113 find mayInRelationtax_payers_partner_name_surname_attribute_Tax_Card(problem,interpretation,from,to);
17114 neg find mustInRelationtax_payers_partner_name_surname_attribute_Tax_Card(problem,interpretation,from,to);
17115}
17116pattern refineRelation_jobs_Employer_SSNo_attribute_Tax_Card(
17117 problem:LogicProblem, interpretation:PartialInterpretation,
17118 relationIterpretation:PartialRelationInterpretation,
17119 from: DefinedElement, to: DefinedElement)
17120{
17121 find interpretation(problem,interpretation);
17122 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
17123 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"jobs_Employer_SSNo attribute Tax_Card");
17124 find mustExist(problem, interpretation, from);
17125 find mustExist(problem, interpretation, to);
17126 find mustInstanceOfTax_Card_class(problem,interpretation,from);
17127 StringElement(to);
17128 find mayInRelationjobs_Employer_SSNo_attribute_Tax_Card(problem,interpretation,from,to);
17129 neg find mustInRelationjobs_Employer_SSNo_attribute_Tax_Card(problem,interpretation,from,to);
17130}
17131pattern refineRelation_jobs_employers_name_attribute_Tax_Card(
17132 problem:LogicProblem, interpretation:PartialInterpretation,
17133 relationIterpretation:PartialRelationInterpretation,
17134 from: DefinedElement, to: DefinedElement)
17135{
17136 find interpretation(problem,interpretation);
17137 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
17138 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"jobs_employers_name attribute Tax_Card");
17139 find mustExist(problem, interpretation, from);
17140 find mustExist(problem, interpretation, to);
17141 find mustInstanceOfTax_Card_class(problem,interpretation,from);
17142 StringElement(to);
17143 find mayInRelationjobs_employers_name_attribute_Tax_Card(problem,interpretation,from,to);
17144 neg find mustInRelationjobs_employers_name_attribute_Tax_Card(problem,interpretation,from,to);
17145}
17146pattern refineRelation_jobs_activity_type_attribute_Tax_Card(
17147 problem:LogicProblem, interpretation:PartialInterpretation,
17148 relationIterpretation:PartialRelationInterpretation,
17149 from: DefinedElement, to: DefinedElement)
17150{
17151 find interpretation(problem,interpretation);
17152 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
17153 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"jobs_activity_type attribute Tax_Card");
17154 find mustExist(problem, interpretation, from);
17155 find mustExist(problem, interpretation, to);
17156 find mustInstanceOfTax_Card_class(problem,interpretation,from);
17157 find mustInstanceOfJob_Activity_enum(problem,interpretation,to);
17158 find mayInRelationjobs_activity_type_attribute_Tax_Card(problem,interpretation,from,to);
17159 neg find mustInRelationjobs_activity_type_attribute_Tax_Card(problem,interpretation,from,to);
17160}
17161pattern refineRelation_jobs_place_of_work_attribute_Tax_Card(
17162 problem:LogicProblem, interpretation:PartialInterpretation,
17163 relationIterpretation:PartialRelationInterpretation,
17164 from: DefinedElement, to: DefinedElement)
17165{
17166 find interpretation(problem,interpretation);
17167 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
17168 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"jobs_place_of_work attribute Tax_Card");
17169 find mustExist(problem, interpretation, from);
17170 find mustExist(problem, interpretation, to);
17171 find mustInstanceOfTax_Card_class(problem,interpretation,from);
17172 find mustInstanceOfTown_enum(problem,interpretation,to);
17173 find mayInRelationjobs_place_of_work_attribute_Tax_Card(problem,interpretation,from,to);
17174 neg find mustInRelationjobs_place_of_work_attribute_Tax_Card(problem,interpretation,from,to);
17175}
17176pattern refineRelation_deduction_FD_daily_attribute_Tax_Card(
17177 problem:LogicProblem, interpretation:PartialInterpretation,
17178 relationIterpretation:PartialRelationInterpretation,
17179 from: DefinedElement, to: DefinedElement)
17180{
17181 find interpretation(problem,interpretation);
17182 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
17183 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"deduction_FD_daily attribute Tax_Card");
17184 find mustExist(problem, interpretation, from);
17185 find mustExist(problem, interpretation, to);
17186 find mustInstanceOfTax_Card_class(problem,interpretation,from);
17187 RealElement(to);
17188 find mayInRelationdeduction_FD_daily_attribute_Tax_Card(problem,interpretation,from,to);
17189 neg find mustInRelationdeduction_FD_daily_attribute_Tax_Card(problem,interpretation,from,to);
17190}
17191pattern refineRelation_deduction_FD_monthly_attribute_Tax_Card(
17192 problem:LogicProblem, interpretation:PartialInterpretation,
17193 relationIterpretation:PartialRelationInterpretation,
17194 from: DefinedElement, to: DefinedElement)
17195{
17196 find interpretation(problem,interpretation);
17197 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
17198 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"deduction_FD_monthly attribute Tax_Card");
17199 find mustExist(problem, interpretation, from);
17200 find mustExist(problem, interpretation, to);
17201 find mustInstanceOfTax_Card_class(problem,interpretation,from);
17202 RealElement(to);
17203 find mayInRelationdeduction_FD_monthly_attribute_Tax_Card(problem,interpretation,from,to);
17204 neg find mustInRelationdeduction_FD_monthly_attribute_Tax_Card(problem,interpretation,from,to);
17205}
17206pattern refineRelation_deduction_AC_daily_attribute_Tax_Card(
17207 problem:LogicProblem, interpretation:PartialInterpretation,
17208 relationIterpretation:PartialRelationInterpretation,
17209 from: DefinedElement, to: DefinedElement)
17210{
17211 find interpretation(problem,interpretation);
17212 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
17213 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"deduction_AC_daily attribute Tax_Card");
17214 find mustExist(problem, interpretation, from);
17215 find mustExist(problem, interpretation, to);
17216 find mustInstanceOfTax_Card_class(problem,interpretation,from);
17217 RealElement(to);
17218 find mayInRelationdeduction_AC_daily_attribute_Tax_Card(problem,interpretation,from,to);
17219 neg find mustInRelationdeduction_AC_daily_attribute_Tax_Card(problem,interpretation,from,to);
17220}
17221pattern refineRelation_deduction_AC_monthly_attribute_Tax_Card(
17222 problem:LogicProblem, interpretation:PartialInterpretation,
17223 relationIterpretation:PartialRelationInterpretation,
17224 from: DefinedElement, to: DefinedElement)
17225{
17226 find interpretation(problem,interpretation);
17227 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
17228 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"deduction_AC_monthly attribute Tax_Card");
17229 find mustExist(problem, interpretation, from);
17230 find mustExist(problem, interpretation, to);
17231 find mustInstanceOfTax_Card_class(problem,interpretation,from);
17232 RealElement(to);
17233 find mayInRelationdeduction_AC_monthly_attribute_Tax_Card(problem,interpretation,from,to);
17234 neg find mustInRelationdeduction_AC_monthly_attribute_Tax_Card(problem,interpretation,from,to);
17235}
17236pattern refineRelation_deduction_AC_yearly_attribute_Tax_Card(
17237 problem:LogicProblem, interpretation:PartialInterpretation,
17238 relationIterpretation:PartialRelationInterpretation,
17239 from: DefinedElement, to: DefinedElement)
17240{
17241 find interpretation(problem,interpretation);
17242 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
17243 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"deduction_AC_yearly attribute Tax_Card");
17244 find mustExist(problem, interpretation, from);
17245 find mustExist(problem, interpretation, to);
17246 find mustInstanceOfTax_Card_class(problem,interpretation,from);
17247 RealElement(to);
17248 find mayInRelationdeduction_AC_yearly_attribute_Tax_Card(problem,interpretation,from,to);
17249 neg find mustInRelationdeduction_AC_yearly_attribute_Tax_Card(problem,interpretation,from,to);
17250}
17251pattern refineRelation_deduction_CE_daily_attribute_Tax_Card(
17252 problem:LogicProblem, interpretation:PartialInterpretation,
17253 relationIterpretation:PartialRelationInterpretation,
17254 from: DefinedElement, to: DefinedElement)
17255{
17256 find interpretation(problem,interpretation);
17257 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
17258 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"deduction_CE_daily attribute Tax_Card");
17259 find mustExist(problem, interpretation, from);
17260 find mustExist(problem, interpretation, to);
17261 find mustInstanceOfTax_Card_class(problem,interpretation,from);
17262 RealElement(to);
17263 find mayInRelationdeduction_CE_daily_attribute_Tax_Card(problem,interpretation,from,to);
17264 neg find mustInRelationdeduction_CE_daily_attribute_Tax_Card(problem,interpretation,from,to);
17265}
17266pattern refineRelation_deduction_CE_monthly_attribute_Tax_Card(
17267 problem:LogicProblem, interpretation:PartialInterpretation,
17268 relationIterpretation:PartialRelationInterpretation,
17269 from: DefinedElement, to: DefinedElement)
17270{
17271 find interpretation(problem,interpretation);
17272 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
17273 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"deduction_CE_monthly attribute Tax_Card");
17274 find mustExist(problem, interpretation, from);
17275 find mustExist(problem, interpretation, to);
17276 find mustInstanceOfTax_Card_class(problem,interpretation,from);
17277 RealElement(to);
17278 find mayInRelationdeduction_CE_monthly_attribute_Tax_Card(problem,interpretation,from,to);
17279 neg find mustInRelationdeduction_CE_monthly_attribute_Tax_Card(problem,interpretation,from,to);
17280}
17281pattern refineRelation_deduction_CE_yearly_attribute_Tax_Card(
17282 problem:LogicProblem, interpretation:PartialInterpretation,
17283 relationIterpretation:PartialRelationInterpretation,
17284 from: DefinedElement, to: DefinedElement)
17285{
17286 find interpretation(problem,interpretation);
17287 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
17288 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"deduction_CE_yearly attribute Tax_Card");
17289 find mustExist(problem, interpretation, from);
17290 find mustExist(problem, interpretation, to);
17291 find mustInstanceOfTax_Card_class(problem,interpretation,from);
17292 RealElement(to);
17293 find mayInRelationdeduction_CE_yearly_attribute_Tax_Card(problem,interpretation,from,to);
17294 neg find mustInRelationdeduction_CE_yearly_attribute_Tax_Card(problem,interpretation,from,to);
17295}
17296pattern refineRelation_deduction_DS_daily_attribute_Tax_Card(
17297 problem:LogicProblem, interpretation:PartialInterpretation,
17298 relationIterpretation:PartialRelationInterpretation,
17299 from: DefinedElement, to: DefinedElement)
17300{
17301 find interpretation(problem,interpretation);
17302 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
17303 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"deduction_DS_daily attribute Tax_Card");
17304 find mustExist(problem, interpretation, from);
17305 find mustExist(problem, interpretation, to);
17306 find mustInstanceOfTax_Card_class(problem,interpretation,from);
17307 RealElement(to);
17308 find mayInRelationdeduction_DS_daily_attribute_Tax_Card(problem,interpretation,from,to);
17309 neg find mustInRelationdeduction_DS_daily_attribute_Tax_Card(problem,interpretation,from,to);
17310}
17311pattern refineRelation_deduction_DS_monthly_attribute_Tax_Card(
17312 problem:LogicProblem, interpretation:PartialInterpretation,
17313 relationIterpretation:PartialRelationInterpretation,
17314 from: DefinedElement, to: DefinedElement)
17315{
17316 find interpretation(problem,interpretation);
17317 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
17318 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"deduction_DS_monthly attribute Tax_Card");
17319 find mustExist(problem, interpretation, from);
17320 find mustExist(problem, interpretation, to);
17321 find mustInstanceOfTax_Card_class(problem,interpretation,from);
17322 RealElement(to);
17323 find mayInRelationdeduction_DS_monthly_attribute_Tax_Card(problem,interpretation,from,to);
17324 neg find mustInRelationdeduction_DS_monthly_attribute_Tax_Card(problem,interpretation,from,to);
17325}
17326pattern refineRelation_deduction_FO_daily_attribute_Tax_Card(
17327 problem:LogicProblem, interpretation:PartialInterpretation,
17328 relationIterpretation:PartialRelationInterpretation,
17329 from: DefinedElement, to: DefinedElement)
17330{
17331 find interpretation(problem,interpretation);
17332 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
17333 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"deduction_FO_daily attribute Tax_Card");
17334 find mustExist(problem, interpretation, from);
17335 find mustExist(problem, interpretation, to);
17336 find mustInstanceOfTax_Card_class(problem,interpretation,from);
17337 RealElement(to);
17338 find mayInRelationdeduction_FO_daily_attribute_Tax_Card(problem,interpretation,from,to);
17339 neg find mustInRelationdeduction_FO_daily_attribute_Tax_Card(problem,interpretation,from,to);
17340}
17341pattern refineRelation_deduction_FO_monthly_attribute_Tax_Card(
17342 problem:LogicProblem, interpretation:PartialInterpretation,
17343 relationIterpretation:PartialRelationInterpretation,
17344 from: DefinedElement, to: DefinedElement)
17345{
17346 find interpretation(problem,interpretation);
17347 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
17348 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"deduction_FO_monthly attribute Tax_Card");
17349 find mustExist(problem, interpretation, from);
17350 find mustExist(problem, interpretation, to);
17351 find mustInstanceOfTax_Card_class(problem,interpretation,from);
17352 RealElement(to);
17353 find mayInRelationdeduction_FO_monthly_attribute_Tax_Card(problem,interpretation,from,to);
17354 neg find mustInRelationdeduction_FO_monthly_attribute_Tax_Card(problem,interpretation,from,to);
17355}
17356pattern refineRelation_deduction_FO_yearly_attribute_Tax_Card(
17357 problem:LogicProblem, interpretation:PartialInterpretation,
17358 relationIterpretation:PartialRelationInterpretation,
17359 from: DefinedElement, to: DefinedElement)
17360{
17361 find interpretation(problem,interpretation);
17362 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
17363 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"deduction_FO_yearly attribute Tax_Card");
17364 find mustExist(problem, interpretation, from);
17365 find mustExist(problem, interpretation, to);
17366 find mustInstanceOfTax_Card_class(problem,interpretation,from);
17367 RealElement(to);
17368 find mayInRelationdeduction_FO_yearly_attribute_Tax_Card(problem,interpretation,from,to);
17369 neg find mustInRelationdeduction_FO_yearly_attribute_Tax_Card(problem,interpretation,from,to);
17370}
17371pattern refineRelation_credit_CIS_daily_attribute_Tax_Card(
17372 problem:LogicProblem, interpretation:PartialInterpretation,
17373 relationIterpretation:PartialRelationInterpretation,
17374 from: DefinedElement, to: DefinedElement)
17375{
17376 find interpretation(problem,interpretation);
17377 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
17378 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"credit_CIS_daily attribute Tax_Card");
17379 find mustExist(problem, interpretation, from);
17380 find mustExist(problem, interpretation, to);
17381 find mustInstanceOfTax_Card_class(problem,interpretation,from);
17382 RealElement(to);
17383 find mayInRelationcredit_CIS_daily_attribute_Tax_Card(problem,interpretation,from,to);
17384 neg find mustInRelationcredit_CIS_daily_attribute_Tax_Card(problem,interpretation,from,to);
17385}
17386pattern refineRelation_credit_CIS_monthly_attribute_Tax_Card(
17387 problem:LogicProblem, interpretation:PartialInterpretation,
17388 relationIterpretation:PartialRelationInterpretation,
17389 from: DefinedElement, to: DefinedElement)
17390{
17391 find interpretation(problem,interpretation);
17392 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
17393 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"credit_CIS_monthly attribute Tax_Card");
17394 find mustExist(problem, interpretation, from);
17395 find mustExist(problem, interpretation, to);
17396 find mustInstanceOfTax_Card_class(problem,interpretation,from);
17397 RealElement(to);
17398 find mayInRelationcredit_CIS_monthly_attribute_Tax_Card(problem,interpretation,from,to);
17399 neg find mustInRelationcredit_CIS_monthly_attribute_Tax_Card(problem,interpretation,from,to);
17400}
17401pattern refineRelation_credit_CIM_daily_attribute_Tax_Card(
17402 problem:LogicProblem, interpretation:PartialInterpretation,
17403 relationIterpretation:PartialRelationInterpretation,
17404 from: DefinedElement, to: DefinedElement)
17405{
17406 find interpretation(problem,interpretation);
17407 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
17408 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"credit_CIM_daily attribute Tax_Card");
17409 find mustExist(problem, interpretation, from);
17410 find mustExist(problem, interpretation, to);
17411 find mustInstanceOfTax_Card_class(problem,interpretation,from);
17412 RealElement(to);
17413 find mayInRelationcredit_CIM_daily_attribute_Tax_Card(problem,interpretation,from,to);
17414 neg find mustInRelationcredit_CIM_daily_attribute_Tax_Card(problem,interpretation,from,to);
17415}
17416pattern refineRelation_validity_attribute_Tax_Card(
17417 problem:LogicProblem, interpretation:PartialInterpretation,
17418 relationIterpretation:PartialRelationInterpretation,
17419 from: DefinedElement, to: DefinedElement)
17420{
17421 find interpretation(problem,interpretation);
17422 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
17423 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"validity attribute Tax_Card");
17424 find mustExist(problem, interpretation, from);
17425 find mustExist(problem, interpretation, to);
17426 find mustInstanceOfTax_Card_class(problem,interpretation,from);
17427 BooleanElement(to);
17428 find mayInRelationvalidity_attribute_Tax_Card(problem,interpretation,from,to);
17429 neg find mustInRelationvalidity_attribute_Tax_Card(problem,interpretation,from,to);
17430}
17431pattern refineRelation_credit_CIM_yearly_attribute_Tax_Card(
17432 problem:LogicProblem, interpretation:PartialInterpretation,
17433 relationIterpretation:PartialRelationInterpretation,
17434 from: DefinedElement, to: DefinedElement)
17435{
17436 find interpretation(problem,interpretation);
17437 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
17438 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"credit_CIM_yearly attribute Tax_Card");
17439 find mustExist(problem, interpretation, from);
17440 find mustExist(problem, interpretation, to);
17441 find mustInstanceOfTax_Card_class(problem,interpretation,from);
17442 RealElement(to);
17443 find mayInRelationcredit_CIM_yearly_attribute_Tax_Card(problem,interpretation,from,to);
17444 neg find mustInRelationcredit_CIM_yearly_attribute_Tax_Card(problem,interpretation,from,to);
17445}
17446pattern refineRelation_deduction_DS_Alimony_yearly_attribute_Tax_Card(
17447 problem:LogicProblem, interpretation:PartialInterpretation,
17448 relationIterpretation:PartialRelationInterpretation,
17449 from: DefinedElement, to: DefinedElement)
17450{
17451 find interpretation(problem,interpretation);
17452 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
17453 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"deduction_DS_Alimony_yearly attribute Tax_Card");
17454 find mustExist(problem, interpretation, from);
17455 find mustExist(problem, interpretation, to);
17456 find mustInstanceOfTax_Card_class(problem,interpretation,from);
17457 RealElement(to);
17458 find mayInRelationdeduction_DS_Alimony_yearly_attribute_Tax_Card(problem,interpretation,from,to);
17459 neg find mustInRelationdeduction_DS_Alimony_yearly_attribute_Tax_Card(problem,interpretation,from,to);
17460}
17461pattern refineRelation_deduction_DS_Debt_yearly_attribute_Tax_Card(
17462 problem:LogicProblem, interpretation:PartialInterpretation,
17463 relationIterpretation:PartialRelationInterpretation,
17464 from: DefinedElement, to: DefinedElement)
17465{
17466 find interpretation(problem,interpretation);
17467 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
17468 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"deduction_DS_Debt_yearly attribute Tax_Card");
17469 find mustExist(problem, interpretation, from);
17470 find mustExist(problem, interpretation, to);
17471 find mustInstanceOfTax_Card_class(problem,interpretation,from);
17472 RealElement(to);
17473 find mayInRelationdeduction_DS_Debt_yearly_attribute_Tax_Card(problem,interpretation,from,to);
17474 neg find mustInRelationdeduction_DS_Debt_yearly_attribute_Tax_Card(problem,interpretation,from,to);
17475}
17476pattern refineRelation_grantedBy_attribute_Income_Tax_Credit(
17477 problem:LogicProblem, interpretation:PartialInterpretation,
17478 relationIterpretation:PartialRelationInterpretation,
17479 from: DefinedElement, to: DefinedElement)
17480{
17481 find interpretation(problem,interpretation);
17482 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
17483 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"grantedBy attribute Income_Tax_Credit");
17484 find mustExist(problem, interpretation, from);
17485 find mustExist(problem, interpretation, to);
17486 find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,from);
17487 find mustInstanceOfGrantor_enum(problem,interpretation,to);
17488 find mayInRelationgrantedBy_attribute_Income_Tax_Credit(problem,interpretation,from,to);
17489 neg find mustInRelationgrantedBy_attribute_Income_Tax_Credit(problem,interpretation,from,to);
17490}
17491pattern refineRelation_tax_year_attribute_Income_Tax_Credit(
17492 problem:LogicProblem, interpretation:PartialInterpretation,
17493 relationIterpretation:PartialRelationInterpretation,
17494 from: DefinedElement, to: DefinedElement)
17495{
17496 find interpretation(problem,interpretation);
17497 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
17498 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"tax_year attribute Income_Tax_Credit");
17499 find mustExist(problem, interpretation, from);
17500 find mustExist(problem, interpretation, to);
17501 find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,from);
17502 IntegerElement(to);
17503 find mayInRelationtax_year_attribute_Income_Tax_Credit(problem,interpretation,from,to);
17504 neg find mustInRelationtax_year_attribute_Income_Tax_Credit(problem,interpretation,from,to);
17505}
17506pattern refineRelation_yearly_attribute_Income_Tax_Credit(
17507 problem:LogicProblem, interpretation:PartialInterpretation,
17508 relationIterpretation:PartialRelationInterpretation,
17509 from: DefinedElement, to: DefinedElement)
17510{
17511 find interpretation(problem,interpretation);
17512 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
17513 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"yearly attribute Income_Tax_Credit");
17514 find mustExist(problem, interpretation, from);
17515 find mustExist(problem, interpretation, to);
17516 find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,from);
17517 RealElement(to);
17518 find mayInRelationyearly_attribute_Income_Tax_Credit(problem,interpretation,from,to);
17519 neg find mustInRelationyearly_attribute_Income_Tax_Credit(problem,interpretation,from,to);
17520}
17521pattern refineRelation_monthly_attribute_Income_Tax_Credit(
17522 problem:LogicProblem, interpretation:PartialInterpretation,
17523 relationIterpretation:PartialRelationInterpretation,
17524 from: DefinedElement, to: DefinedElement)
17525{
17526 find interpretation(problem,interpretation);
17527 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
17528 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"monthly attribute Income_Tax_Credit");
17529 find mustExist(problem, interpretation, from);
17530 find mustExist(problem, interpretation, to);
17531 find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,from);
17532 RealElement(to);
17533 find mayInRelationmonthly_attribute_Income_Tax_Credit(problem,interpretation,from,to);
17534 neg find mustInRelationmonthly_attribute_Income_Tax_Credit(problem,interpretation,from,to);
17535}
17536pattern refineRelation_daily_attribute_Income_Tax_Credit(
17537 problem:LogicProblem, interpretation:PartialInterpretation,
17538 relationIterpretation:PartialRelationInterpretation,
17539 from: DefinedElement, to: DefinedElement)
17540{
17541 find interpretation(problem,interpretation);
17542 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
17543 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"daily attribute Income_Tax_Credit");
17544 find mustExist(problem, interpretation, from);
17545 find mustExist(problem, interpretation, to);
17546 find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,from);
17547 RealElement(to);
17548 find mayInRelationdaily_attribute_Income_Tax_Credit(problem,interpretation,from,to);
17549 neg find mustInRelationdaily_attribute_Income_Tax_Credit(problem,interpretation,from,to);
17550}
17551pattern refineRelation_id7_attribute_Income_Tax_Credit(
17552 problem:LogicProblem, interpretation:PartialInterpretation,
17553 relationIterpretation:PartialRelationInterpretation,
17554 from: DefinedElement, to: DefinedElement)
17555{
17556 find interpretation(problem,interpretation);
17557 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
17558 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"id7 attribute Income_Tax_Credit");
17559 find mustExist(problem, interpretation, from);
17560 find mustExist(problem, interpretation, to);
17561 find mustInstanceOfIncome_Tax_Credit_class(problem,interpretation,from);
17562 StringElement(to);
17563 find mayInRelationid7_attribute_Income_Tax_Credit(problem,interpretation,from,to);
17564 neg find mustInRelationid7_attribute_Income_Tax_Credit(problem,interpretation,from,to);
17565}
17566pattern refineRelation_amount_attribute_Income_Detail(
17567 problem:LogicProblem, interpretation:PartialInterpretation,
17568 relationIterpretation:PartialRelationInterpretation,
17569 from: DefinedElement, to: DefinedElement)
17570{
17571 find interpretation(problem,interpretation);
17572 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
17573 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"amount attribute Income_Detail");
17574 find mustExist(problem, interpretation, from);
17575 find mustExist(problem, interpretation, to);
17576 find mustInstanceOfIncome_Detail_class(problem,interpretation,from);
17577 RealElement(to);
17578 find mayInRelationamount_attribute_Income_Detail(problem,interpretation,from,to);
17579 neg find mustInRelationamount_attribute_Income_Detail(problem,interpretation,from,to);
17580}
17581pattern refineRelation_is_worked_attribute_Income_Detail(
17582 problem:LogicProblem, interpretation:PartialInterpretation,
17583 relationIterpretation:PartialRelationInterpretation,
17584 from: DefinedElement, to: DefinedElement)
17585{
17586 find interpretation(problem,interpretation);
17587 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
17588 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"is_worked attribute Income_Detail");
17589 find mustExist(problem, interpretation, from);
17590 find mustExist(problem, interpretation, to);
17591 find mustInstanceOfIncome_Detail_class(problem,interpretation,from);
17592 BooleanElement(to);
17593 find mayInRelationis_worked_attribute_Income_Detail(problem,interpretation,from,to);
17594 neg find mustInRelationis_worked_attribute_Income_Detail(problem,interpretation,from,to);
17595}
17596pattern refineRelation_distance_attribute_Income_Detail(
17597 problem:LogicProblem, interpretation:PartialInterpretation,
17598 relationIterpretation:PartialRelationInterpretation,
17599 from: DefinedElement, to: DefinedElement)
17600{
17601 find interpretation(problem,interpretation);
17602 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
17603 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"distance attribute Income_Detail");
17604 find mustExist(problem, interpretation, from);
17605 find mustExist(problem, interpretation, to);
17606 find mustInstanceOfIncome_Detail_class(problem,interpretation,from);
17607 RealElement(to);
17608 find mayInRelationdistance_attribute_Income_Detail(problem,interpretation,from,to);
17609 neg find mustInRelationdistance_attribute_Income_Detail(problem,interpretation,from,to);
17610}
17611pattern refineRelation_worked_days_attribute_Income_Detail(
17612 problem:LogicProblem, interpretation:PartialInterpretation,
17613 relationIterpretation:PartialRelationInterpretation,
17614 from: DefinedElement, to: DefinedElement)
17615{
17616 find interpretation(problem,interpretation);
17617 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
17618 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"worked_days attribute Income_Detail");
17619 find mustExist(problem, interpretation, from);
17620 find mustExist(problem, interpretation, to);
17621 find mustInstanceOfIncome_Detail_class(problem,interpretation,from);
17622 IntegerElement(to);
17623 find mayInRelationworked_days_attribute_Income_Detail(problem,interpretation,from,to);
17624 neg find mustInRelationworked_days_attribute_Income_Detail(problem,interpretation,from,to);
17625}
17626pattern refineRelation_is_contributing_CNS_attribute_Income_Detail(
17627 problem:LogicProblem, interpretation:PartialInterpretation,
17628 relationIterpretation:PartialRelationInterpretation,
17629 from: DefinedElement, to: DefinedElement)
17630{
17631 find interpretation(problem,interpretation);
17632 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
17633 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"is_contributing_CNS attribute Income_Detail");
17634 find mustExist(problem, interpretation, from);
17635 find mustExist(problem, interpretation, to);
17636 find mustInstanceOfIncome_Detail_class(problem,interpretation,from);
17637 BooleanElement(to);
17638 find mayInRelationis_contributing_CNS_attribute_Income_Detail(problem,interpretation,from,to);
17639 neg find mustInRelationis_contributing_CNS_attribute_Income_Detail(problem,interpretation,from,to);
17640}
17641pattern refineRelation_id5_attribute_Income_Detail(
17642 problem:LogicProblem, interpretation:PartialInterpretation,
17643 relationIterpretation:PartialRelationInterpretation,
17644 from: DefinedElement, to: DefinedElement)
17645{
17646 find interpretation(problem,interpretation);
17647 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
17648 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"id5 attribute Income_Detail");
17649 find mustExist(problem, interpretation, from);
17650 find mustExist(problem, interpretation, to);
17651 find mustInstanceOfIncome_Detail_class(problem,interpretation,from);
17652 StringElement(to);
17653 find mayInRelationid5_attribute_Income_Detail(problem,interpretation,from,to);
17654 neg find mustInRelationid5_attribute_Income_Detail(problem,interpretation,from,to);
17655}
17656pattern refineRelation_id_attribute_FromLaw(
17657 problem:LogicProblem, interpretation:PartialInterpretation,
17658 relationIterpretation:PartialRelationInterpretation,
17659 from: DefinedElement, to: DefinedElement)
17660{
17661 find interpretation(problem,interpretation);
17662 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
17663 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"id attribute FromLaw");
17664 find mustExist(problem, interpretation, from);
17665 find mustExist(problem, interpretation, to);
17666 find mustInstanceOfFromLaw_class(problem,interpretation,from);
17667 StringElement(to);
17668 find mayInRelationid_attribute_FromLaw(problem,interpretation,from,to);
17669 neg find mustInRelationid_attribute_FromLaw(problem,interpretation,from,to);
17670}
17671pattern refineRelation_is_assimilated_to_resident_attribute_Non_Resident_Tax_Payer(
17672 problem:LogicProblem, interpretation:PartialInterpretation,
17673 relationIterpretation:PartialRelationInterpretation,
17674 from: DefinedElement, to: DefinedElement)
17675{
17676 find interpretation(problem,interpretation);
17677 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
17678 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"is_assimilated_to_resident attribute Non_Resident_Tax_Payer");
17679 find mustExist(problem, interpretation, from);
17680 find mustExist(problem, interpretation, to);
17681 find mustInstanceOfNon_Resident_Tax_Payer_class(problem,interpretation,from);
17682 BooleanElement(to);
17683 find mayInRelationis_assimilated_to_resident_attribute_Non_Resident_Tax_Payer(problem,interpretation,from,to);
17684 neg find mustInRelationis_assimilated_to_resident_attribute_Non_Resident_Tax_Payer(problem,interpretation,from,to);
17685}
17686pattern refineRelation_occasional_payement_attribute_Pensions_and_Annuities_Income(
17687 problem:LogicProblem, interpretation:PartialInterpretation,
17688 relationIterpretation:PartialRelationInterpretation,
17689 from: DefinedElement, to: DefinedElement)
17690{
17691 find interpretation(problem,interpretation);
17692 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
17693 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"occasional_payement attribute Pensions_and_Annuities_Income");
17694 find mustExist(problem, interpretation, from);
17695 find mustExist(problem, interpretation, to);
17696 find mustInstanceOfPensions_and_Annuities_Income_class(problem,interpretation,from);
17697 BooleanElement(to);
17698 find mayInRelationoccasional_payement_attribute_Pensions_and_Annuities_Income(problem,interpretation,from,to);
17699 neg find mustInRelationoccasional_payement_attribute_Pensions_and_Annuities_Income(problem,interpretation,from,to);
17700}
17701pattern refineRelation_is_periodic_attribute_Rentals_and_Leases_Income(
17702 problem:LogicProblem, interpretation:PartialInterpretation,
17703 relationIterpretation:PartialRelationInterpretation,
17704 from: DefinedElement, to: DefinedElement)
17705{
17706 find interpretation(problem,interpretation);
17707 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
17708 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"is_periodic attribute Rentals_and_Leases_Income");
17709 find mustExist(problem, interpretation, from);
17710 find mustExist(problem, interpretation, to);
17711 find mustInstanceOfRentals_and_Leases_Income_class(problem,interpretation,from);
17712 BooleanElement(to);
17713 find mayInRelationis_periodic_attribute_Rentals_and_Leases_Income(problem,interpretation,from,to);
17714 neg find mustInRelationis_periodic_attribute_Rentals_and_Leases_Income(problem,interpretation,from,to);
17715}
17716pattern refineRelation_distance_declared_in_january_attribute_FD(
17717 problem:LogicProblem, interpretation:PartialInterpretation,
17718 relationIterpretation:PartialRelationInterpretation,
17719 from: DefinedElement, to: DefinedElement)
17720{
17721 find interpretation(problem,interpretation);
17722 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
17723 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"distance_declared_in_january attribute FD");
17724 find mustExist(problem, interpretation, from);
17725 find mustExist(problem, interpretation, to);
17726 find mustInstanceOfFD_class(problem,interpretation,from);
17727 RealElement(to);
17728 find mayInRelationdistance_declared_in_january_attribute_FD(problem,interpretation,from,to);
17729 neg find mustInRelationdistance_declared_in_january_attribute_FD(problem,interpretation,from,to);
17730}
17731pattern refineRelation_calculated_distance_attribute_FD(
17732 problem:LogicProblem, interpretation:PartialInterpretation,
17733 relationIterpretation:PartialRelationInterpretation,
17734 from: DefinedElement, to: DefinedElement)
17735{
17736 find interpretation(problem,interpretation);
17737 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
17738 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"calculated_distance attribute FD");
17739 find mustExist(problem, interpretation, from);
17740 find mustExist(problem, interpretation, to);
17741 find mustInstanceOfFD_class(problem,interpretation,from);
17742 RealElement(to);
17743 find mayInRelationcalculated_distance_attribute_FD(problem,interpretation,from,to);
17744 neg find mustInRelationcalculated_distance_attribute_FD(problem,interpretation,from,to);
17745}
17746pattern refineRelation_rate_type_for_FO_attribute_FO(
17747 problem:LogicProblem, interpretation:PartialInterpretation,
17748 relationIterpretation:PartialRelationInterpretation,
17749 from: DefinedElement, to: DefinedElement)
17750{
17751 find interpretation(problem,interpretation);
17752 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
17753 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"rate_type_for_FO attribute FO");
17754 find mustExist(problem, interpretation, from);
17755 find mustExist(problem, interpretation, to);
17756 find mustInstanceOfFO_class(problem,interpretation,from);
17757 find mustInstanceOfType_of_Rate_enum(problem,interpretation,to);
17758 find mayInRelationrate_type_for_FO_attribute_FO(problem,interpretation,from,to);
17759 neg find mustInRelationrate_type_for_FO_attribute_FO(problem,interpretation,from,to);
17760}
17761pattern refineRelation_permanent_expense_category_attribute_DS_for_Permanent_Expense(
17762 problem:LogicProblem, interpretation:PartialInterpretation,
17763 relationIterpretation:PartialRelationInterpretation,
17764 from: DefinedElement, to: DefinedElement)
17765{
17766 find interpretation(problem,interpretation);
17767 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
17768 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"permanent_expense_category attribute DS_for_Permanent_Expense");
17769 find mustExist(problem, interpretation, from);
17770 find mustExist(problem, interpretation, to);
17771 find mustInstanceOfDS_for_Permanent_Expense_class(problem,interpretation,from);
17772 find mustInstanceOfCategory_of_Permanent_Expense_enum(problem,interpretation,to);
17773 find mayInRelationpermanent_expense_category_attribute_DS_for_Permanent_Expense(problem,interpretation,from,to);
17774 neg find mustInRelationpermanent_expense_category_attribute_DS_for_Permanent_Expense(problem,interpretation,from,to);
17775}
17776pattern refineRelation_maximum_deductible_amount_attribute_DS(
17777 problem:LogicProblem, interpretation:PartialInterpretation,
17778 relationIterpretation:PartialRelationInterpretation,
17779 from: DefinedElement, to: DefinedElement)
17780{
17781 find interpretation(problem,interpretation);
17782 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
17783 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"maximum_deductible_amount attribute DS");
17784 find mustExist(problem, interpretation, from);
17785 find mustExist(problem, interpretation, to);
17786 find mustInstanceOfDS_class(problem,interpretation,from);
17787 RealElement(to);
17788 find mayInRelationmaximum_deductible_amount_attribute_DS(problem,interpretation,from,to);
17789 neg find mustInRelationmaximum_deductible_amount_attribute_DS(problem,interpretation,from,to);
17790}
17791pattern refineRelation_id3_attribute_DS(
17792 problem:LogicProblem, interpretation:PartialInterpretation,
17793 relationIterpretation:PartialRelationInterpretation,
17794 from: DefinedElement, to: DefinedElement)
17795{
17796 find interpretation(problem,interpretation);
17797 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
17798 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"id3 attribute DS");
17799 find mustExist(problem, interpretation, from);
17800 find mustExist(problem, interpretation, to);
17801 find mustInstanceOfDS_class(problem,interpretation,from);
17802 StringElement(to);
17803 find mayInRelationid3_attribute_DS(problem,interpretation,from,to);
17804 neg find mustInRelationid3_attribute_DS(problem,interpretation,from,to);
17805}
17806pattern refineRelation_insurance_category_attribute_DS_for_Health_and_Pension_Insurance(
17807 problem:LogicProblem, interpretation:PartialInterpretation,
17808 relationIterpretation:PartialRelationInterpretation,
17809 from: DefinedElement, to: DefinedElement)
17810{
17811 find interpretation(problem,interpretation);
17812 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
17813 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"insurance_category attribute DS_for_Health_and_Pension_Insurance");
17814 find mustExist(problem, interpretation, from);
17815 find mustExist(problem, interpretation, to);
17816 find mustInstanceOfDS_for_Health_and_Pension_Insurance_class(problem,interpretation,from);
17817 find mustInstanceOfCategory_of_Health_and_Pension_Insurances_enum(problem,interpretation,to);
17818 find mayInRelationinsurance_category_attribute_DS_for_Health_and_Pension_Insurance(problem,interpretation,from,to);
17819 neg find mustInRelationinsurance_category_attribute_DS_for_Health_and_Pension_Insurance(problem,interpretation,from,to);
17820}
17821pattern refineRelation_private_insurance_and_plan_category_attribute_DS_for_Private_Insurance_and_Plan(
17822 problem:LogicProblem, interpretation:PartialInterpretation,
17823 relationIterpretation:PartialRelationInterpretation,
17824 from: DefinedElement, to: DefinedElement)
17825{
17826 find interpretation(problem,interpretation);
17827 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
17828 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"private_insurance_and_plan_category attribute DS_for_Private_Insurance_and_Plan");
17829 find mustExist(problem, interpretation, from);
17830 find mustExist(problem, interpretation, to);
17831 find mustInstanceOfDS_for_Private_Insurance_and_Plan_class(problem,interpretation,from);
17832 find mustInstanceOfCategory_of_Private_Insurance_and_Plan_enum(problem,interpretation,to);
17833 find mayInRelationprivate_insurance_and_plan_category_attribute_DS_for_Private_Insurance_and_Plan(problem,interpretation,from,to);
17834 neg find mustInRelationprivate_insurance_and_plan_category_attribute_DS_for_Private_Insurance_and_Plan(problem,interpretation,from,to);
17835}
17836pattern refineRelation_increase_for_life_insurance_attribute_DS_for_Private_Insurance_and_Plan(
17837 problem:LogicProblem, interpretation:PartialInterpretation,
17838 relationIterpretation:PartialRelationInterpretation,
17839 from: DefinedElement, to: DefinedElement)
17840{
17841 find interpretation(problem,interpretation);
17842 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
17843 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"increase_for_life_insurance attribute DS_for_Private_Insurance_and_Plan");
17844 find mustExist(problem, interpretation, from);
17845 find mustExist(problem, interpretation, to);
17846 find mustInstanceOfDS_for_Private_Insurance_and_Plan_class(problem,interpretation,from);
17847 RealElement(to);
17848 find mayInRelationincrease_for_life_insurance_attribute_DS_for_Private_Insurance_and_Plan(problem,interpretation,from,to);
17849 neg find mustInRelationincrease_for_life_insurance_attribute_DS_for_Private_Insurance_and_Plan(problem,interpretation,from,to);
17850}
17851pattern refineRelation_maximum_deductible_amount_for_private_insurance_attribute_DS_for_Private_Insurance_and_Plan(
17852 problem:LogicProblem, interpretation:PartialInterpretation,
17853 relationIterpretation:PartialRelationInterpretation,
17854 from: DefinedElement, to: DefinedElement)
17855{
17856 find interpretation(problem,interpretation);
17857 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
17858 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"maximum_deductible_amount_for_private_insurance attribute DS_for_Private_Insurance_and_Plan");
17859 find mustExist(problem, interpretation, from);
17860 find mustExist(problem, interpretation, to);
17861 find mustInstanceOfDS_for_Private_Insurance_and_Plan_class(problem,interpretation,from);
17862 RealElement(to);
17863 find mayInRelationmaximum_deductible_amount_for_private_insurance_attribute_DS_for_Private_Insurance_and_Plan(problem,interpretation,from,to);
17864 neg find mustInRelationmaximum_deductible_amount_for_private_insurance_attribute_DS_for_Private_Insurance_and_Plan(problem,interpretation,from,to);
17865}
17866pattern refineRelation_maximum_deductible_amount_for_old_age_pension_plan_attribute_DS_for_Private_Insurance_and_Plan(
17867 problem:LogicProblem, interpretation:PartialInterpretation,
17868 relationIterpretation:PartialRelationInterpretation,
17869 from: DefinedElement, to: DefinedElement)
17870{
17871 find interpretation(problem,interpretation);
17872 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
17873 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"maximum_deductible_amount_for_old_age_pension_plan attribute DS_for_Private_Insurance_and_Plan");
17874 find mustExist(problem, interpretation, from);
17875 find mustExist(problem, interpretation, to);
17876 find mustInstanceOfDS_for_Private_Insurance_and_Plan_class(problem,interpretation,from);
17877 RealElement(to);
17878 find mayInRelationmaximum_deductible_amount_for_old_age_pension_plan_attribute_DS_for_Private_Insurance_and_Plan(problem,interpretation,from,to);
17879 neg find mustInRelationmaximum_deductible_amount_for_old_age_pension_plan_attribute_DS_for_Private_Insurance_and_Plan(problem,interpretation,from,to);
17880}
17881pattern refineRelation_category_attribute_Permanent_Expense(
17882 problem:LogicProblem, interpretation:PartialInterpretation,
17883 relationIterpretation:PartialRelationInterpretation,
17884 from: DefinedElement, to: DefinedElement)
17885{
17886 find interpretation(problem,interpretation);
17887 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
17888 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"category attribute Permanent_Expense");
17889 find mustExist(problem, interpretation, from);
17890 find mustExist(problem, interpretation, to);
17891 find mustInstanceOfPermanent_Expense_class(problem,interpretation,from);
17892 find mustInstanceOfCategory_of_Permanent_Expense_enum(problem,interpretation,to);
17893 find mayInRelationcategory_attribute_Permanent_Expense(problem,interpretation,from,to);
17894 neg find mustInRelationcategory_attribute_Permanent_Expense(problem,interpretation,from,to);
17895}
17896pattern refineRelation_is_eligible_for_deduction_attribute_Permanent_Expense(
17897 problem:LogicProblem, interpretation:PartialInterpretation,
17898 relationIterpretation:PartialRelationInterpretation,
17899 from: DefinedElement, to: DefinedElement)
17900{
17901 find interpretation(problem,interpretation);
17902 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
17903 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"is_eligible_for_deduction attribute Permanent_Expense");
17904 find mustExist(problem, interpretation, from);
17905 find mustExist(problem, interpretation, to);
17906 find mustInstanceOfPermanent_Expense_class(problem,interpretation,from);
17907 BooleanElement(to);
17908 find mayInRelationis_eligible_for_deduction_attribute_Permanent_Expense(problem,interpretation,from,to);
17909 neg find mustInRelationis_eligible_for_deduction_attribute_Permanent_Expense(problem,interpretation,from,to);
17910}
17911pattern refineRelation_category_attribute_Private_Insurance_and_Plan(
17912 problem:LogicProblem, interpretation:PartialInterpretation,
17913 relationIterpretation:PartialRelationInterpretation,
17914 from: DefinedElement, to: DefinedElement)
17915{
17916 find interpretation(problem,interpretation);
17917 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
17918 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"category attribute Private_Insurance_and_Plan");
17919 find mustExist(problem, interpretation, from);
17920 find mustExist(problem, interpretation, to);
17921 find mustInstanceOfPrivate_Insurance_and_Plan_class(problem,interpretation,from);
17922 find mustInstanceOfCategory_of_Private_Insurance_and_Plan_enum(problem,interpretation,to);
17923 find mayInRelationcategory_attribute_Private_Insurance_and_Plan(problem,interpretation,from,to);
17924 neg find mustInRelationcategory_attribute_Private_Insurance_and_Plan(problem,interpretation,from,to);
17925}
17926pattern refineRelation_duration_of_contract_attribute_Private_Insurance_and_Plan(
17927 problem:LogicProblem, interpretation:PartialInterpretation,
17928 relationIterpretation:PartialRelationInterpretation,
17929 from: DefinedElement, to: DefinedElement)
17930{
17931 find interpretation(problem,interpretation);
17932 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
17933 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"duration_of_contract attribute Private_Insurance_and_Plan");
17934 find mustExist(problem, interpretation, from);
17935 find mustExist(problem, interpretation, to);
17936 find mustInstanceOfPrivate_Insurance_and_Plan_class(problem,interpretation,from);
17937 IntegerElement(to);
17938 find mayInRelationduration_of_contract_attribute_Private_Insurance_and_Plan(problem,interpretation,from,to);
17939 neg find mustInRelationduration_of_contract_attribute_Private_Insurance_and_Plan(problem,interpretation,from,to);
17940}
17941pattern refineRelation_is_private_insurance_and_plan_eligible_for_deduction_attribute_Private_Insurance_and_Plan(
17942 problem:LogicProblem, interpretation:PartialInterpretation,
17943 relationIterpretation:PartialRelationInterpretation,
17944 from: DefinedElement, to: DefinedElement)
17945{
17946 find interpretation(problem,interpretation);
17947 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
17948 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"is_private_insurance_and_plan_eligible_for_deduction attribute Private_Insurance_and_Plan");
17949 find mustExist(problem, interpretation, from);
17950 find mustExist(problem, interpretation, to);
17951 find mustInstanceOfPrivate_Insurance_and_Plan_class(problem,interpretation,from);
17952 BooleanElement(to);
17953 find mayInRelationis_private_insurance_and_plan_eligible_for_deduction_attribute_Private_Insurance_and_Plan(problem,interpretation,from,to);
17954 neg find mustInRelationis_private_insurance_and_plan_eligible_for_deduction_attribute_Private_Insurance_and_Plan(problem,interpretation,from,to);
17955}
17956pattern refineRelation_category_attribute_Health_and_Pension_Insurance(
17957 problem:LogicProblem, interpretation:PartialInterpretation,
17958 relationIterpretation:PartialRelationInterpretation,
17959 from: DefinedElement, to: DefinedElement)
17960{
17961 find interpretation(problem,interpretation);
17962 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
17963 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"category attribute Health_and_Pension_Insurance");
17964 find mustExist(problem, interpretation, from);
17965 find mustExist(problem, interpretation, to);
17966 find mustInstanceOfHealth_and_Pension_Insurance_class(problem,interpretation,from);
17967 find mustInstanceOfCategory_of_Health_and_Pension_Insurances_enum(problem,interpretation,to);
17968 find mayInRelationcategory_attribute_Health_and_Pension_Insurance(problem,interpretation,from,to);
17969 neg find mustInRelationcategory_attribute_Health_and_Pension_Insurance(problem,interpretation,from,to);
17970}
17971pattern refineRelation_is_related_to_additional_salary_attribute_Health_and_Pension_Insurance(
17972 problem:LogicProblem, interpretation:PartialInterpretation,
17973 relationIterpretation:PartialRelationInterpretation,
17974 from: DefinedElement, to: DefinedElement)
17975{
17976 find interpretation(problem,interpretation);
17977 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
17978 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"is_related_to_additional_salary attribute Health_and_Pension_Insurance");
17979 find mustExist(problem, interpretation, from);
17980 find mustExist(problem, interpretation, to);
17981 find mustInstanceOfHealth_and_Pension_Insurance_class(problem,interpretation,from);
17982 BooleanElement(to);
17983 find mayInRelationis_related_to_additional_salary_attribute_Health_and_Pension_Insurance(problem,interpretation,from,to);
17984 neg find mustInRelationis_related_to_additional_salary_attribute_Health_and_Pension_Insurance(problem,interpretation,from,to);
17985}
17986pattern refineRelation_beneficiary1_attribute_Donation(
17987 problem:LogicProblem, interpretation:PartialInterpretation,
17988 relationIterpretation:PartialRelationInterpretation,
17989 from: DefinedElement, to: DefinedElement)
17990{
17991 find interpretation(problem,interpretation);
17992 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
17993 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"beneficiary1 attribute Donation");
17994 find mustExist(problem, interpretation, from);
17995 find mustExist(problem, interpretation, to);
17996 find mustInstanceOfDonation_class(problem,interpretation,from);
17997 StringElement(to);
17998 find mayInRelationbeneficiary1_attribute_Donation(problem,interpretation,from,to);
17999 neg find mustInRelationbeneficiary1_attribute_Donation(problem,interpretation,from,to);
18000}
18001pattern refineRelation_is_beneficiary_eligible_attribute_Donation(
18002 problem:LogicProblem, interpretation:PartialInterpretation,
18003 relationIterpretation:PartialRelationInterpretation,
18004 from: DefinedElement, to: DefinedElement)
18005{
18006 find interpretation(problem,interpretation);
18007 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
18008 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"is_beneficiary_eligible attribute Donation");
18009 find mustExist(problem, interpretation, from);
18010 find mustExist(problem, interpretation, to);
18011 find mustInstanceOfDonation_class(problem,interpretation,from);
18012 BooleanElement(to);
18013 find mayInRelationis_beneficiary_eligible_attribute_Donation(problem,interpretation,from,to);
18014 neg find mustInRelationis_beneficiary_eligible_attribute_Donation(problem,interpretation,from,to);
18015}
18016pattern refineRelation_is_donation_reported_attribute_Donation(
18017 problem:LogicProblem, interpretation:PartialInterpretation,
18018 relationIterpretation:PartialRelationInterpretation,
18019 from: DefinedElement, to: DefinedElement)
18020{
18021 find interpretation(problem,interpretation);
18022 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
18023 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"is_donation_reported attribute Donation");
18024 find mustExist(problem, interpretation, from);
18025 find mustExist(problem, interpretation, to);
18026 find mustInstanceOfDonation_class(problem,interpretation,from);
18027 BooleanElement(to);
18028 find mayInRelationis_donation_reported_attribute_Donation(problem,interpretation,from,to);
18029 neg find mustInRelationis_donation_reported_attribute_Donation(problem,interpretation,from,to);
18030}
18031pattern refineRelation_regular_accountability_attribute_Loss_Carryforward(
18032 problem:LogicProblem, interpretation:PartialInterpretation,
18033 relationIterpretation:PartialRelationInterpretation,
18034 from: DefinedElement, to: DefinedElement)
18035{
18036 find interpretation(problem,interpretation);
18037 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
18038 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"regular_accountability attribute Loss_Carryforward");
18039 find mustExist(problem, interpretation, from);
18040 find mustExist(problem, interpretation, to);
18041 find mustInstanceOfLoss_Carryforward_class(problem,interpretation,from);
18042 BooleanElement(to);
18043 find mayInRelationregular_accountability_attribute_Loss_Carryforward(problem,interpretation,from,to);
18044 neg find mustInRelationregular_accountability_attribute_Loss_Carryforward(problem,interpretation,from,to);
18045}
18046pattern refineRelation_compensation_by_other_means_attribute_Loss_Carryforward(
18047 problem:LogicProblem, interpretation:PartialInterpretation,
18048 relationIterpretation:PartialRelationInterpretation,
18049 from: DefinedElement, to: DefinedElement)
18050{
18051 find interpretation(problem,interpretation);
18052 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
18053 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"compensation_by_other_means attribute Loss_Carryforward");
18054 find mustExist(problem, interpretation, from);
18055 find mustExist(problem, interpretation, to);
18056 find mustInstanceOfLoss_Carryforward_class(problem,interpretation,from);
18057 BooleanElement(to);
18058 find mayInRelationcompensation_by_other_means_attribute_Loss_Carryforward(problem,interpretation,from,to);
18059 neg find mustInRelationcompensation_by_other_means_attribute_Loss_Carryforward(problem,interpretation,from,to);
18060}
18061pattern refineRelation_tax_payer_has_inherited_business_ownership_attribute_Loss_Carryforward(
18062 problem:LogicProblem, interpretation:PartialInterpretation,
18063 relationIterpretation:PartialRelationInterpretation,
18064 from: DefinedElement, to: DefinedElement)
18065{
18066 find interpretation(problem,interpretation);
18067 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
18068 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"tax_payer_has_inherited_business_ownership attribute Loss_Carryforward");
18069 find mustExist(problem, interpretation, from);
18070 find mustExist(problem, interpretation, to);
18071 find mustInstanceOfLoss_Carryforward_class(problem,interpretation,from);
18072 BooleanElement(to);
18073 find mayInRelationtax_payer_has_inherited_business_ownership_attribute_Loss_Carryforward(problem,interpretation,from,to);
18074 neg find mustInRelationtax_payer_has_inherited_business_ownership_attribute_Loss_Carryforward(problem,interpretation,from,to);
18075}
18076pattern refineRelation_tax_payer_has_been_partner_in_business_attribute_Loss_Carryforward(
18077 problem:LogicProblem, interpretation:PartialInterpretation,
18078 relationIterpretation:PartialRelationInterpretation,
18079 from: DefinedElement, to: DefinedElement)
18080{
18081 find interpretation(problem,interpretation);
18082 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
18083 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"tax_payer_has_been_partner_in_business attribute Loss_Carryforward");
18084 find mustExist(problem, interpretation, from);
18085 find mustExist(problem, interpretation, to);
18086 find mustInstanceOfLoss_Carryforward_class(problem,interpretation,from);
18087 BooleanElement(to);
18088 find mayInRelationtax_payer_has_been_partner_in_business_attribute_Loss_Carryforward(problem,interpretation,from,to);
18089 neg find mustInRelationtax_payer_has_been_partner_in_business_attribute_Loss_Carryforward(problem,interpretation,from,to);
18090}
18091pattern refineRelation_thresholded_deduction_percentage_attribute_Extraordinary_Expense_CE(
18092 problem:LogicProblem, interpretation:PartialInterpretation,
18093 relationIterpretation:PartialRelationInterpretation,
18094 from: DefinedElement, to: DefinedElement)
18095{
18096 find interpretation(problem,interpretation);
18097 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
18098 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"thresholded_deduction_percentage attribute Extraordinary_Expense_CE");
18099 find mustExist(problem, interpretation, from);
18100 find mustExist(problem, interpretation, to);
18101 find mustInstanceOfExtraordinary_Expense_CE_class(problem,interpretation,from);
18102 RealElement(to);
18103 find mayInRelationthresholded_deduction_percentage_attribute_Extraordinary_Expense_CE(problem,interpretation,from,to);
18104 neg find mustInRelationthresholded_deduction_percentage_attribute_Extraordinary_Expense_CE(problem,interpretation,from,to);
18105}
18106pattern refineRelation_ce_type_attribute_Extraordinary_Expense_CE(
18107 problem:LogicProblem, interpretation:PartialInterpretation,
18108 relationIterpretation:PartialRelationInterpretation,
18109 from: DefinedElement, to: DefinedElement)
18110{
18111 find interpretation(problem,interpretation);
18112 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
18113 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"ce_type attribute Extraordinary_Expense_CE");
18114 find mustExist(problem, interpretation, from);
18115 find mustExist(problem, interpretation, to);
18116 find mustInstanceOfExtraordinary_Expense_CE_class(problem,interpretation,from);
18117 find mustInstanceOfCE_Type_enum(problem,interpretation,to);
18118 find mayInRelationce_type_attribute_Extraordinary_Expense_CE(problem,interpretation,from,to);
18119 neg find mustInRelationce_type_attribute_Extraordinary_Expense_CE(problem,interpretation,from,to);
18120}
18121