never executed always true always false
1 {-# LANGUAGE DeriveGeneric, DeriveDataTypeable, DeriveFunctor, DeriveTraversable, DeriveFoldable #-}
2 {-# LANGUAGE UndecidableInstances #-}
3
4 module Conjure.Language.Expression.Op.Internal.Generated
5 ( Op(..)
6 , valuesInIntDomain
7 , OpActive(..)
8 , OpAllDiff(..)
9 , OpAllDiffExcept(..)
10 , OpAnd(..)
11 , OpApart(..)
12 , OpAtLeast(..)
13 , OpAtMost(..)
14 , OpAttributeAsConstraint(..)
15 , OpCatchUndef(..)
16 , OpCompose(..)
17 , OpDefined(..)
18 , OpDiv(..)
19 , OpDontCare(..)
20 , OpDotLeq(..)
21 , OpDotLt(..)
22 , OpElementId(..)
23 , OpEq(..)
24 , OpFactorial(..)
25 , OpFlatten(..)
26 , OpFreq(..)
27 , OpGCC(..)
28 , OpGeq(..)
29 , OpGt(..)
30 , OpHist(..)
31 , OpIff(..)
32 , OpImage(..)
33 , OpImageSet(..)
34 , OpImply(..)
35 , OpIn(..)
36 , OpIndexing(..)
37 , OpIntersect(..)
38 , OpInverse(..)
39 , OpLeq(..)
40 , OpLexLeq(..)
41 , OpLexLt(..)
42 , OpLt(..)
43 , OpMakeTable(..)
44 , OpMax(..)
45 , OpMin(..)
46 , OpMinus(..)
47 , OpMod(..)
48 , OpNegate(..)
49 , OpNeq(..)
50 , OpNot(..)
51 , OpOr(..)
52 , OpParticipants(..)
53 , OpParts(..)
54 , OpParty(..)
55 , OpPermInverse(..)
56 , OpPow(..)
57 , OpPowerSet(..)
58 , OpPreImage(..)
59 , OpPred(..)
60 , OpProduct(..)
61 , OpQuickPermutationOrder(..)
62 , OpRange(..)
63 , OpRelationProj(..)
64 , OpRestrict(..)
65 , OpSlicing(..)
66 , OpSubsequence(..)
67 , OpSubset(..)
68 , OpSubsetEq(..)
69 , OpSubstring(..)
70 , OpSucc(..)
71 , OpSum(..)
72 , OpSupset(..)
73 , OpSupsetEq(..)
74 , OpTable(..)
75 , OpTildeLeq(..)
76 , OpTildeLt(..)
77 , OpToInt(..)
78 , OpToMSet(..)
79 , OpToRelation(..)
80 , OpToSet(..)
81 , OpTogether(..)
82 , OpTransform(..)
83 , OpTrue(..)
84 , OpTwoBars(..)
85 , OpUnion(..)
86 , OpXor(..)
87 ) where
88
89 -- conjure
90 import Conjure.Prelude
91 import Conjure.Language.Expression.Op.Internal.Common
92
93 import Conjure.Language.Expression.Op.Active
94 import Conjure.Language.Expression.Op.AllDiff
95 import Conjure.Language.Expression.Op.AllDiffExcept
96 import Conjure.Language.Expression.Op.And
97 import Conjure.Language.Expression.Op.Apart
98 import Conjure.Language.Expression.Op.AtLeast
99 import Conjure.Language.Expression.Op.AtMost
100 import Conjure.Language.Expression.Op.AttributeAsConstraint
101 import Conjure.Language.Expression.Op.CatchUndef
102 import Conjure.Language.Expression.Op.Compose
103 import Conjure.Language.Expression.Op.Defined
104 import Conjure.Language.Expression.Op.Div
105 import Conjure.Language.Expression.Op.DontCare
106 import Conjure.Language.Expression.Op.DotLeq
107 import Conjure.Language.Expression.Op.DotLt
108 import Conjure.Language.Expression.Op.ElementId
109 import Conjure.Language.Expression.Op.Eq
110 import Conjure.Language.Expression.Op.Factorial
111 import Conjure.Language.Expression.Op.Flatten
112 import Conjure.Language.Expression.Op.Freq
113 import Conjure.Language.Expression.Op.GCC
114 import Conjure.Language.Expression.Op.Geq
115 import Conjure.Language.Expression.Op.Gt
116 import Conjure.Language.Expression.Op.Hist
117 import Conjure.Language.Expression.Op.Iff
118 import Conjure.Language.Expression.Op.Image
119 import Conjure.Language.Expression.Op.ImageSet
120 import Conjure.Language.Expression.Op.Imply
121 import Conjure.Language.Expression.Op.In
122 import Conjure.Language.Expression.Op.Indexing
123 import Conjure.Language.Expression.Op.Intersect
124 import Conjure.Language.Expression.Op.Inverse
125 import Conjure.Language.Expression.Op.Leq
126 import Conjure.Language.Expression.Op.LexLeq
127 import Conjure.Language.Expression.Op.LexLt
128 import Conjure.Language.Expression.Op.Lt
129 import Conjure.Language.Expression.Op.MakeTable
130 import Conjure.Language.Expression.Op.Max
131 import Conjure.Language.Expression.Op.Min
132 import Conjure.Language.Expression.Op.Minus
133 import Conjure.Language.Expression.Op.Mod
134 import Conjure.Language.Expression.Op.Negate
135 import Conjure.Language.Expression.Op.Neq
136 import Conjure.Language.Expression.Op.Not
137 import Conjure.Language.Expression.Op.Or
138 import Conjure.Language.Expression.Op.Participants
139 import Conjure.Language.Expression.Op.Parts
140 import Conjure.Language.Expression.Op.Party
141 import Conjure.Language.Expression.Op.PermInverse
142 import Conjure.Language.Expression.Op.Pow
143 import Conjure.Language.Expression.Op.PowerSet
144 import Conjure.Language.Expression.Op.PreImage
145 import Conjure.Language.Expression.Op.Pred
146 import Conjure.Language.Expression.Op.Product
147 import Conjure.Language.Expression.Op.QuickPermutationOrder
148 import Conjure.Language.Expression.Op.Range
149 import Conjure.Language.Expression.Op.RelationProj
150 import Conjure.Language.Expression.Op.Restrict
151 import Conjure.Language.Expression.Op.Slicing
152 import Conjure.Language.Expression.Op.Subsequence
153 import Conjure.Language.Expression.Op.Subset
154 import Conjure.Language.Expression.Op.SubsetEq
155 import Conjure.Language.Expression.Op.Substring
156 import Conjure.Language.Expression.Op.Succ
157 import Conjure.Language.Expression.Op.Sum
158 import Conjure.Language.Expression.Op.Supset
159 import Conjure.Language.Expression.Op.SupsetEq
160 import Conjure.Language.Expression.Op.Table
161 import Conjure.Language.Expression.Op.TildeLeq
162 import Conjure.Language.Expression.Op.TildeLt
163 import Conjure.Language.Expression.Op.ToInt
164 import Conjure.Language.Expression.Op.ToMSet
165 import Conjure.Language.Expression.Op.ToRelation
166 import Conjure.Language.Expression.Op.ToSet
167 import Conjure.Language.Expression.Op.Together
168 import Conjure.Language.Expression.Op.Transform
169 import Conjure.Language.Expression.Op.True
170 import Conjure.Language.Expression.Op.TwoBars
171 import Conjure.Language.Expression.Op.Union
172 import Conjure.Language.Expression.Op.Xor
173
174 data Op x
175 = MkOpActive (OpActive x)
176 | MkOpAllDiff (OpAllDiff x)
177 | MkOpAllDiffExcept (OpAllDiffExcept x)
178 | MkOpAnd (OpAnd x)
179 | MkOpApart (OpApart x)
180 | MkOpAtLeast (OpAtLeast x)
181 | MkOpAtMost (OpAtMost x)
182 | MkOpAttributeAsConstraint (OpAttributeAsConstraint x)
183 | MkOpCatchUndef (OpCatchUndef x)
184 | MkOpCompose (OpCompose x)
185 | MkOpDefined (OpDefined x)
186 | MkOpDiv (OpDiv x)
187 | MkOpDontCare (OpDontCare x)
188 | MkOpDotLeq (OpDotLeq x)
189 | MkOpDotLt (OpDotLt x)
190 | MkOpElementId (OpElementId x)
191 | MkOpEq (OpEq x)
192 | MkOpFactorial (OpFactorial x)
193 | MkOpFlatten (OpFlatten x)
194 | MkOpFreq (OpFreq x)
195 | MkOpGCC (OpGCC x)
196 | MkOpGeq (OpGeq x)
197 | MkOpGt (OpGt x)
198 | MkOpHist (OpHist x)
199 | MkOpIff (OpIff x)
200 | MkOpImage (OpImage x)
201 | MkOpImageSet (OpImageSet x)
202 | MkOpImply (OpImply x)
203 | MkOpIn (OpIn x)
204 | MkOpIndexing (OpIndexing x)
205 | MkOpIntersect (OpIntersect x)
206 | MkOpInverse (OpInverse x)
207 | MkOpLeq (OpLeq x)
208 | MkOpLexLeq (OpLexLeq x)
209 | MkOpLexLt (OpLexLt x)
210 | MkOpLt (OpLt x)
211 | MkOpMakeTable (OpMakeTable x)
212 | MkOpMax (OpMax x)
213 | MkOpMin (OpMin x)
214 | MkOpMinus (OpMinus x)
215 | MkOpMod (OpMod x)
216 | MkOpNegate (OpNegate x)
217 | MkOpNeq (OpNeq x)
218 | MkOpNot (OpNot x)
219 | MkOpOr (OpOr x)
220 | MkOpParticipants (OpParticipants x)
221 | MkOpParts (OpParts x)
222 | MkOpParty (OpParty x)
223 | MkOpPermInverse (OpPermInverse x)
224 | MkOpPow (OpPow x)
225 | MkOpPowerSet (OpPowerSet x)
226 | MkOpPreImage (OpPreImage x)
227 | MkOpPred (OpPred x)
228 | MkOpProduct (OpProduct x)
229 | MkOpQuickPermutationOrder (OpQuickPermutationOrder x)
230 | MkOpRange (OpRange x)
231 | MkOpRelationProj (OpRelationProj x)
232 | MkOpRestrict (OpRestrict x)
233 | MkOpSlicing (OpSlicing x)
234 | MkOpSubsequence (OpSubsequence x)
235 | MkOpSubset (OpSubset x)
236 | MkOpSubsetEq (OpSubsetEq x)
237 | MkOpSubstring (OpSubstring x)
238 | MkOpSucc (OpSucc x)
239 | MkOpSum (OpSum x)
240 | MkOpSupset (OpSupset x)
241 | MkOpSupsetEq (OpSupsetEq x)
242 | MkOpTable (OpTable x)
243 | MkOpTildeLeq (OpTildeLeq x)
244 | MkOpTildeLt (OpTildeLt x)
245 | MkOpToInt (OpToInt x)
246 | MkOpToMSet (OpToMSet x)
247 | MkOpToRelation (OpToRelation x)
248 | MkOpToSet (OpToSet x)
249 | MkOpTogether (OpTogether x)
250 | MkOpTransform (OpTransform x)
251 | MkOpTrue (OpTrue x)
252 | MkOpTwoBars (OpTwoBars x)
253 | MkOpUnion (OpUnion x)
254 | MkOpXor (OpXor x)
255 deriving (Eq, Ord, Show, Data, Functor, Traversable, Foldable, Typeable, Generic)
256
257 instance Serialize x => Serialize (Op x)
258 instance Hashable x => Hashable (Op x)
259 instance ToJSON x => ToJSON (Op x) where toJSON = genericToJSON jsonOptions
260 instance FromJSON x => FromJSON (Op x) where parseJSON = genericParseJSON jsonOptions
261
262
263 instance OpActive x :< Op x where
264 inject = MkOpActive
265 project (MkOpActive x) = return x
266 project _ = failDoc "projecting OpActive"
267 instance OpAllDiff x :< Op x where
268 inject = MkOpAllDiff
269 project (MkOpAllDiff x) = return x
270 project _ = failDoc "projecting OpAllDiff"
271 instance OpAllDiffExcept x :< Op x where
272 inject = MkOpAllDiffExcept
273 project (MkOpAllDiffExcept x) = return x
274 project _ = failDoc "projecting OpAllDiffExcept"
275 instance OpAnd x :< Op x where
276 inject = MkOpAnd
277 project (MkOpAnd x) = return x
278 project _ = failDoc "projecting OpAnd"
279 instance OpApart x :< Op x where
280 inject = MkOpApart
281 project (MkOpApart x) = return x
282 project _ = failDoc "projecting OpApart"
283 instance OpAtLeast x :< Op x where
284 inject = MkOpAtLeast
285 project (MkOpAtLeast x) = return x
286 project _ = failDoc "projecting OpAtLeast"
287 instance OpAtMost x :< Op x where
288 inject = MkOpAtMost
289 project (MkOpAtMost x) = return x
290 project _ = failDoc "projecting OpAtMost"
291 instance OpAttributeAsConstraint x :< Op x where
292 inject = MkOpAttributeAsConstraint
293 project (MkOpAttributeAsConstraint x) = return x
294 project _ = failDoc "projecting OpAttributeAsConstraint"
295 instance OpCatchUndef x :< Op x where
296 inject = MkOpCatchUndef
297 project (MkOpCatchUndef x) = return x
298 project _ = failDoc "projecting OpCatchUndef"
299 instance OpCompose x :< Op x where
300 inject = MkOpCompose
301 project (MkOpCompose x) = return x
302 project _ = failDoc "projecting OpCompose"
303 instance OpDefined x :< Op x where
304 inject = MkOpDefined
305 project (MkOpDefined x) = return x
306 project _ = failDoc "projecting OpDefined"
307 instance OpDiv x :< Op x where
308 inject = MkOpDiv
309 project (MkOpDiv x) = return x
310 project _ = failDoc "projecting OpDiv"
311 instance OpDontCare x :< Op x where
312 inject = MkOpDontCare
313 project (MkOpDontCare x) = return x
314 project _ = failDoc "projecting OpDontCare"
315 instance OpDotLeq x :< Op x where
316 inject = MkOpDotLeq
317 project (MkOpDotLeq x) = return x
318 project _ = failDoc "projecting OpDotLeq"
319 instance OpDotLt x :< Op x where
320 inject = MkOpDotLt
321 project (MkOpDotLt x) = return x
322 project _ = failDoc "projecting OpDotLt"
323 instance OpElementId x :< Op x where
324 inject = MkOpElementId
325 project (MkOpElementId x) = return x
326 project _ = failDoc "projecting OpElementId"
327 instance OpEq x :< Op x where
328 inject = MkOpEq
329 project (MkOpEq x) = return x
330 project _ = failDoc "projecting OpEq"
331 instance OpFactorial x :< Op x where
332 inject = MkOpFactorial
333 project (MkOpFactorial x) = return x
334 project _ = failDoc "projecting OpFactorial"
335 instance OpFlatten x :< Op x where
336 inject = MkOpFlatten
337 project (MkOpFlatten x) = return x
338 project _ = failDoc "projecting OpFlatten"
339 instance OpFreq x :< Op x where
340 inject = MkOpFreq
341 project (MkOpFreq x) = return x
342 project _ = failDoc "projecting OpFreq"
343 instance OpGCC x :< Op x where
344 inject = MkOpGCC
345 project (MkOpGCC x) = return x
346 project _ = failDoc "projecting OpGCC"
347 instance OpGeq x :< Op x where
348 inject = MkOpGeq
349 project (MkOpGeq x) = return x
350 project _ = failDoc "projecting OpGeq"
351 instance OpGt x :< Op x where
352 inject = MkOpGt
353 project (MkOpGt x) = return x
354 project _ = failDoc "projecting OpGt"
355 instance OpHist x :< Op x where
356 inject = MkOpHist
357 project (MkOpHist x) = return x
358 project _ = failDoc "projecting OpHist"
359 instance OpIff x :< Op x where
360 inject = MkOpIff
361 project (MkOpIff x) = return x
362 project _ = failDoc "projecting OpIff"
363 instance OpImage x :< Op x where
364 inject = MkOpImage
365 project (MkOpImage x) = return x
366 project _ = failDoc "projecting OpImage"
367 instance OpImageSet x :< Op x where
368 inject = MkOpImageSet
369 project (MkOpImageSet x) = return x
370 project _ = failDoc "projecting OpImageSet"
371 instance OpImply x :< Op x where
372 inject = MkOpImply
373 project (MkOpImply x) = return x
374 project _ = failDoc "projecting OpImply"
375 instance OpIn x :< Op x where
376 inject = MkOpIn
377 project (MkOpIn x) = return x
378 project _ = failDoc "projecting OpIn"
379 instance OpIndexing x :< Op x where
380 inject = MkOpIndexing
381 project (MkOpIndexing x) = return x
382 project _ = failDoc "projecting OpIndexing"
383 instance OpIntersect x :< Op x where
384 inject = MkOpIntersect
385 project (MkOpIntersect x) = return x
386 project _ = failDoc "projecting OpIntersect"
387 instance OpInverse x :< Op x where
388 inject = MkOpInverse
389 project (MkOpInverse x) = return x
390 project _ = failDoc "projecting OpInverse"
391 instance OpLeq x :< Op x where
392 inject = MkOpLeq
393 project (MkOpLeq x) = return x
394 project _ = failDoc "projecting OpLeq"
395 instance OpLexLeq x :< Op x where
396 inject = MkOpLexLeq
397 project (MkOpLexLeq x) = return x
398 project _ = failDoc "projecting OpLexLeq"
399 instance OpLexLt x :< Op x where
400 inject = MkOpLexLt
401 project (MkOpLexLt x) = return x
402 project _ = failDoc "projecting OpLexLt"
403 instance OpLt x :< Op x where
404 inject = MkOpLt
405 project (MkOpLt x) = return x
406 project _ = failDoc "projecting OpLt"
407 instance OpMakeTable x :< Op x where
408 inject = MkOpMakeTable
409 project (MkOpMakeTable x) = return x
410 project _ = failDoc "projecting OpMakeTable"
411 instance OpMax x :< Op x where
412 inject = MkOpMax
413 project (MkOpMax x) = return x
414 project _ = failDoc "projecting OpMax"
415 instance OpMin x :< Op x where
416 inject = MkOpMin
417 project (MkOpMin x) = return x
418 project _ = failDoc "projecting OpMin"
419 instance OpMinus x :< Op x where
420 inject = MkOpMinus
421 project (MkOpMinus x) = return x
422 project _ = failDoc "projecting OpMinus"
423 instance OpMod x :< Op x where
424 inject = MkOpMod
425 project (MkOpMod x) = return x
426 project _ = failDoc "projecting OpMod"
427 instance OpNegate x :< Op x where
428 inject = MkOpNegate
429 project (MkOpNegate x) = return x
430 project _ = failDoc "projecting OpNegate"
431 instance OpNeq x :< Op x where
432 inject = MkOpNeq
433 project (MkOpNeq x) = return x
434 project _ = failDoc "projecting OpNeq"
435 instance OpNot x :< Op x where
436 inject = MkOpNot
437 project (MkOpNot x) = return x
438 project _ = failDoc "projecting OpNot"
439 instance OpOr x :< Op x where
440 inject = MkOpOr
441 project (MkOpOr x) = return x
442 project _ = failDoc "projecting OpOr"
443 instance OpParticipants x :< Op x where
444 inject = MkOpParticipants
445 project (MkOpParticipants x) = return x
446 project _ = failDoc "projecting OpParticipants"
447 instance OpParts x :< Op x where
448 inject = MkOpParts
449 project (MkOpParts x) = return x
450 project _ = failDoc "projecting OpParts"
451 instance OpParty x :< Op x where
452 inject = MkOpParty
453 project (MkOpParty x) = return x
454 project _ = failDoc "projecting OpParty"
455 instance OpPermInverse x :< Op x where
456 inject = MkOpPermInverse
457 project (MkOpPermInverse x) = return x
458 project _ = failDoc "projecting OpPermInverse"
459 instance OpPow x :< Op x where
460 inject = MkOpPow
461 project (MkOpPow x) = return x
462 project _ = failDoc "projecting OpPow"
463 instance OpPowerSet x :< Op x where
464 inject = MkOpPowerSet
465 project (MkOpPowerSet x) = return x
466 project _ = failDoc "projecting OpPowerSet"
467 instance OpPreImage x :< Op x where
468 inject = MkOpPreImage
469 project (MkOpPreImage x) = return x
470 project _ = failDoc "projecting OpPreImage"
471 instance OpPred x :< Op x where
472 inject = MkOpPred
473 project (MkOpPred x) = return x
474 project _ = failDoc "projecting OpPred"
475 instance OpProduct x :< Op x where
476 inject = MkOpProduct
477 project (MkOpProduct x) = return x
478 project _ = failDoc "projecting OpProduct"
479 instance OpQuickPermutationOrder x :< Op x where
480 inject = MkOpQuickPermutationOrder
481 project (MkOpQuickPermutationOrder x) = return x
482 project _ = failDoc "projecting OpQuickPermutationOrder"
483 instance OpRange x :< Op x where
484 inject = MkOpRange
485 project (MkOpRange x) = return x
486 project _ = failDoc "projecting OpRange"
487 instance OpRelationProj x :< Op x where
488 inject = MkOpRelationProj
489 project (MkOpRelationProj x) = return x
490 project _ = failDoc "projecting OpRelationProj"
491 instance OpRestrict x :< Op x where
492 inject = MkOpRestrict
493 project (MkOpRestrict x) = return x
494 project _ = failDoc "projecting OpRestrict"
495 instance OpSlicing x :< Op x where
496 inject = MkOpSlicing
497 project (MkOpSlicing x) = return x
498 project _ = failDoc "projecting OpSlicing"
499 instance OpSubsequence x :< Op x where
500 inject = MkOpSubsequence
501 project (MkOpSubsequence x) = return x
502 project _ = failDoc "projecting OpSubsequence"
503 instance OpSubset x :< Op x where
504 inject = MkOpSubset
505 project (MkOpSubset x) = return x
506 project _ = failDoc "projecting OpSubset"
507 instance OpSubsetEq x :< Op x where
508 inject = MkOpSubsetEq
509 project (MkOpSubsetEq x) = return x
510 project _ = failDoc "projecting OpSubsetEq"
511 instance OpSubstring x :< Op x where
512 inject = MkOpSubstring
513 project (MkOpSubstring x) = return x
514 project _ = failDoc "projecting OpSubstring"
515 instance OpSucc x :< Op x where
516 inject = MkOpSucc
517 project (MkOpSucc x) = return x
518 project _ = failDoc "projecting OpSucc"
519 instance OpSum x :< Op x where
520 inject = MkOpSum
521 project (MkOpSum x) = return x
522 project _ = failDoc "projecting OpSum"
523 instance OpSupset x :< Op x where
524 inject = MkOpSupset
525 project (MkOpSupset x) = return x
526 project _ = failDoc "projecting OpSupset"
527 instance OpSupsetEq x :< Op x where
528 inject = MkOpSupsetEq
529 project (MkOpSupsetEq x) = return x
530 project _ = failDoc "projecting OpSupsetEq"
531 instance OpTable x :< Op x where
532 inject = MkOpTable
533 project (MkOpTable x) = return x
534 project _ = failDoc "projecting OpTable"
535 instance OpTildeLeq x :< Op x where
536 inject = MkOpTildeLeq
537 project (MkOpTildeLeq x) = return x
538 project _ = failDoc "projecting OpTildeLeq"
539 instance OpTildeLt x :< Op x where
540 inject = MkOpTildeLt
541 project (MkOpTildeLt x) = return x
542 project _ = failDoc "projecting OpTildeLt"
543 instance OpToInt x :< Op x where
544 inject = MkOpToInt
545 project (MkOpToInt x) = return x
546 project _ = failDoc "projecting OpToInt"
547 instance OpToMSet x :< Op x where
548 inject = MkOpToMSet
549 project (MkOpToMSet x) = return x
550 project _ = failDoc "projecting OpToMSet"
551 instance OpToRelation x :< Op x where
552 inject = MkOpToRelation
553 project (MkOpToRelation x) = return x
554 project _ = failDoc "projecting OpToRelation"
555 instance OpToSet x :< Op x where
556 inject = MkOpToSet
557 project (MkOpToSet x) = return x
558 project _ = failDoc "projecting OpToSet"
559 instance OpTogether x :< Op x where
560 inject = MkOpTogether
561 project (MkOpTogether x) = return x
562 project _ = failDoc "projecting OpTogether"
563 instance OpTransform x :< Op x where
564 inject = MkOpTransform
565 project (MkOpTransform x) = return x
566 project _ = failDoc "projecting OpTransform"
567 instance OpTrue x :< Op x where
568 inject = MkOpTrue
569 project (MkOpTrue x) = return x
570 project _ = failDoc "projecting OpTrue"
571 instance OpTwoBars x :< Op x where
572 inject = MkOpTwoBars
573 project (MkOpTwoBars x) = return x
574 project _ = failDoc "projecting OpTwoBars"
575 instance OpUnion x :< Op x where
576 inject = MkOpUnion
577 project (MkOpUnion x) = return x
578 project _ = failDoc "projecting OpUnion"
579 instance OpXor x :< Op x where
580 inject = MkOpXor
581 project (MkOpXor x) = return x
582 project _ = failDoc "projecting OpXor"
583
584 instance ( Pretty x
585 , Data x
586 , ExpressionLike x
587 , ReferenceContainer x
588 , TypeOf x
589 , Domain () x :< x
590 ) => TypeOf (Op x) where
591 typeOf (MkOpActive x) = typeOf x
592 typeOf (MkOpAllDiff x) = typeOf x
593 typeOf (MkOpAllDiffExcept x) = typeOf x
594 typeOf (MkOpAnd x) = typeOf x
595 typeOf (MkOpApart x) = typeOf x
596 typeOf (MkOpAtLeast x) = typeOf x
597 typeOf (MkOpAtMost x) = typeOf x
598 typeOf (MkOpAttributeAsConstraint x) = typeOf x
599 typeOf (MkOpCatchUndef x) = typeOf x
600 typeOf (MkOpCompose x) = typeOf x
601 typeOf (MkOpDefined x) = typeOf x
602 typeOf (MkOpDiv x) = typeOf x
603 typeOf (MkOpDontCare x) = typeOf x
604 typeOf (MkOpDotLeq x) = typeOf x
605 typeOf (MkOpDotLt x) = typeOf x
606 typeOf (MkOpElementId x) = typeOf x
607 typeOf (MkOpEq x) = typeOf x
608 typeOf (MkOpFactorial x) = typeOf x
609 typeOf (MkOpFlatten x) = typeOf x
610 typeOf (MkOpFreq x) = typeOf x
611 typeOf (MkOpGCC x) = typeOf x
612 typeOf (MkOpGeq x) = typeOf x
613 typeOf (MkOpGt x) = typeOf x
614 typeOf (MkOpHist x) = typeOf x
615 typeOf (MkOpIff x) = typeOf x
616 typeOf (MkOpImage x) = typeOf x
617 typeOf (MkOpImageSet x) = typeOf x
618 typeOf (MkOpImply x) = typeOf x
619 typeOf (MkOpIn x) = typeOf x
620 typeOf (MkOpIndexing x) = typeOf x
621 typeOf (MkOpIntersect x) = typeOf x
622 typeOf (MkOpInverse x) = typeOf x
623 typeOf (MkOpLeq x) = typeOf x
624 typeOf (MkOpLexLeq x) = typeOf x
625 typeOf (MkOpLexLt x) = typeOf x
626 typeOf (MkOpLt x) = typeOf x
627 typeOf (MkOpMakeTable x) = typeOf x
628 typeOf (MkOpMax x) = typeOf x
629 typeOf (MkOpMin x) = typeOf x
630 typeOf (MkOpMinus x) = typeOf x
631 typeOf (MkOpMod x) = typeOf x
632 typeOf (MkOpNegate x) = typeOf x
633 typeOf (MkOpNeq x) = typeOf x
634 typeOf (MkOpNot x) = typeOf x
635 typeOf (MkOpOr x) = typeOf x
636 typeOf (MkOpParticipants x) = typeOf x
637 typeOf (MkOpParts x) = typeOf x
638 typeOf (MkOpParty x) = typeOf x
639 typeOf (MkOpPermInverse x) = typeOf x
640 typeOf (MkOpPow x) = typeOf x
641 typeOf (MkOpPowerSet x) = typeOf x
642 typeOf (MkOpPreImage x) = typeOf x
643 typeOf (MkOpPred x) = typeOf x
644 typeOf (MkOpProduct x) = typeOf x
645 typeOf (MkOpQuickPermutationOrder x) = typeOf x
646 typeOf (MkOpRange x) = typeOf x
647 typeOf (MkOpRelationProj x) = typeOf x
648 typeOf (MkOpRestrict x) = typeOf x
649 typeOf (MkOpSlicing x) = typeOf x
650 typeOf (MkOpSubsequence x) = typeOf x
651 typeOf (MkOpSubset x) = typeOf x
652 typeOf (MkOpSubsetEq x) = typeOf x
653 typeOf (MkOpSubstring x) = typeOf x
654 typeOf (MkOpSucc x) = typeOf x
655 typeOf (MkOpSum x) = typeOf x
656 typeOf (MkOpSupset x) = typeOf x
657 typeOf (MkOpSupsetEq x) = typeOf x
658 typeOf (MkOpTable x) = typeOf x
659 typeOf (MkOpTildeLeq x) = typeOf x
660 typeOf (MkOpTildeLt x) = typeOf x
661 typeOf (MkOpToInt x) = typeOf x
662 typeOf (MkOpToMSet x) = typeOf x
663 typeOf (MkOpToRelation x) = typeOf x
664 typeOf (MkOpToSet x) = typeOf x
665 typeOf (MkOpTogether x) = typeOf x
666 typeOf (MkOpTransform x) = typeOf x
667 typeOf (MkOpTrue x) = typeOf x
668 typeOf (MkOpTwoBars x) = typeOf x
669 typeOf (MkOpUnion x) = typeOf x
670 typeOf (MkOpXor x) = typeOf x
671
672 instance ( OpActive x :< x
673 , OpAllDiff x :< x
674 , OpAllDiffExcept x :< x
675 , OpAnd x :< x
676 , OpApart x :< x
677 , OpAtLeast x :< x
678 , OpAtMost x :< x
679 , OpAttributeAsConstraint x :< x
680 , OpCatchUndef x :< x
681 , OpCompose x :< x
682 , OpDefined x :< x
683 , OpDiv x :< x
684 , OpDontCare x :< x
685 , OpDotLeq x :< x
686 , OpDotLt x :< x
687 , OpElementId x :< x
688 , OpEq x :< x
689 , OpFactorial x :< x
690 , OpFlatten x :< x
691 , OpFreq x :< x
692 , OpGCC x :< x
693 , OpGeq x :< x
694 , OpGt x :< x
695 , OpHist x :< x
696 , OpIff x :< x
697 , OpImage x :< x
698 , OpImageSet x :< x
699 , OpImply x :< x
700 , OpIn x :< x
701 , OpIndexing x :< x
702 , OpIntersect x :< x
703 , OpInverse x :< x
704 , OpLeq x :< x
705 , OpLexLeq x :< x
706 , OpLexLt x :< x
707 , OpLt x :< x
708 , OpMakeTable x :< x
709 , OpMax x :< x
710 , OpMin x :< x
711 , OpMinus x :< x
712 , OpMod x :< x
713 , OpNegate x :< x
714 , OpNeq x :< x
715 , OpNot x :< x
716 , OpOr x :< x
717 , OpParticipants x :< x
718 , OpParts x :< x
719 , OpParty x :< x
720 , OpPermInverse x :< x
721 , OpPow x :< x
722 , OpPowerSet x :< x
723 , OpPreImage x :< x
724 , OpPred x :< x
725 , OpProduct x :< x
726 , OpQuickPermutationOrder x :< x
727 , OpRange x :< x
728 , OpRelationProj x :< x
729 , OpRestrict x :< x
730 , OpSlicing x :< x
731 , OpSubsequence x :< x
732 , OpSubset x :< x
733 , OpSubsetEq x :< x
734 , OpSubstring x :< x
735 , OpSucc x :< x
736 , OpSum x :< x
737 , OpSupset x :< x
738 , OpSupsetEq x :< x
739 , OpTable x :< x
740 , OpTildeLeq x :< x
741 , OpTildeLt x :< x
742 , OpToInt x :< x
743 , OpToMSet x :< x
744 , OpToRelation x :< x
745 , OpToSet x :< x
746 , OpTogether x :< x
747 , OpTransform x :< x
748 , OpTrue x :< x
749 , OpTwoBars x :< x
750 , OpUnion x :< x
751 , OpXor x :< x) => SimplifyOp Op x where
752 simplifyOp (MkOpActive x) = simplifyOp x
753 simplifyOp (MkOpAllDiff x) = simplifyOp x
754 simplifyOp (MkOpAllDiffExcept x) = simplifyOp x
755 simplifyOp (MkOpAnd x) = simplifyOp x
756 simplifyOp (MkOpApart x) = simplifyOp x
757 simplifyOp (MkOpAtLeast x) = simplifyOp x
758 simplifyOp (MkOpAtMost x) = simplifyOp x
759 simplifyOp (MkOpAttributeAsConstraint x) = simplifyOp x
760 simplifyOp (MkOpCatchUndef x) = simplifyOp x
761 simplifyOp (MkOpCompose x) = simplifyOp x
762 simplifyOp (MkOpDefined x) = simplifyOp x
763 simplifyOp (MkOpDiv x) = simplifyOp x
764 simplifyOp (MkOpDontCare x) = simplifyOp x
765 simplifyOp (MkOpDotLeq x) = simplifyOp x
766 simplifyOp (MkOpDotLt x) = simplifyOp x
767 simplifyOp (MkOpElementId x) = simplifyOp x
768 simplifyOp (MkOpEq x) = simplifyOp x
769 simplifyOp (MkOpFactorial x) = simplifyOp x
770 simplifyOp (MkOpFlatten x) = simplifyOp x
771 simplifyOp (MkOpFreq x) = simplifyOp x
772 simplifyOp (MkOpGCC x) = simplifyOp x
773 simplifyOp (MkOpGeq x) = simplifyOp x
774 simplifyOp (MkOpGt x) = simplifyOp x
775 simplifyOp (MkOpHist x) = simplifyOp x
776 simplifyOp (MkOpIff x) = simplifyOp x
777 simplifyOp (MkOpImage x) = simplifyOp x
778 simplifyOp (MkOpImageSet x) = simplifyOp x
779 simplifyOp (MkOpImply x) = simplifyOp x
780 simplifyOp (MkOpIn x) = simplifyOp x
781 simplifyOp (MkOpIndexing x) = simplifyOp x
782 simplifyOp (MkOpIntersect x) = simplifyOp x
783 simplifyOp (MkOpInverse x) = simplifyOp x
784 simplifyOp (MkOpLeq x) = simplifyOp x
785 simplifyOp (MkOpLexLeq x) = simplifyOp x
786 simplifyOp (MkOpLexLt x) = simplifyOp x
787 simplifyOp (MkOpLt x) = simplifyOp x
788 simplifyOp (MkOpMakeTable x) = simplifyOp x
789 simplifyOp (MkOpMax x) = simplifyOp x
790 simplifyOp (MkOpMin x) = simplifyOp x
791 simplifyOp (MkOpMinus x) = simplifyOp x
792 simplifyOp (MkOpMod x) = simplifyOp x
793 simplifyOp (MkOpNegate x) = simplifyOp x
794 simplifyOp (MkOpNeq x) = simplifyOp x
795 simplifyOp (MkOpNot x) = simplifyOp x
796 simplifyOp (MkOpOr x) = simplifyOp x
797 simplifyOp (MkOpParticipants x) = simplifyOp x
798 simplifyOp (MkOpParts x) = simplifyOp x
799 simplifyOp (MkOpParty x) = simplifyOp x
800 simplifyOp (MkOpPermInverse x) = simplifyOp x
801 simplifyOp (MkOpPow x) = simplifyOp x
802 simplifyOp (MkOpPowerSet x) = simplifyOp x
803 simplifyOp (MkOpPreImage x) = simplifyOp x
804 simplifyOp (MkOpPred x) = simplifyOp x
805 simplifyOp (MkOpProduct x) = simplifyOp x
806 simplifyOp (MkOpQuickPermutationOrder x) = simplifyOp x
807 simplifyOp (MkOpRange x) = simplifyOp x
808 simplifyOp (MkOpRelationProj x) = simplifyOp x
809 simplifyOp (MkOpRestrict x) = simplifyOp x
810 simplifyOp (MkOpSlicing x) = simplifyOp x
811 simplifyOp (MkOpSubsequence x) = simplifyOp x
812 simplifyOp (MkOpSubset x) = simplifyOp x
813 simplifyOp (MkOpSubsetEq x) = simplifyOp x
814 simplifyOp (MkOpSubstring x) = simplifyOp x
815 simplifyOp (MkOpSucc x) = simplifyOp x
816 simplifyOp (MkOpSum x) = simplifyOp x
817 simplifyOp (MkOpSupset x) = simplifyOp x
818 simplifyOp (MkOpSupsetEq x) = simplifyOp x
819 simplifyOp (MkOpTable x) = simplifyOp x
820 simplifyOp (MkOpTildeLeq x) = simplifyOp x
821 simplifyOp (MkOpTildeLt x) = simplifyOp x
822 simplifyOp (MkOpToInt x) = simplifyOp x
823 simplifyOp (MkOpToMSet x) = simplifyOp x
824 simplifyOp (MkOpToRelation x) = simplifyOp x
825 simplifyOp (MkOpToSet x) = simplifyOp x
826 simplifyOp (MkOpTogether x) = simplifyOp x
827 simplifyOp (MkOpTransform x) = simplifyOp x
828 simplifyOp (MkOpTrue x) = simplifyOp x
829 simplifyOp (MkOpTwoBars x) = simplifyOp x
830 simplifyOp (MkOpUnion x) = simplifyOp x
831 simplifyOp (MkOpXor x) = simplifyOp x
832
833 instance (Pretty x, ExpressionLike x) => Pretty (Op x) where
834 prettyPrec prec (MkOpActive x) = prettyPrec prec x
835 prettyPrec prec (MkOpAllDiff x) = prettyPrec prec x
836 prettyPrec prec (MkOpAllDiffExcept x) = prettyPrec prec x
837 prettyPrec prec (MkOpAnd x) = prettyPrec prec x
838 prettyPrec prec (MkOpApart x) = prettyPrec prec x
839 prettyPrec prec (MkOpAtLeast x) = prettyPrec prec x
840 prettyPrec prec (MkOpAtMost x) = prettyPrec prec x
841 prettyPrec prec (MkOpAttributeAsConstraint x) = prettyPrec prec x
842 prettyPrec prec (MkOpCatchUndef x) = prettyPrec prec x
843 prettyPrec prec (MkOpCompose x) = prettyPrec prec x
844 prettyPrec prec (MkOpDefined x) = prettyPrec prec x
845 prettyPrec prec (MkOpDiv x) = prettyPrec prec x
846 prettyPrec prec (MkOpDontCare x) = prettyPrec prec x
847 prettyPrec prec (MkOpDotLeq x) = prettyPrec prec x
848 prettyPrec prec (MkOpDotLt x) = prettyPrec prec x
849 prettyPrec prec (MkOpElementId x) = prettyPrec prec x
850 prettyPrec prec (MkOpEq x) = prettyPrec prec x
851 prettyPrec prec (MkOpFactorial x) = prettyPrec prec x
852 prettyPrec prec (MkOpFlatten x) = prettyPrec prec x
853 prettyPrec prec (MkOpFreq x) = prettyPrec prec x
854 prettyPrec prec (MkOpGCC x) = prettyPrec prec x
855 prettyPrec prec (MkOpGeq x) = prettyPrec prec x
856 prettyPrec prec (MkOpGt x) = prettyPrec prec x
857 prettyPrec prec (MkOpHist x) = prettyPrec prec x
858 prettyPrec prec (MkOpIff x) = prettyPrec prec x
859 prettyPrec prec (MkOpImage x) = prettyPrec prec x
860 prettyPrec prec (MkOpImageSet x) = prettyPrec prec x
861 prettyPrec prec (MkOpImply x) = prettyPrec prec x
862 prettyPrec prec (MkOpIn x) = prettyPrec prec x
863 prettyPrec prec (MkOpIndexing x) = prettyPrec prec x
864 prettyPrec prec (MkOpIntersect x) = prettyPrec prec x
865 prettyPrec prec (MkOpInverse x) = prettyPrec prec x
866 prettyPrec prec (MkOpLeq x) = prettyPrec prec x
867 prettyPrec prec (MkOpLexLeq x) = prettyPrec prec x
868 prettyPrec prec (MkOpLexLt x) = prettyPrec prec x
869 prettyPrec prec (MkOpLt x) = prettyPrec prec x
870 prettyPrec prec (MkOpMakeTable x) = prettyPrec prec x
871 prettyPrec prec (MkOpMax x) = prettyPrec prec x
872 prettyPrec prec (MkOpMin x) = prettyPrec prec x
873 prettyPrec prec (MkOpMinus x) = prettyPrec prec x
874 prettyPrec prec (MkOpMod x) = prettyPrec prec x
875 prettyPrec prec (MkOpNegate x) = prettyPrec prec x
876 prettyPrec prec (MkOpNeq x) = prettyPrec prec x
877 prettyPrec prec (MkOpNot x) = prettyPrec prec x
878 prettyPrec prec (MkOpOr x) = prettyPrec prec x
879 prettyPrec prec (MkOpParticipants x) = prettyPrec prec x
880 prettyPrec prec (MkOpParts x) = prettyPrec prec x
881 prettyPrec prec (MkOpParty x) = prettyPrec prec x
882 prettyPrec prec (MkOpPermInverse x) = prettyPrec prec x
883 prettyPrec prec (MkOpPow x) = prettyPrec prec x
884 prettyPrec prec (MkOpPowerSet x) = prettyPrec prec x
885 prettyPrec prec (MkOpPreImage x) = prettyPrec prec x
886 prettyPrec prec (MkOpPred x) = prettyPrec prec x
887 prettyPrec prec (MkOpProduct x) = prettyPrec prec x
888 prettyPrec prec (MkOpQuickPermutationOrder x) = prettyPrec prec x
889 prettyPrec prec (MkOpRange x) = prettyPrec prec x
890 prettyPrec prec (MkOpRelationProj x) = prettyPrec prec x
891 prettyPrec prec (MkOpRestrict x) = prettyPrec prec x
892 prettyPrec prec (MkOpSlicing x) = prettyPrec prec x
893 prettyPrec prec (MkOpSubsequence x) = prettyPrec prec x
894 prettyPrec prec (MkOpSubset x) = prettyPrec prec x
895 prettyPrec prec (MkOpSubsetEq x) = prettyPrec prec x
896 prettyPrec prec (MkOpSubstring x) = prettyPrec prec x
897 prettyPrec prec (MkOpSucc x) = prettyPrec prec x
898 prettyPrec prec (MkOpSum x) = prettyPrec prec x
899 prettyPrec prec (MkOpSupset x) = prettyPrec prec x
900 prettyPrec prec (MkOpSupsetEq x) = prettyPrec prec x
901 prettyPrec prec (MkOpTable x) = prettyPrec prec x
902 prettyPrec prec (MkOpTildeLeq x) = prettyPrec prec x
903 prettyPrec prec (MkOpTildeLt x) = prettyPrec prec x
904 prettyPrec prec (MkOpToInt x) = prettyPrec prec x
905 prettyPrec prec (MkOpToMSet x) = prettyPrec prec x
906 prettyPrec prec (MkOpToRelation x) = prettyPrec prec x
907 prettyPrec prec (MkOpToSet x) = prettyPrec prec x
908 prettyPrec prec (MkOpTogether x) = prettyPrec prec x
909 prettyPrec prec (MkOpTransform x) = prettyPrec prec x
910 prettyPrec prec (MkOpTrue x) = prettyPrec prec x
911 prettyPrec prec (MkOpTwoBars x) = prettyPrec prec x
912 prettyPrec prec (MkOpUnion x) = prettyPrec prec x
913 prettyPrec prec (MkOpXor x) = prettyPrec prec x
914
915 instance (VarSymBreakingDescription x, ExpressionLike x) => VarSymBreakingDescription (Op x) where
916 varSymBreakingDescription (MkOpActive x) = varSymBreakingDescription x
917 varSymBreakingDescription (MkOpAllDiff x) = varSymBreakingDescription x
918 varSymBreakingDescription (MkOpAllDiffExcept x) = varSymBreakingDescription x
919 varSymBreakingDescription (MkOpAnd x) = varSymBreakingDescription x
920 varSymBreakingDescription (MkOpApart x) = varSymBreakingDescription x
921 varSymBreakingDescription (MkOpAtLeast x) = varSymBreakingDescription x
922 varSymBreakingDescription (MkOpAtMost x) = varSymBreakingDescription x
923 varSymBreakingDescription (MkOpAttributeAsConstraint x) = varSymBreakingDescription x
924 varSymBreakingDescription (MkOpCatchUndef x) = varSymBreakingDescription x
925 varSymBreakingDescription (MkOpCompose x) = varSymBreakingDescription x
926 varSymBreakingDescription (MkOpDefined x) = varSymBreakingDescription x
927 varSymBreakingDescription (MkOpDiv x) = varSymBreakingDescription x
928 varSymBreakingDescription (MkOpDontCare x) = varSymBreakingDescription x
929 varSymBreakingDescription (MkOpDotLeq x) = varSymBreakingDescription x
930 varSymBreakingDescription (MkOpDotLt x) = varSymBreakingDescription x
931 varSymBreakingDescription (MkOpElementId x) = varSymBreakingDescription x
932 varSymBreakingDescription (MkOpEq x) = varSymBreakingDescription x
933 varSymBreakingDescription (MkOpFactorial x) = varSymBreakingDescription x
934 varSymBreakingDescription (MkOpFlatten x) = varSymBreakingDescription x
935 varSymBreakingDescription (MkOpFreq x) = varSymBreakingDescription x
936 varSymBreakingDescription (MkOpGCC x) = varSymBreakingDescription x
937 varSymBreakingDescription (MkOpGeq x) = varSymBreakingDescription x
938 varSymBreakingDescription (MkOpGt x) = varSymBreakingDescription x
939 varSymBreakingDescription (MkOpHist x) = varSymBreakingDescription x
940 varSymBreakingDescription (MkOpIff x) = varSymBreakingDescription x
941 varSymBreakingDescription (MkOpImage x) = varSymBreakingDescription x
942 varSymBreakingDescription (MkOpImageSet x) = varSymBreakingDescription x
943 varSymBreakingDescription (MkOpImply x) = varSymBreakingDescription x
944 varSymBreakingDescription (MkOpIn x) = varSymBreakingDescription x
945 varSymBreakingDescription (MkOpIndexing x) = varSymBreakingDescription x
946 varSymBreakingDescription (MkOpIntersect x) = varSymBreakingDescription x
947 varSymBreakingDescription (MkOpInverse x) = varSymBreakingDescription x
948 varSymBreakingDescription (MkOpLeq x) = varSymBreakingDescription x
949 varSymBreakingDescription (MkOpLexLeq x) = varSymBreakingDescription x
950 varSymBreakingDescription (MkOpLexLt x) = varSymBreakingDescription x
951 varSymBreakingDescription (MkOpLt x) = varSymBreakingDescription x
952 varSymBreakingDescription (MkOpMakeTable x) = varSymBreakingDescription x
953 varSymBreakingDescription (MkOpMax x) = varSymBreakingDescription x
954 varSymBreakingDescription (MkOpMin x) = varSymBreakingDescription x
955 varSymBreakingDescription (MkOpMinus x) = varSymBreakingDescription x
956 varSymBreakingDescription (MkOpMod x) = varSymBreakingDescription x
957 varSymBreakingDescription (MkOpNegate x) = varSymBreakingDescription x
958 varSymBreakingDescription (MkOpNeq x) = varSymBreakingDescription x
959 varSymBreakingDescription (MkOpNot x) = varSymBreakingDescription x
960 varSymBreakingDescription (MkOpOr x) = varSymBreakingDescription x
961 varSymBreakingDescription (MkOpParticipants x) = varSymBreakingDescription x
962 varSymBreakingDescription (MkOpParts x) = varSymBreakingDescription x
963 varSymBreakingDescription (MkOpParty x) = varSymBreakingDescription x
964 varSymBreakingDescription (MkOpPermInverse x) = varSymBreakingDescription x
965 varSymBreakingDescription (MkOpPow x) = varSymBreakingDescription x
966 varSymBreakingDescription (MkOpPowerSet x) = varSymBreakingDescription x
967 varSymBreakingDescription (MkOpPreImage x) = varSymBreakingDescription x
968 varSymBreakingDescription (MkOpPred x) = varSymBreakingDescription x
969 varSymBreakingDescription (MkOpProduct x) = varSymBreakingDescription x
970 varSymBreakingDescription (MkOpQuickPermutationOrder x) = varSymBreakingDescription x
971 varSymBreakingDescription (MkOpRange x) = varSymBreakingDescription x
972 varSymBreakingDescription (MkOpRelationProj x) = varSymBreakingDescription x
973 varSymBreakingDescription (MkOpRestrict x) = varSymBreakingDescription x
974 varSymBreakingDescription (MkOpSlicing x) = varSymBreakingDescription x
975 varSymBreakingDescription (MkOpSubsequence x) = varSymBreakingDescription x
976 varSymBreakingDescription (MkOpSubset x) = varSymBreakingDescription x
977 varSymBreakingDescription (MkOpSubsetEq x) = varSymBreakingDescription x
978 varSymBreakingDescription (MkOpSubstring x) = varSymBreakingDescription x
979 varSymBreakingDescription (MkOpSucc x) = varSymBreakingDescription x
980 varSymBreakingDescription (MkOpSum x) = varSymBreakingDescription x
981 varSymBreakingDescription (MkOpSupset x) = varSymBreakingDescription x
982 varSymBreakingDescription (MkOpSupsetEq x) = varSymBreakingDescription x
983 varSymBreakingDescription (MkOpTable x) = varSymBreakingDescription x
984 varSymBreakingDescription (MkOpTildeLeq x) = varSymBreakingDescription x
985 varSymBreakingDescription (MkOpTildeLt x) = varSymBreakingDescription x
986 varSymBreakingDescription (MkOpToInt x) = varSymBreakingDescription x
987 varSymBreakingDescription (MkOpToMSet x) = varSymBreakingDescription x
988 varSymBreakingDescription (MkOpToRelation x) = varSymBreakingDescription x
989 varSymBreakingDescription (MkOpToSet x) = varSymBreakingDescription x
990 varSymBreakingDescription (MkOpTogether x) = varSymBreakingDescription x
991 varSymBreakingDescription (MkOpTransform x) = varSymBreakingDescription x
992 varSymBreakingDescription (MkOpTrue x) = varSymBreakingDescription x
993 varSymBreakingDescription (MkOpTwoBars x) = varSymBreakingDescription x
994 varSymBreakingDescription (MkOpUnion x) = varSymBreakingDescription x
995 varSymBreakingDescription (MkOpXor x) = varSymBreakingDescription x