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