diff --git a/docs/conjure-help.html b/docs/conjure-help.html index 4063fbd402..c5b17a7b79 100644 --- a/docs/conjure-help.html +++ b/docs/conjure-help.html @@ -40,11 +40,8 @@  --representations-cuts=STRATEGYStrategy for choosing a representation for cuts in 'branching on'.
Default value: same as --representations  --channellingWhether to produce channelled models (true by default).
 --representation-levelsWhether to use built-in precedence levels when choosing representations. Used to cut down the number of generated models.
Default: true -<<<<<<< HEAD  --unnamed-symmetry-breaking=ITEMLevel to use for breaking symmetries arising from unnamed types. Options: none / fast-consecutive / fast-allpairs / complete-independently / complete.
Default: none -=======  --follow-model=ITEMProvide a Conjure-generated Essence Prime model to be used as a guide during model generation. Conjure will try to imitate the modelling decisions from this file. ->>>>>>> main  --seed=INTRandom number generator seed.  --limit-models=INTMaximum number of models to generate.  --choices=FILEChoices to use for -al, either an eprime file (created by --log-choices), or a json file. @@ -134,11 +131,8 @@  --representations-cuts=STRATEGYStrategy for choosing a representation for cuts in 'branching on'.
Default value: same as --representations  --channellingWhether to produce channelled models (true by default).
 --representation-levelsWhether to use built-in precedence levels when choosing representations. Used to cut down the number of generated models.
Default: true -<<<<<<< HEAD  --unnamed-symmetry-breaking=ITEMLevel to use for breaking symmetries arising from unnamed types. Options: none / fast-consecutive / fast-allpairs / complete-independently / complete.
Default: none -=======  --follow-model=ITEMProvide a Conjure-generated Essence Prime model to be used as a guide during model generation. Conjure will try to imitate the modelling decisions from this file. ->>>>>>> main  --seed=INTRandom number generator seed.  --limit-models=INTMaximum number of models to generate.  --use-existing-models=FILEFile names of Essence' models generated beforehand.
If given, Conjure skips the modelling phase and uses the existing models for solving.
The models should be inside the output directory (See -o). diff --git a/docs/conjure-help.txt b/docs/conjure-help.txt index 60018ac460..bf34cb8af9 100644 --- a/docs/conjure-help.txt +++ b/docs/conjure-help.txt @@ -80,16 +80,13 @@ --representation-levels Whether to use built-in precedence levels when choosing representations. Used to cut down the number of generated models. Default: true -<<<<<<< HEAD --unnamed-symmetry-breaking=ITEM Level to use for breaking symmetries arising from unnamed types. Options: none / fast-consecutive / fast-allpairs / complete-independently / complete. Default: none -======= --follow-model=ITEM Provide a Conjure-generated Essence Prime model to be used as a guide during model generation. Conjure will try to imitate the modelling decisions from this file. ->>>>>>> main --seed=INT Random number generator seed. --limit-models=INT Maximum number of models to generate. --choices=FILE Choices to use for -al, either an eprime file (created by @@ -259,16 +256,13 @@ --representation-levels Whether to use built-in precedence levels when choosing representations. Used to cut down the number of generated models. Default: true -<<<<<<< HEAD --unnamed-symmetry-breaking=ITEM Level to use for breaking symmetries arising from unnamed types. Options: none / fast-consecutive / fast-allpairs / complete-independently / complete. Default: none -======= --follow-model=ITEM Provide a Conjure-generated Essence Prime model to be used as a guide during model generation. Conjure will try to imitate the modelling decisions from this file. ->>>>>>> main --seed=INT Random number generator seed. --limit-models=INT Maximum number of models to generate. --use-existing-models=FILE File names of Essence' models generated beforehand. diff --git a/src/Conjure/Compute/DomainOf.hs.orig b/src/Conjure/Compute/DomainOf.hs.orig deleted file mode 100644 index f8f435e242..0000000000 --- a/src/Conjure/Compute/DomainOf.hs.orig +++ /dev/null @@ -1,668 +0,0 @@ -{-# LANGUAGE QuasiQuotes #-} -{-# LANGUAGE UndecidableInstances #-} - -module Conjure.Compute.DomainOf ( DomainOf(..), domainOfR ) where - --- conjure -import Conjure.Prelude -import Conjure.Bug - -import Conjure.Language -import Conjure.Language.Domain ( HasRepresentation(..) ) -import Conjure.Language.RepresentationOf ( RepresentationOf(..) ) -import Conjure.Compute.DomainUnion - - -type Dom = Domain () Expression - -class DomainOf a where - - -- | calculate the domain of `a` - domainOf :: - MonadFail m => - NameGen m => - (?typeCheckerMode :: TypeCheckerMode) => - a -> m Dom - - -- | calculate the index domains of `a` - -- the index is the index of a matrix. - -- returns [] for non-matrix inputs. - -- has a default implementation in terms of domainOf, so doesn't need to be implemented specifically. - -- but sometimes it is better to implement this directly. - indexDomainsOf :: - MonadFail m => - NameGen m => - Pretty a => - (?typeCheckerMode :: TypeCheckerMode) => - a -> m [Dom] - indexDomainsOf = defIndexDomainsOf - - -domainOfR :: - DomainOf a => - RepresentationOf a => - MonadFail m => - NameGen m => - (?typeCheckerMode :: TypeCheckerMode) => - a -> m (Domain HasRepresentation Expression) -domainOfR inp = do - dom <- domainOf inp - rTree <- representationTreeOf inp - applyReprTree dom rTree - - -defIndexDomainsOf :: - MonadFail m => - NameGen m => - DomainOf a => - (?typeCheckerMode :: TypeCheckerMode) => - a -> m [Dom] -defIndexDomainsOf x = do - dom <- domainOf x - let - collect (DomainMatrix index inner) = index : collect inner - collect _ = [] - return (collect dom) - -instance DomainOf ReferenceTo where - domainOf (Alias x) = domainOf x - domainOf (InComprehension (GenDomainNoRepr Single{} dom)) = return dom - domainOf (InComprehension (GenDomainHasRepr _ dom)) = return (forgetRepr dom) - domainOf (InComprehension (GenInExpr Single{} x)) = domainOf x >>= innerDomainOf - domainOf x@InComprehension{} = fail $ vcat [ "domainOf-ReferenceTo-InComprehension", pretty x, pretty (show x) ] - domainOf (DeclNoRepr _ _ dom _) = return dom - domainOf (DeclHasRepr _ _ dom ) = return (forgetRepr dom) - domainOf RecordField{} = fail "domainOf-ReferenceTo-RecordField" - domainOf VariantField{} = fail "domainOf-ReferenceTo-VariantField" - - -instance DomainOf Expression where - domainOf (Reference _ (Just refTo)) = domainOf refTo - domainOf (Constant x) = domainOf x - domainOf (AbstractLiteral x) = domainOf x - domainOf (Op x) = domainOf x - domainOf (WithLocals h _) = domainOf h - domainOf x = fail ("domainOf{Expression}:" <+> pretty (show x)) - - -- if an empty matrix literal has a type annotation - indexDomainsOf (Typed lit ty) | emptyCollectionX lit = - let - tyToDom (TypeMatrix (TypeInt nm) t) = DomainInt nm [RangeBounded 1 0] : tyToDom t - tyToDom _ = [] - in - return (tyToDom ty) - - indexDomainsOf (Reference _ (Just refTo)) = indexDomainsOf refTo - indexDomainsOf (Constant x) = indexDomainsOf x - indexDomainsOf (AbstractLiteral x) = indexDomainsOf x - indexDomainsOf (Op x) = indexDomainsOf x - indexDomainsOf (WithLocals h _) = indexDomainsOf h - indexDomainsOf x = fail ("indexDomainsOf{Expression}:" <+> pretty (show x)) - --- this should be better implemented by some ghc-generics magic -instance (DomainOf x, TypeOf x, Pretty x, ExpressionLike x, Domain () x :< x, Dom :< x) => DomainOf (Op x) where - domainOf (MkOpActive x) = domainOf x - domainOf (MkOpAllDiff x) = domainOf x - domainOf (MkOpAllDiffExcept x) = domainOf x - domainOf (MkOpAnd x) = domainOf x - domainOf (MkOpApart x) = domainOf x - domainOf (MkOpCompose x) = domainOf x - domainOf (MkOpAttributeAsConstraint x) = domainOf x - domainOf (MkOpCatchUndef x) = domainOf x - domainOf (MkOpDefined x) = domainOf x - domainOf (MkOpDiv x) = domainOf x - domainOf (MkOpDontCare x) = domainOf x - domainOf (MkOpDotLeq x) = domainOf x - domainOf (MkOpDotLt x) = domainOf x - domainOf (MkOpEq x) = domainOf x - domainOf (MkOpFactorial x) = domainOf x - domainOf (MkOpFlatten x) = domainOf x - domainOf (MkOpFreq x) = domainOf x - domainOf (MkOpGeq x) = domainOf x - domainOf (MkOpGt x) = domainOf x - domainOf (MkOpHist x) = domainOf x - domainOf (MkOpIff x) = domainOf x - domainOf (MkOpImage x) = domainOf x - domainOf (MkOpImageSet x) = domainOf x - domainOf (MkOpImply x) = domainOf x - domainOf (MkOpIn x) = domainOf x - domainOf (MkOpIndexing x) = domainOf x - domainOf (MkOpIntersect x) = domainOf x - domainOf (MkOpInverse x) = domainOf x - domainOf (MkOpLeq x) = domainOf x - domainOf (MkOpLexLeq x) = domainOf x - domainOf (MkOpLexLt x) = domainOf x - domainOf (MkOpLt x) = domainOf x - domainOf (MkOpMax x) = domainOf x - domainOf (MkOpMin x) = domainOf x - domainOf (MkOpMinus x) = domainOf x - domainOf (MkOpMod x) = domainOf x - domainOf (MkOpNegate x) = domainOf x - domainOf (MkOpNeq x) = domainOf x - domainOf (MkOpNot x) = domainOf x - domainOf (MkOpOr x) = domainOf x - domainOf (MkOpParticipants x) = domainOf x - domainOf (MkOpParts x) = domainOf x - domainOf (MkOpParty x) = domainOf x - domainOf (MkOpPow x) = domainOf x - domainOf (MkOpPowerSet x) = domainOf x - domainOf (MkOpPred x) = domainOf x - domainOf (MkOpPreImage x) = domainOf x - domainOf (MkOpProduct x) = domainOf x - domainOf (MkOpRange x) = domainOf x - domainOf (MkOpRelationProj x) = domainOf x - domainOf (MkOpRestrict x) = domainOf x - domainOf (MkOpSlicing x) = domainOf x - domainOf (MkOpSubsequence x) = domainOf x - domainOf (MkOpSubset x) = domainOf x - domainOf (MkOpSubsetEq x) = domainOf x - domainOf (MkOpSubstring x) = domainOf x - domainOf (MkOpSucc x) = domainOf x - domainOf (MkOpSum x) = domainOf x - domainOf (MkOpSupset x) = domainOf x - domainOf (MkOpSupsetEq x) = domainOf x - domainOf (MkOpTildeLeq x) = domainOf x - domainOf (MkOpTildeLt x) = domainOf x - domainOf (MkOpTogether x) = domainOf x - domainOf (MkOpToInt x) = domainOf x - domainOf (MkOpToMSet x) = domainOf x - domainOf (MkOpToRelation x) = domainOf x - domainOf (MkOpToSet x) = domainOf x - domainOf (MkOpTransform x) = domainOf x - domainOf (MkOpTrue x) = domainOf x - domainOf (MkOpTwoBars x) = domainOf x - domainOf (MkOpUnion x) = domainOf x - domainOf (MkOpXor x) = domainOf x - - indexDomainsOf (MkOpActive x) = indexDomainsOf x - indexDomainsOf (MkOpAllDiff x) = indexDomainsOf x - indexDomainsOf (MkOpAllDiffExcept x) = indexDomainsOf x - indexDomainsOf (MkOpAnd x) = indexDomainsOf x - indexDomainsOf (MkOpApart x) = indexDomainsOf x - indexDomainsOf (MkOpCompose x) = indexDomainsOf x - indexDomainsOf (MkOpAttributeAsConstraint x) = indexDomainsOf x - indexDomainsOf (MkOpCatchUndef x) = indexDomainsOf x - indexDomainsOf (MkOpDefined x) = indexDomainsOf x - indexDomainsOf (MkOpDiv x) = indexDomainsOf x - indexDomainsOf (MkOpDontCare x) = indexDomainsOf x - indexDomainsOf (MkOpDotLeq x) = indexDomainsOf x - indexDomainsOf (MkOpDotLt x) = indexDomainsOf x - indexDomainsOf (MkOpEq x) = indexDomainsOf x - indexDomainsOf (MkOpFactorial x) = indexDomainsOf x - indexDomainsOf (MkOpFlatten x) = indexDomainsOf x - indexDomainsOf (MkOpFreq x) = indexDomainsOf x - indexDomainsOf (MkOpGeq x) = indexDomainsOf x - indexDomainsOf (MkOpGt x) = indexDomainsOf x - indexDomainsOf (MkOpHist x) = indexDomainsOf x - indexDomainsOf (MkOpIff x) = indexDomainsOf x - indexDomainsOf (MkOpImage x) = indexDomainsOf x - indexDomainsOf (MkOpImageSet x) = indexDomainsOf x - indexDomainsOf (MkOpImply x) = indexDomainsOf x - indexDomainsOf (MkOpIn x) = indexDomainsOf x - indexDomainsOf (MkOpIndexing x) = indexDomainsOf x - indexDomainsOf (MkOpIntersect x) = indexDomainsOf x - indexDomainsOf (MkOpInverse x) = indexDomainsOf x - indexDomainsOf (MkOpLeq x) = indexDomainsOf x - indexDomainsOf (MkOpLexLeq x) = indexDomainsOf x - indexDomainsOf (MkOpLexLt x) = indexDomainsOf x - indexDomainsOf (MkOpLt x) = indexDomainsOf x - indexDomainsOf (MkOpMax x) = indexDomainsOf x - indexDomainsOf (MkOpMin x) = indexDomainsOf x - indexDomainsOf (MkOpMinus x) = indexDomainsOf x - indexDomainsOf (MkOpMod x) = indexDomainsOf x - indexDomainsOf (MkOpNegate x) = indexDomainsOf x - indexDomainsOf (MkOpNeq x) = indexDomainsOf x - indexDomainsOf (MkOpNot x) = indexDomainsOf x - indexDomainsOf (MkOpOr x) = indexDomainsOf x - indexDomainsOf (MkOpParticipants x) = indexDomainsOf x - indexDomainsOf (MkOpParts x) = indexDomainsOf x - indexDomainsOf (MkOpParty x) = indexDomainsOf x - indexDomainsOf (MkOpPow x) = indexDomainsOf x - indexDomainsOf (MkOpPowerSet x) = indexDomainsOf x - indexDomainsOf (MkOpPred x) = indexDomainsOf x - indexDomainsOf (MkOpPreImage x) = indexDomainsOf x - indexDomainsOf (MkOpProduct x) = indexDomainsOf x - indexDomainsOf (MkOpRange x) = indexDomainsOf x - indexDomainsOf (MkOpRelationProj x) = indexDomainsOf x - indexDomainsOf (MkOpRestrict x) = indexDomainsOf x - indexDomainsOf (MkOpSlicing x) = indexDomainsOf x - indexDomainsOf (MkOpSubsequence x) = indexDomainsOf x - indexDomainsOf (MkOpSubset x) = indexDomainsOf x - indexDomainsOf (MkOpSubsetEq x) = indexDomainsOf x - indexDomainsOf (MkOpSubstring x) = indexDomainsOf x - indexDomainsOf (MkOpSucc x) = indexDomainsOf x - indexDomainsOf (MkOpSum x) = indexDomainsOf x - indexDomainsOf (MkOpSupset x) = indexDomainsOf x - indexDomainsOf (MkOpSupsetEq x) = indexDomainsOf x - indexDomainsOf (MkOpTildeLeq x) = indexDomainsOf x - indexDomainsOf (MkOpTildeLt x) = indexDomainsOf x - indexDomainsOf (MkOpTogether x) = indexDomainsOf x - indexDomainsOf (MkOpToInt x) = indexDomainsOf x - indexDomainsOf (MkOpToMSet x) = indexDomainsOf x - indexDomainsOf (MkOpToRelation x) = indexDomainsOf x - indexDomainsOf (MkOpToSet x) = indexDomainsOf x - indexDomainsOf (MkOpTransform (OpTransform _ x)) = indexDomainsOf x - indexDomainsOf (MkOpTrue x) = indexDomainsOf x - indexDomainsOf (MkOpTwoBars x) = indexDomainsOf x - indexDomainsOf (MkOpUnion x) = indexDomainsOf x - indexDomainsOf (MkOpXor x) = indexDomainsOf x - -instance DomainOf Constant where - domainOf ConstantBool{} = return DomainBool - domainOf i@(ConstantInt t _) = return $ DomainInt t [RangeSingle (Constant i)] - domainOf (ConstantEnum defn _ _ ) = return (DomainEnum defn Nothing Nothing) - domainOf ConstantField{} = fail "DomainOf-Constant-ConstantField" - domainOf (ConstantAbstract x) = domainOf (fmap Constant x) - domainOf (DomainInConstant dom) = return (fmap Constant dom) - domainOf (TypedConstant x ty) = domainOf (Typed (Constant x) ty) - domainOf ConstantUndefined{} = fail "DomainOf-Constant-ConstantUndefined" - - indexDomainsOf ConstantBool{} = return [] - indexDomainsOf ConstantInt{} = return [] - indexDomainsOf ConstantEnum{} = return [] - indexDomainsOf ConstantField{} = return [] - indexDomainsOf (ConstantAbstract x) = indexDomainsOf (fmap Constant x) - indexDomainsOf DomainInConstant{} = return [] - indexDomainsOf (TypedConstant x ty) = indexDomainsOf (Typed (Constant x) ty) - indexDomainsOf ConstantUndefined{} = return [] - -instance DomainOf (AbstractLiteral Expression) where - - domainOf (AbsLitTuple xs) = DomainTuple <$> mapM domainOf xs - - domainOf (AbsLitRecord xs) = DomainRecord <$> sequence [ do t <- domainOf x ; return (n,t) - | (n,x) <- xs ] - - domainOf (AbsLitVariant Nothing _ _) = fail "Cannot calculate the domain of variant literal." - domainOf (AbsLitVariant (Just t) _ _) = return (DomainVariant t) - - domainOf (AbsLitMatrix ind inn ) = DomainMatrix ind <$> (domainUnions =<< mapM domainOf inn) - - domainOf (AbsLitSet [] ) = return $ DomainSet def attr (DomainAny "domainOf-AbsLitSet-[]" TypeAny) - where attr = SetAttr (SizeAttr_Size 0) - domainOf (AbsLitSet xs ) = DomainSet def attr <$> (domainUnions =<< mapM domainOf xs) - where attr = SetAttr (SizeAttr_MaxSize $ fromInt $ genericLength xs) - - domainOf (AbsLitMSet [] ) = return $ DomainMSet def attr (DomainAny "domainOf-AbsLitMSet-[]" TypeAny) - where attr = MSetAttr (SizeAttr_Size 0) OccurAttr_None - domainOf (AbsLitMSet xs ) = DomainMSet def attr <$> (domainUnions =<< mapM domainOf xs) - where attr = MSetAttr (SizeAttr_MaxSize $ fromInt $ genericLength xs) OccurAttr_None - - domainOf (AbsLitFunction [] ) = return $ DomainFunction def attr - (DomainAny "domainOf-AbsLitFunction-[]-1" TypeAny) - (DomainAny "domainOf-AbsLitFunction-[]-2" TypeAny) - where attr = FunctionAttr (SizeAttr_Size 0) def def - domainOf (AbsLitFunction xs ) = DomainFunction def attr - <$> (domainUnions =<< mapM (domainOf . fst) xs) - <*> (domainUnions =<< mapM (domainOf . snd) xs) - where attr = FunctionAttr (SizeAttr_MaxSize $ fromInt $ genericLength xs) def def - - domainOf (AbsLitSequence [] ) = return $ DomainSequence def attr - (DomainAny "domainOf-AbsLitSequence-[]" TypeAny) - where attr = SequenceAttr (SizeAttr_Size 0) def - domainOf (AbsLitSequence xs ) = DomainSequence def attr - <$> (domainUnions =<< mapM domainOf xs) - where attr = SequenceAttr (SizeAttr_MaxSize (fromInt $ genericLength xs)) def - - domainOf (AbsLitRelation [] ) = return $ DomainRelation def attr [] - where attr = RelationAttr (SizeAttr_Size 0) def - domainOf (AbsLitRelation xss) = do - ty <- domainUnions =<< mapM (domainOf . AbsLitTuple) xss - case ty of - DomainTuple ts -> return (DomainRelation def attr ts) - _ -> bug "expecting DomainTuple in domainOf" - where attr = RelationAttr (SizeAttr_MaxSize (fromInt $ genericLength xss)) def - - domainOf (AbsLitPartition [] ) = return $ DomainPartition def attr - (DomainAny "domainOf-AbsLitPartition-[]" TypeAny) - where attr = PartitionAttr (SizeAttr_Size 0) (SizeAttr_Size 0) False - domainOf (AbsLitPartition xss) = DomainPartition def attr <$> (domainUnions =<< mapM domainOf (concat xss)) - where attr = PartitionAttr (SizeAttr_MaxSize (fromInt $ genericLength xss)) - (SizeAttr_MaxSize (fromInt $ maximum [genericLength xs | xs <- xss])) - False - domainOf (AbsLitPermutation [] ) = return $ DomainPermutation def attr (DomainAny "domainOf-AbsLitPermutation-[]" TypeAny) - where attr = PermutationAttr (SizeAttr_Size 0) - domainOf (AbsLitPermutation xss) = DomainPermutation def def <$> (domainUnions =<< mapM domainOf (concat xss)) - indexDomainsOf (AbsLitMatrix ind inn) = (ind :) <$> (mapM domainUnions =<< mapM indexDomainsOf inn) - indexDomainsOf _ = return [] - - - - --- all the `Op`s - -instance DomainOf (OpActive x) where - domainOf _ = return DomainBool - -instance DomainOf (OpAllDiff x) where - domainOf _ = return DomainBool - -instance DomainOf (OpAllDiffExcept x) where - domainOf _ = return DomainBool - -instance DomainOf x => DomainOf (OpCatchUndef x) where - domainOf (OpCatchUndef x _) = domainOf x - -instance DomainOf (OpAnd x) where - domainOf _ = return DomainBool - -instance DomainOf (OpApart x) where - domainOf _ = return DomainBool - -instance DomainOf (OpAttributeAsConstraint x) where - domainOf _ = return DomainBool - -instance DomainOf x => DomainOf (OpDefined x) where - domainOf (OpDefined f) = do - fDom <- domainOf f - case fDom of - DomainFunction _ _ fr _ -> return $ DomainSet def def fr - _ -> fail "domainOf, OpDefined, not a function" - -instance DomainOf x => DomainOf (OpDiv x) where - domainOf (OpDiv x y) = do - xDom :: Dom <- domainOf x - yDom :: Dom <- domainOf y - (iPat, i) <- quantifiedVar - (jPat, j) <- quantifiedVar - let vals = [essence| [ &i / &j - | &iPat : &xDom - , &jPat : &yDom - ] |] - let low = [essence| min(&vals) |] - let upp = [essence| max(&vals) |] - return (DomainInt TagInt [RangeBounded low upp] :: Dom) - -instance DomainOf (OpDontCare x) where - domainOf _ = return DomainBool - -instance DomainOf (OpDotLeq x) where - domainOf _ = return DomainBool - -instance DomainOf (OpDotLt x) where - domainOf _ = return DomainBool - -instance DomainOf (OpEq x) where - domainOf _ = return DomainBool - -instance (Pretty x, TypeOf x) => DomainOf (OpFactorial x) where - domainOf op = mkDomainAny ("OpFactorial:" <++> pretty op) <$> typeOf op - -instance (Pretty x, TypeOf x, DomainOf x) => DomainOf (OpFlatten x) where - domainOf (OpFlatten (Just 1) x) = domainOf x >>= innerDomainOf - domainOf op = mkDomainAny ("OpFlatten:" <++> pretty op) <$> typeOf op - -instance (Pretty x, TypeOf x) => DomainOf (OpFreq x) where - domainOf op = mkDomainAny ("OpFreq:" <++> pretty op) <$> typeOf op - -instance DomainOf (OpGeq x) where - domainOf _ = return DomainBool - -instance DomainOf (OpGt x) where - domainOf _ = return DomainBool - -instance (Pretty x, TypeOf x) => DomainOf (OpHist x) where - domainOf op = mkDomainAny ("OpHist:" <++> pretty op) <$> typeOf op - -instance DomainOf (OpIff x) where - domainOf _ = return DomainBool - -instance (Pretty x, TypeOf x, DomainOf x) => DomainOf (OpImage x) where -<<<<<<< HEAD - domainOf op = mkDomainAny ("OpImage:" <++> pretty op) <$> typeOf op - indexDomainsOf (OpImage _ x) = indexDomainsOf x -======= - domainOf (OpImage f _) = do - fDomain <- domainOf f - case fDomain of - DomainFunction _ _ _ to -> return to - DomainSequence _ _ to -> return to - _ -> fail "domainOf, OpImage, not a function or sequence" ->>>>>>> master - -instance (Pretty x, TypeOf x) => DomainOf (OpImageSet x) where - domainOf op = mkDomainAny ("OpImageSet:" <++> pretty op) <$> typeOf op - -instance DomainOf (OpImply x) where - domainOf _ = return DomainBool - -instance DomainOf (OpIn x) where - domainOf _ = return DomainBool - -instance (Pretty x, TypeOf x, ExpressionLike x, DomainOf x) => DomainOf (OpIndexing x) where - domainOf (OpIndexing m i) = do - iType <- typeOf i - case iType of - TypeBool{} -> return () - TypeInt{} -> return () - _ -> fail "domainOf, OpIndexing, not a bool or int index" - mDom <- domainOf m - case mDom of - DomainMatrix _ inner -> return inner - DomainTuple inners -> do - iInt <- intOut "domainOf OpIndexing" i - return $ atNote "domainOf" inners (fromInteger (iInt-1)) - _ -> fail "domainOf, OpIndexing, not a matrix or tuple" - - indexDomainsOf p@(OpIndexing m i) = do - iType <- typeOf i - case iType of - TypeBool{} -> return () - TypeInt{} -> return () - _ -> fail "domainOf, OpIndexing, not a bool or int index" - is <- indexDomainsOf m - case is of - [] -> fail ("indexDomainsOf{OpIndexing}, not a matrix domain:" <++> pretty p) - (_:is') -> return is' - -instance (Pretty x, TypeOf x) => DomainOf (OpIntersect x) where - domainOf op = mkDomainAny ("OpIntersect:" <++> pretty op) <$> typeOf op - -instance DomainOf (OpInverse x) where - domainOf _ = return DomainBool - -instance DomainOf (OpLeq x) where - domainOf _ = return DomainBool - -instance DomainOf (OpLexLeq x) where - domainOf _ = return DomainBool - -instance DomainOf (OpLexLt x) where - domainOf _ = return DomainBool - -instance DomainOf (OpLt x) where - domainOf _ = return DomainBool - -instance (Pretty x, TypeOf x, ExpressionLike x, DomainOf x, Domain () x :< x) => DomainOf (OpMax x) where - domainOf (OpMax x) - | Just xs <- listOut x - , not (null xs) = do - doms <- mapM domainOf xs - let lows = fromList [ [essence| min(`&d`) |] | d <- doms ] - let low = [essence| max(&lows) |] - let upps = fromList [ [essence| max(`&d`) |] | d <- doms ] - let upp = [essence| max(&upps) |] - TypeInt t <- typeOfDomain (head doms) - return (DomainInt t [RangeBounded low upp] :: Dom) - domainOf op = mkDomainAny ("OpMax:" <++> pretty op) <$> typeOf op - -instance (Pretty x, TypeOf x, ExpressionLike x, DomainOf x, Domain () x :< x) => DomainOf (OpMin x) where - domainOf (OpMin x) - | Just xs <- listOut x - , not (null xs) = do - doms <- mapM domainOf xs - let lows = fromList [ [essence| min(`&d`) |] | d <- doms ] - let low = [essence| min(&lows) |] - let upps = fromList [ [essence| max(`&d`) |] | d <- doms ] - let upp = [essence| min(&upps) |] - TypeInt t <- typeOfDomain (head doms) - return (DomainInt t [RangeBounded low upp] :: Dom) - domainOf op = mkDomainAny ("OpMin:" <++> pretty op) <$> typeOf op - -instance DomainOf x => DomainOf (OpMinus x) where - domainOf (OpMinus x y) = do - xDom :: Dom <- domainOf x - yDom :: Dom <- domainOf y - - xDom_Min <- minOfDomain xDom - xDom_Max <- maxOfDomain xDom - yDom_Min <- minOfDomain yDom - yDom_Max <- maxOfDomain yDom - - let low = [essence| &xDom_Min - &yDom_Max |] - let upp = [essence| &xDom_Max - &yDom_Min |] - - return (DomainInt TagInt [RangeBounded low upp] :: Dom) - -instance (Pretty x, TypeOf x) => DomainOf (OpMod x) where - domainOf op = mkDomainAny ("OpMod:" <++> pretty op) <$> typeOf op - -instance (Pretty x, TypeOf x) => DomainOf (OpNegate x) where - domainOf op = mkDomainAny ("OpNegate:" <++> pretty op) <$> typeOf op - -instance DomainOf (OpNeq x) where - domainOf _ = return DomainBool - -instance DomainOf (OpNot x) where - domainOf _ = return DomainBool - -instance DomainOf (OpOr x) where - domainOf _ = return DomainBool - -instance DomainOf (OpXor x) where - domainOf _ = return DomainBool - -instance (Pretty x, TypeOf x) => DomainOf (OpParticipants x) where - domainOf op = mkDomainAny ("OpParticipants:" <++> pretty op) <$> typeOf op - -instance DomainOf x => DomainOf (OpParts x) where - domainOf (OpParts p) = do - dom <- domainOf p - case dom of - DomainPartition _ _ inner -> return $ DomainSet def def $ DomainSet def def inner - _ -> fail "domainOf, OpParts, not a partition" - -instance (Pretty x, TypeOf x) => DomainOf (OpParty x) where - domainOf op = mkDomainAny ("OpParty:" <++> pretty op) <$> typeOf op - - -instance (Pretty x, TypeOf x) => DomainOf (OpCompose x) where - domainOf op = mkDomainAny ("OpCompose:" <++> pretty op) <$> typeOf op - -instance (Pretty x, TypeOf x) => DomainOf (OpPow x) where - domainOf op = mkDomainAny ("OpPow:" <++> pretty op) <$> typeOf op - -instance (Pretty x, TypeOf x) => DomainOf (OpPowerSet x) where - domainOf op = mkDomainAny ("OpPowerSet:" <++> pretty op) <$> typeOf op - -instance (Pretty x, TypeOf x) => DomainOf (OpPreImage x) where - domainOf op = mkDomainAny ("OpPreImage:" <++> pretty op) <$> typeOf op - -instance DomainOf x => DomainOf (OpPred x) where - domainOf (OpPred x) = domainOf x -- TODO: improve - -instance (ExpressionLike x, DomainOf x) => DomainOf (OpProduct x) where - domainOf (OpProduct x) - | Just xs <- listOut x - , not (null xs) = do - (iPat, i) <- quantifiedVar - doms <- mapM domainOf xs - -- maximum absolute value in each domain - let upps = fromList [ [essence| max([ |&i| | &iPat : &d ]) |] - | d <- doms ] - -- a (too lax) upper bound is multiplying all those together - let upp = [essence| product(&upps) |] - -- a (too lax) lower bound is -upp - let low = [essence| -1 * &upp |] - return $ DomainInt TagInt [RangeBounded low upp] - domainOf _ = return $ DomainInt TagInt [RangeBounded 1 1] - -instance DomainOf x => DomainOf (OpRange x) where - domainOf (OpRange f) = do - fDom <- domainOf f - case fDom of - DomainFunction _ _ _ to -> return $ DomainSet def def to - _ -> fail "domainOf, OpRange, not a function" - -instance (Pretty x, TypeOf x) => DomainOf (OpRelationProj x) where - domainOf op = mkDomainAny ("OpRelationProj:" <++> pretty op) <$> typeOf op - -instance (DomainOf x, Dom :< x) => DomainOf (OpRestrict x) where - domainOf (OpRestrict f x) = do - d <- project x - fDom <- domainOf f - case fDom of - DomainFunction fRepr a _ to -> return (DomainFunction fRepr a d to) - _ -> fail "domainOf, OpRestrict, not a function" - -instance (Pretty x, DomainOf x) => DomainOf (OpSlicing x) where - domainOf (OpSlicing x _ _) = domainOf x - indexDomainsOf (OpSlicing x _ _) = indexDomainsOf x - -instance DomainOf (OpSubsequence x) where - domainOf _ = fail "domainOf{OpSubsequence}" - -instance (Pretty x, TypeOf x) => DomainOf (OpSubset x) where - domainOf op = mkDomainAny ("OpSubset:" <++> pretty op) <$> typeOf op - -instance (Pretty x, TypeOf x) => DomainOf (OpSubsetEq x) where - domainOf op = mkDomainAny ("OpSubsetEq:" <++> pretty op) <$> typeOf op - -instance DomainOf (OpSubstring x) where - domainOf _ = fail "domainOf{OpSubstring}" - -instance DomainOf x => DomainOf (OpSucc x) where - domainOf (OpSucc x) = domainOf x -- TODO: improve - -instance (ExpressionLike x, DomainOf x) => DomainOf (OpSum x) where - domainOf (OpSum x) - | Just xs <- listOut x - , not (null xs) = do - doms <- mapM domainOf xs - let lows = fromList [ [essence| min(`&d`) |] | d <- doms ] - let low = [essence| sum(&lows) |] - let upps = fromList [ [essence| max(`&d`) |] | d <- doms ] - let upp = [essence| sum(&upps) |] - return (DomainInt TagInt [RangeBounded low upp] :: Dom) - domainOf _ = return $ DomainInt TagInt [RangeBounded 0 0] - - -instance DomainOf (OpSupset x) where - domainOf _ = return DomainBool - -instance DomainOf (OpSupsetEq x) where - domainOf _ = return DomainBool - -instance DomainOf (OpTildeLeq x) where - domainOf _ = return DomainBool - -instance DomainOf (OpTildeLt x) where - domainOf _ = return DomainBool - -instance DomainOf (OpToInt x) where - domainOf _ = return $ DomainInt TagInt [RangeBounded 0 1] - -instance (Pretty x, TypeOf x) => DomainOf (OpToMSet x) where - domainOf op = mkDomainAny ("OpToMSet:" <++> pretty op) <$> typeOf op - -instance (Pretty x, TypeOf x) => DomainOf (OpToRelation x) where - domainOf op = mkDomainAny ("OpToRelation:" <++> pretty op) <$> typeOf op - -instance (Pretty x, TypeOf x) => DomainOf (OpToSet x) where - domainOf op = mkDomainAny ("OpToSet:" <++> pretty op) <$> typeOf op - -instance DomainOf (OpTogether x) where - domainOf _ = return DomainBool - -instance (Pretty x, TypeOf x) => DomainOf (OpTransform x) where - domainOf op = mkDomainAny ("OpTransform:" <++> pretty op) <$> typeOf op - -instance DomainOf (OpTrue x) where - domainOf _ = return DomainBool - -instance (Pretty x, TypeOf x, Domain () x :< x) => DomainOf (OpTwoBars x) where - domainOf op = mkDomainAny ("OpTwoBars:" <++> pretty op) <$> typeOf op - -instance (Pretty x, TypeOf x) => DomainOf (OpUnion x) where - domainOf op = mkDomainAny ("OpUnion:" <++> pretty op) <$> typeOf op - diff --git a/src/Conjure/Language/Constant.hs.orig b/src/Conjure/Language/Constant.hs.orig deleted file mode 100644 index fcd2b6c26d..0000000000 --- a/src/Conjure/Language/Constant.hs.orig +++ /dev/null @@ -1,535 +0,0 @@ -{-# LANGUAGE DeriveGeneric, DeriveDataTypeable #-} - -module Conjure.Language.Constant - ( Constant(..) - , valuesInIntDomain - , normaliseConstant - , mkUndef, isUndef - , emptyCollection - , viewConstantBool - , viewConstantInt - , viewConstantTuple - , viewConstantRecord - , viewConstantVariant - , viewConstantMatrix - , viewConstantSet - , viewConstantMSet - , viewConstantFunction - , viewConstantSequence - , viewConstantRelation - , viewConstantPartition - , viewConstantPermutation - , reDomConst - ) where - --- conjure -import Conjure.Prelude -import Conjure.Bug -import Conjure.Language.Name -import Conjure.Language.Domain -import Conjure.Language.Type -import Conjure.Language.AbstractLiteral - -import Conjure.Language.DomainSizeOf -import Conjure.Language.TypeOf -import Conjure.Language.AdHoc -import Conjure.Language.Pretty - --- base -import Data.Data ( toConstr, constrIndex ) - --- QuickCheck -import Test.QuickCheck ( Arbitrary(..), oneof ) - - -data Constant - = ConstantBool Bool - | ConstantInt IntTag Integer - | ConstantEnum Name {- name for the enum domain -} - [Name] {- values in the enum domain -} - Name {- the literal -} - | ConstantField Name Type -- the name of a field of Record or Variant and its type - | ConstantAbstract (AbstractLiteral Constant) - | DomainInConstant (Domain () Constant) - | TypedConstant Constant Type - | ConstantUndefined Text Type -- never use this for a bool - -- use false instead for them - deriving (Show, Data, Typeable, Generic) - -instance Eq Constant where - a == b = compare a b == EQ - --- implementing the Eq&Ord instances by hand, because we want to special case the TypedConstant constructor -instance Ord Constant where - - -- do not use type info when comparing - compare (TypedConstant a _) (TypedConstant b _) = compare a b - compare (TypedConstant a _) b = compare a b - compare a (TypedConstant b _) = compare a b - - -- the "usual" comparisons - compare (ConstantBool a) (ConstantBool b) = compare a b - compare (ConstantInt _ a) (ConstantInt _ b) = compare a b - compare (ConstantEnum _ aVals aVal) (ConstantEnum _ bVals bVal) = - compare (elemIndex aVal aVals, aVal) (elemIndex bVal bVals, bVal) - compare (ConstantField a1 a2) (ConstantField b1 b2) = compare (a1,a2) (b1,b2) - compare (ConstantAbstract a) (ConstantAbstract b) = compare a b - compare (DomainInConstant a) (DomainInConstant b) = compare a b - compare (ConstantUndefined a1 a2) (ConstantUndefined b1 b2) = compare (a1,a2) (b1,b2) - - -- if the constructors do not match - compare a b = compare (constrIndex (toConstr a)) (constrIndex (toConstr b)) - -instance Serialize Constant -instance Hashable Constant -instance ToJSON Constant where toJSON = genericToJSON jsonOptions -instance FromJSON Constant where parseJSON = genericParseJSON jsonOptions - -instance Arbitrary Constant where - arbitrary = oneof - [ ConstantBool <$> arbitrary - , ConstantInt TagInt <$> arbitrary - ] - -instance TypeOf Constant where - typeOf ConstantBool{} = return TypeBool - typeOf (ConstantInt t _) = return (TypeInt t) - typeOf (ConstantEnum defn _ _ ) = return (TypeEnum defn) - typeOf (ConstantField _ ty) = return ty - typeOf (ConstantAbstract x ) = typeOf x - typeOf (DomainInConstant dom) = typeOfDomain dom - typeOf (TypedConstant _ ty) = return ty - typeOf (ConstantUndefined _ ty) = return ty - -instance DomainSizeOf Constant Integer where - domainSizeOf DomainBool{} = return 2 - domainSizeOf (DomainIntE x) = bug ("not implemented, domainSizeOf DomainIntE" <+> pretty (show x)) - domainSizeOf (DomainInt _ rs) = domainSizeOfRanges rs - domainSizeOf DomainEnum{} = fail "domainSizeOf: Unknown for given enum." - domainSizeOf (DomainTuple ds) = product <$> mapM domainSizeOf ds - domainSizeOf (DomainMatrix index inner) = intPow <$> domainSizeOf inner <*> domainSizeOf index - domainSizeOf d@(DomainSet _ (SetAttr attrs) inner) = - case attrs of - SizeAttr_None -> do - innerSize <- domainSizeOf inner - return (2 `intPow` innerSize) - SizeAttr_Size (ConstantInt _ size) -> do - innerSize <- domainSizeOf inner - return (nchoosek (product . enumFromTo 1) innerSize size) - SizeAttr_MinSize{} -> do - -- TODO: we can do better here - innerSize <- domainSizeOf inner - return (2 `intPow` innerSize) - SizeAttr_MaxSize (ConstantInt _ maxSize) -> do - innerSize <- domainSizeOf inner - return $ sum [ nchoosek (product . enumFromTo 1) innerSize k | k <- [0 .. maxSize] ] - SizeAttr_MinMaxSize (ConstantInt _ minSize) (ConstantInt _ maxSize) -> do - innerSize <- domainSizeOf inner - return $ sum [ nchoosek (product . enumFromTo 1) innerSize k | k <- [minSize .. maxSize] ] - _ -> fail ("domainSizeOf{Constant}" <+> pretty d) - domainSizeOf DomainMSet {} = bug "not implemented: domainSizeOf DomainMSet" - domainSizeOf DomainFunction {} = bug "not implemented: domainSizeOf DomainFunction" - domainSizeOf DomainRelation {} = bug "not implemented: domainSizeOf DomainRelation" - domainSizeOf DomainPartition {} = bug "not implemented: domainSizeOf DomainPartition" - domainSizeOf _ = bug "not implemented: domainSizeOf" - -emptyCollection :: Constant -> Bool -emptyCollection ConstantBool{} = False -emptyCollection ConstantInt{} = False -emptyCollection ConstantEnum{} = False -emptyCollection ConstantField{} = False -emptyCollection (ConstantAbstract x) = emptyCollectionAbsLit x -emptyCollection DomainInConstant{} = False -emptyCollection (TypedConstant x _) = emptyCollection x -emptyCollection ConstantUndefined{} = False - -intPow :: Integer -> Integer -> Integer -intPow = (^) - -domainSizeOfRanges :: MonadFail m => [Range Constant] -> m Integer -domainSizeOfRanges = fmap genericLength . valuesInIntDomain - -instance DomainSizeOf Constant Constant where - domainSizeOf = fmap (ConstantInt TagInt) . domainSizeOf - -instance Pretty Constant where - - -- hack, oh sweet hack! - -- print a domain instead of a type when printing an empty matrix literal. - -- this means we print "int()" instead of "int" inside the index of a matrix type - -- SR expects it this way... - pretty (TypedConstant (ConstantAbstract (AbsLitMatrix _ [])) ty) = - let - pretty' (TypeMatrix index innerNested) - = "matrix indexed by" <+> prettyList prBrackets "," (map pretty' indices) - <+> "of" <+> pretty inner - where - (indices,inner) = first (index:) $ collect innerNested - collect (TypeMatrix i j) = first (i:) $ collect j - collect x = ([],x) - pretty' TypeInt{} = "int()" - pretty' t = pretty t - in - prParens $ "[] : `" <> pretty' ty <> "`" - - pretty (ConstantBool False) = "false" - pretty (ConstantBool True ) = "true" - pretty (ConstantInt _ x ) = pretty x - pretty (ConstantEnum _ _ x) = pretty x - pretty (ConstantField n _) = pretty n - pretty (ConstantAbstract x) = pretty x - pretty (DomainInConstant d) = "`" <> pretty d <> "`" - pretty (TypedConstant x ty) = prParens $ pretty x <+> ":" <+> "`" <> pretty ty <> "`" - pretty (ConstantUndefined reason ty) = "undefined" <> prParens (pretty reason <+> ":" <+> "`" <> pretty ty <> "`") - -instance ExpressionLike Constant where - fromInt = ConstantInt TagInt - fromIntWithTag i t = ConstantInt t i - intOut _ (ConstantInt _ x) = return x - intOut doc c = fail $ vcat [ "Expecting an integer, but found:" <+> pretty c - , "Called from:" <+> doc - ] - - fromBool = ConstantBool - boolOut (ConstantBool x) = return x - boolOut ConstantUndefined{} = return False - boolOut c = fail ("Expecting a boolean, but found:" <+> pretty c) - - fromList xs = ConstantAbstract $ AbsLitMatrix (mkDomainIntB 1 (fromInt $ genericLength xs)) xs - listOut (ConstantAbstract (AbsLitMatrix _ xs)) = return xs - listOut c = fail ("Expecting a matrix literal, but found:" <+> pretty c) - -instance ReferenceContainer Constant where - fromName name = bug ("ReferenceContainer{Constant} fromName --" <+> pretty name) - nameOut (ConstantField nm _) = return nm - nameOut p = bug ("ReferenceContainer{Constant} nameOut --" <+> pretty p) - -instance DomainContainer Constant (Domain ()) where - fromDomain = DomainInConstant - domainOut (DomainInConstant dom) = return dom - domainOut _ = fail "domainOut{Constant}" - -mkUndef :: Type -> Doc -> Constant -mkUndef TypeBool _ = ConstantBool False -mkUndef ty reason = ConstantUndefined (stringToText $ show reason) ty - -isUndef :: Constant -> Bool -isUndef ConstantUndefined{} = True -isUndef _ = False - -normaliseConstant :: Constant -> Constant -normaliseConstant x@ConstantBool{} = x -normaliseConstant x@ConstantInt{} = x -normaliseConstant x@ConstantEnum{} = x -normaliseConstant x@ConstantField{} = x -normaliseConstant (ConstantAbstract x) = ConstantAbstract (normaliseAbsLit normaliseConstant x) -normaliseConstant (DomainInConstant d) = DomainInConstant (normaliseDomain normaliseConstant d) -normaliseConstant (TypedConstant c ty) = TypedConstant (normaliseConstant c) ty -normaliseConstant x@ConstantUndefined{} = x - -instance Num Constant where - ConstantInt _ x + ConstantInt _ y = ConstantInt TagInt (x+y) - x + y = bug $ vcat [ "Num Constant (+)", "x:" <+> pretty x, "y:" <+> pretty y ] - ConstantInt _ x - ConstantInt _ y = ConstantInt TagInt (x-y) - x - y = bug $ vcat [ "Num Constant (-)", "x:" <+> pretty x, "y:" <+> pretty y ] - ConstantInt _ x * ConstantInt _ y = ConstantInt TagInt (x*y) - x * y = bug $ vcat [ "Num Constant (*)", "x:" <+> pretty x, "y:" <+> pretty y ] - abs (ConstantInt t x) = ConstantInt t (abs x) - abs x = bug $ vcat [ "Num Constant abs", "x:" <+> pretty x ] - signum (ConstantInt t x) = ConstantInt t (signum x) - signum x = bug $ vcat [ "Num Constant signum", "x:" <+> pretty x ] - fromInteger = ConstantInt TagInt . fromInteger - - -valuesInIntDomain :: MonadFail m => [Range Constant] -> m [Integer] -valuesInIntDomain ranges = - if isFinite - then return allValues - else fail $ "Expected finite integer ranges, but got:" <++> prettyList id "," ranges - - where - - allRanges :: [Maybe [Integer]] - allRanges = - [ vals - | r <- ranges - , let vals = case r of - RangeSingle (ConstantInt _ x) -> return [x] - RangeBounded (ConstantInt _ l) (ConstantInt _ u) -> return [l..u] - _ -> Nothing - ] - - isFinite :: Bool - isFinite = Nothing `notElem` allRanges - - allValues :: [Integer] - allValues = sortNub $ concat $ catMaybes allRanges - - -<<<<<<< HEAD --- | Assuming both the value and the domain are normalised --- TODO: make this stricter, but write failing test cases first! -validateConstantForDomain :: forall m r . (MonadFail m, Pretty r) => Name -> Constant -> Domain r Constant -> m () - -validateConstantForDomain _ ConstantBool{} DomainBool{} = return () - -validateConstantForDomain _ _ (DomainInt _ []) = return () -- no restrictions - -validateConstantForDomain name c@(ConstantInt cTag i) d@(DomainInt dTag rs) | cTag == dTag = - let - intInRange RangeOpen = True - intInRange (RangeSingle (ConstantInt _ a)) = i == a - intInRange (RangeLowerBounded (ConstantInt _ a)) = i >= a - intInRange (RangeUpperBounded (ConstantInt _ a)) = i <= a - intInRange (RangeBounded (ConstantInt _ a) (ConstantInt _ b)) = i >= a && i <= b - intInRange _ = False - in unless (any intInRange rs) (constantNotInDomain name c d) - -validateConstantForDomain _ (ConstantInt _ i) (DomainUnnamed _ (ConstantInt _ a)) | i >= 1 && i <= a = return () - -validateConstantForDomain _ _ (DomainEnum _ Nothing _) = return () -- no restrictions -validateConstantForDomain name c d@(DomainEnum _ _ Nothing) = - fail $ vcat [ "validateConstantForDomain: enum not handled" - , pretty name - , pretty c - , pretty d - ] -validateConstantForDomain name - c@(ConstantInt cTag _) - d@(DomainEnum _ (Just ranges) (Just mp)) = nested c d $ do - let - -- lu :: MonadFail m => Name -> m Constant - lu (ConstantEnum _ _ nm) = - case lookup nm mp of - Nothing -> fail $ "No value for:" <+> pretty nm - Just v -> return (ConstantInt cTag v) - lu (ConstantInt t v) = return (ConstantInt t v) - lu x = fail $ "validateConstantForDomain.lu" <+> pretty x - - -- lu2 :: MonadFail m => Range Name -> m (Range Constant) - lu2 = mapM lu - - rs <- mapM lu2 ranges - validateConstantForDomain name c (DomainInt cTag rs :: Domain r Constant) - -validateConstantForDomain name - c@(ConstantAbstract (AbsLitTuple cs)) - d@(DomainTuple ds) = nested c d $ zipWithM_ (validateConstantForDomain name) cs ds - -validateConstantForDomain name - c@(ConstantAbstract (AbsLitRecord (sortOn fst -> cs))) - d@(DomainRecord (sortOn fst -> ds)) - | map fst cs == map fst ds - = nested c d $ zipWithM_ (validateConstantForDomain name) (map snd cs) (map snd ds) - | otherwise - = constantNotInDomain name c d - -validateConstantForDomain name - c@(ConstantAbstract (AbsLitVariant _ n c')) - d@(DomainVariant ds) - | Just d' <- lookup n ds - = nested c d $ validateConstantForDomain name c' d' - | otherwise - = constantNotInDomain name c d - -validateConstantForDomain name - c@(ConstantAbstract (AbsLitMatrix cIndex vals)) - d@(DomainMatrix dIndex dInner) = do - nested c d $ - mapM_ (\ val -> validateConstantForDomain name val dInner ) vals - let - isEmptyIntDomain (DomainInt _ []) = True - isEmptyIntDomain _ = False - unless (cIndex == dIndex || isEmptyIntDomain cIndex) $ fail $ vcat - [ "The indices do not match between the value and the domain." - , "Value :" <+> pretty c - , "Domain:" <+> pretty d - ] - -validateConstantForDomain name - c@(ConstantAbstract (AbsLitSet vals)) - d@(DomainSet _ (SetAttr sizeAttr) dInner) = do - let cardinalityOK = case sizeAttr of - SizeAttr_None -> True - SizeAttr_Size (ConstantInt _ s) -> s == genericLength vals - SizeAttr_MinSize (ConstantInt _ s) -> s <= genericLength vals - SizeAttr_MaxSize (ConstantInt _ s) -> genericLength vals <= s - SizeAttr_MinMaxSize (ConstantInt _ smin) (ConstantInt _ smax) -> - smin <= genericLength vals && genericLength vals <= smax - _ -> False - unless cardinalityOK $ fail $ vcat - [ "The value is not a member of the domain." - , "Value :" <+> pretty c - , "Domain:" <+> pretty d - , "Reason: Domain attributes are not satisfied." - , "Specifically:" <+> pretty sizeAttr - ] - nested c d $ mapM_ (\ val -> validateConstantForDomain name val dInner ) vals - -validateConstantForDomain name - c@(ConstantAbstract (AbsLitMSet vals)) - d@(DomainMSet _ (MSetAttr sizeAttr occurAttr) dInner) = do - let cardinalityOK = case sizeAttr of - SizeAttr_None -> True - SizeAttr_Size (ConstantInt _ s) -> s == genericLength vals - SizeAttr_MinSize (ConstantInt _ s) -> s <= genericLength vals - SizeAttr_MaxSize (ConstantInt _ s) -> genericLength vals <= s - SizeAttr_MinMaxSize (ConstantInt _ smin) (ConstantInt _ smax) -> - smin <= genericLength vals && genericLength vals <= smax - _ -> False - unless cardinalityOK $ fail $ vcat - [ "The value is not a member of the domain." - , "Value :" <+> pretty c - , "Domain:" <+> pretty d - , "Reason: Domain attributes are not satisfied." - , "Specifically:" <+> pretty sizeAttr - ] - let occurOK = case occurAttr of - OccurAttr_None -> True - OccurAttr_MinOccur (ConstantInt _ s) -> and [ s <= occ | (_, occ) <- histogram vals ] - OccurAttr_MaxOccur (ConstantInt _ s) -> and [ occ <= s | (_, occ) <- histogram vals ] - OccurAttr_MinMaxOccur (ConstantInt _ smin) (ConstantInt _ smax) -> - and [ smin <= occ && occ <= smax | (_, occ) <- histogram vals ] - _ -> False - unless occurOK $ fail $ vcat - [ "The value is not a member of the domain." - , "Value :" <+> pretty c - , "Domain:" <+> pretty d - , "Reason: Domain attributes are not satisfied." - , "Specifically:" <+> pretty occurAttr - ] - nested c d $ mapM_ (\ val -> validateConstantForDomain name val dInner ) vals - -validateConstantForDomain name - c@(ConstantAbstract (AbsLitFunction vals)) - d@(DomainFunction _ _ dFrom dTo) = nested c d $ do - mapM_ (\ val -> validateConstantForDomain name (fst val) dFrom) vals - mapM_ (\ val -> validateConstantForDomain name (snd val) dTo ) vals - -validateConstantForDomain name - c@(ConstantAbstract (AbsLitSequence vals)) - d@(DomainSequence _ _ dInner) = nested c d $ - mapM_ (\ val -> validateConstantForDomain name val dInner ) vals - -validateConstantForDomain name - c@(ConstantAbstract (AbsLitRelation valss)) - d@(DomainRelation _ _ dInners) = nested c d $ - forM_ valss $ \ vals -> - zipWithM_ (validateConstantForDomain name) vals dInners - -validateConstantForDomain name - c@(ConstantAbstract (AbsLitPartition valss)) - d@(DomainPartition _ _ dInner) = nested c d $ - mapM_ (\ val -> validateConstantForDomain name val dInner ) (concat valss) -validateConstantForDomain name - c@(ConstantAbstract (AbsLitPermutation valss)) - d@(DomainPermutation _ _ dInner) = nested c d $ - mapM_ (\ val -> validateConstantForDomain name val dInner ) (concat valss) -validateConstantForDomain name c@(TypedConstant c' _) d = nested c d $ validateConstantForDomain name c' d - -validateConstantForDomain name c d = constantNotInDomain name c d - - -nested :: (MonadFail m, Pretty r) => Constant -> Domain r Constant -> Either Doc () -> m () -nested _ _ Right{} = return () -nested c d (Left err) = fail $ vcat - [ "The value is not a member of the domain." - , "Value :" <+> pretty c - , "Domain:" <+> pretty d - , "Reason:" - , nest 4 err - ] - -constantNotInDomain :: (MonadFail m, Pretty r) => Name -> Constant -> Domain r Constant -> m () -constantNotInDomain n c d = fail $ vcat - [ "The value is not a member of the domain." - , "Name :" <+> pretty n - , "Value :" <+> pretty c - , "Domain:" <+> pretty d - ] - - -======= ->>>>>>> master -viewConstantBool :: MonadFail m => Constant -> m Bool -viewConstantBool (ConstantBool i) = return i -viewConstantBool (ConstantInt _ 0) = return False -viewConstantBool (ConstantInt _ 1) = return True -viewConstantBool constant = fail ("Expecting a boolean, but got:" <++> pretty constant) - -viewConstantInt :: MonadFail m => Constant -> m Integer -viewConstantInt (ConstantInt _ i) = return i -viewConstantInt constant = fail ("Expecting an integer, but got:" <++> pretty constant) - -viewConstantTuple :: MonadFail m => Constant -> m [Constant] -viewConstantTuple (ConstantAbstract (AbsLitTuple xs)) = return xs -viewConstantTuple (TypedConstant c _) = viewConstantTuple c -viewConstantTuple constant = fail ("Expecting a tuple, but got:" <++> pretty constant) - -viewConstantRecord :: MonadFail m => Constant -> m [(Name, Constant)] -viewConstantRecord (ConstantAbstract (AbsLitRecord xs)) = return xs -viewConstantRecord (TypedConstant c _) = viewConstantRecord c -viewConstantRecord constant = fail ("Expecting a record, but got:" <++> pretty constant) - -viewConstantVariant :: MonadFail m => Constant -> m (Maybe [(Name, Domain () Constant)], Name, Constant) -viewConstantVariant (ConstantAbstract (AbsLitVariant lu nm x)) = return (lu, nm, x) -viewConstantVariant (TypedConstant c _) = viewConstantVariant c -viewConstantVariant constant = fail ("Expecting a variant, but got:" <++> pretty constant) - -viewConstantMatrix :: MonadFail m => Constant -> m (Domain () Constant, [Constant]) -viewConstantMatrix (ConstantAbstract (AbsLitMatrix ind xs)) = return (ind, xs) -viewConstantMatrix (TypedConstant c _) = viewConstantMatrix c -viewConstantMatrix constant = fail ("Expecting a matrix, but got:" <++> pretty constant) - -viewConstantSet :: MonadFail m => Constant -> m [Constant] -viewConstantSet (ConstantAbstract (AbsLitSet xs)) = return xs -viewConstantSet (TypedConstant c _) = viewConstantSet c -viewConstantSet constant = fail ("Expecting a set, but got:" <++> pretty constant) - -viewConstantMSet :: MonadFail m => Constant -> m [Constant] -viewConstantMSet (ConstantAbstract (AbsLitMSet xs)) = return xs -viewConstantMSet (TypedConstant c _) = viewConstantMSet c -viewConstantMSet constant = fail ("Expecting an mset, but got:" <++> pretty constant) - -viewConstantFunction :: MonadFail m => Constant -> m [(Constant, Constant)] -viewConstantFunction (ConstantAbstract (AbsLitFunction xs)) = return xs -viewConstantFunction (TypedConstant c _) = viewConstantFunction c -viewConstantFunction constant = do - let - suggestion = case constant of - ConstantAbstract (AbsLitMatrix (DomainInt _ rs) vals) -> do - froms <- valuesInIntDomain rs - return $ Just $ pretty $ AbsLitFunction (zip (map (ConstantInt TagInt) froms) vals) - _ -> return Nothing - suggestion >>= \case - Nothing -> fail ("Expecting a function, but got:" <++> pretty constant) - Just sug -> fail (vcat [ "Expecting a function, but got:" <++> pretty constant - , "Maybe you meant:" <++> sug - ]) - -viewConstantSequence :: MonadFail m => Constant -> m [Constant] -viewConstantSequence (ConstantAbstract (AbsLitSequence xs)) = return xs -viewConstantSequence (TypedConstant c _) = viewConstantSequence c -viewConstantSequence constant = fail ("Expecting a sequence, but got:" <++> pretty constant) - -viewConstantRelation :: MonadFail m => Constant -> m [[Constant]] -viewConstantRelation (ConstantAbstract (AbsLitRelation xs)) = return xs -viewConstantRelation (TypedConstant c _) = viewConstantRelation c -viewConstantRelation constant = fail ("Expecting a relation, but got:" <++> pretty constant) - -viewConstantPartition :: MonadFail m => Constant -> m [[Constant]] -viewConstantPartition (ConstantAbstract (AbsLitPartition xs)) = return xs -viewConstantPartition (TypedConstant c _) = viewConstantPartition c -viewConstantPartition constant = fail ("Expecting a partition, but got:" <++> pretty constant) - -viewConstantPermutation :: MonadFail m => Constant -> m [[Constant]] -viewConstantPermutation (ConstantAbstract (AbsLitPermutation xs)) = return xs -viewConstantPermutation (TypedConstant c _) = viewConstantPermutation c -viewConstantPermutation constant = fail ("Expecting a permutation, but got:" <++> pretty constant) - - -reDomConst :: Domain () Constant -> Domain () Constant -reDomConst cns = case cns of - DomainInt t _ -> reTag t cns - _ -> cns - diff --git a/src/Conjure/Language/Domain.hs.orig b/src/Conjure/Language/Domain.hs.orig deleted file mode 100644 index 9164000946..0000000000 --- a/src/Conjure/Language/Domain.hs.orig +++ /dev/null @@ -1,1079 +0,0 @@ -{-# LANGUAGE DeriveGeneric, DeriveDataTypeable, DeriveFunctor, DeriveTraversable, DeriveFoldable #-} -{-# LANGUAGE TupleSections #-} -{-# LANGUAGE NoMonomorphismRestriction #-} -{-# LANGUAGE ViewPatterns #-} - -module Conjure.Language.Domain - ( Domain(..) - , HasRepresentation(..) - , Range(..), rangesInts - , SetAttr(..), SizeAttr(..), getMaxFrom_SizeAttr - , MSetAttr(..), OccurAttr(..), getMaxFrom_OccurAttr - , FunctionAttr(..), PartialityAttr(..), JectivityAttr(..) - , SequenceAttr(..) - , RelationAttr(..), BinaryRelationAttrs(..), BinaryRelationAttr(..) - , PartitionAttr(..) - , PermutationAttr(..) - , AttrName(..) - , DomainAttributes(..), DomainAttribute(..) -- only for parsing - , textToRepresentation, representationToShortText, representationToFullText - , isPrimitiveDomain, domainCanIndexMatrix, getIndices - , Tree(..), reprTree, reprAtTopLevel, applyReprTree - , reprTreeEncoded - , forgetRepr, changeRepr, defRepr - , mkDomainBool, mkDomainInt, mkDomainIntB, mkDomainIntBTagged, mkDomainAny - , typeOfDomain - , readBinRel, binRelToAttrName - , normaliseDomain, normaliseRange - , innerDomainOf - , singletonDomainInt - , matrixNumDimsD - ) where - --- conjure -import Conjure.Prelude -import Conjure.Bug -import Conjure.Language.Name -import Conjure.Language.Type -import Conjure.Language.TypeOf -import Conjure.Language.AdHoc -import Conjure.Language.Pretty - --- base -import qualified Data.Semigroup as Semigroup ( (<>) ) - --- QuickCheck -import Test.QuickCheck ( Arbitrary(..), choose, oneof, vectorOf, sized ) - --- containers -import Data.Set as S ( Set, empty, toList, union ) - --- syb -import Data.Data ( toConstr, constrIndex ) - - -data Domain r x - = DomainAny Text Type - | DomainBool - | DomainIntE x - | DomainInt IntTag [Range x] - | DomainEnum - Name - (Maybe [Range x]) -- subset of values for this domain - -- Nothing *only* when GivenDomainDefnEnum and not LettingDomainDefnEnum - (Maybe [(Name, Integer)]) -- the mapping to integers, if available - | DomainUnnamed Name x - | DomainTuple [Domain r x] - | DomainRecord [(Name, Domain r x)] - | DomainVariant [(Name, Domain r x)] - | DomainMatrix (Domain () x) (Domain r x) - | DomainSet r (SetAttr x) (Domain r x) - | DomainMSet r (MSetAttr x) (Domain r x) - | DomainFunction r (FunctionAttr x) (Domain r x) (Domain r x) - | DomainSequence r (SequenceAttr x) (Domain r x) - | DomainRelation r (RelationAttr x) [Domain r x] - | DomainPartition r (PartitionAttr x) (Domain r x) - | DomainPermutation r (PermutationAttr x) (Domain r x) - | DomainOp Name [Domain r x] - | DomainReference Name (Maybe (Domain r x)) - | DomainMetaVar String - deriving (Eq, Ord, Show, Data, Functor, Traversable, Foldable, Typeable, Generic) - -instance (VarSymBreakingDescription x, ToJSON r) => VarSymBreakingDescription (Domain r x) where - varSymBreakingDescription domain = toJSON $ fmap varSymBreakingDescription domain - -mkDomainBool :: Domain () x -mkDomainBool = DomainBool - -mkDomainInt :: [Range x] -> Domain () x -mkDomainInt = DomainInt TagInt - -mkDomainIntB :: x -> x -> Domain () x -mkDomainIntB l u = DomainInt TagInt [RangeBounded l u] - -mkDomainIntBTagged :: IntTag -> x -> x -> Domain () x -mkDomainIntBTagged t l u = DomainInt t [RangeBounded l u] - -mkDomainAny :: Doc -> Type -> Domain r x -mkDomainAny reason = DomainAny (stringToText $ show reason) - -instance (Serialize r, Serialize x) => Serialize (Domain r x) -instance (Hashable r, Hashable x) => Hashable (Domain r x) -instance (ToJSON r, ToJSON x) => ToJSON (Domain r x) where toJSON = genericToJSON jsonOptions -instance (FromJSON r, FromJSON x) => FromJSON (Domain r x) where parseJSON = genericParseJSON jsonOptions - -instance Arbitrary x => Arbitrary (Domain r x) where - arbitrary = sized f - where - f 0 = oneof [ return DomainBool - , DomainInt TagInt <$> arbitrary - -- , DomainEnum <$> arbitrary <*> arbitrary - ] - f s = do - arity <- choose (2 :: Int, 10) - DomainTuple <$> vectorOf arity (f (div s 10)) - shrink DomainBool = [] - shrink (DomainInt _ []) = [DomainBool] - shrink (DomainInt t [r]) = DomainBool : DomainInt t [] : [DomainInt t [r'] | r' <- shrink r] - shrink (DomainInt t rs) = [DomainInt t (init rs)] - shrink _ = [] - - -typeOfDomain :: - MonadFail m => - Pretty r => - TypeOf x => - Pretty x => - (?typeCheckerMode :: TypeCheckerMode) => - Domain r x -> m Type -typeOfDomain (DomainAny _ ty) = return ty -typeOfDomain DomainBool = return TypeBool -typeOfDomain d@(DomainIntE x) = do - ty <- typeOf x - case ty of - TypeInt{} -> return () -- pre recoverDomainInt - TypeList TypeInt{} -> return () - TypeMatrix _ TypeInt{} -> return () - TypeSet TypeInt{} -> return () - _ -> fail $ vcat [ "Expected an integer, but got:" <++> pretty ty - , "In domain:" <+> pretty d - ] - return (TypeInt TagInt) -typeOfDomain d@(DomainInt t rs) = do - forM_ rs $ \ r -> forM_ r $ \ x -> do - ty <- typeOf x - case ty of - TypeInt{} -> return () - _ -> fail $ vcat [ "Expected an integer, but got:" <++> pretty ty - , "For:" <+> pretty x - , "In domain:" <+> pretty d - ] - return (TypeInt t) -typeOfDomain (DomainEnum defn _ _ ) = return (TypeEnum defn) -typeOfDomain (DomainUnnamed defn _ ) = return (TypeUnnamed defn) -typeOfDomain (DomainTuple xs ) = TypeTuple <$> mapM typeOfDomain xs -typeOfDomain (DomainRecord xs ) = TypeRecord <$> sequence [ do t <- typeOfDomain d ; return (n, t) - | (n,d) <- xs ] -typeOfDomain (DomainVariant xs ) = TypeVariant <$> sequence [ do t <- typeOfDomain d ; return (n, t) - | (n,d) <- xs ] -<<<<<<< HEAD -typeOfDomain (DomainMatrix ind inn ) = TypeMatrix <$> typeOf ind <*> typeOf inn -typeOfDomain (DomainSet _ _ x ) = TypeSet <$> typeOf x -typeOfDomain (DomainMSet _ _ x ) = TypeMSet <$> typeOf x -typeOfDomain (DomainFunction _ _ x y) = TypeFunction <$> typeOf x <*> typeOf y -typeOfDomain (DomainSequence _ _ x ) = TypeSequence <$> typeOf x -typeOfDomain (DomainRelation _ _ xs ) = TypeRelation <$> mapM typeOf xs -typeOfDomain (DomainPartition _ _ x ) = TypePartition <$> typeOf x -typeOfDomain (DomainPermutation _ _ x ) = TypePermutation <$> typeOf x -======= -typeOfDomain (DomainMatrix ind inn ) = TypeMatrix <$> typeOfDomain ind <*> typeOfDomain inn -typeOfDomain (DomainSet _ _ x ) = TypeSet <$> typeOfDomain x -typeOfDomain (DomainMSet _ _ x ) = TypeMSet <$> typeOfDomain x -typeOfDomain (DomainFunction _ _ x y) = TypeFunction <$> typeOfDomain x <*> typeOfDomain y -typeOfDomain (DomainSequence _ _ x ) = TypeSequence <$> typeOfDomain x -typeOfDomain (DomainRelation _ _ xs ) = TypeRelation <$> mapM typeOfDomain xs -typeOfDomain (DomainPartition _ _ x ) = TypePartition <$> typeOfDomain x ->>>>>>> master -typeOfDomain p@(DomainOp _ ds) = do - ts <- mapM typeOfDomain ds - if typesUnify ts - then return (mostDefined ts) - else fail ("Type error in" <+> pretty p) -typeOfDomain (DomainReference _ (Just d)) = typeOfDomain d -typeOfDomain (DomainReference nm Nothing) = bug $ "typeOfDomain: DomainReference" <+> pretty nm -typeOfDomain (DomainMetaVar nm) = bug $ "typeOfDomain: DomainMetaVar &" <> pretty nm - -forgetRepr :: Domain r x -> Domain () x -forgetRepr = defRepr - -defRepr :: Default r2 => Domain r x -> Domain r2 x -defRepr = changeRepr def - -changeRepr :: r2 -> Domain r x -> Domain r2 x -changeRepr rep = go - where - go (DomainAny t ty) = DomainAny t ty - go DomainBool = DomainBool - go (DomainIntE x) = DomainIntE x - go (DomainInt t rs) = DomainInt t rs - go (DomainEnum defn rs mp) = DomainEnum defn rs mp - go (DomainUnnamed defn s) = DomainUnnamed defn s - go (DomainTuple ds) = DomainTuple (map go ds) - go (DomainRecord xs) = DomainRecord (map (second go) xs) - go (DomainVariant xs) = DomainVariant (map (second go) xs) - go (DomainMatrix index inner) = DomainMatrix index (go inner) - go (DomainSet _ attr d) = - DomainSet rep attr (go d) - go (DomainMSet _ attr d) = - DomainMSet rep attr (go d) - go (DomainFunction _ attr d1 d2) = - DomainFunction rep attr (go d1) (go d2) - go (DomainSequence _ attr d) = - DomainSequence rep attr (go d) - go (DomainRelation _ attr ds) = - DomainRelation rep attr (map go ds) - go (DomainPartition _ attr d) = DomainPartition rep attr (go d) - go (DomainPermutation _ attr d) = DomainPermutation rep attr (go d) - go (DomainOp op ds) = DomainOp op (map go ds) - go (DomainReference x r) = DomainReference x (fmap go r) - go (DomainMetaVar x) = DomainMetaVar x - - -data Tree a = Tree { rootLabel :: a, subForest :: [Tree a] } - deriving (Eq, Ord, Show, Data, Functor, Traversable, Foldable, Typeable, Generic) - -instance Serialize a => Serialize (Tree a) -instance Hashable a => Hashable (Tree a) -instance ToJSON a => ToJSON (Tree a) where toJSON = genericToJSON jsonOptions -instance FromJSON a => FromJSON (Tree a) where parseJSON = genericParseJSON jsonOptions - --- | This is to be used when defining `Conjure.Representations.Internal.mkOutName`. --- Reason is to avoid sharing variables for parts of the same decision variable with differing representations. --- Example case: --- (1) find x : set {A} of (int(a..b) , set {B} of int(c..d)) --- (2) find x : set {A} of (int(a..b) , set {C} of int(c..d)) --- Here x_1's should not be shared! --- If they are, the channelling and symmetry breaking constraints will clash and solutions will be lost. -reprTreeEncoded :: Domain HasRepresentation x -> Text -reprTreeEncoded = mconcat . enc1 . reprTree - where - enc1 (Tree lbl sub) = - maybe - (bug "reprTreeEncoded: top-most representation is Nothing") - representationToShortText - lbl - : concatMap enc sub - enc (Tree lbl sub) = - maybe [] representationConstrIndex lbl - ++ concatMap enc sub - -reprTree :: Domain r x -> Tree (Maybe r) -reprTree DomainAny{} = Tree Nothing [] -reprTree DomainBool{} = Tree Nothing [] -reprTree DomainIntE{} = Tree Nothing [] -reprTree DomainInt{} = Tree Nothing [] -reprTree DomainEnum{} = Tree Nothing [] -reprTree DomainUnnamed{} = Tree Nothing [] -reprTree (DomainTuple as ) = Tree Nothing (map reprTree as) -reprTree (DomainRecord as ) = Tree Nothing (map (reprTree . snd) as) -reprTree (DomainVariant as) = Tree Nothing (map (reprTree . snd) as) -reprTree (DomainMatrix _ a) = Tree Nothing [reprTree a] -reprTree (DomainSet r _ a ) = Tree (Just r) [reprTree a] -reprTree (DomainMSet r _ a ) = Tree (Just r) [reprTree a] -reprTree (DomainFunction r _ a b) = Tree (Just r) [reprTree a, reprTree b] -reprTree (DomainSequence r _ a ) = Tree (Just r) [reprTree a] -reprTree (DomainRelation r _ as ) = Tree (Just r) (map reprTree as) -reprTree (DomainPartition r _ a ) = Tree (Just r) [reprTree a] -reprTree (DomainPermutation r _ a) = Tree (Just r) [reprTree a] -reprTree DomainOp{} = Tree Nothing [] -reprTree DomainReference{} = Tree Nothing [] -reprTree DomainMetaVar{} = Tree Nothing [] - -reprAtTopLevel :: Domain r x -> Maybe r -reprAtTopLevel = rootLabel . reprTree - -applyReprTree :: (MonadFail m, Pretty x, Pretty r2, Default r) => Domain r2 x -> Tree (Maybe r) -> m (Domain r x) -applyReprTree dom@DomainBool{} (Tree Nothing []) = return (defRepr dom) -applyReprTree dom@DomainInt{} (Tree Nothing []) = return (defRepr dom) -applyReprTree dom@DomainIntE{} (Tree Nothing []) = return (defRepr dom) -applyReprTree dom@DomainEnum{} (Tree Nothing []) = return (defRepr dom) -applyReprTree dom@DomainUnnamed{} (Tree Nothing []) = return (defRepr dom) -applyReprTree (DomainTuple as ) (Tree Nothing asRepr) = - DomainTuple <$> zipWithM applyReprTree as asRepr -applyReprTree (DomainRecord as ) (Tree Nothing asRepr) = - (DomainRecord . zip (map fst as)) <$> zipWithM applyReprTree (map snd as) asRepr -applyReprTree (DomainVariant as) (Tree Nothing asRepr) = - (DomainVariant . zip (map fst as)) <$> zipWithM applyReprTree (map snd as) asRepr -applyReprTree (DomainMatrix b a) (Tree Nothing [aRepr]) = DomainMatrix b <$> applyReprTree a aRepr -applyReprTree (DomainSet _ attr a ) (Tree (Just r) [aRepr]) = DomainSet r attr <$> applyReprTree a aRepr -applyReprTree (DomainMSet _ attr a ) (Tree (Just r) [aRepr]) = DomainMSet r attr <$> applyReprTree a aRepr -applyReprTree (DomainFunction _ attr a b) (Tree (Just r) [aRepr, bRepr]) = DomainFunction r attr <$> applyReprTree a aRepr <*> applyReprTree b bRepr -applyReprTree (DomainSequence _ attr a ) (Tree (Just r) [aRepr]) = DomainSequence r attr <$> applyReprTree a aRepr -applyReprTree (DomainRelation _ attr as ) (Tree (Just r) asRepr) = DomainRelation r attr <$> zipWithM applyReprTree as asRepr -applyReprTree (DomainPartition _ attr a ) (Tree (Just r) [aRepr]) = DomainPartition r attr <$> applyReprTree a aRepr -applyReprTree (DomainPermutation _ attr a ) (Tree (Just r) [aRepr]) = DomainPermutation r attr <$> applyReprTree a aRepr -applyReprTree dom@DomainOp{} (Tree Nothing []) = return (defRepr dom) -applyReprTree dom@DomainReference{} (Tree Nothing []) = return (defRepr dom) -applyReprTree dom@DomainMetaVar{} (Tree Nothing []) = return (defRepr dom) -applyReprTree dom _ = fail $ "applyReprTree:" <++> pretty dom - -isPrimitiveDomain :: Domain r x -> Bool -isPrimitiveDomain DomainBool{} = True -isPrimitiveDomain DomainIntE{} = True -isPrimitiveDomain DomainInt{} = True -isPrimitiveDomain (DomainMatrix index inner) = and [isPrimitiveDomain index, isPrimitiveDomain inner] -isPrimitiveDomain _ = False - -getIndices :: Domain r x -> ([Domain () x], Domain r x) -getIndices (DomainMatrix index inner) = first (index:) (getIndices inner) -getIndices d = ([], d) - -domainCanIndexMatrix :: Domain r x -> Bool -domainCanIndexMatrix DomainBool{} = True -domainCanIndexMatrix DomainInt {} = True -domainCanIndexMatrix DomainIntE{} = True -domainCanIndexMatrix DomainEnum{} = True -domainCanIndexMatrix _ = False - - --------------------------------------------------------------------------------- --- attribute-as-constraint handling -------------------------------------------- --------------------------------------------------------------------------------- - -data AttrName - = AttrName_size - | AttrName_minSize - | AttrName_maxSize - | AttrName_minOccur - | AttrName_maxOccur - | AttrName_numParts - | AttrName_minNumParts - | AttrName_maxNumParts - | AttrName_partSize - | AttrName_minPartSize - | AttrName_maxPartSize - | AttrName_total - | AttrName_injective - | AttrName_surjective - | AttrName_bijective - | AttrName_regular - -- bin rel ones - | AttrName_reflexive - | AttrName_irreflexive - | AttrName_coreflexive - | AttrName_symmetric - | AttrName_antiSymmetric - | AttrName_aSymmetric - | AttrName_transitive - | AttrName_connex - | AttrName_Euclidean - | AttrName_serial - | AttrName_equivalence - | AttrName_partialOrder - deriving (Eq, Ord, Show, Data, Typeable, Generic) - -instance Serialize AttrName -instance Hashable AttrName -instance ToJSON AttrName where toJSON = genericToJSON jsonOptions -instance FromJSON AttrName where parseJSON = genericParseJSON jsonOptions - -instance Pretty AttrName where - pretty AttrName_size = "size" - pretty AttrName_minSize = "minSize" - pretty AttrName_maxSize = "maxSize" - pretty AttrName_minOccur = "minOccur" - pretty AttrName_maxOccur = "maxOccur" - pretty AttrName_numParts = "numParts" - pretty AttrName_minNumParts = "minNumParts" - pretty AttrName_maxNumParts = "maxNumParts" - pretty AttrName_partSize = "partSize" - pretty AttrName_minPartSize = "minPartSize" - pretty AttrName_maxPartSize = "maxPartSize" - pretty AttrName_total = "total" - pretty AttrName_injective = "injective" - pretty AttrName_surjective = "surjective" - pretty AttrName_bijective = "bijective" - pretty AttrName_regular = "regular" - pretty AttrName_reflexive = "reflexive" - pretty AttrName_irreflexive = "irreflexive" - pretty AttrName_coreflexive = "coreflexive" - pretty AttrName_symmetric = "symmetric" - pretty AttrName_antiSymmetric = "antiSymmetric" - pretty AttrName_aSymmetric = "aSymmetric" - pretty AttrName_transitive = "transitive" - pretty AttrName_connex = "connex" - pretty AttrName_Euclidean = "Euclidean" - pretty AttrName_serial = "serial" - pretty AttrName_equivalence = "equivalence" - pretty AttrName_partialOrder = "partialOrder" - -instance IsString AttrName where - fromString "size" = AttrName_size - fromString "minSize" = AttrName_minSize - fromString "maxSize" = AttrName_maxSize - fromString "minOccur" = AttrName_minOccur - fromString "maxOccur" = AttrName_maxOccur - fromString "numParts" = AttrName_numParts - fromString "minNumParts" = AttrName_minNumParts - fromString "maxNumParts" = AttrName_maxNumParts - fromString "partSize" = AttrName_partSize - fromString "minPartSize" = AttrName_minPartSize - fromString "maxPartSize" = AttrName_maxPartSize - fromString "total" = AttrName_total - fromString "injective" = AttrName_injective - fromString "surjective" = AttrName_surjective - fromString "bijective" = AttrName_bijective - fromString "regular" = AttrName_regular - fromString "reflexive" = AttrName_reflexive - fromString "irreflexive" = AttrName_irreflexive - fromString "coreflexive" = AttrName_coreflexive - fromString "symmetric" = AttrName_symmetric - fromString "antiSymmetric" = AttrName_antiSymmetric - fromString "aSymmetric" = AttrName_aSymmetric - fromString "transitive" = AttrName_transitive - fromString "connex" = AttrName_connex - fromString "Euclidean" = AttrName_Euclidean - fromString "serial" = AttrName_serial - fromString "equivalence" = AttrName_equivalence - fromString "partialOrder" = AttrName_partialOrder - fromString s = bug $ "fromString{AttrName}:" <+> pretty s - - --------------------------------------------------------------------------------- --- attribute definitions ------------------------------------------------------- --------------------------------------------------------------------------------- - -data SetAttr a = SetAttr (SizeAttr a) - deriving (Eq, Ord, Show, Data, Functor, Traversable, Foldable, Typeable, Generic) -instance Serialize a => Serialize (SetAttr a) -instance Hashable a => Hashable (SetAttr a) -instance ToJSON a => ToJSON (SetAttr a) where toJSON = genericToJSON jsonOptions -instance FromJSON a => FromJSON (SetAttr a) where parseJSON = genericParseJSON jsonOptions -instance Default (SetAttr a) where def = SetAttr def -instance Pretty a => Pretty (SetAttr a) where - pretty (SetAttr SizeAttr_None) = prEmpty - pretty (SetAttr a) = prParens (pretty a) - - -data SizeAttr a - = SizeAttr_None - | SizeAttr_Size a - | SizeAttr_MinSize a - | SizeAttr_MaxSize a - | SizeAttr_MinMaxSize a a - deriving (Eq, Ord, Show, Data, Functor, Traversable, Foldable, Typeable, Generic) -instance Serialize a => Serialize (SizeAttr a) -instance Hashable a => Hashable (SizeAttr a) -instance ToJSON a => ToJSON (SizeAttr a) where toJSON = genericToJSON jsonOptions -instance FromJSON a => FromJSON (SizeAttr a) where parseJSON = genericParseJSON jsonOptions -instance Default (SizeAttr a) where def = SizeAttr_None -instance Pretty a => Pretty (SizeAttr a) where - pretty SizeAttr_None = prEmpty - pretty (SizeAttr_Size x ) = "size" <+> pretty x - pretty (SizeAttr_MinSize x ) = "minSize" <+> pretty x - pretty (SizeAttr_MaxSize x ) = "maxSize" <+> pretty x - pretty (SizeAttr_MinMaxSize x y) = "minSize" <+> pretty x <> ", maxSize" <+> pretty y - - -getMaxFrom_SizeAttr :: MonadFail m => SizeAttr a -> m a -getMaxFrom_SizeAttr (SizeAttr_Size n) = return n -getMaxFrom_SizeAttr (SizeAttr_MaxSize n) = return n -getMaxFrom_SizeAttr (SizeAttr_MinMaxSize _ n) = return n -getMaxFrom_SizeAttr _ = fail "getMaxFrom_SizeAttr" - - -data MSetAttr a = MSetAttr (SizeAttr a) (OccurAttr a) - deriving (Eq, Ord, Show, Data, Functor, Traversable, Foldable, Typeable, Generic) -instance Serialize a => Serialize (MSetAttr a) -instance Hashable a => Hashable (MSetAttr a) -instance ToJSON a => ToJSON (MSetAttr a) where toJSON = genericToJSON jsonOptions -instance FromJSON a => FromJSON (MSetAttr a) where parseJSON = genericParseJSON jsonOptions -instance Default (MSetAttr a) where def = MSetAttr def def -instance Pretty a => Pretty (MSetAttr a) where - pretty (MSetAttr a b) = - let inside = filter (/=prEmpty) [ pretty a - , pretty b - ] - in if null inside - then prEmpty - else prettyList prParens "," inside - - -data OccurAttr a - = OccurAttr_None - | OccurAttr_MinOccur a - | OccurAttr_MaxOccur a - | OccurAttr_MinMaxOccur a a - deriving (Eq, Ord, Show, Data, Functor, Traversable, Foldable, Typeable, Generic) -instance Serialize a => Serialize (OccurAttr a) -instance Hashable a => Hashable (OccurAttr a) -instance ToJSON a => ToJSON (OccurAttr a) where toJSON = genericToJSON jsonOptions -instance FromJSON a => FromJSON (OccurAttr a) where parseJSON = genericParseJSON jsonOptions -instance Default (OccurAttr a) where def = OccurAttr_None -instance Pretty a => Pretty (OccurAttr a) where - pretty OccurAttr_None = prEmpty - pretty (OccurAttr_MinOccur x ) = "minOccur" <+> pretty x - pretty (OccurAttr_MaxOccur x ) = "maxOccur" <+> pretty x - pretty (OccurAttr_MinMaxOccur x y) = "minOccur" <+> pretty x <> ", maxOccur" <+> pretty y - - -getMaxFrom_OccurAttr :: MonadFail m => OccurAttr a -> m a -getMaxFrom_OccurAttr (OccurAttr_MaxOccur n) = return n -getMaxFrom_OccurAttr (OccurAttr_MinMaxOccur _ n) = return n -getMaxFrom_OccurAttr _ = fail "getMaxFrom_OccurAttr" - - -data FunctionAttr x - = FunctionAttr (SizeAttr x) PartialityAttr JectivityAttr - deriving (Eq, Ord, Show, Data, Functor, Traversable, Foldable, Typeable, Generic) -instance Serialize a => Serialize (FunctionAttr a) -instance Hashable a => Hashable (FunctionAttr a) -instance ToJSON a => ToJSON (FunctionAttr a) where toJSON = genericToJSON jsonOptions -instance FromJSON a => FromJSON (FunctionAttr a) where parseJSON = genericParseJSON jsonOptions -instance Default (FunctionAttr a) where def = FunctionAttr def def def -instance Pretty a => Pretty (FunctionAttr a) where - pretty (FunctionAttr a b c) = - let inside = filter (/=prEmpty) [pretty a, pretty b, pretty c] - in if null inside - then prEmpty - else prettyList prParens "," inside - - -data PartialityAttr - = PartialityAttr_Partial - | PartialityAttr_Total - deriving (Eq, Ord, Show, Data, Typeable, Generic) -instance Serialize PartialityAttr -instance Hashable PartialityAttr -instance ToJSON PartialityAttr where toJSON = genericToJSON jsonOptions -instance FromJSON PartialityAttr where parseJSON = genericParseJSON jsonOptions -instance Default PartialityAttr where def = PartialityAttr_Partial -instance Pretty PartialityAttr where - pretty PartialityAttr_Partial = prEmpty -- partial is the default - pretty PartialityAttr_Total = "total" - - -data JectivityAttr - = JectivityAttr_None - | JectivityAttr_Injective - | JectivityAttr_Surjective - | JectivityAttr_Bijective - deriving (Eq, Ord, Show, Data, Typeable, Generic) -instance Serialize JectivityAttr -instance Hashable JectivityAttr -instance ToJSON JectivityAttr where toJSON = genericToJSON jsonOptions -instance FromJSON JectivityAttr where parseJSON = genericParseJSON jsonOptions -instance Default JectivityAttr where def = JectivityAttr_None -instance Pretty JectivityAttr where - pretty JectivityAttr_None = prEmpty - pretty JectivityAttr_Injective = "injective" - pretty JectivityAttr_Surjective = "surjective" - pretty JectivityAttr_Bijective = "bijective" - - -data SequenceAttr x - = SequenceAttr (SizeAttr x) JectivityAttr - deriving (Eq, Ord, Show, Data, Functor, Traversable, Foldable, Typeable, Generic) -instance Serialize a => Serialize (SequenceAttr a) -instance Hashable a => Hashable (SequenceAttr a) -instance ToJSON a => ToJSON (SequenceAttr a) where toJSON = genericToJSON jsonOptions -instance FromJSON a => FromJSON (SequenceAttr a) where parseJSON = genericParseJSON jsonOptions -instance Default (SequenceAttr a) where def = SequenceAttr def def -instance Pretty a => Pretty (SequenceAttr a) where - pretty (SequenceAttr a b) = - let inside = filter (/=prEmpty) [pretty a, pretty b] - in if null inside - then prEmpty - else prettyList prParens "," inside - - -data RelationAttr a = RelationAttr (SizeAttr a) BinaryRelationAttrs - deriving (Eq, Ord, Show, Data, Functor, Traversable, Foldable, Typeable, Generic) -instance Serialize a => Serialize (RelationAttr a) -instance Hashable a => Hashable (RelationAttr a) -instance ToJSON a => ToJSON (RelationAttr a) where toJSON = genericToJSON jsonOptions -instance FromJSON a => FromJSON (RelationAttr a) where parseJSON = genericParseJSON jsonOptions -instance Default (RelationAttr a) where def = RelationAttr def def -instance Pretty a => Pretty (RelationAttr a) where - pretty (RelationAttr a b) = - let inside = filter (/=prEmpty) [pretty a, pretty b] - in if null inside - then prEmpty - else prettyList prParens "," inside - - -data BinaryRelationAttrs = BinaryRelationAttrs (S.Set BinaryRelationAttr) - deriving (Eq, Ord, Show, Data, Typeable, Generic) -instance Serialize BinaryRelationAttrs -instance Hashable BinaryRelationAttrs where hashWithSalt salt (BinaryRelationAttrs a) = hashWithSalt salt (S.toList a) -instance ToJSON BinaryRelationAttrs where toJSON = genericToJSON jsonOptions -instance FromJSON BinaryRelationAttrs where parseJSON = genericParseJSON jsonOptions -instance Default BinaryRelationAttrs where def = BinaryRelationAttrs S.empty -instance Pretty BinaryRelationAttrs where - pretty (BinaryRelationAttrs attrs) = prettyList id "," (S.toList attrs) -instance Semigroup BinaryRelationAttrs where - (<>) = mappend -instance Monoid BinaryRelationAttrs where - mempty = BinaryRelationAttrs def - mappend (BinaryRelationAttrs a) (BinaryRelationAttrs b) = BinaryRelationAttrs (S.union a b) - - -data BinaryRelationAttr - = BinRelAttr_Reflexive - | BinRelAttr_Irreflexive - | BinRelAttr_Coreflexive - | BinRelAttr_Symmetric - | BinRelAttr_AntiSymmetric - | BinRelAttr_ASymmetric - | BinRelAttr_Transitive - | BinRelAttr_Total - | BinRelAttr_Connex - | BinRelAttr_Euclidean - | BinRelAttr_Serial - | BinRelAttr_Equivalence - | BinRelAttr_PartialOrder - deriving (Eq, Ord, Show, Data, Typeable, Generic) -instance Serialize BinaryRelationAttr -instance Hashable BinaryRelationAttr -instance ToJSON BinaryRelationAttr where toJSON = genericToJSON jsonOptions -instance FromJSON BinaryRelationAttr where parseJSON = genericParseJSON jsonOptions -instance Pretty BinaryRelationAttr where - pretty BinRelAttr_Reflexive = "reflexive" - pretty BinRelAttr_Irreflexive = "irreflexive" - pretty BinRelAttr_Coreflexive = "coreflexive" - pretty BinRelAttr_Symmetric = "symmetric" - pretty BinRelAttr_AntiSymmetric = "antiSymmetric" - pretty BinRelAttr_ASymmetric = "aSymmetric" - pretty BinRelAttr_Transitive = "transitive" - pretty BinRelAttr_Total = "total" - pretty BinRelAttr_Connex = "connex" - pretty BinRelAttr_Euclidean = "Euclidean" - pretty BinRelAttr_Serial = "serial" - pretty BinRelAttr_Equivalence = "equivalence" - pretty BinRelAttr_PartialOrder = "partialOrder" - -readBinRel :: MonadFail m => AttrName -> m BinaryRelationAttr -readBinRel AttrName_reflexive = return BinRelAttr_Reflexive -readBinRel AttrName_irreflexive = return BinRelAttr_Irreflexive -readBinRel AttrName_coreflexive = return BinRelAttr_Coreflexive -readBinRel AttrName_symmetric = return BinRelAttr_Symmetric -readBinRel AttrName_antiSymmetric = return BinRelAttr_AntiSymmetric -readBinRel AttrName_aSymmetric = return BinRelAttr_ASymmetric -readBinRel AttrName_transitive = return BinRelAttr_Transitive -readBinRel AttrName_total = return BinRelAttr_Total -readBinRel AttrName_connex = return BinRelAttr_Connex -readBinRel AttrName_Euclidean = return BinRelAttr_Euclidean -readBinRel AttrName_serial = return BinRelAttr_Serial -readBinRel AttrName_equivalence = return BinRelAttr_Equivalence -readBinRel AttrName_partialOrder = return BinRelAttr_PartialOrder -readBinRel a = fail $ "Not a binary relation attribute:" <+> pretty a - -binRelToAttrName :: BinaryRelationAttr -> AttrName -binRelToAttrName BinRelAttr_Reflexive = AttrName_reflexive -binRelToAttrName BinRelAttr_Irreflexive = AttrName_irreflexive -binRelToAttrName BinRelAttr_Coreflexive = AttrName_coreflexive -binRelToAttrName BinRelAttr_Symmetric = AttrName_symmetric -binRelToAttrName BinRelAttr_AntiSymmetric = AttrName_antiSymmetric -binRelToAttrName BinRelAttr_ASymmetric = AttrName_aSymmetric -binRelToAttrName BinRelAttr_Transitive = AttrName_transitive -binRelToAttrName BinRelAttr_Total = AttrName_total -binRelToAttrName BinRelAttr_Connex = AttrName_connex -binRelToAttrName BinRelAttr_Euclidean = AttrName_Euclidean -binRelToAttrName BinRelAttr_Serial = AttrName_serial -binRelToAttrName BinRelAttr_Equivalence = AttrName_equivalence -binRelToAttrName BinRelAttr_PartialOrder = AttrName_partialOrder - --- reflexive forAll x : T . rel(x,x) --- irreflexive forAll x : T . !rel(x,x) --- coreflexive forAll x,y : T . rel(x,y) -> x = y --- --- symmetric forAll x,y : T . rel(x,y) -> rel(y,x) --- antisymmetric forAll x,y : T . rel(x,y) /\ rel(y,x) -> x = y --- asymmetric forAll x,y : T . rel(x,y) -> !rel(y,x) --- --- transitive forAll x,y,z : T . rel(x,y) /\ rel(y,z) -> rel(x,z) --- --- total forAll x,y : T . rel(x,y) \/ rel(y,x) --- connex forAll x,y : T . rel(x,y) \/ rel(y,x) \/ x = y --- Euclidean forAll x,y,z : T . rel(x,y) /\ rel(x,z) -> rel(y,z) --- serial forAll x : T . exists y : T . rel(x,y) --- equivalence reflexive + symmetric + transitive --- partialOrder reflexive + antisymmetric + transitive - - -data PartitionAttr a = PartitionAttr - { partsNum :: SizeAttr a - , partsSize :: SizeAttr a - , isRegular :: Bool - } - deriving (Eq, Ord, Show, Data, Functor, Traversable, Foldable, Typeable, Generic) -instance Serialize a => Serialize (PartitionAttr a) -instance Hashable a => Hashable (PartitionAttr a) -instance ToJSON a => ToJSON (PartitionAttr a) where toJSON = genericToJSON jsonOptions -instance FromJSON a => FromJSON (PartitionAttr a) where parseJSON = genericParseJSON jsonOptions -instance Default (PartitionAttr a) where def = PartitionAttr def def False -instance Pretty a => Pretty (PartitionAttr a) where - pretty (PartitionAttr a b c) = - let inside = filter (/=prEmpty) [ prettyNum a - , prettySize b - , prettyReg c - ] - - prettyNum SizeAttr_None = prEmpty - prettyNum (SizeAttr_Size x ) = "numParts" <+> pretty x - prettyNum (SizeAttr_MinSize x ) = "minNumParts" <+> pretty x - prettyNum (SizeAttr_MaxSize x ) = "maxNumParts" <+> pretty x - prettyNum (SizeAttr_MinMaxSize x y) = "minNumParts" <+> pretty x <> ", maxNumParts" <+> pretty y - - prettySize SizeAttr_None = prEmpty - prettySize (SizeAttr_Size x ) = "partSize" <+> pretty x - prettySize (SizeAttr_MinSize x ) = "minPartSize" <+> pretty x - prettySize (SizeAttr_MaxSize x ) = "maxPartSize" <+> pretty x - prettySize (SizeAttr_MinMaxSize x y) = "minPartSize" <+> pretty x <> ", maxPartSize" <+> pretty y - - prettyReg False = prEmpty - prettyReg True = "regular" - - in if null inside - then prEmpty - else prettyList prParens "," inside - - - -data PermutationAttr x - = PermutationAttr (SizeAttr x) - deriving (Eq, Ord, Show, Data, Functor, Traversable, Foldable, Typeable, Generic) -instance Serialize a => Serialize (PermutationAttr a) -instance Hashable a => Hashable (PermutationAttr a) -instance ToJSON a => ToJSON (PermutationAttr a) where toJSON = genericToJSON jsonOptions -instance FromJSON a => FromJSON (PermutationAttr a) where parseJSON = genericParseJSON jsonOptions -instance Default (PermutationAttr a) where def = PermutationAttr def -instance Pretty a => Pretty (PermutationAttr a) where - pretty (PermutationAttr a ) = - let inside = filter (/=prEmpty) [pretty a] - in if null inside - then prEmpty - else prettyList prParens "," inside - - - - -data DomainAttributes a = DomainAttributes [DomainAttribute a] - deriving (Eq, Ord, Show, Data, Functor, Traversable, Foldable, Typeable, Generic) - -instance Serialize a => Serialize (DomainAttributes a) -instance Hashable a => Hashable (DomainAttributes a) -instance ToJSON a => ToJSON (DomainAttributes a) where toJSON = genericToJSON jsonOptions -instance FromJSON a => FromJSON (DomainAttributes a) where parseJSON = genericParseJSON jsonOptions - -instance Default (DomainAttributes a) where - def = DomainAttributes [] - - -data DomainAttribute a - = DAName Name - | DANameValue Name a - | DADotDot - deriving (Eq, Ord, Show, Data, Functor, Traversable, Foldable, Typeable, Generic) - -instance Serialize a => Serialize (DomainAttribute a) -instance Hashable a => Hashable (DomainAttribute a) -instance ToJSON a => ToJSON (DomainAttribute a) where toJSON = genericToJSON jsonOptions -instance FromJSON a => FromJSON (DomainAttribute a) where parseJSON = genericParseJSON jsonOptions - - -data Range a - = RangeOpen - | RangeSingle a - | RangeLowerBounded a - | RangeUpperBounded a - | RangeBounded a a - deriving (Eq, Ord, Show, Data, Functor, Traversable, Foldable, Typeable, Generic) - -instance Serialize a => Serialize (Range a) -instance Hashable a => Hashable (Range a) -instance ToJSON a => ToJSON (Range a) where toJSON = genericToJSON jsonOptions -instance FromJSON a => FromJSON (Range a) where parseJSON = genericParseJSON jsonOptions - -instance Arbitrary a => Arbitrary (Range a) where - arbitrary = oneof - [ return RangeOpen - , RangeSingle <$> arbitrary - , RangeLowerBounded <$> arbitrary - , RangeUpperBounded <$> arbitrary - , RangeBounded <$> arbitrary <*> arbitrary - ] - -rangesInts :: (MonadFail m, ExpressionLike c) => [Range c] -> m [Integer] -rangesInts = fmap (sortNub . concat) . mapM rangeInts - where - rangeInts (RangeSingle x) = return <$> intOut "rangeInts 1" x - rangeInts (RangeBounded x y) = do x' <- intOut "rangeInts 2" x - y' <- intOut "rangeInts 3" y - return [x' .. y'] - rangeInts _ = fail "Infinite range (or not an integer range)" - -expandRanges :: ExpressionLike c => [Range c] -> [Range c] -expandRanges r = - case rangesInts r of - Nothing -> r - Just [] -> [] - Just is -> - if [ minimum is .. maximum is ] == is - then [RangeBounded (fromInt (minimum is)) (fromInt (maximum is))] - else map (RangeSingle . fromInt) is - - -data HasRepresentation - = NoRepresentation - - | Set_Occurrence - | Set_Explicit - | Set_ExplicitVarSizeWithFlags - | Set_ExplicitVarSizeWithMarker - | Set_ExplicitVarSizeWithDummy - - | MSet_Occurrence - | MSet_ExplicitWithFlags - | MSet_ExplicitWithRepetition - - | Function_1D - | Function_1DPartial - | Function_ND - | Function_NDPartial - | Function_AsRelation HasRepresentation -- carries: representation for the inner relation - - | Sequence_ExplicitBounded - - | Relation_AsMatrix - | Relation_AsSet HasRepresentation -- carries: representation for the inner set - - | Partition_AsSet HasRepresentation HasRepresentation -- carries: representations for the inner sets - | Partition_Occurrence - | Permutation_AsFunction - - deriving (Eq, Ord, Show, Data, Typeable, Generic) - -instance Serialize HasRepresentation -instance Hashable HasRepresentation -instance ToJSON HasRepresentation where toJSON = genericToJSON jsonOptions -instance FromJSON HasRepresentation where parseJSON = genericParseJSON jsonOptions - -instance Default HasRepresentation where - def = NoRepresentation - -representationConstrIndex :: HasRepresentation -> [Text] -representationConstrIndex r = oneLevel r : concatMap representationConstrIndex (children r) - where - oneLevel :: HasRepresentation -> Text - oneLevel = stringToText . ("R"++) . show . constrIndex . toConstr - -instance (Pretty r, Pretty a) => Pretty (Domain r a) where - - pretty DomainAny{} = "?" - - pretty DomainBool = "bool" - - pretty (DomainIntE x) = "int" <> prParens (pretty x) - - pretty (DomainInt (TagEnum nm) _) = pretty nm - pretty (DomainInt (TagUnnamed nm) _) = pretty nm - - pretty (DomainInt _ []) = "int" -<<<<<<< HEAD - - pretty (DomainInt _ ranges) = "int" <> prettyList prParens "," ranges - -======= - pretty (DomainInt _ ranges) = "int" <> prettyList prParens "," ranges - ->>>>>>> master - pretty (DomainEnum name (Just ranges) _) = pretty name <> prettyList prParens "," ranges - - pretty (DomainEnum name _ _) = pretty name - - pretty (DomainUnnamed name _) = pretty name - - pretty (DomainTuple inners) - = (if length inners < 2 then "tuple" else prEmpty) - <+> prettyList prParens "," inners - - pretty (DomainRecord xs) = "record" <+> prettyList prBraces "," - [ pretty nm <+> ":" <+> pretty d | (nm, d) <- xs ] - - pretty (DomainVariant xs) = "variant" <+> prettyList prBraces "," - [ pretty nm <+> ":" <+> pretty d | (nm, d) <- xs ] - - pretty (DomainMatrix index innerNested) - = "matrix indexed by" <+> prettyList prBrackets "," indices - <+> "of" <+> pretty inner - where - (indices,inner) = first (index:) $ collect innerNested - collect (DomainMatrix i j) = first (i:) $ collect j - collect x = ([],x) - - pretty (DomainSet r attrs inner) = - hang ("set" <+> prettyAttrs r attrs <+> "of") 4 (pretty inner) - - pretty (DomainMSet r attrs inner) = - hang ("mset" <+> prettyAttrs r attrs <+> "of") 4 (pretty inner) - - pretty (DomainFunction r attrs innerFrom innerTo) = - hang ("function" <+> prettyAttrs r attrs) 4 $ - hang (pretty innerFrom) 4 $ - "-->" <+> pretty innerTo - - pretty (DomainSequence r attrs inner) = - hang ("sequence" <+> prettyAttrs r attrs <+> "of") 4 (pretty inner) - - pretty (DomainRelation r attrs inners) - = hang ("relation" <+> prettyAttrs r attrs <+> "of") 4 (prettyList prParens " *" inners) - - pretty (DomainPartition r attrs inner) - = hang ("partition" <+> prettyAttrs r attrs <+> "from") 4 (pretty inner) - pretty (DomainPermutation r attrs inner) = hang ("permutation" <+> prettyAttrs r attrs <+> "of") 4 (pretty inner) - - pretty d@DomainOp{} = pretty (show d) - - pretty (DomainReference x _) = pretty x - - pretty (DomainMetaVar x) = "&" <> pretty x - - -prettyAttrs :: (Pretty a, Pretty b) => a -> b -> Doc -prettyAttrs a bs = - let prettya = pretty a - in if prettya == "()" - then pretty bs - else prBraces prettya <+> pretty bs - -instance Pretty a => Pretty (DomainAttributes a) where - pretty (DomainAttributes []) = prEmpty - pretty (DomainAttributes attrs) = prettyList prParens "," attrs - -instance Pretty a => Pretty (DomainAttribute a) where - pretty (DAName name) = pretty name - pretty (DANameValue name value) = pretty name <+> pretty value - pretty DADotDot = ".." - -instance Pretty a => Pretty (Range a) where - pretty RangeOpen = ".." - pretty (RangeSingle x) = pretty x - pretty (RangeLowerBounded x) = pretty x <> ".." - pretty (RangeUpperBounded x) = ".." <> pretty x - pretty (RangeBounded x y) | show (pretty x) == show (pretty y) = pretty x - pretty (RangeBounded x y) = pretty x <> ".." <> pretty y - -instance Pretty HasRepresentation where - pretty NoRepresentation = "∅" - pretty r = pretty (representationToFullText r) - -textToRepresentation :: Text -> [HasRepresentation] -> Maybe HasRepresentation -textToRepresentation t [] | t == "Occurrence" = return Set_Occurrence -textToRepresentation t [] | t == "Explicit" = return Set_Explicit -textToRepresentation t [] | t == "ExplicitVarSizeWithFlags" = return Set_ExplicitVarSizeWithFlags -textToRepresentation t [] | t == "ExplicitVarSizeWithMarker" = return Set_ExplicitVarSizeWithMarker -textToRepresentation t [] | t == "ExplicitVarSizeWithDummy" = return Set_ExplicitVarSizeWithDummy -textToRepresentation t [] | t == "MOccurrence" = return MSet_Occurrence -textToRepresentation t [] | t == "ExplicitWithFlags" = return MSet_ExplicitWithFlags -textToRepresentation t [] | t == "ExplicitWithRepetition" = return MSet_ExplicitWithRepetition -textToRepresentation t [] | t == "Function1D" = return Function_1D -textToRepresentation t [] | t == "Function1DPartial" = return Function_1DPartial -textToRepresentation t [] | t == "FunctionND" = return Function_ND -textToRepresentation t [] | t == "FunctionNDPartial" = return Function_NDPartial -textToRepresentation t [repr] | t == "FunctionAsRelation" = return (Function_AsRelation repr) -textToRepresentation t [] | t == "ExplicitBounded" = return Sequence_ExplicitBounded -textToRepresentation t [] | t == "RelationAsMatrix" = return Relation_AsMatrix -textToRepresentation t [repr] | t == "RelationAsSet" = return (Relation_AsSet repr) -textToRepresentation t [repr1, repr2] | t == "PartitionAsSet" = return (Partition_AsSet repr1 repr2) -textToRepresentation t [] | t == "PartitionOccurrence" = return Partition_Occurrence -<<<<<<< HEAD -textToRepresentation t [] | t == "PermutationAsFunction" = return Permutation_AsFunction -textToRepresentation t _ = bug ("textToRepresentation:" <+> pretty t) -======= -textToRepresentation _ _ = Nothing ->>>>>>> master - -representationToShortText :: HasRepresentation -> Text -representationToShortText Set_Occurrence = "Occurrence" -representationToShortText Set_Explicit = "Explicit" -representationToShortText Set_ExplicitVarSizeWithFlags = "ExplicitVarSizeWithFlags" -representationToShortText Set_ExplicitVarSizeWithMarker = "ExplicitVarSizeWithMarker" -representationToShortText Set_ExplicitVarSizeWithDummy = "ExplicitVarSizeWithDummy" -representationToShortText MSet_Occurrence = "MOccurrence" -representationToShortText MSet_ExplicitWithFlags = "ExplicitWithFlags" -representationToShortText MSet_ExplicitWithRepetition = "ExplicitWithRepetition" -representationToShortText Function_1D = "Function1D" -representationToShortText Function_1DPartial = "Function1DPartial" -representationToShortText Function_ND = "FunctionND" -representationToShortText Function_NDPartial = "FunctionNDPartial" -representationToShortText Function_AsRelation{} = "FunctionAsRelation" -representationToShortText Sequence_ExplicitBounded = "ExplicitBounded" -representationToShortText Relation_AsMatrix = "RelationAsMatrix" -representationToShortText Relation_AsSet{} = "RelationAsSet" -representationToShortText Partition_AsSet{} = "PartitionAsSet" -representationToShortText Partition_Occurrence = "PartitionOccurrence" -representationToShortText Permutation_AsFunction = "PermutationAsFunction" -representationToShortText r = bug ("representationToShortText:" <+> pretty (show r)) - -representationToFullText :: HasRepresentation -> Text -representationToFullText (Function_AsRelation repr) = mconcat [ "FunctionAsRelation" - , "[" - , representationToFullText repr - , "]" - ] -representationToFullText (Relation_AsSet repr) = mconcat [ "RelationAsSet" - , "[" - , representationToFullText repr - , "]" - ] -representationToFullText (Partition_AsSet repr1 repr2) = mconcat [ "PartitionAsSet" - , "[" - , representationToFullText repr1 - , "," - , representationToFullText repr2 - , "]" - ] -representationToFullText r = representationToShortText r - - -normaliseDomain :: (Ord c, ExpressionLike c) => (c -> c) -> Domain r c -> Domain r c -normaliseDomain _norm DomainBool = DomainBool -normaliseDomain norm (DomainInt t rs ) = DomainInt t $ sort $ map (normaliseRange norm) (expandRanges rs) -normaliseDomain _norm (DomainEnum n Nothing mp) = DomainEnum n Nothing mp -normaliseDomain _norm (DomainEnum n (Just rs) mp) = DomainEnum n (Just $ sort rs) mp -normaliseDomain norm (DomainUnnamed n x ) = DomainUnnamed n (norm x) -normaliseDomain norm (DomainRecord doms ) = DomainRecord [ (n, normaliseDomain norm d) - | (n, d) <- doms ] -normaliseDomain norm (DomainVariant doms ) = DomainVariant [ (n, normaliseDomain norm d) - | (n, d) <- doms ] -normaliseDomain norm (DomainTuple doms ) = DomainTuple $ map (normaliseDomain norm) doms -normaliseDomain norm (DomainMatrix dom1 dom2) = DomainMatrix (normaliseDomain norm dom1) - (normaliseDomain norm dom2) -normaliseDomain norm (DomainSet r attr dom ) = DomainSet r (fmap norm attr) - (normaliseDomain norm dom) -normaliseDomain norm (DomainMSet r attr dom ) = DomainMSet r (fmap norm attr) - (normaliseDomain norm dom) -normaliseDomain norm (DomainFunction r attr dom1 dom2) = DomainFunction r (fmap norm attr) - (normaliseDomain norm dom1) - (normaliseDomain norm dom2) -normaliseDomain norm (DomainSequence r attr dom ) = DomainSequence r (fmap norm attr) - (normaliseDomain norm dom) -normaliseDomain norm (DomainRelation r attr doms ) = DomainRelation r (fmap norm attr) - (map (normaliseDomain norm) doms) -normaliseDomain norm (DomainPartition r attr dom ) = DomainPartition r (fmap norm attr) - (normaliseDomain norm dom) -normaliseDomain _norm d = d - -normaliseRange :: (c -> c) -> Range c -> Range c -normaliseRange _norm RangeOpen = RangeOpen -normaliseRange norm (RangeSingle x) = RangeBounded (norm x) (norm x) -normaliseRange norm (RangeLowerBounded x) = RangeLowerBounded (norm x) -normaliseRange norm (RangeUpperBounded x) = RangeUpperBounded (norm x) -normaliseRange norm (RangeBounded x y) = RangeBounded (norm x) (norm y) - -innerDomainOf :: (MonadFail m, Show x) => Domain () x -> m (Domain () x) -innerDomainOf (DomainMatrix _ t) = return t -innerDomainOf (DomainSet _ _ t) = return t -innerDomainOf (DomainMSet _ _ t) = return t -innerDomainOf (DomainFunction _ _ a b) = return (DomainTuple [a,b]) -innerDomainOf (DomainRelation _ _ ts) = return (DomainTuple ts) -innerDomainOf (DomainPartition _ _ t) = return (DomainSet () def t) -innerDomainOf t = fail ("innerDomainOf:" <+> pretty (show t)) - -singletonDomainInt :: (Eq x, CanBeAnAlias x) => Domain r x -> Maybe x -singletonDomainInt (DomainInt _ [RangeSingle a]) = Just a -singletonDomainInt (DomainInt _ [RangeBounded a b]) = - let - followAlias (isAlias -> Just x) = followAlias x - followAlias x = x - in - if followAlias a == followAlias b - then Just a - else Nothing -singletonDomainInt _ = Nothing - -matrixNumDimsD :: Domain r x -> Int -matrixNumDimsD (DomainMatrix _ t) = 1 + matrixNumDimsD t -matrixNumDimsD _ = 0 - diff --git a/src/Conjure/Language/Expression/Op/Defined.hs.orig b/src/Conjure/Language/Expression/Op/Defined.hs.orig deleted file mode 100644 index ffd58e4b05..0000000000 --- a/src/Conjure/Language/Expression/Op/Defined.hs.orig +++ /dev/null @@ -1,55 +0,0 @@ -{-# LANGUAGE DeriveGeneric, DeriveDataTypeable, DeriveFunctor, DeriveTraversable, DeriveFoldable, ViewPatterns #-} - -module Conjure.Language.Expression.Op.Defined where - -import Conjure.Prelude -import Conjure.Language.Expression.Op.Internal.Common - -import qualified Data.Aeson as JSON -- aeson -import qualified Data.HashMap.Strict as M -- unordered-containers -import qualified Data.Vector as V -- vector - - -data OpDefined x = OpDefined x - deriving (Eq, Ord, Show, Data, Functor, Traversable, Foldable, Typeable, Generic) - -instance Serialize x => Serialize (OpDefined x) -instance Hashable x => Hashable (OpDefined x) -instance ToJSON x => ToJSON (OpDefined x) where toJSON = genericToJSON jsonOptions -instance FromJSON x => FromJSON (OpDefined x) where parseJSON = genericParseJSON jsonOptions - -instance (Pretty x, TypeOf x) => TypeOf (OpDefined x) where - typeOf p@(OpDefined x) = do - ty <- typeOf x - case ty of - TypeFunction a _ -> return (TypeSet a) - TypePermutation a -> return (TypeSet a) - TypeSequence _ -> return (TypeSet (TypeInt TagInt)) - _ -> raiseTypeError p - -<<<<<<< HEAD -instance EvaluateOp OpDefined where - evaluateOp p | any isUndef (childrenBi p) = do - ty <- typeOf p - return $ mkUndef ty $ "Has undefined children:" <+> pretty p - evaluateOp (OpDefined (viewConstantFunction -> Just xs)) = - return $ ConstantAbstract $ AbsLitSet $ sortNub $ map fst xs - evaluateOp (OpDefined (viewConstantPermutation -> Just xss)) = - return $ ConstantAbstract $ AbsLitSet $ join xss - evaluateOp op = na $ "evaluateOp{OpDefined}:" <++> pretty (show op) - -======= ->>>>>>> master -instance SimplifyOp OpDefined x where - simplifyOp _ = na "simplifyOp{OpDefined}" - -instance Pretty x => Pretty (OpDefined x) where - prettyPrec _ (OpDefined a) = "defined" <> prParens (pretty a) - -instance VarSymBreakingDescription x => VarSymBreakingDescription (OpDefined x) where - varSymBreakingDescription (OpDefined a) = JSON.Object $ M.fromList - [ ("type", JSON.String "OpDefined") - , ("children", JSON.Array $ V.fromList - [ varSymBreakingDescription a - ]) - ] diff --git a/src/Conjure/Language/Expression/Op/Image.hs.orig b/src/Conjure/Language/Expression/Op/Image.hs.orig deleted file mode 100644 index f70ac2cc3a..0000000000 --- a/src/Conjure/Language/Expression/Op/Image.hs.orig +++ /dev/null @@ -1,106 +0,0 @@ -{-# LANGUAGE DeriveGeneric, DeriveDataTypeable, DeriveFunctor, DeriveTraversable, DeriveFoldable, ViewPatterns #-} - -module Conjure.Language.Expression.Op.Image where - -import Conjure.Prelude -import Conjure.Language.Expression.Op.Internal.Common -import Conjure.Bug - -import qualified Data.Aeson as JSON -- aeson -import qualified Data.HashMap.Strict as M -- unordered-containers -import qualified Data.Vector as V -- vector - -import Data.List (cycle) - - -data OpImage x = OpImage x x - deriving (Eq, Ord, Show, Data, Functor, Traversable, Foldable, Typeable, Generic) - -instance Serialize x => Serialize (OpImage x) -instance Hashable x => Hashable (OpImage x) -instance ToJSON x => ToJSON (OpImage x) where toJSON = genericToJSON jsonOptions -instance FromJSON x => FromJSON (OpImage x) where parseJSON = genericParseJSON jsonOptions - -instance (TypeOf x, Pretty x) => TypeOf (OpImage x) where - typeOf p@(OpImage f x) = do - tyF <- typeOf f - tyX <- typeOf x - (from, to) <- case tyF of - TypeFunction from to -> return (from, to) - TypeSequence to -> return (TypeInt TagInt, to) - TypePermutation _ -> return (tyX, tyX) - _ -> raiseTypeError $ "(function application)" <+> pretty p - if typesUnify [tyX, from] - then return to - else raiseTypeError $ vcat - [ pretty p - , "function :" <+> pretty f - , "function type:" <+> pretty (TypeFunction from to) - , "argument :" <+> pretty x - , "argument type:" <+> pretty tyX - ] - -<<<<<<< HEAD -instance EvaluateOp OpImage where - evaluateOp (OpImage f@(viewConstantFunction -> Just xs) a) = - case [ y | (x,y) <- xs, a == x ] of - [y] -> return y - [] -> do - TypeFunction _ tyTo <- typeOf f - return $ mkUndef tyTo $ vcat - [ "Function is not defined at this point:" <+> pretty a - , "Function value:" <+> pretty f - ] - _ -> do - TypeFunction _ tyTo <- typeOf f - return $ mkUndef tyTo $ vcat - [ "Function is multiply defined at this point:" <+> pretty a - , "Function value:" <+> pretty f - ] - evaluateOp (OpImage f@(viewConstantSequence -> Just xs) a) = - case [ y | (x,y) <- zip allNats xs, a == fromInt x ] of - [y] -> return y - [] -> do - TypeSequence tyTo <- typeOf f - return $ mkUndef tyTo $ vcat - [ "Sequence is not defined at this point:" <+> pretty a - , "Sequence value:" <+> pretty f - ] - _ -> do - TypeSequence tyTo <- typeOf f - return $ mkUndef tyTo $ vcat - [ "Sequence is multiply defined at this point:" <+> pretty a - , "Sequence value:" <+> pretty f - ] - evaluateOp (OpImage p@(viewConstantPermutation -> Just xss) i) = do - (TypePermutation ip) <- typeOf p - ti <- typeOf i - if typesUnify [ti, ip] - then case filter (i `elem`) xss of - [] -> return i - [h] -> do - case length $ filter (== i) h of - 1 -> return $ head $ drop 1 $ dropWhile (/= i) $ cycle h - _ -> bug "evaluateOp{OpImage} element in cycle of permutationmore than once" - _ -> bug "evaluateOp{OpPermute} element in more than one cycle of permutation" - else if ti `containsType` ip - then na "refinement required to evaluate image of permutation" - else return i - evaluateOp op = na $ "evaluateOp{OpImage}:" <++> pretty (show op) - -======= ->>>>>>> master -instance SimplifyOp OpImage x where - simplifyOp _ = na "simplifyOp{OpImage}" - -instance Pretty x => Pretty (OpImage x) where - prettyPrec _ (OpImage a b) = "image" <> prettyList prParens "," [a,b] - -instance VarSymBreakingDescription x => VarSymBreakingDescription (OpImage x) where - varSymBreakingDescription (OpImage a b) = JSON.Object $ M.fromList - [ ("type", JSON.String "OpImage") - , ("children", JSON.Array $ V.fromList - [ varSymBreakingDescription a - , varSymBreakingDescription b - ]) - ] diff --git a/src/Conjure/Language/Expression/Op/Inverse.hs.orig b/src/Conjure/Language/Expression/Op/Inverse.hs.orig deleted file mode 100644 index 32ddf466b1..0000000000 --- a/src/Conjure/Language/Expression/Op/Inverse.hs.orig +++ /dev/null @@ -1,67 +0,0 @@ -{-# LANGUAGE DeriveGeneric, DeriveDataTypeable, DeriveFunctor, DeriveTraversable, DeriveFoldable, ViewPatterns #-} - -module Conjure.Language.Expression.Op.Inverse where - -import Conjure.Prelude -import Conjure.Language.Expression.Op.Internal.Common - -import qualified Data.Aeson as JSON -- aeson -import qualified Data.HashMap.Strict as M -- unordered-containers -import qualified Data.Vector as V -- vector - -import Data.Permutation - - -data OpInverse x = OpInverse x x - deriving (Eq, Ord, Show, Data, Functor, Traversable, Foldable, Typeable, Generic) - -instance Serialize x => Serialize (OpInverse x) -instance Hashable x => Hashable (OpInverse x) -instance ToJSON x => ToJSON (OpInverse x) where toJSON = genericToJSON jsonOptions -instance FromJSON x => FromJSON (OpInverse x) where parseJSON = genericParseJSON jsonOptions - -instance (TypeOf x, Pretty x) => TypeOf (OpInverse x) where - typeOf p@(OpInverse f g) = do - ft <- typeOf f - case ft of - TypeFunction fFrom fTo -> do - TypeFunction gFrom gTo <- typeOf g - if typesUnify [fFrom, gTo] && typesUnify [fTo, gFrom] - then return TypeBool - else raiseTypeError p - TypePermutation fi -> do - TypePermutation gi <- typeOf g - if typesUnify [fi,gi] - then return TypeBool - else raiseTypeError p - _ -> raiseTypeError p - -<<<<<<< HEAD -instance EvaluateOp OpInverse where - evaluateOp (OpInverse (viewConstantFunction -> Just xs) (viewConstantFunction -> Just ys)) = - return $ ConstantBool $ and $ concat [ [ (j,i) `elem` ys | (i,j) <- xs ] - , [ (j,i) `elem` xs | (i,j) <- ys ] - ] - evaluateOp (OpInverse (viewConstantPermutation -> Just xs) (viewConstantPermutation -> Just ys)) = - case (toFunction <$> fromCycles xs, toFunction <$> fromCycles ys) of - (Right xfn, Right lfn) -> return $ ConstantBool $ and $ (\x -> x == lfn (xfn x)) <$> join xs - (Left (PermutationError e),_) -> na $ "evaluateOp{OpInverse}:" <++> pretty e - (_,Left (PermutationError e)) -> na $ "evaluateOp{OpInverse}:" <++> pretty e - evaluateOp op = na $ "evaluateOp{OpInverse}:" <++> pretty (show op) - -======= ->>>>>>> master -instance SimplifyOp OpInverse x where - simplifyOp _ = na "simplifyOp{OpInverse}" - -instance Pretty x => Pretty (OpInverse x) where - prettyPrec _ (OpInverse a b) = "inverse" <> prettyList prParens "," [a,b] - -instance VarSymBreakingDescription x => VarSymBreakingDescription (OpInverse x) where - varSymBreakingDescription (OpInverse a b) = JSON.Object $ M.fromList - [ ("type", JSON.String "OpInverse") - , ("children", JSON.Array $ V.fromList - [ varSymBreakingDescription a - , varSymBreakingDescription b - ]) - ] diff --git a/src/Conjure/Language/Expression/Op/Product.hs.orig b/src/Conjure/Language/Expression/Op/Product.hs.orig deleted file mode 100644 index 426c3a45d5..0000000000 --- a/src/Conjure/Language/Expression/Op/Product.hs.orig +++ /dev/null @@ -1,92 +0,0 @@ -{-# LANGUAGE DeriveGeneric, DeriveDataTypeable, DeriveFunctor, DeriveTraversable, DeriveFoldable #-} -{-# LANGUAGE UndecidableInstances #-} - -module Conjure.Language.Expression.Op.Product where - -import Conjure.Prelude -import Conjure.Language.Expression.Op.Internal.Common - -import qualified Data.Aeson as JSON -- aeson -import qualified Data.HashMap.Strict as M -- unordered-containers -import qualified Data.Vector as V -- vector - - -data OpProduct x = OpProduct x - deriving (Eq, Ord, Show, Data, Functor, Traversable, Foldable, Typeable, Generic) - -instance Serialize x => Serialize (OpProduct x) -instance Hashable x => Hashable (OpProduct x) -instance ToJSON x => ToJSON (OpProduct x) where toJSON = genericToJSON jsonOptions -instance FromJSON x => FromJSON (OpProduct x) where parseJSON = genericParseJSON jsonOptions - -instance (TypeOf x, Pretty x, ExpressionLike x) => TypeOf (OpProduct x) where - typeOf p@(OpProduct x) = do - ty <- typeOf x - innerTy <- case ty of - TypeList t -> return t - TypeMatrix _ t -> return t - TypeSet t -> return t - TypeMSet t -> return t - _ -> raiseTypeError $ vcat [ pretty p - , "The argument has type:" <+> pretty ty - ] - case innerTy of - TypeInt t | ?typeCheckerMode == RelaxedIntegerTags -> return (TypeInt t) - TypeInt TagInt -> return (TypeInt TagInt) - _ -> raiseTypeError $ vcat [ pretty p - , "The argument has type:" <+> pretty ty - ] - -instance BinaryOperator (OpProduct x) where - opLexeme _ = L_Times - -instance EvaluateOp OpProduct where - evaluateOp p | any isUndef (childrenBi p) = - return $ mkUndef (TypeInt TagInt) $ "Has undefined children:" <+> pretty p - evaluateOp p@(OpProduct x) - | Just xs <- listOut x - , any isUndef xs = -<<<<<<< HEAD - return $ mkUndef (TypeInt AnyTag) $ "Has undefined children:" <+> pretty p - evaluateOp (OpProduct x) = ConstantInt AnyTag . product <$> intsOut "OpProduct" x - --- evaluateOp p@(OpProduct x) --- | Just xs <- listOut x --- , any isUndef xs = return $ mkUndef (TypeInt NoTag) $ "Has undefined children:" <+> pretty p --- evaluateOp (OpProduct x) = ConstantInt NoTag . product <$> intsOut "OpProduct" x --- -======= - return $ mkUndef (TypeInt TagInt) $ "Has undefined children:" <+> pretty p - evaluateOp (OpProduct x) = ConstantInt TagInt . product <$> intsOut "OpProduct" x ->>>>>>> master - -instance (OpProduct x :< x) => SimplifyOp OpProduct x where - simplifyOp (OpProduct x) - | Just xs <- listOut x - , let filtered = filter (/=0) xs - , length filtered /= length xs -- there were 0's - = return 0 - simplifyOp (OpProduct x) - | Just xs <- listOut x - , let filtered = filter (/=1) xs - , length filtered /= length xs -- there were 1's - = case filtered of - [] -> return 1 - [n] -> return n - _ -> return $ inject $ OpProduct $ fromList filtered - simplifyOp _ = na "simplifyOp{OpProduct}" - -instance (Pretty x, ExpressionLike x) => Pretty (OpProduct x) where - prettyPrec prec op@(OpProduct x) | Just [a,b] <- listOut x = prettyPrecBinOp prec [op] a b - prettyPrec _ (OpProduct x) = "product" <> prParens (pretty x) - -instance (VarSymBreakingDescription x, ExpressionLike x) => VarSymBreakingDescription (OpProduct x) where - varSymBreakingDescription (OpProduct x) | Just xs <- listOut x = JSON.Object $ M.fromList - [ ("type", JSON.String "OpProduct") - , ("children", JSON.Array $ V.fromList $ map varSymBreakingDescription xs) - , ("symmetricChildren", JSON.Bool True) - ] - varSymBreakingDescription (OpProduct x) = JSON.Object $ M.fromList - [ ("type", JSON.String "OpProduct") - , ("children", varSymBreakingDescription x) - ] diff --git a/src/Conjure/Language/Expression/Op/ToSet.hs.orig b/src/Conjure/Language/Expression/Op/ToSet.hs.orig deleted file mode 100644 index 54419cda1d..0000000000 --- a/src/Conjure/Language/Expression/Op/ToSet.hs.orig +++ /dev/null @@ -1,72 +0,0 @@ -{-# LANGUAGE DeriveGeneric, DeriveDataTypeable, DeriveFunctor, DeriveTraversable, DeriveFoldable, ViewPatterns #-} - -module Conjure.Language.Expression.Op.ToSet where - -import Conjure.Prelude -import Conjure.Language.Expression.Op.Internal.Common - -import qualified Data.Aeson as JSON -- aeson -import qualified Data.HashMap.Strict as M -- unordered-containers -import qualified Data.Vector as V -- vector - -import Data.Permutation - - -data OpToSet x = OpToSet - Bool -- True means we can assume there won't be any duplicates - x - deriving (Eq, Ord, Show, Data, Functor, Traversable, Foldable, Typeable, Generic) - -instance Serialize x => Serialize (OpToSet x) -instance Hashable x => Hashable (OpToSet x) -instance ToJSON x => ToJSON (OpToSet x) where toJSON = genericToJSON jsonOptions -instance FromJSON x => FromJSON (OpToSet x) where parseJSON = genericParseJSON jsonOptions - -instance (TypeOf x, Pretty x) => TypeOf (OpToSet x) where - typeOf p@(OpToSet _ x) = do - tx <- typeOf x - case tx of - TypeRelation is -> return (TypeSet (TypeTuple is)) - TypePermutation is -> return (TypeSet (TypeTuple [is, is])) - TypeMSet i -> return (TypeSet i) - TypeFunction i j -> return (TypeSet (TypeTuple [i,j])) - TypeMatrix _ i -> return (TypeSet i) - TypeList i -> return (TypeSet i) - _ -> raiseTypeError $ vcat [ pretty p - , "The argument has type:" <+> pretty tx - ] - -<<<<<<< HEAD -instance EvaluateOp OpToSet where - evaluateOp (OpToSet _ (viewConstantMatrix -> Just (_, xs))) = - return $ ConstantAbstract $ AbsLitSet $ sortNub xs - evaluateOp (OpToSet _ (viewConstantSet -> Just xs)) = - return $ ConstantAbstract $ AbsLitSet $ sortNub xs - evaluateOp (OpToSet _ (viewConstantMSet -> Just xs)) = - return $ ConstantAbstract $ AbsLitSet $ sortNub xs - evaluateOp (OpToSet _ (viewConstantFunction -> Just xs)) = - return $ ConstantAbstract $ AbsLitSet $ sortNub [ConstantAbstract $ AbsLitTuple [a,b] | (a,b) <- xs] - evaluateOp (OpToSet _ (viewConstantRelation -> Just xs)) = - return $ ConstantAbstract $ AbsLitSet $ sortNub $ map (ConstantAbstract . AbsLitTuple) xs - evaluateOp (OpToSet _ (viewConstantPermutation -> Just xs)) = - case toFunction <$> fromCycles xs of - Left (PermutationError e) -> na $ "evaluateOp{OpToSet}:" <++> pretty e - Right fn -> return $ ConstantAbstract $ AbsLitSet $ (ConstantAbstract . AbsLitTuple) <$> ((\x -> [x, fn x]) <$> join xs) - evaluateOp op = na $ "evaluateOp{OpToSet}:" <++> pretty (show op) - -======= ->>>>>>> master -instance SimplifyOp OpToSet x where - simplifyOp _ = na "simplifyOp{OpToSet}" - -instance Pretty x => Pretty (OpToSet x) where - prettyPrec _ (OpToSet _ a) = "toSet" <> prParens (pretty a) - -instance VarSymBreakingDescription x => VarSymBreakingDescription (OpToSet x) where - varSymBreakingDescription (OpToSet b x) = JSON.Object $ M.fromList - [ ("type", JSON.String "OpToSet") - , ("children", JSON.Array $ V.fromList - [ toJSON b - , varSymBreakingDescription x - ]) - ] diff --git a/src/Conjure/Language/Expression/Op/TwoBars.hs.orig b/src/Conjure/Language/Expression/Op/TwoBars.hs.orig deleted file mode 100644 index 12f5a57f32..0000000000 --- a/src/Conjure/Language/Expression/Op/TwoBars.hs.orig +++ /dev/null @@ -1,73 +0,0 @@ -{-# LANGUAGE DeriveGeneric, DeriveDataTypeable, DeriveFunctor, DeriveTraversable, DeriveFoldable, ViewPatterns #-} -{-# LANGUAGE UndecidableInstances #-} - -module Conjure.Language.Expression.Op.TwoBars where - -import Conjure.Prelude -import Conjure.Language.Expression.Op.Internal.Common - -import qualified Data.Aeson as JSON -- aeson -import qualified Data.HashMap.Strict as M -- unordered-containers -import qualified Data.Vector as V -- vector - - -data OpTwoBars x = OpTwoBars x - deriving (Eq, Ord, Show, Data, Functor, Traversable, Foldable, Typeable, Generic) - -instance Serialize x => Serialize (OpTwoBars x) -instance Hashable x => Hashable (OpTwoBars x) -instance ToJSON x => ToJSON (OpTwoBars x) where toJSON = genericToJSON jsonOptions -instance FromJSON x => FromJSON (OpTwoBars x) where parseJSON = genericParseJSON jsonOptions - -instance (TypeOf x, Pretty x, Domain () x :< x) => TypeOf (OpTwoBars x) where - typeOf p@(OpTwoBars a) = do -<<<<<<< HEAD - ty <- typeOf a - case ty of - TypeInt _ -> return () - TypeList{} -> return () - TypeSet{} -> return () - TypeMSet{} -> return () - TypeFunction{} -> return () - TypeSequence{} -> return () - TypeRelation{} -> return () - TypePartition{} -> return () - TypePermutation{} -> return () - _ -> raiseTypeError $ vcat [ pretty p - , "Expected an integer or a collection." - , "But got:" <+> pretty ty - ] -======= - case project a of - Just (_ :: Domain () x) -> return () - Nothing -> do - ty <- typeOf a - case ty of - TypeInt _ -> return () - TypeList{} -> return () - TypeSet{} -> return () - TypeMSet{} -> return () - TypeFunction{} -> return () - TypeSequence{} -> return () - TypeRelation{} -> return () - TypePartition{} -> return () - _ -> raiseTypeError $ vcat [ pretty p - , "Expected an integer or a collection." - , "But got:" <+> pretty ty - ] ->>>>>>> master - return $ TypeInt TagInt - -instance SimplifyOp OpTwoBars x where - simplifyOp _ = na "simplifyOp{OpTwoBars}" - -instance Pretty x => Pretty (OpTwoBars x) where - prettyPrec _ (OpTwoBars a) = "|" <> pretty a <> "|" - -instance VarSymBreakingDescription x => VarSymBreakingDescription (OpTwoBars x) where - varSymBreakingDescription (OpTwoBars a) = JSON.Object $ M.fromList - [ ("type", JSON.String "OpTwoBars") - , ("children", JSON.Array $ V.fromList - [ varSymBreakingDescription a - ]) - ] diff --git a/src/Conjure/Language/Instantiate.hs.orig b/src/Conjure/Language/Instantiate.hs.orig deleted file mode 100644 index d173e5a2f7..0000000000 --- a/src/Conjure/Language/Instantiate.hs.orig +++ /dev/null @@ -1,436 +0,0 @@ -{-# LANGUAGE GeneralizedNewtypeDeriving #-} - -module Conjure.Language.Instantiate - ( instantiateExpression - , instantiateDomain - , trySimplify - , entailed - ) where - --- conjure -import Conjure.Prelude -import Conjure.Bug -import Conjure.UserError -import Conjure.Language.Definition -import Conjure.Language.Expression.Op -import Conjure.Language.Domain -import Conjure.Language.Constant -import Conjure.Language.Type -import Conjure.Language.TypeOf -import Conjure.Language.Pretty -import Conjure.Process.Enumerate ( EnumerateDomain, enumerateDomain, enumerateInConstant ) - - --- | Try to simplify an expression recursively. -trySimplify :: - MonadUserError m => - EnumerateDomain m => - (?typeCheckerMode :: TypeCheckerMode) => - Expression -> m Expression -trySimplify x = do - res <- runMaybeT $ instantiateExpression [] x - case res of - Just c -- if the expression can be evaluated into a Constant - | null [() | ConstantUndefined{} <- universe c] -- and if it doesn't contain undefined's in it - -> return (Constant c) -- evaluate to the constant - _ -> descendM trySimplify x -- otherwise, try the same on its children - - -instantiateExpression :: - MonadFail m => - EnumerateDomain m => - (?typeCheckerMode :: TypeCheckerMode) => - [(Name, Expression)] -> Expression -> m Constant -instantiateExpression ctxt x = do - constant <- normaliseConstant <$> evalStateT (instantiateE x) ctxt - case (emptyCollection constant, constant) of - (_, TypedConstant{}) -> return constant - (True, _) -> do - ty <- typeOf x - return (TypedConstant constant ty) - (False, _) -> return constant - - -instantiateDomain :: - MonadFail m => - EnumerateDomain m => - Pretty r => - Default r => - (?typeCheckerMode :: TypeCheckerMode) => - [(Name, Expression)] -> Domain r Expression -> m (Domain r Constant) -instantiateDomain ctxt x = normaliseDomain normaliseConstant <$> evalStateT (instantiateD x) ctxt - - -newtype HasUndef = HasUndef Any - deriving (Semigroup, Monoid) - -instantiateE :: - MonadFail m => - MonadState [(Name, Expression)] m => - EnumerateDomain m => - (?typeCheckerMode :: TypeCheckerMode) => - Expression -> m Constant -instantiateE (Comprehension body gensOrConds) = do - let - loop :: ( MonadFail m - , MonadState [(Name, Expression)] m - , EnumerateDomain m - ) => [GeneratorOrCondition] -> WriterT HasUndef m [Constant] - loop [] = return <$> instantiateE body - loop (Generator (GenDomainNoRepr pat domain) : rest) = do - DomainInConstant domainConstant <- instantiateE (Domain domain) - let undefinedsInsideTheDomain = - [ und - | und@ConstantUndefined{} <- universeBi domainConstant - ] - if null undefinedsInsideTheDomain - then do - enumeration <- enumerateDomain domainConstant - concatMapM - (\ val -> scope $ do - valid <- bind pat val - if valid - then loop rest - else return [] ) - enumeration - else do - tell (HasUndef (Any True)) - return [] - loop (Generator (GenDomainHasRepr pat domain) : rest) = - loop (Generator (GenDomainNoRepr (Single pat) (forgetRepr domain)) : rest) - loop (Generator (GenInExpr pat expr) : rest) = do - exprConstant <- instantiateE expr - enumeration <- enumerateInConstant exprConstant - concatMapM - (\ val -> scope $ do - valid <- bind pat val - if valid - then loop rest - else return [] ) - enumeration - loop (Condition expr : rest) = do - constant <- instantiateE expr - if constant == ConstantBool True - then loop rest - else return [] - loop (ComprehensionLetting n expr : rest) = do - constant <- instantiateE expr - valid <- bind (Single n) constant - unless valid (bug "ComprehensionLetting.bind expected to be valid") - loop rest - - - (constants, HasUndef (Any undefinedsInsideGeneratorDomains)) <- runWriterT (loop gensOrConds) - if undefinedsInsideGeneratorDomains - then do - ty <- typeOf (Comprehension body gensOrConds) - return $ ConstantUndefined - "Comprehension contains undefined values inside generator domains." - ty - else - return $ ConstantAbstract $ AbsLitMatrix - (DomainInt TagInt [RangeBounded 1 (fromInt (genericLength constants))]) - constants - -instantiateE (Reference name (Just (RecordField _ ty))) = return $ ConstantField name ty -instantiateE (Reference name (Just (VariantField _ ty))) = return $ ConstantField name ty -instantiateE (Reference _ (Just (Alias x))) = instantiateE x -instantiateE (Reference name _) = do - ctxt <- gets id - case name `lookup` ctxt of - Nothing -> fail $ vcat - $ ("No value for:" <+> pretty name) - : "Bindings in context:" - : prettyContext ctxt - Just x -> instantiateE x - -instantiateE (Constant c) = return c -instantiateE (AbstractLiteral lit) = instantiateAbsLit lit -instantiateE (Typed x ty) = TypedConstant <$> instantiateE x <*> pure ty -instantiateE (Op op) = instantiateOp op - --- "Domain () Expression"s inside expressions are handled specially -instantiateE (Domain (DomainReference _ (Just d))) = instantiateE (Domain d) -instantiateE (Domain (DomainReference name Nothing)) = do - ctxt <- gets id - case name `lookup` ctxt of - Just (Domain d) -> instantiateE (Domain d) - _ -> fail $ vcat - $ ("No value for:" <+> pretty name) - : "Bindings in context:" - : prettyContext ctxt -instantiateE (Domain domain) = DomainInConstant <$> instantiateD domain - -instantiateE (WithLocals b (AuxiliaryVars locals)) = do - forM_ locals $ \ local -> case local of - SuchThat xs -> forM_ xs $ \ x -> do - constant <- instantiateE x - case constant of - ConstantBool True -> return () - _ -> fail $ "local:" <+> pretty constant - _ -> fail $ "local:" <+> pretty local - instantiateE b - -instantiateE (WithLocals b (DefinednessConstraints locals)) = do - forM_ locals $ \ x -> do - constant <- instantiateE x - case constant of - ConstantBool True -> return () - _ -> fail $ "local:" <+> pretty constant - instantiateE b - -instantiateE x = fail $ "instantiateE:" <+> pretty (show x) - - -instantiateOp :: - MonadFail m => - MonadState [(Name, Expression)] m => - EnumerateDomain m => - (?typeCheckerMode :: TypeCheckerMode) => - Op Expression -> m Constant -instantiateOp opx = mapM instantiateE opx >>= evaluateOp . fmap normaliseConstant - - -instantiateAbsLit :: - MonadFail m => - MonadState [(Name, Expression)] m => - EnumerateDomain m => - (?typeCheckerMode :: TypeCheckerMode) => - AbstractLiteral Expression -> m Constant -instantiateAbsLit x = do - c <- mapM instantiateE x - case c of - -- for functions, if the same thing is mapped to multiple values, the result is undefined - AbsLitFunction vals -> do - let nubVals = sortNub vals - if length (sortNub (map fst nubVals)) == length nubVals - then return $ ConstantAbstract $ AbsLitFunction nubVals - else do - ty <- typeOf c - return $ ConstantUndefined "Multiple mappings for the same value." ty - _ -> return $ ConstantAbstract c - - -instantiateD :: - MonadFail m => - MonadState [(Name, Expression)] m => - EnumerateDomain m => - Pretty r => - Default r => - (?typeCheckerMode :: TypeCheckerMode) => - Domain r Expression -> m (Domain r Constant) -instantiateD (DomainAny t ty) = return (DomainAny t ty) -instantiateD DomainBool = return DomainBool -instantiateD (DomainIntE x) = do - x' <- instantiateE x - let vals = case (x', viewConstantMatrix x', viewConstantSet x') of - (ConstantInt{}, _, _) -> [x'] - (_, Just (_, xs), _) -> xs - (_, _, Just xs) -> xs - _ -> [] - return (DomainInt TagInt (map RangeSingle vals)) -instantiateD (DomainInt t ranges) = DomainInt t <$> mapM instantiateR ranges -instantiateD (DomainEnum nm Nothing _) = do - st <- gets id - case lookup nm st of - Just (Domain dom) -> instantiateD (defRepr dom) - Just _ -> fail $ ("DomainEnum not found in state, Just:" <+> pretty nm) <++> vcat (map pretty st) - Nothing -> fail $ ("DomainEnum not found in state, Nothing:" <+> pretty nm) <++> vcat (map pretty st) -instantiateD (DomainEnum nm rs0 _) = do - let fmap4 = fmap . fmap . fmap . fmap - let e2c' x = either bug id (e2c x) - rs <- transformBiM (\ x -> Constant <$> instantiateE x ) (rs0 :: Maybe [Range Expression]) - |> fmap4 e2c' - st <- gets id - mp <- forM (universeBi rs :: [Name]) $ \ n -> case lookup n st of - Just (Constant (ConstantInt _ i)) -> return (n, i) - Nothing -> fail $ "No value for member of enum domain:" <+> pretty n - Just c -> fail $ vcat [ "Incompatible value for member of enum domain:" <+> pretty nm - , " Looking up for member:" <+> pretty n - , " Expected an integer, but got:" <+> pretty c - ] - return (DomainEnum nm (rs :: Maybe [Range Constant]) (Just mp)) -instantiateD (DomainUnnamed nm s) = DomainUnnamed nm <$> instantiateE s -instantiateD (DomainTuple inners) = DomainTuple <$> mapM instantiateD inners -instantiateD (DomainRecord inners) = DomainRecord <$> sequence [ do d' <- instantiateD d ; return (n,d') - | (n,d) <- inners ] -instantiateD (DomainVariant inners) = DomainVariant <$> sequence [ do d' <- instantiateD d ; return (n,d') - | (n,d) <- inners ] -instantiateD (DomainMatrix index inner) = DomainMatrix <$> instantiateD index <*> instantiateD inner -instantiateD (DomainSet r attrs inner) = DomainSet r <$> instantiateSetAttr attrs <*> instantiateD inner -instantiateD (DomainMSet r attrs inner) = DomainMSet r <$> instantiateMSetAttr attrs <*> instantiateD inner -instantiateD (DomainFunction r attrs innerFr innerTo) = DomainFunction r <$> instantiateFunctionAttr attrs <*> instantiateD innerFr <*> instantiateD innerTo -instantiateD (DomainSequence r attrs inner) = DomainSequence r <$> instantiateSequenceAttr attrs <*> instantiateD inner -instantiateD (DomainRelation r attrs inners) = DomainRelation r <$> instantiateRelationAttr attrs <*> mapM instantiateD inners -instantiateD (DomainPartition r attrs inner) = DomainPartition r <$> instantiatePartitionAttr attrs <*> instantiateD inner -instantiateD (DomainPermutation r attrs inner) = DomainPermutation r <$> instantiatePermutationAttr attrs <*> instantiateD inner -instantiateD (DomainOp nm ds) = DomainOp nm <$> mapM instantiateD ds -instantiateD (DomainReference _ (Just d)) = instantiateD d -instantiateD (DomainReference name Nothing) = do - ctxt <- gets id - case name `lookup` ctxt of - Just (Domain d) -> instantiateD (defRepr d) - _ -> fail $ vcat - $ ("No value for:" <+> pretty name) - : "Bindings in context:" - : prettyContext ctxt -instantiateD DomainMetaVar{} = bug "instantiateD DomainMetaVar" - - -instantiateSetAttr :: - MonadFail m => - MonadState [(Name, Expression)] m => - EnumerateDomain m => - (?typeCheckerMode :: TypeCheckerMode) => - SetAttr Expression -> m (SetAttr Constant) -instantiateSetAttr (SetAttr s) = SetAttr <$> instantiateSizeAttr s - - -instantiateSizeAttr :: - MonadFail m => - MonadState [(Name, Expression)] m => - EnumerateDomain m => - (?typeCheckerMode :: TypeCheckerMode) => - SizeAttr Expression -> m (SizeAttr Constant) -instantiateSizeAttr SizeAttr_None = return SizeAttr_None -instantiateSizeAttr (SizeAttr_Size x) = SizeAttr_Size <$> instantiateE x -instantiateSizeAttr (SizeAttr_MinSize x) = SizeAttr_MinSize <$> instantiateE x -instantiateSizeAttr (SizeAttr_MaxSize x) = SizeAttr_MaxSize <$> instantiateE x -instantiateSizeAttr (SizeAttr_MinMaxSize x y) = SizeAttr_MinMaxSize <$> instantiateE x <*> instantiateE y - - -instantiateMSetAttr :: - MonadFail m => - MonadState [(Name, Expression)] m => - EnumerateDomain m => - (?typeCheckerMode :: TypeCheckerMode) => - MSetAttr Expression -> m (MSetAttr Constant) -instantiateMSetAttr (MSetAttr s o) = MSetAttr <$> instantiateSizeAttr s <*> instantiateOccurAttr o - - -instantiateOccurAttr :: - MonadFail m => - MonadState [(Name, Expression)] m => - EnumerateDomain m => - (?typeCheckerMode :: TypeCheckerMode) => - OccurAttr Expression -> m (OccurAttr Constant) -instantiateOccurAttr OccurAttr_None = return OccurAttr_None -instantiateOccurAttr (OccurAttr_MinOccur x) = OccurAttr_MinOccur <$> instantiateE x -instantiateOccurAttr (OccurAttr_MaxOccur x) = OccurAttr_MaxOccur <$> instantiateE x -instantiateOccurAttr (OccurAttr_MinMaxOccur x y) = OccurAttr_MinMaxOccur <$> instantiateE x <*> instantiateE y - - -instantiateFunctionAttr :: - MonadFail m => - MonadState [(Name, Expression)] m => - EnumerateDomain m => - (?typeCheckerMode :: TypeCheckerMode) => - FunctionAttr Expression -> m (FunctionAttr Constant) -instantiateFunctionAttr (FunctionAttr s p j) = - FunctionAttr <$> instantiateSizeAttr s - <*> pure p - <*> pure j - - -instantiateSequenceAttr :: - MonadFail m => - MonadUserError m => - MonadState [(Name, Expression)] m => - EnumerateDomain m => - (?typeCheckerMode :: TypeCheckerMode) => - SequenceAttr Expression -> m (SequenceAttr Constant) -instantiateSequenceAttr (SequenceAttr s j) = - SequenceAttr <$> instantiateSizeAttr s - <*> pure j - - -instantiateRelationAttr :: - MonadFail m => - MonadUserError m => - MonadState [(Name, Expression)] m => - EnumerateDomain m => - (?typeCheckerMode :: TypeCheckerMode) => - RelationAttr Expression -> m (RelationAttr Constant) -instantiateRelationAttr (RelationAttr s b) = RelationAttr <$> instantiateSizeAttr s <*> pure b - - -instantiatePartitionAttr :: - MonadFail m => - MonadUserError m => - MonadState [(Name, Expression)] m => - EnumerateDomain m => - (?typeCheckerMode :: TypeCheckerMode) => - PartitionAttr Expression -> m (PartitionAttr Constant) -instantiatePartitionAttr (PartitionAttr a b r) = - PartitionAttr <$> instantiateSizeAttr a - <*> instantiateSizeAttr b - <*> pure r - - -<<<<<<< HEAD -instantiatePermutationAttr - :: ( MonadFail m - , MonadUserError m - , MonadState [(Name, Expression)] m - , EnumerateDomain m - ) - => PermutationAttr Expression - -> m (PermutationAttr Constant) -instantiatePermutationAttr (PermutationAttr s) = - PermutationAttr <$> instantiateSizeAttr s - - - -instantiateR - :: ( MonadFail m - , MonadUserError m - , MonadState [(Name, Expression)] m - , EnumerateDomain m - ) - => Range Expression - -> m (Range Constant) -======= -instantiateR :: - MonadFail m => - MonadState [(Name, Expression)] m => - EnumerateDomain m => - (?typeCheckerMode :: TypeCheckerMode) => - Range Expression -> m (Range Constant) ->>>>>>> master -instantiateR RangeOpen = return RangeOpen -instantiateR (RangeSingle x) = RangeSingle <$> instantiateE x -instantiateR (RangeLowerBounded x) = RangeLowerBounded <$> instantiateE x -instantiateR (RangeUpperBounded x) = RangeUpperBounded <$> instantiateE x -instantiateR (RangeBounded x y) = RangeBounded <$> instantiateE x <*> instantiateE y - - -bind :: (Functor m, MonadState [(Name, Expression)] m) - => AbstractPattern - -> Constant - -> m Bool -- False means skip -bind (Single nm) val = modify ((nm, Constant val) :) >> return True -bind (AbsPatTuple pats) (ConstantAbstract (AbsLitTuple vals)) - | length pats == length vals = and <$> zipWithM bind pats vals -bind (AbsPatMatrix pats) (ConstantAbstract (AbsLitMatrix _ vals)) - | length pats == length vals = and <$> zipWithM bind pats vals -bind (AbsPatSet pats) (ConstantAbstract (AbsLitSet vals)) - | length pats == length vals = and <$> zipWithM bind pats vals - | otherwise = return False -bind pat val = bug $ "Instantiate.bind:" <++> vcat ["pat:" <+> pretty pat, "val:" <+> pretty val] - - --- check if the given expression can be evaluated to True --- False means it is not entailed, as opposed to "it is known to be false" -entailed :: - MonadUserError m => - EnumerateDomain m => - (?typeCheckerMode :: TypeCheckerMode) => - Expression -> m Bool -entailed x = do - -- traceM $ show $ "entailed x:" <+> pretty x - c <- trySimplify x - -- traceM $ show $ "entailed c:" <+> pretty c - case c of - Constant (ConstantBool True) -> return True - _ -> return False - diff --git a/src/Conjure/Language/Lexer.hs.orig b/src/Conjure/Language/Lexer.hs.orig deleted file mode 100644 index 9092599169..0000000000 --- a/src/Conjure/Language/Lexer.hs.orig +++ /dev/null @@ -1,623 +0,0 @@ -{-# LANGUAGE DeriveGeneric #-} - -module Conjure.Language.Lexer - ( Lexeme(..) - , LexemePos(..) - , runLexer - , textToLexeme - , lexemeText - , lexemeFace - ) where - -import Conjure.Prelude - -import Data.Char ( isAlpha, isAlphaNum ) -import qualified Data.HashMap.Strict as M -import qualified Data.Text as T -import qualified Data.Text.Read as T -import qualified Text.PrettyPrint as Pr - -import Text.Megaparsec.Pos ( SourcePos, initialPos, incSourceLine, incSourceColumn, setSourceColumn ) -import Text.Megaparsec.ShowToken ( ShowToken(..) ) - - -data LexemePos = LexemePos - Lexeme -- the lexeme - SourcePos -- source position, the beginning of this lexeme - SourcePos -- source position, just after this lexeme, including whitespace after the lexeme - deriving Show - -data Lexeme - = LIntLiteral Integer - | LIdentifier T.Text - | LMetaVar T.Text - | LComment T.Text - - -- general - | L_be - | L_from - | L_of - | L_domain - - | L_language - | L_dim - | L_find - | L_given - | L_letting - | L_where - | L_such - | L_that - | L_minimising - | L_maximising - | L_branching - | L_on - | L_heuristic - - -- type: boolean - | L_bool - | L_false - | L_true - - -- type: integer - | L_int - - -- creating a new type - | L_new - | L_type - | L_enum - - -- type tuple - | L_tuple - - -- type record - | L_record - - -- type variant - | L_variant - | L_active - - -- type: matrix - | L_matrix - | L_indexed - | L_by - - -- type set - | L_set - | L_size - | L_minSize - | L_maxSize - - -- type: mset - | L_mset - | L_minOccur - | L_maxOccur - - -- type: function - | L_function - | L_total - | L_partial - | L_injective - | L_surjective - | L_bijective - - -- type: sequence - | L_sequence - - -- type: relation - | L_relation - - -- type: partition - | L_partition - | L_regular - | L_partSize - | L_minPartSize - | L_maxPartSize - | L_numParts - | L_minNumParts - | L_maxNumParts - - -- type: permutation - | L_permutation - | L_compose - - -- operators, page 21 of the holy paper - | L_union - | L_intersect - | L_subset - | L_subsetEq - | L_supset - | L_supsetEq - | L_in - | L_max - | L_min - | L_toSet - | L_toMSet - | L_toRelation - | L_defined - | L_range - | L_restrict - | L_image - | L_imageSet - | L_preImage - | L_inverse - | L_together - | L_apart - | L_party - | L_participants - | L_parts - | L_freq - | L_hist - - | L_toInt - - -- global constraints - | L_allDiff - | L_alldifferent_except - - | L_dontCare - - | L_catchUndef - - -- matrix only operators - | L_flatten - | L_concatenate - | L_normIndices - - -- in the rule language - -- | L_lambda - -- | L_quantifier - -- | L_representation - - -- arithmetic operators - - | L_Plus -- + -- sum, infix : (int,int) -> int - | L_Minus -- - -- (subtraction, infix : (int,int) -> int) OR (unary minus : int -> int) - | L_Times -- * -- multiplication, infix : (int,int) -> int - | L_Div -- / -- integer division, infix - | L_Mod -- % -- modulo, infix - | L_Pow -- ** -- exponentiation, infix : (int,int) -> int - | L_factorial - - -- equality - - | L_Eq -- = -- equals, infix. - | L_Neq -- != -- not-equals, infix - - -- comparison - - | L_Lt -- < -- less-than, infix. - | L_Leq -- <= -- less-than-or-eq, infix. - | L_Gt -- > -- greater-than, infix. - | L_Geq -- >= -- greater-than-or-eq, infix. - - -- logical operators - - | L_And -- /\ -- logical-and, infix - | L_Or -- \/ -- logical-or, infix. - | L_Imply -- -> -- implication, infix - | L_Iff -- <-> -- iff, infix. - -- | L_Not -- ! -- negation, prefix - | L_ExclamationMark -- for poth L_Factorial and L_ExclamationMark - - -- the function arrow - - | L_LongArrow -- --> -- function domains and constants - - -- in rule language - - | L_Colon -- : -- has-domain, infix, (expr,domain) -> bool. also does pattern matching. - | L_DoubleColon -- :: -- has-type, infix, (expr,type) -> bool. also does pattern matching. - | L_At -- @ -- bubble operator. - - -- lex operators - - | L_LexGeq -- >=lex - | L_LexGt -- >lex - | L_LexLt -- <=lex - | L_LexLeq -- >>>>>> master - deriving (Eq, Ord, Show, Generic) - -instance Hashable Lexeme - -lexemeText :: Lexeme -> T.Text -lexemeText l = T.pack $ show (lexemeFace l) - -textToLexeme :: T.Text -> Maybe Lexeme -textToLexeme t = M.lookup t mapTextToLexeme - -lexemeFace :: Lexeme -> Pr.Doc -lexemeFace L_Newline = "new line" -lexemeFace L_Carriage = "\\r" -lexemeFace L_Space = "space character" -lexemeFace L_Tab = "tab character" -lexemeFace (LIntLiteral i) = Pr.integer i -lexemeFace (LIdentifier i) = Pr.text (T.unpack i) -lexemeFace (LComment i) = Pr.text (T.unpack i) -lexemeFace l = - case M.lookup l mapLexemeToText of - Nothing -> Pr.text (show l) - Just t -> Pr.text (T.unpack t) - -lexemeWidth :: Lexeme -> Int -lexemeWidth L_Carriage = 0 -lexemeWidth L_Tab = 4 -lexemeWidth (LIntLiteral i) = length (show i) -lexemeWidth (LIdentifier i) = T.length i -lexemeWidth (LComment i) = T.length i -lexemeWidth l = - case lookup l (map swap lexemes) of - Nothing -> 0 - Just t -> T.length t - -mapTextToLexeme :: M.HashMap T.Text Lexeme -mapTextToLexeme = M.fromList lexemes - -mapLexemeToText :: M.HashMap Lexeme T.Text -mapLexemeToText = M.fromList $ map swap lexemes - -lexemes :: [(T.Text, Lexeme)] -lexemes = sortBy (flip (comparing (T.length . fst))) $ map swap - [ ( L_be , "be" ) - , ( L_from , "from" ) - , ( L_of , "of" ) - , ( L_domain , "domain" ) - , ( L_language , "language" ) - , ( L_dim , "dim" ) - , ( L_find , "find" ) - , ( L_given , "given" ) - , ( L_letting , "letting" ) - , ( L_where , "where" ) - , ( L_such , "such" ) - , ( L_that , "that" ) - , ( L_minimising , "minimising" ) - , ( L_maximising , "maximising" ) - , ( L_minimising , "minimizing" ) - , ( L_maximising , "maximizing" ) - , ( L_branching , "branching" ) - , ( L_on , "on" ) - , ( L_heuristic , "heuristic" ) - - , ( L_bool, "bool" ) - , ( L_false, "false" ) - , ( L_true, "true" ) - , ( L_int, "int" ) - , ( L_new, "new" ) - , ( L_type, "type" ) - , ( L_enum, "enum" ) - , ( L_tuple, "tuple" ) - , ( L_record, "record" ) - , ( L_variant, "variant" ) - , ( L_active, "active" ) - , ( L_matrix, "matrix" ) - , ( L_indexed, "indexed" ) - , ( L_by, "by" ) - , ( L_set, "set" ) - -- , ( L_size, "size" ) - -- , ( L_minSize, "minSize" ) - -- , ( L_maxSize, "maxSize" ) - , ( L_mset, "mset" ) - -- , ( L_minOccur, "minOccur" ) - -- , ( L_maxOccur, "maxOccur" ) - , ( L_function, "function" ) - -- , ( L_total, "total" ) - -- , ( L_partial, "partial" ) - -- , ( L_injective, "injective" ) - -- , ( L_surjective, "surjective" ) - -- , ( L_bijective, "bijective" ) - , ( L_sequence, "sequence" ) - , ( L_relation, "relation" ) - , ( L_partition, "partition" ) - - , ( L_permutation, "permutation" ) - , ( L_compose, "compose") - -- , ( L_regular, "regular" ) - -- , ( L_partSize, "partSize" ) - -- , ( L_minPartSize, "minPartSize" ) - -- , ( L_maxPartSize, "maxPartSize" ) - -- , ( L_numParts, "numParts" ) - -- , ( L_minNumParts, "minNumParts" ) - -- , ( L_maxNumParts, "maxNumParts" ) - , ( L_union, "union" ) - , ( L_intersect, "intersect" ) - , ( L_subset, "subset" ) - , ( L_subsetEq, "subsetEq" ) - , ( L_supset, "supset" ) - , ( L_supsetEq, "supsetEq" ) - , ( L_in, "in" ) - , ( L_max, "max" ) - , ( L_min, "min" ) - , ( L_toSet, "toSet" ) - , ( L_toMSet, "toMSet" ) - , ( L_toRelation, "toRelation" ) - , ( L_defined, "defined" ) - , ( L_range, "range" ) - , ( L_restrict, "restrict" ) - , ( L_image, "image" ) - , ( L_imageSet, "imageSet" ) - , ( L_preImage, "preImage" ) - , ( L_inverse, "inverse" ) - , ( L_together, "together" ) - , ( L_apart, "apart" ) - , ( L_party, "party" ) - , ( L_participants, "participants" ) - , ( L_parts, "parts" ) - , ( L_freq, "freq" ) - , ( L_hist, "hist" ) - , ( L_toInt, "toInt" ) - - , ( L_allDiff, "allDiff" ) - , ( L_alldifferent_except, "alldifferent_except" ) - - , ( L_dontCare, "dontCare" ) - , ( L_catchUndef, "catchUndef" ) - - , ( L_flatten, "flatten" ) - , ( L_concatenate, "concatenate" ) - , ( L_normIndices, "normIndices" ) - -- , ( L_lambda, "lambda" ) - -- , ( L_quantifier, "quantifier" ) - -- , ( L_representation, "representation" ) - , ( L_Plus , "+" ) - , ( L_Minus , "-" ) - , ( L_Times , "*" ) - , ( L_Div , "/" ) - , ( L_Mod , "%" ) - , ( L_Pow , "**" ) - , ( L_factorial , "factorial" ) - , ( L_Eq , "=" ) - , ( L_Neq , "!=" ) - , ( L_Lt , "<" ) - , ( L_Leq , "<=" ) - , ( L_Gt , ">" ) - , ( L_Geq , ">=" ) - , ( L_And , "/\\" ) - , ( L_Or , "\\/" ) - , ( L_Imply , "->" ) - , ( L_Iff , "<->" ) - , ( L_ExclamationMark , "!" ) - , ( L_LongArrow , "-->" ) - , ( L_Colon , ":" ) - , ( L_DoubleColon , "::" ) - , ( L_At , "@" ) - , ( L_LexGeq , ">=lex" ) - , ( L_LexGt , ">lex" ) - , ( L_LexLeq , "<=lex" ) - , ( L_LexLt , "" ) - , ( L_CaseSeparator , "***" ) - - , ( L_HasRepr , "hasRepr" ) - , ( L_HasType , "hasType" ) - , ( L_HasDomain , "hasDomain" ) - , ( L_indices , "indices" ) - - , ( L_DotLt , ".<" ) - , ( L_DotLeq , ".<=" ) - , ( L_DotGt , ".>" ) - , ( L_DotGeq , ".>=" ) - - , ( L_TildeLt , "~<" ) - , ( L_TildeLeq , "~<=" ) - , ( L_TildeGt , "~>" ) - , ( L_TildeGeq , "~>=" ) - - , ( L_LeftArrow , "<-" ) - - , ( L_subsequence , "subsequence" ) - , ( L_substring , "substring" ) - , ( L_powerSet , "powerSet" ) - - , ( L_pred, "pred" ) - , ( L_succ, "succ" ) - -<<<<<<< HEAD - , ( L_tagged, "tagged" ) -======= - - , ( L_transform, "transform") ->>>>>>> master - ] - -runLexer :: MonadFail m => T.Text -> m [LexemePos] -runLexer text = do - ls <- go text - let lsPaired = calcPos (initialPos "") ls - return lsPaired - where - go t = do - let results = catMaybes $ tryLexMetaVar t - : map (tryLex t) lexemes - ++ [ tryLexIntLiteral t - , tryLexIden t - , tryLexQuotedIden t - , tryLexComment t - ] - if T.null t - then return [] - else case results of - [] -> fail ("Lexing error:" Pr.<+> Pr.text (T.unpack t)) - ((rest,lexeme):_) -> (lexeme:) <$> go rest - - -- attach source positions to lexemes - -- discard whitespace, but calculate their contribution to source positions - calcPos :: SourcePos -> [Lexeme] -> [LexemePos] - calcPos _pos [] = [] - calcPos pos (this:rest) | isLexemeSpace this -- skip if this one is whitespace - = calcPos (nextPos pos this) rest -- can only happen at the beginning - calcPos pos (this:rest) = - let (restSpaces, restNonSpace) = span isLexemeSpace rest -- eat up all the whitespace after "this" - pos' = foldl nextPos pos (this:restSpaces) - in - if null restNonSpace - then [LexemePos this pos (nextPos pos this)] -- if this is the last non-whitespace lexeme - -- do not include the whitespace after it - else LexemePos this pos pos' : calcPos pos' restNonSpace - - nextPos :: SourcePos -> Lexeme -> SourcePos - nextPos pos L_Newline = incSourceLine (setSourceColumn pos 1) 1 - nextPos pos L_Carriage = pos -- just ignore '\r's - nextPos pos l = incSourceColumn pos (lexemeWidth l) - -isLexemeSpace :: Lexeme -> Bool -isLexemeSpace L_Newline {} = True -isLexemeSpace L_Carriage{} = True -isLexemeSpace L_Tab {} = True -isLexemeSpace L_Space {} = True -isLexemeSpace LComment {} = True -isLexemeSpace _ = False - -tryLex :: T.Text -> (T.Text, Lexeme) -> Maybe (T.Text, Lexeme) -tryLex running (face,lexeme) = do - rest <- T.stripPrefix face running - if T.all isIdentifierLetter face - then - case T.uncons rest of - Just (ch, _) | isIdentifierLetter ch -> Nothing - _ -> Just (rest, lexeme) - else Just (rest, lexeme) - -tryLexIntLiteral :: T.Text -> Maybe (T.Text, Lexeme) -tryLexIntLiteral t = - case T.decimal t of - Left _ -> Nothing - Right (x, rest) -> Just (rest, LIntLiteral x) - -isIdentifierFirstLetter :: Char -> Bool -isIdentifierFirstLetter ch = isAlpha ch || ch `elem` ("_" :: String) - -isIdentifierLetter :: Char -> Bool -isIdentifierLetter ch = isAlphaNum ch || ch `elem` ("_'" :: String) - -tryLexMetaVar :: T.Text -> Maybe (T.Text, Lexeme) -tryLexMetaVar running = do - ('&', rest) <- T.uncons running - (rest2, LIdentifier iden) <- tryLexIden rest - return (rest2, LMetaVar iden) - -tryLexIden :: T.Text -> Maybe (T.Text, Lexeme) -tryLexIden running = do - let (iden,rest) = T.span isIdentifierLetter running - (ch, _) <- T.uncons running - if isIdentifierFirstLetter ch - then - if T.null iden - then Nothing - else Just (rest, LIdentifier iden) - else Nothing - -tryLexQuotedIden :: T.Text -> Maybe (T.Text, Lexeme) -tryLexQuotedIden running = do - let - go inp = do - ('\"', rest) <- T.uncons inp - go2 "\"" rest - - -- after the first " - go2 sofar inp = do - (ch, rest) <- T.uncons inp - case ch of - -- end - '\"' - | sofar /= "\"" -- so we don't allow empty strings - -> Just (rest, LIdentifier (T.pack (reverse ('\"' : sofar)))) - -- escaped - '\\' -> do - (ch2, rest2) <- T.uncons rest - case ch2 of - '\"' -> go2 ('\"':sofar) rest2 - '\\' -> go2 ('\\':sofar) rest2 - _ -> Nothing - _ -> go2 (ch:sofar) rest - go running - -tryLexComment :: T.Text -> Maybe (T.Text, Lexeme) -tryLexComment running = let (dollar,rest1) = T.span (=='$') running - in if T.null dollar - then Nothing - else let (commentLine,rest2) = T.span (/='\n') rest1 - in Just (rest2, LComment commentLine) - - -instance ShowToken [LexemePos] where - showToken = intercalate ", " . map showToken - -instance ShowToken LexemePos where - showToken (LexemePos tok _ _) = showToken tok - -instance ShowToken Lexeme where - showToken = show . lexemeFace diff --git a/src/Conjure/Language/NameResolution.hs.orig b/src/Conjure/Language/NameResolution.hs.orig deleted file mode 100644 index dae17f1247..0000000000 --- a/src/Conjure/Language/NameResolution.hs.orig +++ /dev/null @@ -1,340 +0,0 @@ -{-# LANGUAGE TupleSections #-} -{-# LANGUAGE QuasiQuotes #-} - -module Conjure.Language.NameResolution - ( resolveNames - , resolveNamesMulti - , resolveNamesX - , resolveX, resolveD -- actually internal, use with care - ) where - -import Conjure.Prelude -import Conjure.Bug -import Conjure.UserError -import Conjure.Language.Definition -import Conjure.Language.Domain -import Conjure.Language.Type -import Conjure.Language.Pretty -<<<<<<< HEAD -import Conjure.Language.Expression ( reDomExp ) -import Conjure.Language.Constant ( reDomConst ) -======= -import Conjure.Language.TH ->>>>>>> master - - -resolveNamesMulti :: - MonadFail m => - MonadLog m => - MonadUserError m => - NameGen m => - (?typeCheckerMode :: TypeCheckerMode) => - [Model] -> m [Model] -resolveNamesMulti = flip evalStateT [] . go - where - go [] = return [] - go (m:ms) = (:) <$> resolveNames_ m <*> go ms - -resolveNames :: - MonadFail m => - MonadLog m => - MonadUserError m => - NameGen m => - (?typeCheckerMode :: TypeCheckerMode) => - Model -> m Model -resolveNames = flip evalStateT [] . resolveNames_ - -resolveNames_ :: - MonadFail m => - MonadLog m => - MonadState [(Name, ReferenceTo)] m => - MonadUserError m => - NameGen m => - (?typeCheckerMode :: TypeCheckerMode) => - Model -> m Model -resolveNames_ model = do - statements <- mapM resolveStatement (mStatements model) - mapM_ check (universeBi statements) - return model { mStatements = statements } - --- this is for when a name will shadow an already existing name that is outside of this expression --- we rename the new names to avoid name shadowing -shadowing :: - MonadFail m => - MonadState [(Name, ReferenceTo)] m => - NameGen m => - Expression -> m Expression -shadowing p@(Comprehension _ is) = do - -- list of names originating from this comprehension - let generators = concat - [ names - | Generator gen <- is - , let pat = generatorPat gen - , let names = [ n | n@Name{} <- universeBi pat ] - ] - ctxt <- gets id - -- a subset of names originating from this comprehension that will shadow already existing names - let shadows = [ g | g <- generators, g `elem` map fst ctxt ] - shadowsNew <- forM shadows $ \ s -> do n <- nextName "shadow" ; return (s,n) - let f n = fromMaybe n (lookup n shadowsNew) - return (transformBi f p) -shadowing p = return p - - -resolveNamesX :: - MonadFail m => - MonadUserError m => - NameGen m => - (?typeCheckerMode :: TypeCheckerMode) => - Expression -> m Expression -resolveNamesX x = do - x' <- evalStateT (resolveX x) [] - mapM_ check (universe x') - return x' - - -check :: MonadFail m => Expression -> m () -check (Reference nm Nothing) = fail ("Undefined:" <+> pretty nm) -check _ = return () - - -resolveStatement :: - MonadFail m => - MonadState [(Name, ReferenceTo)] m => - MonadUserError m => - NameGen m => - (?typeCheckerMode :: TypeCheckerMode) => - Statement -> m Statement -resolveStatement st = - case st of - Declaration decl -> - case decl of - FindOrGiven forg nm dom -> do - dom' <- resolveD dom - modify ((nm, DeclNoRepr forg nm dom' NoRegion) :) - return (Declaration (FindOrGiven forg nm dom')) - Letting nm x -> do - x' <- resolveX x - modify ((nm, Alias x') :) - return (Declaration (Letting nm x')) - LettingDomainDefnUnnamed nm x -> do - x' <- resolveX x - modify ((nm, Alias (Domain (DomainUnnamed nm x'))) :) - return (Declaration (LettingDomainDefnUnnamed nm x')) - LettingDomainDefnEnum (Name ename) nms -> do - modify ( [ (nm, Alias (Constant (ConstantInt (TagEnum ename) i))) - | (nm, i) <- zip nms [1..] - ] ++) - return st - LettingDomainDefnEnum{} -> bug "resolveStatement, Name" - GivenDomainDefnEnum{} -> return st -- ignoring - SearchOrder xs -> SearchOrder <$> mapM resolveSearchOrder xs - SearchHeuristic nm -> do - let allowed = ["static", "sdf", "conflict", "srf", "ldf", "wdeg", "domoverwdeg"] - if nm `elem` allowed - then return (SearchHeuristic nm) - else userErr1 $ vcat [ "Invalid heuristic:" <+> pretty nm - , "Allowed values are:" <+> prettyList id "," allowed - ] - Where xs -> Where <$> mapM resolveX xs - Objective obj x -> Objective obj <$> resolveX x - SuchThat xs -> SuchThat <$> mapM resolveX xs - - -<<<<<<< HEAD - -resolveSearchOrder - :: ( MonadFail m - , MonadUserError m - , MonadState [(Name, ReferenceTo)] m - , NameGen m - , ?typeCheckerMode :: TypeCheckerMode - ) - => SearchOrder - -> m SearchOrder -======= -resolveSearchOrder :: - MonadFail m => - MonadState [(Name, ReferenceTo)] m => - MonadUserError m => - NameGen m => - (?typeCheckerMode :: TypeCheckerMode) => - SearchOrder -> m SearchOrder ->>>>>>> master -resolveSearchOrder (BranchingOn nm) = do - ctxt <- gets id - mval <- gets (lookup nm) - case mval of - Nothing -> userErr1 $ vcat $ ("Undefined reference:" <+> pretty nm) - : ("Bindings in context:" : prettyContext ctxt) - Just{} -> return (BranchingOn nm) -resolveSearchOrder (Cut x) = - let f Find = CutFind - f forg = forg - in Cut . transformBi f <$> resolveX x - - -resolveX :: - MonadFail m => - MonadState [(Name, ReferenceTo)] m => - MonadUserError m => - NameGen m => - (?typeCheckerMode :: TypeCheckerMode) => - Expression -> m Expression -resolveX (Reference nm Nothing) = do - ctxt <- gets id - mval <- gets (lookup nm) - case mval of - Nothing -> userErr1 $ vcat $ ("Undefined reference:" <+> pretty nm) - : ("Bindings in context:" : prettyContext ctxt) - Just r -> return (Reference nm (Just r)) - -resolveX p@(Reference nm (Just refto)) = do -- this is for re-resolving - mval <- gets (lookup nm) - case mval of - Nothing -> return p -- hence, do not fail if not in the context - Just DeclNoRepr{} -- if the newly found guy doesn't have a repr - | DeclHasRepr{} <- refto -- but the old one did, do not update - -> return p - Just (DeclNoRepr forg_ nm_ dom_ _) -- if the newly found guy doesn't have a repr - | DeclNoRepr _ _ _ region <- refto -- and the old one didn't have one either - -- preserve the region information - -> return (Reference nm (Just (DeclNoRepr forg_ nm_ dom_ region))) - Just (Alias r) -> do - r' <- resolveX r - return (Reference nm (Just (Alias r'))) - Just r -> - return (Reference nm (Just r)) - -resolveX (AbstractLiteral lit) = AbstractLiteral <$> resolveAbsLit lit - -resolveX (Domain x) = Domain <$> resolveD x - -resolveX p@Comprehension{} = scope $ do - p' <- shadowing p - case p' of - Comprehension x is -> do - is' <- forM is $ \ i -> case i of - Generator gen -> do - (gen', refto) <- case gen of - GenDomainNoRepr pat dom -> do - dom' <- resolveD dom - let gen'' = GenDomainNoRepr pat dom' - return - ( gen'' - , case pat of - Single nm' -> DeclNoRepr Quantified nm' dom' NoRegion - _ -> InComprehension gen'' - ) - GenDomainHasRepr nm dom -> do - dom' <- resolveD dom - return - ( GenDomainHasRepr nm dom' - , DeclHasRepr Quantified nm dom' - ) - GenInExpr pat expr -> do - expr' <- resolveX expr - let gen'' = GenInExpr pat expr' - return ( gen'' , InComprehension gen'' ) - forM_ (universeBi (generatorPat gen)) $ \ nm -> - modify ((nm, refto) :) - return (Generator gen') - Condition y -> Condition <$> resolveX y - ComprehensionLetting pat expr -> do - expr' <- resolveX expr - resolveAbsPat p pat expr' - return (ComprehensionLetting pat expr') - x' <- resolveX x - return (Comprehension x' is') - _ -> bug "NameResolution.resolveX.shadowing" - -resolveX (WithLocals body (AuxiliaryVars locals)) = scope $ do - locals' <- mapM resolveStatement locals - body' <- resolveX body - return (WithLocals body' (AuxiliaryVars locals')) - -resolveX (WithLocals body (DefinednessConstraints locals)) = scope $ do - locals' <- mapM resolveX locals - body' <- resolveX body - return (WithLocals body' (DefinednessConstraints locals')) - -resolveX x = descendM resolveX x - - -resolveD :: - MonadFail m => - MonadState [(Name, ReferenceTo)] m => - MonadUserError m => - NameGen m => - Data r => - Default r => - Pretty r => - (?typeCheckerMode :: TypeCheckerMode) => - Domain r Expression -> m (Domain r Expression) -resolveD (DomainReference _ (Just d)) = resolveD d -resolveD (DomainReference nm Nothing) = do - mval <- gets (lookup nm) - case mval of - Nothing -> userErr1 ("Undefined reference to a domain:" <+> pretty nm) - Just (Alias (Domain r)) -> resolveD (changeRepr def r) - Just x -> userErr1 ("Expected a domain, but got an expression:" <+> pretty x) -resolveD (DomainRecord ds) = fmap DomainRecord $ forM ds $ \ (n, d) -> do - d' <- resolveD d - t <- typeOfDomain d' - modify ((n, RecordField n t) :) - return (n, d') -resolveD (DomainVariant ds) = fmap DomainVariant $ forM ds $ \ (n, d) -> do - d' <- resolveD d - t <- typeOfDomain d' - modify ((n, VariantField n t) :) - return (n, d') -resolveD d = do - d' <- descendM resolveD d - mapM resolveX d' - - -resolveAbsPat :: - MonadState [(Name, ReferenceTo)] m => - MonadUserError m => - Expression -> AbstractPattern -> Expression -> m () -resolveAbsPat _ AbstractPatternMetaVar{} _ = bug "resolveAbsPat AbstractPatternMetaVar" -resolveAbsPat _ (Single nm) x = modify ((nm, Alias x) :) -resolveAbsPat context (AbsPatTuple ps) x = - sequence_ [ resolveAbsPat context p [essence| &x[&i] |] - | (p, i_) <- zip ps allNats - , let i = fromInt i_ - ] -resolveAbsPat context (AbsPatMatrix ps) x = - sequence_ [ resolveAbsPat context p [essence| &x[&i] |] - | (p, i_) <- zip ps allNats - , let i = fromInt i_ - ] -resolveAbsPat context (AbsPatSet ps) x = do - ys <- case x of - Constant (ConstantAbstract (AbsLitSet xs)) -> return (map Constant xs) - AbstractLiteral (AbsLitSet xs) -> return xs - _ -> userErr1 $ "Abstract set pattern cannot be used in this context:" <++> pretty context - sequence_ [ resolveAbsPat context p y - | (p,y) <- zip ps ys - ] - - -resolveAbsLit :: - MonadFail m => - MonadState [(Name, ReferenceTo)] m => - MonadUserError m => - NameGen m => - (?typeCheckerMode :: TypeCheckerMode) => - AbstractLiteral Expression -> m (AbstractLiteral Expression) -resolveAbsLit (AbsLitVariant Nothing n x) = do - x' <- resolveX x - mval <- gets id - let - isTheVariant (Alias (Domain d@(DomainVariant nms))) | Just{} <- lookup n nms = Just d - isTheVariant _ = Nothing - case mapMaybe (isTheVariant . snd) mval of - (DomainVariant dom:_) -> return (AbsLitVariant (Just dom) n x') - _ -> return (AbsLitVariant Nothing n x') -resolveAbsLit lit = (descendBiM resolveX >=> descendBiM resolveD') lit - where - resolveD' d = resolveD (d :: Domain () Expression) diff --git a/src/Conjure/Representations.hs.orig b/src/Conjure/Representations.hs.orig deleted file mode 100644 index 8d82ac7364..0000000000 --- a/src/Conjure/Representations.hs.orig +++ /dev/null @@ -1,234 +0,0 @@ -{-# LANGUAGE QuasiQuotes #-} - -module Conjure.Representations - ( downD, downC, up - , downD1, downC1, up1 - , downToX1 - , reprOptions, getStructurals - , symmetryOrdering - , reprsStandardOrderNoLevels, reprsStandardOrder, reprsSparseOrder - , downX1 - , downX - ) where - --- conjure -import Conjure.Prelude -import Conjure.Bug -import Conjure.Language -import Conjure.Process.Enumerate -import Conjure.Compute.DomainOf -import Conjure.Representations.Combined - - --- | Refine (down) an expression (X), one level (1). -downX1 :: - MonadFail m => - NameGen m => - EnumerateDomain m => - (?typeCheckerMode :: TypeCheckerMode) => - Expression -> m [Expression] -downX1 (Constant x) = onConstant x -downX1 (AbstractLiteral x) = onAbstractLiteral x -downX1 (Reference x (Just refTo)) = onReference x refTo -downX1 (Op x) = onOp x -downX1 (Comprehension body stmts) = do - xs <- downX1 body - return [Comprehension x stmts | x <- xs] -downX1 x@WithLocals{} = fail ("downX1:" <++> pretty (show x)) -downX1 x = bug ("downX1:" <++> pretty (show x)) - - --- | Refine (down) an expression (X), all the way. -downX :: - NameGen m => - EnumerateDomain m => - (?typeCheckerMode :: TypeCheckerMode) => - Expression -> m [Expression] -downX x = do - res <- runMaybeT $ downX1 x - case res of - Nothing -> return [x] - Just [] -> return [x] - Just xs -> concatMapM downX xs - - -onConstant :: - MonadFail m => - NameGen m => - EnumerateDomain m => - (?typeCheckerMode :: TypeCheckerMode) => - Constant -> m [Expression] -onConstant (ConstantAbstract (AbsLitTuple xs)) = return (map Constant xs) -onConstant (ConstantAbstract (AbsLitRecord xs)) = return (map (Constant . snd) xs) -onConstant (ConstantAbstract (AbsLitVariant (Just t) n x)) - | Just i <- elemIndex n (map fst t) - , let iExpr = fromInt (fromIntegral (i+1)) - = return $ iExpr : [ if n == n' - then Constant x - else ExpressionMetaVar "zeroVal for variant" - | (n',_) <- t ] -onConstant (ConstantAbstract (AbsLitMatrix index xs)) = do - yss <- mapM (downX1 . Constant) xs - let indexX = fmap Constant index - return [ AbstractLiteral (AbsLitMatrix indexX ys) | ys <- transpose yss ] -onConstant (TypedConstant c _) = onConstant c -onConstant x = bug ("downX1.onConstant:" <++> pretty (show x)) - -onAbstractLiteral :: - MonadFail m => - NameGen m => - EnumerateDomain m => - (?typeCheckerMode :: TypeCheckerMode) => - AbstractLiteral Expression -> m [Expression] -onAbstractLiteral (AbsLitTuple xs) = return xs -onAbstractLiteral (AbsLitRecord xs) = return (map snd xs) -onAbstractLiteral (AbsLitVariant (Just t) n x) - | Just i <- elemIndex n (map fst t) - , let iExpr = fromInt (fromIntegral (i+1)) - = return $ iExpr : [ if n == n' - then x - else ExpressionMetaVar "zeroVal for variant" - | (n',_) <- t ] -onAbstractLiteral (AbsLitMatrix index xs) = do - yss <- mapM downX1 xs - return [ AbstractLiteral (AbsLitMatrix index ys) | ys <- transpose yss ] -onAbstractLiteral x = bug ("downX1.onAbstractLiteral:" <++> pretty (show x)) - -onReference :: - MonadFail m => - NameGen m => - EnumerateDomain m => - (?typeCheckerMode :: TypeCheckerMode) => - Name -> ReferenceTo -> m [Expression] -onReference nm refTo = - case refTo of - Alias x -> downX1 x - InComprehension{} -> fail ("downX1.onReference.InComprehension:" <++> pretty (show nm)) - DeclNoRepr{} -> fail ("downX1.onReference.DeclNoRepr:" <++> pretty (show nm)) - DeclHasRepr forg _ domain -> downToX1 forg nm domain - RecordField{} -> fail ("downX1.onReference.RecordField:" <++> pretty (show nm)) - VariantField{} -> fail ("downX1.onReference.VariantField:" <++> pretty (show nm)) - -onOp :: - MonadFail m => - NameGen m => - EnumerateDomain m => - (?typeCheckerMode :: TypeCheckerMode) => - Op Expression -> m [Expression] -onOp p@(MkOpIndexing (OpIndexing m i)) = do - ty <- typeOf m - case ty of - TypeMatrix{} -> return () - TypeList{} -> return () - _ -> fail $ "[onOp, not a TypeMatrix or TypeList]" <+> vcat [pretty ty, pretty p] - xs <- downX1 m - let iIndexed x = Op (MkOpIndexing (OpIndexing x i)) - return (map iIndexed xs) -onOp op = fail ("downX1.onOp:" <++> pretty op) - - - -symmetryOrdering :: - MonadFail m => - NameGen m => - EnumerateDomain m => - (?typeCheckerMode :: TypeCheckerMode) => - Expression -> m Expression -<<<<<<< HEAD -symmetryOrdering inp' = do - let constBool (ConstantBool True) = ConstantInt TagInt 1 - constBool (ConstantBool False) = ConstantInt TagInt 0 - constBool x = x - inp = transformBi constBool inp' - ta <- typeOf inp - case ta of - TypeBool -> return [essence| [-toInt(&inp)] |] - TypeInt{} -> return [essence| [&inp] |] - TypeList TypeInt{} -> return inp - TypeMatrix TypeInt{} TypeInt{} -> return inp - _ -> do - case inp of - -- Constant x -> so_onConstant x - -- AbstractLiteral _ -> return inp - Constant (ConstantAbstract x) -> do - case x of - AbsLitTuple xs -> do - soVals <- sequence (symmetryOrdering <$> (Constant <$> xs)) - return $ fromList soVals - AbsLitMatrix _ xs -> do - soVals <- sequence (symmetryOrdering <$> (Constant <$> xs)) - return $ fromList soVals - _ -> bug ("symmetryOrdering: AbstractLiteral:" <++> pretty (show inp) <++> pretty (inp)) - Constant (ConstantBool b) -> return [essence| -toInt(&inp) |] - AbstractLiteral x -> do - case x of - AbsLitTuple xs -> do - soVals <- sequence (symmetryOrdering <$> xs) - return $ AbstractLiteral $ AbsLitTuple soVals - AbsLitMatrix d xs -> do - soVals <- sequence (symmetryOrdering <$> xs) - return $ AbstractLiteral $ AbsLitMatrix d soVals - _ -> bug ("symmetryOrdering: AbstractLiteral:" <++> pretty (show inp) <++> pretty (inp)) - - - Reference _ (Just refTo) -> do - case refTo of - Alias x -> symmetryOrdering x - InComprehension{} -> bug ("symmetryOrdering.InComprehension:" <++> pretty (show inp)) - DeclNoRepr{} -> bug ("symmetryOrdering.DeclNoRepr:" <++> pretty (show inp)) - DeclHasRepr _forg _name domain -> symmetryOrderingDispatch downX1 inp domain - RecordField{} -> bug ("symmetryOrdering.RecordField:" <++> pretty (show inp)) - VariantField{} -> bug ("symmetryOrdering.VariantField:" <++> pretty (show inp)) - Op op -> case op of - MkOpIndexing (OpIndexing m _) -> do - - ty <- typeOf m - case ty of - TypeMatrix{} -> return () - TypeList{} -> return () - _ -> bug $ "[symmetryOrdering.onOp, not a TypeMatrix or TypeList]" <+> vcat [pretty ty, pretty op] - mDom <- domainOfR m - case mDom of - DomainMatrix _ domainInner -> symmetryOrderingDispatch downX1 inp domainInner - _ -> bug ("symmetryOrdering, not DomainMatrix:" <++> pretty (show op)) - MkOpImage (OpImage p x) -> do - so <- symmetryOrdering x - return [essence| image(&p, &so) |] - _ -> bug ("symmetryOrdering, no OpIndexing:" <++> pretty (show op)) - Comprehension body stmts -> do - xs <- symmetryOrdering body - return $ make opFlatten $ Comprehension xs stmts - -- x@WithLocals{} -> bug ("downX1:" <++> pretty (show x)) - _ -> bug ("symmetryOrdering:" <++> pretty (show inp) <++> pretty (inp)) -======= -symmetryOrdering inp = - case inp of - -- Constant x -> so_onConstant x - -- AbstractLiteral x - Reference _ (Just refTo) -> do - case refTo of - Alias x -> symmetryOrdering x - InComprehension{} -> bug ("symmetryOrdering.InComprehension:" <++> pretty (show inp)) - DeclNoRepr{} -> bug ("symmetryOrdering.DeclNoRepr:" <++> pretty (show inp)) - DeclHasRepr _forg _name domain -> symmetryOrderingDispatch downX1 inp domain - RecordField{} -> bug ("symmetryOrdering.RecordField:" <++> pretty (show inp)) - VariantField{} -> bug ("symmetryOrdering.VariantField:" <++> pretty (show inp)) - Op op -> case op of - MkOpIndexing (OpIndexing m _) -> do - ty <- typeOf m - case ty of - TypeMatrix{} -> return () - TypeList{} -> return () - _ -> bug $ "[symmetryOrdering.onOp, not a TypeMatrix or TypeList]" <+> vcat [pretty ty, pretty op] - mDom <- domainOfR m - case mDom of - DomainMatrix _ domainInner -> symmetryOrderingDispatch downX1 inp domainInner - _ -> bug ("symmetryOrdering, not DomainMatrix:" <++> pretty (show op)) - _ -> bug ("symmetryOrdering, unhandled Op:" <++> pretty (show op)) - -- Comprehension body stmts -> do - -- xs <- downX1 body - -- return [Comprehension x stmts | x <- xs] - -- x@WithLocals{} -> bug ("downX1:" <++> pretty (show x)) - _ -> bug ("symmetryOrdering:" <++> pretty (show inp)) ->>>>>>> master - diff --git a/src/Conjure/Representations/Function/Function1D.hs.orig b/src/Conjure/Representations/Function/Function1D.hs.orig deleted file mode 100644 index 57b2687cd6..0000000000 --- a/src/Conjure/Representations/Function/Function1D.hs.orig +++ /dev/null @@ -1,199 +0,0 @@ -{-# LANGUAGE QuasiQuotes #-} - -module Conjure.Representations.Function.Function1D - ( function1D - , domainValues - ) where - --- conjure -import Conjure.Prelude -import Conjure.Language.Definition -import Conjure.Language.Domain -import Conjure.Language.Type -import Conjure.Language.Constant -import Conjure.Language.DomainSizeOf -import Conjure.Language.Expression.DomainSizeOf () -import Conjure.Language.TH -import Conjure.Language.Pretty -import Conjure.Representations.Internal -import Conjure.Representations.Common - --- unordered-containers -import qualified Data.HashMap.Strict as M - - -function1D :: forall m . (MonadFail m, NameGen m, ?typeCheckerMode :: TypeCheckerMode) => Representation m -function1D = Representation chck downD structuralCons downC up symmetryOrdering - - where - - chck :: TypeOf_ReprCheck m - chck f (DomainFunction _ - attrs@(FunctionAttr _ PartialityAttr_Total _) - innerDomainFr - innerDomainTo) | domainCanIndexMatrix innerDomainFr = do - innerDomainFr' <- f innerDomainFr - innerDomainTo' <- f innerDomainTo - return [ DomainFunction Function_1D attrs fr to - | fr <- innerDomainFr' - , to <- innerDomainTo' - ] - chck _ _ = return [] - - outName :: Domain HasRepresentation x -> Name -> Name - outName = mkOutName Nothing - - downD :: TypeOf_DownD m - downD (name, domain@(DomainFunction Function_1D - (FunctionAttr _ PartialityAttr_Total _) - innerDomainFr - innerDomainTo)) | domainCanIndexMatrix innerDomainFr = return $ Just - [ ( outName domain name - , DomainMatrix - (forgetRepr innerDomainFr) - innerDomainTo - ) ] - downD _ = na "{downD} Function1D" - - structuralCons :: TypeOf_Structural m - structuralCons f downX1 - (DomainFunction Function_1D - (FunctionAttr sizeAttr PartialityAttr_Total jectivityAttr) - innerDomainFr - innerDomainTo) | domainCanIndexMatrix innerDomainFr = do - - let - injectiveCons :: Expression -> m [Expression] - injectiveCons m = do - tyTo <- typeOfDomain innerDomainTo - let canAllDiff = case tyTo of - TypeBool{} -> True - TypeInt{} -> True - TypeEnum{} -> True - _ -> False - if canAllDiff - then - return $ return $ -- list - [essence| allDiff(&m) |] - else do - (iPat, i) <- quantifiedVar - (jPat, j) <- quantifiedVar - return $ return $ -- list - [essence| - forAll &iPat, &jPat : &innerDomainFr . - &i .< &j -> &m[&i] != &m[&j] - |] - - surjectiveCons :: Expression -> m [Expression] - surjectiveCons m = do - (iPat, i) <- quantifiedVar - (jPat, j) <- quantifiedVar - return $ return $ -- list - [essence| - forAll &iPat : &innerDomainTo . - exists &jPat : &innerDomainFr . - &m[&j] = &i - |] - - jectivityCons :: Expression -> m [Expression] - jectivityCons m = case jectivityAttr of - JectivityAttr_None -> return [] - JectivityAttr_Injective -> injectiveCons m - JectivityAttr_Surjective -> surjectiveCons m - JectivityAttr_Bijective -> (++) <$> injectiveCons m <*> surjectiveCons m - - cardinality <- domainSizeOf innerDomainFr - - let innerStructuralCons m = do - (iPat, i) <- quantifiedVarOverDomain (forgetRepr innerDomainFr) - let activeZone b = [essence| forAll &iPat : &innerDomainFr . &b |] - - -- preparing structural constraints for the inner guys - innerStructuralConsGen <- f innerDomainTo - - let inLoop = [essence| &m[&i] |] - outs <- innerStructuralConsGen inLoop - return (map activeZone outs) - - return $ \ func -> do - refs <- downX1 func - case refs of - [m] -> - concat <$> sequence - [ jectivityCons m - , return (mkSizeCons sizeAttr cardinality) - , innerStructuralCons m - ] - _ -> na "{structuralCons} Function1D" - - structuralCons _ _ _ = na "{structuralCons} Function1D" - - downC :: TypeOf_DownC m - downC ( name - , domain@(DomainFunction Function_1D - (FunctionAttr _ PartialityAttr_Total _) - innerDomainFr - innerDomainTo) - , ConstantAbstract (AbsLitFunction vals_) - ) | domainCanIndexMatrix innerDomainFr = do - let vals = M.fromList vals_ - froms <- domainValues innerDomainFr - valsOut <- sequence - [ val - | fr <- froms - , let val = case M.lookup fr vals of - Nothing -> fail $ vcat [ "No value for" <+> pretty fr - , "In:" <+> pretty (AbsLitFunction vals_) - ] - Just v -> return v - ] - return $ Just - [ ( outName domain name - , DomainMatrix (forgetRepr innerDomainFr) innerDomainTo - , ConstantAbstract $ AbsLitMatrix (forgetRepr innerDomainFr) valsOut - ) ] - downC _ = na "{downC} Function1D" - - up :: TypeOf_Up m - up ctxt (name, domain@(DomainFunction Function_1D - (FunctionAttr _ PartialityAttr_Total _) - innerDomainFr _)) = - case lookup (outName domain name) ctxt of - Nothing -> fail $ vcat $ - [ "(in Function1D up)" - , "No value for:" <+> pretty (outName domain name) - , "When working on:" <+> pretty name - , "With domain:" <+> pretty domain - ] ++ - ("Bindings in context:" : prettyContext ctxt) - Just constant -> - case viewConstantMatrix constant of - Just (_, vals) -> do - froms <- domainValues innerDomainFr - return ( name - , ConstantAbstract $ AbsLitFunction $ zip froms vals - ) - _ -> fail $ vcat - [ "Expecting a matrix literal for:" <+> pretty (outName domain name) - , "But got:" <+> pretty constant - , "When working on:" <+> pretty name - , "With domain:" <+> pretty domain - ] - up _ _ = na "{up} Function1D" - - symmetryOrdering :: TypeOf_SymmetryOrdering m - symmetryOrdering innerSO downX1 inp domain = do - [inner] <- downX1 inp - Just [(_, innerDomain)] <- downD ("SO", domain) - innerSO downX1 inner innerDomain -<<<<<<< HEAD -======= - ->>>>>>> master - -domainValues :: (MonadFail m, Pretty r) => Domain r Constant -> m [Constant] -domainValues dom = - case dom of - DomainBool -> return [ConstantBool False, ConstantBool True] - DomainInt t rs -> map (ConstantInt t) <$> valuesInIntDomain rs - _ -> fail ("domainValues, not supported:" <+> pretty dom) diff --git a/src/Conjure/Representations/Function/Function1DPartial.hs.orig b/src/Conjure/Representations/Function/Function1DPartial.hs.orig deleted file mode 100644 index 96550c4858..0000000000 --- a/src/Conjure/Representations/Function/Function1DPartial.hs.orig +++ /dev/null @@ -1,229 +0,0 @@ -{-# LANGUAGE QuasiQuotes #-} - -module Conjure.Representations.Function.Function1DPartial ( function1DPartial ) where - --- conjure -import Conjure.Prelude -import Conjure.Language -import Conjure.Language.ZeroVal ( zeroVal, EnumerateDomain ) -import Conjure.Representations.Internal -import Conjure.Representations.Common -import Conjure.Representations.Function.Function1D ( domainValues ) - --- unordered-containers -import qualified Data.HashMap.Strict as M - - -function1DPartial :: forall m . (MonadFail m, NameGen m, EnumerateDomain m) => Representation m -function1DPartial = Representation chck downD structuralCons downC up symmetryOrdering - - where - - chck :: TypeOf_ReprCheck m - chck f (DomainFunction _ - attrs@(FunctionAttr _ PartialityAttr_Partial _) - innerDomainFr - innerDomainTo) | domainCanIndexMatrix innerDomainFr = do - innerDomainFr' <- f innerDomainFr - innerDomainTo' <- f innerDomainTo - return [ DomainFunction Function_1DPartial attrs fr to - | fr <- innerDomainFr' - , to <- innerDomainTo' - ] - chck _ _ = return [] - - nameFlags = mkOutName (Just "Flags") - nameValues = mkOutName (Just "Values") - - downD :: TypeOf_DownD m - downD (name, domain@(DomainFunction Function_1DPartial - (FunctionAttr _ PartialityAttr_Partial _) - innerDomainFr - innerDomainTo)) | domainCanIndexMatrix innerDomainFr = return $ Just - [ ( nameFlags domain name - , DomainMatrix - (forgetRepr innerDomainFr) - DomainBool - ) - , ( nameValues domain name - , DomainMatrix - (forgetRepr innerDomainFr) - innerDomainTo - ) - ] - downD _ = na "{downD} Function1DPartial" - - structuralCons :: TypeOf_Structural m - structuralCons f downX1 - (DomainFunction Function_1DPartial - (FunctionAttr sizeAttr PartialityAttr_Partial jectivityAttr) - innerDomainFr - innerDomainTo) | domainCanIndexMatrix innerDomainFr = do - - let injectiveCons flags values = do - (iPat, i) <- quantifiedVar - (jPat, j) <- quantifiedVar - return $ return $ -- list - [essence| - and([ &values[&i] != &values[&j] - | &iPat : &innerDomainFr - , &jPat : &innerDomainFr - , &i .< &j - , &flags[&i] - , &flags[&j] - ]) - |] - - let surjectiveCons flags values = do - (iPat, i) <- quantifiedVar - (jPat, j) <- quantifiedVar - return $ return $ -- list - [essence| - forAll &iPat : &innerDomainTo . - exists &jPat : &innerDomainFr . - &flags[&j] /\ &values[&j] = &i - |] - - let jectivityCons flags values = case jectivityAttr of - JectivityAttr_None -> return [] - JectivityAttr_Injective -> injectiveCons flags values - JectivityAttr_Surjective -> surjectiveCons flags values - JectivityAttr_Bijective -> (++) <$> injectiveCons flags values - <*> surjectiveCons flags values - - let cardinality flags = do - (iPat, i) <- quantifiedVar - return [essence| sum &iPat : &innerDomainFr . toInt(&flags[&i]) |] - - let dontCareInactives flags values = do - (iPat, i) <- quantifiedVar - return $ return $ -- list - [essence| - forAll &iPat : &innerDomainFr . &flags[&i] = false -> - dontCare(&values[&i]) - |] - - let innerStructuralCons flags values = do - (iPat, i) <- quantifiedVarOverDomain (forgetRepr innerDomainFr) - let activeZone b = [essence| forAll &iPat : &innerDomainFr . &flags[&i] -> &b |] - - -- preparing structural constraints for the inner guys - innerStructuralConsGen <- f innerDomainTo - - let inLoop = [essence| &values[&i] |] - outs <- innerStructuralConsGen inLoop - return (map activeZone outs) - - return $ \ func -> do - refs <- downX1 func - case refs of - [flags,values] -> - concat <$> sequence - [ jectivityCons flags values - , dontCareInactives flags values - , mkSizeCons sizeAttr <$> cardinality flags - , innerStructuralCons flags values - ] - _ -> na "{structuralCons} Function1DPartial" - - structuralCons _ _ _ = na "{structuralCons} Function1DPartial" - - downC :: TypeOf_DownC m - downC ( name - , domain@(DomainFunction Function_1DPartial - (FunctionAttr _ PartialityAttr_Partial _) - innerDomainFr - innerDomainTo) - , ConstantAbstract (AbsLitFunction vals_) - ) | domainCanIndexMatrix innerDomainFr = do - let vals = M.fromList vals_ - z <- zeroVal innerDomainTo - froms <- domainValues innerDomainFr - (flagsOut, valsOut) <- unzip <$> sequence - [ val - | fr <- froms - , let val = case M.lookup fr vals of - Nothing -> return (ConstantBool False, z) - Just v -> return (ConstantBool True , v) - ] - return $ Just - [ ( nameFlags domain name - , DomainMatrix - (forgetRepr innerDomainFr) - DomainBool - , ConstantAbstract $ AbsLitMatrix - (forgetRepr innerDomainFr) - flagsOut - ) - , ( nameValues domain name - , DomainMatrix - (forgetRepr innerDomainFr) - innerDomainTo - , ConstantAbstract $ AbsLitMatrix - (forgetRepr innerDomainFr) - valsOut - ) - ] - downC (name, domain, constant) = na $ vcat [ "{downC} Function1DPartial" - , "name:" <+> pretty name - , "domain:" <+> pretty domain - , "constant:" <+> pretty constant - ] - - up :: TypeOf_Up m - up ctxt (name, domain@(DomainFunction Function_1DPartial - (FunctionAttr _ PartialityAttr_Partial _) - innerDomainFr _)) = - case (lookup (nameFlags domain name) ctxt, lookup (nameValues domain name) ctxt) of - ( Just (ConstantAbstract (AbsLitMatrix _ flagMatrix)) , - Just (ConstantAbstract (AbsLitMatrix _ valuesMatrix)) ) -> do - froms <- domainValues innerDomainFr - functionValues <- forM (zip3 flagMatrix froms valuesMatrix) $ \ (flag, from, to) -> - case viewConstantBool flag of - Just b -> return $ if b then Just (from,to) else Nothing - Nothing -> fail $ vcat [ "Expected a boolean, but got:" <++> pretty flag - , "When working on:" <+> pretty name - , "With domain:" <+> pretty domain - ] - return ( name, ConstantAbstract $ AbsLitFunction $ catMaybes functionValues ) - (Nothing, _) -> fail $ vcat $ - [ "(in Function1DPartial up 1)" - , "No value for:" <+> pretty (nameFlags domain name) - , "When working on:" <+> pretty name - , "With domain:" <+> pretty domain - ] ++ - ("Bindings in context:" : prettyContext ctxt) - (_, Nothing) -> fail $ vcat $ - [ "(in Function1DPartial up 2)" - , "No value for:" <+> pretty (nameValues domain name) - , "When working on:" <+> pretty name - , "With domain:" <+> pretty domain - ] ++ - ("Bindings in context:" : prettyContext ctxt) - _ -> fail $ vcat $ - [ "Expected matrix literals for:" <+> pretty (nameFlags domain name) - <+> "and" <+> pretty (nameValues domain name) - , "When working on:" <+> pretty name - , "With domain:" <+> pretty domain - ] ++ - ("Bindings in context:" : prettyContext ctxt) - up _ _ = na "{up} Function1DPartial" - - symmetryOrdering :: TypeOf_SymmetryOrdering m - symmetryOrdering innerSO downX1 inp domain = do - [flags, values] <- downX1 inp - Just [_, (_, DomainMatrix innerDomainFr innerDomainTo)] <- downD ("SO", domain) - (iPat, i) <- quantifiedVar - soValues <- innerSO downX1 [essence| &values[&i] |] innerDomainTo - return - [essence| - [ ( -toInt(&flags[&i]) - , &soValues - ) - | &iPat : &innerDomainFr - ] - |] -<<<<<<< HEAD -======= - ->>>>>>> master diff --git a/src/Conjure/Representations/Function/FunctionND.hs.orig b/src/Conjure/Representations/Function/FunctionND.hs.orig deleted file mode 100644 index 948b9baaee..0000000000 --- a/src/Conjure/Representations/Function/FunctionND.hs.orig +++ /dev/null @@ -1,283 +0,0 @@ -{-# LANGUAGE QuasiQuotes #-} -{-# LANGUAGE ViewPatterns #-} - -module Conjure.Representations.Function.FunctionND ( functionND, viewAsDomainTuple, mkLensAsDomainTuple ) where - --- conjure -import Conjure.Prelude -import Conjure.Bug -import Conjure.Language -import Conjure.Representations.Internal -import Conjure.Representations.Common -import Conjure.Representations.Function.Function1D ( domainValues ) - - -functionND :: forall m . (MonadFail m, NameGen m, ?typeCheckerMode :: TypeCheckerMode) => Representation m -functionND = Representation chck downD structuralCons downC up symmetryOrdering - - where - - chck :: TypeOf_ReprCheck m - chck f (DomainFunction _ - attrs@(FunctionAttr _ PartialityAttr_Total _) - innerDomainFr@(viewAsDomainTuple -> Just innerDomainFrs) - innerDomainTo) | all domainCanIndexMatrix innerDomainFrs = do - innerDomainFr' <- f innerDomainFr - innerDomainTo' <- f innerDomainTo - return [ DomainFunction Function_ND attrs fr to - | fr <- innerDomainFr' - , to <- innerDomainTo' - ] - chck _ _ = return [] - - nameValues :: Domain HasRepresentation x -> Name -> Name - nameValues = mkOutName Nothing - - downD :: TypeOf_DownD m - downD (name, domain@(DomainFunction Function_ND - (FunctionAttr _ PartialityAttr_Total _) - (viewAsDomainTuple -> Just innerDomainFrs) - innerDomainTo)) | all domainCanIndexMatrix innerDomainFrs = do - let unroll is j = foldr DomainMatrix j is - return $ Just - [ ( nameValues domain name - , unroll (map forgetRepr innerDomainFrs) innerDomainTo - ) - ] - downD _ = na "{downD} FunctionND" - - structuralCons :: TypeOf_Structural m - structuralCons f downX1 - (DomainFunction Function_ND - (FunctionAttr sizeAttr PartialityAttr_Total jectivityAttr) - innerDomainFr@(viewAsDomainTuple -> Just innerDomainFrs) - innerDomainTo) | all domainCanIndexMatrix innerDomainFrs = do - - let - kRange = case innerDomainFr of - DomainTuple ts -> map fromInt [1 .. genericLength ts] - DomainRecord rs -> map (fromName . fst) rs - _ -> bug $ vcat [ "FunctionNDPartial.structuralCons" - , "innerDomainFr:" <+> pretty innerDomainFr - ] - toIndex x = [ [essence| &x[&k] |] | k <- kRange ] - index x m = make opMatrixIndexing m (toIndex x) - - let - injectiveCons :: Expression -> m [Expression] - injectiveCons values = do - tyTo <- typeOfDomain innerDomainTo - let canAllDiff = case tyTo of - TypeBool{} -> True - TypeInt{} -> True - TypeEnum{} -> True - _ -> False - if canAllDiff - then do - (iPat, i) <- quantifiedVar - let valuesIndexedI = index i values - return $ return $ -- list - [essence| - allDiff([ &valuesIndexedI - | &iPat : &innerDomainFr - ]) - |] - else do - (iPat, i) <- quantifiedVar - (jPat, j) <- quantifiedVar - let valuesIndexedI = index i values - let valuesIndexedJ = index j values - return $ return $ -- list - [essence| - forAll &iPat, &jPat : &innerDomainFr . - &i .< &j -> &valuesIndexedI != &valuesIndexedJ - |] - - surjectiveCons :: Expression -> m [Expression] - surjectiveCons values = do - (iPat, i) <- quantifiedVar - (jPat, j) <- quantifiedVar - let valuesIndexedJ = index j values - return $ return $ -- list - [essence| - forAll &iPat : &innerDomainTo . - exists &jPat : &innerDomainFr . - &valuesIndexedJ = &i - |] - - jectivityCons :: Expression -> m [Expression] - jectivityCons values = case jectivityAttr of - JectivityAttr_None -> return [] - JectivityAttr_Injective -> injectiveCons values - JectivityAttr_Surjective -> surjectiveCons values - JectivityAttr_Bijective -> (++) <$> injectiveCons values - <*> surjectiveCons values - - cardinality :: m Expression - cardinality = do - (iPat, _) <- quantifiedVar - return [essence| sum &iPat : &innerDomainFr . 1 |] - - let innerStructuralCons values = do - (iPat, i) <- quantifiedVarOverDomain (forgetRepr innerDomainFr) - let valuesIndexedI = index i values - let activeZone b = [essence| forAll &iPat : &innerDomainFr . &b |] - - -- preparing structural constraints for the inner guys - innerStructuralConsGen <- f innerDomainTo - - let inLoop = valuesIndexedI - outs <- innerStructuralConsGen inLoop - return (map activeZone outs) - - return $ \ func -> do - refs <- downX1 func - case refs of - [values] -> - concat <$> sequence - [ jectivityCons values - , mkSizeCons sizeAttr <$> cardinality - , innerStructuralCons values - ] - _ -> na "{structuralCons} FunctionND" - - structuralCons _ _ _ = na "{structuralCons} FunctionND" - - downC :: TypeOf_DownC m - downC ( name - , domain@(DomainFunction Function_ND - (FunctionAttr _ PartialityAttr_Total _) - innerDomainFr@(viewAsDomainTuple -> Just innerDomainFrs) - innerDomainTo) - , value@(ConstantAbstract (AbsLitFunction vals)) - ) | all domainCanIndexMatrix innerDomainFrs - , Just (_mk, inspect) <- mkLensAsDomainTuple innerDomainFr = do - let - check :: [Constant] -> Maybe Constant - check indices = listToMaybe [ v - | (inspect -> Just k, v) <- vals - , k == indices - ] - - let - unrollD :: [Domain () Constant] -> Domain r Constant -> Domain r Constant - unrollD is j = foldr DomainMatrix j is - - let - unrollC :: MonadFail m - => [Domain () Constant] - -> [Constant] -- indices - -> m Constant - unrollC [i] prevIndices = do - domVals <- domainValues i - let active val = check $ prevIndices ++ [val] - - missing <- concatForM domVals $ \ val -> - case active val of - Nothing -> return [ConstantAbstract $ AbsLitTuple $ prevIndices ++ [val]] - Just {} -> return [] - - unless (null missing) $ - fail $ vcat [ "Some points are undefined on a total function:" <++> prettyList id "," missing - , " Function:" <+> pretty name - , " Domain:" <++> pretty domain - , " Value :" <++> pretty value - ] - - return $ ConstantAbstract $ AbsLitMatrix i - [ fromMaybe (bug $ "FunctionND downC" <+> pretty val) (active val) - | val <- domVals ] - unrollC (i:is) prevIndices = do - domVals <- domainValues i - matrixVals <- forM domVals $ \ val -> - unrollC is (prevIndices ++ [val]) - return $ ConstantAbstract $ AbsLitMatrix i matrixVals - unrollC is prevIndices = fail $ vcat [ "FunctionND.up.unrollC" - , " is :" <+> vcat (map pretty is) - , " prevIndices:" <+> pretty (show prevIndices) - ] - - outValues <- unrollC (map forgetRepr innerDomainFrs) [] - return $ Just - [ ( nameValues domain name - , unrollD (map forgetRepr innerDomainFrs) innerDomainTo - , outValues - ) - ] - - downC _ = na "{downC} FunctionND" - - up :: TypeOf_Up m - up ctxt (name, domain@(DomainFunction Function_ND - (FunctionAttr _ PartialityAttr_Total _) - innerDomainFr@(viewAsDomainTuple -> Just innerDomainFrs) _)) - - | Just (mk, _inspect) <- mkLensAsDomainTuple innerDomainFr = - - case lookup (nameValues domain name) ctxt of - Just valuesMatrix -> do - let - allIndices :: (MonadFail m, Pretty r) => [Domain r Constant] -> m [[Constant]] - allIndices = fmap sequence . mapM domainValues - - index :: MonadFail m => Constant -> [Constant] -> m Constant - index m [] = return m - index (ConstantAbstract (AbsLitMatrix indexDomain vals)) (i:is) = do - froms <- domainValues indexDomain - case lookup i (zip froms vals) of - Nothing -> fail "Value not found. FunctionND.up.index" - Just v -> index v is - index m is = bug ("FunctionND.up.index" <+> pretty m <+> pretty (show is)) - - indices <- allIndices innerDomainFrs - vals <- forM indices $ \ these -> do - value <- index valuesMatrix these - return (mk these, value) - return ( name - , ConstantAbstract $ AbsLitFunction vals - ) - Nothing -> fail $ vcat $ - [ "(in FunctionND up)" - , "No value for:" <+> pretty (nameValues domain name) - , "When working on:" <+> pretty name - , "With domain:" <+> pretty domain - ] ++ - ("Bindings in context:" : prettyContext ctxt) - up _ _ = na "{up} FunctionND" - - symmetryOrdering :: TypeOf_SymmetryOrdering m - symmetryOrdering innerSO downX1 inp domain = do - [inner] <- downX1 inp - Just [(_, innerDomain)] <- downD ("SO", domain) - innerSO downX1 inner innerDomain -<<<<<<< HEAD - - -======= ->>>>>>> master - -viewAsDomainTuple :: Domain r x -> Maybe [Domain r x] -viewAsDomainTuple (DomainTuple doms) = Just doms -viewAsDomainTuple (DomainRecord doms) = Just (doms |> sortBy (comparing fst) |> map snd) -viewAsDomainTuple _ = Nothing - - -mkLensAsDomainTuple :: Domain r x -> Maybe ( [Constant] -> Constant -- how to make a literal - , Constant -> Maybe [Constant] -- how to inspect a literal - ) -mkLensAsDomainTuple (DomainTuple _) = - Just - ( \ vals -> ConstantAbstract (AbsLitTuple vals) - , \ val -> case val of - ConstantAbstract (AbsLitTuple vals) -> Just vals - _ -> Nothing - ) -mkLensAsDomainTuple (DomainRecord doms) = - let names = doms |> sortBy (comparing fst) |> map fst - in Just - ( \ vals -> ConstantAbstract (AbsLitRecord (zip names vals)) - , \ val -> case val of - ConstantAbstract (AbsLitRecord vals) -> Just (vals |> sortBy (comparing fst) |> map snd) - _ -> Nothing - ) -mkLensAsDomainTuple _ = Nothing diff --git a/src/Conjure/Representations/MSet/Occurrence.hs.orig b/src/Conjure/Representations/MSet/Occurrence.hs.orig deleted file mode 100644 index 4a870f7d39..0000000000 --- a/src/Conjure/Representations/MSet/Occurrence.hs.orig +++ /dev/null @@ -1,122 +0,0 @@ -{-# LANGUAGE QuasiQuotes #-} - -module Conjure.Representations.MSet.Occurrence ( msetOccurrence ) where - --- conjure -import Conjure.Prelude -import Conjure.Language -import Conjure.Representations.Internal -import Conjure.Representations.Common - - -msetOccurrence :: forall m . (MonadFail m, NameGen m) => Representation m -msetOccurrence = Representation chck downD structuralCons downC up symmetryOrdering - - where - - chck :: TypeOf_ReprCheck m - chck f (DomainMSet _ attrs innerDomain@DomainInt{}) = map (DomainMSet MSet_Occurrence attrs) <$> f innerDomain - chck _ _ = return [] - - outName :: Domain HasRepresentation x -> Name -> Name - outName = mkOutName Nothing - - getMinOccur attrs = case attrs of - MSetAttr _ (OccurAttr_MinOccur x) -> x - MSetAttr _ (OccurAttr_MinMaxOccur x _) -> x - MSetAttr _ _ -> 0 - - getMaxOccur attrs = case attrs of - MSetAttr _ (OccurAttr_MaxOccur x) -> return x - MSetAttr _ (OccurAttr_MinMaxOccur _ x) -> return x - MSetAttr (SizeAttr_Size x) _ -> return x - MSetAttr (SizeAttr_MaxSize x) _ -> return x - MSetAttr (SizeAttr_MinMaxSize _ x) _ -> return x - _ -> fail ("getMaxOccur, mset not supported. attributes:" <+> pretty attrs) - - downD :: TypeOf_DownD m - downD (name, domain@(DomainMSet MSet_Occurrence attrs innerDomain@DomainInt{})) = do - maxOccur <- getMaxOccur attrs - return $ Just - [ ( outName domain name - , DomainMatrix (forgetRepr innerDomain) (DomainInt TagInt [RangeBounded 0 maxOccur]) - ) - ] - downD _ = na "{downD} Occurrence" - - structuralCons :: TypeOf_Structural m - structuralCons _ downX1 (DomainMSet MSet_Occurrence - attrs@(MSetAttr sizeAttr _occurAttr) - innerDomain@DomainInt{}) = - return $ \ mset -> do - refs <- downX1 mset - case refs of - [m] -> do - (iPat, i) <- quantifiedVar - let - minOccur = getMinOccur attrs - minOccurCons = - [ [essence| forAll &iPat : &innerDomain . &m[&i] = 0 \/ &m[&i] >= &minOccur |] - | minOccur /= 0 ] - let - cardinality = [essence| sum &iPat : &innerDomain . &m[&i] |] - cardinalityCons = mkSizeCons sizeAttr cardinality - return (minOccurCons ++ cardinalityCons) - _ -> na "{structuralCons} Occurrence" - structuralCons _ _ _ = na "{structuralCons} Occurrence" - - downC :: TypeOf_DownC m - downC ( name - , domain@(DomainMSet MSet_Occurrence _attrs innerDomain@(DomainInt t intRanges)) - , ConstantAbstract (AbsLitMSet constants) - ) = do - innerDomainVals <- valuesInIntDomain intRanges - return $ Just - [ ( outName domain name - , DomainMatrix (forgetRepr innerDomain) DomainBool - , ConstantAbstract $ AbsLitMatrix (forgetRepr innerDomain) - [ ConstantBool isIn - | v <- innerDomainVals - , let isIn = ConstantInt t v `elem` constants - ] - ) - ] - downC _ = na "{downC} Occurrence" - - up :: TypeOf_Up m - up ctxt (name, domain@(DomainMSet _ _ (DomainInt t intRanges)))= - case lookup (outName domain name) ctxt of - Just constantMatrix -> - case viewConstantMatrix constantMatrix of - Just (_, vals) -> do - innerDomainVals <- valuesInIntDomain intRanges - return (name, ConstantAbstract $ AbsLitMSet $ concat - [ case viewConstantInt x of - Just n -> replicate (fromInteger n) (ConstantInt t v) - Nothing -> [] - | (v,x) <- zip innerDomainVals vals - ] ) - _ -> fail $ vcat - [ "Expecting a matrix literal for:" <+> pretty (outName domain name) - , "But got:" <+> pretty constantMatrix - , "When working on:" <+> pretty name - , "With domain:" <+> pretty domain - ] - Nothing -> fail $ vcat $ - [ "(in MSet Occurrence up)" - , "No value for:" <+> pretty (outName domain name) - , "When working on:" <+> pretty name - , "With domain:" <+> pretty domain - ] ++ - ("Bindings in context:" : prettyContext ctxt) - up _ _ = na "{up} Occurrence" - - symmetryOrdering :: TypeOf_SymmetryOrdering m - symmetryOrdering innerSO downX1 inp domain = do - [inner] <- downX1 inp - Just [(_, innerDomain)] <- downD ("SO", domain) - innerSO downX1 inner innerDomain -<<<<<<< HEAD -======= - ->>>>>>> master diff --git a/src/Conjure/Representations/Partition/Occurrence.hs.orig b/src/Conjure/Representations/Partition/Occurrence.hs.orig deleted file mode 100644 index f838692f5a..0000000000 --- a/src/Conjure/Representations/Partition/Occurrence.hs.orig +++ /dev/null @@ -1,329 +0,0 @@ --- {-# LANGUAGE Rank2Types #-} -{-# LANGUAGE RecordWildCards #-} -{-# LANGUAGE QuasiQuotes #-} -{-# LANGUAGE ViewPatterns #-} - -module Conjure.Representations.Partition.Occurrence ( partitionOccurrence ) where - --- conjure -import Conjure.Prelude -import Conjure.Bug -import Conjure.Language -import Conjure.Language.DomainSizeOf -import Conjure.Language.Expression.DomainSizeOf () -import Conjure.Language.ZeroVal ( zeroVal, EnumerateDomain ) -import Conjure.Representations.Internal -import Conjure.Representations.Common -import Conjure.Representations.Function.Function1D ( domainValues ) - - --- | works for "partition from A", where A can be used as an index of a matrix --- _WhichPart: matrix indexed by [A] of int(1..maxNumParts) --- (indicating which part an element belongs to) --- _NumParts : int(1..maxNumParts) --- (indicating the total number of parts) --- only use part numbers from 1.._NumParts, never use the others --- part(i) is used -> part(i-1) is used, forAll i:int(3..maxNumParts) -partitionOccurrence :: forall m . (MonadFail m, NameGen m, EnumerateDomain m) => Representation m -partitionOccurrence = Representation chck downD structuralCons downC up symmetryOrdering - - where - - chck :: TypeOf_ReprCheck m - chck f (DomainPartition _ attrs innerDomain) - | domainCanIndexMatrix innerDomain - = map (DomainPartition Partition_Occurrence attrs) <$> f innerDomain - chck _ _ = return [] - - nameNumParts = mkOutName (Just "NumParts") - nameWhichPart = mkOutName (Just "WhichPart") - namePartSizes = mkOutName (Just "PartSizes") - nameFirstIndex = mkOutName (Just "FirstIndex") - - getMaxNumParts attrs d = - case partsNum attrs of - SizeAttr_Size x -> return x - SizeAttr_MaxSize x -> return x - SizeAttr_MinMaxSize _ x -> return x - _ -> domainSizeOf d - - getMaxPartSizes attrs d = - case partsSize attrs of - SizeAttr_Size x -> return x - SizeAttr_MaxSize x -> return x - SizeAttr_MinMaxSize _ x -> return x - _ -> domainSizeOf d - - -- downD :: TypeOf_DownD m - downD (name, domain@(DomainPartition Partition_Occurrence attrs innerDomain)) - | domainCanIndexMatrix innerDomain = do - maxNumParts <- getMaxNumParts attrs innerDomain - maxPartSizes <- getMaxPartSizes attrs innerDomain - return $ Just - [ - -- number of active parts - ( nameNumParts domain name - , DomainInt TagInt [RangeBounded 1 maxNumParts] - ) - -- for each element, the part it belongs to - , ( nameWhichPart domain name - , DomainMatrix - (forgetRepr innerDomain) - (DomainInt TagInt [RangeBounded 1 maxNumParts]) - ) - -- for each part, number of elements in the part - , ( namePartSizes domain name - , DomainMatrix - (DomainInt TagInt [RangeBounded 1 maxNumParts]) - (DomainInt TagInt [RangeBounded 0 maxPartSizes]) - ) - -- wtf was this? - , ( nameFirstIndex domain name - , DomainMatrix - (DomainInt TagInt [RangeBounded 1 maxNumParts]) - innerDomain -- dontCare if not used - ) - ] - downD _ = na "{downD} Occurrence" - - structuralCons :: TypeOf_Structural m - structuralCons _ downX1 (DomainPartition _ attrs innerDomain) - | domainCanIndexMatrix innerDomain = do - maxNumParts <- getMaxNumParts attrs innerDomain - let - numPartsChannelling whichPart numPartsVar = do - (iPat, i) <- quantifiedVar - return $ return -- for list - [essence| - &numPartsVar = - max([ &whichPart[&i] | &iPat : &innerDomain ]) - |] - - partSizesChannelling whichPart partSizesVar = do - (iPat, i) <- quantifiedVar - (jPat, j) <- quantifiedVar - return $ return -- for list - [essence| - and([ &partSizesVar[&i] = sum([ 1 | &jPat : &innerDomain , &whichPart[&j] = &i ]) - | &iPat : int(1..&maxNumParts) - ]) - |] - - firstIndexChannelling whichPart numPartsVar firstIndexVar = do - (iPat, i) <- quantifiedVar - (jPat, j) <- quantifiedVar - return - [ -- firstIndexVar[i] is <= all indices belonging to part i - [essence| - forAll &iPat : int(1..&maxNumParts) , &i <= &numPartsVar . - forAll &jPat : &innerDomain . - &whichPart[&j] = &i -> &firstIndexVar[&i] <= &j - |] - , -- firstIndexVar[i] is equal to one of those - [essence| - forAll &iPat : int(1..&maxNumParts) , &i <= &numPartsVar . - exists &jPat : &innerDomain . - &whichPart[&j] = &i /\ &firstIndexVar[&i] = &j - |] - , -- firstIndexVar[i] is dontCare, if nothing is in part i - [essence| - forAll &iPat : int(1..&maxNumParts) , &i > &numPartsVar . - dontCare(&firstIndexVar[&i]) - |] - ] - - symmetryBreaking numPartsVar firstIndexVar = do - (iPat, i) <- quantifiedVar - (jPat, j) <- quantifiedVar - return $ return -- for list - [essence| - forAll &iPat, &jPat : int(1..&maxNumParts) , &i <= &numPartsVar /\ &j <= &numPartsVar . - &i < &j <-> &firstIndexVar[&i] < &firstIndexVar[&j] - |] - - numPartsCons numPartsVar = - return $ mkSizeCons (partsNum attrs) numPartsVar - - partSizeCons numPartsVar partSizesVar = do - (iPat, i) <- quantifiedVar - let theConsForI = make opAnd $ fromList $ - mkSizeCons (partsSize attrs) [essence| &partSizesVar[&i] |] - return - [ [essence| - and([ &theConsForI - | &iPat : int(1..&maxNumParts) $ forAll part numbers - , &i <= &numPartsVar $ that are active - ]) - |] - , [essence| - and([ &partSizesVar[&i] = 0 - | &iPat : int(1..&maxNumParts) $ forAll part numbers - , &i > &numPartsVar $ that are inactive - ]) - |] - ] - - noGaps whichPart numPartsVar = do - (iPat, i) <- quantifiedVar - (jPat, j) <- quantifiedVar - return $ return -- for list - [essence| - and([ or([ &whichPart[&j] = &i $ there must be a member in that part - | &jPat : &innerDomain - ]) - | &iPat : int(3..&maxNumParts) $ forAll part numbers (except 1 and 2) - , &i <= &numPartsVar $ that are active - ]) - |] - - fixedPartSize = - case attrs of - PartitionAttr _ SizeAttr_Size{} _ -> True - _ -> False - - regular numPartsVar partSizesVar | isRegular attrs && not fixedPartSize = do - (iPat, i) <- quantifiedVar - return $ return -- for list - [essence| - and([ &partSizesVar[&i-1] = &partSizesVar[&i] - | &iPat : int(2..&maxNumParts) - , &i <= &numPartsVar - ]) - |] - regular _ _ = return [] - - return $ \ inpPartition -> do - [numPartsVar, whichPart, partSizesVar, firstIndexVar] <- downX1 inpPartition - concat <$> sequence - [ partSizeCons numPartsVar partSizesVar - , numPartsCons numPartsVar - , noGaps whichPart numPartsVar - , regular numPartsVar partSizesVar - , numPartsChannelling whichPart numPartsVar - , partSizesChannelling whichPart partSizesVar - , firstIndexChannelling whichPart numPartsVar firstIndexVar - , symmetryBreaking numPartsVar firstIndexVar - ] - structuralCons _ _ domain = na $ vcat [ "{structuralCons} Occurrence" - , "domain:" <+> pretty domain - ] - - downC :: TypeOf_DownC m - downC ( name - , inDom@(DomainPartition Partition_Occurrence attrs innerDomain) - , inConstant@(ConstantAbstract (AbsLitPartition vals)) - ) = do - Just [ ( numPartsVar , numPartsDom ) - , ( whichPart , whichPartDom ) - , ( partSizesVar , partSizesDom ) - , ( firstIndexVar , firstIndexDom ) - ] <- downD (name, inDom) - members <- domainValues innerDomain - maxNumParts' <- getMaxNumParts attrs innerDomain - maxNumParts <- case viewConstantInt maxNumParts' of - Just i -> return i - Nothing -> bug ("expecting an integer literal, but got:" <++> pretty maxNumParts') - z <- zeroVal innerDomain - let - whichPartValInside :: [(Integer, Constant)] - whichPartValInside = - [ case whichPartIsIt of - [p] -> p - [] -> bug $ vcat [ "Not found:" <+> pretty mem - , "Inside:" <+> pretty inConstant - ] - _ -> bug $ vcat [ "Found multiple times:" <+> pretty mem - , "Inside:" <+> pretty inConstant - ] - | mem <- members - , let whichPartIsIt = [ (p, mem) - | (p, pVals) <- zip [1..] vals - , mem `elem` pVals - ] - ] - numPartsVal = ConstantInt TagInt (genericLength vals) - whichPartVal = ConstantAbstract (AbsLitMatrix - (forgetRepr innerDomain) - (map (ConstantInt TagInt . fst) whichPartValInside)) - partSizesVal = ConstantAbstract (AbsLitMatrix - (DomainInt TagInt [RangeBounded 1 maxNumParts']) - (map (ConstantInt TagInt . genericLength) vals - ++ replicate (fromInteger (maxNumParts - genericLength vals)) - (ConstantInt TagInt 0))) - firstIndexVal = ConstantAbstract (AbsLitMatrix - (DomainInt TagInt [RangeBounded 1 maxNumParts']) - ([ case lookup p whichPartValInside of - Nothing -> bug $ vcat [ "Not found:" <+> pretty p - , "Inside:" <+> prettyList id "," whichPartValInside - ] - Just i -> i - | p <- [1..genericLength vals] ] - ++ replicate (fromInteger (maxNumParts - genericLength vals)) - z)) - return $ Just - [ ( numPartsVar , numPartsDom , numPartsVal ) - , ( whichPart , whichPartDom , whichPartVal ) - , ( partSizesVar , partSizesDom , partSizesVal ) - , ( firstIndexVar , firstIndexDom , firstIndexVal ) - ] - downC (name, domain, constant) = na $ vcat [ "{downC} Occurrence" - , "name:" <+> pretty name - , "domain:" <+> pretty domain - , "constant:" <+> pretty constant - ] - - up :: TypeOf_Up m - up ctxt (name, domain@(DomainPartition Partition_Occurrence _ innerDomain)) = - case (lookup (nameNumParts domain name) ctxt, lookup (nameWhichPart domain name) ctxt) of - ( Just (viewConstantInt -> Just numPartsValue) , - Just (viewConstantMatrix -> Just (_, whichPartValues)) ) -> do - members <- domainValues innerDomain - return - ( name - , normaliseConstant $ ConstantAbstract $ AbsLitPartition - [ [ member | (member, b) <- zip members whichPartValues, b == ConstantInt TagInt bucket ] - | bucket <- [1..numPartsValue] - ] - ) - (Just val, _) -> fail $ vcat $ - [ "(in Partition Occurrence up)" - , "Expecting an integer literal for:" <+> pretty (nameNumParts domain name) - , "But got:" <+> pretty val - , "When working on:" <+> pretty name - , "With domain:" <+> pretty domain - ] ++ - ("Bindings in context:" : prettyContext ctxt) - (_, Just val) -> fail $ vcat $ - [ "(in Partition Occurrence up)" - , "Expecting a matrix literal for:" <+> pretty (nameWhichPart domain name) - , "But got:" <+> pretty val - , "When working on:" <+> pretty name - , "With domain:" <+> pretty domain - ] ++ - ("Bindings in context:" : prettyContext ctxt) - (Nothing, _) -> fail $ vcat $ - [ "(in Partition Occurrence up)" - , "No value for:" <+> pretty (nameNumParts domain name) - , "When working on:" <+> pretty name - , "With domain:" <+> pretty domain - ] ++ - ("Bindings in context:" : prettyContext ctxt) - up ctxt (name, domain) = - na $ vcat [ "{up} Occurrence" - , "name:" <+> pretty name - , "domain:" <+> pretty domain - , "ctxt:" <+> vcat (map pretty ctxt) - ] - - symmetryOrdering :: TypeOf_SymmetryOrdering m - symmetryOrdering innerSO downX1 inp domain = do - xs <- downX1 inp - Just xsDoms' <- downD ("SO", domain) - let xsDoms = map snd xsDoms' - soValues <- sequence [ innerSO downX1 x xDom | (x, xDom) <- zip xs xsDoms ] -<<<<<<< HEAD - return (fromList soValues) -======= - return $ AbstractLiteral $ AbsLitTuple soValues - ->>>>>>> master diff --git a/src/Conjure/Representations/Record.hs.orig b/src/Conjure/Representations/Record.hs.orig deleted file mode 100644 index 3a324772f4..0000000000 --- a/src/Conjure/Representations/Record.hs.orig +++ /dev/null @@ -1,90 +0,0 @@ -{-# LANGUAGE QuasiQuotes #-} - -module Conjure.Representations.Record - ( record - ) where - --- conjure -import Conjure.Prelude -import Conjure.Bug -import Conjure.Language -import Conjure.Representations.Internal - - -record :: forall m . (MonadFail m, NameGen m) => Representation m -record = Representation chck downD structuralCons downC up symmetryOrdering - - where - - chck :: TypeOf_ReprCheck m - chck f (DomainRecord ds) = do - let names = map fst ds - outDoms <- sequence <$> mapM (f . snd) ds - return [ DomainRecord (zip names ds') | ds' <- outDoms ] - chck _ _ = return [] - - mkName name n = mconcat [name, "_", n] - - downD :: TypeOf_DownD m - downD (name, DomainRecord ds) = return $ Just - [ (mkName name n, d) - | (n,d) <- ds - ] - downD _ = na "{downD}" - - structuralCons :: TypeOf_Structural m - structuralCons f downX1 (DomainRecord ds) = return $ \ tup -> do - refs <- downX1 tup - concat <$> sequence - [ do - innerStructuralConsGen <- f dom - outs <- innerStructuralConsGen ref - return outs - | (ref, (_n, dom)) <- zip refs ds - ] - structuralCons _ _ _ = na "{structuralCons} record" - - -- TODO: check if (length ds == length cs) - downC :: TypeOf_DownC m - downC (name, DomainRecord ds, ConstantAbstract (AbsLitRecord cs)) - | sort (map fst ds) == sort (map fst cs) = return $ Just - [ case lookup n cs of - Nothing -> bug "Record.downC" - Just c -> (mkName name n, d, c) - | (n,d) <- ds - ] - downC (n, d, c) = - na $ "{downC} record" <+> vcat - [ "name :" <+> pretty n - , "domain:" <+> pretty d - , "value :" <+> pretty c - ] - - up :: TypeOf_Up m - up ctxt (name, DomainRecord ds) = do - let names = map (mkName name . fst) ds - vals <- forM names $ \ n -> - case lookup n ctxt of - Nothing -> fail $ vcat $ - [ "(in Record up)" - , "No value for:" <+> pretty n - , "When working on:" <+> pretty name - , "With domain:" <+> pretty (DomainRecord ds) - ] ++ - ("Bindings in context:" : prettyContext ctxt) - Just val -> return (n, val) - -- TODO: check if (length ds == length vals) - return (name, ConstantAbstract (AbsLitRecord vals)) - up _ _ = na "{up}" - - symmetryOrdering :: TypeOf_SymmetryOrdering m - symmetryOrdering innerSO downX1 inp domain = do - xs <- downX1 inp - Just xsDoms' <- downD ("SO", domain) - let xsDoms = map snd xsDoms' - soValues <- sequence [ innerSO downX1 x xDom | (x, xDom) <- zip xs xsDoms ] - return $ AbstractLiteral $ AbsLitTuple soValues -<<<<<<< HEAD -======= - ->>>>>>> master diff --git a/src/Conjure/Representations/Set/Explicit.hs.orig b/src/Conjure/Representations/Set/Explicit.hs.orig deleted file mode 100644 index c0005d64c2..0000000000 --- a/src/Conjure/Representations/Set/Explicit.hs.orig +++ /dev/null @@ -1,117 +0,0 @@ -{-# LANGUAGE QuasiQuotes #-} - -module Conjure.Representations.Set.Explicit ( setExplicit ) where - --- conjure -import Conjure.Prelude -import Conjure.Language -import Conjure.Representations.Internal - - -setExplicit :: forall m . (MonadFail m, NameGen m) => Representation m -setExplicit = Representation chck downD structuralCons downC up symmetryOrdering - - where - - -- | We can represent any inner domain but set must be fixed size - chck :: TypeOf_ReprCheck m - chck f (DomainSet _ attrs@(SetAttr SizeAttr_Size{}) innerDomain) = - map (DomainSet Set_Explicit attrs) <$> f innerDomain - chck _ _ = return [] - - outName :: Domain HasRepresentation x -> Name -> Name - outName = mkOutName Nothing - - -- | A 1D matrix of size of set containing innerDomain objects - downD :: TypeOf_DownD m - downD (name, domain@(DomainSet Set_Explicit (SetAttr (SizeAttr_Size size)) innerDomain)) = return $ Just - [ ( outName domain name - , DomainMatrix - (DomainInt TagInt [RangeBounded 1 size]) - innerDomain - ) ] - downD _ = na "{downD} Explicit" - - -- | Enforce lex ordering of matrix (symmetry breaking) and inner structural constraints of - -- 'active' elements of inner domain - structuralCons :: TypeOf_Structural m - structuralCons f downX1 (DomainSet Set_Explicit (SetAttr (SizeAttr_Size size)) innerDomain) = do - let - -- | Makes sure i'th value is lex less than (i+1)'th value - -- a symmetry breaking structural constraint - ordering m = do - (iPat, i) <- quantifiedVar - return $ return -- for list - [essence| - forAll &iPat : int(1..&size-1) . - &m[&i] .< &m[&i+1] - |] - - -- | Enforces structural constraints for the elements of the inner domain - -- that are in the set. - innerStructuralCons m = do - (iPat, i) <- quantifiedVarOverDomain [essenceDomain| int(1..&size) |] - let activeZone b = [essence| forAll &iPat : int(1..&size) . &b |] - - -- preparing structural constraints for the inner guys - innerStructuralConsGen <- f innerDomain - - let inLoop = [essence| &m[&i] |] - outs <- innerStructuralConsGen inLoop - return (map activeZone outs) - - return $ \ ref -> do - refs <- downX1 ref - case refs of - [m] -> - concat <$> sequence - [ ordering m - , innerStructuralCons m - ] - _ -> na "{structuralCons} Explicit" - structuralCons _ _ _ = na "{structuralCons} Explicit" - - downC :: TypeOf_DownC m - downC ( name - , domain@(DomainSet Set_Explicit (SetAttr (SizeAttr_Size size)) innerDomain) - , ConstantAbstract (AbsLitSet constants) - ) = - let outIndexDomain = mkDomainIntB 1 size - in return $ Just - [ ( outName domain name - , DomainMatrix outIndexDomain innerDomain - , ConstantAbstract $ AbsLitMatrix outIndexDomain constants - ) ] - downC _ = na "{downC} Explicit" - - up :: TypeOf_Up m - up ctxt (name, domain@(DomainSet Set_Explicit (SetAttr (SizeAttr_Size _)) _)) = - case lookup (outName domain name) ctxt of - Nothing -> fail $ vcat $ - [ "(in Set Explicit up)" - , "No value for:" <+> pretty (outName domain name) - , "When working on:" <+> pretty name - , "With domain:" <+> pretty domain - ] ++ - ("Bindings in context:" : prettyContext ctxt) - Just constant -> - case viewConstantMatrix constant of - Just (_, vals) -> - return (name, ConstantAbstract (AbsLitSet vals)) - _ -> fail $ vcat - [ "Expecting a matrix literal for:" <+> pretty (outName domain name) - , "But got:" <+> pretty constant - , "When working on:" <+> pretty name - , "With domain:" <+> pretty domain - ] - up _ _ = na "{up} Explicit" - - symmetryOrdering :: TypeOf_SymmetryOrdering m - symmetryOrdering innerSO downX1 inp domain = do - [inner] <- downX1 inp - Just [(_, innerDomain)] <- downD ("SO", domain) - innerSO downX1 inner innerDomain -<<<<<<< HEAD - -======= ->>>>>>> master diff --git a/src/Conjure/Representations/Set/ExplicitVarSizeWithDummy.hs.orig b/src/Conjure/Representations/Set/ExplicitVarSizeWithDummy.hs.orig deleted file mode 100644 index b2687270ec..0000000000 --- a/src/Conjure/Representations/Set/ExplicitVarSizeWithDummy.hs.orig +++ /dev/null @@ -1,178 +0,0 @@ -{-# LANGUAGE QuasiQuotes #-} - -module Conjure.Representations.Set.ExplicitVarSizeWithDummy ( setExplicitVarSizeWithDummy ) where - --- conjure -import Conjure.Prelude -import Conjure.Bug -import Conjure.Language -import Conjure.Language.DomainSizeOf -import Conjure.Language.Expression.DomainSizeOf () -import Conjure.Representations.Internal -import Conjure.Representations.Common - - -setExplicitVarSizeWithDummy :: forall m . (MonadFail m, NameGen m) => Representation m -setExplicitVarSizeWithDummy = Representation chck downD structuralCons downC up symmetryOrdering - - where - - chck :: TypeOf_ReprCheck m - chck _ (DomainSet _ (SetAttr SizeAttr_Size{}) _) = return [] - chck f (DomainSet _ attrs innerDomain@DomainInt{}) = - map (DomainSet Set_ExplicitVarSizeWithDummy attrs) <$> f innerDomain - chck _ _ = return [] - - outName :: Domain HasRepresentation x -> Name -> Name - outName = mkOutName Nothing - - getMaxSize attrs innerDomain = case attrs of - SizeAttr_MaxSize x -> return x - SizeAttr_MinMaxSize _ x -> return x - _ -> reTag TagInt <$> domainSizeOf innerDomain - - calcDummyDomain :: Pretty r => Domain r Expression -> Domain r Expression - calcDummyDomain (DomainInt t [RangeBounded lb ub]) = - DomainInt t [RangeBounded lb [essence| &ub + 1 |]] - calcDummyDomain dom@(DomainInt t ranges) = - let dummyElem = calcDummyElem dom - in DomainInt t (ranges ++ [RangeSingle dummyElem]) - calcDummyDomain dom = bug ("ExplicitVarSizeWithDummy.calcDummyDomain" <+> pretty dom) - - calcDummyElem :: Pretty r => Domain r Expression -> Expression - calcDummyElem dom = - let theMax = bugFail "calcDummyElem: maxOfDomain" (maxOfDomain dom) - in [essence| &theMax + 1 |] - - calcDummyElemC :: Pretty r => Domain r Constant -> Constant - calcDummyElemC (DomainInt _ []) = bug "ExplicitVarSizeWithDummy.calcDummyElemC []" - calcDummyElemC (DomainInt t rs) = ConstantInt t $ - 1 + maximum [ i - | r <- rs - , i <- case r of - RangeSingle (ConstantInt _ x) -> [x] - RangeBounded (ConstantInt _ x) (ConstantInt _ y) -> [x..y] - _ -> bug ("ExplicitVarSizeWithDummy.calcDummyElemC" <+> pretty r) - ] - calcDummyElemC d = bug ("ExplicitVarSizeWithDummy.calcDummyElemC" <+> pretty d) - - downD :: TypeOf_DownD m - downD (name, domain@(DomainSet Set_ExplicitVarSizeWithDummy (SetAttr attrs) innerDomain@DomainInt{})) = do - let domainWithDummy = calcDummyDomain innerDomain - maxSize <- getMaxSize attrs innerDomain - return $ Just - [ ( outName domain name - , DomainMatrix - (DomainInt TagInt [RangeBounded 1 maxSize]) - domainWithDummy - ) ] - downD _ = na "{downD} ExplicitVarSizeWithDummy" - - structuralCons :: TypeOf_Structural m - structuralCons f downX1 (DomainSet Set_ExplicitVarSizeWithDummy (SetAttr attrs) innerDomain) = do - maxSize <- getMaxSize attrs innerDomain - let - dummyElem = calcDummyElem innerDomain - - ordering m = do - (iPat, i) <- quantifiedVar - return $ return -- for list - [essence| - forAll &iPat : int(1..&maxSize-1) . - (&m[&i] .< &m[&i+1]) \/ (&m[&i] = &dummyElem) - |] - - dummyToTheRight m = do - (iPat, i) <- quantifiedVar - return $ return -- for list - [essence| - forAll &iPat : int(1..&maxSize-1) . - (&m[&i] = &dummyElem) -> (&m[&i+1] = &dummyElem) - |] - - cardinality m = do - (iPat, i) <- quantifiedVar - return [essence| sum &iPat : int(1..&maxSize) . toInt(&m[&i] != &dummyElem) |] - - innerStructuralCons m = do - (iPat, i) <- quantifiedVarOverDomain [essenceDomain| int(1..&maxSize) |] - let activeZone b = [essence| forAll &iPat : int(1..&maxSize) . &m[&i] != &dummyElem -> &b |] - - -- preparing structural constraints for the inner guys - innerStructuralConsGen <- f innerDomain - - let inLoop = [essence| &m[&i] |] - outs <- innerStructuralConsGen inLoop - return (map activeZone outs) - - return $ \ ref -> do - refs <- downX1 ref - case refs of - [m] -> - concat <$> sequence - [ ordering m - , dummyToTheRight m - , mkSizeCons attrs <$> cardinality m - , innerStructuralCons m - ] - _ -> na "{structuralCons} ExplicitVarSizeWithDummy" - structuralCons _ _ _ = na "{structuralCons} ExplicitVarSizeWithDummy" - - downC :: TypeOf_DownC m - downC ( name - , domain@(DomainSet Set_ExplicitVarSizeWithDummy (SetAttr attrs) innerDomain) - , ConstantAbstract (AbsLitSet constants) - ) = do - maxSize <- getMaxSize attrs innerDomain - let indexDomain i = mkDomainIntB (fromInt i) maxSize - maxSizeInt <- - case maxSize of - ConstantInt _ x -> return x - _ -> fail $ vcat - [ "Expecting an integer for the maxSize attribute." - , "But got:" <+> pretty maxSize - , "When working on:" <+> pretty name - , "With domain:" <+> pretty domain - ] - let dummyElem = calcDummyElemC innerDomain - let dummies = replicate (fromInteger (maxSizeInt - genericLength constants)) dummyElem - return $ Just - [ ( outName domain name - , DomainMatrix (indexDomain 1) innerDomain - , ConstantAbstract $ AbsLitMatrix (indexDomain 1) (constants ++ dummies) - ) - ] - downC _ = na "{downC} ExplicitVarSizeWithDummy" - - up :: TypeOf_Up m - up ctxt (name, domain@(DomainSet Set_ExplicitVarSizeWithDummy _ innerDomain)) = do - let dummyElem = calcDummyElemC innerDomain - case lookup (outName domain name) ctxt of - Nothing -> fail $ vcat $ - [ "(in Set ExplicitVarSizeWithDummy up)" - , "No value for:" <+> pretty (outName domain name) - , "When working on:" <+> pretty name - , "With domain:" <+> pretty domain - ] ++ - ("Bindings in context:" : prettyContext ctxt) - Just constant -> - case viewConstantMatrix constant of - Just (_, vals) -> - return (name, ConstantAbstract (AbsLitSet [ v | v <- vals, v /= dummyElem ])) - _ -> fail $ vcat - [ "Expecting a matrix literal for:" <+> pretty (outName domain name) - , "But got:" <+> pretty constant - , "When working on:" <+> pretty name - , "With domain:" <+> pretty domain - ] - up _ _ = na "{up} ExplicitVarSizeWithDummy" - - symmetryOrdering :: TypeOf_SymmetryOrdering m - symmetryOrdering innerSO downX1 inp domain = do - [inner] <- downX1 inp - Just [(_, innerDomain)] <- downD ("SO", domain) - innerSO downX1 inner innerDomain -<<<<<<< HEAD -======= - ->>>>>>> master diff --git a/src/Conjure/Representations/Tuple.hs.orig b/src/Conjure/Representations/Tuple.hs.orig deleted file mode 100644 index 2673bde1ec..0000000000 --- a/src/Conjure/Representations/Tuple.hs.orig +++ /dev/null @@ -1,90 +0,0 @@ -{-# LANGUAGE QuasiQuotes #-} -{-# LANGUAGE ParallelListComp #-} - -module Conjure.Representations.Tuple - ( tuple - ) where - --- conjure -import Conjure.Prelude -import Conjure.Language -import Conjure.Representations.Internal - --- text -import Data.Text ( pack ) - - -tuple :: forall m . (MonadFail m, NameGen m) => Representation m -tuple = Representation chck downD structuralCons downC up symmetryOrdering - - where - - chck :: TypeOf_ReprCheck m - chck f (DomainTuple ds) = map DomainTuple . sequence <$> mapM f ds - chck _ _ = return [] - - mkName :: Name -> Int -> Name - mkName name i = mconcat [name, "_", Name (pack (show i))] - - downD :: TypeOf_DownD m - downD (name, DomainTuple ds) = return $ Just - [ (mkName name i, d) - | i <- [1..] - | d <- ds - ] - downD _ = na "{downD}" - - structuralCons :: TypeOf_Structural m - structuralCons f downX1 (DomainTuple ds) = return $ \ tup -> do - refs <- downX1 tup - concat <$> sequence - [ do - innerStructuralConsGen <- f dom - outs <- innerStructuralConsGen ref - return outs - | (ref, dom) <- zip refs ds - ] - structuralCons _ _ _ = na "{structuralCons} tuple" - - downC :: TypeOf_DownC m - downC (name, DomainTuple ds, ConstantAbstract (AbsLitTuple cs)) - | length ds == length cs = return $ Just - [ (mkName name i, d, c) - | i <- [1..] - | d <- ds - | c <- cs - ] - downC (n, d, c) = - na $ "{downC} tuple" <+> vcat - [ "name :" <+> pretty n - , "domain:" <+> pretty d - , "value :" <+> pretty c - ] - - up :: TypeOf_Up m - up ctxt (name, DomainTuple ds) = do - let names = map (mkName name) [1 .. length ds] - vals <- forM names $ \ n -> - case lookup n ctxt of - Nothing -> fail $ vcat $ - [ "(in Tuple up)" - , "No value for:" <+> pretty n - , "When working on:" <+> pretty name - , "With domain:" <+> pretty (DomainTuple ds) - ] ++ - ("Bindings in context:" : prettyContext ctxt) - Just val -> return val - return (name, ConstantAbstract (AbsLitTuple vals)) - up _ _ = na "{up}" - - symmetryOrdering :: TypeOf_SymmetryOrdering m - symmetryOrdering innerSO downX1 inp domain = do - xs <- downX1 inp - Just xsDoms' <- downD ("SO", domain) - let xsDoms = map snd xsDoms' - soValues <- sequence [ innerSO downX1 x xDom | (x, xDom) <- zip xs xsDoms ] - return $ AbstractLiteral $ AbsLitTuple soValues -<<<<<<< HEAD -======= - ->>>>>>> master diff --git a/src/Conjure/Representations/Variant.hs.orig b/src/Conjure/Representations/Variant.hs.orig deleted file mode 100644 index 80b443e699..0000000000 --- a/src/Conjure/Representations/Variant.hs.orig +++ /dev/null @@ -1,128 +0,0 @@ -{-# LANGUAGE QuasiQuotes #-} - -module Conjure.Representations.Variant - ( variant - ) where - --- conjure -import Conjure.Prelude -import Conjure.Bug -import Conjure.Language -import Conjure.Representations.Internal -import Conjure.Language.ZeroVal ( EnumerateDomain, zeroVal ) - - -variant :: forall m . (MonadFail m, NameGen m, EnumerateDomain m) => Representation m -variant = Representation chck downD structuralCons downC up symmetryOrdering - - where - - chck :: TypeOf_ReprCheck m - chck f (DomainVariant ds) = do - let names = map fst ds - outDoms <- sequence <$> mapM (f . snd) ds - return [ DomainVariant (zip names ds') | ds' <- outDoms ] - chck _ _ = return [] - - mkName name n = mconcat [name, "_", n] - - downD :: TypeOf_DownD m - downD (name, DomainVariant ds) = return $ Just - $ (mkName name "_tag", defRepr $ mkDomainIntB 1 (fromInt (genericLength ds))) - : [ (mkName name n, d) - | (n,d) <- ds - ] - downD _ = na "{downD}" - - structuralCons :: TypeOf_Structural m - structuralCons f downX1 (DomainVariant ds) = do - let - innerStructuralCons which thisIndex thisRef thisDom = do - let activeZone b = [essence| &which = &thisIndex -> &b |] - -- preparing structural constraints for the inner guys - innerStructuralConsGen <- f thisDom - outs <- innerStructuralConsGen thisRef - return (map activeZone outs) - - dontCares which thisIndex thisRef = - [essence| &which != &thisIndex -> dontCare(&thisRef) |] - - return $ \ rec -> do - (which:refs) <- downX1 rec - concat <$> sequence - [ do - isc <- innerStructuralCons which (fromInt i) ref dom - let dcs = dontCares which (fromInt i) ref - return (dcs:isc) - | (i, ref, (_, dom)) <- zip3 [1..] refs ds - ] - structuralCons _ _ _ = na "{structuralCons} variant" - - -- TODO: check if (length ds == length cs) - downC :: TypeOf_DownC m - downC (name, DomainVariant ds, ConstantAbstract (AbsLitVariant _ n c)) = do - let theTag = - ( mkName name "_tag" - , defRepr $ mkDomainIntB 1 (fromInt (genericLength ds)) - , case [ fromInt i - | (i, (n', _)) <- zip [1..] ds - , n == n' ] of - [v] -> v - _ -> bug "downC variant tag" - ) - outs <- forM ds $ \ (n', d) -> do - c' <- if n == n' - then return c - else zeroVal d - return (mkName name n', d, c') - return $ Just (theTag : outs) - downC (n, d, c) = - na $ "{downC} variant" <+> vcat - [ "name :" <+> pretty n - , "domain:" <+> pretty d - , "value :" <+> pretty c - ] - - up :: TypeOf_Up m - up ctxt (name, DomainVariant ds) = do - let dsForgotten = [ (n, defRepr d) | (n,d) <- ds ] - case lookup (mkName name "_tag") ctxt of - Just (ConstantInt _ i) -> - let iTag = at ds (fromInteger (i-1)) |> fst - iName = mkName name iTag - in case lookup iName ctxt of - Just val -> return (name, ConstantAbstract $ AbsLitVariant (Just dsForgotten) iTag val) - Nothing -> fail $ vcat $ - [ "(in Variant up 1)" - , "No value for:" <+> pretty iName - , "When working on:" <+> pretty name - , "With domain:" <+> pretty (DomainRecord ds) - ] ++ - ("Bindings in context:" : prettyContext ctxt) - Nothing -> fail $ vcat $ - [ "(in Variant up 2)" - , "No value for:" <+> pretty (mkName name "_tag") - , "When working on:" <+> pretty name - , "With domain:" <+> pretty (DomainRecord ds) - ] ++ - ("Bindings in context:" : prettyContext ctxt) - Just val -> fail $ vcat $ - [ "Expecting an integer value for:" <+> pretty (mkName name "_tag") - , "When working on:" <+> pretty name - , "With domain:" <+> pretty (DomainRecord ds) - , "But got:" <+> pretty val - ] ++ - ("Bindings in context:" : prettyContext ctxt) - up _ _ = na "{up}" - - symmetryOrdering :: TypeOf_SymmetryOrdering m - symmetryOrdering innerSO downX1 inp domain = do - xs <- downX1 inp - Just xsDoms' <- downD ("SO", domain) - let xsDoms = map snd xsDoms' - soValues <- sequence [ innerSO downX1 x xDom | (x, xDom) <- zip xs xsDoms ] - return (fromList soValues) -<<<<<<< HEAD -======= - ->>>>>>> master diff --git a/src/Conjure/UI/Model.hs.orig b/src/Conjure/UI/Model.hs.orig deleted file mode 100644 index da88b01869..0000000000 --- a/src/Conjure/UI/Model.hs.orig +++ /dev/null @@ -1,2916 +0,0 @@ -{-# LANGUAGE Rank2Types #-} -{-# LANGUAGE TupleSections #-} -{-# LANGUAGE QuasiQuotes #-} -{-# LANGUAGE ViewPatterns #-} -{-# LANGUAGE RecordWildCards #-} - -module Conjure.UI.Model - ( outputModels - , Strategy(..), Config(..), parseStrategy - , nbUses - , modelRepresentationsJSON - ) where - -import Conjure.Prelude -import Conjure.Bug -import Conjure.UserError -import Conjure.Language.Definition -import Conjure.Language.Expression.Internal.Generated () -import Conjure.Language.Domain -import Conjure.Language.Type -import Conjure.Language.Pretty -import Conjure.Language.CategoryOf -import Conjure.Language.TypeOf -import Conjure.Compute.DomainOf -import Conjure.Language.Lenses -import Conjure.Language.TH ( essence ) -import Conjure.Language.Expression ( reDomExp ) -import Conjure.Language.Constant ( reDomConst ) -import Conjure.Language.Expression.Op -import Conjure.Language.ModelStats ( modelInfo ) -import Conjure.Language.Instantiate ( instantiateExpression, trySimplify ) -import Conjure.Process.Sanity ( sanityChecks ) -import Conjure.Process.Enums ( removeEnumsFromModel ) -import Conjure.Process.Unnameds ( removeUnnamedsFromModel ) -import Conjure.Process.FiniteGivens ( finiteGivens ) -import Conjure.Process.LettingsForComplexInDoms ( lettingsForComplexInDoms - , inlineLettingDomainsForDecls - , removeDomainLettings - ) -import Conjure.Process.AttributeAsConstraints ( attributeAsConstraints, mkAttributeToConstraint ) -import Conjure.Process.InferAttributes ( inferAttributes ) -import Conjure.Process.DealWithCuts ( dealWithCuts ) -import Conjure.Process.Enumerate ( EnumerateDomain ) -import Conjure.Language.NameResolution ( resolveNames, resolveNamesX ) -import Conjure.UI.TypeCheck ( typeCheckModel, typeCheckModel_StandAlone ) -import Conjure.UI ( OutputFormat(..) ) -import Conjure.UI.IO ( writeModel ) -import Conjure.UI.NormaliseQuantified ( distinctQuantifiedVars, renameQuantifiedVarsToAvoidShadowing - , normaliseQuantifiedVariablesS, normaliseQuantifiedVariablesE - ) - -import Conjure.Representations - ( downX, downX1, downD, reprOptions, getStructurals - , symmetryOrdering - , reprsStandardOrderNoLevels, reprsStandardOrder, reprsSparseOrder - ) - -import Conjure.Rules.Definition - -import qualified Conjure.Rules.Vertical.Tuple as Vertical.Tuple -import qualified Conjure.Rules.Vertical.Record as Vertical.Record -import qualified Conjure.Rules.Vertical.Variant as Vertical.Variant -import qualified Conjure.Rules.Vertical.Matrix as Vertical.Matrix - -import qualified Conjure.Rules.Horizontal.Set as Horizontal.Set -import qualified Conjure.Rules.Vertical.Set.Explicit as Vertical.Set.Explicit -import qualified Conjure.Rules.Vertical.Set.ExplicitVarSizeWithDummy as Vertical.Set.ExplicitVarSizeWithDummy -import qualified Conjure.Rules.Vertical.Set.ExplicitVarSizeWithFlags as Vertical.Set.ExplicitVarSizeWithFlags -import qualified Conjure.Rules.Vertical.Set.ExplicitVarSizeWithMarker as Vertical.Set.ExplicitVarSizeWithMarker -import qualified Conjure.Rules.Vertical.Set.Occurrence as Vertical.Set.Occurrence - -import qualified Conjure.Rules.Horizontal.MSet as Horizontal.MSet -import qualified Conjure.Rules.Vertical.MSet.Occurrence as Vertical.MSet.Occurrence -import qualified Conjure.Rules.Vertical.MSet.ExplicitWithFlags as Vertical.MSet.ExplicitWithFlags -import qualified Conjure.Rules.Vertical.MSet.ExplicitWithRepetition as Vertical.MSet.ExplicitWithRepetition - -import qualified Conjure.Rules.Horizontal.Function as Horizontal.Function -import qualified Conjure.Rules.Vertical.Function.Function1D as Vertical.Function.Function1D -import qualified Conjure.Rules.Vertical.Function.Function1DPartial as Vertical.Function.Function1DPartial -import qualified Conjure.Rules.Vertical.Function.FunctionND as Vertical.Function.FunctionND -import qualified Conjure.Rules.Vertical.Function.FunctionNDPartial as Vertical.Function.FunctionNDPartial -import qualified Conjure.Rules.Vertical.Function.FunctionAsRelation as Vertical.Function.FunctionAsRelation - -import qualified Conjure.Rules.Horizontal.Sequence as Horizontal.Sequence -import qualified Conjure.Rules.Vertical.Sequence.ExplicitBounded as Vertical.Sequence.ExplicitBounded - -import qualified Conjure.Rules.Horizontal.Relation as Horizontal.Relation -import qualified Conjure.Rules.Vertical.Relation.RelationAsMatrix as Vertical.Relation.RelationAsMatrix -import qualified Conjure.Rules.Vertical.Relation.RelationAsSet as Vertical.Relation.RelationAsSet - -import qualified Conjure.Rules.Horizontal.Partition as Horizontal.Partition -import qualified Conjure.Rules.Vertical.Partition.PartitionAsSet as Vertical.Partition.PartitionAsSet -import qualified Conjure.Rules.Vertical.Partition.Occurrence as Vertical.Partition.Occurrence -import qualified Conjure.Rules.Transform as Transform - -import qualified Conjure.Rules.Vertical.Permutation as Vertical.Permutation -import qualified Conjure.Rules.Horizontal.Permutation as Horizontal.Permutation - -import qualified Conjure.Rules.BubbleUp as BubbleUp -import qualified Conjure.Rules.DontCare as DontCare -import qualified Conjure.Rules.TildeOrdering as TildeOrdering - --- base -import System.IO ( hFlush, stdout ) -import Data.IORef ( IORef, newIORef, readIORef, writeIORef ) -import System.IO.Unsafe ( unsafePerformIO ) - --- uniplate -import Data.Generics.Uniplate.Zipper ( hole, replaceHole ) -import Data.Generics.Uniplate.Zipper as Zipper ( right, up ) - --- pipes -import Pipes ( Pipe, Producer, await, yield, (>->), cat ) -import qualified Pipes.Prelude as Pipes ( foldM ) - -import qualified Data.Aeson.Types as JSON -- aeson -import qualified Data.HashMap.Strict as M -- containers -import qualified Data.Vector as V -- vector - - -outputModels :: - forall m . - MonadIO m => - MonadFail m => - MonadLog m => - NameGen m => - EnumerateDomain m => - MonadUserError m => - (?typeCheckerMode :: TypeCheckerMode) => - Config -> - Model -> - m () -outputModels config model = do - - liftIO $ writeIORef recordedResponses (responses config) - liftIO $ writeIORef recordedResponsesRepresentation (responsesRepresentation config) - - -- Savile Row does not support ' characters in identifiers - -- We could implement a workaround where we insert a marker (like __PRIME__) for each ' character - -- and recover these after a solution is found. - -- But this will be too hairy, instead we will reject such identifiers for now. - -- If somebody really needs to use a ' character as part of an identifier, we can revisit this decision. - let - primeyIdentifiers = catMaybes - [ if '\'' `elem` textToString identifier - then Just identifier - else Nothing - | Declaration decl <- mStatements model - , Name identifier <- universeBi decl - ] - unless (null primeyIdentifiers) $ userErr1 $ vcat - ["Identifiers cannot contain a quotation mark character in them:" <+> prettyList id "," primeyIdentifiers] - - let dir = outputDirectory config - - unless (estimateNumberOfModels config) $ - liftIO $ createDirectoryIfMissing True dir - - let - limitModelsIfEstimating :: Pipe LogOrModel LogOrModel m () - limitModelsIfEstimating = - if estimateNumberOfModels config - then limitModelsNeeded 1 - else Pipes.cat - - limitModelsIfNeeded :: Pipe LogOrModel LogOrModel m () - limitModelsIfNeeded = maybe Pipes.cat limitModelsNeeded (limitModels config) - - limitModelsNeeded :: Int -> Pipe LogOrModel LogOrModel m () - limitModelsNeeded 0 = return () - limitModelsNeeded n = do - x <- Pipes.await - Pipes.yield x - case x of - Left {} -> limitModelsNeeded n -- yielded a log, still n models to produce - Right{} -> limitModelsNeeded (n-1) -- yielded a model, produce n-1 more models - - each i logOrModel = - case logOrModel of - Left (l,msg) -> do - log l msg - return i - Right eprime -> do - let gen = - if smartFilenames config - then [ choice - | (_question, choice, numOptions) <- - eprime |> mInfo |> miTrailCompact - , numOptions > 1 - ] |> map (('_':) . show) - |> concat - else padLeft 6 '0' (show i) - let filename = dir "model" ++ gen ++ ".eprime" - if estimateNumberOfModels config - then do - let - estimate :: Integer - estimate = product $ 1 : [ toInteger numOptions - | (_question, _choice, numOptions) <- - eprime |> mInfo |> miTrailCompact - ] - liftIO $ print - $ "These options would generate at least" - <+> pretty estimate - <+> (if estimate == 1 then "model" else "models") <> "." - else writeModel (lineWidth config) Plain (Just filename) eprime - return (i+1) - - let ?typeCheckerMode = RelaxedIntegerTags - - Pipes.foldM each - (return (numberingStart config)) - (const $ return ()) - (toCompletion config model - >-> limitModelsIfNeeded - >-> limitModelsIfEstimating) - - -toCompletion :: forall m . - MonadIO m => - MonadFail m => - NameGen m => - EnumerateDomain m => - (?typeCheckerMode :: TypeCheckerMode) => - Config -> - Model -> - Producer LogOrModel m () -toCompletion config m = do - m2 <- let ?typeCheckerMode = StronglyTyped in prologue config m - namegenst <- exportNameGenState - let m2Info = mInfo m2 - let m3 = m2 { mInfo = m2Info { miStrategyQ = strategyQ config - , miStrategyA = strategyA config - , miNameGenState = namegenst - } } - logDebug $ modelInfo m3 - loopy (StartOver m3) - where - driver :: Driver - driver = strategyToDriver config - - loopy :: ModelWIP -> Producer LogOrModel m () - loopy modelWIP = do - logDebug $ "[loop]" <+> pretty ((modelWIPOut modelWIP) {mInfo = def}) - qs <- remainingWIP config modelWIP - if null qs - then do - let model = modelWIPOut modelWIP - model' <- epilogue model - yield (Right model') - else do - nextModels <- driver qs - mapM_ loopy nextModels - - -modelRepresentationsJSON :: - MonadFail m => - NameGen m => - EnumerateDomain m => - MonadLog m => - (?typeCheckerMode :: TypeCheckerMode) => - Model -> m JSONValue -modelRepresentationsJSON model = do - reprs <- modelRepresentations model - return $ JSON.Array $ V.fromList - [ JSON.Object $ M.fromList - [ "name" ~~ r name - , "representations" ~~ representationsJSON - ] - | (name, domains) <- reprs - , let representationsJSON = JSON.Array $ V.fromList - [ JSON.Object $ M.fromList - [ "description" ~~ r d - , "answer" ~~ toJSON i - ] - | (i, d) <- zip allNats domains - ] - ] - where - (~~) :: Text -> JSONValue -> (Text, JSONValue) - x ~~ y = (x, y) - r s = JSON.String $ stringToText $ render 100000 $ pretty s - - -modelRepresentations :: - MonadFail m => - NameGen m => - EnumerateDomain m => - MonadLog m => - (?typeCheckerMode :: TypeCheckerMode) => - Model -> m [(Name, [Domain HasRepresentation Expression])] -modelRepresentations model0 = do - model <- prologue model0 - concatForM (mStatements model) $ \case - Declaration (FindOrGiven _ name domain) -> do - domOpts <- reprOptions reprsStandardOrderNoLevels domain - return [(name, domOpts)] - _ -> return [] - - --- | If a rule is applied at a position P, the MonadZipper will be retained focused at that location --- and new rules will be tried using P as the top of the zipper-tree. --- The whole model (containing P too) will be tried later for completeness. -remainingWIP :: - MonadFail m => - MonadLog m => - NameGen m => - EnumerateDomain m => - (?typeCheckerMode :: TypeCheckerMode) => - Config -> - ModelWIP -> - m [Question] -remainingWIP config (StartOver model) - | Just modelZipper <- mkModelZipper model = do - qs <- remaining config modelZipper (mInfo model) - return qs - | otherwise = return [] -remainingWIP config wip@(TryThisFirst modelZipper info) = do - qs <- remaining config modelZipper info - case (null qs, Zipper.right modelZipper, Zipper.up modelZipper) of - (False, _, _) -> return qs -- not null, return - (_, Just r, _) -> remainingWIP config (TryThisFirst r info) -- there is a sibling to the right - (_, _, Just u) -> remainingWIP config (TryThisFirst u info) -- there is a parent - _ -> remainingWIP config (StartOver (modelWIPOut wip)) -- we are done here, - -- start-over the whole model in case - -- something on the left needs attention. - - -remaining :: - MonadFail m => - MonadLog m => - NameGen m => - EnumerateDomain m => - (?typeCheckerMode :: TypeCheckerMode) => - Config -> - ModelZipper -> - ModelInfo -> - m [Question] -remaining config modelZipper minfo = do - -- note: the call to getQuestions can update the NameGen state - importNameGenState (minfo |> miNameGenState) - questions <- getQuestions config modelZipper - namegenst0 <- exportNameGenState - forM questions $ \ (focus, answers0) -> do - answers1 <- forM answers0 $ \ (ruleName, RuleResult{..}) -> do - importNameGenState namegenst0 - ruleResultExpr <- ruleResult - -- ruleResultExpr <- fmap fixRelationProj ruleResult -- TODO: do we need the fixRelationProj? - let fullModelBeforeHook = replaceHole ruleResultExpr focus - let mtyBefore = typeOf (hole focus) - let mtyAfter = typeOf ruleResultExpr - case (mtyBefore, mtyAfter) of - (Right tyBefore, Right tyAfter) -> - unless (typesUnify [tyBefore, tyAfter]) $ - bug $ vcat - [ "Rule application changes type:" <+> pretty ruleName - , "Before:" <+> pretty (hole focus) - , "After :" <+> pretty ruleResultExpr - , "Type before:" <+> pretty (show tyBefore) - , "Type after :" <+> pretty (show tyAfter) - ] - (Left msg, _) -> bug $ vcat - [ "Type error before rule application:" <+> pretty ruleName - , "Before:" <+> pretty (hole focus) - , "After :" <+> pretty ruleResultExpr - , "Error :" <+> pretty msg - ] - (_, Left msg) -> bug $ vcat - [ "Type error after rule application:" <+> pretty ruleName - , "Before:" <+> pretty (hole focus) - , "After :" <+> pretty ruleResultExpr - , "Error :" <+> pretty msg - ] - - fullModelAfterHook <- case ruleResultHook of - Nothing -> do - namegenst <- exportNameGenState - return (TryThisFirst fullModelBeforeHook minfo { miNameGenState = namegenst }) - Just hook -> do - namegenst1 <- exportNameGenState - let m1 = fromModelZipper fullModelBeforeHook minfo { miNameGenState = namegenst1 } - m2 <- hook m1 - namegenst2 <- exportNameGenState - let m3 = m2 { mInfo = (mInfo m2) { miNameGenState = namegenst2 } } - return (StartOver m3) - - return - ( Answer - { aText = ruleName <> ":" <+> ruleResultDescr - , aRuleName = ruleName - , aBefore = hole focus - , aAnswer = ruleResultExpr - , aFullModel = fullModelAfterHook - } - , ruleResultType - ) - let qTypes = map snd answers1 - qType' <- if all (head qTypes ==) (tail qTypes) - then return (head qTypes) - else bug "Rules of different rule kinds applicable, this is a bug." - return Question - { qType = qType' - , qHole = hole focus - , qAscendants = tail (ascendants focus) - , qAnswers = map fst answers1 - } - - --- | Computes all applicable questions. --- strategyQ == PickFirst is special-cased for performance. -getQuestions :: - MonadLog m => - MonadFail m => - NameGen m => - EnumerateDomain m => - (?typeCheckerMode :: TypeCheckerMode) => - Config -> - ModelZipper -> - m [(ModelZipper, [(Doc, RuleResult m)])] -getQuestions config modelZipper | strategyQ config == PickFirst = maybeToList <$> - let - loopLevels :: Monad m => [m (Maybe a)] -> m (Maybe a) - loopLevels [] = return Nothing - loopLevels (a:as) = do bs <- a - case bs of - Nothing -> loopLevels as - Just {} -> return bs - - processLevel :: (MonadFail m, MonadLog m, NameGen m, EnumerateDomain m) - => [Rule] - -> m (Maybe (ModelZipper, [(Doc, RuleResult m)])) - processLevel rulesAtLevel = - let - go [] = return Nothing - go (x:xs) = do - ys <- applicableRules config rulesAtLevel x - if null ys - then go xs - else return (Just (x, ys)) - in - go (allContextsExceptReferences modelZipper) - in - loopLevels (map processLevel (allRules config)) -getQuestions config modelZipper = - let - loopLevels :: Monad m => [m [a]] -> m [a] - loopLevels [] = return [] - loopLevels (a:as) = do bs <- a - if null bs - then loopLevels as - else return bs - - processLevel :: (MonadFail m, MonadLog m, NameGen m, EnumerateDomain m) - => [Rule] - -> m [(ModelZipper, [(Doc, RuleResult m)])] - processLevel rulesAtLevel = - fmap catMaybes $ forM (allContextsExceptReferences modelZipper) $ \ x -> do - ys <- applicableRules config rulesAtLevel x - return $ if null ys - then Nothing - else Just (x, ys) - in - loopLevels (map processLevel (allRules config)) - - -strategyToDriver :: Config -> Driver -strategyToDriver config questions = do - let optionsQ = - [ (doc, q) - | (n, q) <- zip allNats questions - , let doc = - vcat $ ("Question" <+> pretty n <> ":" <+> pretty (qHole q)) - : [ nest 4 ("Context #" <> pretty i <> ":" <+> pretty c) -<<<<<<< HEAD - | (i,c) <- zip allNats (qAscendants q), i < 2 -======= - | (i,c) <- zip allNats (qAscendants q) - -- if logLevel < LogDebugVerbose, only show a select few levels - , logLevel config == LogDebugVerbose || i `elem` [1,3,5,10,25] ->>>>>>> master - ] - ] - pickedQs <- executeStrategy (bug "strategyToDriver no Question") optionsQ (strategyQ config) - fmap concat $ forM pickedQs $ \ (pickedQNumber, pickedQDescr, pickedQ) -> do - let optionsA = - [ (doc, a) - | (n, a) <- zip allNats (qAnswers pickedQ) - , let doc = nest 4 $ "Answer" <+> pretty n <> ":" <+> - if "choose-repr" `isPrefixOf` show (aRuleName a) - then pretty (aText a) - else vcat [ pretty (aText a) - , sep [pretty (qHole pickedQ), "~~>", pretty (aAnswer a)] - ] - ] - let strategyA' = case qType pickedQ of - ChooseRepr -> representations - ChooseRepr_Find{} -> representationsFinds - ChooseRepr_Given{} -> representationsGivens - ChooseRepr_Auxiliary -> representationsAuxiliaries - ChooseRepr_Quantified -> representationsQuantifieds - ChooseRepr_Cut{} -> representationsCuts - ExpressionRefinement -> strategyA - pickedAs <- executeAnswerStrategy config pickedQ optionsA (strategyA' config) - return - [ theModel - | (pickedANumber, pickedADescr, pickedA) <- pickedAs - , let upd = addToTrail - config - (strategyQ config) pickedQNumber pickedQDescr - (strategyA' config) pickedANumber (length optionsA) pickedADescr - (aText pickedA) - (aBefore pickedA) - (aAnswer pickedA) - , let theModel = updateModelWIPInfo upd (aFullModel pickedA) - ] - - -recordedResponses :: IORef (Maybe [Int]) -{-# NOINLINE recordedResponses #-} -recordedResponses = unsafePerformIO (newIORef Nothing) - -recordedResponsesRepresentation :: IORef (Maybe [(Name, Int)]) -{-# NOINLINE recordedResponsesRepresentation #-} -recordedResponsesRepresentation = unsafePerformIO (newIORef Nothing) - - -executeStrategy :: (MonadIO m, MonadLog m) => Question -> [(Doc, a)] -> Strategy -> m [(Int, Doc, a)] -executeStrategy _ [] _ = bug "executeStrategy: nothing to choose from" -executeStrategy _ [(doc, option)] (viewAuto -> (_, True)) = do - logDebug ("Picking the only option:" <+> doc) - return [(1, doc, option)] -executeStrategy question options@((doc, option):_) (viewAuto -> (strategy, _)) = - case strategy of - Auto _ -> bug "executeStrategy: Auto" - PickFirst -> do - logDebug ("Picking the first option:" <+> doc) - return [(1, doc, option)] - Sparse -> do - logDebug ("Picking the first option (in sparse order):" <+> doc) - return [(1, doc, option)] - PickAll -> return [ (i,d,o) | (i,(d,o)) <- zip [1..] options ] - Interactive -> liftIO $ do - putStrLn $ render 80 $ vcat (map fst options) - recordedResponsesRepresentation' <- readIORef recordedResponsesRepresentation - let - nextRecordedResponse :: IO (Maybe Int) - nextRecordedResponse = do - mres <- readIORef recordedResponses - case mres of - Just (next:rest) -> do - writeIORef recordedResponses (Just rest) - return (Just next) - _ -> return Nothing - - nextRecordedResponseRepresentation :: Name -> Maybe Int - nextRecordedResponseRepresentation nm = - case recordedResponsesRepresentation' of - Nothing -> Nothing - Just mres -> lookup nm mres - - pickIndex :: IO Int - pickIndex = do - let useStoredReprResponse = - case qType question of - ChooseRepr_Find nm -> Just nm - ChooseRepr_Given nm -> Just nm - ChooseRepr_Cut nm -> Just nm - _ -> Nothing - let storedReprResponse = - case useStoredReprResponse of - Just nm -> nextRecordedResponseRepresentation nm - Nothing -> Nothing - case storedReprResponse of - Just recorded -> do - putStrLn ("Response: " ++ show recorded) - unless (recorded >= 1 && recorded <= length options) $ - userErr1 $ vcat [ "Recorded response out of range." - , nest 4 $ "Expected a value between 1 and" <+> pretty (length options) - , nest 4 $ "But got: " <+> pretty recorded - ] - return recorded - Nothing -> do - mrecorded <- nextRecordedResponse - case mrecorded of - Just recorded -> do - putStrLn ("Response: " ++ show recorded) - unless (recorded >= 1 && recorded <= length options) $ - userErr1 $ vcat [ "Recorded response out of range." - , nest 4 $ "Expected a value between 1 and" <+> pretty (length options) - , nest 4 $ "But got: " <+> pretty recorded - ] - return recorded - Nothing -> do - putStr "Pick option: " - hFlush stdout - line <- getLine - case (line, readMay line) of - ("", _) -> return 1 - (_, Just lineInt) | lineInt >= 1 && lineInt <= length options -> return lineInt - (_, Nothing) -> do - putStrLn "Enter an integer value." - pickIndex - (_, Just _) -> do - print $ pretty $ "Enter a value between 1 and" <+> pretty (length options) - pickIndex - - pickedIndex <- pickIndex - let (pickedDescr, picked) = at options (pickedIndex - 1) - return [(pickedIndex, pickedDescr, picked)] - AtRandom -> do - let nbOptions = length options - pickedIndex <- liftIO $ randomRIO (1, nbOptions) - let (pickedDescr, picked) = at options (pickedIndex - 1) - logDebug ("Randomly picking option #" <> pretty pickedIndex <+> "out of" <+> pretty nbOptions) - return [(pickedIndex, pickedDescr, picked)] - Compact -> bug "executeStrategy: Compact" - - -executeAnswerStrategy :: (MonadIO m, MonadLog m) - => Config -> Question -> [(Doc, Answer)] -> Strategy -> m [(Int, Doc, Answer)] -executeAnswerStrategy _ _ [] _ = bug "executeStrategy: nothing to choose from" -executeAnswerStrategy _ _ [(doc, option)] (viewAuto -> (_, True)) = do - logDebug ("Picking the only option:" <+> doc) - return [(1, doc, option)] -executeAnswerStrategy _ question options st@(viewAuto -> (strategy, _)) = - case strategy of - Compact -> do - let (n,(doc,c)) = minimumBy (compactCompareAnswer `on` (snd . snd)) (zip [1..] options) - return [(n, doc, c)] - _ -> executeStrategy question options st - - -compactCompareAnswer :: Answer -> Answer -> Ordering -compactCompareAnswer = comparing (expressionDepth . aAnswer) - where - expressionDepth :: Data a => a -> Int - expressionDepth x = 1 + maximum (0 : map expressionDepth (children x)) - - -addToTrail - :: Config - -> Strategy -> Int -> Doc - -> Strategy -> Int -> Int -> Doc - -> Doc -> Expression -> Expression - -> ModelInfo -> ModelInfo -addToTrail Config{..} - questionStrategy questionNumber questionDescr - answerStrategy answerNumber answerNumbers answerDescr - ruleDescr oldExpr newExpr - oldInfo = newInfo - where - newInfo = oldInfo { miTrailCompact = (questionNumber, answerNumber, answerNumbers) - : miTrailCompact oldInfo - , miTrailVerbose = if verboseTrail - then theA : theQ : miTrailVerbose oldInfo - else [] - , miTrailRewrites = if rewritesTrail - then theRewrite : miTrailRewrites oldInfo - else [] - } - theQ = Decision - { dDescription = map (stringToText . renderWide) - $ ("Question #" <> pretty questionNumber) - : (" (Using strategy:" <+> pretty (show questionStrategy) <> ")") - : map pretty (lines (renderWide questionDescr)) - , dDecision = questionNumber - , dNumOptions = Nothing - } - theA = Decision - { dDescription = map (stringToText . renderWide) - $ ("Answer #" <> pretty answerNumber <+> "out of" <+> pretty (show answerNumbers)) - : (" (Using strategy:" <+> pretty (show answerStrategy) <> ")") - : map pretty (lines (renderWide answerDescr)) - , dDecision = answerNumber - , dNumOptions = Just answerNumbers - } - theRewrite = TrailRewrites - { trRule = stringToText $ renderWide ruleDescr - , trBefore = map stringToText $ lines $ renderWide $ pretty oldExpr - , trAfter = map stringToText $ lines $ renderWide $ pretty newExpr - } - - --- | Add a true-constraint, for every decision variable (whether it is used or not in the model) and --- for every parameter (that is not used in the model). --- A true-constraint has no effect, other than forcing Conjure to produce a representation. --- It can be used to make sure that a declaration doesn't get lost (if it isn't used anywhere in the model) --- It can also be used to produce "extra" representations (if it is used in the model) -addTrueConstraints :: Model -> Model -addTrueConstraints m = - let - mkTrueConstraint forg nm dom = Op $ MkOpTrue $ OpTrue (Reference nm (Just (DeclNoRepr forg nm dom NoRegion))) - trueConstraints = [ mkTrueConstraint forg nm d - | (Declaration (FindOrGiven forg nm d), after) <- withAfter (mStatements m) - , forg == Find || (forg == Given && nbUses nm after == 0) - ] - in - m { mStatements = mStatements m ++ [SuchThat trueConstraints] } - - -reverseTrails :: Model -> Model -reverseTrails m = - let - oldInfo = mInfo m - newInfo = oldInfo { miTrailCompact = reverse (miTrailCompact oldInfo) - , miTrailVerbose = reverse (miTrailVerbose oldInfo) - , miTrailRewrites = reverse (miTrailRewrites oldInfo) - } - in - m { mInfo = newInfo } - - -oneSuchThat :: Model -> Model -oneSuchThat m = m { mStatements = onStatements (mStatements m) - |> nubBy ((==) `on` normaliseQuantifiedVariablesS) } - - where - - onStatements :: [Statement] -> [Statement] - onStatements xs = - let - (suchThats0, objectives, others) = xs |> map collect |> mconcat - suchThats = suchThats0 - |> map breakConjunctions -- break top level /\'s - |> mconcat - |> filter (/= Constant (ConstantBool True)) -- remove top level true's - |> nubBy ((==) `on` normaliseQuantifiedVariablesE) -- uniq - in - others ++ objectives ++ [SuchThat (combine suchThats)] - - collect :: Statement -> ( [Expression] -- SuchThats - , [Statement] -- Objectives - , [Statement] -- other statements - ) - collect (SuchThat s) = (s, [], []) - collect s@Objective{} = ([], [s], []) - collect s = ([], [], [s]) - - combine :: [Expression] -> [Expression] - combine xs = if null xs - then [Constant (ConstantBool True)] - else xs - - breakConjunctions :: Expression -> [Expression] - breakConjunctions p@(Op (MkOpAnd (OpAnd x))) = - case listOut x of - Nothing -> [p] -- doesn't contain a list - Just xs -> concatMap breakConjunctions xs - breakConjunctions x = [x] - - -emptyMatrixLiterals :: Model -> Model -emptyMatrixLiterals model = - let - f (TypeList ty) = TypeMatrix (TypeInt TagInt) ty - f x = x - in - model { mStatements = mStatements model |> transformBi f } - - --- | Add a default search order (branching on [...]) --- to include all the primary variables and none of the aux variables that will potentailly be generated by Conjure. --- Do not change the model if it already contains a SearchOrder in it. -addSearchOrder :: Model -> Model -addSearchOrder model - | let hasSearchOrder = not $ null [ () | SearchOrder{} <- mStatements model ] - , hasSearchOrder = model - | otherwise = - let finds = [ nm | Declaration (FindOrGiven Find nm _domain) <- mStatements model ] - in model { mStatements = mStatements model ++ [SearchOrder (map BranchingOn finds)] } - - -inlineDecVarLettings :: Model -> Model -inlineDecVarLettings model = - let - inline p@(Reference nm _) = do - x <- gets (lookup nm) - return (fromMaybe p x) - inline p = return p - - statements = catMaybes - $ flip evalState [] - $ forM (mStatements model) - $ \ st -> - case st of - Declaration (Letting nm x) - | categoryOf x == CatDecision - -> modify ((nm,x) :) >> return Nothing - -- The following doesn't work when the identifier is used in a domain - -- Declaration (Letting nm x@Reference{}) - -- -> modify ((nm,x) :) >> return Nothing - _ -> Just <$> transformBiM inline st - in - model { mStatements = statements } - -flattenLex :: MonadFail m - => NameGen m - => (?typeCheckerMode :: TypeCheckerMode) - => Model -> m Model -flattenLex m = do - let - flatten a = do - ta <- typeOf a - case ta of - TypeBool -> return [essence| [-toInt(&a)] |] - TypeInt{} -> return [essence| [&a] |] - TypeList TypeInt{} -> return a - TypeMatrix TypeInt{} TypeInt{} -> return a - _ -> - case a of - AbstractLiteral x -> do - case x of - AbsLitTuple xs -> do - fxs <- sequence (flatten <$> xs) - let flatxs = fromList fxs - return [essence| flatten(&flatxs) |] - AbsLitMatrix _ xs -> do - fxs <- sequence (flatten <$> xs) - let flatxs = fromList fxs - return [essence| flatten(&flatxs) |] - _ -> bug $ "epilogue: flattenLex: isn't defined for this abslit fellow..." - <+> vcat [pretty a, pretty ta, stringToDoc $ show a] - Constant c -> - case c of - ConstantAbstract ca -> - case ca of - AbsLitTuple xs -> do - fxs <- sequence (flatten <$> (Constant <$> xs)) - let flatxs = fromList fxs - return [essence| flatten(&flatxs) |] - AbsLitMatrix _ xs -> do - fxs <- sequence (flatten <$> (Constant <$> xs)) - let flatxs = fromList fxs - return [essence| flatten(&flatxs) |] - _ -> bug $ "epilogue: flattenLex: isn't defined for this fellow..." - <+> vcat [pretty a, pretty ta, stringToDoc $ show a] - TypedConstant tc _ -> flatten (Constant tc) - _ -> bug $ "epilogue: flattenLex: isn't defined for this constant fellow." - <+> vcat [pretty a, pretty ta, stringToDoc $ show a] --- Op op -> do --- case op of --- MkOpIndexing (OpIndexing m i) -> --- bug $ "epilogue: flattenLex: flatten not defined for this indexed fellow." --- <+> vcat [stringToDoc (show a) --- ,"fellow:" <+> stringToDoc (show m) --- ,"index:" <+> stringToDoc (show i)] - Reference nm ex -> - bug $ "epilogue: flattenLex: flatten not defined for this referenced fellow." - <+> vcat [stringToDoc (show a) - ,"reference:" <+> stringToDoc (show nm) - ,"fellow:" <+> stringToDoc (show ex)] - Comprehension body gocs -> do - fbody <- flatten body - let comp = Comprehension fbody gocs --- return [essence| flatten(&comp) |] - return [essence| &comp |] - _ -> bug $ "epilogue: flattenLex: isn't defined for this expression fellow..." - <+> vcat [pretty a, pretty ta, stringToDoc $ show a] - - - flattener [essence| &a - (?typeCheckerMode :: TypeCheckerMode) => - Model -> m Model -dropTagForSR m = do - let - replacePredSucc [essence| pred(&x) |] = do - ty <- typeOf x - case ty of - TypeBool{} -> return [essence| false |] - -- since True becomes False - -- False becomes out-of-bounds, hence False - TypeInt{} -> do - let xTagInt = reTag TagInt x - return [essence| &xTagInt - 1 |] - _ -> bug "predSucc" - replacePredSucc [essence| succ(&x) |] = do - ty <- typeOf x - case ty of - TypeBool{} -> return [essence| !&x |] - -- since False becomes True - -- True becomes out-of-bounds, hence False - -- "succ" is exactly "negate" on bools - TypeInt{} -> do - let xTagInt = reTag TagInt x - return [essence| &xTagInt + 1 |] - _ -> bug "predSucc" - -- replacePredSucc [essence| &a .< &b |] = return [essence| &a < &b |] - -- replacePredSucc [essence| &a .<= &b |] = return [essence| &a <= &b |] - replacePredSucc x = return x - - st <- transformBiM replacePredSucc (mStatements m) - return m { mStatements = transformBi (\ _ -> TagInt) st } - - -updateDeclarations :: - MonadUserError m => - MonadFail m => - NameGen m => - EnumerateDomain m => - (?typeCheckerMode :: TypeCheckerMode) => - Model -> m Model -updateDeclarations model = do - let - representations = model |> mInfo |> miRepresentations - - onEachStatement (inStatement, afters) = - case inStatement of - Declaration (FindOrGiven forg nm _) -> do - let - -- the refined domains for the high level declaration - domains = [ d | (n, d) <- representations, n == nm ] - nub <$> concatMapM (onEachDomain forg nm) domains - Declaration (GivenDomainDefnEnum name) -> return - [ Declaration (FindOrGiven Given (name `mappend` "_EnumSize") (DomainInt TagInt [])) ] - Declaration (Letting nm x) -> do - let usedAfter = nbUses nm afters > 0 - let isRefined = (0 :: Int) == sum - [ case y of - Constant (ConstantAbstract AbsLitMatrix{}) -> 0 - Constant ConstantAbstract{} -> 1 - AbstractLiteral AbsLitMatrix{} -> 0 - AbstractLiteral{} -> 1 - _ -> 0 - | y <- universe x ] - return [inStatement | and [usedAfter, isRefined]] - Declaration LettingDomainDefnEnum{} -> return [] - Declaration LettingDomainDefnUnnamed{} -> return [] - SearchOrder orders -> do - orders' <- forM orders $ \case - BranchingOn nm -> do - let domains = [ d | (n, d) <- representations, n == nm ] - -- last one is the representation of what's in true(?) - -- put that first! - let reorder xs = - case reverse xs of - [] -> [] - (y:ys) -> y : reverse ys - outNames <- concatMapM (onEachDomainSearch nm) (reorder domains) - return $ map BranchingOn $ nub outNames - Cut{} -> bug "updateDeclarations, Cut shouldn't be here" - return [ SearchOrder (concat orders') ] - _ -> return [inStatement] - - onEachDomain forg nm domain = - runExceptT (downD (nm, domain)) >>= \case - Left err -> bug err - Right outs -> forM outs $ \ (n, d) -> do - d' <- transformBiM (trySimplify []) $ forgetRepr d - return $ Declaration (FindOrGiven forg n d') - - onEachDomainSearch nm domain = - runExceptT (downD (nm, domain)) >>= \case - Left err -> bug err - Right outs -> return [ n - | (n, _) <- outs - ] - - statements <- concatMapM onEachStatement (withAfter (mStatements model)) - return model { mStatements = statements } - - --- | checking whether any `Reference`s with `DeclHasRepr`s are left in the model -checkIfAllRefined :: MonadFail m => Model -> m Model -checkIfAllRefined m | Just modelZipper <- mkModelZipper m = do -- we exclude the mInfo here - let returnMsg x = return - $ "" - : ("Not refined:" <+> pretty (hole x)) - <+> stringToDoc(show (hole x)) - : [ nest 4 ("Context #" <> pretty i <> ":" <+> pretty c) - | (i, c) <- zip allNats (tail (ascendants x)) - ] - - fails <- fmap (nub . concat) $ forM (allContextsExceptReferences modelZipper) $ \ x -> - case hole x of - Reference _ (Just (DeclHasRepr _ _ dom)) - | not (isPrimitiveDomain dom) -> - return $ "" - : ("Not refined:" <+> pretty (hole x)) - <+> stringToDoc(show (hole x)) - : ("Domain :" <+> pretty dom) - : [ nest 4 ("Context #" <> pretty i <> ":" <+> pretty c) - | (i, c) <- zip allNats (tail (ascendants x)) - ] - Constant (ConstantAbstract AbsLitMatrix{}) -> return [] - Constant ConstantAbstract{} -> returnMsg x - AbstractLiteral AbsLitMatrix{} -> return [] - AbstractLiteral{} -> returnMsg x - WithLocals{} -> returnMsg x - Comprehension _ stmts -> do - decisionConditions <- - fmap catMaybes $ forM stmts $ \ stmt -> case stmt of - Condition c -> - if categoryOf c >= CatDecision - then return (Just c) - else return Nothing - _ -> return Nothing - comprehensionLettings <- - fmap catMaybes $ forM stmts $ \ stmt -> case stmt of - ComprehensionLetting{} -> return (Just stmt) - _ -> return Nothing - unsupportedGenerator <- - fmap catMaybes $ forM stmts $ \ stmt -> case stmt of - Generator GenInExpr{} -> return (Just stmt) - _ -> return Nothing - let msgs = [ "decision expressions as conditions" - | not (null decisionConditions) ] - ++ [ "local lettings" - | not (null comprehensionLettings) ] - ++ [ "unsupported generators" - | not (null unsupportedGenerator) ] - let msg = "Comprehension contains" <+> prettyListDoc id "," msgs <> "." - case msgs of - [] -> return [] - _ -> return $ [ msg ] - ++ [ nest 4 (pretty (hole x)) ] - ++ [ nest 4 ("Context #" <> pretty i <> ":" <+> pretty c) - | (i, c) <- zip allNats (tail (ascendants x)) - ] - [essence| &_ .< &_ |] -> - return ["", ("Not refined:" <+> pretty (hole x)) - <+> stringToDoc(show (hole x))] - [essence| &_ .<= &_ |] -> - return ["", ("Not refined:" <+> pretty (hole x)) - <+> stringToDoc(show (hole x))] - _ -> return [] - unless (null fails) (bug (vcat fails)) - return m -checkIfAllRefined m = return m - - --- | checking whether any undefined values creeped into the final model -checkIfHasUndefined :: MonadFail m => Model -> m Model -checkIfHasUndefined m | Just modelZipper <- mkModelZipper m = do - let returnMsg x = return - $ "" - : ("Undefined value in the final model:" <+> pretty (hole x)) - : [ nest 4 ("Context #" <> pretty i <> ":" <+> pretty c) - | (i, c) <- zip allNats (tail (ascendants x)) - ] - - fails <- fmap concat $ forM (allContextsExceptReferences modelZipper) $ \ x -> - case hole x of - Constant ConstantUndefined{} -> returnMsg x - _ -> return [] - unless (null fails) (bug (vcat fails)) - return m -checkIfHasUndefined m = return m - - -topLevelBubbles :: - MonadFail m => - MonadUserError m => - NameGen m => - (?typeCheckerMode :: TypeCheckerMode) => - Model -> m Model -topLevelBubbles m = do - let - onStmt (SuchThat xs) = onExprs xs - onStmt (Where xs) = concatMapM onWheres xs - onStmt (Objective obj (WithLocals h locals)) = - case locals of - AuxiliaryVars locs -> ( locs ++ [Objective obj h] ) |> onStmts - DefinednessConstraints locs -> ( [SuchThat locs] ++ [Objective obj h] ) |> onStmts - onStmt (Declaration decl) = - let - f (WithLocals h locs) = tell [locs] >> return h - f x = return x - - (decl', locals) = runWriter (transformBiM f decl) - - conv :: InBubble -> [Statement] - conv (AuxiliaryVars locs) = locs - conv (DefinednessConstraints locs) = [SuchThat locs] - - newStmts :: [Statement] - newStmts = concatMap conv locals - in - if null newStmts - then return [Declaration decl] - else onStmts (newStmts ++ [Declaration decl']) - onStmt s = return [s] - - -- a where that has a bubble at the top-most level will be replaced - -- with a Comprehension. this is to avoid creating a where with decision variables inside. - onWheres (WithLocals h (DefinednessConstraints locals)) = - return $ map (Where . return) (locals ++ [h]) - onWheres (WithLocals h (AuxiliaryVars locals)) = do - let (localfinds, gens) = mconcat - [ case local of - Declaration (FindOrGiven LocalFind nm dom) -> - ([nm], [Generator (GenDomainNoRepr (Single nm) dom)]) - SuchThat xs -> - ([], map Condition xs) - _ -> bug ("topLevelBubbles.onWheres:" <+> pretty local) - | local <- locals - ] - let forgetReprsOfLocalFinds (Reference nm _) | nm `elem` localfinds = Reference nm Nothing - forgetReprsOfLocalFinds x = descend forgetReprsOfLocalFinds x - let out = Comprehension h gens - out' <- resolveNamesX (forgetReprsOfLocalFinds out) - return [Where [out']] - onWheres x = return [Where [x]] - - onExpr (WithLocals h (AuxiliaryVars locals)) = ( locals ++ [SuchThat [h]]) |> onStmts - onExpr (WithLocals h (DefinednessConstraints locals)) = ([SuchThat locals] ++ [SuchThat [h]]) |> onStmts - onExpr x = return [SuchThat [x]] - - onStmts = concatMapM onStmt - onExprs = concatMapM onExpr - - statements' <- onStmts (mStatements m) - return m { mStatements = statements' } - - -sliceThemMatrices :: - Monad m => - (?typeCheckerMode :: TypeCheckerMode) => - Model -> m Model -sliceThemMatrices model = do - let - -- nothing stays with a matrix type - -- we are doing this top down - -- when we reach a matrix-typed expression, we know it needs to be sliced - -- we descend otherwise - -- we also descend into components of the matrix-typed expression during slicing - onExpr :: Monad m => Expression -> m Expression - onExpr p = do - let computeExistingSlices t = - case match opSlicing t of - Nothing -> return 0 - Just (t', _, _) -> (+1) <$> computeExistingSlices t' - let isIndexedMatrix = do - (m, is) <- match opMatrixIndexing p - tyM <- typeOf m - nSlices <- computeExistingSlices m - return (m, nSlices, is, tyM) - case isIndexedMatrix of - Nothing -> descendM onExpr p - Just (m, existingSlices, is, tyM) -> do - let nestingLevel (TypeMatrix _ a) = 1 + nestingLevel a - nestingLevel (TypeList a) = 1 + nestingLevel a - nestingLevel _ = 0 :: Int - -- "is" is the number of existing indices - -- "nestingLevel" is the nesting level of the original matrix - -- "existingSlices" is the number of existing slices - let howMany = nestingLevel tyM - existingSlices - length is - let unroll a 0 = a - unroll a i = make opSlicing (unroll a (i-1)) Nothing Nothing - m' <- descendM onExpr m - is' <- mapM onExpr is - let p' = make opMatrixIndexing m' is' - return $ unroll p' howMany - - statements <- descendBiM onExpr (mStatements model) - return model { mStatements = statements } - - -removeExtraSlices :: Monad m => Model -> m Model -removeExtraSlices model = do - let - -- a slice at the end of a chain of slices & indexings - -- does no good in Essence and should be removed - onExpr :: Monad m => Expression -> m Expression - onExpr (match opSlicing -> Just (m,_,_)) = onExpr m - onExpr p@(match opIndexing -> Just _) = return p - onExpr p = descendM onExpr p - - statements <- descendBiM onExpr (mStatements model) - return model { mStatements = statements } - - -lexSingletons :: (?typeCheckerMode :: TypeCheckerMode) - => Monad m - => Model -> m Model -lexSingletons model = do - let onExpr :: (?typeCheckerMode :: TypeCheckerMode) - => Monad m => Expression -> m Expression - onExpr [essence| &l return [essence| &l return [essence| &ls < &rs |] - _ -> bug $ "lexSingleton: match inconsistent" - onExpr [essence| &l <=lex &r |] = - case (matchSingleton l, matchSingleton r) of - (Nothing, Nothing) -> return [essence| &l <=lex &r |] - (Just ls, Just rs) -> return [essence| &ls <= &rs |] - _ -> bug $ "lexSingleton: match inconsistent" - onExpr x = return x - matchSingleton :: (?typeCheckerMode :: TypeCheckerMode) - => Expression -> Maybe Expression - matchSingleton (match matrixLiteral -> Just (TypeMatrix _ TypeInt{},_,[s])) = - Just s - matchSingleton _ = Nothing - statements <- transformBiM onExpr (mStatements model) - return model { mStatements = statements } - - -logDebugIdModel :: MonadLog m => Doc -> Model -> m Model -logDebugIdModel msg a = logDebug (msg <++> pretty (a {mInfo = def})) >> return a - -prologue :: - MonadFail m => - MonadLog m => - NameGen m => - EnumerateDomain m => - (?typeCheckerMode :: TypeCheckerMode) => - Config -> - Model -> - m Model -prologue config model = do - void $ typeCheckModel_StandAlone model - return model >>= logDebugIdModel "[input]" - >>= enforceTagConsistency >>= logDebugIdModel "[enforceTagConsistency]" - >>= return . addSearchOrder >>= logDebugIdModel "[addSearchOrder]" - >>= attributeAsConstraints >>= logDebugIdModel "[attributeAsConstraints]" - >>= inferAttributes >>= logDebugIdModel "[inferAttributes]" - >>= inlineLettingDomainsForDecls >>= logDebugIdModel "[inlineLettingDomainsForDecls]" - >>= lettingsForComplexInDoms >>= logDebugIdModel "[lettingsForComplexInDoms]" - >>= distinctQuantifiedVars >>= logDebugIdModel "[distinctQuantifiedVars]" - >>= return . initInfo >>= logDebugIdModel "[initInfo]" - >>= addUnnamedSymmetryBreaking (unnamedSymmetryBreaking config) - >>= logDebugIdModel "[addUnnamedSymmetryBreaking]" - >>= removeUnnamedsFromModel >>= logDebugIdModel "[removeUnnamedsFromModel]" - >>= removeEnumsFromModel >>= logDebugIdModel "[removeEnumsFromModel]" - >>= finiteGivens >>= logDebugIdModel "[finiteGivens]" - >>= renameQuantifiedVarsToAvoidShadowing - >>= logDebugIdModel "[renameQuantifiedVarsToAvoidShadowing]" - >>= resolveNames >>= logDebugIdModel "[resolveNames]" - >>= return . initInfo_Lettings >>= logDebugIdModel "[initInfo_Lettings]" - >>= removeDomainLettings >>= logDebugIdModel "[removeDomainLettings]" - >>= (let ?typeCheckerMode = RelaxedIntegerTags in typeCheckModel) - >>= logDebugIdModel "[typeCheckModel]" - >>= categoryChecking >>= logDebugIdModel "[categoryChecking]" - >>= sanityChecks >>= logDebugIdModel "[sanityChecks]" - >>= dealWithCuts >>= logDebugIdModel "[dealWithCuts]" - >>= removeExtraSlices >>= logDebugIdModel "[removeExtraSlices]" - >>= return . addTrueConstraints >>= logDebugIdModel "[addTrueConstraints]" - >>= enforceTagConsistency >>= logDebugIdModel "[enforceTagConsistency]" - - -epilogue :: - MonadFail m => - MonadLog m => - NameGen m => - EnumerateDomain m => - (?typeCheckerMode :: TypeCheckerMode) => - Model -> m Model -epilogue model = return model - >>= logDebugIdModel "[epilogue]" -<<<<<<< HEAD - >>= flattenLex >>= logDebugIdModel "[flattenLex]" - >>= dropTagForSR >>= logDebugIdModel "[dropTagForSR]" -======= - >>= lexSingletons >>= logDebugIdModel "[lexSingletons]" ->>>>>>> master - >>= updateDeclarations >>= logDebugIdModel "[updateDeclarations]" - >>= return . inlineDecVarLettings >>= logDebugIdModel "[inlineDecVarLettings]" - >>= topLevelBubbles >>= logDebugIdModel "[topLevelBubbles]" - >>= checkIfAllRefined >>= logDebugIdModel "[checkIfAllRefined]" - >>= checkIfHasUndefined >>= logDebugIdModel "[checkIfHasUndefined]" - >>= sliceThemMatrices >>= logDebugIdModel "[sliceThemMatrices]" - >>= dropTagForSR >>= logDebugIdModel "[dropTagForSR]" - >>= return . emptyMatrixLiterals >>= logDebugIdModel "[emptyMatrixLiterals]" - >>= return . reverseTrails >>= logDebugIdModel "[reverseTrails]" - >>= return . oneSuchThat >>= logDebugIdModel "[oneSuchThat]" - >>= return . languageEprime >>= logDebugIdModel "[languageEprime]" - - -applicableRules :: forall m n . - MonadUserError n => - MonadLog n => - NameGen n => - EnumerateDomain n => - MonadUserError m => - MonadLog m => - NameGen m => - EnumerateDomain m => - MonadFail m => - (?typeCheckerMode :: TypeCheckerMode) => - Config -> - [Rule] -> - ModelZipper -> - n [(Doc, RuleResult m)] -applicableRules Config{..} rulesAtLevel x = do - let logAttempt = if logRuleAttempts then logInfo else const (return ()) - let logFail = if logRuleFails then logInfo else const (return ()) - let logSuccess = if logRuleSuccesses then logInfo else const (return ()) - - mys <- sequence [ do logAttempt ("attempting rule" <+> rName r <+> "on" <+> pretty (hole x)) - applied <- runExceptT $ runReaderT (rApply r x (hole x)) x - return (rName r, applied) - | r <- rulesAtLevel ] - forM_ mys $ \ (rule, my) -> - case my of - Left failed -> unless ("N/A" `isPrefixOf` show failed) $ logFail $ vcat - [ " rule failed:" <+> rule - , " on:" <+> pretty (hole x) - , " message:" <+> failed - ] - Right ys -> logSuccess $ vcat - [ "rule applied:" <+> rule - , " on:" <+> pretty (hole x) - , " message:" <+> vcat (map ruleResultDescr ys) - ] - return [ (name, res {ruleResult = ruleResult'}) - | (name, Right ress) <- mys - , res <- ress - , let ruleResult' = do - rResult <- ruleResult res - case (hole x, rResult) of - (Reference nm1 _, Reference nm2 _) - | name /= "choose-repr" - , nm1 == nm2 -> bug $ vcat - [ "Rule applied inside a Reference." - , "Rule :" <+> pretty name - , "Rule input :" <+> pretty (hole x) - , "Rule output :" <+> pretty rResult - , "Rule input (show):" <+> pretty (show (hole x)) - , "Rule output (show):" <+> pretty (show rResult) - ] - _ -> return () - merr <- runExceptT (resolveNamesX rResult) - case merr of - Left err -> bug $ vcat - [ "Name resolution failed after rule application." - , "Rule :" <+> pretty name - , "Rule input :" <+> pretty (hole x) - , "Rule output :" <+> pretty rResult - , "Rule input (show):" <+> pretty (show (hole x)) - , "Rule output (show):" <+> pretty (show rResult) - , "The error :" <+> err - ] - Right r -> return r - ] - - -allRules :: (?typeCheckerMode :: TypeCheckerMode) => Config -> [[Rule]] -allRules config = - [ Transform.rules_Transform - , [ rule_FullEvaluate - ] - , [ rule_PartialEvaluate - ] - ] ++ paramRules ++ - [ [ rule_ChooseRepr config - , rule_ChooseReprForComprehension config - , rule_ChooseReprForLocals config - ] - , bubbleUpRules - , [ rule_Eq - , rule_Neq - , rule_Comprehension_Cardinality - , rule_Flatten_Cardinality - ] - , verticalRules - , horizontalRules - ] ++ otherRules - ++ delayedRules - - --- | For information that can be readily pulled out from parameters. --- Some things are easier when everything involved is a param. --- These rules aren't necessary for correctness, but they can help remove some verbose expressions from the output. --- Make Savile Row happier so it makes us happier. :) -paramRules :: [[Rule]] -paramRules = - [ [ Horizontal.Set.rule_Param_MinOfSet - , Horizontal.Set.rule_Param_MaxOfSet - , Horizontal.Set.rule_Param_Card - ] - , [ Horizontal.Function.rule_Param_DefinedRange - , Horizontal.Relation.rule_Param_Card - ] - ] - -verticalRules :: [Rule] -verticalRules = - [ Vertical.Permutation.rule_Image - , Vertical.Permutation.rule_Cardinality - , Vertical.Permutation.rule_Defined - , Vertical.Permutation.rule_Comprehension - - - , Vertical.Tuple.rule_Tuple_Eq - , Vertical.Tuple.rule_Tuple_Neq - , Vertical.Tuple.rule_Tuple_Leq - , Vertical.Tuple.rule_Tuple_Lt - , Vertical.Tuple.rule_Tuple_TildeLeq - , Vertical.Tuple.rule_Tuple_TildeLt - , Vertical.Tuple.rule_Tuple_Index - - - - , Vertical.Record.rule_Record_Eq - , Vertical.Record.rule_Record_Neq - , Vertical.Record.rule_Record_Leq - , Vertical.Record.rule_Record_Lt - , Vertical.Record.rule_Record_Index - - , Vertical.Variant.rule_Variant_Eq - , Vertical.Variant.rule_Variant_Neq - , Vertical.Variant.rule_Variant_Leq - , Vertical.Variant.rule_Variant_Lt - , Vertical.Variant.rule_Variant_Index - , Vertical.Variant.rule_Variant_Active - - , Vertical.Matrix.rule_Comprehension_Literal - , Vertical.Matrix.rule_Comprehension - , Vertical.Matrix.rule_Comprehension_Flatten - , Vertical.Matrix.rule_ModifierAroundIndexedMatrixLiteral - , Vertical.Matrix.rule_Comprehension_LiteralIndexed - , Vertical.Matrix.rule_Comprehension_Nested - , Vertical.Matrix.rule_Comprehension_Hist - , Vertical.Matrix.rule_Comprehension_ToSet_Matrix - , Vertical.Matrix.rule_Comprehension_ToSet_List - , Vertical.Matrix.rule_Comprehension_ToSet_List_DuplicateFree - , Vertical.Matrix.rule_Matrix_Eq - , Vertical.Matrix.rule_Matrix_Neq - , Vertical.Matrix.rule_Matrix_Leq_Primitive - , Vertical.Matrix.rule_Matrix_Leq_Decompose - , Vertical.Matrix.rule_Matrix_Lt_Primitive - , Vertical.Matrix.rule_Matrix_Lt_Decompose - , Vertical.Matrix.rule_IndexingIdentical - , Vertical.Matrix.rule_ExpandSlices - - , Vertical.Set.Explicit.rule_Min - , Vertical.Set.Explicit.rule_Max - , Vertical.Set.Explicit.rule_Card - , Vertical.Set.Explicit.rule_Comprehension - , Vertical.Set.Explicit.rule_PowerSet_Comprehension - , Vertical.Set.ExplicitVarSizeWithDummy.rule_Comprehension - , Vertical.Set.ExplicitVarSizeWithDummy.rule_PowerSet_Comprehension - , Vertical.Set.ExplicitVarSizeWithFlags.rule_Comprehension - , Vertical.Set.ExplicitVarSizeWithFlags.rule_PowerSet_Comprehension - , Vertical.Set.ExplicitVarSizeWithMarker.rule_Card - , Vertical.Set.ExplicitVarSizeWithMarker.rule_Comprehension - , Vertical.Set.ExplicitVarSizeWithMarker.rule_PowerSet_Comprehension - , Vertical.Set.Occurrence.rule_Comprehension - , Vertical.Set.Occurrence.rule_PowerSet_Comprehension - , Vertical.Set.Occurrence.rule_In - - , Vertical.MSet.Occurrence.rule_Comprehension - , Vertical.MSet.Occurrence.rule_Freq - - , Vertical.MSet.ExplicitWithFlags.rule_Comprehension - , Vertical.MSet.ExplicitWithFlags.rule_Freq - - , Vertical.MSet.ExplicitWithRepetition.rule_Comprehension - - , Vertical.Function.Function1D.rule_Comprehension - , Vertical.Function.Function1D.rule_Comprehension_Defined - , Vertical.Function.Function1D.rule_Image - - , Vertical.Function.Function1DPartial.rule_Comprehension - , Vertical.Function.Function1DPartial.rule_PowerSet_Comprehension - , Vertical.Function.Function1DPartial.rule_Image_NotABool - , Vertical.Function.Function1DPartial.rule_Image_Bool - , Vertical.Function.Function1DPartial.rule_InDefined - , Vertical.Function.Function1DPartial.rule_DefinedEqDefined - - , Vertical.Function.FunctionND.rule_Comprehension - , Vertical.Function.FunctionND.rule_Comprehension_Defined - , Vertical.Function.FunctionND.rule_Image - - , Vertical.Function.FunctionNDPartial.rule_Comprehension - , Vertical.Function.FunctionNDPartial.rule_Image_NotABool - , Vertical.Function.FunctionNDPartial.rule_Image_Bool - , Vertical.Function.FunctionNDPartial.rule_InDefined - - , Vertical.Function.FunctionAsRelation.rule_Comprehension - , Vertical.Function.FunctionAsRelation.rule_Image_Eq - - , Vertical.Sequence.ExplicitBounded.rule_Comprehension - , Vertical.Sequence.ExplicitBounded.rule_Card - , Vertical.Sequence.ExplicitBounded.rule_Image_Bool - , Vertical.Sequence.ExplicitBounded.rule_Image_NotABool - , Vertical.Sequence.ExplicitBounded.rule_Leq - , Vertical.Sequence.ExplicitBounded.rule_Lt - - , Vertical.Relation.RelationAsMatrix.rule_Comprehension - , Vertical.Relation.RelationAsMatrix.rule_Image - - , Vertical.Relation.RelationAsSet.rule_Comprehension - , Vertical.Relation.RelationAsSet.rule_Card - - , Vertical.Partition.PartitionAsSet.rule_Comprehension - , Vertical.Partition.Occurrence.rule_Comprehension - - ] - -horizontalRules :: [Rule] -horizontalRules = - [ Horizontal.Permutation.rule_Cardinality_Literal - , Horizontal.Permutation.rule_Equality - , Horizontal.Permutation.rule_Comprehension - , Horizontal.Permutation.rule_Compose_Image - , Horizontal.Permutation.rule_Image_Matrix_Indexing - , Horizontal.Permutation.rule_Image_Comprehension --- , Horizontal.Permutation.rule_Image_Matrix_Indexing_Comprehension --- , Horizontal.Permutation.rule_Compose - , Horizontal.Permutation.rule_Image_Partition - , Horizontal.Permutation.rule_Image_Sequence - , Horizontal.Permutation.rule_Image_Sequence_Defined - , Horizontal.Permutation.rule_In - , Horizontal.Permutation.rule_Permutation_Inverse - , Horizontal.Permutation.rule_Image_Comprehendable - , Horizontal.Permutation.rule_Image_Incomprehendable - , Horizontal.Permutation.rule_Image_Literal - - - , Horizontal.Set.rule_Comprehension_Literal - , Horizontal.Set.rule_Eq - , Horizontal.Set.rule_Neq - , Horizontal.Set.rule_Subset - , Horizontal.Set.rule_SubsetEq - , Horizontal.Set.rule_Supset - , Horizontal.Set.rule_SupsetEq - , Horizontal.Set.rule_In - , Horizontal.Set.rule_Card - , Horizontal.Set.rule_CardViaFreq - , Horizontal.Set.rule_Intersect - , Horizontal.Set.rule_Union - , Horizontal.Set.rule_Difference - , Horizontal.Set.rule_PowerSet_Comprehension - , Horizontal.Set.rule_PowerSet_Difference - , Horizontal.Set.rule_MaxMin - - , Horizontal.MSet.rule_Comprehension_Literal - , Horizontal.MSet.rule_Comprehension_ToSet_Literal - , Horizontal.MSet.rule_Eq - , Horizontal.MSet.rule_Neq - , Horizontal.MSet.rule_Subset - , Horizontal.MSet.rule_SubsetEq - , Horizontal.MSet.rule_Supset - , Horizontal.MSet.rule_SupsetEq - , Horizontal.MSet.rule_Freq - , Horizontal.MSet.rule_In - , Horizontal.MSet.rule_Card - , Horizontal.MSet.rule_MaxMin - - , Horizontal.Function.rule_Comprehension_Literal - , Horizontal.Function.rule_Image_Bool - , Horizontal.Function.rule_Image_BoolMatrixIndexed - , Horizontal.Function.rule_Image_BoolTupleIndexed - , Horizontal.Function.rule_Image_Int - , Horizontal.Function.rule_Image_IntMatrixIndexed - , Horizontal.Function.rule_Image_IntTupleIndexed - , Horizontal.Function.rule_Image_Matrix_LexLhs - , Horizontal.Function.rule_Image_Matrix_LexRhs - - , Horizontal.Function.rule_Comprehension_Image - , Horizontal.Function.rule_Comprehension_ImageSet - , Horizontal.Function.rule_Eq - , Horizontal.Function.rule_Neq - , Horizontal.Function.rule_Subset - , Horizontal.Function.rule_SubsetEq - , Horizontal.Function.rule_Supset - , Horizontal.Function.rule_SupsetEq - , Horizontal.Function.rule_Inverse - , Horizontal.Function.rule_Card - , Horizontal.Function.rule_Comprehension_PreImage - , Horizontal.Function.rule_Comprehension_Defined - , Horizontal.Function.rule_Comprehension_Range - , Horizontal.Function.rule_In - , Horizontal.Function.rule_Restrict_Image - , Horizontal.Function.rule_Restrict_Comprehension - , Horizontal.Function.rule_Comprehension_Defined_Size - , Horizontal.Function.rule_Comprehension_Range_Size - , Horizontal.Function.rule_Defined_Intersect - , Horizontal.Function.rule_DefinedOrRange_Union - , Horizontal.Function.rule_DefinedOrRange_Difference - - , Horizontal.Sequence.rule_Comprehension_Literal - , Horizontal.Sequence.rule_Image_Bool - , Horizontal.Sequence.rule_Image_Int - , Horizontal.Sequence.rule_Comprehension_Image - , Horizontal.Sequence.rule_Image_Literal_Bool - , Horizontal.Sequence.rule_Image_Literal_Int - , Horizontal.Sequence.rule_Eq_Literal - , Horizontal.Sequence.rule_Eq - , Horizontal.Sequence.rule_Eq_Comprehension - , Horizontal.Sequence.rule_Neq - , Horizontal.Sequence.rule_Subset - , Horizontal.Sequence.rule_SubsetEq - , Horizontal.Sequence.rule_Supset - , Horizontal.Sequence.rule_SupsetEq - , Horizontal.Sequence.rule_Card - , Horizontal.Sequence.rule_Comprehension_PreImage - , Horizontal.Sequence.rule_Comprehension_Defined - , Horizontal.Sequence.rule_Comprehension_Range - , Horizontal.Sequence.rule_In - , Horizontal.Sequence.rule_Restrict_Image - , Horizontal.Sequence.rule_Restrict_Comprehension - , Horizontal.Sequence.rule_Substring - , Horizontal.Sequence.rule_Subsequence - - , Horizontal.Relation.rule_Comprehension_Literal - , Horizontal.Relation.rule_Comprehension_Projection - , Horizontal.Relation.rule_PowerSet_Comprehension - , Horizontal.Relation.rule_Image - , Horizontal.Relation.rule_In - , Horizontal.Relation.rule_Eq - , Horizontal.Relation.rule_Neq - , Horizontal.Relation.rule_Subset - , Horizontal.Relation.rule_SubsetEq - , Horizontal.Relation.rule_Supset - , Horizontal.Relation.rule_SupsetEq - , Horizontal.Relation.rule_Card - - , Horizontal.Partition.rule_Comprehension_Literal - , Horizontal.Partition.rule_Eq - , Horizontal.Partition.rule_Neq - , Horizontal.Partition.rule_Together - , Horizontal.Partition.rule_Apart - , Horizontal.Partition.rule_Party - , Horizontal.Partition.rule_Participants - , Horizontal.Partition.rule_Card - , Horizontal.Partition.rule_In - - - ] - - -bubbleUpRules :: [Rule] -bubbleUpRules = - [ BubbleUp.rule_MergeNested - , BubbleUp.rule_ToAnd - , BubbleUp.rule_ToMultiply_HeadOfIntComprehension - , BubbleUp.rule_NotBoolYet - , BubbleUp.rule_ConditionInsideGeneratorDomain - , BubbleUp.rule_LiftVars - ] - - -otherRules :: [[Rule]] -otherRules = - [ - [ rule_Xor_To_Sum ] - , - [ TildeOrdering.rule_BoolInt - , TildeOrdering.rule_MSet - , TildeOrdering.rule_ViaMSet - , TildeOrdering.rule_TildeLeq - ] - , - [ DontCare.rule_Bool - , DontCare.rule_Int - , DontCare.rule_Tuple - , DontCare.rule_Record - , DontCare.rule_Variant - , DontCare.rule_Permutation - , DontCare.rule_Matrix - , DontCare.rule_Abstract - ] - , - [ rule_TrueIsNoOp - , rule_FlattenOf1D - , rule_Decompose_AllDiff - - , rule_GeneratorsFirst - ] - , - [ rule_DomainCardinality - , rule_DomainMinMax - - , rule_ComplexAbsPat - - , rule_AttributeToConstraint - - , rule_QuantifierShift - , rule_QuantifierShift2 - , rule_QuantifierShift3 - - ] - - , [ rule_Comprehension_Simplify - ] - - , [ rule_InlineConditions - , rule_InlineConditions_AllDiff - , rule_InlineConditions_MaxMin - ] - ] - --- | These rules depend on other rules firing first. -delayedRules :: [[Rule]] -delayedRules = - [ - [ Vertical.Matrix.rule_Comprehension_Singleton - , Vertical.Matrix.rule_Comprehension_SingletonDomain - , Vertical.Matrix.rule_Concatenate_Singleton - , Vertical.Matrix.rule_MatrixIndexing - - ] - , [ rule_ReducerToComprehension - ] - , [ rule_DotLtLeq - , rule_Flatten_Lex - ] - ] - - -rule_ChooseRepr :: (?typeCheckerMode :: TypeCheckerMode) => Config -> Rule -rule_ChooseRepr config = Rule "choose-repr" (const theRule) where - - theRule (Reference nm (Just (DeclNoRepr forg _ inpDom region))) | forg `elem` [Find, Given, CutFind] = do - let reprsWhichOrder - | (forg, representationsGivens config) == (Given, Sparse) = reprsSparseOrder - | representationLevels config == False = reprsStandardOrderNoLevels - | otherwise = reprsStandardOrder - domOpts <- reprOptions reprsWhichOrder inpDom - when (null domOpts) $ - bug $ "No representation matches this beast:" <++> pretty inpDom - let options = - [ RuleResult { ruleResultDescr = msg - , ruleResultType = case forg of - Find -> ChooseRepr_Find nm - Given -> ChooseRepr_Given nm - CutFind -> ChooseRepr_Cut nm - _ -> bug "rule_ChooseRepr ruleResultType" - , ruleResult = return out - , ruleResultHook = Just hook - } - | thisDom <- domOpts - , let msg = "Choosing representation for" <+> pretty nm <> ":" <++> pretty thisDom - , let out = Reference nm (Just (DeclHasRepr forg nm thisDom)) - , let hook = mkHook (channelling config) forg nm thisDom region - ] - return options - theRule _ = na "rule_ChooseRepr" - - mkHook - :: ( MonadLog m - , MonadFail m - , NameGen m - , EnumerateDomain m - ) - => Bool - -> FindOrGiven - -> Name - -> Domain HasRepresentation Expression - -> Region - -> Model - -> m Model - mkHook useChannelling -- whether to use channelling or not - forg -- find or given - name -- name of the original declaration - domain -- domain with representation selected - region -- the region of the Reference we are working on - model = do - let - - representations = model |> mInfo |> miRepresentations - representationsTree = model |> mInfo |> miRepresentationsTree - |> concatMap (\ (n, ds) -> map (n,) ds ) - - usedBefore = (name, reprTree domain) `elem` representationsTree - - mkStructurals :: (MonadLog m, MonadFail m, NameGen m, EnumerateDomain m) - => m [Expression] - mkStructurals = do - let ref = Reference name (Just (DeclHasRepr forg name domain)) - logDebugVerbose $ "Generating structural constraints for:" <+> vcat [pretty ref, pretty domain] - structurals <- getStructurals downX1 domain >>= \ gen -> gen ref - logDebugVerbose $ "Before name resolution:" <+> vcat (map pretty structurals) - resolved <- mapM resolveNamesX structurals -- re-resolving names - logDebugVerbose $ "After name resolution:" <+> vcat (map pretty resolved) - return resolved - - addStructurals :: (MonadLog m, MonadFail m, NameGen m, EnumerateDomain m) - => Model -> m Model - addStructurals - | forg == Given = return - | usedBefore = return - | otherwise = \ m -> do - structurals <- mkStructurals - return $ if null structurals - then m - else m { mStatements = mStatements m ++ [SuchThat structurals] } - - channels = - [ make opEq this that - | (n, d) <- representations - , n == name - , let this = Reference name (Just (DeclHasRepr forg name domain)) - , let that = Reference name (Just (DeclHasRepr forg name d)) - ] - - addChannels - | forg == Given = return - | usedBefore = return - | null channels = return - | otherwise = \ m -> return - m { mStatements = mStatements m ++ [SuchThat channels] } - - recordThis - | usedBefore = return - | otherwise = \ m -> - let - oldInfo = mInfo m - newInfo = oldInfo - { miRepresentations = representations ++ [(name, domain)] - , miRepresentationsTree = (representationsTree ++ [(name, reprTree domain)]) - |> sortBy (comparing fst) - |> groupBy ((==) `on` fst) - |> map (\ grp -> (fst (head grp), map snd grp) ) - } - in return m { mInfo = newInfo } - - fixReprForAllOthers - | useChannelling = return -- no-op, if channelling=yes - | otherwise = \ m -> - let - f (Reference nm _) - | nm == name - = Reference nm (Just (DeclHasRepr forg name domain)) - f x = x - in - return m { mStatements = transformBi f (mStatements m) } - - fixReprForSameRegion - | region == NoRegion = return -- no-op, if we aren't in a particular region - | otherwise = \ m -> - let - f (Reference nm (Just (DeclNoRepr _ _ _ region'))) - | nm == name - , region' == region - = Reference nm (Just (DeclHasRepr forg name domain)) - f x = x - in - return m { mStatements = transformBi f (mStatements m) } - - - logDebugVerbose $ vcat - [ "Name :" <+> pretty name - , "Previously :" <+> vcat [ pretty (show d) | (n,d) <- representations, n == name ] - , "This guy :" <+> pretty (show domain) - , "usedBefore? :" <+> pretty usedBefore - ] - - return model - >>= addStructurals -- unless usedBefore: add structurals - >>= addChannels -- for each in previously recorded representation - >>= recordThis -- unless usedBefore: record (name, domain) as being used in the model - >>= fixReprForAllOthers -- fix the representation of this guy in the whole model, if channelling=no - >>= fixReprForSameRegion -- fix the representation of this guy in the whole model, - -- for those references with the same "region" - >>= resolveNames -- we need to re-resolve names to avoid repeatedly selecting representations - -- for abstract stuff inside aliases. - - -rule_ChooseReprForComprehension :: Config -> Rule -rule_ChooseReprForComprehension config = Rule "choose-repr-for-comprehension" (const theRule) where - - theRule (Comprehension body gensOrConds) = do - (gocBefore, (nm, domain), gocAfter) <- matchFirst gensOrConds $ \ goc -> case goc of - Generator (GenDomainNoRepr (Single nm) domain) -> return (nm, domain) - _ -> na "rule_ChooseReprForComprehension" - - let reprsWhichOrder - | representationsGivens config == Sparse = reprsSparseOrder - | representationLevels config == False = reprsStandardOrderNoLevels - | otherwise = reprsStandardOrder - domOpts <- reprOptions reprsWhichOrder domain - when (null domOpts) $ - bug $ "No representation matches this beast:" <++> pretty domain - - return - [ RuleResult - { ruleResultDescr = "Choosing representation for quantified variable" <+> - pretty nm <> ":" <++> pretty thisDom - , ruleResultType = ChooseRepr_Quantified - , ruleResult = bugFailT "rule_ChooseReprForComprehension" $ do - outDomains <- downD (nm, thisDom) - structurals <- mkStructurals nm thisDom - let updateRepr (Reference nm' _) - | nm == nm' - = Reference nm (Just (DeclHasRepr Quantified nm thisDom)) - updateRepr p = p - let out' = Comprehension (transform updateRepr body) - $ gocBefore - ++ [ Generator (GenDomainHasRepr name dom) - | (name, dom) <- outDomains ] - ++ map Condition structurals - ++ transformBi updateRepr gocAfter - out <- resolveNamesX out' - return out - , ruleResultHook = Nothing - } - | thisDom <- domOpts - ] - theRule _ = na "rule_ChooseReprForComprehension" - - mkStructurals name domain = do - let ref = Reference name (Just (DeclHasRepr Quantified name domain)) - gen <- getStructurals downX1 domain - gen ref - - -rule_ChooseReprForLocals :: Config -> Rule -rule_ChooseReprForLocals config = Rule "choose-repr-for-locals" (const theRule) where - - theRule (WithLocals body (AuxiliaryVars locals)) = do - (stmtBefore, (nm, domain), stmtAfter) <- matchFirst locals $ \ local -> case local of - Declaration (FindOrGiven LocalFind nm domain) -> return (nm, domain) - _ -> na "rule_ChooseReprForLocals" - - let - isReferencedWithoutRepr (Reference nm' (Just DeclNoRepr{})) | nm == nm' = True - isReferencedWithoutRepr _ = False - - unless (any isReferencedWithoutRepr (universeBi (body, stmtBefore, stmtAfter))) $ - na $ "This local variable seems to be handled before:" <+> pretty nm - - let reprsWhichOrder - | representationsAuxiliaries config == Sparse = reprsSparseOrder - | representationLevels config == False = reprsStandardOrderNoLevels - | otherwise = reprsStandardOrder - domOpts <- reprOptions reprsWhichOrder domain - when (null domOpts) $ - bug $ "No representation matches this beast:" <++> pretty domain - - return - [ RuleResult - { ruleResultDescr = "Choosing representation for auxiliary variable" <+> - pretty nm <> ":" <++> pretty thisDom - , ruleResultType = ChooseRepr_Auxiliary - , ruleResult = bugFailT "rule_ChooseReprForLocals" $ do - outDomains <- downD (nm, thisDom) - structurals <- mkStructurals nm thisDom - let updateRepr (Reference nm' _) - | nm == nm' - = Reference nm (Just (DeclHasRepr LocalFind nm thisDom)) - updateRepr p = p - let out' = WithLocals (transform updateRepr body) $ AuxiliaryVars - ( stmtBefore - ++ [ Declaration (FindOrGiven - LocalFind - name - (forgetRepr dom)) - | (name, dom) <- outDomains ] - ++ [ SuchThat structurals | not (null structurals) ] - ++ transformBi updateRepr stmtAfter - ) - out <- resolveNamesX out' - return out - , ruleResultHook = Nothing - } - | thisDom <- domOpts - ] - theRule _ = na "rule_ChooseReprForLocals" - - mkStructurals name domain = do - let ref = Reference name (Just (DeclHasRepr LocalFind name domain)) - gen <- getStructurals downX1 domain - gen ref - - -rule_GeneratorsFirst :: Rule -rule_GeneratorsFirst = "generators-first" `namedRule` theRule where - theRule (Comprehension body []) - = return - ( "Empty generators." - , return $ AbstractLiteral $ AbsLitMatrix (mkDomainIntB 1 1) [body] - ) - theRule (Comprehension body gensOrConds) - | let (gens, rest) = mconcat - [ case x of - Generator{} -> ([x],[]) - _ -> ([],[x]) - | x <- gensOrConds - ] - , let gensOrConds' = gens ++ rest - , gensOrConds /= gensOrConds' - = return - ( "Generators come first." - , return $ Comprehension body gensOrConds' - ) - theRule (Comprehension body gensOrConds) - | let (lettings :: [Name], rest :: [GeneratorOrCondition]) = mconcat - [ case x of - ComprehensionLetting pat _ -> (universeBi pat,[] ) - _ -> ([] ,[x]) - | x <- gensOrConds - ] - , let f (Reference nm (Just (Alias x))) | nm `elem` lettings = f x - f x = x - , not (null lettings) - = return - ( "Inlining comprehension lettings." - , return $ transformBi f $ Comprehension body rest - ) - theRule _ = na "rule_GeneratorsFirst" - - -rule_Eq :: Rule -rule_Eq = "identical-domain-eq" `namedRule` theRule where - theRule p = do - (x,y) <- match opEq p - domX <- domainOf x - domY <- domainOf y - unless (domX == domY) $ na "rule_Eq domains not identical" - sameRepresentationTree x y - xs <- downX x - ys <- downX y - unless (length xs == length ys) $ na "rule_Eq" - when (xs == [x]) $ na "rule_Eq" - when (ys == [y]) $ na "rule_Eq" - return - ( "Generic vertical rule for identical-domain equality" - , return $ make opAnd $ fromList $ zipWith (\ i j -> [essence| &i = &j |] ) xs ys - ) - - -rule_Neq :: Rule -rule_Neq = "identical-domain-neq" `namedRule` theRule where - theRule p = do - (x,y) <- match opNeq p - domX <- domainOf x - domY <- domainOf y - unless (domX == domY) $ na "rule_Neq domains not identical" - sameRepresentationTree x y - xs <- downX x - ys <- downX y - unless (length xs == length ys) $ na "rule_Neq" - when (xs == [x]) $ na "rule_Neq" - when (ys == [y]) $ na "rule_Neq" - return - ( "Generic vertical rule for identical-domain equality" - , return $ make opOr $ fromList $ zipWith (\ i j -> [essence| &i != &j |] ) xs ys - ) - - -rule_DotLtLeq :: Rule -rule_DotLtLeq = "generic-DotLtLeq" `namedRule` theRule where - theRule p = do - (a,b,mk) <- case p of - [essence| &a .< &b |] -> return ( a, b, \ i j -> [essence| &i return ( a, b, \ i j -> [essence| &i <=lex &j |] ) - _ -> na "rule_DotLtLeq" -<<<<<<< HEAD - -- aType <- typeOf a - -- case aType of - -- TypeTuple{} -> return () - -- TypeMatrix{} -> return () - -- TypeSet{} -> return () - -- TypeMSet{} -> return () - -- TypeFunction{} -> return () - -- TypeSequence{} -> return () - -- TypeRelation{} -> return () - -- TypePartition{} -> return () - -- _ -> na "rule_DotLtLeq" - -- sameRepresentationTree a b - ma <- symmetryOrdering a -======= - ma <- symmetryOrdering a ->>>>>>> master - mb <- symmetryOrdering b - return - ( "Generic vertical rule for dotLt and dotLeq:" <+> pretty p - , return $ mk ma mb - ) - - -rule_Flatten_Lex :: Rule -rule_Flatten_Lex = "flatten-lex" `namedRule` theRule where - theRule [essence| &a - na "rule_Flatten_Lex" - (TypeMatrix TypeInt{} TypeInt{}, TypeMatrix TypeInt{} TypeInt{}) -> - na "rule_Flatten_Lex" - _ -> return () - fa <- flatten a - fb <- flatten b - tfa <- typeOf fa - tfb <- typeOf fb - case (tfa, tfb) of - (TypeList TypeInt{}, TypeList TypeInt{}) -> return () - (TypeMatrix TypeInt{} TypeInt{}, TypeMatrix TypeInt{} TypeInt{}) -> return () - _ -> bug $ "flattener: " <+> vcat [stringToDoc $ show tfa, stringToDoc $ show tfb] - return ( "Flatten Lex less" - , return [essence| &fa - na "rule_Flatten_Lex" - (TypeMatrix TypeInt{} TypeInt{}, TypeMatrix TypeInt{} TypeInt{}) -> - na "rule_Flatten_Lex" - _ -> return () - fa <- flatten a - fb <- flatten b - tfa <- typeOf fa - tfb <- typeOf fb - case (tfa, tfb) of - (TypeList TypeInt{}, TypeList TypeInt{}) -> return () - (TypeMatrix TypeInt{} TypeInt{}, TypeMatrix TypeInt{} TypeInt{}) -> return () - _ -> bug $ "flattener: " <+> vcat [stringToDoc $ show tfa, stringToDoc $ show tfb] - return ( "Flatten Lex Lt" - , return [essence| &fa <=lex &fb |] - ) - theRule _ = na "rule_Flatten_Lex" - flatten a = do - ta <- typeOf a - case ta of - TypeBool -> return [essence| [-toInt(&a)] |] - TypeInt{} -> return [essence| [&a] |] - TypeList TypeInt{} -> return a - TypeMatrix TypeInt{} TypeInt{} -> return a - TypeTuple ts -> do - case a of - AbstractLiteral x -> do - case x of - AbsLitTuple xs -> do - fxs <- sequence (flatten <$> xs) - let flatxs = fromList fxs - return [essence| flatten(&flatxs) |] - _ -> bug $ "rule_FlattenLex: flatten isn't defined for this abslit fellow..." - <+> vcat [pretty a, pretty ta, stringToDoc $ show a] - Constant c -> - case c of - ConstantAbstract ca -> - case ca of - AbsLitTuple xs -> do - fxs <- sequence (flatten <$> (Constant <$> xs)) - let flatxs = fromList fxs - return [essence| flatten(&flatxs) |] - _ -> bug $ "rule_FlattenLex: flatten isn't defined for this constant fellow..." - <+> vcat [pretty a, pretty ta, stringToDoc $ show a] - _ -> bug $ "rule_FlattenLex: flatten isn't defined for this constant fellow..." - <+> vcat [pretty a, pretty ta, stringToDoc $ show a] - Op _ -> do - (oName, o) <- quantifiedVar - flatten $ Comprehension o [ComprehensionLetting oName a] - _ -> do - ps <- sequence $ (\(i,_) -> do - (Single nm, tm) <- quantifiedVar - return (i,nm,tm)) <$> (zip [1..] ts) - let lts = (\(i,nm,_tm) -> ComprehensionLetting (Single nm) [essence| &a[&i] |]) <$> ps - tup = AbstractLiteral $ AbsLitTuple $ (\(_,_,tm) -> tm) <$> ps - flatten $ Comprehension tup lts - _ -> - case a of - AbstractLiteral x -> do - case x of - AbsLitMatrix _ xs -> do - fxs <- sequence (flatten <$> xs) - let flatxs = fromList fxs - return [essence| flatten(&flatxs) |] - _ -> bug $ "rule_FlattenLex: flatten isn't defined for this abslit fellow..." - <+> vcat [pretty a, pretty ta, stringToDoc $ show a] - Constant c -> - case c of - ConstantAbstract ca -> - case ca of - AbsLitMatrix _ [] -> - return [essence| ([] : `matrix indexed by [int()] of int`) |] - AbsLitMatrix _ xs -> do - fxs <- sequence (flatten <$> (Constant <$> xs)) - let flatxs = fromList fxs - return [essence| flatten(&flatxs) |] - _ -> bug $ "rule_FlattenLex: flatten isn't defined for this constant fellow..." - <+> vcat [pretty a, pretty ta, stringToDoc $ show a] - TypedConstant tc _ -> flatten (Constant tc) - _ -> bug $ "rule_FlattenLex: flatten isn't defined for this constant fellow..." - <+> vcat [pretty a, pretty ta, stringToDoc $ show a] - Op _ -> do - (oName, o) <- quantifiedVar - flatten $ Comprehension o [ComprehensionLetting oName a] - Reference nm ex -> - bug $ "rule_FlattenLex: flatten isn't defined for this reference fellow..." - <+> vcat [stringToDoc (show a) - ,"reference:" <+> stringToDoc (show nm) - ,"fellow:" <+> stringToDoc (show ex)] - Comprehension body gocs -> do - fbody <- flatten body - let comp = Comprehension fbody gocs - return [essence| flatten(&comp) |] - _ -> bug $ "rule_FlattenLex: flatten isn't defined for this expression fellow..." - - <+> vcat [pretty a, pretty ta, stringToDoc $ show a] - - -rule_ReducerToComprehension :: Rule -rule_ReducerToComprehension = "reducer-to-comprehension" `namedRule` theRule where - theRule p = do - (_, _, mk, coll) <- match opReducer p - -- leave comprehensions alone - let - isComprehension Comprehension{} = True - isComprehension _ = False - case followAliases isComprehension coll of - True -> na "rule_ReducerToComprehension" - False -> return () - -- leave matrix literals alone - case tryMatch matrixLiteral coll of - Nothing -> return () - Just {} -> na "rule_ReducerToComprehension" - tyColl <- typeOf coll - howToIndex <- case tyColl of - TypeSequence{} -> return $ Left () - TypeMatrix{} -> return $ Right () - TypeList{} -> return $ Right () - TypeSet{} -> return $ Right () - TypeMSet{} -> return $ Right () - _ -> na "rule_ReducerToComprehension" - return - ( "Creating a comprehension for the collection inside the reducer operator." - , do - (iPat, i) <- quantifiedVar - case howToIndex of - Left{} -> return $ mk [essence| [ &i[2] | &iPat <- &coll ] |] - Right{} -> return $ mk [essence| [ &i | &iPat <- &coll ] |] - ) - - -rule_TrueIsNoOp :: Rule -rule_TrueIsNoOp = "true-is-noop" `namedRule` theRule where - theRule (Op (MkOpTrue (OpTrue ref))) = - case ref of - Reference _ (Just DeclHasRepr{}) -> - return ( "Remove the argument from true." - , return $ Constant $ ConstantBool True - ) - _ -> na "The argument of true doesn't have a representation." - theRule _ = na "rule_TrueIsNoOp" - - -rule_FlattenOf1D :: Rule -rule_FlattenOf1D = "flatten-of-1D" `namedRule` theRule where - theRule p = do - x <- match opFlatten p - tyx <- typeOf x - out <- case tyx of - TypeList TypeBool{} -> return x - TypeList TypeInt{} -> return x - TypeMatrix _ TypeBool{} -> return x - TypeMatrix _ TypeInt{} -> return x - TypeMatrix{} -> -- more than 1D - case listOut x of - Just [y] -> return (make opFlatten y) - _ -> na "rule_FlattenOf1D" - _ -> na "rule_FlattenOf1D" - return ( "1D matrices do not need a flatten." - , return out - ) - - -rule_Decompose_AllDiff :: Rule -rule_Decompose_AllDiff = "decompose-allDiff" `namedRule` theRule where - theRule [essence| allDiff(&m) |] = do - ty <- typeOf m - case ty of - TypeMatrix _ TypeBool -> na "allDiff can stay" - TypeMatrix _ (TypeInt _) -> na "allDiff can stay" - TypeMatrix _ _ -> return () - _ -> na "allDiff on something other than a matrix." - index:_ <- indexDomainsOf m - return - ( "Decomposing allDiff. Type:" <+> pretty ty - , do - (iPat, i) <- quantifiedVar - (jPat, j) <- quantifiedVar - return - [essence| - and([ &m[&i] != &m[&j] - | &iPat : &index - , &jPat : &index - , &i < &j - ]) - |] - ) - theRule _ = na "rule_Decompose_AllDiff" - - -rule_DomainCardinality :: Rule -rule_DomainCardinality = "domain-cardinality" `namedRule` theRule where - theRule p = do - maybeDomain <- match opTwoBars p - d <- case maybeDomain of - Domain d -> return d - Reference _ (Just (Alias (Domain d))) -> return d - _ -> na "rule_DomainCardinality" - return - ( "Cardinality of a domain" - , case d of - DomainInt _ [RangeBounded 1 u] -> return u - _ -> do - (iPat, _) <- quantifiedVar - return [essence| sum([ 1 | &iPat : &d ]) |] - ) - - -rule_DomainMinMax :: Rule -rule_DomainMinMax = "domain-MinMax" `namedRule` theRule where - theRule [essence| max(&maybeDomain) |] = do - d <- getDomain maybeDomain - return - ( "max of a domain" - , maxOfDomain d - ) - theRule [essence| min(&maybeDomain) |] = do - d <- getDomain maybeDomain - return - ( "min of a domain" - , minOfDomain d - ) - theRule _ = na "rule_DomainMinMax" - - getDomain :: MonadFail m => Expression -> m (Domain () Expression) - getDomain (Domain d) = return d - getDomain (Reference _ (Just (Alias (Domain d)))) = getDomain (Domain d) - getDomain _ = na "rule_DomainMinMax.getDomain" - - -rule_ComplexAbsPat :: Rule -rule_ComplexAbsPat = "complex-pattern" `namedRule` theRule where - theRule (Comprehension body gensOrConds) = do - (gocBefore, (pat, domainOrExpr), gocAfter) <- matchFirst gensOrConds $ \ goc -> case goc of - Generator (GenDomainNoRepr pat@AbsPatTuple{} domain) -> return (pat, Left domain) - Generator (GenInExpr pat@AbsPatTuple{} expr) -> return (pat, Right expr) - _ -> na "rule_ComplexAbsPat" - return - ( "complex pattern on tuple patterns" - , do - (iPat, i) <- quantifiedVar - let replacements = [ (p, make opMatrixIndexing i (map (fromInt . fromIntegral) is)) - | (p, is) <- genMappings pat - ] - let f x@(Reference nm _) = fromMaybe x (lookup nm replacements) - f x = x - return $ Comprehension (transform f body) - $ gocBefore - ++ [ either (Generator . GenDomainNoRepr iPat) - (Generator . GenInExpr iPat) - domainOrExpr ] - ++ transformBi f gocAfter - ) - theRule _ = na "rule_ComplexAbsPat" - - -- i --> i -> [] - -- (i,j) --> i -> [1] - -- j -> [2] - -- (i,(j,k)) --> i -> [1] - -- j -> [2,1] - -- k -> [2,2] - genMappings :: AbstractPattern -> [(Name, [Int])] - genMappings (Single nm) = [(nm, [])] - genMappings (AbsPatTuple pats) - = concat - [ [ (patCore, i:is) | (patCore, is) <- genMappings pat ] - | (i, pat) <- zip [1..] pats - ] - genMappings (AbsPatMatrix pats) - = concat - [ [ (patCore, i:is) | (patCore, is) <- genMappings pat ] - | (i, pat) <- zip [1..] pats - ] - genMappings pat = bug ("rule_ComplexLambda.genMappings:" <+> pretty (show pat)) - - --- this rule doesn't use `namedRule` because it need access to ascendants through the zipper -rule_InlineConditions :: Rule -rule_InlineConditions = Rule "inline-conditions" theRule where - theRule z (Comprehension body gensOrConds) = do - let (toInline, toKeep) = mconcat - [ case goc of - Condition x | categoryOf x == CatDecision -> ([x],[]) - _ -> ([],[goc]) - | goc <- gensOrConds - ] - theGuard <- case toInline of - [] -> na "No condition to inline." - [x] -> return x - xs -> return $ make opAnd $ fromList xs - (nameQ, opSkip) <- queryQ z - let bodySkipped = opSkip theGuard body - return - [ RuleResult - { ruleResultDescr = "Inlining conditions, inside" <+> nameQ - , ruleResultType = ExpressionRefinement - , ruleResult = return $ Comprehension bodySkipped toKeep - , ruleResultHook = Nothing - } ] - theRule _ _ = na "rule_InlineConditions" - - -- keep going up, until finding a quantifier - -- when found, return the skipping operator for the quantifier - -- if none exists, do not apply the rule. - -- (or maybe we should call bug right ahead, it can't be anything else.) -<<<<<<< HEAD - queryQ z0 = case Zipper.up z0 of - Nothing -> na "rule_InlineConditions (top)" - Just z -> queryQ_handleLevel z (hole z) - - queryQ_handleLevel z h - | Just{} <- match opAnd h = return ("and", opAndSkip) - | Just{} <- match opOr h = return ("or" , opOrSkip ) - | Just{} <- match opSum h = return ("sum", opSumSkip) - | Just{} <- match opMin h = na "rule_InlineConditions (min)" - | Just{} <- match opMax h = na "rule_InlineConditions (max)" - | Just{} <- match opOrdering h = return ("ordering", opSumSkip) - | Comprehension{} <- h = queryQ z - | Just{} <- match opFlatten h = queryQ z - | otherwise = na "rule_InlineConditions (stop)" - - opAndSkip b x = [essence| &b -> &x |] - opOrSkip b x = [essence| &b /\ &x |] - - opSumSkip b [essence| flatten(&x)|] = make opFlatten (opSumSkip b x) - opSumSkip b (Comprehension body gocs) = Comprehension (opSumSkip b body) gocs - opSumSkip b x = [essence| toInt(&b) * catchUndef(&x, 0) |] -======= - queryQ z0 = - case Zipper.up z0 of - Nothing -> na "rule_InlineConditions (meh-1)" - Just z -> do - let h = hole z - case ( match opAnd h, match opOr h, match opSum h, match opProduct h - , match opMin h, match opMax h, match opOrdering h ) of - (Just{}, _, _, _, _, _, _) -> return ("and", opAndSkip) - (_, Just{}, _, _, _, _, _) -> return ("or" , opOrSkip ) - (_, _, Just{}, _, _, _, _) -> return ("sum", opSumSkip) - (_, _, _, Just{}, _, _, _) -> return ("product", opProductSkip) - (_, _, _, _, Just{}, _, _) -> na "rule_InlineConditions (min)" - (_, _, _, _, _, Just{}, _) -> na "rule_InlineConditions (max)" - (_, _, _, _, _, _, Just{}) -> return ("ordering", opSumSkip) - _ -> na "rule_InlineConditions (meh-2)" - -- case Zipper.up z of - -- Nothing -> na "queryQ" - -- Just u -> queryQ u - - opAndSkip b x = [essence| &b -> &x |] - opOrSkip b x = [essence| &b /\ &x |] - opSumSkip b x = [essence| toInt(&b) * catchUndef(&x, 0) |] - opProductSkip b x = [essence| [ 1 - , catchUndef(&x,1) - ; int(0..1) - ] [toInt(&b)] |] ->>>>>>> master - - -rule_InlineConditions_AllDiff :: Rule -rule_InlineConditions_AllDiff = "inline-conditions-allDiff" `namedRule` theRule where - theRule (Op (MkOpAllDiff (OpAllDiff (Comprehension body gensOrConds)))) = do - let (toInline, toKeep) = mconcat - [ case goc of - Condition x | categoryOf x == CatDecision -> ([x],[]) - _ -> ([],[goc]) - | goc <- gensOrConds - ] - theGuard <- case toInline of - [] -> na "No condition to inline." - [x] -> return x - xs -> return $ make opAnd $ fromList xs - - domBody <- domainOf body - let - collectLowerBounds (RangeSingle x) = return x - collectLowerBounds (RangeBounded x _) = return x - collectLowerBounds _ = userErr1 ("Unexpected infinite domain:" <+> pretty domBody) - - collectLowerBoundsD (DomainInt _ rs) = mapM collectLowerBounds rs - collectLowerBoundsD _ = userErr1 ("Expected an integer domain, but got:" <+> pretty domBody) - - bounds <- collectLowerBoundsD domBody - let lowerBound = make opMin (fromList bounds) - - -- for each element, we do element-lowerBound+1 - -- this makes sure the smallest element is 1 - -- hence we can use 0 as the except value! - let bodySkipped = [essence| toInt(&theGuard) * catchUndef(&body + (1 - &lowerBound), 0) |] - - return - ( "Inlining conditions, inside allDiff" - , return $ make opAllDiffExcept (Comprehension bodySkipped toKeep) 0 - ) - theRule _ = na "rule_InlineConditions_AllDiff" - - -rule_InlineConditions_MaxMin :: Rule -rule_InlineConditions_MaxMin = "aux-for-MaxMin" `namedRule` theRule where - theRule p = do - when (categoryOf p < CatDecision) $ na "rule_InlineConditions_MaxMin" - (nameQ, binOp, Comprehension body gensOrConds) <- - case (match opMax p, match opMin p) of - (Just res, _) -> return ("max", \ a b -> [essence| &a <= &b |], res ) - (_, Just res) -> return ("min", \ a b -> [essence| &a >= &b |], res ) - _ -> na "rule_InlineConditions_MaxMin" - let - (toInline, gocInExpr, _toKeep) = mconcat - [ case goc of - Condition x | categoryOf x == CatDecision -> ([x],[],[]) - Generator (GenInExpr {}) -> ([],[goc],[]) - _ -> ([],[],[goc]) - | goc <- gensOrConds - ] - when (null toInline && null gocInExpr) $ na "rule_InlineConditions_MaxMin" - auxDomain <- domainOf body - return - ( "Creating auxiliary variable for a" <+> nameQ - , do - (auxName, aux) <- auxiliaryVar - let auxDefinedLHS = make opSum (Comprehension 1 gensOrConds) - let auxDefined = [essence| &auxDefinedLHS > 0 |] - let auxUndefined = [essence| &auxDefinedLHS = 0 |] - let aux' = WithLocals aux (DefinednessConstraints [auxDefined]) - return $ WithLocals aux' - (AuxiliaryVars - [ Declaration (FindOrGiven LocalFind auxName auxDomain) - , SuchThat - [ make opAnd $ Comprehension - (binOp body aux) - gensOrConds - - -- either one of the members of this comprehension, or dontCare - -- if it is indeed dontCare, care should be taken to make sure it isn't used as a normal value - , make opAnd $ fromList - [ make opImply auxDefined - (make opOr $ Comprehension - [essence| &body = &aux |] - gensOrConds) - , make opImply auxUndefined (make opDontCare aux) - ] - ] - ]) - ) - - -rule_AttributeToConstraint :: Rule -rule_AttributeToConstraint = "attribute-to-constraint" `namedRule` theRule where - theRule (Op (MkOpAttributeAsConstraint (OpAttributeAsConstraint thing attr mval))) = do - dom <- domainOf thing - let conv = mkAttributeToConstraint dom attr mval thing - return - ( "Converting an attribute to a constraint" - , bugFailT "rule_AttributeToConstraint" conv - ) - theRule _ = na "rule_AttributeToConstraint" - - -rule_FullEvaluate :: Rule -rule_FullEvaluate = "full-evaluate" `namedRule` theRule where - theRule Constant{} = na "rule_FullEvaluate" - theRule Domain{} = na "rule_FullEvaluate" - theRule p = do - constant <- instantiateExpression [] p - unless (null [() | ConstantUndefined{} <- universe constant]) $ - na "rule_PartialEvaluate, undefined" - return - ( "Full evaluator" - , return $ Constant constant - ) - - -rule_PartialEvaluate :: Rule -rule_PartialEvaluate = "partial-evaluate" `namedRuleZ` theRule where - -- if a variable only has a single value in its domain, replace it with the value - theRule z (Reference _ (Just (DeclHasRepr _ _ (singletonDomainInt -> Just val)))) = - case hole <$> Zipper.up z of - Just (Op (MkOpTrue _)) -> na "rule_PartialEvaluate, inside a true(ref)" - _ -> return ( "Partial evaluator" - , return val - ) - theRule _ (Op op) - | Just (x, y) <- case op of - MkOpLeq (OpLeq x y) -> Just (x,y) - MkOpGeq (OpGeq x y) -> Just (x,y) - MkOpEq (OpEq x y) -> Just (x,y) - _ -> Nothing - , Reference nmX _ <- x - , Reference nmY _ <- y - , nmX == nmY - , categoryOf x <= CatQuantified - , categoryOf y <= CatQuantified - = return - ( "Parameter = parameter (or quantified)" - , return (fromBool True) - ) - theRule _ (Op x) = do - x' <- simplifyOp x - when (Op x == x') $ bug $ vcat - [ "rule_PartialEvaluate, simplifier returns the input unchanged." - , "input:" <+> vcat [ pretty (Op x) - , pretty (show (Op x)) - ] - ] - return - ( "Partial evaluator" - , return x' - ) - theRule _ _ = na "rule_PartialEvaluate" - - --- | shifting quantifiers inwards, if they operate on a row of a 2d matrix, --- make them operate on the rows directly then index -rule_QuantifierShift :: Rule -rule_QuantifierShift = "quantifier-shift" `namedRule` theRule where - theRule p = do - (_, _, mkQuan, inner) <- match opReducer p - (matrix, indexer) <- match opIndexing inner - (TypeMatrix _ ty, index, elems) <- match matrixLiteral matrix - case ty of - TypeMatrix{} -> return () - TypeList{} -> return () - _ -> na "rule_QuantifierShift" - return - ( "Shifting quantifier inwards" - , return $ make opIndexing - (make matrixLiteral - ty - index - (map mkQuan elems)) - indexer - ) - - --- | shifting quantifiers inwards, if they operate on a flattened multi-dim matrix. -rule_QuantifierShift2 :: Rule -rule_QuantifierShift2 = "quantifier-shift2" `namedRule` theRule where - theRule p = do - (_, _, mkQuan, inner) <- match opReducer p - matrix <- match opFlatten inner - (TypeMatrix _ ty, index, elems) <- match matrixLiteral matrix - case ty of - TypeMatrix{} -> return () -- the matrix literal should contain further matrix/list stuff. - TypeList{} -> return () - _ -> na "rule_QuantifierShift2" - return - ( "Shifting quantifier inwards" - , return $ mkQuan - (make matrixLiteral - ty - index - (map (mkQuan . flattenIfNeeded (matrixNumDims ty)) elems)) - ) - - --- | shifting quantifiers inwards, if they operate on a concatenated multi-dim matrix. -rule_QuantifierShift3 :: Rule -rule_QuantifierShift3 = "quantifier-shift3" `namedRule` theRule where - theRule p = do - (_, True, mkQuan, inner) <- match opReducer p - matrix <- match opConcatenate inner - (TypeMatrix _ ty, index, elems) <- match matrixLiteral matrix - return - ( "Shifting quantifier inwards" - , return $ mkQuan $ make matrixLiteral - ty - index - (map mkQuan elems) - ) - - -rule_Comprehension_Simplify :: Rule -rule_Comprehension_Simplify = "comprehension-simplify" `namedRule` theRule where - theRule (Comprehension x gocs) - | let isTrueCondition (Condition (Constant (ConstantBool True))) = True - isTrueCondition _ = False - , let gocs' = filter (not . isTrueCondition) gocs - , length gocs' < length gocs - = return - ( "Removing true conditions" - , return $ Comprehension x gocs' - ) - theRule _ = na "rule_Comprehension_Simplify" - - -rule_Xor_To_Sum :: Rule -rule_Xor_To_Sum = "xor-to-sum" `namedRule` theRule where - theRule [essence| xor(&arg) |] = - case arg of - Comprehension body goc -> do - let argOut = Comprehension [essence| toInt(&body) |] goc - return - ( "xor to sum" - , return [essence| 1 = sum(&argOut) |] - ) - AbstractLiteral (AbsLitMatrix dom elems) -> do - let argOut = AbstractLiteral $ AbsLitMatrix dom - [ [essence| toInt(&el) |] | el <- elems ] - return - ( "xor to sum" - , return [essence| 1 = sum(&argOut) |] - ) - _ -> do - (iPat, i) <- quantifiedVar - return - ( "xor to sum" - , return [essence| 1 = sum([ toInt(&i) | &iPat <- &arg ]) |] - ) - theRule _ = na "rule_Xor_To_Sum" - - -<<<<<<< HEAD -enforceTagConsistency :: MonadFail m => Model -> m Model -enforceTagConsistency model = do - let statements' = transformBi reDomExp $ transformBi reDomConst (mStatements model) - return model { mStatements = statements' } - - -addUnnamedSymmetryBreaking :: - NameGen m => - Maybe UnnamedSymmetryBreaking -> - Model -> - m Model -addUnnamedSymmetryBreaking mode model = do - - let - allUnnamedTypes :: [(Domain () Expression, Expression)] - allUnnamedTypes = - [ reTag (TagUnnamed nm') (DomainReference nm Nothing, x) --x is a TagInt at this point so we must reTag it - | Declaration (LettingDomainDefnUnnamed nm@(Name nm') x) <- mStatements model - ] - - allDecVars = - [ (Reference nm Nothing, domain) - | Declaration (FindOrGiven Find nm domain) <- mStatements model - ] - - allDecVarsAux auxSuffix = - [ (Reference (mconcat [nm, "_auxFor_", auxSuffix]) Nothing, domain) - | Declaration (FindOrGiven Find nm domain) <- mStatements model - ] - - varsTuple = AbstractLiteral $ AbsLitTuple $ map fst allDecVars - mkAuxTuple auxSuffix = AbstractLiteral $ AbsLitTuple $ map fst (allDecVarsAux auxSuffix) - --- traceM $ show $ "Unnamed types in this model:" <++> prettyList id "," allUnnamedTypes --- traceM $ show $ "Unnamed decision variables in this model:" <++> prettyList id "," allDecVars - - -- 3 axis of doom - -- 1. Quick/Complete. Quick is x .<= p(x) - -- Complete is x .<= y /\ y = p(x) - -- 2. Scope. Consecutive - -- AllPairs - -- AllPermutations - -- 3. Independently/Altogether - - case mode of - Nothing -> return model - Just (UnnamedSymmetryBreaking quickOrComplete usbScope independentlyOrAltogether) -> do - let newDecls = - case quickOrComplete of - USBQuick -> [] - USBComplete -> - case independentlyOrAltogether of - USBIndependently -> - [ Declaration (FindOrGiven LocalFind nm' domain) - | Declaration (FindOrGiven Find nm domain) <- mStatements model - , (DomainReference uName _, _) <- allUnnamedTypes - , let nm' = mconcat [nm, "_auxFor_", uName] - ] - USBAltogether -> - [ Declaration (FindOrGiven LocalFind nm' domain) - | Declaration (FindOrGiven Find nm domain) <- mStatements model - , let nm' = mconcat [nm, "_auxFor_all"] - ] - - let - - buildPermutationChain [] vars = vars - buildPermutationChain (p:ps) vars = - let applied = buildPermutationChain ps vars - in [essence| image(&p, &applied) |] - - nestInBubbles :: Expression -> Int -> [(Expression,Statement)] -> Expression -> Expression - nestInBubbles _ _ [] expr = expr - nestInBubbles modl i (fv:auxVars) expr = - let v = fst fv - ii = fromInt (fromIntegral i) - in WithLocals [essence| &modl[&ii] .<= &v |] (AuxiliaryVars ((snd fv):[SuchThat [nestInBubbles modl (i + 1) auxVars expr]])) - - combinedPermApply auxSuffix perms = - case quickOrComplete of - USBQuick -> - let applied = buildPermutationChain perms varsTuple - in [essence| &varsTuple .<= &applied |] - USBComplete -> - let applied = buildPermutationChain perms varsTuple - thisAuxTuple = mkAuxTuple auxSuffix - - dVars = map fst (allDecVarsAux auxSuffix) - in nestInBubbles varsTuple 1 (zip dVars newDecls) - [essence| &thisAuxTuple = &applied |] - - mkGenerator_Consecutive _ _ [] = bug "must have at least one unnamed type" - mkGenerator_Consecutive auxSuffix perms [(u, uSize)] = do - (iPat, i) <- quantifiedVar - let perm = [essence| permutation((&i, succ(&i))) |] - let applied = combinedPermApply auxSuffix (perm:perms) - return [essence| - and([ &applied - | &iPat : &u - , &i < &uSize - ]) - |] - mkGenerator_Consecutive auxSuffix perms ((u, uSize):us) = do - (iPat, i) <- quantifiedVar - let perm = [essence| permutation((&i, succ(&i))) |] - applied <- mkGenerator_Consecutive auxSuffix (perm:perms) us - return [essence| - and([ &applied - | &iPat : &u - , &i < &uSize - ]) - |] - - - mkGenerator_AllPairs _ _ [] = bug "must have at least one unnamed type" - mkGenerator_AllPairs auxSuffix perms [(u, _uSize)] = do - (iPat, i) <- quantifiedVar - (jPat, j) <- quantifiedVar - let perm = [essence| permutation((&i, &j)) |] - let applied = combinedPermApply auxSuffix (perm:perms) - return [essence| - and([ &applied - | &iPat : &u - , &jPat : &u - , &i < &j - ]) - |] - mkGenerator_AllPairs auxSuffix perms ((u, _uSize):us) = do - (iPat, i) <- quantifiedVar - (jPat, j) <- quantifiedVar - let perm = [essence| permutation((&i, &j)) |] - applied <- mkGenerator_AllPairs auxSuffix (perm:perms) us - return [essence| - and([ &applied - | &iPat : &u - , &jPat : &u - , &i < &j - ]) - |] - - mkGenerator_AllPermutations _ _ [] = bug "must have at least one unnamed type" - mkGenerator_AllPermutations auxSuffix perms [(u, _uSize)] = do - (iPat, i) <- quantifiedVar - let perm = i - let applied = combinedPermApply auxSuffix (perm:perms) - return [essence| - and([ &applied - | &iPat : permutation of &u - ]) - |] - mkGenerator_AllPermutations auxSuffix perms ((u, _uSize):us) = do - (iPat, i) <- quantifiedVar - let perm = i - applied <- mkGenerator_AllPermutations auxSuffix (perm:perms) us - return [essence| - and([ &applied - | &iPat : permutation of &u - ]) - |] - - mkGenerator auxSuffix perms us = - case usbScope of - USBConsecutive -> mkGenerator_Consecutive auxSuffix perms us - USBAllPairs -> mkGenerator_AllPairs auxSuffix perms us - USBAllPermutations -> mkGenerator_AllPermutations auxSuffix perms us - newCons <- - case independentlyOrAltogether of - USBIndependently -> do - xs <- (sequence - [ mkGenerator uName [] [(u, uSize)] - | (u@(DomainReference uName _), uSize) <- allUnnamedTypes - ]) - return [SuchThat xs] - USBAltogether -> do - cons <- mkGenerator "all" [] allUnnamedTypes - return [SuchThat [cons]] - - let stmts = newCons - traceM $ show $ vcat $ "Adding the following unnamed symmetry breaking constraints:" - : map (nest 4 . pretty) stmts - return model { mStatements = mStatements model ++ stmts} -======= -rule_Comprehension_Cardinality :: Rule -rule_Comprehension_Cardinality = "comprehension-cardinality" `namedRule` theRule where - theRule p = do - Comprehension _ gensOrConds <- match opTwoBars p - let ofones = Comprehension (fromInt 1) gensOrConds - return ( "Horizontal rule for comprehension cardinality" - , return [essence| sum(&ofones) |] - ) - -rule_Flatten_Cardinality :: Rule -rule_Flatten_Cardinality = "flatten-cardinality" `namedRule` theRule where - theRule p = do - list <- match opTwoBars p >>= match opConcatenate - return ( "Horizontal rule for comprehension cardinality" - , do - (iPat, i) <- quantifiedVar - return [essence| sum([ |&i| | &iPat <- &list ]) |] - ) ->>>>>>> master - diff --git a/tests/custom/basic/function-literal-suggestion/run.sh.orig b/tests/custom/basic/function-literal-suggestion/run.sh.orig deleted file mode 100755 index ddf5903d30..0000000000 --- a/tests/custom/basic/function-literal-suggestion/run.sh.orig +++ /dev/null @@ -1,8 +0,0 @@ -<<<<<<< HEAD -conjure solve *.essence *.param -||||||| merged common ancestors -======= -rm -rf conjure-output -conjure solve *.essence *.param -rm -rf conjure-output ->>>>>>> taggedints diff --git a/tests/custom/basic/function-literal-suggestion/stdout.expected.orig b/tests/custom/basic/function-literal-suggestion/stdout.expected.orig deleted file mode 100644 index 11c8d0c0e6..0000000000 --- a/tests/custom/basic/function-literal-suggestion/stdout.expected.orig +++ /dev/null @@ -1,10 +0,0 @@ -<<<<<<< HEAD -Using cached models. -Savile Row: model000001.eprime p.param -||||||| merged common ancestors -======= -Generating models for func.essence -Generated models: model000001.eprime -Saved under: conjure-output -Savile Row: model000001.eprime p.param ->>>>>>> taggedints diff --git a/tests/custom/issues/119/1/stdout.expected.orig b/tests/custom/issues/119/1/stdout.expected.orig deleted file mode 100644 index 8e4a745555..0000000000 --- a/tests/custom/issues/119/1/stdout.expected.orig +++ /dev/null @@ -1,56 +0,0 @@ -Generating models for _old_issues_118_smaller.essence -Generated models: model_1.eprime, model_2.eprime, model_3.eprime, model_4.eprime -Saved under: conjure-output -Savile Row: model_1.eprime -Running minion for domain filtering. -Running solver: minion -Savile Row: model_2.eprime -Running minion for domain filtering. -Running solver: minion -Savile Row: model_3.eprime -Running minion for domain filtering. -Running solver: minion -Savile Row: model_4.eprime -Running minion for domain filtering. -Running solver: minion -Validating solution: conjure-output/model_1-solution000001.solution -Validating solution: conjure-output/model_2-solution000001.solution -Validating solution: conjure-output/model_3-solution000001.solution -Validating solution: conjure-output/model_4-solution000001.solution ----- -language Essence 1.3 - -letting p be partition({1}, {2}, {3}) -$ Visualisation for p -$ 1 -$ 2 -$ 3 - -language Essence 1.3 - -letting p be partition({1}, {2}, {3}) -$ Visualisation for p -$ 1 -$ 2 -$ 3 - -language Essence 1.3 - -letting p be partition({1}, {2}, {3}) -$ Visualisation for p -$ 1 -$ 2 -$ 3 - -language Essence 1.3 - -letting p be partition({1}, {2}, {3}) -$ Visualisation for p -$ 1 -$ 2 -$ 3 - ----- - -language Essence 1.3 -letting p be partition({1}, {2}, {3}) diff --git a/tests/custom/issues/119/2/stdout.expected.orig b/tests/custom/issues/119/2/stdout.expected.orig deleted file mode 100644 index 0ca6e24ba7..0000000000 --- a/tests/custom/issues/119/2/stdout.expected.orig +++ /dev/null @@ -1,44 +0,0 @@ -Generating models for _old_issues_118_smaller2.essence -Generated models: model_1.eprime, model_2.eprime, model_3.eprime -Saved under: conjure-output -Savile Row: model_1.eprime -Running minion for domain filtering. -Running solver: minion -Savile Row: model_2.eprime -Running minion for domain filtering. -Running solver: minion -Savile Row: model_3.eprime -Running minion for domain filtering. -Running solver: minion -Validating solution: conjure-output/model_1-solution000001.solution -Validating solution: conjure-output/model_2-solution000001.solution -Validating solution: conjure-output/model_3-solution000001.solution ----- -language Essence 1.3 - -letting p be partition({1}, {2}, {3}) -$ Visualisation for p -$ 1 -$ 2 -$ 3 - -language Essence 1.3 - -letting p be partition({1}, {2}, {3}) -$ Visualisation for p -$ 1 -$ 2 -$ 3 - -language Essence 1.3 - -letting p be partition({1}, {2}, {3}) -$ Visualisation for p -$ 1 -$ 2 -$ 3 - ----- - -language Essence 1.3 -letting p be partition({1}, {2}, {3}) diff --git a/tests/custom/issues/370/01/stdout.expected.orig b/tests/custom/issues/370/01/stdout.expected.orig deleted file mode 100644 index ddc21686c5..0000000000 --- a/tests/custom/issues/370/01/stdout.expected.orig +++ /dev/null @@ -1,36 +0,0 @@ -Generating models for 370.essence -Generated models: model_1.eprime, model_2.eprime, model_3.eprime, model_4.eprime, model_5.eprime, model_6.eprime, - model_7.eprime, model_8.eprime -Saved under: conjure-output -Savile Row: model_1.eprime -Running minion for domain filtering. -Running solver: minion -Savile Row: model_2.eprime -Running minion for domain filtering. -Running solver: minion -Savile Row: model_3.eprime -Running minion for domain filtering. -Running solver: minion -Savile Row: model_4.eprime -Running minion for domain filtering. -Running solver: minion -Savile Row: model_5.eprime -Running minion for domain filtering. -Running solver: minion -Savile Row: model_6.eprime -Running minion for domain filtering. -Running solver: minion -Savile Row: model_7.eprime -Running minion for domain filtering. -Running solver: minion -Savile Row: model_8.eprime -Running minion for domain filtering. -Running solver: minion -Validating solution: conjure-output/model_1-solution000001.solution -Validating solution: conjure-output/model_2-solution000001.solution -Validating solution: conjure-output/model_3-solution000001.solution -Validating solution: conjure-output/model_4-solution000001.solution -Validating solution: conjure-output/model_5-solution000001.solution -Validating solution: conjure-output/model_6-solution000001.solution -Validating solution: conjure-output/model_7-solution000001.solution -Validating solution: conjure-output/model_8-solution000001.solution diff --git a/tests/custom/issues/370/03/stdout.expected.orig b/tests/custom/issues/370/03/stdout.expected.orig deleted file mode 100644 index 01531ebc89..0000000000 --- a/tests/custom/issues/370/03/stdout.expected.orig +++ /dev/null @@ -1,19 +0,0 @@ -Generating models for 370.essence -Generated models: model_1.eprime, model_2.eprime, model_3.eprime, model_4.eprime -Saved under: conjure-output -Savile Row: model_1.eprime -Running minion for domain filtering. -Running solver: minion -Savile Row: model_2.eprime -Running minion for domain filtering. -Running solver: minion -Savile Row: model_3.eprime -Running minion for domain filtering. -Running solver: minion -Savile Row: model_4.eprime -Running minion for domain filtering. -Running solver: minion -Validating solution: conjure-output/model_1-solution000001.solution -Validating solution: conjure-output/model_2-solution000001.solution -Validating solution: conjure-output/model_3-solution000001.solution -Validating solution: conjure-output/model_4-solution000001.solution diff --git a/tests/custom/issues/388/2/stdout.expected.orig b/tests/custom/issues/388/2/stdout.expected.orig deleted file mode 100644 index 8d07a74ca9..0000000000 --- a/tests/custom/issues/388/2/stdout.expected.orig +++ /dev/null @@ -1,157 +0,0 @@ -Generating models for 388-2.essence -Generated models: model_1_1.eprime, model_1_2.eprime, model_1_3.eprime, model_1_4.eprime, model_2_1.eprime, - model_2_2.eprime, model_2_3.eprime, model_2_4.eprime, model_3_1.eprime, model_3_2.eprime, - model_3_3.eprime, model_3_4.eprime, model_4_1.eprime, model_4_2.eprime, model_4_3.eprime, - model_4_4.eprime -Saved under: conjure-output -Savile Row: model_1_1.eprime -Running minion for domain filtering. -Running solver: minion -Savile Row: model_1_2.eprime -Running minion for domain filtering. -Running solver: minion -Savile Row: model_1_3.eprime -Running minion for domain filtering. -Running solver: minion -Savile Row: model_1_4.eprime -Running minion for domain filtering. -Running solver: minion -Savile Row: model_2_1.eprime -Running minion for domain filtering. -Running solver: minion -Savile Row: model_2_2.eprime -Running minion for domain filtering. -Running solver: minion -Savile Row: model_2_3.eprime -Running minion for domain filtering. -Running solver: minion -Savile Row: model_2_4.eprime -Running minion for domain filtering. -Running solver: minion -Savile Row: model_3_1.eprime -Running minion for domain filtering. -Running solver: minion -Savile Row: model_3_2.eprime -Running minion for domain filtering. -Running solver: minion -Savile Row: model_3_3.eprime -Running minion for domain filtering. -Running solver: minion -Savile Row: model_3_4.eprime -Running minion for domain filtering. -Running solver: minion -Savile Row: model_4_1.eprime -Running minion for domain filtering. -Running solver: minion -Savile Row: model_4_2.eprime -Running minion for domain filtering. -Running solver: minion -Savile Row: model_4_3.eprime -Running minion for domain filtering. -Running solver: minion -Savile Row: model_4_4.eprime -Running minion for domain filtering. -Running solver: minion -Validating solution: conjure-output/model_1_1-solution000001.solution -Validating solution: conjure-output/model_1_2-solution000001.solution -Validating solution: conjure-output/model_1_3-solution000001.solution -Validating solution: conjure-output/model_1_4-solution000001.solution -Validating solution: conjure-output/model_2_1-solution000001.solution -Validating solution: conjure-output/model_2_2-solution000001.solution -Validating solution: conjure-output/model_2_3-solution000001.solution -Validating solution: conjure-output/model_2_4-solution000001.solution -Validating solution: conjure-output/model_3_1-solution000001.solution -Validating solution: conjure-output/model_3_2-solution000001.solution -Validating solution: conjure-output/model_3_3-solution000001.solution -Validating solution: conjure-output/model_3_4-solution000001.solution -Validating solution: conjure-output/model_4_1-solution000001.solution -Validating solution: conjure-output/model_4_2-solution000001.solution -Validating solution: conjure-output/model_4_3-solution000001.solution -Validating solution: conjure-output/model_4_4-solution000001.solution ----- -language Essence 1.3 - -letting C be {1, 2, 3} -letting X be [2, 3, 1, 2, 3, 1, 2, 3, 1, 2; int(1..10)] -letting c be 3 -language Essence 1.3 - -letting C be {1, 2, 3} -letting X be [2, 3, 1, 2, 3, 1, 2, 3, 1, 2; int(1..10)] -letting c be 3 -language Essence 1.3 - -letting C be {1, 2, 3} -letting X be [2, 3, 1, 2, 3, 1, 2, 3, 1, 2; int(1..10)] -letting c be 3 -language Essence 1.3 - -letting C be {1, 2, 3} -letting X be [2, 3, 1, 2, 3, 1, 2, 3, 1, 2; int(1..10)] -letting c be 3 -language Essence 1.3 - -letting C be {1, 2, 3} -letting X be [2, 3, 1, 2, 3, 1, 2, 3, 1, 2; int(1..10)] -letting c be 3 -language Essence 1.3 - -letting C be {1, 2, 3} -letting X be [2, 3, 1, 2, 3, 1, 2, 3, 1, 2; int(1..10)] -letting c be 3 -language Essence 1.3 - -letting C be {1, 2, 3} -letting X be [2, 3, 1, 2, 3, 1, 2, 3, 1, 2; int(1..10)] -letting c be 3 -language Essence 1.3 - -letting C be {1, 2, 3} -letting X be [2, 3, 1, 2, 3, 1, 2, 3, 1, 2; int(1..10)] -letting c be 3 -language Essence 1.3 - -letting C be {1, 2, 3} -letting X be [2, 3, 1, 2, 3, 1, 2, 3, 1, 2; int(1..10)] -letting c be 3 -language Essence 1.3 - -letting C be {1, 2, 3} -letting X be [2, 3, 1, 2, 3, 1, 2, 3, 1, 2; int(1..10)] -letting c be 3 -language Essence 1.3 - -letting C be {1, 2, 3} -letting X be [2, 3, 1, 2, 3, 1, 2, 3, 1, 2; int(1..10)] -letting c be 3 -language Essence 1.3 - -letting C be {1, 2, 3} -letting X be [2, 3, 1, 2, 3, 1, 2, 3, 1, 2; int(1..10)] -letting c be 3 -language Essence 1.3 - -letting C be {1, 2, 3} -letting X be [2, 3, 1, 2, 3, 1, 2, 3, 1, 2; int(1..10)] -letting c be 3 -language Essence 1.3 - -letting C be {1, 2, 3} -letting X be [2, 3, 1, 2, 3, 1, 2, 3, 1, 2; int(1..10)] -letting c be 3 -language Essence 1.3 - -letting C be {1, 2, 3} -letting X be [2, 3, 1, 2, 3, 1, 2, 3, 1, 2; int(1..10)] -letting c be 3 -language Essence 1.3 - -letting C be {1, 2, 3} -letting X be [2, 3, 1, 2, 3, 1, 2, 3, 1, 2; int(1..10)] -letting c be 3 ----- - -language Essence 1.3 -letting C be {1, 2, 3} -letting X be [2, 3, 1, 2, 3, 1, 2, 3, 1, 2; int(1..10)] -letting c be 3 diff --git a/tests/exhaustive/autogen/gen02/expected/model_1_1-solution000001.solution b/tests/exhaustive/autogen/gen02/expected/model_1_1-solution000001.solution new file mode 100644 index 0000000000..19d999ca82 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_1_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting var2 be {{}} diff --git a/tests/exhaustive/autogen/gen02/expected/model_1_1-solution000002.solution b/tests/exhaustive/autogen/gen02/expected/model_1_1-solution000002.solution new file mode 100644 index 0000000000..937293310f --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_1_1-solution000002.solution @@ -0,0 +1,6 @@ +language Essence 1.3 + +letting var2 be {{false}} +$ Visualisation for var2 +$ _ + diff --git a/tests/exhaustive/autogen/gen02/expected/model_1_1-solution000003.solution b/tests/exhaustive/autogen/gen02/expected/model_1_1-solution000003.solution new file mode 100644 index 0000000000..5a187652fa --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_1_1-solution000003.solution @@ -0,0 +1,6 @@ +language Essence 1.3 + +letting var2 be {{true}} +$ Visualisation for var2 +$ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_1_1-solution000004.solution b/tests/exhaustive/autogen/gen02/expected/model_1_1-solution000004.solution new file mode 100644 index 0000000000..0678d41bf8 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_1_1-solution000004.solution @@ -0,0 +1,6 @@ +language Essence 1.3 + +letting var2 be {{false, true}} +$ Visualisation for var2 +$ _ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_1_1-solution000005.solution b/tests/exhaustive/autogen/gen02/expected/model_1_1-solution000005.solution new file mode 100644 index 0000000000..73f1bfe1ac --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_1_1-solution000005.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting var2 be {{}, {false}} +$ Visualisation for var2 +$ +$ _ + diff --git a/tests/exhaustive/autogen/gen02/expected/model_1_1-solution000006.solution b/tests/exhaustive/autogen/gen02/expected/model_1_1-solution000006.solution new file mode 100644 index 0000000000..d4c4a238b9 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_1_1-solution000006.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting var2 be {{}, {true}} +$ Visualisation for var2 +$ +$ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_1_1-solution000007.solution b/tests/exhaustive/autogen/gen02/expected/model_1_1-solution000007.solution new file mode 100644 index 0000000000..9c15a8e4e1 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_1_1-solution000007.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting var2 be {{}, {false, true}} +$ Visualisation for var2 +$ +$ _ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_1_1-solution000008.solution b/tests/exhaustive/autogen/gen02/expected/model_1_1-solution000008.solution new file mode 100644 index 0000000000..2b6a8959da --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_1_1-solution000008.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting var2 be {{false}, {true}} +$ Visualisation for var2 +$ _ +$ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_1_1-solution000009.solution b/tests/exhaustive/autogen/gen02/expected/model_1_1-solution000009.solution new file mode 100644 index 0000000000..b2e98e56a6 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_1_1-solution000009.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting var2 be {{false}, {false, true}} +$ Visualisation for var2 +$ _ +$ _ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_1_1-solution000010.solution b/tests/exhaustive/autogen/gen02/expected/model_1_1-solution000010.solution new file mode 100644 index 0000000000..4fc309134f --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_1_1-solution000010.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting var2 be {{false, true}, {true}} +$ Visualisation for var2 +$ _ T +$ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_1_1-solution000011.solution b/tests/exhaustive/autogen/gen02/expected/model_1_1-solution000011.solution new file mode 100644 index 0000000000..70d0f91f38 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_1_1-solution000011.solution @@ -0,0 +1,8 @@ +language Essence 1.3 + +letting var2 be {{}, {false}, {true}} +$ Visualisation for var2 +$ +$ _ +$ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_1_1-solution000012.solution b/tests/exhaustive/autogen/gen02/expected/model_1_1-solution000012.solution new file mode 100644 index 0000000000..ebc3fe4182 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_1_1-solution000012.solution @@ -0,0 +1,8 @@ +language Essence 1.3 + +letting var2 be {{}, {false}, {false, true}} +$ Visualisation for var2 +$ +$ _ +$ _ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_1_1-solution000013.solution b/tests/exhaustive/autogen/gen02/expected/model_1_1-solution000013.solution new file mode 100644 index 0000000000..fa4340a533 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_1_1-solution000013.solution @@ -0,0 +1,8 @@ +language Essence 1.3 + +letting var2 be {{}, {false, true}, {true}} +$ Visualisation for var2 +$ +$ _ T +$ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_1_1-solution000014.solution b/tests/exhaustive/autogen/gen02/expected/model_1_1-solution000014.solution new file mode 100644 index 0000000000..371f28aab7 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_1_1-solution000014.solution @@ -0,0 +1,8 @@ +language Essence 1.3 + +letting var2 be {{false}, {false, true}, {true}} +$ Visualisation for var2 +$ _ +$ _ T +$ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_1_1-solution000015.solution b/tests/exhaustive/autogen/gen02/expected/model_1_1-solution000015.solution new file mode 100644 index 0000000000..35cfa328e8 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_1_1-solution000015.solution @@ -0,0 +1,9 @@ +language Essence 1.3 + +letting var2 be {{}, {false}, {false, true}, {true}} +$ Visualisation for var2 +$ +$ _ +$ _ T +$ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_1_1.eprime.orig b/tests/exhaustive/autogen/gen02/expected/model_1_1.eprime.orig deleted file mode 100644 index bd9607c328..0000000000 --- a/tests/exhaustive/autogen/gen02/expected/model_1_1.eprime.orig +++ /dev/null @@ -1,43 +0,0 @@ -language ESSENCE' 1.0 - -find var2_ExplicitVarSizeWithMarkerR5_Marker: int(0..4) -find var2_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker: - matrix indexed by [int(1..4)] of int(0..2) -find var2_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values: - matrix indexed by [int(1..4), int(1..2)] of bool -branching on - [var2_ExplicitVarSizeWithMarkerR5_Marker, var2_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker, - var2_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values] -such that - or([q11 <= var2_ExplicitVarSizeWithMarkerR5_Marker /\ - sum([toInt(q12 <= var2_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q11]) - | q12 : int(1..2)]) - >= -7 - | q11 : int(1..4)]), - and([q2 + 1 <= var2_ExplicitVarSizeWithMarkerR5_Marker -> - flatten([[var2_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q2]; int(1)], - [-toInt(var2_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q2, q8]) - | q8 : int(1..2)]; - int(1..2)]) - var2_ExplicitVarSizeWithMarkerR5_Marker -> - var2_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q3] = 0 /\ - and([var2_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q3, q10] = false - | q10 : int(1..2)]) - | q3 : int(1..4)]), - and([q4 <= var2_ExplicitVarSizeWithMarkerR5_Marker -> - (2 <= var2_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q4] -> - -toInt(var2_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q4, 1]) < - -toInt(var2_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q4, 2])) - | q4 : int(1..4)]), - and([q4 <= var2_ExplicitVarSizeWithMarkerR5_Marker -> - and([q6 > var2_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q4] -> - var2_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q4, q6] = false - | q6 : int(1..2)]) - | q4 : int(1..4)]) - diff --git a/tests/exhaustive/autogen/gen02/expected/model_1_2-solution000001.solution b/tests/exhaustive/autogen/gen02/expected/model_1_2-solution000001.solution new file mode 100644 index 0000000000..19d999ca82 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_1_2-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting var2 be {{}} diff --git a/tests/exhaustive/autogen/gen02/expected/model_1_2-solution000002.solution b/tests/exhaustive/autogen/gen02/expected/model_1_2-solution000002.solution new file mode 100644 index 0000000000..937293310f --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_1_2-solution000002.solution @@ -0,0 +1,6 @@ +language Essence 1.3 + +letting var2 be {{false}} +$ Visualisation for var2 +$ _ + diff --git a/tests/exhaustive/autogen/gen02/expected/model_1_2-solution000003.solution b/tests/exhaustive/autogen/gen02/expected/model_1_2-solution000003.solution new file mode 100644 index 0000000000..5a187652fa --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_1_2-solution000003.solution @@ -0,0 +1,6 @@ +language Essence 1.3 + +letting var2 be {{true}} +$ Visualisation for var2 +$ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_1_2-solution000004.solution b/tests/exhaustive/autogen/gen02/expected/model_1_2-solution000004.solution new file mode 100644 index 0000000000..0678d41bf8 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_1_2-solution000004.solution @@ -0,0 +1,6 @@ +language Essence 1.3 + +letting var2 be {{false, true}} +$ Visualisation for var2 +$ _ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_1_2-solution000005.solution b/tests/exhaustive/autogen/gen02/expected/model_1_2-solution000005.solution new file mode 100644 index 0000000000..73f1bfe1ac --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_1_2-solution000005.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting var2 be {{}, {false}} +$ Visualisation for var2 +$ +$ _ + diff --git a/tests/exhaustive/autogen/gen02/expected/model_1_2-solution000006.solution b/tests/exhaustive/autogen/gen02/expected/model_1_2-solution000006.solution new file mode 100644 index 0000000000..d4c4a238b9 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_1_2-solution000006.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting var2 be {{}, {true}} +$ Visualisation for var2 +$ +$ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_1_2-solution000007.solution b/tests/exhaustive/autogen/gen02/expected/model_1_2-solution000007.solution new file mode 100644 index 0000000000..2b6a8959da --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_1_2-solution000007.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting var2 be {{false}, {true}} +$ Visualisation for var2 +$ _ +$ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_1_2-solution000008.solution b/tests/exhaustive/autogen/gen02/expected/model_1_2-solution000008.solution new file mode 100644 index 0000000000..9c15a8e4e1 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_1_2-solution000008.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting var2 be {{}, {false, true}} +$ Visualisation for var2 +$ +$ _ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_1_2-solution000009.solution b/tests/exhaustive/autogen/gen02/expected/model_1_2-solution000009.solution new file mode 100644 index 0000000000..b2e98e56a6 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_1_2-solution000009.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting var2 be {{false}, {false, true}} +$ Visualisation for var2 +$ _ +$ _ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_1_2-solution000010.solution b/tests/exhaustive/autogen/gen02/expected/model_1_2-solution000010.solution new file mode 100644 index 0000000000..4fc309134f --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_1_2-solution000010.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting var2 be {{false, true}, {true}} +$ Visualisation for var2 +$ _ T +$ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_1_2-solution000011.solution b/tests/exhaustive/autogen/gen02/expected/model_1_2-solution000011.solution new file mode 100644 index 0000000000..70d0f91f38 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_1_2-solution000011.solution @@ -0,0 +1,8 @@ +language Essence 1.3 + +letting var2 be {{}, {false}, {true}} +$ Visualisation for var2 +$ +$ _ +$ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_1_2-solution000012.solution b/tests/exhaustive/autogen/gen02/expected/model_1_2-solution000012.solution new file mode 100644 index 0000000000..ebc3fe4182 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_1_2-solution000012.solution @@ -0,0 +1,8 @@ +language Essence 1.3 + +letting var2 be {{}, {false}, {false, true}} +$ Visualisation for var2 +$ +$ _ +$ _ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_1_2-solution000013.solution b/tests/exhaustive/autogen/gen02/expected/model_1_2-solution000013.solution new file mode 100644 index 0000000000..fa4340a533 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_1_2-solution000013.solution @@ -0,0 +1,8 @@ +language Essence 1.3 + +letting var2 be {{}, {false, true}, {true}} +$ Visualisation for var2 +$ +$ _ T +$ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_1_2-solution000014.solution b/tests/exhaustive/autogen/gen02/expected/model_1_2-solution000014.solution new file mode 100644 index 0000000000..371f28aab7 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_1_2-solution000014.solution @@ -0,0 +1,8 @@ +language Essence 1.3 + +letting var2 be {{false}, {false, true}, {true}} +$ Visualisation for var2 +$ _ +$ _ T +$ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_1_2-solution000015.solution b/tests/exhaustive/autogen/gen02/expected/model_1_2-solution000015.solution new file mode 100644 index 0000000000..35cfa328e8 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_1_2-solution000015.solution @@ -0,0 +1,9 @@ +language Essence 1.3 + +letting var2 be {{}, {false}, {false, true}, {true}} +$ Visualisation for var2 +$ +$ _ +$ _ T +$ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_1_2.eprime.orig b/tests/exhaustive/autogen/gen02/expected/model_1_2.eprime.orig deleted file mode 100644 index e4f45c462c..0000000000 --- a/tests/exhaustive/autogen/gen02/expected/model_1_2.eprime.orig +++ /dev/null @@ -1,122 +0,0 @@ -language ESSENCE' 1.0 - -find var2_ExplicitVarSizeWithMarkerR5_Marker: int(0..4) -find var2_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker: - matrix indexed by [int(1..4)] of int(0..2) -find var2_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values: - matrix indexed by [int(1..4), int(1..2)] of bool -find var2_ExplicitVarSizeWithMarkerR4_Marker: int(0..4) -find var2_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Flags: - matrix indexed by [int(1..4), int(1..2)] of bool -find var2_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Values: - matrix indexed by [int(1..4), int(1..2)] of bool -branching on - [var2_ExplicitVarSizeWithMarkerR4_Marker, var2_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Flags, - var2_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Values, var2_ExplicitVarSizeWithMarkerR5_Marker, - var2_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker, - var2_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values] -such that - or([q47 <= var2_ExplicitVarSizeWithMarkerR5_Marker /\ - sum([toInt(q48 <= var2_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q47]) - | q48 : int(1..2)]) - >= -7 - | q47 : int(1..4)]), - and([q2 + 1 <= var2_ExplicitVarSizeWithMarkerR5_Marker -> - flatten([[var2_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q2]; int(1)], - [-toInt(var2_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q2, q8]) - | q8 : int(1..2)]; - int(1..2)]) - var2_ExplicitVarSizeWithMarkerR5_Marker -> - var2_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q3] = 0 /\ - and([var2_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q3, q10] = false - | q10 : int(1..2)]) - | q3 : int(1..4)]), - and([q4 <= var2_ExplicitVarSizeWithMarkerR5_Marker -> - (2 <= var2_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q4] -> - -toInt(var2_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q4, 1]) < - -toInt(var2_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q4, 2])) - | q4 : int(1..4)]), - and([q4 <= var2_ExplicitVarSizeWithMarkerR5_Marker -> - and([q6 > var2_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q4] -> - var2_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q4, q6] = false - | q6 : int(1..2)]) - | q4 : int(1..4)]), - and([q11 + 1 <= var2_ExplicitVarSizeWithMarkerR4_Marker -> - flatten([flatten([[-toInt(var2_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Flags[q11, q19]); - int(1)], - [-toInt(var2_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Values[q11, q19]); - int(1)]; - int(1..2)]) - | q19 : int(1..2)]) - var2_ExplicitVarSizeWithMarkerR4_Marker -> - and([var2_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Flags[q12, q21] = false - | q21 : int(1..2)]) - /\ - and([var2_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Values[q12, q22] = false - | q22 : int(1..2)]) - | q12 : int(1..4)]), - and([q13 <= var2_ExplicitVarSizeWithMarkerR4_Marker -> - (var2_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Flags[q13, 2] -> - -toInt(var2_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Values[q13, 1]) < - -toInt(var2_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Values[q13, 2])) - | q13 : int(1..4)]), - and([q13 <= var2_ExplicitVarSizeWithMarkerR4_Marker -> - and([var2_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Flags[q13, q15] = false -> - var2_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Values[q13, q15] = false - | q15 : int(1..2)]) - | q13 : int(1..4)]), - and([q13 <= var2_ExplicitVarSizeWithMarkerR4_Marker -> - (var2_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Flags[q13, 2] -> - var2_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Flags[q13, 1]) - | q13 : int(1..4)]), - and([q24 <= var2_ExplicitVarSizeWithMarkerR4_Marker -> - or([q26 <= var2_ExplicitVarSizeWithMarkerR5_Marker /\ - (and([q28 <= var2_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q26] -> - or([var2_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Flags[q24, q30] /\ - var2_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Values[q24, q30] = - var2_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q26, q28] - | q30 : int(1..2)]) - | q28 : int(1..2)]) - /\ - and([var2_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Flags[q24, q32] -> - or([q34 <= var2_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q26] /\ - var2_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q26, q34] = - var2_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Values[q24, q32] - | q34 : int(1..2)]) - | q32 : int(1..2)])) - | q26 : int(1..4)]) - | q24 : int(1..4)]), - and([q36 <= var2_ExplicitVarSizeWithMarkerR5_Marker -> - or([q38 <= var2_ExplicitVarSizeWithMarkerR4_Marker /\ - (and([var2_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Flags[q38, q40] -> - or([q42 <= var2_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q36] /\ - var2_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q36, q42] = - var2_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Values[q38, q40] - | q42 : int(1..2)]) - | q40 : int(1..2)]) - /\ - and([q44 <= var2_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q36] -> - or([var2_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Flags[q38, q46] /\ - var2_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Values[q38, q46] = - var2_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q36, q44] - | q46 : int(1..2)]) - | q44 : int(1..2)])) - | q38 : int(1..4)]) - | q36 : int(1..4)]) - diff --git a/tests/exhaustive/autogen/gen02/expected/model_1_3-solution000001.solution b/tests/exhaustive/autogen/gen02/expected/model_1_3-solution000001.solution new file mode 100644 index 0000000000..19d999ca82 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_1_3-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting var2 be {{}} diff --git a/tests/exhaustive/autogen/gen02/expected/model_1_3-solution000002.solution b/tests/exhaustive/autogen/gen02/expected/model_1_3-solution000002.solution new file mode 100644 index 0000000000..937293310f --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_1_3-solution000002.solution @@ -0,0 +1,6 @@ +language Essence 1.3 + +letting var2 be {{false}} +$ Visualisation for var2 +$ _ + diff --git a/tests/exhaustive/autogen/gen02/expected/model_1_3-solution000003.solution b/tests/exhaustive/autogen/gen02/expected/model_1_3-solution000003.solution new file mode 100644 index 0000000000..5a187652fa --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_1_3-solution000003.solution @@ -0,0 +1,6 @@ +language Essence 1.3 + +letting var2 be {{true}} +$ Visualisation for var2 +$ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_1_3-solution000004.solution b/tests/exhaustive/autogen/gen02/expected/model_1_3-solution000004.solution new file mode 100644 index 0000000000..0678d41bf8 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_1_3-solution000004.solution @@ -0,0 +1,6 @@ +language Essence 1.3 + +letting var2 be {{false, true}} +$ Visualisation for var2 +$ _ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_1_3-solution000005.solution b/tests/exhaustive/autogen/gen02/expected/model_1_3-solution000005.solution new file mode 100644 index 0000000000..73f1bfe1ac --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_1_3-solution000005.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting var2 be {{}, {false}} +$ Visualisation for var2 +$ +$ _ + diff --git a/tests/exhaustive/autogen/gen02/expected/model_1_3-solution000006.solution b/tests/exhaustive/autogen/gen02/expected/model_1_3-solution000006.solution new file mode 100644 index 0000000000..d4c4a238b9 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_1_3-solution000006.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting var2 be {{}, {true}} +$ Visualisation for var2 +$ +$ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_1_3-solution000007.solution b/tests/exhaustive/autogen/gen02/expected/model_1_3-solution000007.solution new file mode 100644 index 0000000000..9c15a8e4e1 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_1_3-solution000007.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting var2 be {{}, {false, true}} +$ Visualisation for var2 +$ +$ _ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_1_3-solution000008.solution b/tests/exhaustive/autogen/gen02/expected/model_1_3-solution000008.solution new file mode 100644 index 0000000000..2b6a8959da --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_1_3-solution000008.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting var2 be {{false}, {true}} +$ Visualisation for var2 +$ _ +$ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_1_3-solution000009.solution b/tests/exhaustive/autogen/gen02/expected/model_1_3-solution000009.solution new file mode 100644 index 0000000000..b2e98e56a6 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_1_3-solution000009.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting var2 be {{false}, {false, true}} +$ Visualisation for var2 +$ _ +$ _ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_1_3-solution000010.solution b/tests/exhaustive/autogen/gen02/expected/model_1_3-solution000010.solution new file mode 100644 index 0000000000..4fc309134f --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_1_3-solution000010.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting var2 be {{false, true}, {true}} +$ Visualisation for var2 +$ _ T +$ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_1_3-solution000011.solution b/tests/exhaustive/autogen/gen02/expected/model_1_3-solution000011.solution new file mode 100644 index 0000000000..70d0f91f38 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_1_3-solution000011.solution @@ -0,0 +1,8 @@ +language Essence 1.3 + +letting var2 be {{}, {false}, {true}} +$ Visualisation for var2 +$ +$ _ +$ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_1_3-solution000012.solution b/tests/exhaustive/autogen/gen02/expected/model_1_3-solution000012.solution new file mode 100644 index 0000000000..ebc3fe4182 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_1_3-solution000012.solution @@ -0,0 +1,8 @@ +language Essence 1.3 + +letting var2 be {{}, {false}, {false, true}} +$ Visualisation for var2 +$ +$ _ +$ _ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_1_3-solution000013.solution b/tests/exhaustive/autogen/gen02/expected/model_1_3-solution000013.solution new file mode 100644 index 0000000000..fa4340a533 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_1_3-solution000013.solution @@ -0,0 +1,8 @@ +language Essence 1.3 + +letting var2 be {{}, {false, true}, {true}} +$ Visualisation for var2 +$ +$ _ T +$ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_1_3-solution000014.solution b/tests/exhaustive/autogen/gen02/expected/model_1_3-solution000014.solution new file mode 100644 index 0000000000..371f28aab7 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_1_3-solution000014.solution @@ -0,0 +1,8 @@ +language Essence 1.3 + +letting var2 be {{false}, {false, true}, {true}} +$ Visualisation for var2 +$ _ +$ _ T +$ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_1_3-solution000015.solution b/tests/exhaustive/autogen/gen02/expected/model_1_3-solution000015.solution new file mode 100644 index 0000000000..35cfa328e8 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_1_3-solution000015.solution @@ -0,0 +1,9 @@ +language Essence 1.3 + +letting var2 be {{}, {false}, {false, true}, {true}} +$ Visualisation for var2 +$ +$ _ +$ _ T +$ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_1_3.eprime.orig b/tests/exhaustive/autogen/gen02/expected/model_1_3.eprime.orig deleted file mode 100644 index 03b9841ffb..0000000000 --- a/tests/exhaustive/autogen/gen02/expected/model_1_3.eprime.orig +++ /dev/null @@ -1,97 +0,0 @@ -language ESSENCE' 1.0 - -find var2_ExplicitVarSizeWithMarkerR5_Marker: int(0..4) -find var2_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker: - matrix indexed by [int(1..4)] of int(0..2) -find var2_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values: - matrix indexed by [int(1..4), int(1..2)] of bool -find var2_ExplicitVarSizeWithFlagsR5_Flags: matrix indexed by [int(1..4)] of bool -find var2_ExplicitVarSizeWithFlagsR5_Values_ExplicitVarSizeWithMarker_Marker: matrix indexed by [int(1..4)] of int(0..2) -find var2_ExplicitVarSizeWithFlagsR5_Values_ExplicitVarSizeWithMarker_Values: - matrix indexed by [int(1..4), int(1..2)] of bool -branching on - [var2_ExplicitVarSizeWithFlagsR5_Flags, var2_ExplicitVarSizeWithFlagsR5_Values_ExplicitVarSizeWithMarker_Marker, - var2_ExplicitVarSizeWithFlagsR5_Values_ExplicitVarSizeWithMarker_Values, var2_ExplicitVarSizeWithMarkerR5_Marker, - var2_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker, - var2_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values] -such that - or([q34 <= var2_ExplicitVarSizeWithMarkerR5_Marker /\ - sum([toInt(q35 <= var2_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q34]) - | q35 : int(1..2)]) - >= -7 - | q34 : int(1..4)]), - and([q2 + 1 <= var2_ExplicitVarSizeWithMarkerR5_Marker -> - flatten([[var2_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q2]; int(1)], - [-toInt(var2_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q2, q8]) - | q8 : int(1..2)]; - int(1..2)]) - var2_ExplicitVarSizeWithMarkerR5_Marker -> - var2_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q3] = 0 /\ - and([var2_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q3, q10] = false - | q10 : int(1..2)]) - | q3 : int(1..4)]), - and([q4 <= var2_ExplicitVarSizeWithMarkerR5_Marker -> - (2 <= var2_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q4] -> - -toInt(var2_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q4, 1]) < - -toInt(var2_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q4, 2])) - | q4 : int(1..4)]), - and([q4 <= var2_ExplicitVarSizeWithMarkerR5_Marker -> - and([q6 > var2_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q4] -> - var2_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q4, q6] = false - | q6 : int(1..2)]) - | q4 : int(1..4)]), - and([var2_ExplicitVarSizeWithFlagsR5_Flags[q11 + 1] -> - flatten([[var2_ExplicitVarSizeWithFlagsR5_Values_ExplicitVarSizeWithMarker_Marker[q11]; int(1)], - [-toInt(var2_ExplicitVarSizeWithFlagsR5_Values_ExplicitVarSizeWithMarker_Values[q11, q19]) - | q19 : int(1..2)]; - int(1..2)]) - - var2_ExplicitVarSizeWithFlagsR5_Values_ExplicitVarSizeWithMarker_Marker[q12] = 0 /\ - and([var2_ExplicitVarSizeWithFlagsR5_Values_ExplicitVarSizeWithMarker_Values[q12, q21] = false - | q21 : int(1..2)]) - | q12 : int(1..4)]), - and([var2_ExplicitVarSizeWithFlagsR5_Flags[q13 + 1] -> var2_ExplicitVarSizeWithFlagsR5_Flags[q13] - | q13 : int(1..3)]), - and([var2_ExplicitVarSizeWithFlagsR5_Flags[q15] -> - (2 <= var2_ExplicitVarSizeWithFlagsR5_Values_ExplicitVarSizeWithMarker_Marker[q15] -> - -toInt(var2_ExplicitVarSizeWithFlagsR5_Values_ExplicitVarSizeWithMarker_Values[q15, 1]) < - -toInt(var2_ExplicitVarSizeWithFlagsR5_Values_ExplicitVarSizeWithMarker_Values[q15, 2])) - | q15 : int(1..4)]), - and([var2_ExplicitVarSizeWithFlagsR5_Flags[q15] -> - and([q17 > var2_ExplicitVarSizeWithFlagsR5_Values_ExplicitVarSizeWithMarker_Marker[q15] -> - var2_ExplicitVarSizeWithFlagsR5_Values_ExplicitVarSizeWithMarker_Values[q15, q17] = false - | q17 : int(1..2)]) - | q15 : int(1..4)]), - and([var2_ExplicitVarSizeWithFlagsR5_Flags[q23] -> - or([q25 <= var2_ExplicitVarSizeWithMarkerR5_Marker /\ - (var2_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q25] = - var2_ExplicitVarSizeWithFlagsR5_Values_ExplicitVarSizeWithMarker_Marker[q23] - /\ - and([var2_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q25, q26] = - var2_ExplicitVarSizeWithFlagsR5_Values_ExplicitVarSizeWithMarker_Values[q23, q26] - | q26 : int(1..2)])) - | q25 : int(1..4)]) - | q23 : int(1..4)]), - and([q29 <= var2_ExplicitVarSizeWithMarkerR5_Marker -> - or([var2_ExplicitVarSizeWithFlagsR5_Flags[q31] /\ - (var2_ExplicitVarSizeWithFlagsR5_Values_ExplicitVarSizeWithMarker_Marker[q31] = - var2_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q29] - /\ - and([var2_ExplicitVarSizeWithFlagsR5_Values_ExplicitVarSizeWithMarker_Values[q31, q32] = - var2_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q29, q32] - | q32 : int(1..2)])) - | q31 : int(1..4)]) - | q29 : int(1..4)]) - diff --git a/tests/exhaustive/autogen/gen02/expected/model_1_4-solution000001.solution b/tests/exhaustive/autogen/gen02/expected/model_1_4-solution000001.solution new file mode 100644 index 0000000000..19d999ca82 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_1_4-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting var2 be {{}} diff --git a/tests/exhaustive/autogen/gen02/expected/model_1_4-solution000002.solution b/tests/exhaustive/autogen/gen02/expected/model_1_4-solution000002.solution new file mode 100644 index 0000000000..937293310f --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_1_4-solution000002.solution @@ -0,0 +1,6 @@ +language Essence 1.3 + +letting var2 be {{false}} +$ Visualisation for var2 +$ _ + diff --git a/tests/exhaustive/autogen/gen02/expected/model_1_4-solution000003.solution b/tests/exhaustive/autogen/gen02/expected/model_1_4-solution000003.solution new file mode 100644 index 0000000000..5a187652fa --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_1_4-solution000003.solution @@ -0,0 +1,6 @@ +language Essence 1.3 + +letting var2 be {{true}} +$ Visualisation for var2 +$ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_1_4-solution000004.solution b/tests/exhaustive/autogen/gen02/expected/model_1_4-solution000004.solution new file mode 100644 index 0000000000..0678d41bf8 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_1_4-solution000004.solution @@ -0,0 +1,6 @@ +language Essence 1.3 + +letting var2 be {{false, true}} +$ Visualisation for var2 +$ _ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_1_4-solution000005.solution b/tests/exhaustive/autogen/gen02/expected/model_1_4-solution000005.solution new file mode 100644 index 0000000000..73f1bfe1ac --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_1_4-solution000005.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting var2 be {{}, {false}} +$ Visualisation for var2 +$ +$ _ + diff --git a/tests/exhaustive/autogen/gen02/expected/model_1_4-solution000006.solution b/tests/exhaustive/autogen/gen02/expected/model_1_4-solution000006.solution new file mode 100644 index 0000000000..d4c4a238b9 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_1_4-solution000006.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting var2 be {{}, {true}} +$ Visualisation for var2 +$ +$ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_1_4-solution000007.solution b/tests/exhaustive/autogen/gen02/expected/model_1_4-solution000007.solution new file mode 100644 index 0000000000..2b6a8959da --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_1_4-solution000007.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting var2 be {{false}, {true}} +$ Visualisation for var2 +$ _ +$ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_1_4-solution000008.solution b/tests/exhaustive/autogen/gen02/expected/model_1_4-solution000008.solution new file mode 100644 index 0000000000..9c15a8e4e1 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_1_4-solution000008.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting var2 be {{}, {false, true}} +$ Visualisation for var2 +$ +$ _ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_1_4-solution000009.solution b/tests/exhaustive/autogen/gen02/expected/model_1_4-solution000009.solution new file mode 100644 index 0000000000..b2e98e56a6 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_1_4-solution000009.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting var2 be {{false}, {false, true}} +$ Visualisation for var2 +$ _ +$ _ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_1_4-solution000010.solution b/tests/exhaustive/autogen/gen02/expected/model_1_4-solution000010.solution new file mode 100644 index 0000000000..4fc309134f --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_1_4-solution000010.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting var2 be {{false, true}, {true}} +$ Visualisation for var2 +$ _ T +$ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_1_4-solution000011.solution b/tests/exhaustive/autogen/gen02/expected/model_1_4-solution000011.solution new file mode 100644 index 0000000000..70d0f91f38 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_1_4-solution000011.solution @@ -0,0 +1,8 @@ +language Essence 1.3 + +letting var2 be {{}, {false}, {true}} +$ Visualisation for var2 +$ +$ _ +$ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_1_4-solution000012.solution b/tests/exhaustive/autogen/gen02/expected/model_1_4-solution000012.solution new file mode 100644 index 0000000000..ebc3fe4182 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_1_4-solution000012.solution @@ -0,0 +1,8 @@ +language Essence 1.3 + +letting var2 be {{}, {false}, {false, true}} +$ Visualisation for var2 +$ +$ _ +$ _ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_1_4-solution000013.solution b/tests/exhaustive/autogen/gen02/expected/model_1_4-solution000013.solution new file mode 100644 index 0000000000..fa4340a533 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_1_4-solution000013.solution @@ -0,0 +1,8 @@ +language Essence 1.3 + +letting var2 be {{}, {false, true}, {true}} +$ Visualisation for var2 +$ +$ _ T +$ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_1_4-solution000014.solution b/tests/exhaustive/autogen/gen02/expected/model_1_4-solution000014.solution new file mode 100644 index 0000000000..371f28aab7 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_1_4-solution000014.solution @@ -0,0 +1,8 @@ +language Essence 1.3 + +letting var2 be {{false}, {false, true}, {true}} +$ Visualisation for var2 +$ _ +$ _ T +$ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_1_4-solution000015.solution b/tests/exhaustive/autogen/gen02/expected/model_1_4-solution000015.solution new file mode 100644 index 0000000000..35cfa328e8 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_1_4-solution000015.solution @@ -0,0 +1,9 @@ +language Essence 1.3 + +letting var2 be {{}, {false}, {false, true}, {true}} +$ Visualisation for var2 +$ +$ _ +$ _ T +$ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_1_4.eprime.orig b/tests/exhaustive/autogen/gen02/expected/model_1_4.eprime.orig deleted file mode 100644 index d4d7fdf24c..0000000000 --- a/tests/exhaustive/autogen/gen02/expected/model_1_4.eprime.orig +++ /dev/null @@ -1,123 +0,0 @@ -language ESSENCE' 1.0 - -find var2_ExplicitVarSizeWithMarkerR5_Marker: int(0..4) -find var2_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker: - matrix indexed by [int(1..4)] of int(0..2) -find var2_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values: - matrix indexed by [int(1..4), int(1..2)] of bool -find var2_ExplicitVarSizeWithFlagsR4_Flags: matrix indexed by [int(1..4)] of bool -find var2_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Flags: - matrix indexed by [int(1..4), int(1..2)] of bool -find var2_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Values: - matrix indexed by [int(1..4), int(1..2)] of bool -branching on - [var2_ExplicitVarSizeWithFlagsR4_Flags, var2_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Flags, - var2_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Values, var2_ExplicitVarSizeWithMarkerR5_Marker, - var2_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker, - var2_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values] -such that - or([q49 <= var2_ExplicitVarSizeWithMarkerR5_Marker /\ - sum([toInt(q50 <= var2_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q49]) - | q50 : int(1..2)]) - >= -7 - | q49 : int(1..4)]), - and([q2 + 1 <= var2_ExplicitVarSizeWithMarkerR5_Marker -> - flatten([[var2_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q2]; int(1)], - [-toInt(var2_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q2, q8]) - | q8 : int(1..2)]; - int(1..2)]) - var2_ExplicitVarSizeWithMarkerR5_Marker -> - var2_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q3] = 0 /\ - and([var2_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q3, q10] = false - | q10 : int(1..2)]) - | q3 : int(1..4)]), - and([q4 <= var2_ExplicitVarSizeWithMarkerR5_Marker -> - (2 <= var2_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q4] -> - -toInt(var2_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q4, 1]) < - -toInt(var2_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q4, 2])) - | q4 : int(1..4)]), - and([q4 <= var2_ExplicitVarSizeWithMarkerR5_Marker -> - and([q6 > var2_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q4] -> - var2_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q4, q6] = false - | q6 : int(1..2)]) - | q4 : int(1..4)]), - and([var2_ExplicitVarSizeWithFlagsR4_Flags[q11 + 1] -> - flatten([flatten([[-toInt(var2_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Flags[q11, q21]); - int(1)], - [-toInt(var2_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Values[q11, q21]); - int(1)]; - int(1..2)]) - | q21 : int(1..2)]) - - and([var2_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Flags[q12, q23] = false - | q23 : int(1..2)]) - /\ - and([var2_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Values[q12, q24] = false - | q24 : int(1..2)]) - | q12 : int(1..4)]), - and([var2_ExplicitVarSizeWithFlagsR4_Flags[q13 + 1] -> var2_ExplicitVarSizeWithFlagsR4_Flags[q13] - | q13 : int(1..3)]), - and([var2_ExplicitVarSizeWithFlagsR4_Flags[q15] -> - (var2_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Flags[q15, 2] -> - -toInt(var2_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Values[q15, 1]) < - -toInt(var2_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Values[q15, 2])) - | q15 : int(1..4)]), - and([var2_ExplicitVarSizeWithFlagsR4_Flags[q15] -> - and([var2_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Flags[q15, q17] = false -> - var2_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Values[q15, q17] = false - | q17 : int(1..2)]) - | q15 : int(1..4)]), - and([var2_ExplicitVarSizeWithFlagsR4_Flags[q15] -> - (var2_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Flags[q15, 2] -> - var2_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Flags[q15, 1]) - | q15 : int(1..4)]), - and([var2_ExplicitVarSizeWithFlagsR4_Flags[q26] -> - or([q28 <= var2_ExplicitVarSizeWithMarkerR5_Marker /\ - (and([q30 <= var2_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q28] -> - or([var2_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Flags[q26, q32] /\ - var2_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Values[q26, q32] = - var2_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q28, q30] - | q32 : int(1..2)]) - | q30 : int(1..2)]) - /\ - and([var2_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Flags[q26, q34] -> - or([q36 <= var2_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q28] /\ - var2_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q28, q36] = - var2_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Values[q26, q34] - | q36 : int(1..2)]) - | q34 : int(1..2)])) - | q28 : int(1..4)]) - | q26 : int(1..4)]), - and([q38 <= var2_ExplicitVarSizeWithMarkerR5_Marker -> - or([var2_ExplicitVarSizeWithFlagsR4_Flags[q40] /\ - (and([var2_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Flags[q40, q42] -> - or([q44 <= var2_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q38] /\ - var2_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q38, q44] = - var2_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Values[q40, q42] - | q44 : int(1..2)]) - | q42 : int(1..2)]) - /\ - and([q46 <= var2_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q38] -> - or([var2_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Flags[q40, q48] /\ - var2_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Values[q40, q48] = - var2_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q38, q46] - | q48 : int(1..2)]) - | q46 : int(1..2)])) - | q40 : int(1..4)]) - | q38 : int(1..4)]) - diff --git a/tests/exhaustive/autogen/gen02/expected/model_2_1-solution000001.solution b/tests/exhaustive/autogen/gen02/expected/model_2_1-solution000001.solution new file mode 100644 index 0000000000..19d999ca82 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_2_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting var2 be {{}} diff --git a/tests/exhaustive/autogen/gen02/expected/model_2_1-solution000002.solution b/tests/exhaustive/autogen/gen02/expected/model_2_1-solution000002.solution new file mode 100644 index 0000000000..937293310f --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_2_1-solution000002.solution @@ -0,0 +1,6 @@ +language Essence 1.3 + +letting var2 be {{false}} +$ Visualisation for var2 +$ _ + diff --git a/tests/exhaustive/autogen/gen02/expected/model_2_1-solution000003.solution b/tests/exhaustive/autogen/gen02/expected/model_2_1-solution000003.solution new file mode 100644 index 0000000000..5a187652fa --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_2_1-solution000003.solution @@ -0,0 +1,6 @@ +language Essence 1.3 + +letting var2 be {{true}} +$ Visualisation for var2 +$ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_2_1-solution000004.solution b/tests/exhaustive/autogen/gen02/expected/model_2_1-solution000004.solution new file mode 100644 index 0000000000..0678d41bf8 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_2_1-solution000004.solution @@ -0,0 +1,6 @@ +language Essence 1.3 + +letting var2 be {{false, true}} +$ Visualisation for var2 +$ _ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_2_1-solution000005.solution b/tests/exhaustive/autogen/gen02/expected/model_2_1-solution000005.solution new file mode 100644 index 0000000000..73f1bfe1ac --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_2_1-solution000005.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting var2 be {{}, {false}} +$ Visualisation for var2 +$ +$ _ + diff --git a/tests/exhaustive/autogen/gen02/expected/model_2_1-solution000006.solution b/tests/exhaustive/autogen/gen02/expected/model_2_1-solution000006.solution new file mode 100644 index 0000000000..d4c4a238b9 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_2_1-solution000006.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting var2 be {{}, {true}} +$ Visualisation for var2 +$ +$ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_2_1-solution000007.solution b/tests/exhaustive/autogen/gen02/expected/model_2_1-solution000007.solution new file mode 100644 index 0000000000..9c15a8e4e1 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_2_1-solution000007.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting var2 be {{}, {false, true}} +$ Visualisation for var2 +$ +$ _ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_2_1-solution000008.solution b/tests/exhaustive/autogen/gen02/expected/model_2_1-solution000008.solution new file mode 100644 index 0000000000..2b6a8959da --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_2_1-solution000008.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting var2 be {{false}, {true}} +$ Visualisation for var2 +$ _ +$ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_2_1-solution000009.solution b/tests/exhaustive/autogen/gen02/expected/model_2_1-solution000009.solution new file mode 100644 index 0000000000..b2e98e56a6 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_2_1-solution000009.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting var2 be {{false}, {false, true}} +$ Visualisation for var2 +$ _ +$ _ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_2_1-solution000010.solution b/tests/exhaustive/autogen/gen02/expected/model_2_1-solution000010.solution new file mode 100644 index 0000000000..4fc309134f --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_2_1-solution000010.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting var2 be {{false, true}, {true}} +$ Visualisation for var2 +$ _ T +$ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_2_1-solution000011.solution b/tests/exhaustive/autogen/gen02/expected/model_2_1-solution000011.solution new file mode 100644 index 0000000000..70d0f91f38 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_2_1-solution000011.solution @@ -0,0 +1,8 @@ +language Essence 1.3 + +letting var2 be {{}, {false}, {true}} +$ Visualisation for var2 +$ +$ _ +$ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_2_1-solution000012.solution b/tests/exhaustive/autogen/gen02/expected/model_2_1-solution000012.solution new file mode 100644 index 0000000000..ebc3fe4182 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_2_1-solution000012.solution @@ -0,0 +1,8 @@ +language Essence 1.3 + +letting var2 be {{}, {false}, {false, true}} +$ Visualisation for var2 +$ +$ _ +$ _ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_2_1-solution000013.solution b/tests/exhaustive/autogen/gen02/expected/model_2_1-solution000013.solution new file mode 100644 index 0000000000..fa4340a533 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_2_1-solution000013.solution @@ -0,0 +1,8 @@ +language Essence 1.3 + +letting var2 be {{}, {false, true}, {true}} +$ Visualisation for var2 +$ +$ _ T +$ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_2_1-solution000014.solution b/tests/exhaustive/autogen/gen02/expected/model_2_1-solution000014.solution new file mode 100644 index 0000000000..371f28aab7 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_2_1-solution000014.solution @@ -0,0 +1,8 @@ +language Essence 1.3 + +letting var2 be {{false}, {false, true}, {true}} +$ Visualisation for var2 +$ _ +$ _ T +$ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_2_1-solution000015.solution b/tests/exhaustive/autogen/gen02/expected/model_2_1-solution000015.solution new file mode 100644 index 0000000000..35cfa328e8 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_2_1-solution000015.solution @@ -0,0 +1,9 @@ +language Essence 1.3 + +letting var2 be {{}, {false}, {false, true}, {true}} +$ Visualisation for var2 +$ +$ _ +$ _ T +$ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_2_1.eprime.orig b/tests/exhaustive/autogen/gen02/expected/model_2_1.eprime.orig deleted file mode 100644 index f5534e4857..0000000000 --- a/tests/exhaustive/autogen/gen02/expected/model_2_1.eprime.orig +++ /dev/null @@ -1,120 +0,0 @@ -language ESSENCE' 1.0 - -find var2_ExplicitVarSizeWithMarkerR4_Marker: int(0..4) -find var2_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Flags: - matrix indexed by [int(1..4), int(1..2)] of bool -find var2_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Values: - matrix indexed by [int(1..4), int(1..2)] of bool -find var2_ExplicitVarSizeWithMarkerR5_Marker: int(0..4) -find var2_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker: - matrix indexed by [int(1..4)] of int(0..2) -find var2_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values: - matrix indexed by [int(1..4), int(1..2)] of bool -branching on - [var2_ExplicitVarSizeWithMarkerR5_Marker, var2_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker, - var2_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values, var2_ExplicitVarSizeWithMarkerR4_Marker, - var2_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Flags, - var2_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Values] -such that - or([q47 <= var2_ExplicitVarSizeWithMarkerR4_Marker /\ - sum([toInt(var2_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Flags[q47, q48]) | q48 : int(1..2)]) - >= -7 - | q47 : int(1..4)]), - and([q2 + 1 <= var2_ExplicitVarSizeWithMarkerR4_Marker -> - flatten([flatten([[-toInt(var2_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Flags[q2, q10]); - int(1)], - [-toInt(var2_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Values[q2, q10]); - int(1)]; - int(1..2)]) - | q10 : int(1..2)]) - var2_ExplicitVarSizeWithMarkerR4_Marker -> - and([var2_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Flags[q3, q12] = false - | q12 : int(1..2)]) - /\ - and([var2_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Values[q3, q13] = false - | q13 : int(1..2)]) - | q3 : int(1..4)]), - and([q4 <= var2_ExplicitVarSizeWithMarkerR4_Marker -> - (var2_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Flags[q4, 2] -> - -toInt(var2_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Values[q4, 1]) < - -toInt(var2_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Values[q4, 2])) - | q4 : int(1..4)]), - and([q4 <= var2_ExplicitVarSizeWithMarkerR4_Marker -> - and([var2_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Flags[q4, q6] = false -> - var2_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Values[q4, q6] = false - | q6 : int(1..2)]) - | q4 : int(1..4)]), - and([q4 <= var2_ExplicitVarSizeWithMarkerR4_Marker -> - (var2_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Flags[q4, 2] -> - var2_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Flags[q4, 1]) - | q4 : int(1..4)]), - and([q14 + 1 <= var2_ExplicitVarSizeWithMarkerR5_Marker -> - flatten([[var2_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q14]; int(1)], - [-toInt(var2_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q14, q20]) - | q20 : int(1..2)]; - int(1..2)]) - var2_ExplicitVarSizeWithMarkerR5_Marker -> - var2_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q15] = 0 /\ - and([var2_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q15, q22] = false - | q22 : int(1..2)]) - | q15 : int(1..4)]), - and([q16 <= var2_ExplicitVarSizeWithMarkerR5_Marker -> - (2 <= var2_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q16] -> - -toInt(var2_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q16, 1]) < - -toInt(var2_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q16, 2])) - | q16 : int(1..4)]), - and([q16 <= var2_ExplicitVarSizeWithMarkerR5_Marker -> - and([q18 > var2_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q16] -> - var2_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q16, q18] = false - | q18 : int(1..2)]) - | q16 : int(1..4)]), - and([q24 <= var2_ExplicitVarSizeWithMarkerR5_Marker -> - or([q26 <= var2_ExplicitVarSizeWithMarkerR4_Marker /\ - (and([var2_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Flags[q26, q28] -> - or([q30 <= var2_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q24] /\ - var2_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q24, q30] = - var2_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Values[q26, q28] - | q30 : int(1..2)]) - | q28 : int(1..2)]) - /\ - and([q32 <= var2_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q24] -> - or([var2_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Flags[q26, q34] /\ - var2_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Values[q26, q34] = - var2_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q24, q32] - | q34 : int(1..2)]) - | q32 : int(1..2)])) - | q26 : int(1..4)]) - | q24 : int(1..4)]), - and([q36 <= var2_ExplicitVarSizeWithMarkerR4_Marker -> - or([q38 <= var2_ExplicitVarSizeWithMarkerR5_Marker /\ - (and([q40 <= var2_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q38] -> - or([var2_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Flags[q36, q42] /\ - var2_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Values[q36, q42] = - var2_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q38, q40] - | q42 : int(1..2)]) - | q40 : int(1..2)]) - /\ - and([var2_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Flags[q36, q44] -> - or([q46 <= var2_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q38] /\ - var2_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q38, q46] = - var2_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Values[q36, q44] - | q46 : int(1..2)]) - | q44 : int(1..2)])) - | q38 : int(1..4)]) - | q36 : int(1..4)]) - diff --git a/tests/exhaustive/autogen/gen02/expected/model_2_2-solution000001.solution b/tests/exhaustive/autogen/gen02/expected/model_2_2-solution000001.solution new file mode 100644 index 0000000000..19d999ca82 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_2_2-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting var2 be {{}} diff --git a/tests/exhaustive/autogen/gen02/expected/model_2_2-solution000002.solution b/tests/exhaustive/autogen/gen02/expected/model_2_2-solution000002.solution new file mode 100644 index 0000000000..937293310f --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_2_2-solution000002.solution @@ -0,0 +1,6 @@ +language Essence 1.3 + +letting var2 be {{false}} +$ Visualisation for var2 +$ _ + diff --git a/tests/exhaustive/autogen/gen02/expected/model_2_2-solution000003.solution b/tests/exhaustive/autogen/gen02/expected/model_2_2-solution000003.solution new file mode 100644 index 0000000000..5a187652fa --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_2_2-solution000003.solution @@ -0,0 +1,6 @@ +language Essence 1.3 + +letting var2 be {{true}} +$ Visualisation for var2 +$ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_2_2-solution000004.solution b/tests/exhaustive/autogen/gen02/expected/model_2_2-solution000004.solution new file mode 100644 index 0000000000..0678d41bf8 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_2_2-solution000004.solution @@ -0,0 +1,6 @@ +language Essence 1.3 + +letting var2 be {{false, true}} +$ Visualisation for var2 +$ _ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_2_2-solution000005.solution b/tests/exhaustive/autogen/gen02/expected/model_2_2-solution000005.solution new file mode 100644 index 0000000000..73f1bfe1ac --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_2_2-solution000005.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting var2 be {{}, {false}} +$ Visualisation for var2 +$ +$ _ + diff --git a/tests/exhaustive/autogen/gen02/expected/model_2_2-solution000006.solution b/tests/exhaustive/autogen/gen02/expected/model_2_2-solution000006.solution new file mode 100644 index 0000000000..d4c4a238b9 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_2_2-solution000006.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting var2 be {{}, {true}} +$ Visualisation for var2 +$ +$ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_2_2-solution000007.solution b/tests/exhaustive/autogen/gen02/expected/model_2_2-solution000007.solution new file mode 100644 index 0000000000..2b6a8959da --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_2_2-solution000007.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting var2 be {{false}, {true}} +$ Visualisation for var2 +$ _ +$ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_2_2-solution000008.solution b/tests/exhaustive/autogen/gen02/expected/model_2_2-solution000008.solution new file mode 100644 index 0000000000..9c15a8e4e1 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_2_2-solution000008.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting var2 be {{}, {false, true}} +$ Visualisation for var2 +$ +$ _ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_2_2-solution000009.solution b/tests/exhaustive/autogen/gen02/expected/model_2_2-solution000009.solution new file mode 100644 index 0000000000..b2e98e56a6 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_2_2-solution000009.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting var2 be {{false}, {false, true}} +$ Visualisation for var2 +$ _ +$ _ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_2_2-solution000010.solution b/tests/exhaustive/autogen/gen02/expected/model_2_2-solution000010.solution new file mode 100644 index 0000000000..4fc309134f --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_2_2-solution000010.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting var2 be {{false, true}, {true}} +$ Visualisation for var2 +$ _ T +$ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_2_2-solution000011.solution b/tests/exhaustive/autogen/gen02/expected/model_2_2-solution000011.solution new file mode 100644 index 0000000000..70d0f91f38 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_2_2-solution000011.solution @@ -0,0 +1,8 @@ +language Essence 1.3 + +letting var2 be {{}, {false}, {true}} +$ Visualisation for var2 +$ +$ _ +$ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_2_2-solution000012.solution b/tests/exhaustive/autogen/gen02/expected/model_2_2-solution000012.solution new file mode 100644 index 0000000000..ebc3fe4182 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_2_2-solution000012.solution @@ -0,0 +1,8 @@ +language Essence 1.3 + +letting var2 be {{}, {false}, {false, true}} +$ Visualisation for var2 +$ +$ _ +$ _ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_2_2-solution000013.solution b/tests/exhaustive/autogen/gen02/expected/model_2_2-solution000013.solution new file mode 100644 index 0000000000..fa4340a533 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_2_2-solution000013.solution @@ -0,0 +1,8 @@ +language Essence 1.3 + +letting var2 be {{}, {false, true}, {true}} +$ Visualisation for var2 +$ +$ _ T +$ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_2_2-solution000014.solution b/tests/exhaustive/autogen/gen02/expected/model_2_2-solution000014.solution new file mode 100644 index 0000000000..371f28aab7 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_2_2-solution000014.solution @@ -0,0 +1,8 @@ +language Essence 1.3 + +letting var2 be {{false}, {false, true}, {true}} +$ Visualisation for var2 +$ _ +$ _ T +$ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_2_2-solution000015.solution b/tests/exhaustive/autogen/gen02/expected/model_2_2-solution000015.solution new file mode 100644 index 0000000000..35cfa328e8 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_2_2-solution000015.solution @@ -0,0 +1,9 @@ +language Essence 1.3 + +letting var2 be {{}, {false}, {false, true}, {true}} +$ Visualisation for var2 +$ +$ _ +$ _ T +$ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_2_2.eprime b/tests/exhaustive/autogen/gen02/expected/model_2_2.eprime new file mode 100644 index 0000000000..c1cfaf2da7 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_2_2.eprime @@ -0,0 +1,53 @@ +language ESSENCE' 1.0 + +find var2_ExplicitVarSizeWithMarkerR4_Marker: int(0..4) +find var2_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Flags: + matrix indexed by [int(1..4), int(1..2)] of bool +find var2_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Values: + matrix indexed by [int(1..4), int(1..2)] of bool +branching on + [var2_ExplicitVarSizeWithMarkerR4_Marker, var2_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Flags, + var2_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Values] +such that + or([q14 <= var2_ExplicitVarSizeWithMarkerR4_Marker /\ + sum([toInt(var2_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Flags[q14, q15]) | q15 : int(1..2)]) + >= -7 + | q14 : int(1..4)]), + and([q2 + 1 <= var2_ExplicitVarSizeWithMarkerR4_Marker -> + flatten([flatten([[-toInt(var2_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Flags[q2, q10]); + int(1)], + [-toInt(var2_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Values[q2, q10]); + int(1)]; + int(1..2)]) + | q10 : int(1..2)]) + var2_ExplicitVarSizeWithMarkerR4_Marker -> + and([var2_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Flags[q3, q12] = false + | q12 : int(1..2)]) + /\ + and([var2_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Values[q3, q13] = false + | q13 : int(1..2)]) + | q3 : int(1..4)]), + and([q4 <= var2_ExplicitVarSizeWithMarkerR4_Marker -> + (var2_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Flags[q4, 2] -> + -toInt(var2_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Values[q4, 1]) < + -toInt(var2_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Values[q4, 2])) + | q4 : int(1..4)]), + and([q4 <= var2_ExplicitVarSizeWithMarkerR4_Marker -> + and([var2_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Flags[q4, q6] = false -> + var2_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Values[q4, q6] = false + | q6 : int(1..2)]) + | q4 : int(1..4)]), + and([q4 <= var2_ExplicitVarSizeWithMarkerR4_Marker -> + (var2_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Flags[q4, 2] -> + var2_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Flags[q4, 1]) + | q4 : int(1..4)]) + diff --git a/tests/exhaustive/autogen/gen02/expected/model_2_3-solution000001.solution b/tests/exhaustive/autogen/gen02/expected/model_2_3-solution000001.solution new file mode 100644 index 0000000000..19d999ca82 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_2_3-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting var2 be {{}} diff --git a/tests/exhaustive/autogen/gen02/expected/model_2_3-solution000002.solution b/tests/exhaustive/autogen/gen02/expected/model_2_3-solution000002.solution new file mode 100644 index 0000000000..937293310f --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_2_3-solution000002.solution @@ -0,0 +1,6 @@ +language Essence 1.3 + +letting var2 be {{false}} +$ Visualisation for var2 +$ _ + diff --git a/tests/exhaustive/autogen/gen02/expected/model_2_3-solution000003.solution b/tests/exhaustive/autogen/gen02/expected/model_2_3-solution000003.solution new file mode 100644 index 0000000000..5a187652fa --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_2_3-solution000003.solution @@ -0,0 +1,6 @@ +language Essence 1.3 + +letting var2 be {{true}} +$ Visualisation for var2 +$ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_2_3-solution000004.solution b/tests/exhaustive/autogen/gen02/expected/model_2_3-solution000004.solution new file mode 100644 index 0000000000..0678d41bf8 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_2_3-solution000004.solution @@ -0,0 +1,6 @@ +language Essence 1.3 + +letting var2 be {{false, true}} +$ Visualisation for var2 +$ _ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_2_3-solution000005.solution b/tests/exhaustive/autogen/gen02/expected/model_2_3-solution000005.solution new file mode 100644 index 0000000000..73f1bfe1ac --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_2_3-solution000005.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting var2 be {{}, {false}} +$ Visualisation for var2 +$ +$ _ + diff --git a/tests/exhaustive/autogen/gen02/expected/model_2_3-solution000006.solution b/tests/exhaustive/autogen/gen02/expected/model_2_3-solution000006.solution new file mode 100644 index 0000000000..d4c4a238b9 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_2_3-solution000006.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting var2 be {{}, {true}} +$ Visualisation for var2 +$ +$ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_2_3-solution000007.solution b/tests/exhaustive/autogen/gen02/expected/model_2_3-solution000007.solution new file mode 100644 index 0000000000..9c15a8e4e1 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_2_3-solution000007.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting var2 be {{}, {false, true}} +$ Visualisation for var2 +$ +$ _ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_2_3-solution000008.solution b/tests/exhaustive/autogen/gen02/expected/model_2_3-solution000008.solution new file mode 100644 index 0000000000..2b6a8959da --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_2_3-solution000008.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting var2 be {{false}, {true}} +$ Visualisation for var2 +$ _ +$ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_2_3-solution000009.solution b/tests/exhaustive/autogen/gen02/expected/model_2_3-solution000009.solution new file mode 100644 index 0000000000..b2e98e56a6 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_2_3-solution000009.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting var2 be {{false}, {false, true}} +$ Visualisation for var2 +$ _ +$ _ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_2_3-solution000010.solution b/tests/exhaustive/autogen/gen02/expected/model_2_3-solution000010.solution new file mode 100644 index 0000000000..4fc309134f --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_2_3-solution000010.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting var2 be {{false, true}, {true}} +$ Visualisation for var2 +$ _ T +$ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_2_3-solution000011.solution b/tests/exhaustive/autogen/gen02/expected/model_2_3-solution000011.solution new file mode 100644 index 0000000000..70d0f91f38 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_2_3-solution000011.solution @@ -0,0 +1,8 @@ +language Essence 1.3 + +letting var2 be {{}, {false}, {true}} +$ Visualisation for var2 +$ +$ _ +$ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_2_3-solution000012.solution b/tests/exhaustive/autogen/gen02/expected/model_2_3-solution000012.solution new file mode 100644 index 0000000000..ebc3fe4182 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_2_3-solution000012.solution @@ -0,0 +1,8 @@ +language Essence 1.3 + +letting var2 be {{}, {false}, {false, true}} +$ Visualisation for var2 +$ +$ _ +$ _ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_2_3-solution000013.solution b/tests/exhaustive/autogen/gen02/expected/model_2_3-solution000013.solution new file mode 100644 index 0000000000..fa4340a533 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_2_3-solution000013.solution @@ -0,0 +1,8 @@ +language Essence 1.3 + +letting var2 be {{}, {false, true}, {true}} +$ Visualisation for var2 +$ +$ _ T +$ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_2_3-solution000014.solution b/tests/exhaustive/autogen/gen02/expected/model_2_3-solution000014.solution new file mode 100644 index 0000000000..371f28aab7 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_2_3-solution000014.solution @@ -0,0 +1,8 @@ +language Essence 1.3 + +letting var2 be {{false}, {false, true}, {true}} +$ Visualisation for var2 +$ _ +$ _ T +$ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_2_3-solution000015.solution b/tests/exhaustive/autogen/gen02/expected/model_2_3-solution000015.solution new file mode 100644 index 0000000000..35cfa328e8 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_2_3-solution000015.solution @@ -0,0 +1,9 @@ +language Essence 1.3 + +letting var2 be {{}, {false}, {false, true}, {true}} +$ Visualisation for var2 +$ +$ _ +$ _ T +$ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_2_3.eprime.orig b/tests/exhaustive/autogen/gen02/expected/model_2_3.eprime.orig deleted file mode 100644 index 055cdc557c..0000000000 --- a/tests/exhaustive/autogen/gen02/expected/model_2_3.eprime.orig +++ /dev/null @@ -1,121 +0,0 @@ -language ESSENCE' 1.0 - -find var2_ExplicitVarSizeWithMarkerR4_Marker: int(0..4) -find var2_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Flags: - matrix indexed by [int(1..4), int(1..2)] of bool -find var2_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Values: - matrix indexed by [int(1..4), int(1..2)] of bool -find var2_ExplicitVarSizeWithFlagsR5_Flags: matrix indexed by [int(1..4)] of bool -find var2_ExplicitVarSizeWithFlagsR5_Values_ExplicitVarSizeWithMarker_Marker: matrix indexed by [int(1..4)] of int(0..2) -find var2_ExplicitVarSizeWithFlagsR5_Values_ExplicitVarSizeWithMarker_Values: - matrix indexed by [int(1..4), int(1..2)] of bool -branching on - [var2_ExplicitVarSizeWithFlagsR5_Flags, var2_ExplicitVarSizeWithFlagsR5_Values_ExplicitVarSizeWithMarker_Marker, - var2_ExplicitVarSizeWithFlagsR5_Values_ExplicitVarSizeWithMarker_Values, var2_ExplicitVarSizeWithMarkerR4_Marker, - var2_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Flags, - var2_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Values] -such that - or([q49 <= var2_ExplicitVarSizeWithMarkerR4_Marker /\ - sum([toInt(var2_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Flags[q49, q50]) | q50 : int(1..2)]) - >= -7 - | q49 : int(1..4)]), - and([q2 + 1 <= var2_ExplicitVarSizeWithMarkerR4_Marker -> - flatten([flatten([[-toInt(var2_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Flags[q2, q10]); - int(1)], - [-toInt(var2_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Values[q2, q10]); - int(1)]; - int(1..2)]) - | q10 : int(1..2)]) - var2_ExplicitVarSizeWithMarkerR4_Marker -> - and([var2_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Flags[q3, q12] = false - | q12 : int(1..2)]) - /\ - and([var2_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Values[q3, q13] = false - | q13 : int(1..2)]) - | q3 : int(1..4)]), - and([q4 <= var2_ExplicitVarSizeWithMarkerR4_Marker -> - (var2_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Flags[q4, 2] -> - -toInt(var2_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Values[q4, 1]) < - -toInt(var2_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Values[q4, 2])) - | q4 : int(1..4)]), - and([q4 <= var2_ExplicitVarSizeWithMarkerR4_Marker -> - and([var2_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Flags[q4, q6] = false -> - var2_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Values[q4, q6] = false - | q6 : int(1..2)]) - | q4 : int(1..4)]), - and([q4 <= var2_ExplicitVarSizeWithMarkerR4_Marker -> - (var2_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Flags[q4, 2] -> - var2_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Flags[q4, 1]) - | q4 : int(1..4)]), - and([var2_ExplicitVarSizeWithFlagsR5_Flags[q14 + 1] -> - flatten([[var2_ExplicitVarSizeWithFlagsR5_Values_ExplicitVarSizeWithMarker_Marker[q14]; int(1)], - [-toInt(var2_ExplicitVarSizeWithFlagsR5_Values_ExplicitVarSizeWithMarker_Values[q14, q22]) - | q22 : int(1..2)]; - int(1..2)]) - - var2_ExplicitVarSizeWithFlagsR5_Values_ExplicitVarSizeWithMarker_Marker[q15] = 0 /\ - and([var2_ExplicitVarSizeWithFlagsR5_Values_ExplicitVarSizeWithMarker_Values[q15, q24] = false - | q24 : int(1..2)]) - | q15 : int(1..4)]), - and([var2_ExplicitVarSizeWithFlagsR5_Flags[q16 + 1] -> var2_ExplicitVarSizeWithFlagsR5_Flags[q16] - | q16 : int(1..3)]), - and([var2_ExplicitVarSizeWithFlagsR5_Flags[q18] -> - (2 <= var2_ExplicitVarSizeWithFlagsR5_Values_ExplicitVarSizeWithMarker_Marker[q18] -> - -toInt(var2_ExplicitVarSizeWithFlagsR5_Values_ExplicitVarSizeWithMarker_Values[q18, 1]) < - -toInt(var2_ExplicitVarSizeWithFlagsR5_Values_ExplicitVarSizeWithMarker_Values[q18, 2])) - | q18 : int(1..4)]), - and([var2_ExplicitVarSizeWithFlagsR5_Flags[q18] -> - and([q20 > var2_ExplicitVarSizeWithFlagsR5_Values_ExplicitVarSizeWithMarker_Marker[q18] -> - var2_ExplicitVarSizeWithFlagsR5_Values_ExplicitVarSizeWithMarker_Values[q18, q20] = false - | q20 : int(1..2)]) - | q18 : int(1..4)]), - and([var2_ExplicitVarSizeWithFlagsR5_Flags[q26] -> - or([q28 <= var2_ExplicitVarSizeWithMarkerR4_Marker /\ - (and([var2_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Flags[q28, q30] -> - or([q32 <= var2_ExplicitVarSizeWithFlagsR5_Values_ExplicitVarSizeWithMarker_Marker[q26] /\ - var2_ExplicitVarSizeWithFlagsR5_Values_ExplicitVarSizeWithMarker_Values[q26, q32] = - var2_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Values[q28, q30] - | q32 : int(1..2)]) - | q30 : int(1..2)]) - /\ - and([q34 <= var2_ExplicitVarSizeWithFlagsR5_Values_ExplicitVarSizeWithMarker_Marker[q26] -> - or([var2_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Flags[q28, q36] /\ - var2_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Values[q28, q36] = - var2_ExplicitVarSizeWithFlagsR5_Values_ExplicitVarSizeWithMarker_Values[q26, q34] - | q36 : int(1..2)]) - | q34 : int(1..2)])) - | q28 : int(1..4)]) - | q26 : int(1..4)]), - and([q38 <= var2_ExplicitVarSizeWithMarkerR4_Marker -> - or([var2_ExplicitVarSizeWithFlagsR5_Flags[q40] /\ - (and([q42 <= var2_ExplicitVarSizeWithFlagsR5_Values_ExplicitVarSizeWithMarker_Marker[q40] -> - or([var2_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Flags[q38, q44] /\ - var2_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Values[q38, q44] = - var2_ExplicitVarSizeWithFlagsR5_Values_ExplicitVarSizeWithMarker_Values[q40, q42] - | q44 : int(1..2)]) - | q42 : int(1..2)]) - /\ - and([var2_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Flags[q38, q46] -> - or([q48 <= var2_ExplicitVarSizeWithFlagsR5_Values_ExplicitVarSizeWithMarker_Marker[q40] /\ - var2_ExplicitVarSizeWithFlagsR5_Values_ExplicitVarSizeWithMarker_Values[q40, q48] = - var2_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Values[q38, q46] - | q48 : int(1..2)]) - | q46 : int(1..2)])) - | q40 : int(1..4)]) - | q38 : int(1..4)]) - diff --git a/tests/exhaustive/autogen/gen02/expected/model_2_4-solution000001.solution b/tests/exhaustive/autogen/gen02/expected/model_2_4-solution000001.solution new file mode 100644 index 0000000000..19d999ca82 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_2_4-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting var2 be {{}} diff --git a/tests/exhaustive/autogen/gen02/expected/model_2_4-solution000002.solution b/tests/exhaustive/autogen/gen02/expected/model_2_4-solution000002.solution new file mode 100644 index 0000000000..937293310f --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_2_4-solution000002.solution @@ -0,0 +1,6 @@ +language Essence 1.3 + +letting var2 be {{false}} +$ Visualisation for var2 +$ _ + diff --git a/tests/exhaustive/autogen/gen02/expected/model_2_4-solution000003.solution b/tests/exhaustive/autogen/gen02/expected/model_2_4-solution000003.solution new file mode 100644 index 0000000000..5a187652fa --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_2_4-solution000003.solution @@ -0,0 +1,6 @@ +language Essence 1.3 + +letting var2 be {{true}} +$ Visualisation for var2 +$ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_2_4-solution000004.solution b/tests/exhaustive/autogen/gen02/expected/model_2_4-solution000004.solution new file mode 100644 index 0000000000..0678d41bf8 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_2_4-solution000004.solution @@ -0,0 +1,6 @@ +language Essence 1.3 + +letting var2 be {{false, true}} +$ Visualisation for var2 +$ _ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_2_4-solution000005.solution b/tests/exhaustive/autogen/gen02/expected/model_2_4-solution000005.solution new file mode 100644 index 0000000000..73f1bfe1ac --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_2_4-solution000005.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting var2 be {{}, {false}} +$ Visualisation for var2 +$ +$ _ + diff --git a/tests/exhaustive/autogen/gen02/expected/model_2_4-solution000006.solution b/tests/exhaustive/autogen/gen02/expected/model_2_4-solution000006.solution new file mode 100644 index 0000000000..d4c4a238b9 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_2_4-solution000006.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting var2 be {{}, {true}} +$ Visualisation for var2 +$ +$ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_2_4-solution000007.solution b/tests/exhaustive/autogen/gen02/expected/model_2_4-solution000007.solution new file mode 100644 index 0000000000..2b6a8959da --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_2_4-solution000007.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting var2 be {{false}, {true}} +$ Visualisation for var2 +$ _ +$ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_2_4-solution000008.solution b/tests/exhaustive/autogen/gen02/expected/model_2_4-solution000008.solution new file mode 100644 index 0000000000..9c15a8e4e1 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_2_4-solution000008.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting var2 be {{}, {false, true}} +$ Visualisation for var2 +$ +$ _ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_2_4-solution000009.solution b/tests/exhaustive/autogen/gen02/expected/model_2_4-solution000009.solution new file mode 100644 index 0000000000..b2e98e56a6 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_2_4-solution000009.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting var2 be {{false}, {false, true}} +$ Visualisation for var2 +$ _ +$ _ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_2_4-solution000010.solution b/tests/exhaustive/autogen/gen02/expected/model_2_4-solution000010.solution new file mode 100644 index 0000000000..4fc309134f --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_2_4-solution000010.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting var2 be {{false, true}, {true}} +$ Visualisation for var2 +$ _ T +$ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_2_4-solution000011.solution b/tests/exhaustive/autogen/gen02/expected/model_2_4-solution000011.solution new file mode 100644 index 0000000000..70d0f91f38 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_2_4-solution000011.solution @@ -0,0 +1,8 @@ +language Essence 1.3 + +letting var2 be {{}, {false}, {true}} +$ Visualisation for var2 +$ +$ _ +$ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_2_4-solution000012.solution b/tests/exhaustive/autogen/gen02/expected/model_2_4-solution000012.solution new file mode 100644 index 0000000000..ebc3fe4182 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_2_4-solution000012.solution @@ -0,0 +1,8 @@ +language Essence 1.3 + +letting var2 be {{}, {false}, {false, true}} +$ Visualisation for var2 +$ +$ _ +$ _ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_2_4-solution000013.solution b/tests/exhaustive/autogen/gen02/expected/model_2_4-solution000013.solution new file mode 100644 index 0000000000..fa4340a533 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_2_4-solution000013.solution @@ -0,0 +1,8 @@ +language Essence 1.3 + +letting var2 be {{}, {false, true}, {true}} +$ Visualisation for var2 +$ +$ _ T +$ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_2_4-solution000014.solution b/tests/exhaustive/autogen/gen02/expected/model_2_4-solution000014.solution new file mode 100644 index 0000000000..371f28aab7 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_2_4-solution000014.solution @@ -0,0 +1,8 @@ +language Essence 1.3 + +letting var2 be {{false}, {false, true}, {true}} +$ Visualisation for var2 +$ _ +$ _ T +$ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_2_4-solution000015.solution b/tests/exhaustive/autogen/gen02/expected/model_2_4-solution000015.solution new file mode 100644 index 0000000000..35cfa328e8 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_2_4-solution000015.solution @@ -0,0 +1,9 @@ +language Essence 1.3 + +letting var2 be {{}, {false}, {false, true}, {true}} +$ Visualisation for var2 +$ +$ _ +$ _ T +$ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_2_4.eprime b/tests/exhaustive/autogen/gen02/expected/model_2_4.eprime new file mode 100644 index 0000000000..1c6891d59e --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_2_4.eprime @@ -0,0 +1,121 @@ +language ESSENCE' 1.0 + +find var2_ExplicitVarSizeWithMarkerR4_Marker: int(0..4) +find var2_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Flags: + matrix indexed by [int(1..4), int(1..2)] of bool +find var2_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Values: + matrix indexed by [int(1..4), int(1..2)] of bool +find var2_ExplicitVarSizeWithFlagsR4_Flags: matrix indexed by [int(1..4)] of bool +find var2_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Flags: + matrix indexed by [int(1..4), int(1..2)] of bool +find var2_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Values: + matrix indexed by [int(1..4), int(1..2)] of bool +branching on + [var2_ExplicitVarSizeWithFlagsR4_Flags, var2_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Flags, + var2_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Values, var2_ExplicitVarSizeWithMarkerR4_Marker, + var2_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Flags, + var2_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Values] +such that + or([q44 <= var2_ExplicitVarSizeWithMarkerR4_Marker /\ + sum([toInt(var2_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Flags[q44, q45]) | q45 : int(1..2)]) + >= -7 + | q44 : int(1..4)]), + and([q2 + 1 <= var2_ExplicitVarSizeWithMarkerR4_Marker -> + flatten([flatten([[-toInt(var2_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Flags[q2, q10]); + int(1)], + [-toInt(var2_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Values[q2, q10]); + int(1)]; + int(1..2)]) + | q10 : int(1..2)]) + var2_ExplicitVarSizeWithMarkerR4_Marker -> + and([var2_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Flags[q3, q12] = false + | q12 : int(1..2)]) + /\ + and([var2_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Values[q3, q13] = false + | q13 : int(1..2)]) + | q3 : int(1..4)]), + and([q4 <= var2_ExplicitVarSizeWithMarkerR4_Marker -> + (var2_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Flags[q4, 2] -> + -toInt(var2_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Values[q4, 1]) < + -toInt(var2_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Values[q4, 2])) + | q4 : int(1..4)]), + and([q4 <= var2_ExplicitVarSizeWithMarkerR4_Marker -> + and([var2_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Flags[q4, q6] = false -> + var2_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Values[q4, q6] = false + | q6 : int(1..2)]) + | q4 : int(1..4)]), + and([q4 <= var2_ExplicitVarSizeWithMarkerR4_Marker -> + (var2_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Flags[q4, 2] -> + var2_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Flags[q4, 1]) + | q4 : int(1..4)]), + and([var2_ExplicitVarSizeWithFlagsR4_Flags[q14 + 1] -> + flatten([flatten([[-toInt(var2_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Flags[q14, q24]); + int(1)], + [-toInt(var2_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Values[q14, q24]); + int(1)]; + int(1..2)]) + | q24 : int(1..2)]) + + and([var2_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Flags[q15, q26] = false + | q26 : int(1..2)]) + /\ + and([var2_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Values[q15, q27] = false + | q27 : int(1..2)]) + | q15 : int(1..4)]), + and([var2_ExplicitVarSizeWithFlagsR4_Flags[q16 + 1] -> var2_ExplicitVarSizeWithFlagsR4_Flags[q16] + | q16 : int(1..3)]), + and([var2_ExplicitVarSizeWithFlagsR4_Flags[q18] -> + (var2_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Flags[q18, 2] -> + -toInt(var2_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Values[q18, 1]) < + -toInt(var2_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Values[q18, 2])) + | q18 : int(1..4)]), + and([var2_ExplicitVarSizeWithFlagsR4_Flags[q18] -> + and([var2_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Flags[q18, q20] = false -> + var2_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Values[q18, q20] = false + | q20 : int(1..2)]) + | q18 : int(1..4)]), + and([var2_ExplicitVarSizeWithFlagsR4_Flags[q18] -> + (var2_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Flags[q18, 2] -> + var2_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Flags[q18, 1]) + | q18 : int(1..4)]), + and([var2_ExplicitVarSizeWithFlagsR4_Flags[q29] -> + or([q31 <= var2_ExplicitVarSizeWithMarkerR4_Marker /\ + (and([var2_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Flags[q31, q32] = + var2_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Flags[q29, q32] + | q32 : int(1..2)]) + /\ + and([var2_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Values[q31, q34] = + var2_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Values[q29, q34] + | q34 : int(1..2)])) + | q31 : int(1..4)]) + | q29 : int(1..4)]), + and([q37 <= var2_ExplicitVarSizeWithMarkerR4_Marker -> + or([var2_ExplicitVarSizeWithFlagsR4_Flags[q39] /\ + (and([var2_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Flags[q39, q40] = + var2_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Flags[q37, q40] + | q40 : int(1..2)]) + /\ + and([var2_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Values[q39, q42] = + var2_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Values[q37, q42] + | q42 : int(1..2)])) + | q39 : int(1..4)]) + | q37 : int(1..4)]) + diff --git a/tests/exhaustive/autogen/gen02/expected/model_3_1-solution000001.solution b/tests/exhaustive/autogen/gen02/expected/model_3_1-solution000001.solution new file mode 100644 index 0000000000..19d999ca82 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_3_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting var2 be {{}} diff --git a/tests/exhaustive/autogen/gen02/expected/model_3_1-solution000002.solution b/tests/exhaustive/autogen/gen02/expected/model_3_1-solution000002.solution new file mode 100644 index 0000000000..937293310f --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_3_1-solution000002.solution @@ -0,0 +1,6 @@ +language Essence 1.3 + +letting var2 be {{false}} +$ Visualisation for var2 +$ _ + diff --git a/tests/exhaustive/autogen/gen02/expected/model_3_1-solution000003.solution b/tests/exhaustive/autogen/gen02/expected/model_3_1-solution000003.solution new file mode 100644 index 0000000000..5a187652fa --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_3_1-solution000003.solution @@ -0,0 +1,6 @@ +language Essence 1.3 + +letting var2 be {{true}} +$ Visualisation for var2 +$ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_3_1-solution000004.solution b/tests/exhaustive/autogen/gen02/expected/model_3_1-solution000004.solution new file mode 100644 index 0000000000..0678d41bf8 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_3_1-solution000004.solution @@ -0,0 +1,6 @@ +language Essence 1.3 + +letting var2 be {{false, true}} +$ Visualisation for var2 +$ _ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_3_1-solution000005.solution b/tests/exhaustive/autogen/gen02/expected/model_3_1-solution000005.solution new file mode 100644 index 0000000000..73f1bfe1ac --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_3_1-solution000005.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting var2 be {{}, {false}} +$ Visualisation for var2 +$ +$ _ + diff --git a/tests/exhaustive/autogen/gen02/expected/model_3_1-solution000006.solution b/tests/exhaustive/autogen/gen02/expected/model_3_1-solution000006.solution new file mode 100644 index 0000000000..d4c4a238b9 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_3_1-solution000006.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting var2 be {{}, {true}} +$ Visualisation for var2 +$ +$ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_3_1-solution000007.solution b/tests/exhaustive/autogen/gen02/expected/model_3_1-solution000007.solution new file mode 100644 index 0000000000..9c15a8e4e1 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_3_1-solution000007.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting var2 be {{}, {false, true}} +$ Visualisation for var2 +$ +$ _ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_3_1-solution000008.solution b/tests/exhaustive/autogen/gen02/expected/model_3_1-solution000008.solution new file mode 100644 index 0000000000..2b6a8959da --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_3_1-solution000008.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting var2 be {{false}, {true}} +$ Visualisation for var2 +$ _ +$ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_3_1-solution000009.solution b/tests/exhaustive/autogen/gen02/expected/model_3_1-solution000009.solution new file mode 100644 index 0000000000..b2e98e56a6 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_3_1-solution000009.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting var2 be {{false}, {false, true}} +$ Visualisation for var2 +$ _ +$ _ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_3_1-solution000010.solution b/tests/exhaustive/autogen/gen02/expected/model_3_1-solution000010.solution new file mode 100644 index 0000000000..4fc309134f --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_3_1-solution000010.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting var2 be {{false, true}, {true}} +$ Visualisation for var2 +$ _ T +$ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_3_1-solution000011.solution b/tests/exhaustive/autogen/gen02/expected/model_3_1-solution000011.solution new file mode 100644 index 0000000000..70d0f91f38 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_3_1-solution000011.solution @@ -0,0 +1,8 @@ +language Essence 1.3 + +letting var2 be {{}, {false}, {true}} +$ Visualisation for var2 +$ +$ _ +$ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_3_1-solution000012.solution b/tests/exhaustive/autogen/gen02/expected/model_3_1-solution000012.solution new file mode 100644 index 0000000000..ebc3fe4182 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_3_1-solution000012.solution @@ -0,0 +1,8 @@ +language Essence 1.3 + +letting var2 be {{}, {false}, {false, true}} +$ Visualisation for var2 +$ +$ _ +$ _ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_3_1-solution000013.solution b/tests/exhaustive/autogen/gen02/expected/model_3_1-solution000013.solution new file mode 100644 index 0000000000..fa4340a533 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_3_1-solution000013.solution @@ -0,0 +1,8 @@ +language Essence 1.3 + +letting var2 be {{}, {false, true}, {true}} +$ Visualisation for var2 +$ +$ _ T +$ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_3_1-solution000014.solution b/tests/exhaustive/autogen/gen02/expected/model_3_1-solution000014.solution new file mode 100644 index 0000000000..371f28aab7 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_3_1-solution000014.solution @@ -0,0 +1,8 @@ +language Essence 1.3 + +letting var2 be {{false}, {false, true}, {true}} +$ Visualisation for var2 +$ _ +$ _ T +$ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_3_1-solution000015.solution b/tests/exhaustive/autogen/gen02/expected/model_3_1-solution000015.solution new file mode 100644 index 0000000000..35cfa328e8 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_3_1-solution000015.solution @@ -0,0 +1,9 @@ +language Essence 1.3 + +letting var2 be {{}, {false}, {false, true}, {true}} +$ Visualisation for var2 +$ +$ _ +$ _ T +$ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_3_1.eprime.orig b/tests/exhaustive/autogen/gen02/expected/model_3_1.eprime.orig deleted file mode 100644 index d6d73bb27b..0000000000 --- a/tests/exhaustive/autogen/gen02/expected/model_3_1.eprime.orig +++ /dev/null @@ -1,96 +0,0 @@ -language ESSENCE' 1.0 - -find var2_ExplicitVarSizeWithFlagsR5_Flags: matrix indexed by [int(1..4)] of bool -find var2_ExplicitVarSizeWithFlagsR5_Values_ExplicitVarSizeWithMarker_Marker: matrix indexed by [int(1..4)] of int(0..2) -find var2_ExplicitVarSizeWithFlagsR5_Values_ExplicitVarSizeWithMarker_Values: - matrix indexed by [int(1..4), int(1..2)] of bool -find var2_ExplicitVarSizeWithMarkerR5_Marker: int(0..4) -find var2_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker: - matrix indexed by [int(1..4)] of int(0..2) -find var2_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values: - matrix indexed by [int(1..4), int(1..2)] of bool -branching on - [var2_ExplicitVarSizeWithMarkerR5_Marker, var2_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker, - var2_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values, var2_ExplicitVarSizeWithFlagsR5_Flags, - var2_ExplicitVarSizeWithFlagsR5_Values_ExplicitVarSizeWithMarker_Marker, - var2_ExplicitVarSizeWithFlagsR5_Values_ExplicitVarSizeWithMarker_Values] -such that - or([var2_ExplicitVarSizeWithFlagsR5_Flags[q34] /\ - sum([toInt(q35 <= var2_ExplicitVarSizeWithFlagsR5_Values_ExplicitVarSizeWithMarker_Marker[q34]) - | q35 : int(1..2)]) - >= -7 - | q34 : int(1..4)]), - and([var2_ExplicitVarSizeWithFlagsR5_Flags[q2 + 1] -> - flatten([[var2_ExplicitVarSizeWithFlagsR5_Values_ExplicitVarSizeWithMarker_Marker[q2]; int(1)], - [-toInt(var2_ExplicitVarSizeWithFlagsR5_Values_ExplicitVarSizeWithMarker_Values[q2, q10]) - | q10 : int(1..2)]; - int(1..2)]) - - var2_ExplicitVarSizeWithFlagsR5_Values_ExplicitVarSizeWithMarker_Marker[q3] = 0 /\ - and([var2_ExplicitVarSizeWithFlagsR5_Values_ExplicitVarSizeWithMarker_Values[q3, q12] = false - | q12 : int(1..2)]) - | q3 : int(1..4)]), - and([var2_ExplicitVarSizeWithFlagsR5_Flags[q4 + 1] -> var2_ExplicitVarSizeWithFlagsR5_Flags[q4] | q4 : int(1..3)]), - and([var2_ExplicitVarSizeWithFlagsR5_Flags[q6] -> - (2 <= var2_ExplicitVarSizeWithFlagsR5_Values_ExplicitVarSizeWithMarker_Marker[q6] -> - -toInt(var2_ExplicitVarSizeWithFlagsR5_Values_ExplicitVarSizeWithMarker_Values[q6, 1]) < - -toInt(var2_ExplicitVarSizeWithFlagsR5_Values_ExplicitVarSizeWithMarker_Values[q6, 2])) - | q6 : int(1..4)]), - and([var2_ExplicitVarSizeWithFlagsR5_Flags[q6] -> - and([q8 > var2_ExplicitVarSizeWithFlagsR5_Values_ExplicitVarSizeWithMarker_Marker[q6] -> - var2_ExplicitVarSizeWithFlagsR5_Values_ExplicitVarSizeWithMarker_Values[q6, q8] = false - | q8 : int(1..2)]) - | q6 : int(1..4)]), - and([q13 + 1 <= var2_ExplicitVarSizeWithMarkerR5_Marker -> - flatten([[var2_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q13]; int(1)], - [-toInt(var2_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q13, q19]) - | q19 : int(1..2)]; - int(1..2)]) - var2_ExplicitVarSizeWithMarkerR5_Marker -> - var2_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q14] = 0 /\ - and([var2_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q14, q21] = false - | q21 : int(1..2)]) - | q14 : int(1..4)]), - and([q15 <= var2_ExplicitVarSizeWithMarkerR5_Marker -> - (2 <= var2_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q15] -> - -toInt(var2_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q15, 1]) < - -toInt(var2_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q15, 2])) - | q15 : int(1..4)]), - and([q15 <= var2_ExplicitVarSizeWithMarkerR5_Marker -> - and([q17 > var2_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q15] -> - var2_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q15, q17] = false - | q17 : int(1..2)]) - | q15 : int(1..4)]), - and([q23 <= var2_ExplicitVarSizeWithMarkerR5_Marker -> - or([var2_ExplicitVarSizeWithFlagsR5_Flags[q25] /\ - (var2_ExplicitVarSizeWithFlagsR5_Values_ExplicitVarSizeWithMarker_Marker[q25] = - var2_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q23] - /\ - and([var2_ExplicitVarSizeWithFlagsR5_Values_ExplicitVarSizeWithMarker_Values[q25, q26] = - var2_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q23, q26] - | q26 : int(1..2)])) - | q25 : int(1..4)]) - | q23 : int(1..4)]), - and([var2_ExplicitVarSizeWithFlagsR5_Flags[q29] -> - or([q31 <= var2_ExplicitVarSizeWithMarkerR5_Marker /\ - (var2_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q31] = - var2_ExplicitVarSizeWithFlagsR5_Values_ExplicitVarSizeWithMarker_Marker[q29] - /\ - and([var2_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q31, q32] = - var2_ExplicitVarSizeWithFlagsR5_Values_ExplicitVarSizeWithMarker_Values[q29, q32] - | q32 : int(1..2)])) - | q31 : int(1..4)]) - | q29 : int(1..4)]) - diff --git a/tests/exhaustive/autogen/gen02/expected/model_3_2-solution000001.solution b/tests/exhaustive/autogen/gen02/expected/model_3_2-solution000001.solution new file mode 100644 index 0000000000..19d999ca82 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_3_2-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting var2 be {{}} diff --git a/tests/exhaustive/autogen/gen02/expected/model_3_2-solution000002.solution b/tests/exhaustive/autogen/gen02/expected/model_3_2-solution000002.solution new file mode 100644 index 0000000000..937293310f --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_3_2-solution000002.solution @@ -0,0 +1,6 @@ +language Essence 1.3 + +letting var2 be {{false}} +$ Visualisation for var2 +$ _ + diff --git a/tests/exhaustive/autogen/gen02/expected/model_3_2-solution000003.solution b/tests/exhaustive/autogen/gen02/expected/model_3_2-solution000003.solution new file mode 100644 index 0000000000..5a187652fa --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_3_2-solution000003.solution @@ -0,0 +1,6 @@ +language Essence 1.3 + +letting var2 be {{true}} +$ Visualisation for var2 +$ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_3_2-solution000004.solution b/tests/exhaustive/autogen/gen02/expected/model_3_2-solution000004.solution new file mode 100644 index 0000000000..0678d41bf8 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_3_2-solution000004.solution @@ -0,0 +1,6 @@ +language Essence 1.3 + +letting var2 be {{false, true}} +$ Visualisation for var2 +$ _ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_3_2-solution000005.solution b/tests/exhaustive/autogen/gen02/expected/model_3_2-solution000005.solution new file mode 100644 index 0000000000..73f1bfe1ac --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_3_2-solution000005.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting var2 be {{}, {false}} +$ Visualisation for var2 +$ +$ _ + diff --git a/tests/exhaustive/autogen/gen02/expected/model_3_2-solution000006.solution b/tests/exhaustive/autogen/gen02/expected/model_3_2-solution000006.solution new file mode 100644 index 0000000000..d4c4a238b9 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_3_2-solution000006.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting var2 be {{}, {true}} +$ Visualisation for var2 +$ +$ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_3_2-solution000007.solution b/tests/exhaustive/autogen/gen02/expected/model_3_2-solution000007.solution new file mode 100644 index 0000000000..2b6a8959da --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_3_2-solution000007.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting var2 be {{false}, {true}} +$ Visualisation for var2 +$ _ +$ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_3_2-solution000008.solution b/tests/exhaustive/autogen/gen02/expected/model_3_2-solution000008.solution new file mode 100644 index 0000000000..9c15a8e4e1 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_3_2-solution000008.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting var2 be {{}, {false, true}} +$ Visualisation for var2 +$ +$ _ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_3_2-solution000009.solution b/tests/exhaustive/autogen/gen02/expected/model_3_2-solution000009.solution new file mode 100644 index 0000000000..b2e98e56a6 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_3_2-solution000009.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting var2 be {{false}, {false, true}} +$ Visualisation for var2 +$ _ +$ _ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_3_2-solution000010.solution b/tests/exhaustive/autogen/gen02/expected/model_3_2-solution000010.solution new file mode 100644 index 0000000000..4fc309134f --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_3_2-solution000010.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting var2 be {{false, true}, {true}} +$ Visualisation for var2 +$ _ T +$ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_3_2-solution000011.solution b/tests/exhaustive/autogen/gen02/expected/model_3_2-solution000011.solution new file mode 100644 index 0000000000..70d0f91f38 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_3_2-solution000011.solution @@ -0,0 +1,8 @@ +language Essence 1.3 + +letting var2 be {{}, {false}, {true}} +$ Visualisation for var2 +$ +$ _ +$ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_3_2-solution000012.solution b/tests/exhaustive/autogen/gen02/expected/model_3_2-solution000012.solution new file mode 100644 index 0000000000..ebc3fe4182 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_3_2-solution000012.solution @@ -0,0 +1,8 @@ +language Essence 1.3 + +letting var2 be {{}, {false}, {false, true}} +$ Visualisation for var2 +$ +$ _ +$ _ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_3_2-solution000013.solution b/tests/exhaustive/autogen/gen02/expected/model_3_2-solution000013.solution new file mode 100644 index 0000000000..fa4340a533 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_3_2-solution000013.solution @@ -0,0 +1,8 @@ +language Essence 1.3 + +letting var2 be {{}, {false, true}, {true}} +$ Visualisation for var2 +$ +$ _ T +$ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_3_2-solution000014.solution b/tests/exhaustive/autogen/gen02/expected/model_3_2-solution000014.solution new file mode 100644 index 0000000000..371f28aab7 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_3_2-solution000014.solution @@ -0,0 +1,8 @@ +language Essence 1.3 + +letting var2 be {{false}, {false, true}, {true}} +$ Visualisation for var2 +$ _ +$ _ T +$ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_3_2-solution000015.solution b/tests/exhaustive/autogen/gen02/expected/model_3_2-solution000015.solution new file mode 100644 index 0000000000..35cfa328e8 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_3_2-solution000015.solution @@ -0,0 +1,9 @@ +language Essence 1.3 + +letting var2 be {{}, {false}, {false, true}, {true}} +$ Visualisation for var2 +$ +$ _ +$ _ T +$ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_3_2.eprime.orig b/tests/exhaustive/autogen/gen02/expected/model_3_2.eprime.orig deleted file mode 100644 index 8f85be80ea..0000000000 --- a/tests/exhaustive/autogen/gen02/expected/model_3_2.eprime.orig +++ /dev/null @@ -1,122 +0,0 @@ -language ESSENCE' 1.0 - -find var2_ExplicitVarSizeWithFlagsR5_Flags: matrix indexed by [int(1..4)] of bool -find var2_ExplicitVarSizeWithFlagsR5_Values_ExplicitVarSizeWithMarker_Marker: matrix indexed by [int(1..4)] of int(0..2) -find var2_ExplicitVarSizeWithFlagsR5_Values_ExplicitVarSizeWithMarker_Values: - matrix indexed by [int(1..4), int(1..2)] of bool -find var2_ExplicitVarSizeWithMarkerR4_Marker: int(0..4) -find var2_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Flags: - matrix indexed by [int(1..4), int(1..2)] of bool -find var2_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Values: - matrix indexed by [int(1..4), int(1..2)] of bool -branching on - [var2_ExplicitVarSizeWithMarkerR4_Marker, var2_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Flags, - var2_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Values, var2_ExplicitVarSizeWithFlagsR5_Flags, - var2_ExplicitVarSizeWithFlagsR5_Values_ExplicitVarSizeWithMarker_Marker, - var2_ExplicitVarSizeWithFlagsR5_Values_ExplicitVarSizeWithMarker_Values] -such that - or([var2_ExplicitVarSizeWithFlagsR5_Flags[q49] /\ - sum([toInt(q50 <= var2_ExplicitVarSizeWithFlagsR5_Values_ExplicitVarSizeWithMarker_Marker[q49]) - | q50 : int(1..2)]) - >= -7 - | q49 : int(1..4)]), - and([var2_ExplicitVarSizeWithFlagsR5_Flags[q2 + 1] -> - flatten([[var2_ExplicitVarSizeWithFlagsR5_Values_ExplicitVarSizeWithMarker_Marker[q2]; int(1)], - [-toInt(var2_ExplicitVarSizeWithFlagsR5_Values_ExplicitVarSizeWithMarker_Values[q2, q10]) - | q10 : int(1..2)]; - int(1..2)]) - - var2_ExplicitVarSizeWithFlagsR5_Values_ExplicitVarSizeWithMarker_Marker[q3] = 0 /\ - and([var2_ExplicitVarSizeWithFlagsR5_Values_ExplicitVarSizeWithMarker_Values[q3, q12] = false - | q12 : int(1..2)]) - | q3 : int(1..4)]), - and([var2_ExplicitVarSizeWithFlagsR5_Flags[q4 + 1] -> var2_ExplicitVarSizeWithFlagsR5_Flags[q4] | q4 : int(1..3)]), - and([var2_ExplicitVarSizeWithFlagsR5_Flags[q6] -> - (2 <= var2_ExplicitVarSizeWithFlagsR5_Values_ExplicitVarSizeWithMarker_Marker[q6] -> - -toInt(var2_ExplicitVarSizeWithFlagsR5_Values_ExplicitVarSizeWithMarker_Values[q6, 1]) < - -toInt(var2_ExplicitVarSizeWithFlagsR5_Values_ExplicitVarSizeWithMarker_Values[q6, 2])) - | q6 : int(1..4)]), - and([var2_ExplicitVarSizeWithFlagsR5_Flags[q6] -> - and([q8 > var2_ExplicitVarSizeWithFlagsR5_Values_ExplicitVarSizeWithMarker_Marker[q6] -> - var2_ExplicitVarSizeWithFlagsR5_Values_ExplicitVarSizeWithMarker_Values[q6, q8] = false - | q8 : int(1..2)]) - | q6 : int(1..4)]), - and([q13 + 1 <= var2_ExplicitVarSizeWithMarkerR4_Marker -> - flatten([flatten([[-toInt(var2_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Flags[q13, q21]); - int(1)], - [-toInt(var2_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Values[q13, q21]); - int(1)]; - int(1..2)]) - | q21 : int(1..2)]) - var2_ExplicitVarSizeWithMarkerR4_Marker -> - and([var2_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Flags[q14, q23] = false - | q23 : int(1..2)]) - /\ - and([var2_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Values[q14, q24] = false - | q24 : int(1..2)]) - | q14 : int(1..4)]), - and([q15 <= var2_ExplicitVarSizeWithMarkerR4_Marker -> - (var2_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Flags[q15, 2] -> - -toInt(var2_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Values[q15, 1]) < - -toInt(var2_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Values[q15, 2])) - | q15 : int(1..4)]), - and([q15 <= var2_ExplicitVarSizeWithMarkerR4_Marker -> - and([var2_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Flags[q15, q17] = false -> - var2_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Values[q15, q17] = false - | q17 : int(1..2)]) - | q15 : int(1..4)]), - and([q15 <= var2_ExplicitVarSizeWithMarkerR4_Marker -> - (var2_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Flags[q15, 2] -> - var2_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Flags[q15, 1]) - | q15 : int(1..4)]), - and([q26 <= var2_ExplicitVarSizeWithMarkerR4_Marker -> - or([var2_ExplicitVarSizeWithFlagsR5_Flags[q28] /\ - (and([q30 <= var2_ExplicitVarSizeWithFlagsR5_Values_ExplicitVarSizeWithMarker_Marker[q28] -> - or([var2_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Flags[q26, q32] /\ - var2_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Values[q26, q32] = - var2_ExplicitVarSizeWithFlagsR5_Values_ExplicitVarSizeWithMarker_Values[q28, q30] - | q32 : int(1..2)]) - | q30 : int(1..2)]) - /\ - and([var2_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Flags[q26, q34] -> - or([q36 <= var2_ExplicitVarSizeWithFlagsR5_Values_ExplicitVarSizeWithMarker_Marker[q28] /\ - var2_ExplicitVarSizeWithFlagsR5_Values_ExplicitVarSizeWithMarker_Values[q28, q36] = - var2_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Values[q26, q34] - | q36 : int(1..2)]) - | q34 : int(1..2)])) - | q28 : int(1..4)]) - | q26 : int(1..4)]), - and([var2_ExplicitVarSizeWithFlagsR5_Flags[q38] -> - or([q40 <= var2_ExplicitVarSizeWithMarkerR4_Marker /\ - (and([var2_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Flags[q40, q42] -> - or([q44 <= var2_ExplicitVarSizeWithFlagsR5_Values_ExplicitVarSizeWithMarker_Marker[q38] /\ - var2_ExplicitVarSizeWithFlagsR5_Values_ExplicitVarSizeWithMarker_Values[q38, q44] = - var2_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Values[q40, q42] - | q44 : int(1..2)]) - | q42 : int(1..2)]) - /\ - and([q46 <= var2_ExplicitVarSizeWithFlagsR5_Values_ExplicitVarSizeWithMarker_Marker[q38] -> - or([var2_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Flags[q40, q48] /\ - var2_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Values[q40, q48] = - var2_ExplicitVarSizeWithFlagsR5_Values_ExplicitVarSizeWithMarker_Values[q38, q46] - | q48 : int(1..2)]) - | q46 : int(1..2)])) - | q40 : int(1..4)]) - | q38 : int(1..4)]) - diff --git a/tests/exhaustive/autogen/gen02/expected/model_3_3-solution000001.solution b/tests/exhaustive/autogen/gen02/expected/model_3_3-solution000001.solution new file mode 100644 index 0000000000..19d999ca82 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_3_3-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting var2 be {{}} diff --git a/tests/exhaustive/autogen/gen02/expected/model_3_3-solution000002.solution b/tests/exhaustive/autogen/gen02/expected/model_3_3-solution000002.solution new file mode 100644 index 0000000000..937293310f --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_3_3-solution000002.solution @@ -0,0 +1,6 @@ +language Essence 1.3 + +letting var2 be {{false}} +$ Visualisation for var2 +$ _ + diff --git a/tests/exhaustive/autogen/gen02/expected/model_3_3-solution000003.solution b/tests/exhaustive/autogen/gen02/expected/model_3_3-solution000003.solution new file mode 100644 index 0000000000..5a187652fa --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_3_3-solution000003.solution @@ -0,0 +1,6 @@ +language Essence 1.3 + +letting var2 be {{true}} +$ Visualisation for var2 +$ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_3_3-solution000004.solution b/tests/exhaustive/autogen/gen02/expected/model_3_3-solution000004.solution new file mode 100644 index 0000000000..0678d41bf8 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_3_3-solution000004.solution @@ -0,0 +1,6 @@ +language Essence 1.3 + +letting var2 be {{false, true}} +$ Visualisation for var2 +$ _ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_3_3-solution000005.solution b/tests/exhaustive/autogen/gen02/expected/model_3_3-solution000005.solution new file mode 100644 index 0000000000..73f1bfe1ac --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_3_3-solution000005.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting var2 be {{}, {false}} +$ Visualisation for var2 +$ +$ _ + diff --git a/tests/exhaustive/autogen/gen02/expected/model_3_3-solution000006.solution b/tests/exhaustive/autogen/gen02/expected/model_3_3-solution000006.solution new file mode 100644 index 0000000000..d4c4a238b9 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_3_3-solution000006.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting var2 be {{}, {true}} +$ Visualisation for var2 +$ +$ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_3_3-solution000007.solution b/tests/exhaustive/autogen/gen02/expected/model_3_3-solution000007.solution new file mode 100644 index 0000000000..9c15a8e4e1 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_3_3-solution000007.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting var2 be {{}, {false, true}} +$ Visualisation for var2 +$ +$ _ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_3_3-solution000008.solution b/tests/exhaustive/autogen/gen02/expected/model_3_3-solution000008.solution new file mode 100644 index 0000000000..2b6a8959da --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_3_3-solution000008.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting var2 be {{false}, {true}} +$ Visualisation for var2 +$ _ +$ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_3_3-solution000009.solution b/tests/exhaustive/autogen/gen02/expected/model_3_3-solution000009.solution new file mode 100644 index 0000000000..b2e98e56a6 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_3_3-solution000009.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting var2 be {{false}, {false, true}} +$ Visualisation for var2 +$ _ +$ _ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_3_3-solution000010.solution b/tests/exhaustive/autogen/gen02/expected/model_3_3-solution000010.solution new file mode 100644 index 0000000000..4fc309134f --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_3_3-solution000010.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting var2 be {{false, true}, {true}} +$ Visualisation for var2 +$ _ T +$ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_3_3-solution000011.solution b/tests/exhaustive/autogen/gen02/expected/model_3_3-solution000011.solution new file mode 100644 index 0000000000..70d0f91f38 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_3_3-solution000011.solution @@ -0,0 +1,8 @@ +language Essence 1.3 + +letting var2 be {{}, {false}, {true}} +$ Visualisation for var2 +$ +$ _ +$ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_3_3-solution000012.solution b/tests/exhaustive/autogen/gen02/expected/model_3_3-solution000012.solution new file mode 100644 index 0000000000..ebc3fe4182 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_3_3-solution000012.solution @@ -0,0 +1,8 @@ +language Essence 1.3 + +letting var2 be {{}, {false}, {false, true}} +$ Visualisation for var2 +$ +$ _ +$ _ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_3_3-solution000013.solution b/tests/exhaustive/autogen/gen02/expected/model_3_3-solution000013.solution new file mode 100644 index 0000000000..fa4340a533 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_3_3-solution000013.solution @@ -0,0 +1,8 @@ +language Essence 1.3 + +letting var2 be {{}, {false, true}, {true}} +$ Visualisation for var2 +$ +$ _ T +$ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_3_3-solution000014.solution b/tests/exhaustive/autogen/gen02/expected/model_3_3-solution000014.solution new file mode 100644 index 0000000000..371f28aab7 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_3_3-solution000014.solution @@ -0,0 +1,8 @@ +language Essence 1.3 + +letting var2 be {{false}, {false, true}, {true}} +$ Visualisation for var2 +$ _ +$ _ T +$ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_3_3-solution000015.solution b/tests/exhaustive/autogen/gen02/expected/model_3_3-solution000015.solution new file mode 100644 index 0000000000..35cfa328e8 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_3_3-solution000015.solution @@ -0,0 +1,9 @@ +language Essence 1.3 + +letting var2 be {{}, {false}, {false, true}, {true}} +$ Visualisation for var2 +$ +$ _ +$ _ T +$ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_3_3.eprime.orig b/tests/exhaustive/autogen/gen02/expected/model_3_3.eprime.orig deleted file mode 100644 index d983f1c128..0000000000 --- a/tests/exhaustive/autogen/gen02/expected/model_3_3.eprime.orig +++ /dev/null @@ -1,43 +0,0 @@ -language ESSENCE' 1.0 - -find var2_ExplicitVarSizeWithFlagsR5_Flags: matrix indexed by [int(1..4)] of bool -find var2_ExplicitVarSizeWithFlagsR5_Values_ExplicitVarSizeWithMarker_Marker: matrix indexed by [int(1..4)] of int(0..2) -find var2_ExplicitVarSizeWithFlagsR5_Values_ExplicitVarSizeWithMarker_Values: - matrix indexed by [int(1..4), int(1..2)] of bool -branching on - [var2_ExplicitVarSizeWithFlagsR5_Flags, var2_ExplicitVarSizeWithFlagsR5_Values_ExplicitVarSizeWithMarker_Marker, - var2_ExplicitVarSizeWithFlagsR5_Values_ExplicitVarSizeWithMarker_Values] -such that - or([var2_ExplicitVarSizeWithFlagsR5_Flags[q13] /\ - sum([toInt(q14 <= var2_ExplicitVarSizeWithFlagsR5_Values_ExplicitVarSizeWithMarker_Marker[q13]) - | q14 : int(1..2)]) - >= -7 - | q13 : int(1..4)]), - and([var2_ExplicitVarSizeWithFlagsR5_Flags[q2 + 1] -> - flatten([[var2_ExplicitVarSizeWithFlagsR5_Values_ExplicitVarSizeWithMarker_Marker[q2]; int(1)], - [-toInt(var2_ExplicitVarSizeWithFlagsR5_Values_ExplicitVarSizeWithMarker_Values[q2, q10]) - | q10 : int(1..2)]; - int(1..2)]) - - var2_ExplicitVarSizeWithFlagsR5_Values_ExplicitVarSizeWithMarker_Marker[q3] = 0 /\ - and([var2_ExplicitVarSizeWithFlagsR5_Values_ExplicitVarSizeWithMarker_Values[q3, q12] = false - | q12 : int(1..2)]) - | q3 : int(1..4)]), - and([var2_ExplicitVarSizeWithFlagsR5_Flags[q4 + 1] -> var2_ExplicitVarSizeWithFlagsR5_Flags[q4] | q4 : int(1..3)]), - and([var2_ExplicitVarSizeWithFlagsR5_Flags[q6] -> - (2 <= var2_ExplicitVarSizeWithFlagsR5_Values_ExplicitVarSizeWithMarker_Marker[q6] -> - -toInt(var2_ExplicitVarSizeWithFlagsR5_Values_ExplicitVarSizeWithMarker_Values[q6, 1]) < - -toInt(var2_ExplicitVarSizeWithFlagsR5_Values_ExplicitVarSizeWithMarker_Values[q6, 2])) - | q6 : int(1..4)]), - and([var2_ExplicitVarSizeWithFlagsR5_Flags[q6] -> - and([q8 > var2_ExplicitVarSizeWithFlagsR5_Values_ExplicitVarSizeWithMarker_Marker[q6] -> - var2_ExplicitVarSizeWithFlagsR5_Values_ExplicitVarSizeWithMarker_Values[q6, q8] = false - | q8 : int(1..2)]) - | q6 : int(1..4)]) - diff --git a/tests/exhaustive/autogen/gen02/expected/model_3_4-solution000001.solution b/tests/exhaustive/autogen/gen02/expected/model_3_4-solution000001.solution new file mode 100644 index 0000000000..19d999ca82 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_3_4-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting var2 be {{}} diff --git a/tests/exhaustive/autogen/gen02/expected/model_3_4-solution000002.solution b/tests/exhaustive/autogen/gen02/expected/model_3_4-solution000002.solution new file mode 100644 index 0000000000..937293310f --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_3_4-solution000002.solution @@ -0,0 +1,6 @@ +language Essence 1.3 + +letting var2 be {{false}} +$ Visualisation for var2 +$ _ + diff --git a/tests/exhaustive/autogen/gen02/expected/model_3_4-solution000003.solution b/tests/exhaustive/autogen/gen02/expected/model_3_4-solution000003.solution new file mode 100644 index 0000000000..5a187652fa --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_3_4-solution000003.solution @@ -0,0 +1,6 @@ +language Essence 1.3 + +letting var2 be {{true}} +$ Visualisation for var2 +$ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_3_4-solution000004.solution b/tests/exhaustive/autogen/gen02/expected/model_3_4-solution000004.solution new file mode 100644 index 0000000000..0678d41bf8 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_3_4-solution000004.solution @@ -0,0 +1,6 @@ +language Essence 1.3 + +letting var2 be {{false, true}} +$ Visualisation for var2 +$ _ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_3_4-solution000005.solution b/tests/exhaustive/autogen/gen02/expected/model_3_4-solution000005.solution new file mode 100644 index 0000000000..73f1bfe1ac --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_3_4-solution000005.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting var2 be {{}, {false}} +$ Visualisation for var2 +$ +$ _ + diff --git a/tests/exhaustive/autogen/gen02/expected/model_3_4-solution000006.solution b/tests/exhaustive/autogen/gen02/expected/model_3_4-solution000006.solution new file mode 100644 index 0000000000..d4c4a238b9 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_3_4-solution000006.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting var2 be {{}, {true}} +$ Visualisation for var2 +$ +$ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_3_4-solution000007.solution b/tests/exhaustive/autogen/gen02/expected/model_3_4-solution000007.solution new file mode 100644 index 0000000000..2b6a8959da --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_3_4-solution000007.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting var2 be {{false}, {true}} +$ Visualisation for var2 +$ _ +$ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_3_4-solution000008.solution b/tests/exhaustive/autogen/gen02/expected/model_3_4-solution000008.solution new file mode 100644 index 0000000000..9c15a8e4e1 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_3_4-solution000008.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting var2 be {{}, {false, true}} +$ Visualisation for var2 +$ +$ _ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_3_4-solution000009.solution b/tests/exhaustive/autogen/gen02/expected/model_3_4-solution000009.solution new file mode 100644 index 0000000000..b2e98e56a6 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_3_4-solution000009.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting var2 be {{false}, {false, true}} +$ Visualisation for var2 +$ _ +$ _ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_3_4-solution000010.solution b/tests/exhaustive/autogen/gen02/expected/model_3_4-solution000010.solution new file mode 100644 index 0000000000..4fc309134f --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_3_4-solution000010.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting var2 be {{false, true}, {true}} +$ Visualisation for var2 +$ _ T +$ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_3_4-solution000011.solution b/tests/exhaustive/autogen/gen02/expected/model_3_4-solution000011.solution new file mode 100644 index 0000000000..70d0f91f38 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_3_4-solution000011.solution @@ -0,0 +1,8 @@ +language Essence 1.3 + +letting var2 be {{}, {false}, {true}} +$ Visualisation for var2 +$ +$ _ +$ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_3_4-solution000012.solution b/tests/exhaustive/autogen/gen02/expected/model_3_4-solution000012.solution new file mode 100644 index 0000000000..ebc3fe4182 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_3_4-solution000012.solution @@ -0,0 +1,8 @@ +language Essence 1.3 + +letting var2 be {{}, {false}, {false, true}} +$ Visualisation for var2 +$ +$ _ +$ _ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_3_4-solution000013.solution b/tests/exhaustive/autogen/gen02/expected/model_3_4-solution000013.solution new file mode 100644 index 0000000000..fa4340a533 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_3_4-solution000013.solution @@ -0,0 +1,8 @@ +language Essence 1.3 + +letting var2 be {{}, {false, true}, {true}} +$ Visualisation for var2 +$ +$ _ T +$ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_3_4-solution000014.solution b/tests/exhaustive/autogen/gen02/expected/model_3_4-solution000014.solution new file mode 100644 index 0000000000..371f28aab7 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_3_4-solution000014.solution @@ -0,0 +1,8 @@ +language Essence 1.3 + +letting var2 be {{false}, {false, true}, {true}} +$ Visualisation for var2 +$ _ +$ _ T +$ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_3_4-solution000015.solution b/tests/exhaustive/autogen/gen02/expected/model_3_4-solution000015.solution new file mode 100644 index 0000000000..35cfa328e8 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_3_4-solution000015.solution @@ -0,0 +1,9 @@ +language Essence 1.3 + +letting var2 be {{}, {false}, {false, true}, {true}} +$ Visualisation for var2 +$ +$ _ +$ _ T +$ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_3_4.eprime.orig b/tests/exhaustive/autogen/gen02/expected/model_3_4.eprime.orig deleted file mode 100644 index cb59ea7091..0000000000 --- a/tests/exhaustive/autogen/gen02/expected/model_3_4.eprime.orig +++ /dev/null @@ -1,123 +0,0 @@ -language ESSENCE' 1.0 - -find var2_ExplicitVarSizeWithFlagsR5_Flags: matrix indexed by [int(1..4)] of bool -find var2_ExplicitVarSizeWithFlagsR5_Values_ExplicitVarSizeWithMarker_Marker: matrix indexed by [int(1..4)] of int(0..2) -find var2_ExplicitVarSizeWithFlagsR5_Values_ExplicitVarSizeWithMarker_Values: - matrix indexed by [int(1..4), int(1..2)] of bool -find var2_ExplicitVarSizeWithFlagsR4_Flags: matrix indexed by [int(1..4)] of bool -find var2_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Flags: - matrix indexed by [int(1..4), int(1..2)] of bool -find var2_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Values: - matrix indexed by [int(1..4), int(1..2)] of bool -branching on - [var2_ExplicitVarSizeWithFlagsR4_Flags, var2_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Flags, - var2_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Values, var2_ExplicitVarSizeWithFlagsR5_Flags, - var2_ExplicitVarSizeWithFlagsR5_Values_ExplicitVarSizeWithMarker_Marker, - var2_ExplicitVarSizeWithFlagsR5_Values_ExplicitVarSizeWithMarker_Values] -such that - or([var2_ExplicitVarSizeWithFlagsR5_Flags[q51] /\ - sum([toInt(q52 <= var2_ExplicitVarSizeWithFlagsR5_Values_ExplicitVarSizeWithMarker_Marker[q51]) - | q52 : int(1..2)]) - >= -7 - | q51 : int(1..4)]), - and([var2_ExplicitVarSizeWithFlagsR5_Flags[q2 + 1] -> - flatten([[var2_ExplicitVarSizeWithFlagsR5_Values_ExplicitVarSizeWithMarker_Marker[q2]; int(1)], - [-toInt(var2_ExplicitVarSizeWithFlagsR5_Values_ExplicitVarSizeWithMarker_Values[q2, q10]) - | q10 : int(1..2)]; - int(1..2)]) - - var2_ExplicitVarSizeWithFlagsR5_Values_ExplicitVarSizeWithMarker_Marker[q3] = 0 /\ - and([var2_ExplicitVarSizeWithFlagsR5_Values_ExplicitVarSizeWithMarker_Values[q3, q12] = false - | q12 : int(1..2)]) - | q3 : int(1..4)]), - and([var2_ExplicitVarSizeWithFlagsR5_Flags[q4 + 1] -> var2_ExplicitVarSizeWithFlagsR5_Flags[q4] | q4 : int(1..3)]), - and([var2_ExplicitVarSizeWithFlagsR5_Flags[q6] -> - (2 <= var2_ExplicitVarSizeWithFlagsR5_Values_ExplicitVarSizeWithMarker_Marker[q6] -> - -toInt(var2_ExplicitVarSizeWithFlagsR5_Values_ExplicitVarSizeWithMarker_Values[q6, 1]) < - -toInt(var2_ExplicitVarSizeWithFlagsR5_Values_ExplicitVarSizeWithMarker_Values[q6, 2])) - | q6 : int(1..4)]), - and([var2_ExplicitVarSizeWithFlagsR5_Flags[q6] -> - and([q8 > var2_ExplicitVarSizeWithFlagsR5_Values_ExplicitVarSizeWithMarker_Marker[q6] -> - var2_ExplicitVarSizeWithFlagsR5_Values_ExplicitVarSizeWithMarker_Values[q6, q8] = false - | q8 : int(1..2)]) - | q6 : int(1..4)]), - and([var2_ExplicitVarSizeWithFlagsR4_Flags[q13 + 1] -> - flatten([flatten([[-toInt(var2_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Flags[q13, q23]); - int(1)], - [-toInt(var2_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Values[q13, q23]); - int(1)]; - int(1..2)]) - | q23 : int(1..2)]) - - and([var2_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Flags[q14, q25] = false - | q25 : int(1..2)]) - /\ - and([var2_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Values[q14, q26] = false - | q26 : int(1..2)]) - | q14 : int(1..4)]), - and([var2_ExplicitVarSizeWithFlagsR4_Flags[q15 + 1] -> var2_ExplicitVarSizeWithFlagsR4_Flags[q15] - | q15 : int(1..3)]), - and([var2_ExplicitVarSizeWithFlagsR4_Flags[q17] -> - (var2_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Flags[q17, 2] -> - -toInt(var2_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Values[q17, 1]) < - -toInt(var2_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Values[q17, 2])) - | q17 : int(1..4)]), - and([var2_ExplicitVarSizeWithFlagsR4_Flags[q17] -> - and([var2_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Flags[q17, q19] = false -> - var2_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Values[q17, q19] = false - | q19 : int(1..2)]) - | q17 : int(1..4)]), - and([var2_ExplicitVarSizeWithFlagsR4_Flags[q17] -> - (var2_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Flags[q17, 2] -> - var2_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Flags[q17, 1]) - | q17 : int(1..4)]), - and([var2_ExplicitVarSizeWithFlagsR4_Flags[q28] -> - or([var2_ExplicitVarSizeWithFlagsR5_Flags[q30] /\ - (and([q32 <= var2_ExplicitVarSizeWithFlagsR5_Values_ExplicitVarSizeWithMarker_Marker[q30] -> - or([var2_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Flags[q28, q34] /\ - var2_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Values[q28, q34] = - var2_ExplicitVarSizeWithFlagsR5_Values_ExplicitVarSizeWithMarker_Values[q30, q32] - | q34 : int(1..2)]) - | q32 : int(1..2)]) - /\ - and([var2_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Flags[q28, q36] -> - or([q38 <= var2_ExplicitVarSizeWithFlagsR5_Values_ExplicitVarSizeWithMarker_Marker[q30] /\ - var2_ExplicitVarSizeWithFlagsR5_Values_ExplicitVarSizeWithMarker_Values[q30, q38] = - var2_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Values[q28, q36] - | q38 : int(1..2)]) - | q36 : int(1..2)])) - | q30 : int(1..4)]) - | q28 : int(1..4)]), - and([var2_ExplicitVarSizeWithFlagsR5_Flags[q40] -> - or([var2_ExplicitVarSizeWithFlagsR4_Flags[q42] /\ - (and([var2_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Flags[q42, q44] -> - or([q46 <= var2_ExplicitVarSizeWithFlagsR5_Values_ExplicitVarSizeWithMarker_Marker[q40] /\ - var2_ExplicitVarSizeWithFlagsR5_Values_ExplicitVarSizeWithMarker_Values[q40, q46] = - var2_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Values[q42, q44] - | q46 : int(1..2)]) - | q44 : int(1..2)]) - /\ - and([q48 <= var2_ExplicitVarSizeWithFlagsR5_Values_ExplicitVarSizeWithMarker_Marker[q40] -> - or([var2_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Flags[q42, q50] /\ - var2_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Values[q42, q50] = - var2_ExplicitVarSizeWithFlagsR5_Values_ExplicitVarSizeWithMarker_Values[q40, q48] - | q50 : int(1..2)]) - | q48 : int(1..2)])) - | q42 : int(1..4)]) - | q40 : int(1..4)]) - diff --git a/tests/exhaustive/autogen/gen02/expected/model_4_1-solution000001.solution b/tests/exhaustive/autogen/gen02/expected/model_4_1-solution000001.solution new file mode 100644 index 0000000000..19d999ca82 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_4_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting var2 be {{}} diff --git a/tests/exhaustive/autogen/gen02/expected/model_4_1-solution000002.solution b/tests/exhaustive/autogen/gen02/expected/model_4_1-solution000002.solution new file mode 100644 index 0000000000..937293310f --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_4_1-solution000002.solution @@ -0,0 +1,6 @@ +language Essence 1.3 + +letting var2 be {{false}} +$ Visualisation for var2 +$ _ + diff --git a/tests/exhaustive/autogen/gen02/expected/model_4_1-solution000003.solution b/tests/exhaustive/autogen/gen02/expected/model_4_1-solution000003.solution new file mode 100644 index 0000000000..5a187652fa --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_4_1-solution000003.solution @@ -0,0 +1,6 @@ +language Essence 1.3 + +letting var2 be {{true}} +$ Visualisation for var2 +$ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_4_1-solution000004.solution b/tests/exhaustive/autogen/gen02/expected/model_4_1-solution000004.solution new file mode 100644 index 0000000000..0678d41bf8 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_4_1-solution000004.solution @@ -0,0 +1,6 @@ +language Essence 1.3 + +letting var2 be {{false, true}} +$ Visualisation for var2 +$ _ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_4_1-solution000005.solution b/tests/exhaustive/autogen/gen02/expected/model_4_1-solution000005.solution new file mode 100644 index 0000000000..73f1bfe1ac --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_4_1-solution000005.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting var2 be {{}, {false}} +$ Visualisation for var2 +$ +$ _ + diff --git a/tests/exhaustive/autogen/gen02/expected/model_4_1-solution000006.solution b/tests/exhaustive/autogen/gen02/expected/model_4_1-solution000006.solution new file mode 100644 index 0000000000..d4c4a238b9 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_4_1-solution000006.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting var2 be {{}, {true}} +$ Visualisation for var2 +$ +$ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_4_1-solution000007.solution b/tests/exhaustive/autogen/gen02/expected/model_4_1-solution000007.solution new file mode 100644 index 0000000000..9c15a8e4e1 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_4_1-solution000007.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting var2 be {{}, {false, true}} +$ Visualisation for var2 +$ +$ _ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_4_1-solution000008.solution b/tests/exhaustive/autogen/gen02/expected/model_4_1-solution000008.solution new file mode 100644 index 0000000000..2b6a8959da --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_4_1-solution000008.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting var2 be {{false}, {true}} +$ Visualisation for var2 +$ _ +$ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_4_1-solution000009.solution b/tests/exhaustive/autogen/gen02/expected/model_4_1-solution000009.solution new file mode 100644 index 0000000000..b2e98e56a6 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_4_1-solution000009.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting var2 be {{false}, {false, true}} +$ Visualisation for var2 +$ _ +$ _ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_4_1-solution000010.solution b/tests/exhaustive/autogen/gen02/expected/model_4_1-solution000010.solution new file mode 100644 index 0000000000..4fc309134f --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_4_1-solution000010.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting var2 be {{false, true}, {true}} +$ Visualisation for var2 +$ _ T +$ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_4_1-solution000011.solution b/tests/exhaustive/autogen/gen02/expected/model_4_1-solution000011.solution new file mode 100644 index 0000000000..70d0f91f38 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_4_1-solution000011.solution @@ -0,0 +1,8 @@ +language Essence 1.3 + +letting var2 be {{}, {false}, {true}} +$ Visualisation for var2 +$ +$ _ +$ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_4_1-solution000012.solution b/tests/exhaustive/autogen/gen02/expected/model_4_1-solution000012.solution new file mode 100644 index 0000000000..ebc3fe4182 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_4_1-solution000012.solution @@ -0,0 +1,8 @@ +language Essence 1.3 + +letting var2 be {{}, {false}, {false, true}} +$ Visualisation for var2 +$ +$ _ +$ _ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_4_1-solution000013.solution b/tests/exhaustive/autogen/gen02/expected/model_4_1-solution000013.solution new file mode 100644 index 0000000000..fa4340a533 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_4_1-solution000013.solution @@ -0,0 +1,8 @@ +language Essence 1.3 + +letting var2 be {{}, {false, true}, {true}} +$ Visualisation for var2 +$ +$ _ T +$ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_4_1-solution000014.solution b/tests/exhaustive/autogen/gen02/expected/model_4_1-solution000014.solution new file mode 100644 index 0000000000..371f28aab7 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_4_1-solution000014.solution @@ -0,0 +1,8 @@ +language Essence 1.3 + +letting var2 be {{false}, {false, true}, {true}} +$ Visualisation for var2 +$ _ +$ _ T +$ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_4_1-solution000015.solution b/tests/exhaustive/autogen/gen02/expected/model_4_1-solution000015.solution new file mode 100644 index 0000000000..35cfa328e8 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_4_1-solution000015.solution @@ -0,0 +1,9 @@ +language Essence 1.3 + +letting var2 be {{}, {false}, {false, true}, {true}} +$ Visualisation for var2 +$ +$ _ +$ _ T +$ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_4_1.eprime.orig b/tests/exhaustive/autogen/gen02/expected/model_4_1.eprime.orig deleted file mode 100644 index 5952bfe7b5..0000000000 --- a/tests/exhaustive/autogen/gen02/expected/model_4_1.eprime.orig +++ /dev/null @@ -1,119 +0,0 @@ -language ESSENCE' 1.0 - -find var2_ExplicitVarSizeWithFlagsR4_Flags: matrix indexed by [int(1..4)] of bool -find var2_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Flags: - matrix indexed by [int(1..4), int(1..2)] of bool -find var2_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Values: - matrix indexed by [int(1..4), int(1..2)] of bool -find var2_ExplicitVarSizeWithMarkerR5_Marker: int(0..4) -find var2_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker: - matrix indexed by [int(1..4)] of int(0..2) -find var2_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values: - matrix indexed by [int(1..4), int(1..2)] of bool -branching on - [var2_ExplicitVarSizeWithMarkerR5_Marker, var2_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker, - var2_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values, var2_ExplicitVarSizeWithFlagsR4_Flags, - var2_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Flags, - var2_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Values] -such that - or([var2_ExplicitVarSizeWithFlagsR4_Flags[q49] /\ - sum([toInt(var2_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Flags[q49, q50]) | q50 : int(1..2)]) - >= -7 - | q49 : int(1..4)]), - and([var2_ExplicitVarSizeWithFlagsR4_Flags[q2 + 1] -> - flatten([flatten([[-toInt(var2_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Flags[q2, q12]); - int(1)], - [-toInt(var2_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Values[q2, q12]); - int(1)]; - int(1..2)]) - | q12 : int(1..2)]) - - and([var2_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Flags[q3, q14] = false | q14 : int(1..2)]) - /\ - and([var2_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Values[q3, q15] = false - | q15 : int(1..2)]) - | q3 : int(1..4)]), - and([var2_ExplicitVarSizeWithFlagsR4_Flags[q4 + 1] -> var2_ExplicitVarSizeWithFlagsR4_Flags[q4] | q4 : int(1..3)]), - and([var2_ExplicitVarSizeWithFlagsR4_Flags[q6] -> - (var2_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Flags[q6, 2] -> - -toInt(var2_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Values[q6, 1]) < - -toInt(var2_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Values[q6, 2])) - | q6 : int(1..4)]), - and([var2_ExplicitVarSizeWithFlagsR4_Flags[q6] -> - and([var2_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Flags[q6, q8] = false -> - var2_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Values[q6, q8] = false - | q8 : int(1..2)]) - | q6 : int(1..4)]), - and([var2_ExplicitVarSizeWithFlagsR4_Flags[q6] -> - (var2_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Flags[q6, 2] -> - var2_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Flags[q6, 1]) - | q6 : int(1..4)]), - and([q16 + 1 <= var2_ExplicitVarSizeWithMarkerR5_Marker -> - flatten([[var2_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q16]; int(1)], - [-toInt(var2_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q16, q22]) - | q22 : int(1..2)]; - int(1..2)]) - var2_ExplicitVarSizeWithMarkerR5_Marker -> - var2_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q17] = 0 /\ - and([var2_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q17, q24] = false - | q24 : int(1..2)]) - | q17 : int(1..4)]), - and([q18 <= var2_ExplicitVarSizeWithMarkerR5_Marker -> - (2 <= var2_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q18] -> - -toInt(var2_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q18, 1]) < - -toInt(var2_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q18, 2])) - | q18 : int(1..4)]), - and([q18 <= var2_ExplicitVarSizeWithMarkerR5_Marker -> - and([q20 > var2_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q18] -> - var2_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q18, q20] = false - | q20 : int(1..2)]) - | q18 : int(1..4)]), - and([q26 <= var2_ExplicitVarSizeWithMarkerR5_Marker -> - or([var2_ExplicitVarSizeWithFlagsR4_Flags[q28] /\ - (and([var2_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Flags[q28, q30] -> - or([q32 <= var2_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q26] /\ - var2_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q26, q32] = - var2_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Values[q28, q30] - | q32 : int(1..2)]) - | q30 : int(1..2)]) - /\ - and([q34 <= var2_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q26] -> - or([var2_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Flags[q28, q36] /\ - var2_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Values[q28, q36] = - var2_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q26, q34] - | q36 : int(1..2)]) - | q34 : int(1..2)])) - | q28 : int(1..4)]) - | q26 : int(1..4)]), - and([var2_ExplicitVarSizeWithFlagsR4_Flags[q38] -> - or([q40 <= var2_ExplicitVarSizeWithMarkerR5_Marker /\ - (and([q42 <= var2_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q40] -> - or([var2_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Flags[q38, q44] /\ - var2_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Values[q38, q44] = - var2_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q40, q42] - | q44 : int(1..2)]) - | q42 : int(1..2)]) - /\ - and([var2_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Flags[q38, q46] -> - or([q48 <= var2_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q40] /\ - var2_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q40, q48] = - var2_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Values[q38, q46] - | q48 : int(1..2)]) - | q46 : int(1..2)])) - | q40 : int(1..4)]) - | q38 : int(1..4)]) - diff --git a/tests/exhaustive/autogen/gen02/expected/model_4_2-solution000001.solution b/tests/exhaustive/autogen/gen02/expected/model_4_2-solution000001.solution new file mode 100644 index 0000000000..19d999ca82 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_4_2-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting var2 be {{}} diff --git a/tests/exhaustive/autogen/gen02/expected/model_4_2-solution000002.solution b/tests/exhaustive/autogen/gen02/expected/model_4_2-solution000002.solution new file mode 100644 index 0000000000..937293310f --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_4_2-solution000002.solution @@ -0,0 +1,6 @@ +language Essence 1.3 + +letting var2 be {{false}} +$ Visualisation for var2 +$ _ + diff --git a/tests/exhaustive/autogen/gen02/expected/model_4_2-solution000003.solution b/tests/exhaustive/autogen/gen02/expected/model_4_2-solution000003.solution new file mode 100644 index 0000000000..5a187652fa --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_4_2-solution000003.solution @@ -0,0 +1,6 @@ +language Essence 1.3 + +letting var2 be {{true}} +$ Visualisation for var2 +$ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_4_2-solution000004.solution b/tests/exhaustive/autogen/gen02/expected/model_4_2-solution000004.solution new file mode 100644 index 0000000000..0678d41bf8 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_4_2-solution000004.solution @@ -0,0 +1,6 @@ +language Essence 1.3 + +letting var2 be {{false, true}} +$ Visualisation for var2 +$ _ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_4_2-solution000005.solution b/tests/exhaustive/autogen/gen02/expected/model_4_2-solution000005.solution new file mode 100644 index 0000000000..73f1bfe1ac --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_4_2-solution000005.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting var2 be {{}, {false}} +$ Visualisation for var2 +$ +$ _ + diff --git a/tests/exhaustive/autogen/gen02/expected/model_4_2-solution000006.solution b/tests/exhaustive/autogen/gen02/expected/model_4_2-solution000006.solution new file mode 100644 index 0000000000..d4c4a238b9 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_4_2-solution000006.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting var2 be {{}, {true}} +$ Visualisation for var2 +$ +$ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_4_2-solution000007.solution b/tests/exhaustive/autogen/gen02/expected/model_4_2-solution000007.solution new file mode 100644 index 0000000000..2b6a8959da --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_4_2-solution000007.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting var2 be {{false}, {true}} +$ Visualisation for var2 +$ _ +$ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_4_2-solution000008.solution b/tests/exhaustive/autogen/gen02/expected/model_4_2-solution000008.solution new file mode 100644 index 0000000000..9c15a8e4e1 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_4_2-solution000008.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting var2 be {{}, {false, true}} +$ Visualisation for var2 +$ +$ _ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_4_2-solution000009.solution b/tests/exhaustive/autogen/gen02/expected/model_4_2-solution000009.solution new file mode 100644 index 0000000000..b2e98e56a6 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_4_2-solution000009.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting var2 be {{false}, {false, true}} +$ Visualisation for var2 +$ _ +$ _ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_4_2-solution000010.solution b/tests/exhaustive/autogen/gen02/expected/model_4_2-solution000010.solution new file mode 100644 index 0000000000..4fc309134f --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_4_2-solution000010.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting var2 be {{false, true}, {true}} +$ Visualisation for var2 +$ _ T +$ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_4_2-solution000011.solution b/tests/exhaustive/autogen/gen02/expected/model_4_2-solution000011.solution new file mode 100644 index 0000000000..70d0f91f38 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_4_2-solution000011.solution @@ -0,0 +1,8 @@ +language Essence 1.3 + +letting var2 be {{}, {false}, {true}} +$ Visualisation for var2 +$ +$ _ +$ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_4_2-solution000012.solution b/tests/exhaustive/autogen/gen02/expected/model_4_2-solution000012.solution new file mode 100644 index 0000000000..ebc3fe4182 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_4_2-solution000012.solution @@ -0,0 +1,8 @@ +language Essence 1.3 + +letting var2 be {{}, {false}, {false, true}} +$ Visualisation for var2 +$ +$ _ +$ _ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_4_2-solution000013.solution b/tests/exhaustive/autogen/gen02/expected/model_4_2-solution000013.solution new file mode 100644 index 0000000000..fa4340a533 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_4_2-solution000013.solution @@ -0,0 +1,8 @@ +language Essence 1.3 + +letting var2 be {{}, {false, true}, {true}} +$ Visualisation for var2 +$ +$ _ T +$ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_4_2-solution000014.solution b/tests/exhaustive/autogen/gen02/expected/model_4_2-solution000014.solution new file mode 100644 index 0000000000..371f28aab7 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_4_2-solution000014.solution @@ -0,0 +1,8 @@ +language Essence 1.3 + +letting var2 be {{false}, {false, true}, {true}} +$ Visualisation for var2 +$ _ +$ _ T +$ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_4_2-solution000015.solution b/tests/exhaustive/autogen/gen02/expected/model_4_2-solution000015.solution new file mode 100644 index 0000000000..35cfa328e8 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_4_2-solution000015.solution @@ -0,0 +1,9 @@ +language Essence 1.3 + +letting var2 be {{}, {false}, {false, true}, {true}} +$ Visualisation for var2 +$ +$ _ +$ _ T +$ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_4_2.eprime b/tests/exhaustive/autogen/gen02/expected/model_4_2.eprime new file mode 100644 index 0000000000..c50ffb2189 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_4_2.eprime @@ -0,0 +1,119 @@ +language ESSENCE' 1.0 + +find var2_ExplicitVarSizeWithFlagsR4_Flags: matrix indexed by [int(1..4)] of bool +find var2_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Flags: + matrix indexed by [int(1..4), int(1..2)] of bool +find var2_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Values: + matrix indexed by [int(1..4), int(1..2)] of bool +find var2_ExplicitVarSizeWithMarkerR4_Marker: int(0..4) +find var2_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Flags: + matrix indexed by [int(1..4), int(1..2)] of bool +find var2_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Values: + matrix indexed by [int(1..4), int(1..2)] of bool +branching on + [var2_ExplicitVarSizeWithMarkerR4_Marker, var2_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Flags, + var2_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Values, var2_ExplicitVarSizeWithFlagsR4_Flags, + var2_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Flags, + var2_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Values] +such that + or([var2_ExplicitVarSizeWithFlagsR4_Flags[q44] /\ + sum([toInt(var2_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Flags[q44, q45]) | q45 : int(1..2)]) + >= -7 + | q44 : int(1..4)]), + and([var2_ExplicitVarSizeWithFlagsR4_Flags[q2 + 1] -> + flatten([flatten([[-toInt(var2_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Flags[q2, q12]); + int(1)], + [-toInt(var2_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Values[q2, q12]); + int(1)]; + int(1..2)]) + | q12 : int(1..2)]) + + and([var2_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Flags[q3, q14] = false | q14 : int(1..2)]) + /\ + and([var2_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Values[q3, q15] = false + | q15 : int(1..2)]) + | q3 : int(1..4)]), + and([var2_ExplicitVarSizeWithFlagsR4_Flags[q4 + 1] -> var2_ExplicitVarSizeWithFlagsR4_Flags[q4] | q4 : int(1..3)]), + and([var2_ExplicitVarSizeWithFlagsR4_Flags[q6] -> + (var2_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Flags[q6, 2] -> + -toInt(var2_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Values[q6, 1]) < + -toInt(var2_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Values[q6, 2])) + | q6 : int(1..4)]), + and([var2_ExplicitVarSizeWithFlagsR4_Flags[q6] -> + and([var2_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Flags[q6, q8] = false -> + var2_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Values[q6, q8] = false + | q8 : int(1..2)]) + | q6 : int(1..4)]), + and([var2_ExplicitVarSizeWithFlagsR4_Flags[q6] -> + (var2_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Flags[q6, 2] -> + var2_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Flags[q6, 1]) + | q6 : int(1..4)]), + and([q16 + 1 <= var2_ExplicitVarSizeWithMarkerR4_Marker -> + flatten([flatten([[-toInt(var2_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Flags[q16, q24]); + int(1)], + [-toInt(var2_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Values[q16, q24]); + int(1)]; + int(1..2)]) + | q24 : int(1..2)]) + var2_ExplicitVarSizeWithMarkerR4_Marker -> + and([var2_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Flags[q17, q26] = false + | q26 : int(1..2)]) + /\ + and([var2_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Values[q17, q27] = false + | q27 : int(1..2)]) + | q17 : int(1..4)]), + and([q18 <= var2_ExplicitVarSizeWithMarkerR4_Marker -> + (var2_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Flags[q18, 2] -> + -toInt(var2_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Values[q18, 1]) < + -toInt(var2_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Values[q18, 2])) + | q18 : int(1..4)]), + and([q18 <= var2_ExplicitVarSizeWithMarkerR4_Marker -> + and([var2_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Flags[q18, q20] = false -> + var2_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Values[q18, q20] = false + | q20 : int(1..2)]) + | q18 : int(1..4)]), + and([q18 <= var2_ExplicitVarSizeWithMarkerR4_Marker -> + (var2_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Flags[q18, 2] -> + var2_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Flags[q18, 1]) + | q18 : int(1..4)]), + and([q29 <= var2_ExplicitVarSizeWithMarkerR4_Marker -> + or([var2_ExplicitVarSizeWithFlagsR4_Flags[q31] /\ + (and([var2_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Flags[q31, q32] = + var2_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Flags[q29, q32] + | q32 : int(1..2)]) + /\ + and([var2_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Values[q31, q34] = + var2_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Values[q29, q34] + | q34 : int(1..2)])) + | q31 : int(1..4)]) + | q29 : int(1..4)]), + and([var2_ExplicitVarSizeWithFlagsR4_Flags[q37] -> + or([q39 <= var2_ExplicitVarSizeWithMarkerR4_Marker /\ + (and([var2_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Flags[q39, q40] = + var2_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Flags[q37, q40] + | q40 : int(1..2)]) + /\ + and([var2_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Values[q39, q42] = + var2_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Values[q37, q42] + | q42 : int(1..2)])) + | q39 : int(1..4)]) + | q37 : int(1..4)]) + diff --git a/tests/exhaustive/autogen/gen02/expected/model_4_3-solution000001.solution b/tests/exhaustive/autogen/gen02/expected/model_4_3-solution000001.solution new file mode 100644 index 0000000000..19d999ca82 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_4_3-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting var2 be {{}} diff --git a/tests/exhaustive/autogen/gen02/expected/model_4_3-solution000002.solution b/tests/exhaustive/autogen/gen02/expected/model_4_3-solution000002.solution new file mode 100644 index 0000000000..937293310f --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_4_3-solution000002.solution @@ -0,0 +1,6 @@ +language Essence 1.3 + +letting var2 be {{false}} +$ Visualisation for var2 +$ _ + diff --git a/tests/exhaustive/autogen/gen02/expected/model_4_3-solution000003.solution b/tests/exhaustive/autogen/gen02/expected/model_4_3-solution000003.solution new file mode 100644 index 0000000000..5a187652fa --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_4_3-solution000003.solution @@ -0,0 +1,6 @@ +language Essence 1.3 + +letting var2 be {{true}} +$ Visualisation for var2 +$ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_4_3-solution000004.solution b/tests/exhaustive/autogen/gen02/expected/model_4_3-solution000004.solution new file mode 100644 index 0000000000..0678d41bf8 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_4_3-solution000004.solution @@ -0,0 +1,6 @@ +language Essence 1.3 + +letting var2 be {{false, true}} +$ Visualisation for var2 +$ _ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_4_3-solution000005.solution b/tests/exhaustive/autogen/gen02/expected/model_4_3-solution000005.solution new file mode 100644 index 0000000000..73f1bfe1ac --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_4_3-solution000005.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting var2 be {{}, {false}} +$ Visualisation for var2 +$ +$ _ + diff --git a/tests/exhaustive/autogen/gen02/expected/model_4_3-solution000006.solution b/tests/exhaustive/autogen/gen02/expected/model_4_3-solution000006.solution new file mode 100644 index 0000000000..d4c4a238b9 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_4_3-solution000006.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting var2 be {{}, {true}} +$ Visualisation for var2 +$ +$ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_4_3-solution000007.solution b/tests/exhaustive/autogen/gen02/expected/model_4_3-solution000007.solution new file mode 100644 index 0000000000..9c15a8e4e1 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_4_3-solution000007.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting var2 be {{}, {false, true}} +$ Visualisation for var2 +$ +$ _ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_4_3-solution000008.solution b/tests/exhaustive/autogen/gen02/expected/model_4_3-solution000008.solution new file mode 100644 index 0000000000..2b6a8959da --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_4_3-solution000008.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting var2 be {{false}, {true}} +$ Visualisation for var2 +$ _ +$ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_4_3-solution000009.solution b/tests/exhaustive/autogen/gen02/expected/model_4_3-solution000009.solution new file mode 100644 index 0000000000..b2e98e56a6 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_4_3-solution000009.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting var2 be {{false}, {false, true}} +$ Visualisation for var2 +$ _ +$ _ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_4_3-solution000010.solution b/tests/exhaustive/autogen/gen02/expected/model_4_3-solution000010.solution new file mode 100644 index 0000000000..4fc309134f --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_4_3-solution000010.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting var2 be {{false, true}, {true}} +$ Visualisation for var2 +$ _ T +$ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_4_3-solution000011.solution b/tests/exhaustive/autogen/gen02/expected/model_4_3-solution000011.solution new file mode 100644 index 0000000000..70d0f91f38 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_4_3-solution000011.solution @@ -0,0 +1,8 @@ +language Essence 1.3 + +letting var2 be {{}, {false}, {true}} +$ Visualisation for var2 +$ +$ _ +$ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_4_3-solution000012.solution b/tests/exhaustive/autogen/gen02/expected/model_4_3-solution000012.solution new file mode 100644 index 0000000000..ebc3fe4182 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_4_3-solution000012.solution @@ -0,0 +1,8 @@ +language Essence 1.3 + +letting var2 be {{}, {false}, {false, true}} +$ Visualisation for var2 +$ +$ _ +$ _ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_4_3-solution000013.solution b/tests/exhaustive/autogen/gen02/expected/model_4_3-solution000013.solution new file mode 100644 index 0000000000..fa4340a533 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_4_3-solution000013.solution @@ -0,0 +1,8 @@ +language Essence 1.3 + +letting var2 be {{}, {false, true}, {true}} +$ Visualisation for var2 +$ +$ _ T +$ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_4_3-solution000014.solution b/tests/exhaustive/autogen/gen02/expected/model_4_3-solution000014.solution new file mode 100644 index 0000000000..371f28aab7 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_4_3-solution000014.solution @@ -0,0 +1,8 @@ +language Essence 1.3 + +letting var2 be {{false}, {false, true}, {true}} +$ Visualisation for var2 +$ _ +$ _ T +$ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_4_3-solution000015.solution b/tests/exhaustive/autogen/gen02/expected/model_4_3-solution000015.solution new file mode 100644 index 0000000000..35cfa328e8 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_4_3-solution000015.solution @@ -0,0 +1,9 @@ +language Essence 1.3 + +letting var2 be {{}, {false}, {false, true}, {true}} +$ Visualisation for var2 +$ +$ _ +$ _ T +$ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_4_3.eprime.orig b/tests/exhaustive/autogen/gen02/expected/model_4_3.eprime.orig deleted file mode 100644 index 8f90ca4866..0000000000 --- a/tests/exhaustive/autogen/gen02/expected/model_4_3.eprime.orig +++ /dev/null @@ -1,120 +0,0 @@ -language ESSENCE' 1.0 - -find var2_ExplicitVarSizeWithFlagsR4_Flags: matrix indexed by [int(1..4)] of bool -find var2_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Flags: - matrix indexed by [int(1..4), int(1..2)] of bool -find var2_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Values: - matrix indexed by [int(1..4), int(1..2)] of bool -find var2_ExplicitVarSizeWithFlagsR5_Flags: matrix indexed by [int(1..4)] of bool -find var2_ExplicitVarSizeWithFlagsR5_Values_ExplicitVarSizeWithMarker_Marker: matrix indexed by [int(1..4)] of int(0..2) -find var2_ExplicitVarSizeWithFlagsR5_Values_ExplicitVarSizeWithMarker_Values: - matrix indexed by [int(1..4), int(1..2)] of bool -branching on - [var2_ExplicitVarSizeWithFlagsR5_Flags, var2_ExplicitVarSizeWithFlagsR5_Values_ExplicitVarSizeWithMarker_Marker, - var2_ExplicitVarSizeWithFlagsR5_Values_ExplicitVarSizeWithMarker_Values, var2_ExplicitVarSizeWithFlagsR4_Flags, - var2_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Flags, - var2_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Values] -such that - or([var2_ExplicitVarSizeWithFlagsR4_Flags[q51] /\ - sum([toInt(var2_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Flags[q51, q52]) | q52 : int(1..2)]) - >= -7 - | q51 : int(1..4)]), - and([var2_ExplicitVarSizeWithFlagsR4_Flags[q2 + 1] -> - flatten([flatten([[-toInt(var2_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Flags[q2, q12]); - int(1)], - [-toInt(var2_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Values[q2, q12]); - int(1)]; - int(1..2)]) - | q12 : int(1..2)]) - - and([var2_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Flags[q3, q14] = false | q14 : int(1..2)]) - /\ - and([var2_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Values[q3, q15] = false - | q15 : int(1..2)]) - | q3 : int(1..4)]), - and([var2_ExplicitVarSizeWithFlagsR4_Flags[q4 + 1] -> var2_ExplicitVarSizeWithFlagsR4_Flags[q4] | q4 : int(1..3)]), - and([var2_ExplicitVarSizeWithFlagsR4_Flags[q6] -> - (var2_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Flags[q6, 2] -> - -toInt(var2_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Values[q6, 1]) < - -toInt(var2_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Values[q6, 2])) - | q6 : int(1..4)]), - and([var2_ExplicitVarSizeWithFlagsR4_Flags[q6] -> - and([var2_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Flags[q6, q8] = false -> - var2_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Values[q6, q8] = false - | q8 : int(1..2)]) - | q6 : int(1..4)]), - and([var2_ExplicitVarSizeWithFlagsR4_Flags[q6] -> - (var2_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Flags[q6, 2] -> - var2_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Flags[q6, 1]) - | q6 : int(1..4)]), - and([var2_ExplicitVarSizeWithFlagsR5_Flags[q16 + 1] -> - flatten([[var2_ExplicitVarSizeWithFlagsR5_Values_ExplicitVarSizeWithMarker_Marker[q16]; int(1)], - [-toInt(var2_ExplicitVarSizeWithFlagsR5_Values_ExplicitVarSizeWithMarker_Values[q16, q24]) - | q24 : int(1..2)]; - int(1..2)]) - - var2_ExplicitVarSizeWithFlagsR5_Values_ExplicitVarSizeWithMarker_Marker[q17] = 0 /\ - and([var2_ExplicitVarSizeWithFlagsR5_Values_ExplicitVarSizeWithMarker_Values[q17, q26] = false - | q26 : int(1..2)]) - | q17 : int(1..4)]), - and([var2_ExplicitVarSizeWithFlagsR5_Flags[q18 + 1] -> var2_ExplicitVarSizeWithFlagsR5_Flags[q18] - | q18 : int(1..3)]), - and([var2_ExplicitVarSizeWithFlagsR5_Flags[q20] -> - (2 <= var2_ExplicitVarSizeWithFlagsR5_Values_ExplicitVarSizeWithMarker_Marker[q20] -> - -toInt(var2_ExplicitVarSizeWithFlagsR5_Values_ExplicitVarSizeWithMarker_Values[q20, 1]) < - -toInt(var2_ExplicitVarSizeWithFlagsR5_Values_ExplicitVarSizeWithMarker_Values[q20, 2])) - | q20 : int(1..4)]), - and([var2_ExplicitVarSizeWithFlagsR5_Flags[q20] -> - and([q22 > var2_ExplicitVarSizeWithFlagsR5_Values_ExplicitVarSizeWithMarker_Marker[q20] -> - var2_ExplicitVarSizeWithFlagsR5_Values_ExplicitVarSizeWithMarker_Values[q20, q22] = false - | q22 : int(1..2)]) - | q20 : int(1..4)]), - and([var2_ExplicitVarSizeWithFlagsR5_Flags[q28] -> - or([var2_ExplicitVarSizeWithFlagsR4_Flags[q30] /\ - (and([var2_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Flags[q30, q32] -> - or([q34 <= var2_ExplicitVarSizeWithFlagsR5_Values_ExplicitVarSizeWithMarker_Marker[q28] /\ - var2_ExplicitVarSizeWithFlagsR5_Values_ExplicitVarSizeWithMarker_Values[q28, q34] = - var2_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Values[q30, q32] - | q34 : int(1..2)]) - | q32 : int(1..2)]) - /\ - and([q36 <= var2_ExplicitVarSizeWithFlagsR5_Values_ExplicitVarSizeWithMarker_Marker[q28] -> - or([var2_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Flags[q30, q38] /\ - var2_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Values[q30, q38] = - var2_ExplicitVarSizeWithFlagsR5_Values_ExplicitVarSizeWithMarker_Values[q28, q36] - | q38 : int(1..2)]) - | q36 : int(1..2)])) - | q30 : int(1..4)]) - | q28 : int(1..4)]), - and([var2_ExplicitVarSizeWithFlagsR4_Flags[q40] -> - or([var2_ExplicitVarSizeWithFlagsR5_Flags[q42] /\ - (and([q44 <= var2_ExplicitVarSizeWithFlagsR5_Values_ExplicitVarSizeWithMarker_Marker[q42] -> - or([var2_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Flags[q40, q46] /\ - var2_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Values[q40, q46] = - var2_ExplicitVarSizeWithFlagsR5_Values_ExplicitVarSizeWithMarker_Values[q42, q44] - | q46 : int(1..2)]) - | q44 : int(1..2)]) - /\ - and([var2_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Flags[q40, q48] -> - or([q50 <= var2_ExplicitVarSizeWithFlagsR5_Values_ExplicitVarSizeWithMarker_Marker[q42] /\ - var2_ExplicitVarSizeWithFlagsR5_Values_ExplicitVarSizeWithMarker_Values[q42, q50] = - var2_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Values[q40, q48] - | q50 : int(1..2)]) - | q48 : int(1..2)])) - | q42 : int(1..4)]) - | q40 : int(1..4)]) - diff --git a/tests/exhaustive/autogen/gen02/expected/model_4_4-solution000001.solution b/tests/exhaustive/autogen/gen02/expected/model_4_4-solution000001.solution new file mode 100644 index 0000000000..19d999ca82 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_4_4-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting var2 be {{}} diff --git a/tests/exhaustive/autogen/gen02/expected/model_4_4-solution000002.solution b/tests/exhaustive/autogen/gen02/expected/model_4_4-solution000002.solution new file mode 100644 index 0000000000..937293310f --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_4_4-solution000002.solution @@ -0,0 +1,6 @@ +language Essence 1.3 + +letting var2 be {{false}} +$ Visualisation for var2 +$ _ + diff --git a/tests/exhaustive/autogen/gen02/expected/model_4_4-solution000003.solution b/tests/exhaustive/autogen/gen02/expected/model_4_4-solution000003.solution new file mode 100644 index 0000000000..5a187652fa --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_4_4-solution000003.solution @@ -0,0 +1,6 @@ +language Essence 1.3 + +letting var2 be {{true}} +$ Visualisation for var2 +$ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_4_4-solution000004.solution b/tests/exhaustive/autogen/gen02/expected/model_4_4-solution000004.solution new file mode 100644 index 0000000000..0678d41bf8 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_4_4-solution000004.solution @@ -0,0 +1,6 @@ +language Essence 1.3 + +letting var2 be {{false, true}} +$ Visualisation for var2 +$ _ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_4_4-solution000005.solution b/tests/exhaustive/autogen/gen02/expected/model_4_4-solution000005.solution new file mode 100644 index 0000000000..73f1bfe1ac --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_4_4-solution000005.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting var2 be {{}, {false}} +$ Visualisation for var2 +$ +$ _ + diff --git a/tests/exhaustive/autogen/gen02/expected/model_4_4-solution000006.solution b/tests/exhaustive/autogen/gen02/expected/model_4_4-solution000006.solution new file mode 100644 index 0000000000..d4c4a238b9 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_4_4-solution000006.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting var2 be {{}, {true}} +$ Visualisation for var2 +$ +$ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_4_4-solution000007.solution b/tests/exhaustive/autogen/gen02/expected/model_4_4-solution000007.solution new file mode 100644 index 0000000000..2b6a8959da --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_4_4-solution000007.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting var2 be {{false}, {true}} +$ Visualisation for var2 +$ _ +$ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_4_4-solution000008.solution b/tests/exhaustive/autogen/gen02/expected/model_4_4-solution000008.solution new file mode 100644 index 0000000000..9c15a8e4e1 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_4_4-solution000008.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting var2 be {{}, {false, true}} +$ Visualisation for var2 +$ +$ _ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_4_4-solution000009.solution b/tests/exhaustive/autogen/gen02/expected/model_4_4-solution000009.solution new file mode 100644 index 0000000000..b2e98e56a6 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_4_4-solution000009.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting var2 be {{false}, {false, true}} +$ Visualisation for var2 +$ _ +$ _ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_4_4-solution000010.solution b/tests/exhaustive/autogen/gen02/expected/model_4_4-solution000010.solution new file mode 100644 index 0000000000..4fc309134f --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_4_4-solution000010.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting var2 be {{false, true}, {true}} +$ Visualisation for var2 +$ _ T +$ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_4_4-solution000011.solution b/tests/exhaustive/autogen/gen02/expected/model_4_4-solution000011.solution new file mode 100644 index 0000000000..70d0f91f38 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_4_4-solution000011.solution @@ -0,0 +1,8 @@ +language Essence 1.3 + +letting var2 be {{}, {false}, {true}} +$ Visualisation for var2 +$ +$ _ +$ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_4_4-solution000012.solution b/tests/exhaustive/autogen/gen02/expected/model_4_4-solution000012.solution new file mode 100644 index 0000000000..ebc3fe4182 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_4_4-solution000012.solution @@ -0,0 +1,8 @@ +language Essence 1.3 + +letting var2 be {{}, {false}, {false, true}} +$ Visualisation for var2 +$ +$ _ +$ _ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_4_4-solution000013.solution b/tests/exhaustive/autogen/gen02/expected/model_4_4-solution000013.solution new file mode 100644 index 0000000000..fa4340a533 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_4_4-solution000013.solution @@ -0,0 +1,8 @@ +language Essence 1.3 + +letting var2 be {{}, {false, true}, {true}} +$ Visualisation for var2 +$ +$ _ T +$ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_4_4-solution000014.solution b/tests/exhaustive/autogen/gen02/expected/model_4_4-solution000014.solution new file mode 100644 index 0000000000..371f28aab7 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_4_4-solution000014.solution @@ -0,0 +1,8 @@ +language Essence 1.3 + +letting var2 be {{false}, {false, true}, {true}} +$ Visualisation for var2 +$ _ +$ _ T +$ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_4_4-solution000015.solution b/tests/exhaustive/autogen/gen02/expected/model_4_4-solution000015.solution new file mode 100644 index 0000000000..35cfa328e8 --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_4_4-solution000015.solution @@ -0,0 +1,9 @@ +language Essence 1.3 + +letting var2 be {{}, {false}, {false, true}, {true}} +$ Visualisation for var2 +$ +$ _ +$ _ T +$ T + diff --git a/tests/exhaustive/autogen/gen02/expected/model_4_4.eprime b/tests/exhaustive/autogen/gen02/expected/model_4_4.eprime new file mode 100644 index 0000000000..e694258b7c --- /dev/null +++ b/tests/exhaustive/autogen/gen02/expected/model_4_4.eprime @@ -0,0 +1,52 @@ +language ESSENCE' 1.0 + +find var2_ExplicitVarSizeWithFlagsR4_Flags: matrix indexed by [int(1..4)] of bool +find var2_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Flags: + matrix indexed by [int(1..4), int(1..2)] of bool +find var2_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Values: + matrix indexed by [int(1..4), int(1..2)] of bool +branching on + [var2_ExplicitVarSizeWithFlagsR4_Flags, var2_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Flags, + var2_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Values] +such that + or([var2_ExplicitVarSizeWithFlagsR4_Flags[q16] /\ + sum([toInt(var2_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Flags[q16, q17]) | q17 : int(1..2)]) + >= -7 + | q16 : int(1..4)]), + and([var2_ExplicitVarSizeWithFlagsR4_Flags[q2 + 1] -> + flatten([flatten([[-toInt(var2_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Flags[q2, q12]); + int(1)], + [-toInt(var2_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Values[q2, q12]); + int(1)]; + int(1..2)]) + | q12 : int(1..2)]) + + and([var2_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Flags[q3, q14] = false | q14 : int(1..2)]) + /\ + and([var2_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Values[q3, q15] = false + | q15 : int(1..2)]) + | q3 : int(1..4)]), + and([var2_ExplicitVarSizeWithFlagsR4_Flags[q4 + 1] -> var2_ExplicitVarSizeWithFlagsR4_Flags[q4] | q4 : int(1..3)]), + and([var2_ExplicitVarSizeWithFlagsR4_Flags[q6] -> + (var2_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Flags[q6, 2] -> + -toInt(var2_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Values[q6, 1]) < + -toInt(var2_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Values[q6, 2])) + | q6 : int(1..4)]), + and([var2_ExplicitVarSizeWithFlagsR4_Flags[q6] -> + and([var2_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Flags[q6, q8] = false -> + var2_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Values[q6, q8] = false + | q8 : int(1..2)]) + | q6 : int(1..4)]), + and([var2_ExplicitVarSizeWithFlagsR4_Flags[q6] -> + (var2_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Flags[q6, 2] -> + var2_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Flags[q6, 1]) + | q6 : int(1..4)]) + diff --git a/tests/exhaustive/autogen/gen14_1/expected/model_1-solution000001.solution b/tests/exhaustive/autogen/gen14_1/expected/model_1-solution000001.solution new file mode 100644 index 0000000000..dc001498cc --- /dev/null +++ b/tests/exhaustive/autogen/gen14_1/expected/model_1-solution000001.solution @@ -0,0 +1,6 @@ +language Essence 1.3 + +letting var1 be partition({1, 2}) +$ Visualisation for var1 +$ 1 2 + diff --git a/tests/exhaustive/autogen/gen14_1/expected/model_1-solution000002.solution b/tests/exhaustive/autogen/gen14_1/expected/model_1-solution000002.solution new file mode 100644 index 0000000000..d53bf91bd1 --- /dev/null +++ b/tests/exhaustive/autogen/gen14_1/expected/model_1-solution000002.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting var1 be partition({1}, {2}) +$ Visualisation for var1 +$ 1 +$ 2 + diff --git a/tests/exhaustive/autogen/gen14_1/expected/model_1.eprime.orig b/tests/exhaustive/autogen/gen14_1/expected/model_1.eprime.orig deleted file mode 100644 index fcfc0075cb..0000000000 --- a/tests/exhaustive/autogen/gen14_1/expected/model_1.eprime.orig +++ /dev/null @@ -1,104 +0,0 @@ -language ESSENCE' 1.0 - -find var1_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Marker: int(0..2) -find var1_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence: matrix indexed by [int(1..2), int(1..2)] of bool -branching on - [var1_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Marker, - var1_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence] -such that - !(and([q43 <= var1_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Marker -> - or([q47 <= var1_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Marker /\ - (and([var1_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence[q47, q36] -> - var1_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence[q43, q36] - | q36 : int(1..2)]) - /\ - and([var1_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence[q43, q37] -> - var1_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence[q47, q37] - | q37 : int(1..2)])) - | q47 : int(1..2)]) - | q43 : int(1..2)]) - /\ - and([q49 <= var1_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Marker -> - or([q45 <= var1_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Marker /\ - (and([var1_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence[q45, q40] -> - var1_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence[q49, q40] - | q40 : int(1..2)]) - /\ - and([var1_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence[q49, q41] -> - var1_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence[q45, q41] - | q41 : int(1..2)])) - | q45 : int(1..2)]) - | q49 : int(1..2)])) - \/ - !(and([q30 <= var1_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Marker -> - var1_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence[q30, 1] /\ - and([var1_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence[q30, q22] -> 1 = q22 - | q22 : int(1..2)]) - | q30 : int(1..2)]) - /\ - or([q32 <= var1_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Marker /\ - (and([var1_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence[q32, q26] -> 1 = q26 - | q26 : int(1..2)]) - /\ var1_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence[q32, 1]) - | q32 : int(1..2)])) - \/ - !(and([q70 <= var1_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Marker -> - or([q74 <= var1_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Marker /\ - (and([var1_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence[q74, q63] -> - var1_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence[q70, q63] - | q63 : int(1..2)]) - /\ - and([var1_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence[q70, q64] -> - var1_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence[q74, q64] - | q64 : int(1..2)])) - | q74 : int(1..2)]) - | q70 : int(1..2)]) - /\ - and([q76 <= var1_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Marker -> - or([q72 <= var1_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Marker /\ - (and([var1_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence[q72, q67] -> - var1_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence[q76, q67] - | q67 : int(1..2)]) - /\ - and([var1_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence[q76, q68] -> - var1_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence[q72, q68] - | q68 : int(1..2)])) - | q72 : int(1..2)]) - | q76 : int(1..2)]) - \/ - or([q78 <= var1_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Marker /\ - (and([var1_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence[q78, q53] -> 1 = q53 - | q53 : int(1..2)]) - /\ var1_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence[q78, 1]) - | q78 : int(1..2)]) - /\ - and([q80 <= var1_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Marker -> - var1_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence[q80, 1] /\ - and([var1_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence[q80, q59] -> 1 = q59 - | q59 : int(1..2)]) - | q80 : int(1..2)])), - and([1 = - sum([toInt(q14 <= var1_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Marker /\ - var1_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence[q14, q1]) - | q14 : int(1..2)]) - | q1 : int(1..2)]), - and([q15 <= var1_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Marker -> - sum([toInt(var1_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence[q15, q16]) | q16 : int(1..2)]) >= - 1 | q15 : int(1..2)]), - 2 <= var1_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Marker -> - [-toInt(var1_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence[1, q9]) | q9 : int(1..2)] var1_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Marker -> - and([var1_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence[q5, q11] = false | q11 : int(1..2)]) - | q5 : int(1..2)]), - var1_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Marker <= 2, - and([q6 <= var1_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Marker -> - sum([toInt(var1_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence[q6, q7]) | q7 : int(1..2)]) <= 2 - | q6 : int(1..2)]), - 2 = - sum([toInt(q12 <= var1_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Marker) * - catchUndef(sum([toInt(var1_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence[q12, q13]) - | q13 : int(1..2)]), - 0) - | q12 : int(1..2)]) - diff --git a/tests/exhaustive/autogen/gen14_1/expected/model_2-solution000001.solution b/tests/exhaustive/autogen/gen14_1/expected/model_2-solution000001.solution new file mode 100644 index 0000000000..dc001498cc --- /dev/null +++ b/tests/exhaustive/autogen/gen14_1/expected/model_2-solution000001.solution @@ -0,0 +1,6 @@ +language Essence 1.3 + +letting var1 be partition({1, 2}) +$ Visualisation for var1 +$ 1 2 + diff --git a/tests/exhaustive/autogen/gen14_1/expected/model_2-solution000002.solution b/tests/exhaustive/autogen/gen14_1/expected/model_2-solution000002.solution new file mode 100644 index 0000000000..d53bf91bd1 --- /dev/null +++ b/tests/exhaustive/autogen/gen14_1/expected/model_2-solution000002.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting var1 be partition({1}, {2}) +$ Visualisation for var1 +$ 1 +$ 2 + diff --git a/tests/exhaustive/autogen/gen14_1/expected/model_2.eprime.orig b/tests/exhaustive/autogen/gen14_1/expected/model_2.eprime.orig deleted file mode 100644 index 357f1abe59..0000000000 --- a/tests/exhaustive/autogen/gen14_1/expected/model_2.eprime.orig +++ /dev/null @@ -1,174 +0,0 @@ -language ESSENCE' 1.0 - -find var1_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker: int(0..2) -find var1_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy: - matrix indexed by [int(1..2), int(1..2)] of int(1..3) -branching on - [var1_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker, - var1_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy] -such that - !(and([q55 <= var1_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker -> - or([q65 <= var1_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker /\ - (and([var1_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q65, q66] != 3 -> - or([var1_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q55, q58] != 3 - /\ - var1_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q55, q58] = - var1_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q65, q66] - | q58 : int(1..2)]) - | q66 : int(1..2)]) - /\ - and([var1_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q55, q56] != 3 -> - or([var1_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q65, q68] != 3 - /\ - var1_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q65, q68] = - var1_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q55, q56] - | q68 : int(1..2)]) - | q56 : int(1..2)])) - | q65 : int(1..2)]) - | q55 : int(1..2)]) - /\ - and([q70 <= var1_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker -> - or([q60 <= var1_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker /\ - (and([var1_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q60, q61] != 3 -> - or([var1_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q70, q73] != 3 - /\ - var1_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q70, q73] = - var1_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q60, q61] - | q73 : int(1..2)]) - | q61 : int(1..2)]) - /\ - and([var1_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q70, q71] != 3 -> - or([var1_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q60, q63] != 3 - /\ - var1_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q60, q63] = - var1_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q70, q71] - | q63 : int(1..2)]) - | q71 : int(1..2)])) - | q60 : int(1..2)]) - | q70 : int(1..2)])) - \/ - !(and([q36 <= var1_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker -> - or([var1_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q36, q39] != 3 /\ - var1_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q36, q39] = 1 - | q39 : int(1..2)]) - /\ - and([var1_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q36, q37] != 3 -> - 1 = var1_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q36, q37] - | q37 : int(1..2)]) - | q36 : int(1..2)]) - /\ - or([q41 <= var1_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker /\ - (and([var1_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q41, q42] != 3 -> - 1 = var1_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q41, q42] - | q42 : int(1..2)]) - /\ - or([var1_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q41, q44] != 3 /\ - var1_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q41, q44] = 1 - | q44 : int(1..2)])) - | q41 : int(1..2)])) - \/ - !(and([q94 <= var1_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker -> - or([q104 <= var1_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker /\ - (and([var1_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q104, q105] != 3 -> - or([var1_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q94, q97] != 3 - /\ - var1_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q94, q97] = - var1_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q104, q105] - | q97 : int(1..2)]) - | q105 : int(1..2)]) - /\ - and([var1_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q94, q95] != 3 -> - or([var1_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q104, q107] != - 3 - /\ - var1_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q104, q107] = - var1_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q94, q95] - | q107 : int(1..2)]) - | q95 : int(1..2)])) - | q104 : int(1..2)]) - | q94 : int(1..2)]) - /\ - and([q109 <= var1_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker -> - or([q99 <= var1_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker /\ - (and([var1_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q99, q100] != 3 -> - or([var1_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q109, q112] != - 3 - /\ - var1_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q109, q112] = - var1_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q99, q100] - | q112 : int(1..2)]) - | q100 : int(1..2)]) - /\ - and([var1_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q109, q110] != 3 -> - or([var1_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q99, q102] != 3 - /\ - var1_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q99, q102] = - var1_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q109, q110] - | q102 : int(1..2)]) - | q110 : int(1..2)])) - | q99 : int(1..2)]) - | q109 : int(1..2)]) - \/ - or([q114 <= var1_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker /\ - (and([var1_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q114, q115] != 3 -> - 1 = var1_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q114, q115] - | q115 : int(1..2)]) - /\ - or([var1_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q114, q117] != 3 /\ - var1_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q114, q117] = 1 - | q117 : int(1..2)])) - | q114 : int(1..2)]) - /\ - and([q119 <= var1_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker -> - or([var1_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q119, q122] != 3 /\ - var1_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q119, q122] = 1 - | q122 : int(1..2)]) - /\ - and([var1_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q119, q120] != 3 -> - 1 = var1_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q119, q120] - | q120 : int(1..2)]) - | q119 : int(1..2)])), - alldifferent_except([toInt(q18 <= var1_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker /\ - var1_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q18, q19] - != 3) - * - catchUndef(var1_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy - [q18, q19], - 0) - | q18 : int(1..2), q19 : int(1..2)], - 0), - and([q20 <= var1_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker -> - sum([toInt(var1_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q20, q22] != 3) - | q22 : int(1..2)]) - >= 1 - | q20 : int(1..2)]), - 2 <= var1_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker -> - [var1_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[1, q12] | q12 : int(1..2)] var1_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker -> - and([var1_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q5, q17] = 1 - | q17 : int(1..2)]) - | q5 : int(1..2)]), - var1_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker <= 2, - and([q6 <= var1_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker -> - var1_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q6, 1] < - var1_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q6, 2] - \/ var1_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q6, 1] = 3 - | q6 : int(1..2)]), - and([q6 <= var1_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker -> - (var1_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q6, 1] = 3 -> - var1_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q6, 2] = 3) - | q6 : int(1..2)]), - and([q6 <= var1_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker -> - sum([toInt(var1_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q6, q9] != 3) - | q9 : int(1..2)]) - <= 2 - | q6 : int(1..2)]), - 2 = - sum([toInt(q14 <= var1_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker) * - catchUndef(sum([toInt(var1_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q14, q16] - != 3) - | q16 : int(1..2)]), - 0) - | q14 : int(1..2)]) - diff --git a/tests/exhaustive/autogen/gen14_1/expected/model_3-solution000001.solution b/tests/exhaustive/autogen/gen14_1/expected/model_3-solution000001.solution new file mode 100644 index 0000000000..dc001498cc --- /dev/null +++ b/tests/exhaustive/autogen/gen14_1/expected/model_3-solution000001.solution @@ -0,0 +1,6 @@ +language Essence 1.3 + +letting var1 be partition({1, 2}) +$ Visualisation for var1 +$ 1 2 + diff --git a/tests/exhaustive/autogen/gen14_1/expected/model_3-solution000002.solution b/tests/exhaustive/autogen/gen14_1/expected/model_3-solution000002.solution new file mode 100644 index 0000000000..d53bf91bd1 --- /dev/null +++ b/tests/exhaustive/autogen/gen14_1/expected/model_3-solution000002.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting var1 be partition({1}, {2}) +$ Visualisation for var1 +$ 1 +$ 2 + diff --git a/tests/exhaustive/autogen/gen14_1/expected/model_3.eprime.orig b/tests/exhaustive/autogen/gen14_1/expected/model_3.eprime.orig deleted file mode 100644 index 730eb14fca..0000000000 --- a/tests/exhaustive/autogen/gen14_1/expected/model_3.eprime.orig +++ /dev/null @@ -1,220 +0,0 @@ -language ESSENCE' 1.0 - -find var1_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker: int(0..2) -find var1_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker: - matrix indexed by [int(1..2)] of int(0..2) -find var1_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values: - matrix indexed by [int(1..2), int(1..2)] of int(1..2) -branching on - [var1_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker, - var1_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker, - var1_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values] -such that - !(and([q50 <= var1_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker -> - or([q60 <= var1_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker /\ - (and([q61 <= var1_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q60] - -> - or([q53 <= - var1_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q50] - /\ - var1_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values - [q50, q53] - = - var1_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values - [q60, q61] - | q53 : int(1..2)]) - | q61 : int(1..2)]) - /\ - and([q51 <= var1_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q50] - -> - or([q63 <= - var1_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q60] - /\ - var1_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values - [q60, q63] - = - var1_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values - [q50, q51] - | q63 : int(1..2)]) - | q51 : int(1..2)])) - | q60 : int(1..2)]) - | q50 : int(1..2)]) - /\ - and([q65 <= var1_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker -> - or([q55 <= var1_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker /\ - (and([q56 <= var1_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q55] - -> - or([q68 <= - var1_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q65] - /\ - var1_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values - [q65, q68] - = - var1_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values - [q55, q56] - | q68 : int(1..2)]) - | q56 : int(1..2)]) - /\ - and([q66 <= var1_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q65] - -> - or([q58 <= - var1_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q55] - /\ - var1_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values - [q55, q58] - = - var1_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values - [q65, q66] - | q58 : int(1..2)]) - | q66 : int(1..2)])) - | q55 : int(1..2)]) - | q65 : int(1..2)])) - \/ - !(and([q31 <= var1_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker -> - or([q34 <= var1_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q31] /\ - var1_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q31, q34] = 1 - | q34 : int(1..2)]) - /\ - and([q32 <= var1_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q31] -> - 1 = var1_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q31, q32] - | q32 : int(1..2)]) - | q31 : int(1..2)]) - /\ - or([q36 <= var1_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker /\ - (and([q37 <= var1_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q36] -> - 1 = var1_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q36, q37] - | q37 : int(1..2)]) - /\ - or([q39 <= var1_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q36] /\ - var1_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q36, q39] = 1 - | q39 : int(1..2)])) - | q36 : int(1..2)])) - \/ - !(and([q89 <= var1_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker -> - or([q99 <= var1_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker /\ - (and([q100 <= - var1_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q99] - -> - or([q92 <= - var1_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q89] - /\ - var1_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values - [q89, q92] - = - var1_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values - [q99, q100] - | q92 : int(1..2)]) - | q100 : int(1..2)]) - /\ - and([q90 <= var1_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q89] - -> - or([q102 <= - var1_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q99] - /\ - var1_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values - [q99, q102] - = - var1_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values - [q89, q90] - | q102 : int(1..2)]) - | q90 : int(1..2)])) - | q99 : int(1..2)]) - | q89 : int(1..2)]) - /\ - and([q104 <= var1_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker -> - or([q94 <= var1_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker /\ - (and([q95 <= var1_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q94] - -> - or([q107 <= - var1_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q104] - /\ - var1_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values - [q104, q107] - = - var1_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values - [q94, q95] - | q107 : int(1..2)]) - | q95 : int(1..2)]) - /\ - and([q105 <= - var1_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q104] - -> - or([q97 <= - var1_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q94] - /\ - var1_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values - [q94, q97] - = - var1_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values - [q104, q105] - | q97 : int(1..2)]) - | q105 : int(1..2)])) - | q94 : int(1..2)]) - | q104 : int(1..2)]) - \/ - or([q109 <= var1_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker /\ - (and([q110 <= var1_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q109] -> - 1 = var1_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q109, q110] - | q110 : int(1..2)]) - /\ - or([q112 <= var1_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q109] /\ - var1_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q109, q112] = 1 - | q112 : int(1..2)])) - | q109 : int(1..2)]) - /\ - and([q114 <= var1_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker -> - or([q117 <= var1_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q114] /\ - var1_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q114, q117] = 1 - | q117 : int(1..2)]) - /\ - and([q115 <= var1_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q114] -> - 1 = var1_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q114, q115] - | q115 : int(1..2)]) - | q114 : int(1..2)])), - alldifferent_except([toInt(q15 <= var1_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker /\ - q16 <= - var1_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker - [q15]) - * - catchUndef(var1_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values - [q15, q16], - 0) - | q15 : int(1..2), q16 : int(1..2)], - 0), - and([q17 <= var1_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker -> - var1_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q17] >= 1 - | q17 : int(1..2)]), - 2 <= var1_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker -> - flatten([[var1_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[1]; int(1)], - [var1_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[1, q11] - | q11 : int(1..2)]; - int(1..2)]) - var1_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker -> - var1_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q5] = 0 /\ - and([var1_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q5, q14] = 1 - | q14 : int(1..2)]) - | q5 : int(1..2)]), - var1_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker <= 2, - and([q6 <= var1_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker -> - (2 <= var1_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q6] -> - var1_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q6, 1] < - var1_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q6, 2]) - | q6 : int(1..2)]), - and([q6 <= var1_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker -> - and([q8 > var1_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q6] -> - var1_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q6, q8] = 1 - | q8 : int(1..2)]) - | q6 : int(1..2)]), - and([q6 <= var1_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker -> - var1_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q6] <= 2 - | q6 : int(1..2)]), - 2 = - sum([toInt(q13 <= var1_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker) * - catchUndef(var1_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q13], 0) - | q13 : int(1..2)]) - diff --git a/tests/exhaustive/autogen/gen14_1/expected/model_4-solution000001.solution b/tests/exhaustive/autogen/gen14_1/expected/model_4-solution000001.solution new file mode 100644 index 0000000000..dc001498cc --- /dev/null +++ b/tests/exhaustive/autogen/gen14_1/expected/model_4-solution000001.solution @@ -0,0 +1,6 @@ +language Essence 1.3 + +letting var1 be partition({1, 2}) +$ Visualisation for var1 +$ 1 2 + diff --git a/tests/exhaustive/autogen/gen14_1/expected/model_4-solution000002.solution b/tests/exhaustive/autogen/gen14_1/expected/model_4-solution000002.solution new file mode 100644 index 0000000000..d53bf91bd1 --- /dev/null +++ b/tests/exhaustive/autogen/gen14_1/expected/model_4-solution000002.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting var1 be partition({1}, {2}) +$ Visualisation for var1 +$ 1 +$ 2 + diff --git a/tests/exhaustive/autogen/gen14_1/expected/model_4.eprime.orig b/tests/exhaustive/autogen/gen14_1/expected/model_4.eprime.orig deleted file mode 100644 index cf8cf69ad9..0000000000 --- a/tests/exhaustive/autogen/gen14_1/expected/model_4.eprime.orig +++ /dev/null @@ -1,97 +0,0 @@ -language ESSENCE' 1.0 - -find var1_PartitionOccurrence_NumParts: int(1..2) -find var1_PartitionOccurrence_WhichPart: matrix indexed by [int(1..2)] of int(1..2) -find var1_PartitionOccurrence_PartSizes: matrix indexed by [int(1..2)] of int(0..2) -find var1_PartitionOccurrence_FirstIndex: matrix indexed by [int(1..2)] of int(1..2) -branching on - [var1_PartitionOccurrence_NumParts, var1_PartitionOccurrence_WhichPart, var1_PartitionOccurrence_PartSizes, - var1_PartitionOccurrence_FirstIndex] -such that - !(and([q42 <= var1_PartitionOccurrence_NumParts -> - or([q52 <= var1_PartitionOccurrence_NumParts /\ - (and([var1_PartitionOccurrence_WhichPart[q54] = q52 -> - or([var1_PartitionOccurrence_WhichPart[q45] = q42 /\ q45 = q54 | q45 : int(1..2)]) - | q54 : int(1..2)]) - /\ - and([var1_PartitionOccurrence_WhichPart[q46] = q42 -> - or([var1_PartitionOccurrence_WhichPart[q56] = q52 /\ q56 = q46 | q56 : int(1..2)]) - | q46 : int(1..2)])) - | q52 : int(1..2)]) - | q42 : int(1..2)]) - /\ - and([q57 <= var1_PartitionOccurrence_NumParts -> - or([q47 <= var1_PartitionOccurrence_NumParts /\ - (and([var1_PartitionOccurrence_WhichPart[q49] = q47 -> - or([var1_PartitionOccurrence_WhichPart[q60] = q57 /\ q60 = q49 | q60 : int(1..2)]) - | q49 : int(1..2)]) - /\ - and([var1_PartitionOccurrence_WhichPart[q61] = q57 -> - or([var1_PartitionOccurrence_WhichPart[q51] = q47 /\ q51 = q61 | q51 : int(1..2)]) - | q61 : int(1..2)])) - | q47 : int(1..2)]) - | q57 : int(1..2)])) - \/ - !(and([q23 <= var1_PartitionOccurrence_NumParts -> - or([var1_PartitionOccurrence_WhichPart[q27] = q23 /\ q27 = 1 | q27 : int(1..2)]) /\ - and([var1_PartitionOccurrence_WhichPart[q25] = q23 -> 1 = q25 | q25 : int(1..2)]) - | q23 : int(1..2)]) - /\ - or([q28 <= var1_PartitionOccurrence_NumParts /\ - (and([var1_PartitionOccurrence_WhichPart[q30] = q28 -> 1 = q30 | q30 : int(1..2)]) /\ - or([var1_PartitionOccurrence_WhichPart[q32] = q28 /\ q32 = 1 | q32 : int(1..2)])) - | q28 : int(1..2)])) - \/ - !(and([q81 <= var1_PartitionOccurrence_NumParts -> - or([q91 <= var1_PartitionOccurrence_NumParts /\ - (and([var1_PartitionOccurrence_WhichPart[q93] = q91 -> - or([var1_PartitionOccurrence_WhichPart[q84] = q81 /\ q84 = q93 | q84 : int(1..2)]) - | q93 : int(1..2)]) - /\ - and([var1_PartitionOccurrence_WhichPart[q85] = q81 -> - or([var1_PartitionOccurrence_WhichPart[q95] = q91 /\ q95 = q85 | q95 : int(1..2)]) - | q85 : int(1..2)])) - | q91 : int(1..2)]) - | q81 : int(1..2)]) - /\ - and([q96 <= var1_PartitionOccurrence_NumParts -> - or([q86 <= var1_PartitionOccurrence_NumParts /\ - (and([var1_PartitionOccurrence_WhichPart[q88] = q86 -> - or([var1_PartitionOccurrence_WhichPart[q99] = q96 /\ q99 = q88 | q99 : int(1..2)]) - | q88 : int(1..2)]) - /\ - and([var1_PartitionOccurrence_WhichPart[q100] = q96 -> - or([var1_PartitionOccurrence_WhichPart[q90] = q86 /\ q90 = q100 | q90 : int(1..2)]) - | q100 : int(1..2)])) - | q86 : int(1..2)]) - | q96 : int(1..2)]) - \/ - or([q101 <= var1_PartitionOccurrence_NumParts /\ - (and([var1_PartitionOccurrence_WhichPart[q103] = q101 -> 1 = q103 | q103 : int(1..2)]) /\ - or([var1_PartitionOccurrence_WhichPart[q105] = q101 /\ q105 = 1 | q105 : int(1..2)])) - | q101 : int(1..2)]) - /\ - and([q106 <= var1_PartitionOccurrence_NumParts -> - or([var1_PartitionOccurrence_WhichPart[q110] = q106 /\ q110 = 1 | q110 : int(1..2)]) /\ - and([var1_PartitionOccurrence_WhichPart[q108] = q106 -> 1 = q108 | q108 : int(1..2)]) - | q106 : int(1..2)])), - and([q1 <= var1_PartitionOccurrence_NumParts -> var1_PartitionOccurrence_PartSizes[q1] <= 2 | q1 : int(1..2)]), - and([q1 > var1_PartitionOccurrence_NumParts -> var1_PartitionOccurrence_PartSizes[q1] = 0 | q1 : int(1..2)]), - var1_PartitionOccurrence_NumParts <= 2, - var1_PartitionOccurrence_NumParts = max([var1_PartitionOccurrence_WhichPart[q4] | q4 : int(1..2)]), - and([var1_PartitionOccurrence_PartSizes[q5] = - sum([toInt(var1_PartitionOccurrence_WhichPart[q6] = q5) | q6 : int(1..2)]) - | q5 : int(1..2)]), - and([q7 <= var1_PartitionOccurrence_NumParts -> - and([var1_PartitionOccurrence_WhichPart[q8] = q7 -> var1_PartitionOccurrence_FirstIndex[q7] <= q8 - | q8 : int(1..2)]) - | q7 : int(1..2)]), - and([q7 <= var1_PartitionOccurrence_NumParts -> - or([var1_PartitionOccurrence_WhichPart[q8] = q7 /\ var1_PartitionOccurrence_FirstIndex[q7] = q8 - | q8 : int(1..2)]) - | q7 : int(1..2)]), - and([q7 > var1_PartitionOccurrence_NumParts -> var1_PartitionOccurrence_FirstIndex[q7] = 1 | q7 : int(1..2)]), - and([q9 <= var1_PartitionOccurrence_NumParts /\ q10 <= var1_PartitionOccurrence_NumParts -> - (q9 < q10 <-> var1_PartitionOccurrence_FirstIndex[q9] < var1_PartitionOccurrence_FirstIndex[q10]) - | q9 : int(1..2), q10 : int(1..2)]) - diff --git a/tests/exhaustive/autogen/gen14_2/expected/model_1-solution000001.solution b/tests/exhaustive/autogen/gen14_2/expected/model_1-solution000001.solution new file mode 100644 index 0000000000..dc001498cc --- /dev/null +++ b/tests/exhaustive/autogen/gen14_2/expected/model_1-solution000001.solution @@ -0,0 +1,6 @@ +language Essence 1.3 + +letting var1 be partition({1, 2}) +$ Visualisation for var1 +$ 1 2 + diff --git a/tests/exhaustive/autogen/gen14_2/expected/model_1-solution000002.solution b/tests/exhaustive/autogen/gen14_2/expected/model_1-solution000002.solution new file mode 100644 index 0000000000..d53bf91bd1 --- /dev/null +++ b/tests/exhaustive/autogen/gen14_2/expected/model_1-solution000002.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting var1 be partition({1}, {2}) +$ Visualisation for var1 +$ 1 +$ 2 + diff --git a/tests/exhaustive/autogen/gen14_2/expected/model_1.eprime b/tests/exhaustive/autogen/gen14_2/expected/model_1.eprime new file mode 100644 index 0000000000..1f3c94bad0 --- /dev/null +++ b/tests/exhaustive/autogen/gen14_2/expected/model_1.eprime @@ -0,0 +1,38 @@ +language ESSENCE' 1.0 + +find var1_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Marker: int(0..2) +find var1_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence: matrix indexed by [int(1..2), int(1..2)] of bool +branching on + [var1_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Marker, + var1_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence] +such that + var1_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Marker = var1_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Marker, + and([and([var1_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence[q17, q19] = + var1_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence[q17, q19] + | q19 : int(1..2)]) + | q17 : int(1..2)]), + and([1 = + sum([toInt(q14 <= var1_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Marker /\ + var1_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence[q14, q1]) + | q14 : int(1..2)]) + | q1 : int(1..2)]), + and([q15 <= var1_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Marker -> + sum([toInt(var1_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence[q15, q16]) | q16 : int(1..2)]) >= + 1 | q15 : int(1..2)]), + 2 <= var1_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Marker -> + [-toInt(var1_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence[1, q9]) | q9 : int(1..2)] var1_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Marker -> + and([var1_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence[q5, q11] = false | q11 : int(1..2)]) + | q5 : int(1..2)]), + var1_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Marker <= 2, + and([q6 <= var1_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Marker -> + sum([toInt(var1_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence[q6, q7]) | q7 : int(1..2)]) <= 2 + | q6 : int(1..2)]), + 2 = + sum([toInt(q12 <= var1_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Marker) * + catchUndef(sum([toInt(var1_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence[q12, q13]) + | q13 : int(1..2)]), + 0) + | q12 : int(1..2)]) + diff --git a/tests/exhaustive/autogen/gen14_2/expected/model_2-solution000001.solution b/tests/exhaustive/autogen/gen14_2/expected/model_2-solution000001.solution new file mode 100644 index 0000000000..dc001498cc --- /dev/null +++ b/tests/exhaustive/autogen/gen14_2/expected/model_2-solution000001.solution @@ -0,0 +1,6 @@ +language Essence 1.3 + +letting var1 be partition({1, 2}) +$ Visualisation for var1 +$ 1 2 + diff --git a/tests/exhaustive/autogen/gen14_2/expected/model_2-solution000002.solution b/tests/exhaustive/autogen/gen14_2/expected/model_2-solution000002.solution new file mode 100644 index 0000000000..d53bf91bd1 --- /dev/null +++ b/tests/exhaustive/autogen/gen14_2/expected/model_2-solution000002.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting var1 be partition({1}, {2}) +$ Visualisation for var1 +$ 1 +$ 2 + diff --git a/tests/exhaustive/autogen/gen14_2/expected/model_2.eprime b/tests/exhaustive/autogen/gen14_2/expected/model_2.eprime new file mode 100644 index 0000000000..0da1c335c9 --- /dev/null +++ b/tests/exhaustive/autogen/gen14_2/expected/model_2.eprime @@ -0,0 +1,58 @@ +language ESSENCE' 1.0 + +find var1_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker: int(0..2) +find var1_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy: + matrix indexed by [int(1..2), int(1..2)] of int(1..3) +branching on + [var1_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker, + var1_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy] +such that + var1_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker = var1_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker, + and([and([var1_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q18, q20] = + var1_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q18, q20] + | q20 : int(1..2)]) + | q18 : int(1..2)]), + alldifferent_except([toInt(q22 <= var1_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker /\ + var1_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q22, q23] + != 3) + * + catchUndef(var1_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy + [q22, q23], + 0) + | q22 : int(1..2), q23 : int(1..2)], + 0), + and([q24 <= var1_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker -> + sum([toInt(var1_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q24, q26] != 3) + | q26 : int(1..2)]) + >= 1 + | q24 : int(1..2)]), + 2 <= var1_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker -> + [var1_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[1, q12] | q12 : int(1..2)] var1_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker -> + and([var1_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q5, q17] = 1 + | q17 : int(1..2)]) + | q5 : int(1..2)]), + var1_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker <= 2, + and([q6 <= var1_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker -> + var1_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q6, 1] < + var1_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q6, 2] + \/ var1_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q6, 1] = 3 + | q6 : int(1..2)]), + and([q6 <= var1_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker -> + (var1_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q6, 1] = 3 -> + var1_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q6, 2] = 3) + | q6 : int(1..2)]), + and([q6 <= var1_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker -> + sum([toInt(var1_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q6, q9] != 3) + | q9 : int(1..2)]) + <= 2 + | q6 : int(1..2)]), + 2 = + sum([toInt(q14 <= var1_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker) * + catchUndef(sum([toInt(var1_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q14, q16] + != 3) + | q16 : int(1..2)]), + 0) + | q14 : int(1..2)]) + diff --git a/tests/exhaustive/autogen/gen14_2/expected/model_3-solution000001.solution b/tests/exhaustive/autogen/gen14_2/expected/model_3-solution000001.solution new file mode 100644 index 0000000000..dc001498cc --- /dev/null +++ b/tests/exhaustive/autogen/gen14_2/expected/model_3-solution000001.solution @@ -0,0 +1,6 @@ +language Essence 1.3 + +letting var1 be partition({1, 2}) +$ Visualisation for var1 +$ 1 2 + diff --git a/tests/exhaustive/autogen/gen14_2/expected/model_3-solution000002.solution b/tests/exhaustive/autogen/gen14_2/expected/model_3-solution000002.solution new file mode 100644 index 0000000000..d53bf91bd1 --- /dev/null +++ b/tests/exhaustive/autogen/gen14_2/expected/model_3-solution000002.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting var1 be partition({1}, {2}) +$ Visualisation for var1 +$ 1 +$ 2 + diff --git a/tests/exhaustive/autogen/gen14_2/expected/model_3.eprime.orig b/tests/exhaustive/autogen/gen14_2/expected/model_3.eprime.orig deleted file mode 100644 index 7cec03b856..0000000000 --- a/tests/exhaustive/autogen/gen14_2/expected/model_3.eprime.orig +++ /dev/null @@ -1,67 +0,0 @@ -language ESSENCE' 1.0 - -find var1_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker: int(0..2) -find var1_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker: - matrix indexed by [int(1..2)] of int(0..2) -find var1_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values: - matrix indexed by [int(1..2), int(1..2)] of int(1..2) -branching on - [var1_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker, - var1_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker, - var1_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values] -such that - var1_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker = var1_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker, - and([var1_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q15] = - var1_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q15] - | q15 : int(1..2)]), - and([and([var1_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q17, q19] = - var1_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q17, q19] - | q19 : int(1..2)]) - | q17 : int(1..2)]), - alldifferent_except([toInt(q21 <= var1_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker /\ - q22 <= - var1_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker - [q21]) - * - catchUndef(var1_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values - [q21, q22], - 0) - | q21 : int(1..2), q22 : int(1..2)], - 0), - and([q23 <= var1_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker -> - var1_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q23] >= 1 - | q23 : int(1..2)]), - 2 <= var1_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker -> - flatten([[var1_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[1]; int(1)], - [var1_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[1, q11] - | q11 : int(1..2)]; - int(1..2)]) - var1_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker -> - var1_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q5] = 0 /\ - and([var1_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q5, q14] = 1 - | q14 : int(1..2)]) - | q5 : int(1..2)]), - var1_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker <= 2, - and([q6 <= var1_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker -> - (2 <= var1_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q6] -> - var1_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q6, 1] < - var1_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q6, 2]) - | q6 : int(1..2)]), - and([q6 <= var1_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker -> - and([q8 > var1_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q6] -> - var1_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q6, q8] = 1 - | q8 : int(1..2)]) - | q6 : int(1..2)]), - and([q6 <= var1_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker -> - var1_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q6] <= 2 - | q6 : int(1..2)]), - 2 = - sum([toInt(q13 <= var1_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker) * - catchUndef(var1_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q13], 0) - | q13 : int(1..2)]) - diff --git a/tests/exhaustive/autogen/gen14_2/expected/model_4-solution000001.solution b/tests/exhaustive/autogen/gen14_2/expected/model_4-solution000001.solution new file mode 100644 index 0000000000..dc001498cc --- /dev/null +++ b/tests/exhaustive/autogen/gen14_2/expected/model_4-solution000001.solution @@ -0,0 +1,6 @@ +language Essence 1.3 + +letting var1 be partition({1, 2}) +$ Visualisation for var1 +$ 1 2 + diff --git a/tests/exhaustive/autogen/gen14_2/expected/model_4-solution000002.solution b/tests/exhaustive/autogen/gen14_2/expected/model_4-solution000002.solution new file mode 100644 index 0000000000..d53bf91bd1 --- /dev/null +++ b/tests/exhaustive/autogen/gen14_2/expected/model_4-solution000002.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting var1 be partition({1}, {2}) +$ Visualisation for var1 +$ 1 +$ 2 + diff --git a/tests/exhaustive/autogen/gen14_2/expected/model_4.eprime b/tests/exhaustive/autogen/gen14_2/expected/model_4.eprime new file mode 100644 index 0000000000..dadf615aea --- /dev/null +++ b/tests/exhaustive/autogen/gen14_2/expected/model_4.eprime @@ -0,0 +1,34 @@ +language ESSENCE' 1.0 + +find var1_PartitionOccurrence_NumParts: int(1..2) +find var1_PartitionOccurrence_WhichPart: matrix indexed by [int(1..2)] of int(1..2) +find var1_PartitionOccurrence_PartSizes: matrix indexed by [int(1..2)] of int(0..2) +find var1_PartitionOccurrence_FirstIndex: matrix indexed by [int(1..2)] of int(1..2) +branching on + [var1_PartitionOccurrence_NumParts, var1_PartitionOccurrence_WhichPart, var1_PartitionOccurrence_PartSizes, + var1_PartitionOccurrence_FirstIndex] +such that + var1_PartitionOccurrence_NumParts = var1_PartitionOccurrence_NumParts, + and([var1_PartitionOccurrence_WhichPart[q11] = var1_PartitionOccurrence_WhichPart[q11] | q11 : int(1..2)]), + and([var1_PartitionOccurrence_PartSizes[q13] = var1_PartitionOccurrence_PartSizes[q13] | q13 : int(1..2)]), + and([var1_PartitionOccurrence_FirstIndex[q15] = var1_PartitionOccurrence_FirstIndex[q15] | q15 : int(1..2)]), + and([q1 <= var1_PartitionOccurrence_NumParts -> var1_PartitionOccurrence_PartSizes[q1] <= 2 | q1 : int(1..2)]), + and([q1 > var1_PartitionOccurrence_NumParts -> var1_PartitionOccurrence_PartSizes[q1] = 0 | q1 : int(1..2)]), + var1_PartitionOccurrence_NumParts <= 2, + var1_PartitionOccurrence_NumParts = max([var1_PartitionOccurrence_WhichPart[q4] | q4 : int(1..2)]), + and([var1_PartitionOccurrence_PartSizes[q5] = + sum([toInt(var1_PartitionOccurrence_WhichPart[q6] = q5) | q6 : int(1..2)]) + | q5 : int(1..2)]), + and([q7 <= var1_PartitionOccurrence_NumParts -> + and([var1_PartitionOccurrence_WhichPart[q8] = q7 -> var1_PartitionOccurrence_FirstIndex[q7] <= q8 + | q8 : int(1..2)]) + | q7 : int(1..2)]), + and([q7 <= var1_PartitionOccurrence_NumParts -> + or([var1_PartitionOccurrence_WhichPart[q8] = q7 /\ var1_PartitionOccurrence_FirstIndex[q7] = q8 + | q8 : int(1..2)]) + | q7 : int(1..2)]), + and([q7 > var1_PartitionOccurrence_NumParts -> var1_PartitionOccurrence_FirstIndex[q7] = 1 | q7 : int(1..2)]), + and([q9 <= var1_PartitionOccurrence_NumParts /\ q10 <= var1_PartitionOccurrence_NumParts -> + (q9 < q10 <-> var1_PartitionOccurrence_FirstIndex[q9] < var1_PartitionOccurrence_FirstIndex[q10]) + | q9 : int(1..2), q10 : int(1..2)]) + diff --git a/tests/exhaustive/autogen/gen17/expected/model_1.eprime b/tests/exhaustive/autogen/gen17/expected/model_1.eprime index f2c7967cf9..b7c8b7620b 100644 --- a/tests/exhaustive/autogen/gen17/expected/model_1.eprime +++ b/tests/exhaustive/autogen/gen17/expected/model_1.eprime @@ -6,8 +6,7 @@ branching on [var1_ExplicitVarSizeWithMarker_Marker, var1_ExplicitVarSizeWithMar such that false, 2 <= var1_ExplicitVarSizeWithMarker_Marker -> - [-toInt(var1_ExplicitVarSizeWithMarker_Values[1]); int(1)] var1_ExplicitVarSizeWithMarker_Marker -> var1_ExplicitVarSizeWithMarker_Values[q2] = false | q2 : int(1..2)]) diff --git a/tests/exhaustive/autogen/gen17/expected/model_2.eprime b/tests/exhaustive/autogen/gen17/expected/model_2.eprime index be44a8c757..b7d0c50001 100644 --- a/tests/exhaustive/autogen/gen17/expected/model_2.eprime +++ b/tests/exhaustive/autogen/gen17/expected/model_2.eprime @@ -6,8 +6,7 @@ branching on [var1_ExplicitVarSizeWithFlags_Flags, var1_ExplicitVarSizeWithFlags such that false, var1_ExplicitVarSizeWithFlags_Flags[2] -> - [-toInt(var1_ExplicitVarSizeWithFlags_Values[1]); int(1)] var1_ExplicitVarSizeWithFlags_Values[q2] = false | q2 : int(1..2)]), var1_ExplicitVarSizeWithFlags_Flags[2] -> var1_ExplicitVarSizeWithFlags_Flags[1] diff --git a/tests/exhaustive/autogen/gen25/expected/model_1.eprime b/tests/exhaustive/autogen/gen25/expected/model_1.eprime index 7a7abed767..b1b11d3b44 100644 --- a/tests/exhaustive/autogen/gen25/expected/model_1.eprime +++ b/tests/exhaustive/autogen/gen25/expected/model_1.eprime @@ -6,8 +6,7 @@ find var3_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..5)] of boo branching on [var3_ExplicitVarSizeWithMarker_Marker, var3_ExplicitVarSizeWithMarker_Values] such that and([q1 + 1 <= var3_ExplicitVarSizeWithMarker_Marker -> - [-toInt(var3_ExplicitVarSizeWithMarker_Values[q1]); int(1)] var3_ExplicitVarSizeWithMarker_Marker -> var3_ExplicitVarSizeWithMarker_Values[q2] = false | q2 : int(1..5)]), diff --git a/tests/exhaustive/autogen/gen25/expected/model_2.eprime b/tests/exhaustive/autogen/gen25/expected/model_2.eprime index 2f3be37f18..daa108ae03 100644 --- a/tests/exhaustive/autogen/gen25/expected/model_2.eprime +++ b/tests/exhaustive/autogen/gen25/expected/model_2.eprime @@ -6,8 +6,7 @@ find var3_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..5)] of bool branching on [var3_ExplicitVarSizeWithFlags_Flags, var3_ExplicitVarSizeWithFlags_Values] such that and([var3_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> - [-toInt(var3_ExplicitVarSizeWithFlags_Values[q1]); int(1)] var3_ExplicitVarSizeWithFlags_Values[q2] = false | q2 : int(1..5)]), diff --git a/tests/exhaustive/autogen/gen32/expected/model_1_1_1.eprime b/tests/exhaustive/autogen/gen32/expected/model_1_1_1.eprime new file mode 100644 index 0000000000..2e44586da2 --- /dev/null +++ b/tests/exhaustive/autogen/gen32/expected/model_1_1_1.eprime @@ -0,0 +1,9 @@ +language ESSENCE' 1.0 + +letting let1 be -4 +find var2_Occurrence: matrix indexed by [int(-4..5, 2)] of bool +branching on [var2_Occurrence] +such that + or([var2_Occurrence[q2] /\ !var2_Occurrence[q2] | q2 : int(-4..5, 2)]) \/ + or([var2_Occurrence[q2] /\ !var2_Occurrence[q2] | q2 : int(-4..5, 2)]) + diff --git a/tests/exhaustive/autogen/gen32/expected/model_1_1_2.eprime b/tests/exhaustive/autogen/gen32/expected/model_1_1_2.eprime new file mode 100644 index 0000000000..5d9dfb9509 --- /dev/null +++ b/tests/exhaustive/autogen/gen32/expected/model_1_1_2.eprime @@ -0,0 +1,19 @@ +language ESSENCE' 1.0 + +letting let1 be -4 +find var2_Occurrence: matrix indexed by [int(-4..5, 2)] of bool +find var2_ExplicitVarSizeWithDummy: matrix indexed by [int(1..11)] of int(-4..5, 2, 6) +branching on [var2_ExplicitVarSizeWithDummy, var2_Occurrence] +such that + or([var2_Occurrence[q11] /\ !var2_Occurrence[q11] | q11 : int(-4..5, 2)]) \/ + or([var2_Occurrence[q11] /\ !var2_Occurrence[q11] | q11 : int(-4..5, 2)]), + and([var2_ExplicitVarSizeWithDummy[q2] < var2_ExplicitVarSizeWithDummy[q2 + 1] \/ + var2_ExplicitVarSizeWithDummy[q2] = 6 + | q2 : int(1..10)]), + and([var2_ExplicitVarSizeWithDummy[q3] = 6 -> var2_ExplicitVarSizeWithDummy[q3 + 1] = 6 | q3 : int(1..10)]), + and([var2_ExplicitVarSizeWithDummy[q7] != 6 -> var2_Occurrence[var2_ExplicitVarSizeWithDummy[q7]] + | q7 : int(1..11)]), + and([var2_Occurrence[q8] -> + or([var2_ExplicitVarSizeWithDummy[q10] != 6 /\ var2_ExplicitVarSizeWithDummy[q10] = q8 | q10 : int(1..11)]) + | q8 : int(-4..5, 2)]) + diff --git a/tests/exhaustive/autogen/gen32/expected/model_1_1_3.eprime b/tests/exhaustive/autogen/gen32/expected/model_1_1_3.eprime new file mode 100644 index 0000000000..b7f0533fd6 --- /dev/null +++ b/tests/exhaustive/autogen/gen32/expected/model_1_1_3.eprime @@ -0,0 +1,22 @@ +language ESSENCE' 1.0 + +letting let1 be -4 +find var2_Occurrence: matrix indexed by [int(-4..5, 2)] of bool +find var2_ExplicitVarSizeWithMarker_Marker: int(0..11) +find var2_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..11)] of int(-4..5, 2) +branching on [var2_ExplicitVarSizeWithMarker_Marker, var2_ExplicitVarSizeWithMarker_Values, var2_Occurrence] +such that + or([var2_Occurrence[q10] /\ !var2_Occurrence[q10] | q10 : int(-4..5, 2)]) \/ + or([var2_Occurrence[q10] /\ !var2_Occurrence[q10] | q10 : int(-4..5, 2)]), + and([q2 + 1 <= var2_ExplicitVarSizeWithMarker_Marker -> + var2_ExplicitVarSizeWithMarker_Values[q2] < var2_ExplicitVarSizeWithMarker_Values[q2 + 1] + | q2 : int(1..10)]), + and([q3 > var2_ExplicitVarSizeWithMarker_Marker -> var2_ExplicitVarSizeWithMarker_Values[q3] = -4 + | q3 : int(1..11)]), + and([q6 <= var2_ExplicitVarSizeWithMarker_Marker -> var2_Occurrence[var2_ExplicitVarSizeWithMarker_Values[q6]] + | q6 : int(1..11)]), + and([var2_Occurrence[q7] -> + or([q9 <= var2_ExplicitVarSizeWithMarker_Marker /\ var2_ExplicitVarSizeWithMarker_Values[q9] = q7 + | q9 : int(1..11)]) + | q7 : int(-4..5, 2)]) + diff --git a/tests/exhaustive/autogen/gen32/expected/model_1_1_4.eprime b/tests/exhaustive/autogen/gen32/expected/model_1_1_4.eprime new file mode 100644 index 0000000000..bd003c9167 --- /dev/null +++ b/tests/exhaustive/autogen/gen32/expected/model_1_1_4.eprime @@ -0,0 +1,23 @@ +language ESSENCE' 1.0 + +letting let1 be -4 +find var2_Occurrence: matrix indexed by [int(-4..5, 2)] of bool +find var2_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..11)] of bool +find var2_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..11)] of int(-4..5, 2) +branching on [var2_ExplicitVarSizeWithFlags_Flags, var2_ExplicitVarSizeWithFlags_Values, var2_Occurrence] +such that + or([var2_Occurrence[q12] /\ !var2_Occurrence[q12] | q12 : int(-4..5, 2)]) \/ + or([var2_Occurrence[q12] /\ !var2_Occurrence[q12] | q12 : int(-4..5, 2)]), + and([var2_ExplicitVarSizeWithFlags_Flags[q2 + 1] -> + var2_ExplicitVarSizeWithFlags_Values[q2] < var2_ExplicitVarSizeWithFlags_Values[q2 + 1] + | q2 : int(1..10)]), + and([var2_ExplicitVarSizeWithFlags_Flags[q3] = false -> var2_ExplicitVarSizeWithFlags_Values[q3] = -4 + | q3 : int(1..11)]), + and([var2_ExplicitVarSizeWithFlags_Flags[q4 + 1] -> var2_ExplicitVarSizeWithFlags_Flags[q4] | q4 : int(1..10)]), + and([var2_ExplicitVarSizeWithFlags_Flags[q8] -> var2_Occurrence[var2_ExplicitVarSizeWithFlags_Values[q8]] + | q8 : int(1..11)]), + and([var2_Occurrence[q9] -> + or([var2_ExplicitVarSizeWithFlags_Flags[q11] /\ var2_ExplicitVarSizeWithFlags_Values[q11] = q9 + | q11 : int(1..11)]) + | q9 : int(-4..5, 2)]) + diff --git a/tests/exhaustive/autogen/gen32/expected/model_1_2_1.eprime b/tests/exhaustive/autogen/gen32/expected/model_1_2_1.eprime new file mode 100644 index 0000000000..7ba618afa0 --- /dev/null +++ b/tests/exhaustive/autogen/gen32/expected/model_1_2_1.eprime @@ -0,0 +1,23 @@ +language ESSENCE' 1.0 + +letting let1 be -4 +find var2_Occurrence: matrix indexed by [int(-4..5, 2)] of bool +find var2_ExplicitVarSizeWithDummy: matrix indexed by [int(1..11)] of int(-4..5, 2, 6) +branching on [var2_ExplicitVarSizeWithDummy, var2_Occurrence] +such that + or([var2_Occurrence[q11] /\ + !or([var2_ExplicitVarSizeWithDummy[q13] != 6 /\ var2_ExplicitVarSizeWithDummy[q13] = q11 | q13 : int(1..11)]) + | q11 : int(-4..5, 2)]) + \/ + or([var2_ExplicitVarSizeWithDummy[q14] != 6 /\ !var2_Occurrence[var2_ExplicitVarSizeWithDummy[q14]] + | q14 : int(1..11)]), + and([var2_ExplicitVarSizeWithDummy[q2] < var2_ExplicitVarSizeWithDummy[q2 + 1] \/ + var2_ExplicitVarSizeWithDummy[q2] = 6 + | q2 : int(1..10)]), + and([var2_ExplicitVarSizeWithDummy[q3] = 6 -> var2_ExplicitVarSizeWithDummy[q3 + 1] = 6 | q3 : int(1..10)]), + and([var2_ExplicitVarSizeWithDummy[q7] != 6 -> var2_Occurrence[var2_ExplicitVarSizeWithDummy[q7]] + | q7 : int(1..11)]), + and([var2_Occurrence[q8] -> + or([var2_ExplicitVarSizeWithDummy[q10] != 6 /\ var2_ExplicitVarSizeWithDummy[q10] = q8 | q10 : int(1..11)]) + | q8 : int(-4..5, 2)]) + diff --git a/tests/exhaustive/autogen/gen32/expected/model_1_2_3.eprime b/tests/exhaustive/autogen/gen32/expected/model_1_2_3.eprime new file mode 100644 index 0000000000..9722a2c244 --- /dev/null +++ b/tests/exhaustive/autogen/gen32/expected/model_1_2_3.eprime @@ -0,0 +1,48 @@ +language ESSENCE' 1.0 + +letting let1 be -4 +find var2_Occurrence: matrix indexed by [int(-4..5, 2)] of bool +find var2_ExplicitVarSizeWithDummy: matrix indexed by [int(1..11)] of int(-4..5, 2, 6) +find var2_ExplicitVarSizeWithMarker_Marker: int(0..11) +find var2_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..11)] of int(-4..5, 2) +branching on + [var2_ExplicitVarSizeWithMarker_Marker, var2_ExplicitVarSizeWithMarker_Values, var2_Occurrence, + var2_ExplicitVarSizeWithDummy] +such that + or([var2_Occurrence[q27] /\ + !or([var2_ExplicitVarSizeWithDummy[q29] != 6 /\ var2_ExplicitVarSizeWithDummy[q29] = q27 | q29 : int(1..11)]) + | q27 : int(-4..5, 2)]) + \/ + or([var2_ExplicitVarSizeWithDummy[q30] != 6 /\ !var2_Occurrence[var2_ExplicitVarSizeWithDummy[q30]] + | q30 : int(1..11)]), + and([var2_ExplicitVarSizeWithDummy[q2] < var2_ExplicitVarSizeWithDummy[q2 + 1] \/ + var2_ExplicitVarSizeWithDummy[q2] = 6 + | q2 : int(1..10)]), + and([var2_ExplicitVarSizeWithDummy[q3] = 6 -> var2_ExplicitVarSizeWithDummy[q3 + 1] = 6 | q3 : int(1..10)]), + and([var2_ExplicitVarSizeWithDummy[q7] != 6 -> var2_Occurrence[var2_ExplicitVarSizeWithDummy[q7]] + | q7 : int(1..11)]), + and([var2_Occurrence[q8] -> + or([var2_ExplicitVarSizeWithDummy[q10] != 6 /\ var2_ExplicitVarSizeWithDummy[q10] = q8 | q10 : int(1..11)]) + | q8 : int(-4..5, 2)]), + and([q11 + 1 <= var2_ExplicitVarSizeWithMarker_Marker -> + var2_ExplicitVarSizeWithMarker_Values[q11] < var2_ExplicitVarSizeWithMarker_Values[q11 + 1] + | q11 : int(1..10)]), + and([q12 > var2_ExplicitVarSizeWithMarker_Marker -> var2_ExplicitVarSizeWithMarker_Values[q12] = -4 + | q12 : int(1..11)]), + and([q15 <= var2_ExplicitVarSizeWithMarker_Marker -> var2_Occurrence[var2_ExplicitVarSizeWithMarker_Values[q15]] + | q15 : int(1..11)]), + and([var2_Occurrence[q16] -> + or([q18 <= var2_ExplicitVarSizeWithMarker_Marker /\ var2_ExplicitVarSizeWithMarker_Values[q18] = q16 + | q18 : int(1..11)]) + | q16 : int(-4..5, 2)]), + and([q20 <= var2_ExplicitVarSizeWithMarker_Marker -> + or([var2_ExplicitVarSizeWithDummy[q22] != 6 /\ + var2_ExplicitVarSizeWithDummy[q22] = var2_ExplicitVarSizeWithMarker_Values[q20] + | q22 : int(1..11)]) + | q20 : int(1..11)]), + and([var2_ExplicitVarSizeWithDummy[q24] != 6 -> + or([q26 <= var2_ExplicitVarSizeWithMarker_Marker /\ + var2_ExplicitVarSizeWithMarker_Values[q26] = var2_ExplicitVarSizeWithDummy[q24] + | q26 : int(1..11)]) + | q24 : int(1..11)]) + diff --git a/tests/exhaustive/autogen/gen32/expected/model_1_2_4.eprime b/tests/exhaustive/autogen/gen32/expected/model_1_2_4.eprime new file mode 100644 index 0000000000..8ea95c72c3 --- /dev/null +++ b/tests/exhaustive/autogen/gen32/expected/model_1_2_4.eprime @@ -0,0 +1,49 @@ +language ESSENCE' 1.0 + +letting let1 be -4 +find var2_Occurrence: matrix indexed by [int(-4..5, 2)] of bool +find var2_ExplicitVarSizeWithDummy: matrix indexed by [int(1..11)] of int(-4..5, 2, 6) +find var2_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..11)] of bool +find var2_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..11)] of int(-4..5, 2) +branching on + [var2_ExplicitVarSizeWithFlags_Flags, var2_ExplicitVarSizeWithFlags_Values, var2_Occurrence, + var2_ExplicitVarSizeWithDummy] +such that + or([var2_Occurrence[q29] /\ + !or([var2_ExplicitVarSizeWithDummy[q31] != 6 /\ var2_ExplicitVarSizeWithDummy[q31] = q29 | q31 : int(1..11)]) + | q29 : int(-4..5, 2)]) + \/ + or([var2_ExplicitVarSizeWithDummy[q32] != 6 /\ !var2_Occurrence[var2_ExplicitVarSizeWithDummy[q32]] + | q32 : int(1..11)]), + and([var2_ExplicitVarSizeWithDummy[q2] < var2_ExplicitVarSizeWithDummy[q2 + 1] \/ + var2_ExplicitVarSizeWithDummy[q2] = 6 + | q2 : int(1..10)]), + and([var2_ExplicitVarSizeWithDummy[q3] = 6 -> var2_ExplicitVarSizeWithDummy[q3 + 1] = 6 | q3 : int(1..10)]), + and([var2_ExplicitVarSizeWithDummy[q7] != 6 -> var2_Occurrence[var2_ExplicitVarSizeWithDummy[q7]] + | q7 : int(1..11)]), + and([var2_Occurrence[q8] -> + or([var2_ExplicitVarSizeWithDummy[q10] != 6 /\ var2_ExplicitVarSizeWithDummy[q10] = q8 | q10 : int(1..11)]) + | q8 : int(-4..5, 2)]), + and([var2_ExplicitVarSizeWithFlags_Flags[q11 + 1] -> + var2_ExplicitVarSizeWithFlags_Values[q11] < var2_ExplicitVarSizeWithFlags_Values[q11 + 1] + | q11 : int(1..10)]), + and([var2_ExplicitVarSizeWithFlags_Flags[q12] = false -> var2_ExplicitVarSizeWithFlags_Values[q12] = -4 + | q12 : int(1..11)]), + and([var2_ExplicitVarSizeWithFlags_Flags[q13 + 1] -> var2_ExplicitVarSizeWithFlags_Flags[q13] | q13 : int(1..10)]), + and([var2_ExplicitVarSizeWithFlags_Flags[q17] -> var2_Occurrence[var2_ExplicitVarSizeWithFlags_Values[q17]] + | q17 : int(1..11)]), + and([var2_Occurrence[q18] -> + or([var2_ExplicitVarSizeWithFlags_Flags[q20] /\ var2_ExplicitVarSizeWithFlags_Values[q20] = q18 + | q20 : int(1..11)]) + | q18 : int(-4..5, 2)]), + and([var2_ExplicitVarSizeWithFlags_Flags[q22] -> + or([var2_ExplicitVarSizeWithDummy[q24] != 6 /\ + var2_ExplicitVarSizeWithDummy[q24] = var2_ExplicitVarSizeWithFlags_Values[q22] + | q24 : int(1..11)]) + | q22 : int(1..11)]), + and([var2_ExplicitVarSizeWithDummy[q26] != 6 -> + or([var2_ExplicitVarSizeWithFlags_Flags[q28] /\ + var2_ExplicitVarSizeWithFlags_Values[q28] = var2_ExplicitVarSizeWithDummy[q26] + | q28 : int(1..11)]) + | q26 : int(1..11)]) + diff --git a/tests/exhaustive/autogen/gen32/expected/model_1_3_1.eprime b/tests/exhaustive/autogen/gen32/expected/model_1_3_1.eprime new file mode 100644 index 0000000000..f4bcfbc82e --- /dev/null +++ b/tests/exhaustive/autogen/gen32/expected/model_1_3_1.eprime @@ -0,0 +1,27 @@ +language ESSENCE' 1.0 + +letting let1 be -4 +find var2_Occurrence: matrix indexed by [int(-4..5, 2)] of bool +find var2_ExplicitVarSizeWithMarker_Marker: int(0..11) +find var2_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..11)] of int(-4..5, 2) +branching on [var2_ExplicitVarSizeWithMarker_Marker, var2_ExplicitVarSizeWithMarker_Values, var2_Occurrence] +such that + or([var2_Occurrence[q10] /\ + !or([q12 <= var2_ExplicitVarSizeWithMarker_Marker /\ var2_ExplicitVarSizeWithMarker_Values[q12] = q10 + | q12 : int(1..11)]) + | q10 : int(-4..5, 2)]) + \/ + or([q13 <= var2_ExplicitVarSizeWithMarker_Marker /\ !var2_Occurrence[var2_ExplicitVarSizeWithMarker_Values[q13]] + | q13 : int(1..11)]), + and([q2 + 1 <= var2_ExplicitVarSizeWithMarker_Marker -> + var2_ExplicitVarSizeWithMarker_Values[q2] < var2_ExplicitVarSizeWithMarker_Values[q2 + 1] + | q2 : int(1..10)]), + and([q3 > var2_ExplicitVarSizeWithMarker_Marker -> var2_ExplicitVarSizeWithMarker_Values[q3] = -4 + | q3 : int(1..11)]), + and([q6 <= var2_ExplicitVarSizeWithMarker_Marker -> var2_Occurrence[var2_ExplicitVarSizeWithMarker_Values[q6]] + | q6 : int(1..11)]), + and([var2_Occurrence[q7] -> + or([q9 <= var2_ExplicitVarSizeWithMarker_Marker /\ var2_ExplicitVarSizeWithMarker_Values[q9] = q7 + | q9 : int(1..11)]) + | q7 : int(-4..5, 2)]) + diff --git a/tests/exhaustive/autogen/gen32/expected/model_1_3_2.eprime b/tests/exhaustive/autogen/gen32/expected/model_1_3_2.eprime new file mode 100644 index 0000000000..8612434ed5 --- /dev/null +++ b/tests/exhaustive/autogen/gen32/expected/model_1_3_2.eprime @@ -0,0 +1,49 @@ +language ESSENCE' 1.0 + +letting let1 be -4 +find var2_Occurrence: matrix indexed by [int(-4..5, 2)] of bool +find var2_ExplicitVarSizeWithMarker_Marker: int(0..11) +find var2_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..11)] of int(-4..5, 2) +find var2_ExplicitVarSizeWithDummy: matrix indexed by [int(1..11)] of int(-4..5, 2, 6) +branching on + [var2_ExplicitVarSizeWithDummy, var2_Occurrence, var2_ExplicitVarSizeWithMarker_Marker, + var2_ExplicitVarSizeWithMarker_Values] +such that + or([var2_Occurrence[q27] /\ + !or([q29 <= var2_ExplicitVarSizeWithMarker_Marker /\ var2_ExplicitVarSizeWithMarker_Values[q29] = q27 + | q29 : int(1..11)]) + | q27 : int(-4..5, 2)]) + \/ + or([q30 <= var2_ExplicitVarSizeWithMarker_Marker /\ !var2_Occurrence[var2_ExplicitVarSizeWithMarker_Values[q30]] + | q30 : int(1..11)]), + and([q2 + 1 <= var2_ExplicitVarSizeWithMarker_Marker -> + var2_ExplicitVarSizeWithMarker_Values[q2] < var2_ExplicitVarSizeWithMarker_Values[q2 + 1] + | q2 : int(1..10)]), + and([q3 > var2_ExplicitVarSizeWithMarker_Marker -> var2_ExplicitVarSizeWithMarker_Values[q3] = -4 + | q3 : int(1..11)]), + and([q6 <= var2_ExplicitVarSizeWithMarker_Marker -> var2_Occurrence[var2_ExplicitVarSizeWithMarker_Values[q6]] + | q6 : int(1..11)]), + and([var2_Occurrence[q7] -> + or([q9 <= var2_ExplicitVarSizeWithMarker_Marker /\ var2_ExplicitVarSizeWithMarker_Values[q9] = q7 + | q9 : int(1..11)]) + | q7 : int(-4..5, 2)]), + and([var2_ExplicitVarSizeWithDummy[q10] < var2_ExplicitVarSizeWithDummy[q10 + 1] \/ + var2_ExplicitVarSizeWithDummy[q10] = 6 + | q10 : int(1..10)]), + and([var2_ExplicitVarSizeWithDummy[q11] = 6 -> var2_ExplicitVarSizeWithDummy[q11 + 1] = 6 | q11 : int(1..10)]), + and([var2_ExplicitVarSizeWithDummy[q15] != 6 -> var2_Occurrence[var2_ExplicitVarSizeWithDummy[q15]] + | q15 : int(1..11)]), + and([var2_Occurrence[q16] -> + or([var2_ExplicitVarSizeWithDummy[q18] != 6 /\ var2_ExplicitVarSizeWithDummy[q18] = q16 | q18 : int(1..11)]) + | q16 : int(-4..5, 2)]), + and([var2_ExplicitVarSizeWithDummy[q20] != 6 -> + or([q22 <= var2_ExplicitVarSizeWithMarker_Marker /\ + var2_ExplicitVarSizeWithMarker_Values[q22] = var2_ExplicitVarSizeWithDummy[q20] + | q22 : int(1..11)]) + | q20 : int(1..11)]), + and([q24 <= var2_ExplicitVarSizeWithMarker_Marker -> + or([var2_ExplicitVarSizeWithDummy[q26] != 6 /\ + var2_ExplicitVarSizeWithDummy[q26] = var2_ExplicitVarSizeWithMarker_Values[q24] + | q26 : int(1..11)]) + | q24 : int(1..11)]) + diff --git a/tests/exhaustive/autogen/gen32/expected/model_1_3_4.eprime b/tests/exhaustive/autogen/gen32/expected/model_1_3_4.eprime new file mode 100644 index 0000000000..ef83393629 --- /dev/null +++ b/tests/exhaustive/autogen/gen32/expected/model_1_3_4.eprime @@ -0,0 +1,53 @@ +language ESSENCE' 1.0 + +letting let1 be -4 +find var2_Occurrence: matrix indexed by [int(-4..5, 2)] of bool +find var2_ExplicitVarSizeWithMarker_Marker: int(0..11) +find var2_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..11)] of int(-4..5, 2) +find var2_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..11)] of bool +find var2_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..11)] of int(-4..5, 2) +branching on + [var2_ExplicitVarSizeWithFlags_Flags, var2_ExplicitVarSizeWithFlags_Values, var2_Occurrence, + var2_ExplicitVarSizeWithMarker_Marker, var2_ExplicitVarSizeWithMarker_Values] +such that + or([var2_Occurrence[q28] /\ + !or([q30 <= var2_ExplicitVarSizeWithMarker_Marker /\ var2_ExplicitVarSizeWithMarker_Values[q30] = q28 + | q30 : int(1..11)]) + | q28 : int(-4..5, 2)]) + \/ + or([q31 <= var2_ExplicitVarSizeWithMarker_Marker /\ !var2_Occurrence[var2_ExplicitVarSizeWithMarker_Values[q31]] + | q31 : int(1..11)]), + and([q2 + 1 <= var2_ExplicitVarSizeWithMarker_Marker -> + var2_ExplicitVarSizeWithMarker_Values[q2] < var2_ExplicitVarSizeWithMarker_Values[q2 + 1] + | q2 : int(1..10)]), + and([q3 > var2_ExplicitVarSizeWithMarker_Marker -> var2_ExplicitVarSizeWithMarker_Values[q3] = -4 + | q3 : int(1..11)]), + and([q6 <= var2_ExplicitVarSizeWithMarker_Marker -> var2_Occurrence[var2_ExplicitVarSizeWithMarker_Values[q6]] + | q6 : int(1..11)]), + and([var2_Occurrence[q7] -> + or([q9 <= var2_ExplicitVarSizeWithMarker_Marker /\ var2_ExplicitVarSizeWithMarker_Values[q9] = q7 + | q9 : int(1..11)]) + | q7 : int(-4..5, 2)]), + and([var2_ExplicitVarSizeWithFlags_Flags[q10 + 1] -> + var2_ExplicitVarSizeWithFlags_Values[q10] < var2_ExplicitVarSizeWithFlags_Values[q10 + 1] + | q10 : int(1..10)]), + and([var2_ExplicitVarSizeWithFlags_Flags[q11] = false -> var2_ExplicitVarSizeWithFlags_Values[q11] = -4 + | q11 : int(1..11)]), + and([var2_ExplicitVarSizeWithFlags_Flags[q12 + 1] -> var2_ExplicitVarSizeWithFlags_Flags[q12] | q12 : int(1..10)]), + and([var2_ExplicitVarSizeWithFlags_Flags[q16] -> var2_Occurrence[var2_ExplicitVarSizeWithFlags_Values[q16]] + | q16 : int(1..11)]), + and([var2_Occurrence[q17] -> + or([var2_ExplicitVarSizeWithFlags_Flags[q19] /\ var2_ExplicitVarSizeWithFlags_Values[q19] = q17 + | q19 : int(1..11)]) + | q17 : int(-4..5, 2)]), + and([var2_ExplicitVarSizeWithFlags_Flags[q21] -> + or([q23 <= var2_ExplicitVarSizeWithMarker_Marker /\ + var2_ExplicitVarSizeWithMarker_Values[q23] = var2_ExplicitVarSizeWithFlags_Values[q21] + | q23 : int(1..11)]) + | q21 : int(1..11)]), + and([q25 <= var2_ExplicitVarSizeWithMarker_Marker -> + or([var2_ExplicitVarSizeWithFlags_Flags[q27] /\ + var2_ExplicitVarSizeWithFlags_Values[q27] = var2_ExplicitVarSizeWithMarker_Values[q25] + | q27 : int(1..11)]) + | q25 : int(1..11)]) + diff --git a/tests/exhaustive/autogen/gen32/expected/model_1_4_1.eprime b/tests/exhaustive/autogen/gen32/expected/model_1_4_1.eprime new file mode 100644 index 0000000000..ac3a2f9711 --- /dev/null +++ b/tests/exhaustive/autogen/gen32/expected/model_1_4_1.eprime @@ -0,0 +1,28 @@ +language ESSENCE' 1.0 + +letting let1 be -4 +find var2_Occurrence: matrix indexed by [int(-4..5, 2)] of bool +find var2_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..11)] of bool +find var2_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..11)] of int(-4..5, 2) +branching on [var2_ExplicitVarSizeWithFlags_Flags, var2_ExplicitVarSizeWithFlags_Values, var2_Occurrence] +such that + or([var2_Occurrence[q12] /\ + !or([var2_ExplicitVarSizeWithFlags_Flags[q14] /\ var2_ExplicitVarSizeWithFlags_Values[q14] = q12 + | q14 : int(1..11)]) + | q12 : int(-4..5, 2)]) + \/ + or([var2_ExplicitVarSizeWithFlags_Flags[q15] /\ !var2_Occurrence[var2_ExplicitVarSizeWithFlags_Values[q15]] + | q15 : int(1..11)]), + and([var2_ExplicitVarSizeWithFlags_Flags[q2 + 1] -> + var2_ExplicitVarSizeWithFlags_Values[q2] < var2_ExplicitVarSizeWithFlags_Values[q2 + 1] + | q2 : int(1..10)]), + and([var2_ExplicitVarSizeWithFlags_Flags[q3] = false -> var2_ExplicitVarSizeWithFlags_Values[q3] = -4 + | q3 : int(1..11)]), + and([var2_ExplicitVarSizeWithFlags_Flags[q4 + 1] -> var2_ExplicitVarSizeWithFlags_Flags[q4] | q4 : int(1..10)]), + and([var2_ExplicitVarSizeWithFlags_Flags[q8] -> var2_Occurrence[var2_ExplicitVarSizeWithFlags_Values[q8]] + | q8 : int(1..11)]), + and([var2_Occurrence[q9] -> + or([var2_ExplicitVarSizeWithFlags_Flags[q11] /\ var2_ExplicitVarSizeWithFlags_Values[q11] = q9 + | q11 : int(1..11)]) + | q9 : int(-4..5, 2)]) + diff --git a/tests/exhaustive/autogen/gen32/expected/model_1_4_2.eprime b/tests/exhaustive/autogen/gen32/expected/model_1_4_2.eprime new file mode 100644 index 0000000000..ff6e8bf8e4 --- /dev/null +++ b/tests/exhaustive/autogen/gen32/expected/model_1_4_2.eprime @@ -0,0 +1,50 @@ +language ESSENCE' 1.0 + +letting let1 be -4 +find var2_Occurrence: matrix indexed by [int(-4..5, 2)] of bool +find var2_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..11)] of bool +find var2_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..11)] of int(-4..5, 2) +find var2_ExplicitVarSizeWithDummy: matrix indexed by [int(1..11)] of int(-4..5, 2, 6) +branching on + [var2_ExplicitVarSizeWithDummy, var2_Occurrence, var2_ExplicitVarSizeWithFlags_Flags, + var2_ExplicitVarSizeWithFlags_Values] +such that + or([var2_Occurrence[q29] /\ + !or([var2_ExplicitVarSizeWithFlags_Flags[q31] /\ var2_ExplicitVarSizeWithFlags_Values[q31] = q29 + | q31 : int(1..11)]) + | q29 : int(-4..5, 2)]) + \/ + or([var2_ExplicitVarSizeWithFlags_Flags[q32] /\ !var2_Occurrence[var2_ExplicitVarSizeWithFlags_Values[q32]] + | q32 : int(1..11)]), + and([var2_ExplicitVarSizeWithFlags_Flags[q2 + 1] -> + var2_ExplicitVarSizeWithFlags_Values[q2] < var2_ExplicitVarSizeWithFlags_Values[q2 + 1] + | q2 : int(1..10)]), + and([var2_ExplicitVarSizeWithFlags_Flags[q3] = false -> var2_ExplicitVarSizeWithFlags_Values[q3] = -4 + | q3 : int(1..11)]), + and([var2_ExplicitVarSizeWithFlags_Flags[q4 + 1] -> var2_ExplicitVarSizeWithFlags_Flags[q4] | q4 : int(1..10)]), + and([var2_ExplicitVarSizeWithFlags_Flags[q8] -> var2_Occurrence[var2_ExplicitVarSizeWithFlags_Values[q8]] + | q8 : int(1..11)]), + and([var2_Occurrence[q9] -> + or([var2_ExplicitVarSizeWithFlags_Flags[q11] /\ var2_ExplicitVarSizeWithFlags_Values[q11] = q9 + | q11 : int(1..11)]) + | q9 : int(-4..5, 2)]), + and([var2_ExplicitVarSizeWithDummy[q12] < var2_ExplicitVarSizeWithDummy[q12 + 1] \/ + var2_ExplicitVarSizeWithDummy[q12] = 6 + | q12 : int(1..10)]), + and([var2_ExplicitVarSizeWithDummy[q13] = 6 -> var2_ExplicitVarSizeWithDummy[q13 + 1] = 6 | q13 : int(1..10)]), + and([var2_ExplicitVarSizeWithDummy[q17] != 6 -> var2_Occurrence[var2_ExplicitVarSizeWithDummy[q17]] + | q17 : int(1..11)]), + and([var2_Occurrence[q18] -> + or([var2_ExplicitVarSizeWithDummy[q20] != 6 /\ var2_ExplicitVarSizeWithDummy[q20] = q18 | q20 : int(1..11)]) + | q18 : int(-4..5, 2)]), + and([var2_ExplicitVarSizeWithDummy[q22] != 6 -> + or([var2_ExplicitVarSizeWithFlags_Flags[q24] /\ + var2_ExplicitVarSizeWithFlags_Values[q24] = var2_ExplicitVarSizeWithDummy[q22] + | q24 : int(1..11)]) + | q22 : int(1..11)]), + and([var2_ExplicitVarSizeWithFlags_Flags[q26] -> + or([var2_ExplicitVarSizeWithDummy[q28] != 6 /\ + var2_ExplicitVarSizeWithDummy[q28] = var2_ExplicitVarSizeWithFlags_Values[q26] + | q28 : int(1..11)]) + | q26 : int(1..11)]) + diff --git a/tests/exhaustive/autogen/gen32/expected/model_1_4_3.eprime b/tests/exhaustive/autogen/gen32/expected/model_1_4_3.eprime new file mode 100644 index 0000000000..74db93bcc4 --- /dev/null +++ b/tests/exhaustive/autogen/gen32/expected/model_1_4_3.eprime @@ -0,0 +1,53 @@ +language ESSENCE' 1.0 + +letting let1 be -4 +find var2_Occurrence: matrix indexed by [int(-4..5, 2)] of bool +find var2_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..11)] of bool +find var2_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..11)] of int(-4..5, 2) +find var2_ExplicitVarSizeWithMarker_Marker: int(0..11) +find var2_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..11)] of int(-4..5, 2) +branching on + [var2_ExplicitVarSizeWithMarker_Marker, var2_ExplicitVarSizeWithMarker_Values, var2_Occurrence, + var2_ExplicitVarSizeWithFlags_Flags, var2_ExplicitVarSizeWithFlags_Values] +such that + or([var2_Occurrence[q28] /\ + !or([var2_ExplicitVarSizeWithFlags_Flags[q30] /\ var2_ExplicitVarSizeWithFlags_Values[q30] = q28 + | q30 : int(1..11)]) + | q28 : int(-4..5, 2)]) + \/ + or([var2_ExplicitVarSizeWithFlags_Flags[q31] /\ !var2_Occurrence[var2_ExplicitVarSizeWithFlags_Values[q31]] + | q31 : int(1..11)]), + and([var2_ExplicitVarSizeWithFlags_Flags[q2 + 1] -> + var2_ExplicitVarSizeWithFlags_Values[q2] < var2_ExplicitVarSizeWithFlags_Values[q2 + 1] + | q2 : int(1..10)]), + and([var2_ExplicitVarSizeWithFlags_Flags[q3] = false -> var2_ExplicitVarSizeWithFlags_Values[q3] = -4 + | q3 : int(1..11)]), + and([var2_ExplicitVarSizeWithFlags_Flags[q4 + 1] -> var2_ExplicitVarSizeWithFlags_Flags[q4] | q4 : int(1..10)]), + and([var2_ExplicitVarSizeWithFlags_Flags[q8] -> var2_Occurrence[var2_ExplicitVarSizeWithFlags_Values[q8]] + | q8 : int(1..11)]), + and([var2_Occurrence[q9] -> + or([var2_ExplicitVarSizeWithFlags_Flags[q11] /\ var2_ExplicitVarSizeWithFlags_Values[q11] = q9 + | q11 : int(1..11)]) + | q9 : int(-4..5, 2)]), + and([q12 + 1 <= var2_ExplicitVarSizeWithMarker_Marker -> + var2_ExplicitVarSizeWithMarker_Values[q12] < var2_ExplicitVarSizeWithMarker_Values[q12 + 1] + | q12 : int(1..10)]), + and([q13 > var2_ExplicitVarSizeWithMarker_Marker -> var2_ExplicitVarSizeWithMarker_Values[q13] = -4 + | q13 : int(1..11)]), + and([q16 <= var2_ExplicitVarSizeWithMarker_Marker -> var2_Occurrence[var2_ExplicitVarSizeWithMarker_Values[q16]] + | q16 : int(1..11)]), + and([var2_Occurrence[q17] -> + or([q19 <= var2_ExplicitVarSizeWithMarker_Marker /\ var2_ExplicitVarSizeWithMarker_Values[q19] = q17 + | q19 : int(1..11)]) + | q17 : int(-4..5, 2)]), + and([q21 <= var2_ExplicitVarSizeWithMarker_Marker -> + or([var2_ExplicitVarSizeWithFlags_Flags[q23] /\ + var2_ExplicitVarSizeWithFlags_Values[q23] = var2_ExplicitVarSizeWithMarker_Values[q21] + | q23 : int(1..11)]) + | q21 : int(1..11)]), + and([var2_ExplicitVarSizeWithFlags_Flags[q25] -> + or([q27 <= var2_ExplicitVarSizeWithMarker_Marker /\ + var2_ExplicitVarSizeWithMarker_Values[q27] = var2_ExplicitVarSizeWithFlags_Values[q25] + | q27 : int(1..11)]) + | q25 : int(1..11)]) + diff --git a/tests/exhaustive/autogen/gen32/expected/model_2_1_1.eprime b/tests/exhaustive/autogen/gen32/expected/model_2_1_1.eprime new file mode 100644 index 0000000000..cc87135b8c --- /dev/null +++ b/tests/exhaustive/autogen/gen32/expected/model_2_1_1.eprime @@ -0,0 +1,23 @@ +language ESSENCE' 1.0 + +letting let1 be -4 +find var2_ExplicitVarSizeWithDummy: matrix indexed by [int(1..11)] of int(-4..5, 2, 6) +find var2_Occurrence: matrix indexed by [int(-4..5, 2)] of bool +branching on [var2_Occurrence, var2_ExplicitVarSizeWithDummy] +such that + or([var2_ExplicitVarSizeWithDummy[q7] != 6 /\ !var2_Occurrence[var2_ExplicitVarSizeWithDummy[q7]] + | q7 : int(1..11)]) + \/ + or([var2_Occurrence[q6] /\ + !or([var2_ExplicitVarSizeWithDummy[q9] != 6 /\ var2_ExplicitVarSizeWithDummy[q9] = q6 | q9 : int(1..11)]) + | q6 : int(-4..5, 2)]), + and([var2_ExplicitVarSizeWithDummy[q1] < var2_ExplicitVarSizeWithDummy[q1 + 1] \/ + var2_ExplicitVarSizeWithDummy[q1] = 6 + | q1 : int(1..10)]), + and([var2_ExplicitVarSizeWithDummy[q2] = 6 -> var2_ExplicitVarSizeWithDummy[q2 + 1] = 6 | q2 : int(1..10)]), + and([var2_Occurrence[q10] -> + or([var2_ExplicitVarSizeWithDummy[q12] != 6 /\ var2_ExplicitVarSizeWithDummy[q12] = q10 | q12 : int(1..11)]) + | q10 : int(-4..5, 2)]), + and([var2_ExplicitVarSizeWithDummy[q14] != 6 -> var2_Occurrence[var2_ExplicitVarSizeWithDummy[q14]] + | q14 : int(1..11)]) + diff --git a/tests/exhaustive/autogen/gen32/expected/model_2_1_3.eprime b/tests/exhaustive/autogen/gen32/expected/model_2_1_3.eprime new file mode 100644 index 0000000000..ff7949c852 --- /dev/null +++ b/tests/exhaustive/autogen/gen32/expected/model_2_1_3.eprime @@ -0,0 +1,48 @@ +language ESSENCE' 1.0 + +letting let1 be -4 +find var2_ExplicitVarSizeWithDummy: matrix indexed by [int(1..11)] of int(-4..5, 2, 6) +find var2_Occurrence: matrix indexed by [int(-4..5, 2)] of bool +find var2_ExplicitVarSizeWithMarker_Marker: int(0..11) +find var2_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..11)] of int(-4..5, 2) +branching on + [var2_ExplicitVarSizeWithMarker_Marker, var2_ExplicitVarSizeWithMarker_Values, var2_ExplicitVarSizeWithDummy, + var2_Occurrence] +such that + or([var2_ExplicitVarSizeWithDummy[q23] != 6 /\ !var2_Occurrence[var2_ExplicitVarSizeWithDummy[q23]] + | q23 : int(1..11)]) + \/ + or([var2_Occurrence[q22] /\ + !or([var2_ExplicitVarSizeWithDummy[q25] != 6 /\ var2_ExplicitVarSizeWithDummy[q25] = q22 | q25 : int(1..11)]) + | q22 : int(-4..5, 2)]), + and([var2_ExplicitVarSizeWithDummy[q1] < var2_ExplicitVarSizeWithDummy[q1 + 1] \/ + var2_ExplicitVarSizeWithDummy[q1] = 6 + | q1 : int(1..10)]), + and([var2_ExplicitVarSizeWithDummy[q2] = 6 -> var2_ExplicitVarSizeWithDummy[q2 + 1] = 6 | q2 : int(1..10)]), + and([var2_Occurrence[q26] -> + or([var2_ExplicitVarSizeWithDummy[q28] != 6 /\ var2_ExplicitVarSizeWithDummy[q28] = q26 | q28 : int(1..11)]) + | q26 : int(-4..5, 2)]), + and([var2_ExplicitVarSizeWithDummy[q30] != 6 -> var2_Occurrence[var2_ExplicitVarSizeWithDummy[q30]] + | q30 : int(1..11)]), + and([q6 + 1 <= var2_ExplicitVarSizeWithMarker_Marker -> + var2_ExplicitVarSizeWithMarker_Values[q6] < var2_ExplicitVarSizeWithMarker_Values[q6 + 1] + | q6 : int(1..10)]), + and([q7 > var2_ExplicitVarSizeWithMarker_Marker -> var2_ExplicitVarSizeWithMarker_Values[q7] = -4 + | q7 : int(1..11)]), + and([q10 <= var2_ExplicitVarSizeWithMarker_Marker -> + or([var2_ExplicitVarSizeWithDummy[q12] != 6 /\ + var2_ExplicitVarSizeWithDummy[q12] = var2_ExplicitVarSizeWithMarker_Values[q10] + | q12 : int(1..11)]) + | q10 : int(1..11)]), + and([var2_ExplicitVarSizeWithDummy[q14] != 6 -> + or([q16 <= var2_ExplicitVarSizeWithMarker_Marker /\ + var2_ExplicitVarSizeWithMarker_Values[q16] = var2_ExplicitVarSizeWithDummy[q14] + | q16 : int(1..11)]) + | q14 : int(1..11)]), + and([q18 <= var2_ExplicitVarSizeWithMarker_Marker -> var2_Occurrence[var2_ExplicitVarSizeWithMarker_Values[q18]] + | q18 : int(1..11)]), + and([var2_Occurrence[q19] -> + or([q21 <= var2_ExplicitVarSizeWithMarker_Marker /\ var2_ExplicitVarSizeWithMarker_Values[q21] = q19 + | q21 : int(1..11)]) + | q19 : int(-4..5, 2)]) + diff --git a/tests/exhaustive/autogen/gen32/expected/model_2_1_4.eprime b/tests/exhaustive/autogen/gen32/expected/model_2_1_4.eprime new file mode 100644 index 0000000000..39bbf550cc --- /dev/null +++ b/tests/exhaustive/autogen/gen32/expected/model_2_1_4.eprime @@ -0,0 +1,49 @@ +language ESSENCE' 1.0 + +letting let1 be -4 +find var2_ExplicitVarSizeWithDummy: matrix indexed by [int(1..11)] of int(-4..5, 2, 6) +find var2_Occurrence: matrix indexed by [int(-4..5, 2)] of bool +find var2_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..11)] of bool +find var2_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..11)] of int(-4..5, 2) +branching on + [var2_ExplicitVarSizeWithFlags_Flags, var2_ExplicitVarSizeWithFlags_Values, var2_ExplicitVarSizeWithDummy, + var2_Occurrence] +such that + or([var2_ExplicitVarSizeWithDummy[q25] != 6 /\ !var2_Occurrence[var2_ExplicitVarSizeWithDummy[q25]] + | q25 : int(1..11)]) + \/ + or([var2_Occurrence[q24] /\ + !or([var2_ExplicitVarSizeWithDummy[q27] != 6 /\ var2_ExplicitVarSizeWithDummy[q27] = q24 | q27 : int(1..11)]) + | q24 : int(-4..5, 2)]), + and([var2_ExplicitVarSizeWithDummy[q1] < var2_ExplicitVarSizeWithDummy[q1 + 1] \/ + var2_ExplicitVarSizeWithDummy[q1] = 6 + | q1 : int(1..10)]), + and([var2_ExplicitVarSizeWithDummy[q2] = 6 -> var2_ExplicitVarSizeWithDummy[q2 + 1] = 6 | q2 : int(1..10)]), + and([var2_Occurrence[q28] -> + or([var2_ExplicitVarSizeWithDummy[q30] != 6 /\ var2_ExplicitVarSizeWithDummy[q30] = q28 | q30 : int(1..11)]) + | q28 : int(-4..5, 2)]), + and([var2_ExplicitVarSizeWithDummy[q32] != 6 -> var2_Occurrence[var2_ExplicitVarSizeWithDummy[q32]] + | q32 : int(1..11)]), + and([var2_ExplicitVarSizeWithFlags_Flags[q6 + 1] -> + var2_ExplicitVarSizeWithFlags_Values[q6] < var2_ExplicitVarSizeWithFlags_Values[q6 + 1] + | q6 : int(1..10)]), + and([var2_ExplicitVarSizeWithFlags_Flags[q7] = false -> var2_ExplicitVarSizeWithFlags_Values[q7] = -4 + | q7 : int(1..11)]), + and([var2_ExplicitVarSizeWithFlags_Flags[q8 + 1] -> var2_ExplicitVarSizeWithFlags_Flags[q8] | q8 : int(1..10)]), + and([var2_ExplicitVarSizeWithFlags_Flags[q12] -> + or([var2_ExplicitVarSizeWithDummy[q14] != 6 /\ + var2_ExplicitVarSizeWithDummy[q14] = var2_ExplicitVarSizeWithFlags_Values[q12] + | q14 : int(1..11)]) + | q12 : int(1..11)]), + and([var2_ExplicitVarSizeWithDummy[q16] != 6 -> + or([var2_ExplicitVarSizeWithFlags_Flags[q18] /\ + var2_ExplicitVarSizeWithFlags_Values[q18] = var2_ExplicitVarSizeWithDummy[q16] + | q18 : int(1..11)]) + | q16 : int(1..11)]), + and([var2_ExplicitVarSizeWithFlags_Flags[q20] -> var2_Occurrence[var2_ExplicitVarSizeWithFlags_Values[q20]] + | q20 : int(1..11)]), + and([var2_Occurrence[q21] -> + or([var2_ExplicitVarSizeWithFlags_Flags[q23] /\ var2_ExplicitVarSizeWithFlags_Values[q23] = q21 + | q23 : int(1..11)]) + | q21 : int(-4..5, 2)]) + diff --git a/tests/exhaustive/autogen/gen32/expected/model_2_2_1.eprime b/tests/exhaustive/autogen/gen32/expected/model_2_2_1.eprime new file mode 100644 index 0000000000..c131688486 --- /dev/null +++ b/tests/exhaustive/autogen/gen32/expected/model_2_2_1.eprime @@ -0,0 +1,28 @@ +language ESSENCE' 1.0 + +letting let1 be -4 +find var2_ExplicitVarSizeWithDummy: matrix indexed by [int(1..11)] of int(-4..5, 2, 6) +find var2_Occurrence: matrix indexed by [int(-4..5, 2)] of bool +branching on [var2_Occurrence, var2_ExplicitVarSizeWithDummy] +such that + or([var2_ExplicitVarSizeWithDummy[q7] != 6 /\ + !or([var2_ExplicitVarSizeWithDummy[q9] != 6 /\ + var2_ExplicitVarSizeWithDummy[q9] = var2_ExplicitVarSizeWithDummy[q7] + | q9 : int(1..11)]) + | q7 : int(1..11)]) + \/ + or([var2_ExplicitVarSizeWithDummy[q10] != 6 /\ + !or([var2_ExplicitVarSizeWithDummy[q12] != 6 /\ + var2_ExplicitVarSizeWithDummy[q12] = var2_ExplicitVarSizeWithDummy[q10] + | q12 : int(1..11)]) + | q10 : int(1..11)]), + and([var2_ExplicitVarSizeWithDummy[q1] < var2_ExplicitVarSizeWithDummy[q1 + 1] \/ + var2_ExplicitVarSizeWithDummy[q1] = 6 + | q1 : int(1..10)]), + and([var2_ExplicitVarSizeWithDummy[q2] = 6 -> var2_ExplicitVarSizeWithDummy[q2 + 1] = 6 | q2 : int(1..10)]), + and([var2_Occurrence[q13] -> + or([var2_ExplicitVarSizeWithDummy[q15] != 6 /\ var2_ExplicitVarSizeWithDummy[q15] = q13 | q15 : int(1..11)]) + | q13 : int(-4..5, 2)]), + and([var2_ExplicitVarSizeWithDummy[q17] != 6 -> var2_Occurrence[var2_ExplicitVarSizeWithDummy[q17]] + | q17 : int(1..11)]) + diff --git a/tests/exhaustive/autogen/gen32/expected/model_2_2_2.eprime b/tests/exhaustive/autogen/gen32/expected/model_2_2_2.eprime new file mode 100644 index 0000000000..c724673a10 --- /dev/null +++ b/tests/exhaustive/autogen/gen32/expected/model_2_2_2.eprime @@ -0,0 +1,22 @@ +language ESSENCE' 1.0 + +letting let1 be -4 +find var2_ExplicitVarSizeWithDummy: matrix indexed by [int(1..11)] of int(-4..5, 2, 6) +branching on [var2_ExplicitVarSizeWithDummy] +such that + or([var2_ExplicitVarSizeWithDummy[q6] != 6 /\ + !or([var2_ExplicitVarSizeWithDummy[q8] != 6 /\ + var2_ExplicitVarSizeWithDummy[q8] = var2_ExplicitVarSizeWithDummy[q6] + | q8 : int(1..11)]) + | q6 : int(1..11)]) + \/ + or([var2_ExplicitVarSizeWithDummy[q9] != 6 /\ + !or([var2_ExplicitVarSizeWithDummy[q11] != 6 /\ + var2_ExplicitVarSizeWithDummy[q11] = var2_ExplicitVarSizeWithDummy[q9] + | q11 : int(1..11)]) + | q9 : int(1..11)]), + and([var2_ExplicitVarSizeWithDummy[q1] < var2_ExplicitVarSizeWithDummy[q1 + 1] \/ + var2_ExplicitVarSizeWithDummy[q1] = 6 + | q1 : int(1..10)]), + and([var2_ExplicitVarSizeWithDummy[q2] = 6 -> var2_ExplicitVarSizeWithDummy[q2 + 1] = 6 | q2 : int(1..10)]) + diff --git a/tests/exhaustive/autogen/gen32/expected/model_2_2_3.eprime b/tests/exhaustive/autogen/gen32/expected/model_2_2_3.eprime new file mode 100644 index 0000000000..a4c92861d6 --- /dev/null +++ b/tests/exhaustive/autogen/gen32/expected/model_2_2_3.eprime @@ -0,0 +1,40 @@ +language ESSENCE' 1.0 + +letting let1 be -4 +find var2_ExplicitVarSizeWithDummy: matrix indexed by [int(1..11)] of int(-4..5, 2, 6) +find var2_ExplicitVarSizeWithMarker_Marker: int(0..11) +find var2_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..11)] of int(-4..5, 2) +branching on + [var2_ExplicitVarSizeWithMarker_Marker, var2_ExplicitVarSizeWithMarker_Values, var2_ExplicitVarSizeWithDummy] +such that + or([var2_ExplicitVarSizeWithDummy[q17] != 6 /\ + !or([var2_ExplicitVarSizeWithDummy[q19] != 6 /\ + var2_ExplicitVarSizeWithDummy[q19] = var2_ExplicitVarSizeWithDummy[q17] + | q19 : int(1..11)]) + | q17 : int(1..11)]) + \/ + or([var2_ExplicitVarSizeWithDummy[q20] != 6 /\ + !or([var2_ExplicitVarSizeWithDummy[q22] != 6 /\ + var2_ExplicitVarSizeWithDummy[q22] = var2_ExplicitVarSizeWithDummy[q20] + | q22 : int(1..11)]) + | q20 : int(1..11)]), + and([var2_ExplicitVarSizeWithDummy[q1] < var2_ExplicitVarSizeWithDummy[q1 + 1] \/ + var2_ExplicitVarSizeWithDummy[q1] = 6 + | q1 : int(1..10)]), + and([var2_ExplicitVarSizeWithDummy[q2] = 6 -> var2_ExplicitVarSizeWithDummy[q2 + 1] = 6 | q2 : int(1..10)]), + and([q5 + 1 <= var2_ExplicitVarSizeWithMarker_Marker -> + var2_ExplicitVarSizeWithMarker_Values[q5] < var2_ExplicitVarSizeWithMarker_Values[q5 + 1] + | q5 : int(1..10)]), + and([q6 > var2_ExplicitVarSizeWithMarker_Marker -> var2_ExplicitVarSizeWithMarker_Values[q6] = -4 + | q6 : int(1..11)]), + and([q9 <= var2_ExplicitVarSizeWithMarker_Marker -> + or([var2_ExplicitVarSizeWithDummy[q11] != 6 /\ + var2_ExplicitVarSizeWithDummy[q11] = var2_ExplicitVarSizeWithMarker_Values[q9] + | q11 : int(1..11)]) + | q9 : int(1..11)]), + and([var2_ExplicitVarSizeWithDummy[q13] != 6 -> + or([q15 <= var2_ExplicitVarSizeWithMarker_Marker /\ + var2_ExplicitVarSizeWithMarker_Values[q15] = var2_ExplicitVarSizeWithDummy[q13] + | q15 : int(1..11)]) + | q13 : int(1..11)]) + diff --git a/tests/exhaustive/autogen/gen32/expected/model_2_2_4.eprime b/tests/exhaustive/autogen/gen32/expected/model_2_2_4.eprime new file mode 100644 index 0000000000..4b33c5a6af --- /dev/null +++ b/tests/exhaustive/autogen/gen32/expected/model_2_2_4.eprime @@ -0,0 +1,40 @@ +language ESSENCE' 1.0 + +letting let1 be -4 +find var2_ExplicitVarSizeWithDummy: matrix indexed by [int(1..11)] of int(-4..5, 2, 6) +find var2_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..11)] of bool +find var2_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..11)] of int(-4..5, 2) +branching on [var2_ExplicitVarSizeWithFlags_Flags, var2_ExplicitVarSizeWithFlags_Values, var2_ExplicitVarSizeWithDummy] +such that + or([var2_ExplicitVarSizeWithDummy[q19] != 6 /\ + !or([var2_ExplicitVarSizeWithDummy[q21] != 6 /\ + var2_ExplicitVarSizeWithDummy[q21] = var2_ExplicitVarSizeWithDummy[q19] + | q21 : int(1..11)]) + | q19 : int(1..11)]) + \/ + or([var2_ExplicitVarSizeWithDummy[q22] != 6 /\ + !or([var2_ExplicitVarSizeWithDummy[q24] != 6 /\ + var2_ExplicitVarSizeWithDummy[q24] = var2_ExplicitVarSizeWithDummy[q22] + | q24 : int(1..11)]) + | q22 : int(1..11)]), + and([var2_ExplicitVarSizeWithDummy[q1] < var2_ExplicitVarSizeWithDummy[q1 + 1] \/ + var2_ExplicitVarSizeWithDummy[q1] = 6 + | q1 : int(1..10)]), + and([var2_ExplicitVarSizeWithDummy[q2] = 6 -> var2_ExplicitVarSizeWithDummy[q2 + 1] = 6 | q2 : int(1..10)]), + and([var2_ExplicitVarSizeWithFlags_Flags[q5 + 1] -> + var2_ExplicitVarSizeWithFlags_Values[q5] < var2_ExplicitVarSizeWithFlags_Values[q5 + 1] + | q5 : int(1..10)]), + and([var2_ExplicitVarSizeWithFlags_Flags[q6] = false -> var2_ExplicitVarSizeWithFlags_Values[q6] = -4 + | q6 : int(1..11)]), + and([var2_ExplicitVarSizeWithFlags_Flags[q7 + 1] -> var2_ExplicitVarSizeWithFlags_Flags[q7] | q7 : int(1..10)]), + and([var2_ExplicitVarSizeWithFlags_Flags[q11] -> + or([var2_ExplicitVarSizeWithDummy[q13] != 6 /\ + var2_ExplicitVarSizeWithDummy[q13] = var2_ExplicitVarSizeWithFlags_Values[q11] + | q13 : int(1..11)]) + | q11 : int(1..11)]), + and([var2_ExplicitVarSizeWithDummy[q15] != 6 -> + or([var2_ExplicitVarSizeWithFlags_Flags[q17] /\ + var2_ExplicitVarSizeWithFlags_Values[q17] = var2_ExplicitVarSizeWithDummy[q15] + | q17 : int(1..11)]) + | q15 : int(1..11)]) + diff --git a/tests/exhaustive/autogen/gen32/expected/model_2_3_1.eprime b/tests/exhaustive/autogen/gen32/expected/model_2_3_1.eprime new file mode 100644 index 0000000000..9e87cee675 --- /dev/null +++ b/tests/exhaustive/autogen/gen32/expected/model_2_3_1.eprime @@ -0,0 +1,53 @@ +language ESSENCE' 1.0 + +letting let1 be -4 +find var2_ExplicitVarSizeWithDummy: matrix indexed by [int(1..11)] of int(-4..5, 2, 6) +find var2_ExplicitVarSizeWithMarker_Marker: int(0..11) +find var2_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..11)] of int(-4..5, 2) +find var2_Occurrence: matrix indexed by [int(-4..5, 2)] of bool +branching on + [var2_Occurrence, var2_ExplicitVarSizeWithDummy, var2_ExplicitVarSizeWithMarker_Marker, + var2_ExplicitVarSizeWithMarker_Values] +such that + or([var2_ExplicitVarSizeWithDummy[q18] != 6 /\ + !or([q20 <= var2_ExplicitVarSizeWithMarker_Marker /\ + var2_ExplicitVarSizeWithMarker_Values[q20] = var2_ExplicitVarSizeWithDummy[q18] + | q20 : int(1..11)]) + | q18 : int(1..11)]) + \/ + or([q21 <= var2_ExplicitVarSizeWithMarker_Marker /\ + !or([var2_ExplicitVarSizeWithDummy[q23] != 6 /\ + var2_ExplicitVarSizeWithDummy[q23] = var2_ExplicitVarSizeWithMarker_Values[q21] + | q23 : int(1..11)]) + | q21 : int(1..11)]), + and([var2_ExplicitVarSizeWithDummy[q1] < var2_ExplicitVarSizeWithDummy[q1 + 1] \/ + var2_ExplicitVarSizeWithDummy[q1] = 6 + | q1 : int(1..10)]), + and([var2_ExplicitVarSizeWithDummy[q2] = 6 -> var2_ExplicitVarSizeWithDummy[q2 + 1] = 6 | q2 : int(1..10)]), + and([q5 + 1 <= var2_ExplicitVarSizeWithMarker_Marker -> + var2_ExplicitVarSizeWithMarker_Values[q5] < var2_ExplicitVarSizeWithMarker_Values[q5 + 1] + | q5 : int(1..10)]), + and([q6 > var2_ExplicitVarSizeWithMarker_Marker -> var2_ExplicitVarSizeWithMarker_Values[q6] = -4 + | q6 : int(1..11)]), + and([q9 <= var2_ExplicitVarSizeWithMarker_Marker -> + or([var2_ExplicitVarSizeWithDummy[q11] != 6 /\ + var2_ExplicitVarSizeWithDummy[q11] = var2_ExplicitVarSizeWithMarker_Values[q9] + | q11 : int(1..11)]) + | q9 : int(1..11)]), + and([var2_ExplicitVarSizeWithDummy[q13] != 6 -> + or([q15 <= var2_ExplicitVarSizeWithMarker_Marker /\ + var2_ExplicitVarSizeWithMarker_Values[q15] = var2_ExplicitVarSizeWithDummy[q13] + | q15 : int(1..11)]) + | q13 : int(1..11)]), + and([var2_Occurrence[q24] -> + or([var2_ExplicitVarSizeWithDummy[q26] != 6 /\ var2_ExplicitVarSizeWithDummy[q26] = q24 | q26 : int(1..11)]) + | q24 : int(-4..5, 2)]), + and([var2_ExplicitVarSizeWithDummy[q28] != 6 -> var2_Occurrence[var2_ExplicitVarSizeWithDummy[q28]] + | q28 : int(1..11)]), + and([var2_Occurrence[q29] -> + or([q31 <= var2_ExplicitVarSizeWithMarker_Marker /\ var2_ExplicitVarSizeWithMarker_Values[q31] = q29 + | q31 : int(1..11)]) + | q29 : int(-4..5, 2)]), + and([q33 <= var2_ExplicitVarSizeWithMarker_Marker -> var2_Occurrence[var2_ExplicitVarSizeWithMarker_Values[q33]] + | q33 : int(1..11)]) + diff --git a/tests/exhaustive/autogen/gen32/expected/model_2_3_2.eprime b/tests/exhaustive/autogen/gen32/expected/model_2_3_2.eprime new file mode 100644 index 0000000000..9aea3cfc02 --- /dev/null +++ b/tests/exhaustive/autogen/gen32/expected/model_2_3_2.eprime @@ -0,0 +1,40 @@ +language ESSENCE' 1.0 + +letting let1 be -4 +find var2_ExplicitVarSizeWithDummy: matrix indexed by [int(1..11)] of int(-4..5, 2, 6) +find var2_ExplicitVarSizeWithMarker_Marker: int(0..11) +find var2_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..11)] of int(-4..5, 2) +branching on + [var2_ExplicitVarSizeWithMarker_Marker, var2_ExplicitVarSizeWithMarker_Values, var2_ExplicitVarSizeWithDummy] +such that + or([var2_ExplicitVarSizeWithDummy[q17] != 6 /\ + !or([q19 <= var2_ExplicitVarSizeWithMarker_Marker /\ + var2_ExplicitVarSizeWithMarker_Values[q19] = var2_ExplicitVarSizeWithDummy[q17] + | q19 : int(1..11)]) + | q17 : int(1..11)]) + \/ + or([q20 <= var2_ExplicitVarSizeWithMarker_Marker /\ + !or([var2_ExplicitVarSizeWithDummy[q22] != 6 /\ + var2_ExplicitVarSizeWithDummy[q22] = var2_ExplicitVarSizeWithMarker_Values[q20] + | q22 : int(1..11)]) + | q20 : int(1..11)]), + and([var2_ExplicitVarSizeWithDummy[q1] < var2_ExplicitVarSizeWithDummy[q1 + 1] \/ + var2_ExplicitVarSizeWithDummy[q1] = 6 + | q1 : int(1..10)]), + and([var2_ExplicitVarSizeWithDummy[q2] = 6 -> var2_ExplicitVarSizeWithDummy[q2 + 1] = 6 | q2 : int(1..10)]), + and([q5 + 1 <= var2_ExplicitVarSizeWithMarker_Marker -> + var2_ExplicitVarSizeWithMarker_Values[q5] < var2_ExplicitVarSizeWithMarker_Values[q5 + 1] + | q5 : int(1..10)]), + and([q6 > var2_ExplicitVarSizeWithMarker_Marker -> var2_ExplicitVarSizeWithMarker_Values[q6] = -4 + | q6 : int(1..11)]), + and([q9 <= var2_ExplicitVarSizeWithMarker_Marker -> + or([var2_ExplicitVarSizeWithDummy[q11] != 6 /\ + var2_ExplicitVarSizeWithDummy[q11] = var2_ExplicitVarSizeWithMarker_Values[q9] + | q11 : int(1..11)]) + | q9 : int(1..11)]), + and([var2_ExplicitVarSizeWithDummy[q13] != 6 -> + or([q15 <= var2_ExplicitVarSizeWithMarker_Marker /\ + var2_ExplicitVarSizeWithMarker_Values[q15] = var2_ExplicitVarSizeWithDummy[q13] + | q15 : int(1..11)]) + | q13 : int(1..11)]) + diff --git a/tests/exhaustive/autogen/gen32/expected/model_2_3_4.eprime b/tests/exhaustive/autogen/gen32/expected/model_2_3_4.eprime new file mode 100644 index 0000000000..8caf045469 --- /dev/null +++ b/tests/exhaustive/autogen/gen32/expected/model_2_3_4.eprime @@ -0,0 +1,69 @@ +language ESSENCE' 1.0 + +letting let1 be -4 +find var2_ExplicitVarSizeWithDummy: matrix indexed by [int(1..11)] of int(-4..5, 2, 6) +find var2_ExplicitVarSizeWithMarker_Marker: int(0..11) +find var2_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..11)] of int(-4..5, 2) +find var2_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..11)] of bool +find var2_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..11)] of int(-4..5, 2) +branching on + [var2_ExplicitVarSizeWithFlags_Flags, var2_ExplicitVarSizeWithFlags_Values, var2_ExplicitVarSizeWithDummy, + var2_ExplicitVarSizeWithMarker_Marker, var2_ExplicitVarSizeWithMarker_Values] +such that + or([var2_ExplicitVarSizeWithDummy[q38] != 6 /\ + !or([q40 <= var2_ExplicitVarSizeWithMarker_Marker /\ + var2_ExplicitVarSizeWithMarker_Values[q40] = var2_ExplicitVarSizeWithDummy[q38] + | q40 : int(1..11)]) + | q38 : int(1..11)]) + \/ + or([q41 <= var2_ExplicitVarSizeWithMarker_Marker /\ + !or([var2_ExplicitVarSizeWithDummy[q43] != 6 /\ + var2_ExplicitVarSizeWithDummy[q43] = var2_ExplicitVarSizeWithMarker_Values[q41] + | q43 : int(1..11)]) + | q41 : int(1..11)]), + and([var2_ExplicitVarSizeWithDummy[q1] < var2_ExplicitVarSizeWithDummy[q1 + 1] \/ + var2_ExplicitVarSizeWithDummy[q1] = 6 + | q1 : int(1..10)]), + and([var2_ExplicitVarSizeWithDummy[q2] = 6 -> var2_ExplicitVarSizeWithDummy[q2 + 1] = 6 | q2 : int(1..10)]), + and([q5 + 1 <= var2_ExplicitVarSizeWithMarker_Marker -> + var2_ExplicitVarSizeWithMarker_Values[q5] < var2_ExplicitVarSizeWithMarker_Values[q5 + 1] + | q5 : int(1..10)]), + and([q6 > var2_ExplicitVarSizeWithMarker_Marker -> var2_ExplicitVarSizeWithMarker_Values[q6] = -4 + | q6 : int(1..11)]), + and([q9 <= var2_ExplicitVarSizeWithMarker_Marker -> + or([var2_ExplicitVarSizeWithDummy[q11] != 6 /\ + var2_ExplicitVarSizeWithDummy[q11] = var2_ExplicitVarSizeWithMarker_Values[q9] + | q11 : int(1..11)]) + | q9 : int(1..11)]), + and([var2_ExplicitVarSizeWithDummy[q13] != 6 -> + or([q15 <= var2_ExplicitVarSizeWithMarker_Marker /\ + var2_ExplicitVarSizeWithMarker_Values[q15] = var2_ExplicitVarSizeWithDummy[q13] + | q15 : int(1..11)]) + | q13 : int(1..11)]), + and([var2_ExplicitVarSizeWithFlags_Flags[q16 + 1] -> + var2_ExplicitVarSizeWithFlags_Values[q16] < var2_ExplicitVarSizeWithFlags_Values[q16 + 1] + | q16 : int(1..10)]), + and([var2_ExplicitVarSizeWithFlags_Flags[q17] = false -> var2_ExplicitVarSizeWithFlags_Values[q17] = -4 + | q17 : int(1..11)]), + and([var2_ExplicitVarSizeWithFlags_Flags[q18 + 1] -> var2_ExplicitVarSizeWithFlags_Flags[q18] | q18 : int(1..10)]), + and([var2_ExplicitVarSizeWithFlags_Flags[q22] -> + or([var2_ExplicitVarSizeWithDummy[q24] != 6 /\ + var2_ExplicitVarSizeWithDummy[q24] = var2_ExplicitVarSizeWithFlags_Values[q22] + | q24 : int(1..11)]) + | q22 : int(1..11)]), + and([var2_ExplicitVarSizeWithDummy[q26] != 6 -> + or([var2_ExplicitVarSizeWithFlags_Flags[q28] /\ + var2_ExplicitVarSizeWithFlags_Values[q28] = var2_ExplicitVarSizeWithDummy[q26] + | q28 : int(1..11)]) + | q26 : int(1..11)]), + and([var2_ExplicitVarSizeWithFlags_Flags[q30] -> + or([q32 <= var2_ExplicitVarSizeWithMarker_Marker /\ + var2_ExplicitVarSizeWithMarker_Values[q32] = var2_ExplicitVarSizeWithFlags_Values[q30] + | q32 : int(1..11)]) + | q30 : int(1..11)]), + and([q34 <= var2_ExplicitVarSizeWithMarker_Marker -> + or([var2_ExplicitVarSizeWithFlags_Flags[q36] /\ + var2_ExplicitVarSizeWithFlags_Values[q36] = var2_ExplicitVarSizeWithMarker_Values[q34] + | q36 : int(1..11)]) + | q34 : int(1..11)]) + diff --git a/tests/exhaustive/autogen/gen32/expected/model_2_4_1.eprime b/tests/exhaustive/autogen/gen32/expected/model_2_4_1.eprime new file mode 100644 index 0000000000..e1fcf174dd --- /dev/null +++ b/tests/exhaustive/autogen/gen32/expected/model_2_4_1.eprime @@ -0,0 +1,54 @@ +language ESSENCE' 1.0 + +letting let1 be -4 +find var2_ExplicitVarSizeWithDummy: matrix indexed by [int(1..11)] of int(-4..5, 2, 6) +find var2_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..11)] of bool +find var2_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..11)] of int(-4..5, 2) +find var2_Occurrence: matrix indexed by [int(-4..5, 2)] of bool +branching on + [var2_Occurrence, var2_ExplicitVarSizeWithDummy, var2_ExplicitVarSizeWithFlags_Flags, + var2_ExplicitVarSizeWithFlags_Values] +such that + or([var2_ExplicitVarSizeWithDummy[q20] != 6 /\ + !or([var2_ExplicitVarSizeWithFlags_Flags[q22] /\ + var2_ExplicitVarSizeWithFlags_Values[q22] = var2_ExplicitVarSizeWithDummy[q20] + | q22 : int(1..11)]) + | q20 : int(1..11)]) + \/ + or([var2_ExplicitVarSizeWithFlags_Flags[q23] /\ + !or([var2_ExplicitVarSizeWithDummy[q25] != 6 /\ + var2_ExplicitVarSizeWithDummy[q25] = var2_ExplicitVarSizeWithFlags_Values[q23] + | q25 : int(1..11)]) + | q23 : int(1..11)]), + and([var2_ExplicitVarSizeWithDummy[q1] < var2_ExplicitVarSizeWithDummy[q1 + 1] \/ + var2_ExplicitVarSizeWithDummy[q1] = 6 + | q1 : int(1..10)]), + and([var2_ExplicitVarSizeWithDummy[q2] = 6 -> var2_ExplicitVarSizeWithDummy[q2 + 1] = 6 | q2 : int(1..10)]), + and([var2_ExplicitVarSizeWithFlags_Flags[q5 + 1] -> + var2_ExplicitVarSizeWithFlags_Values[q5] < var2_ExplicitVarSizeWithFlags_Values[q5 + 1] + | q5 : int(1..10)]), + and([var2_ExplicitVarSizeWithFlags_Flags[q6] = false -> var2_ExplicitVarSizeWithFlags_Values[q6] = -4 + | q6 : int(1..11)]), + and([var2_ExplicitVarSizeWithFlags_Flags[q7 + 1] -> var2_ExplicitVarSizeWithFlags_Flags[q7] | q7 : int(1..10)]), + and([var2_ExplicitVarSizeWithFlags_Flags[q11] -> + or([var2_ExplicitVarSizeWithDummy[q13] != 6 /\ + var2_ExplicitVarSizeWithDummy[q13] = var2_ExplicitVarSizeWithFlags_Values[q11] + | q13 : int(1..11)]) + | q11 : int(1..11)]), + and([var2_ExplicitVarSizeWithDummy[q15] != 6 -> + or([var2_ExplicitVarSizeWithFlags_Flags[q17] /\ + var2_ExplicitVarSizeWithFlags_Values[q17] = var2_ExplicitVarSizeWithDummy[q15] + | q17 : int(1..11)]) + | q15 : int(1..11)]), + and([var2_Occurrence[q26] -> + or([var2_ExplicitVarSizeWithDummy[q28] != 6 /\ var2_ExplicitVarSizeWithDummy[q28] = q26 | q28 : int(1..11)]) + | q26 : int(-4..5, 2)]), + and([var2_ExplicitVarSizeWithDummy[q30] != 6 -> var2_Occurrence[var2_ExplicitVarSizeWithDummy[q30]] + | q30 : int(1..11)]), + and([var2_Occurrence[q31] -> + or([var2_ExplicitVarSizeWithFlags_Flags[q33] /\ var2_ExplicitVarSizeWithFlags_Values[q33] = q31 + | q33 : int(1..11)]) + | q31 : int(-4..5, 2)]), + and([var2_ExplicitVarSizeWithFlags_Flags[q35] -> var2_Occurrence[var2_ExplicitVarSizeWithFlags_Values[q35]] + | q35 : int(1..11)]) + diff --git a/tests/exhaustive/autogen/gen32/expected/model_2_4_2.eprime b/tests/exhaustive/autogen/gen32/expected/model_2_4_2.eprime new file mode 100644 index 0000000000..d3c3ed6086 --- /dev/null +++ b/tests/exhaustive/autogen/gen32/expected/model_2_4_2.eprime @@ -0,0 +1,40 @@ +language ESSENCE' 1.0 + +letting let1 be -4 +find var2_ExplicitVarSizeWithDummy: matrix indexed by [int(1..11)] of int(-4..5, 2, 6) +find var2_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..11)] of bool +find var2_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..11)] of int(-4..5, 2) +branching on [var2_ExplicitVarSizeWithFlags_Flags, var2_ExplicitVarSizeWithFlags_Values, var2_ExplicitVarSizeWithDummy] +such that + or([var2_ExplicitVarSizeWithDummy[q19] != 6 /\ + !or([var2_ExplicitVarSizeWithFlags_Flags[q21] /\ + var2_ExplicitVarSizeWithFlags_Values[q21] = var2_ExplicitVarSizeWithDummy[q19] + | q21 : int(1..11)]) + | q19 : int(1..11)]) + \/ + or([var2_ExplicitVarSizeWithFlags_Flags[q22] /\ + !or([var2_ExplicitVarSizeWithDummy[q24] != 6 /\ + var2_ExplicitVarSizeWithDummy[q24] = var2_ExplicitVarSizeWithFlags_Values[q22] + | q24 : int(1..11)]) + | q22 : int(1..11)]), + and([var2_ExplicitVarSizeWithDummy[q1] < var2_ExplicitVarSizeWithDummy[q1 + 1] \/ + var2_ExplicitVarSizeWithDummy[q1] = 6 + | q1 : int(1..10)]), + and([var2_ExplicitVarSizeWithDummy[q2] = 6 -> var2_ExplicitVarSizeWithDummy[q2 + 1] = 6 | q2 : int(1..10)]), + and([var2_ExplicitVarSizeWithFlags_Flags[q5 + 1] -> + var2_ExplicitVarSizeWithFlags_Values[q5] < var2_ExplicitVarSizeWithFlags_Values[q5 + 1] + | q5 : int(1..10)]), + and([var2_ExplicitVarSizeWithFlags_Flags[q6] = false -> var2_ExplicitVarSizeWithFlags_Values[q6] = -4 + | q6 : int(1..11)]), + and([var2_ExplicitVarSizeWithFlags_Flags[q7 + 1] -> var2_ExplicitVarSizeWithFlags_Flags[q7] | q7 : int(1..10)]), + and([var2_ExplicitVarSizeWithFlags_Flags[q11] -> + or([var2_ExplicitVarSizeWithDummy[q13] != 6 /\ + var2_ExplicitVarSizeWithDummy[q13] = var2_ExplicitVarSizeWithFlags_Values[q11] + | q13 : int(1..11)]) + | q11 : int(1..11)]), + and([var2_ExplicitVarSizeWithDummy[q15] != 6 -> + or([var2_ExplicitVarSizeWithFlags_Flags[q17] /\ + var2_ExplicitVarSizeWithFlags_Values[q17] = var2_ExplicitVarSizeWithDummy[q15] + | q17 : int(1..11)]) + | q15 : int(1..11)]) + diff --git a/tests/exhaustive/autogen/gen32/expected/model_2_4_3.eprime b/tests/exhaustive/autogen/gen32/expected/model_2_4_3.eprime new file mode 100644 index 0000000000..298bb93993 --- /dev/null +++ b/tests/exhaustive/autogen/gen32/expected/model_2_4_3.eprime @@ -0,0 +1,69 @@ +language ESSENCE' 1.0 + +letting let1 be -4 +find var2_ExplicitVarSizeWithDummy: matrix indexed by [int(1..11)] of int(-4..5, 2, 6) +find var2_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..11)] of bool +find var2_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..11)] of int(-4..5, 2) +find var2_ExplicitVarSizeWithMarker_Marker: int(0..11) +find var2_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..11)] of int(-4..5, 2) +branching on + [var2_ExplicitVarSizeWithMarker_Marker, var2_ExplicitVarSizeWithMarker_Values, var2_ExplicitVarSizeWithDummy, + var2_ExplicitVarSizeWithFlags_Flags, var2_ExplicitVarSizeWithFlags_Values] +such that + or([var2_ExplicitVarSizeWithDummy[q38] != 6 /\ + !or([var2_ExplicitVarSizeWithFlags_Flags[q40] /\ + var2_ExplicitVarSizeWithFlags_Values[q40] = var2_ExplicitVarSizeWithDummy[q38] + | q40 : int(1..11)]) + | q38 : int(1..11)]) + \/ + or([var2_ExplicitVarSizeWithFlags_Flags[q41] /\ + !or([var2_ExplicitVarSizeWithDummy[q43] != 6 /\ + var2_ExplicitVarSizeWithDummy[q43] = var2_ExplicitVarSizeWithFlags_Values[q41] + | q43 : int(1..11)]) + | q41 : int(1..11)]), + and([var2_ExplicitVarSizeWithDummy[q1] < var2_ExplicitVarSizeWithDummy[q1 + 1] \/ + var2_ExplicitVarSizeWithDummy[q1] = 6 + | q1 : int(1..10)]), + and([var2_ExplicitVarSizeWithDummy[q2] = 6 -> var2_ExplicitVarSizeWithDummy[q2 + 1] = 6 | q2 : int(1..10)]), + and([var2_ExplicitVarSizeWithFlags_Flags[q5 + 1] -> + var2_ExplicitVarSizeWithFlags_Values[q5] < var2_ExplicitVarSizeWithFlags_Values[q5 + 1] + | q5 : int(1..10)]), + and([var2_ExplicitVarSizeWithFlags_Flags[q6] = false -> var2_ExplicitVarSizeWithFlags_Values[q6] = -4 + | q6 : int(1..11)]), + and([var2_ExplicitVarSizeWithFlags_Flags[q7 + 1] -> var2_ExplicitVarSizeWithFlags_Flags[q7] | q7 : int(1..10)]), + and([var2_ExplicitVarSizeWithFlags_Flags[q11] -> + or([var2_ExplicitVarSizeWithDummy[q13] != 6 /\ + var2_ExplicitVarSizeWithDummy[q13] = var2_ExplicitVarSizeWithFlags_Values[q11] + | q13 : int(1..11)]) + | q11 : int(1..11)]), + and([var2_ExplicitVarSizeWithDummy[q15] != 6 -> + or([var2_ExplicitVarSizeWithFlags_Flags[q17] /\ + var2_ExplicitVarSizeWithFlags_Values[q17] = var2_ExplicitVarSizeWithDummy[q15] + | q17 : int(1..11)]) + | q15 : int(1..11)]), + and([q18 + 1 <= var2_ExplicitVarSizeWithMarker_Marker -> + var2_ExplicitVarSizeWithMarker_Values[q18] < var2_ExplicitVarSizeWithMarker_Values[q18 + 1] + | q18 : int(1..10)]), + and([q19 > var2_ExplicitVarSizeWithMarker_Marker -> var2_ExplicitVarSizeWithMarker_Values[q19] = -4 + | q19 : int(1..11)]), + and([q22 <= var2_ExplicitVarSizeWithMarker_Marker -> + or([var2_ExplicitVarSizeWithDummy[q24] != 6 /\ + var2_ExplicitVarSizeWithDummy[q24] = var2_ExplicitVarSizeWithMarker_Values[q22] + | q24 : int(1..11)]) + | q22 : int(1..11)]), + and([var2_ExplicitVarSizeWithDummy[q26] != 6 -> + or([q28 <= var2_ExplicitVarSizeWithMarker_Marker /\ + var2_ExplicitVarSizeWithMarker_Values[q28] = var2_ExplicitVarSizeWithDummy[q26] + | q28 : int(1..11)]) + | q26 : int(1..11)]), + and([q30 <= var2_ExplicitVarSizeWithMarker_Marker -> + or([var2_ExplicitVarSizeWithFlags_Flags[q32] /\ + var2_ExplicitVarSizeWithFlags_Values[q32] = var2_ExplicitVarSizeWithMarker_Values[q30] + | q32 : int(1..11)]) + | q30 : int(1..11)]), + and([var2_ExplicitVarSizeWithFlags_Flags[q34] -> + or([q36 <= var2_ExplicitVarSizeWithMarker_Marker /\ + var2_ExplicitVarSizeWithMarker_Values[q36] = var2_ExplicitVarSizeWithFlags_Values[q34] + | q36 : int(1..11)]) + | q34 : int(1..11)]) + diff --git a/tests/exhaustive/autogen/gen32/expected/model_3_1_1.eprime b/tests/exhaustive/autogen/gen32/expected/model_3_1_1.eprime new file mode 100644 index 0000000000..c841bbbe9f --- /dev/null +++ b/tests/exhaustive/autogen/gen32/expected/model_3_1_1.eprime @@ -0,0 +1,27 @@ +language ESSENCE' 1.0 + +letting let1 be -4 +find var2_ExplicitVarSizeWithMarker_Marker: int(0..11) +find var2_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..11)] of int(-4..5, 2) +find var2_Occurrence: matrix indexed by [int(-4..5, 2)] of bool +branching on [var2_Occurrence, var2_ExplicitVarSizeWithMarker_Marker, var2_ExplicitVarSizeWithMarker_Values] +such that + or([q6 <= var2_ExplicitVarSizeWithMarker_Marker /\ !var2_Occurrence[var2_ExplicitVarSizeWithMarker_Values[q6]] + | q6 : int(1..11)]) + \/ + or([var2_Occurrence[q5] /\ + !or([q8 <= var2_ExplicitVarSizeWithMarker_Marker /\ var2_ExplicitVarSizeWithMarker_Values[q8] = q5 + | q8 : int(1..11)]) + | q5 : int(-4..5, 2)]), + and([q1 + 1 <= var2_ExplicitVarSizeWithMarker_Marker -> + var2_ExplicitVarSizeWithMarker_Values[q1] < var2_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..10)]), + and([q2 > var2_ExplicitVarSizeWithMarker_Marker -> var2_ExplicitVarSizeWithMarker_Values[q2] = -4 + | q2 : int(1..11)]), + and([var2_Occurrence[q9] -> + or([q11 <= var2_ExplicitVarSizeWithMarker_Marker /\ var2_ExplicitVarSizeWithMarker_Values[q11] = q9 + | q11 : int(1..11)]) + | q9 : int(-4..5, 2)]), + and([q13 <= var2_ExplicitVarSizeWithMarker_Marker -> var2_Occurrence[var2_ExplicitVarSizeWithMarker_Values[q13]] + | q13 : int(1..11)]) + diff --git a/tests/exhaustive/autogen/gen32/expected/model_3_1_2.eprime b/tests/exhaustive/autogen/gen32/expected/model_3_1_2.eprime new file mode 100644 index 0000000000..7e7b9ddfa6 --- /dev/null +++ b/tests/exhaustive/autogen/gen32/expected/model_3_1_2.eprime @@ -0,0 +1,49 @@ +language ESSENCE' 1.0 + +letting let1 be -4 +find var2_ExplicitVarSizeWithMarker_Marker: int(0..11) +find var2_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..11)] of int(-4..5, 2) +find var2_Occurrence: matrix indexed by [int(-4..5, 2)] of bool +find var2_ExplicitVarSizeWithDummy: matrix indexed by [int(1..11)] of int(-4..5, 2, 6) +branching on + [var2_ExplicitVarSizeWithDummy, var2_ExplicitVarSizeWithMarker_Marker, var2_ExplicitVarSizeWithMarker_Values, + var2_Occurrence] +such that + or([q23 <= var2_ExplicitVarSizeWithMarker_Marker /\ !var2_Occurrence[var2_ExplicitVarSizeWithMarker_Values[q23]] + | q23 : int(1..11)]) + \/ + or([var2_Occurrence[q22] /\ + !or([q25 <= var2_ExplicitVarSizeWithMarker_Marker /\ var2_ExplicitVarSizeWithMarker_Values[q25] = q22 + | q25 : int(1..11)]) + | q22 : int(-4..5, 2)]), + and([q1 + 1 <= var2_ExplicitVarSizeWithMarker_Marker -> + var2_ExplicitVarSizeWithMarker_Values[q1] < var2_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..10)]), + and([q2 > var2_ExplicitVarSizeWithMarker_Marker -> var2_ExplicitVarSizeWithMarker_Values[q2] = -4 + | q2 : int(1..11)]), + and([var2_Occurrence[q26] -> + or([q28 <= var2_ExplicitVarSizeWithMarker_Marker /\ var2_ExplicitVarSizeWithMarker_Values[q28] = q26 + | q28 : int(1..11)]) + | q26 : int(-4..5, 2)]), + and([q30 <= var2_ExplicitVarSizeWithMarker_Marker -> var2_Occurrence[var2_ExplicitVarSizeWithMarker_Values[q30]] + | q30 : int(1..11)]), + and([var2_ExplicitVarSizeWithDummy[q5] < var2_ExplicitVarSizeWithDummy[q5 + 1] \/ + var2_ExplicitVarSizeWithDummy[q5] = 6 + | q5 : int(1..10)]), + and([var2_ExplicitVarSizeWithDummy[q6] = 6 -> var2_ExplicitVarSizeWithDummy[q6 + 1] = 6 | q6 : int(1..10)]), + and([var2_ExplicitVarSizeWithDummy[q10] != 6 -> + or([q12 <= var2_ExplicitVarSizeWithMarker_Marker /\ + var2_ExplicitVarSizeWithMarker_Values[q12] = var2_ExplicitVarSizeWithDummy[q10] + | q12 : int(1..11)]) + | q10 : int(1..11)]), + and([q14 <= var2_ExplicitVarSizeWithMarker_Marker -> + or([var2_ExplicitVarSizeWithDummy[q16] != 6 /\ + var2_ExplicitVarSizeWithDummy[q16] = var2_ExplicitVarSizeWithMarker_Values[q14] + | q16 : int(1..11)]) + | q14 : int(1..11)]), + and([var2_ExplicitVarSizeWithDummy[q18] != 6 -> var2_Occurrence[var2_ExplicitVarSizeWithDummy[q18]] + | q18 : int(1..11)]), + and([var2_Occurrence[q19] -> + or([var2_ExplicitVarSizeWithDummy[q21] != 6 /\ var2_ExplicitVarSizeWithDummy[q21] = q19 | q21 : int(1..11)]) + | q19 : int(-4..5, 2)]) + diff --git a/tests/exhaustive/autogen/gen32/expected/model_3_1_4.eprime b/tests/exhaustive/autogen/gen32/expected/model_3_1_4.eprime new file mode 100644 index 0000000000..a2676c1f31 --- /dev/null +++ b/tests/exhaustive/autogen/gen32/expected/model_3_1_4.eprime @@ -0,0 +1,53 @@ +language ESSENCE' 1.0 + +letting let1 be -4 +find var2_ExplicitVarSizeWithMarker_Marker: int(0..11) +find var2_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..11)] of int(-4..5, 2) +find var2_Occurrence: matrix indexed by [int(-4..5, 2)] of bool +find var2_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..11)] of bool +find var2_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..11)] of int(-4..5, 2) +branching on + [var2_ExplicitVarSizeWithFlags_Flags, var2_ExplicitVarSizeWithFlags_Values, var2_ExplicitVarSizeWithMarker_Marker, + var2_ExplicitVarSizeWithMarker_Values, var2_Occurrence] +such that + or([q24 <= var2_ExplicitVarSizeWithMarker_Marker /\ !var2_Occurrence[var2_ExplicitVarSizeWithMarker_Values[q24]] + | q24 : int(1..11)]) + \/ + or([var2_Occurrence[q23] /\ + !or([q26 <= var2_ExplicitVarSizeWithMarker_Marker /\ var2_ExplicitVarSizeWithMarker_Values[q26] = q23 + | q26 : int(1..11)]) + | q23 : int(-4..5, 2)]), + and([q1 + 1 <= var2_ExplicitVarSizeWithMarker_Marker -> + var2_ExplicitVarSizeWithMarker_Values[q1] < var2_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..10)]), + and([q2 > var2_ExplicitVarSizeWithMarker_Marker -> var2_ExplicitVarSizeWithMarker_Values[q2] = -4 + | q2 : int(1..11)]), + and([var2_Occurrence[q27] -> + or([q29 <= var2_ExplicitVarSizeWithMarker_Marker /\ var2_ExplicitVarSizeWithMarker_Values[q29] = q27 + | q29 : int(1..11)]) + | q27 : int(-4..5, 2)]), + and([q31 <= var2_ExplicitVarSizeWithMarker_Marker -> var2_Occurrence[var2_ExplicitVarSizeWithMarker_Values[q31]] + | q31 : int(1..11)]), + and([var2_ExplicitVarSizeWithFlags_Flags[q5 + 1] -> + var2_ExplicitVarSizeWithFlags_Values[q5] < var2_ExplicitVarSizeWithFlags_Values[q5 + 1] + | q5 : int(1..10)]), + and([var2_ExplicitVarSizeWithFlags_Flags[q6] = false -> var2_ExplicitVarSizeWithFlags_Values[q6] = -4 + | q6 : int(1..11)]), + and([var2_ExplicitVarSizeWithFlags_Flags[q7 + 1] -> var2_ExplicitVarSizeWithFlags_Flags[q7] | q7 : int(1..10)]), + and([var2_ExplicitVarSizeWithFlags_Flags[q11] -> + or([q13 <= var2_ExplicitVarSizeWithMarker_Marker /\ + var2_ExplicitVarSizeWithMarker_Values[q13] = var2_ExplicitVarSizeWithFlags_Values[q11] + | q13 : int(1..11)]) + | q11 : int(1..11)]), + and([q15 <= var2_ExplicitVarSizeWithMarker_Marker -> + or([var2_ExplicitVarSizeWithFlags_Flags[q17] /\ + var2_ExplicitVarSizeWithFlags_Values[q17] = var2_ExplicitVarSizeWithMarker_Values[q15] + | q17 : int(1..11)]) + | q15 : int(1..11)]), + and([var2_ExplicitVarSizeWithFlags_Flags[q19] -> var2_Occurrence[var2_ExplicitVarSizeWithFlags_Values[q19]] + | q19 : int(1..11)]), + and([var2_Occurrence[q20] -> + or([var2_ExplicitVarSizeWithFlags_Flags[q22] /\ var2_ExplicitVarSizeWithFlags_Values[q22] = q20 + | q22 : int(1..11)]) + | q20 : int(-4..5, 2)]) + diff --git a/tests/exhaustive/autogen/gen32/expected/model_3_2_1.eprime b/tests/exhaustive/autogen/gen32/expected/model_3_2_1.eprime new file mode 100644 index 0000000000..86dbab6810 --- /dev/null +++ b/tests/exhaustive/autogen/gen32/expected/model_3_2_1.eprime @@ -0,0 +1,53 @@ +language ESSENCE' 1.0 + +letting let1 be -4 +find var2_ExplicitVarSizeWithMarker_Marker: int(0..11) +find var2_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..11)] of int(-4..5, 2) +find var2_ExplicitVarSizeWithDummy: matrix indexed by [int(1..11)] of int(-4..5, 2, 6) +find var2_Occurrence: matrix indexed by [int(-4..5, 2)] of bool +branching on + [var2_Occurrence, var2_ExplicitVarSizeWithMarker_Marker, var2_ExplicitVarSizeWithMarker_Values, + var2_ExplicitVarSizeWithDummy] +such that + or([q18 <= var2_ExplicitVarSizeWithMarker_Marker /\ + !or([var2_ExplicitVarSizeWithDummy[q20] != 6 /\ + var2_ExplicitVarSizeWithDummy[q20] = var2_ExplicitVarSizeWithMarker_Values[q18] + | q20 : int(1..11)]) + | q18 : int(1..11)]) + \/ + or([var2_ExplicitVarSizeWithDummy[q21] != 6 /\ + !or([q23 <= var2_ExplicitVarSizeWithMarker_Marker /\ + var2_ExplicitVarSizeWithMarker_Values[q23] = var2_ExplicitVarSizeWithDummy[q21] + | q23 : int(1..11)]) + | q21 : int(1..11)]), + and([q1 + 1 <= var2_ExplicitVarSizeWithMarker_Marker -> + var2_ExplicitVarSizeWithMarker_Values[q1] < var2_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..10)]), + and([q2 > var2_ExplicitVarSizeWithMarker_Marker -> var2_ExplicitVarSizeWithMarker_Values[q2] = -4 + | q2 : int(1..11)]), + and([var2_ExplicitVarSizeWithDummy[q4] < var2_ExplicitVarSizeWithDummy[q4 + 1] \/ + var2_ExplicitVarSizeWithDummy[q4] = 6 + | q4 : int(1..10)]), + and([var2_ExplicitVarSizeWithDummy[q5] = 6 -> var2_ExplicitVarSizeWithDummy[q5 + 1] = 6 | q5 : int(1..10)]), + and([var2_ExplicitVarSizeWithDummy[q9] != 6 -> + or([q11 <= var2_ExplicitVarSizeWithMarker_Marker /\ + var2_ExplicitVarSizeWithMarker_Values[q11] = var2_ExplicitVarSizeWithDummy[q9] + | q11 : int(1..11)]) + | q9 : int(1..11)]), + and([q13 <= var2_ExplicitVarSizeWithMarker_Marker -> + or([var2_ExplicitVarSizeWithDummy[q15] != 6 /\ + var2_ExplicitVarSizeWithDummy[q15] = var2_ExplicitVarSizeWithMarker_Values[q13] + | q15 : int(1..11)]) + | q13 : int(1..11)]), + and([var2_Occurrence[q24] -> + or([q26 <= var2_ExplicitVarSizeWithMarker_Marker /\ var2_ExplicitVarSizeWithMarker_Values[q26] = q24 + | q26 : int(1..11)]) + | q24 : int(-4..5, 2)]), + and([q28 <= var2_ExplicitVarSizeWithMarker_Marker -> var2_Occurrence[var2_ExplicitVarSizeWithMarker_Values[q28]] + | q28 : int(1..11)]), + and([var2_Occurrence[q29] -> + or([var2_ExplicitVarSizeWithDummy[q31] != 6 /\ var2_ExplicitVarSizeWithDummy[q31] = q29 | q31 : int(1..11)]) + | q29 : int(-4..5, 2)]), + and([var2_ExplicitVarSizeWithDummy[q33] != 6 -> var2_Occurrence[var2_ExplicitVarSizeWithDummy[q33]] + | q33 : int(1..11)]) + diff --git a/tests/exhaustive/autogen/gen32/expected/model_3_2_2.eprime b/tests/exhaustive/autogen/gen32/expected/model_3_2_2.eprime new file mode 100644 index 0000000000..c9a6281665 --- /dev/null +++ b/tests/exhaustive/autogen/gen32/expected/model_3_2_2.eprime @@ -0,0 +1,40 @@ +language ESSENCE' 1.0 + +letting let1 be -4 +find var2_ExplicitVarSizeWithMarker_Marker: int(0..11) +find var2_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..11)] of int(-4..5, 2) +find var2_ExplicitVarSizeWithDummy: matrix indexed by [int(1..11)] of int(-4..5, 2, 6) +branching on + [var2_ExplicitVarSizeWithDummy, var2_ExplicitVarSizeWithMarker_Marker, var2_ExplicitVarSizeWithMarker_Values] +such that + or([q17 <= var2_ExplicitVarSizeWithMarker_Marker /\ + !or([var2_ExplicitVarSizeWithDummy[q19] != 6 /\ + var2_ExplicitVarSizeWithDummy[q19] = var2_ExplicitVarSizeWithMarker_Values[q17] + | q19 : int(1..11)]) + | q17 : int(1..11)]) + \/ + or([var2_ExplicitVarSizeWithDummy[q20] != 6 /\ + !or([q22 <= var2_ExplicitVarSizeWithMarker_Marker /\ + var2_ExplicitVarSizeWithMarker_Values[q22] = var2_ExplicitVarSizeWithDummy[q20] + | q22 : int(1..11)]) + | q20 : int(1..11)]), + and([q1 + 1 <= var2_ExplicitVarSizeWithMarker_Marker -> + var2_ExplicitVarSizeWithMarker_Values[q1] < var2_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..10)]), + and([q2 > var2_ExplicitVarSizeWithMarker_Marker -> var2_ExplicitVarSizeWithMarker_Values[q2] = -4 + | q2 : int(1..11)]), + and([var2_ExplicitVarSizeWithDummy[q4] < var2_ExplicitVarSizeWithDummy[q4 + 1] \/ + var2_ExplicitVarSizeWithDummy[q4] = 6 + | q4 : int(1..10)]), + and([var2_ExplicitVarSizeWithDummy[q5] = 6 -> var2_ExplicitVarSizeWithDummy[q5 + 1] = 6 | q5 : int(1..10)]), + and([var2_ExplicitVarSizeWithDummy[q9] != 6 -> + or([q11 <= var2_ExplicitVarSizeWithMarker_Marker /\ + var2_ExplicitVarSizeWithMarker_Values[q11] = var2_ExplicitVarSizeWithDummy[q9] + | q11 : int(1..11)]) + | q9 : int(1..11)]), + and([q13 <= var2_ExplicitVarSizeWithMarker_Marker -> + or([var2_ExplicitVarSizeWithDummy[q15] != 6 /\ + var2_ExplicitVarSizeWithDummy[q15] = var2_ExplicitVarSizeWithMarker_Values[q13] + | q15 : int(1..11)]) + | q13 : int(1..11)]) + diff --git a/tests/exhaustive/autogen/gen32/expected/model_3_2_4.eprime b/tests/exhaustive/autogen/gen32/expected/model_3_2_4.eprime new file mode 100644 index 0000000000..0a6285920a --- /dev/null +++ b/tests/exhaustive/autogen/gen32/expected/model_3_2_4.eprime @@ -0,0 +1,69 @@ +language ESSENCE' 1.0 + +letting let1 be -4 +find var2_ExplicitVarSizeWithMarker_Marker: int(0..11) +find var2_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..11)] of int(-4..5, 2) +find var2_ExplicitVarSizeWithDummy: matrix indexed by [int(1..11)] of int(-4..5, 2, 6) +find var2_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..11)] of bool +find var2_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..11)] of int(-4..5, 2) +branching on + [var2_ExplicitVarSizeWithFlags_Flags, var2_ExplicitVarSizeWithFlags_Values, var2_ExplicitVarSizeWithMarker_Marker, + var2_ExplicitVarSizeWithMarker_Values, var2_ExplicitVarSizeWithDummy] +such that + or([q38 <= var2_ExplicitVarSizeWithMarker_Marker /\ + !or([var2_ExplicitVarSizeWithDummy[q40] != 6 /\ + var2_ExplicitVarSizeWithDummy[q40] = var2_ExplicitVarSizeWithMarker_Values[q38] + | q40 : int(1..11)]) + | q38 : int(1..11)]) + \/ + or([var2_ExplicitVarSizeWithDummy[q41] != 6 /\ + !or([q43 <= var2_ExplicitVarSizeWithMarker_Marker /\ + var2_ExplicitVarSizeWithMarker_Values[q43] = var2_ExplicitVarSizeWithDummy[q41] + | q43 : int(1..11)]) + | q41 : int(1..11)]), + and([q1 + 1 <= var2_ExplicitVarSizeWithMarker_Marker -> + var2_ExplicitVarSizeWithMarker_Values[q1] < var2_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..10)]), + and([q2 > var2_ExplicitVarSizeWithMarker_Marker -> var2_ExplicitVarSizeWithMarker_Values[q2] = -4 + | q2 : int(1..11)]), + and([var2_ExplicitVarSizeWithDummy[q4] < var2_ExplicitVarSizeWithDummy[q4 + 1] \/ + var2_ExplicitVarSizeWithDummy[q4] = 6 + | q4 : int(1..10)]), + and([var2_ExplicitVarSizeWithDummy[q5] = 6 -> var2_ExplicitVarSizeWithDummy[q5 + 1] = 6 | q5 : int(1..10)]), + and([var2_ExplicitVarSizeWithDummy[q9] != 6 -> + or([q11 <= var2_ExplicitVarSizeWithMarker_Marker /\ + var2_ExplicitVarSizeWithMarker_Values[q11] = var2_ExplicitVarSizeWithDummy[q9] + | q11 : int(1..11)]) + | q9 : int(1..11)]), + and([q13 <= var2_ExplicitVarSizeWithMarker_Marker -> + or([var2_ExplicitVarSizeWithDummy[q15] != 6 /\ + var2_ExplicitVarSizeWithDummy[q15] = var2_ExplicitVarSizeWithMarker_Values[q13] + | q15 : int(1..11)]) + | q13 : int(1..11)]), + and([var2_ExplicitVarSizeWithFlags_Flags[q16 + 1] -> + var2_ExplicitVarSizeWithFlags_Values[q16] < var2_ExplicitVarSizeWithFlags_Values[q16 + 1] + | q16 : int(1..10)]), + and([var2_ExplicitVarSizeWithFlags_Flags[q17] = false -> var2_ExplicitVarSizeWithFlags_Values[q17] = -4 + | q17 : int(1..11)]), + and([var2_ExplicitVarSizeWithFlags_Flags[q18 + 1] -> var2_ExplicitVarSizeWithFlags_Flags[q18] | q18 : int(1..10)]), + and([var2_ExplicitVarSizeWithFlags_Flags[q22] -> + or([q24 <= var2_ExplicitVarSizeWithMarker_Marker /\ + var2_ExplicitVarSizeWithMarker_Values[q24] = var2_ExplicitVarSizeWithFlags_Values[q22] + | q24 : int(1..11)]) + | q22 : int(1..11)]), + and([q26 <= var2_ExplicitVarSizeWithMarker_Marker -> + or([var2_ExplicitVarSizeWithFlags_Flags[q28] /\ + var2_ExplicitVarSizeWithFlags_Values[q28] = var2_ExplicitVarSizeWithMarker_Values[q26] + | q28 : int(1..11)]) + | q26 : int(1..11)]), + and([var2_ExplicitVarSizeWithFlags_Flags[q30] -> + or([var2_ExplicitVarSizeWithDummy[q32] != 6 /\ + var2_ExplicitVarSizeWithDummy[q32] = var2_ExplicitVarSizeWithFlags_Values[q30] + | q32 : int(1..11)]) + | q30 : int(1..11)]), + and([var2_ExplicitVarSizeWithDummy[q34] != 6 -> + or([var2_ExplicitVarSizeWithFlags_Flags[q36] /\ + var2_ExplicitVarSizeWithFlags_Values[q36] = var2_ExplicitVarSizeWithDummy[q34] + | q36 : int(1..11)]) + | q34 : int(1..11)]) + diff --git a/tests/exhaustive/autogen/gen32/expected/model_3_3_1.eprime b/tests/exhaustive/autogen/gen32/expected/model_3_3_1.eprime new file mode 100644 index 0000000000..da12cb2407 --- /dev/null +++ b/tests/exhaustive/autogen/gen32/expected/model_3_3_1.eprime @@ -0,0 +1,31 @@ +language ESSENCE' 1.0 + +letting let1 be -4 +find var2_ExplicitVarSizeWithMarker_Marker: int(0..11) +find var2_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..11)] of int(-4..5, 2) +find var2_Occurrence: matrix indexed by [int(-4..5, 2)] of bool +branching on [var2_Occurrence, var2_ExplicitVarSizeWithMarker_Marker, var2_ExplicitVarSizeWithMarker_Values] +such that + or([q6 <= var2_ExplicitVarSizeWithMarker_Marker /\ + !or([q8 <= var2_ExplicitVarSizeWithMarker_Marker /\ + var2_ExplicitVarSizeWithMarker_Values[q8] = var2_ExplicitVarSizeWithMarker_Values[q6] + | q8 : int(1..11)]) + | q6 : int(1..11)]) + \/ + or([q9 <= var2_ExplicitVarSizeWithMarker_Marker /\ + !or([q11 <= var2_ExplicitVarSizeWithMarker_Marker /\ + var2_ExplicitVarSizeWithMarker_Values[q11] = var2_ExplicitVarSizeWithMarker_Values[q9] + | q11 : int(1..11)]) + | q9 : int(1..11)]), + and([q1 + 1 <= var2_ExplicitVarSizeWithMarker_Marker -> + var2_ExplicitVarSizeWithMarker_Values[q1] < var2_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..10)]), + and([q2 > var2_ExplicitVarSizeWithMarker_Marker -> var2_ExplicitVarSizeWithMarker_Values[q2] = -4 + | q2 : int(1..11)]), + and([var2_Occurrence[q12] -> + or([q14 <= var2_ExplicitVarSizeWithMarker_Marker /\ var2_ExplicitVarSizeWithMarker_Values[q14] = q12 + | q14 : int(1..11)]) + | q12 : int(-4..5, 2)]), + and([q16 <= var2_ExplicitVarSizeWithMarker_Marker -> var2_Occurrence[var2_ExplicitVarSizeWithMarker_Values[q16]] + | q16 : int(1..11)]) + diff --git a/tests/exhaustive/autogen/gen32/expected/model_3_3_2.eprime b/tests/exhaustive/autogen/gen32/expected/model_3_3_2.eprime new file mode 100644 index 0000000000..4b5f1c3017 --- /dev/null +++ b/tests/exhaustive/autogen/gen32/expected/model_3_3_2.eprime @@ -0,0 +1,40 @@ +language ESSENCE' 1.0 + +letting let1 be -4 +find var2_ExplicitVarSizeWithMarker_Marker: int(0..11) +find var2_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..11)] of int(-4..5, 2) +find var2_ExplicitVarSizeWithDummy: matrix indexed by [int(1..11)] of int(-4..5, 2, 6) +branching on + [var2_ExplicitVarSizeWithDummy, var2_ExplicitVarSizeWithMarker_Marker, var2_ExplicitVarSizeWithMarker_Values] +such that + or([q17 <= var2_ExplicitVarSizeWithMarker_Marker /\ + !or([q19 <= var2_ExplicitVarSizeWithMarker_Marker /\ + var2_ExplicitVarSizeWithMarker_Values[q19] = var2_ExplicitVarSizeWithMarker_Values[q17] + | q19 : int(1..11)]) + | q17 : int(1..11)]) + \/ + or([q20 <= var2_ExplicitVarSizeWithMarker_Marker /\ + !or([q22 <= var2_ExplicitVarSizeWithMarker_Marker /\ + var2_ExplicitVarSizeWithMarker_Values[q22] = var2_ExplicitVarSizeWithMarker_Values[q20] + | q22 : int(1..11)]) + | q20 : int(1..11)]), + and([q1 + 1 <= var2_ExplicitVarSizeWithMarker_Marker -> + var2_ExplicitVarSizeWithMarker_Values[q1] < var2_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..10)]), + and([q2 > var2_ExplicitVarSizeWithMarker_Marker -> var2_ExplicitVarSizeWithMarker_Values[q2] = -4 + | q2 : int(1..11)]), + and([var2_ExplicitVarSizeWithDummy[q4] < var2_ExplicitVarSizeWithDummy[q4 + 1] \/ + var2_ExplicitVarSizeWithDummy[q4] = 6 + | q4 : int(1..10)]), + and([var2_ExplicitVarSizeWithDummy[q5] = 6 -> var2_ExplicitVarSizeWithDummy[q5 + 1] = 6 | q5 : int(1..10)]), + and([var2_ExplicitVarSizeWithDummy[q9] != 6 -> + or([q11 <= var2_ExplicitVarSizeWithMarker_Marker /\ + var2_ExplicitVarSizeWithMarker_Values[q11] = var2_ExplicitVarSizeWithDummy[q9] + | q11 : int(1..11)]) + | q9 : int(1..11)]), + and([q13 <= var2_ExplicitVarSizeWithMarker_Marker -> + or([var2_ExplicitVarSizeWithDummy[q15] != 6 /\ + var2_ExplicitVarSizeWithDummy[q15] = var2_ExplicitVarSizeWithMarker_Values[q13] + | q15 : int(1..11)]) + | q13 : int(1..11)]) + diff --git a/tests/exhaustive/autogen/gen32/expected/model_3_3_3.eprime b/tests/exhaustive/autogen/gen32/expected/model_3_3_3.eprime new file mode 100644 index 0000000000..d30539480c --- /dev/null +++ b/tests/exhaustive/autogen/gen32/expected/model_3_3_3.eprime @@ -0,0 +1,24 @@ +language ESSENCE' 1.0 + +letting let1 be -4 +find var2_ExplicitVarSizeWithMarker_Marker: int(0..11) +find var2_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..11)] of int(-4..5, 2) +branching on [var2_ExplicitVarSizeWithMarker_Marker, var2_ExplicitVarSizeWithMarker_Values] +such that + or([q5 <= var2_ExplicitVarSizeWithMarker_Marker /\ + !or([q7 <= var2_ExplicitVarSizeWithMarker_Marker /\ + var2_ExplicitVarSizeWithMarker_Values[q7] = var2_ExplicitVarSizeWithMarker_Values[q5] + | q7 : int(1..11)]) + | q5 : int(1..11)]) + \/ + or([q8 <= var2_ExplicitVarSizeWithMarker_Marker /\ + !or([q10 <= var2_ExplicitVarSizeWithMarker_Marker /\ + var2_ExplicitVarSizeWithMarker_Values[q10] = var2_ExplicitVarSizeWithMarker_Values[q8] + | q10 : int(1..11)]) + | q8 : int(1..11)]), + and([q1 + 1 <= var2_ExplicitVarSizeWithMarker_Marker -> + var2_ExplicitVarSizeWithMarker_Values[q1] < var2_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..10)]), + and([q2 > var2_ExplicitVarSizeWithMarker_Marker -> var2_ExplicitVarSizeWithMarker_Values[q2] = -4 + | q2 : int(1..11)]) + diff --git a/tests/exhaustive/autogen/gen32/expected/model_3_3_4.eprime b/tests/exhaustive/autogen/gen32/expected/model_3_3_4.eprime new file mode 100644 index 0000000000..9cb3e7b96b --- /dev/null +++ b/tests/exhaustive/autogen/gen32/expected/model_3_3_4.eprime @@ -0,0 +1,44 @@ +language ESSENCE' 1.0 + +letting let1 be -4 +find var2_ExplicitVarSizeWithMarker_Marker: int(0..11) +find var2_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..11)] of int(-4..5, 2) +find var2_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..11)] of bool +find var2_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..11)] of int(-4..5, 2) +branching on + [var2_ExplicitVarSizeWithFlags_Flags, var2_ExplicitVarSizeWithFlags_Values, var2_ExplicitVarSizeWithMarker_Marker, + var2_ExplicitVarSizeWithMarker_Values] +such that + or([q18 <= var2_ExplicitVarSizeWithMarker_Marker /\ + !or([q20 <= var2_ExplicitVarSizeWithMarker_Marker /\ + var2_ExplicitVarSizeWithMarker_Values[q20] = var2_ExplicitVarSizeWithMarker_Values[q18] + | q20 : int(1..11)]) + | q18 : int(1..11)]) + \/ + or([q21 <= var2_ExplicitVarSizeWithMarker_Marker /\ + !or([q23 <= var2_ExplicitVarSizeWithMarker_Marker /\ + var2_ExplicitVarSizeWithMarker_Values[q23] = var2_ExplicitVarSizeWithMarker_Values[q21] + | q23 : int(1..11)]) + | q21 : int(1..11)]), + and([q1 + 1 <= var2_ExplicitVarSizeWithMarker_Marker -> + var2_ExplicitVarSizeWithMarker_Values[q1] < var2_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..10)]), + and([q2 > var2_ExplicitVarSizeWithMarker_Marker -> var2_ExplicitVarSizeWithMarker_Values[q2] = -4 + | q2 : int(1..11)]), + and([var2_ExplicitVarSizeWithFlags_Flags[q4 + 1] -> + var2_ExplicitVarSizeWithFlags_Values[q4] < var2_ExplicitVarSizeWithFlags_Values[q4 + 1] + | q4 : int(1..10)]), + and([var2_ExplicitVarSizeWithFlags_Flags[q5] = false -> var2_ExplicitVarSizeWithFlags_Values[q5] = -4 + | q5 : int(1..11)]), + and([var2_ExplicitVarSizeWithFlags_Flags[q6 + 1] -> var2_ExplicitVarSizeWithFlags_Flags[q6] | q6 : int(1..10)]), + and([var2_ExplicitVarSizeWithFlags_Flags[q10] -> + or([q12 <= var2_ExplicitVarSizeWithMarker_Marker /\ + var2_ExplicitVarSizeWithMarker_Values[q12] = var2_ExplicitVarSizeWithFlags_Values[q10] + | q12 : int(1..11)]) + | q10 : int(1..11)]), + and([q14 <= var2_ExplicitVarSizeWithMarker_Marker -> + or([var2_ExplicitVarSizeWithFlags_Flags[q16] /\ + var2_ExplicitVarSizeWithFlags_Values[q16] = var2_ExplicitVarSizeWithMarker_Values[q14] + | q16 : int(1..11)]) + | q14 : int(1..11)]) + diff --git a/tests/exhaustive/autogen/gen32/expected/model_3_4_1.eprime b/tests/exhaustive/autogen/gen32/expected/model_3_4_1.eprime new file mode 100644 index 0000000000..4ec1f855f0 --- /dev/null +++ b/tests/exhaustive/autogen/gen32/expected/model_3_4_1.eprime @@ -0,0 +1,57 @@ +language ESSENCE' 1.0 + +letting let1 be -4 +find var2_ExplicitVarSizeWithMarker_Marker: int(0..11) +find var2_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..11)] of int(-4..5, 2) +find var2_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..11)] of bool +find var2_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..11)] of int(-4..5, 2) +find var2_Occurrence: matrix indexed by [int(-4..5, 2)] of bool +branching on + [var2_Occurrence, var2_ExplicitVarSizeWithMarker_Marker, var2_ExplicitVarSizeWithMarker_Values, + var2_ExplicitVarSizeWithFlags_Flags, var2_ExplicitVarSizeWithFlags_Values] +such that + or([q19 <= var2_ExplicitVarSizeWithMarker_Marker /\ + !or([var2_ExplicitVarSizeWithFlags_Flags[q21] /\ + var2_ExplicitVarSizeWithFlags_Values[q21] = var2_ExplicitVarSizeWithMarker_Values[q19] + | q21 : int(1..11)]) + | q19 : int(1..11)]) + \/ + or([var2_ExplicitVarSizeWithFlags_Flags[q22] /\ + !or([q24 <= var2_ExplicitVarSizeWithMarker_Marker /\ + var2_ExplicitVarSizeWithMarker_Values[q24] = var2_ExplicitVarSizeWithFlags_Values[q22] + | q24 : int(1..11)]) + | q22 : int(1..11)]), + and([q1 + 1 <= var2_ExplicitVarSizeWithMarker_Marker -> + var2_ExplicitVarSizeWithMarker_Values[q1] < var2_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..10)]), + and([q2 > var2_ExplicitVarSizeWithMarker_Marker -> var2_ExplicitVarSizeWithMarker_Values[q2] = -4 + | q2 : int(1..11)]), + and([var2_ExplicitVarSizeWithFlags_Flags[q4 + 1] -> + var2_ExplicitVarSizeWithFlags_Values[q4] < var2_ExplicitVarSizeWithFlags_Values[q4 + 1] + | q4 : int(1..10)]), + and([var2_ExplicitVarSizeWithFlags_Flags[q5] = false -> var2_ExplicitVarSizeWithFlags_Values[q5] = -4 + | q5 : int(1..11)]), + and([var2_ExplicitVarSizeWithFlags_Flags[q6 + 1] -> var2_ExplicitVarSizeWithFlags_Flags[q6] | q6 : int(1..10)]), + and([var2_ExplicitVarSizeWithFlags_Flags[q10] -> + or([q12 <= var2_ExplicitVarSizeWithMarker_Marker /\ + var2_ExplicitVarSizeWithMarker_Values[q12] = var2_ExplicitVarSizeWithFlags_Values[q10] + | q12 : int(1..11)]) + | q10 : int(1..11)]), + and([q14 <= var2_ExplicitVarSizeWithMarker_Marker -> + or([var2_ExplicitVarSizeWithFlags_Flags[q16] /\ + var2_ExplicitVarSizeWithFlags_Values[q16] = var2_ExplicitVarSizeWithMarker_Values[q14] + | q16 : int(1..11)]) + | q14 : int(1..11)]), + and([var2_Occurrence[q25] -> + or([q27 <= var2_ExplicitVarSizeWithMarker_Marker /\ var2_ExplicitVarSizeWithMarker_Values[q27] = q25 + | q27 : int(1..11)]) + | q25 : int(-4..5, 2)]), + and([q29 <= var2_ExplicitVarSizeWithMarker_Marker -> var2_Occurrence[var2_ExplicitVarSizeWithMarker_Values[q29]] + | q29 : int(1..11)]), + and([var2_Occurrence[q30] -> + or([var2_ExplicitVarSizeWithFlags_Flags[q32] /\ var2_ExplicitVarSizeWithFlags_Values[q32] = q30 + | q32 : int(1..11)]) + | q30 : int(-4..5, 2)]), + and([var2_ExplicitVarSizeWithFlags_Flags[q34] -> var2_Occurrence[var2_ExplicitVarSizeWithFlags_Values[q34]] + | q34 : int(1..11)]) + diff --git a/tests/exhaustive/autogen/gen32/expected/model_3_4_2.eprime b/tests/exhaustive/autogen/gen32/expected/model_3_4_2.eprime new file mode 100644 index 0000000000..df59cf3084 --- /dev/null +++ b/tests/exhaustive/autogen/gen32/expected/model_3_4_2.eprime @@ -0,0 +1,69 @@ +language ESSENCE' 1.0 + +letting let1 be -4 +find var2_ExplicitVarSizeWithMarker_Marker: int(0..11) +find var2_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..11)] of int(-4..5, 2) +find var2_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..11)] of bool +find var2_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..11)] of int(-4..5, 2) +find var2_ExplicitVarSizeWithDummy: matrix indexed by [int(1..11)] of int(-4..5, 2, 6) +branching on + [var2_ExplicitVarSizeWithDummy, var2_ExplicitVarSizeWithMarker_Marker, var2_ExplicitVarSizeWithMarker_Values, + var2_ExplicitVarSizeWithFlags_Flags, var2_ExplicitVarSizeWithFlags_Values] +such that + or([q38 <= var2_ExplicitVarSizeWithMarker_Marker /\ + !or([var2_ExplicitVarSizeWithFlags_Flags[q40] /\ + var2_ExplicitVarSizeWithFlags_Values[q40] = var2_ExplicitVarSizeWithMarker_Values[q38] + | q40 : int(1..11)]) + | q38 : int(1..11)]) + \/ + or([var2_ExplicitVarSizeWithFlags_Flags[q41] /\ + !or([q43 <= var2_ExplicitVarSizeWithMarker_Marker /\ + var2_ExplicitVarSizeWithMarker_Values[q43] = var2_ExplicitVarSizeWithFlags_Values[q41] + | q43 : int(1..11)]) + | q41 : int(1..11)]), + and([q1 + 1 <= var2_ExplicitVarSizeWithMarker_Marker -> + var2_ExplicitVarSizeWithMarker_Values[q1] < var2_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..10)]), + and([q2 > var2_ExplicitVarSizeWithMarker_Marker -> var2_ExplicitVarSizeWithMarker_Values[q2] = -4 + | q2 : int(1..11)]), + and([var2_ExplicitVarSizeWithFlags_Flags[q4 + 1] -> + var2_ExplicitVarSizeWithFlags_Values[q4] < var2_ExplicitVarSizeWithFlags_Values[q4 + 1] + | q4 : int(1..10)]), + and([var2_ExplicitVarSizeWithFlags_Flags[q5] = false -> var2_ExplicitVarSizeWithFlags_Values[q5] = -4 + | q5 : int(1..11)]), + and([var2_ExplicitVarSizeWithFlags_Flags[q6 + 1] -> var2_ExplicitVarSizeWithFlags_Flags[q6] | q6 : int(1..10)]), + and([var2_ExplicitVarSizeWithFlags_Flags[q10] -> + or([q12 <= var2_ExplicitVarSizeWithMarker_Marker /\ + var2_ExplicitVarSizeWithMarker_Values[q12] = var2_ExplicitVarSizeWithFlags_Values[q10] + | q12 : int(1..11)]) + | q10 : int(1..11)]), + and([q14 <= var2_ExplicitVarSizeWithMarker_Marker -> + or([var2_ExplicitVarSizeWithFlags_Flags[q16] /\ + var2_ExplicitVarSizeWithFlags_Values[q16] = var2_ExplicitVarSizeWithMarker_Values[q14] + | q16 : int(1..11)]) + | q14 : int(1..11)]), + and([var2_ExplicitVarSizeWithDummy[q17] < var2_ExplicitVarSizeWithDummy[q17 + 1] \/ + var2_ExplicitVarSizeWithDummy[q17] = 6 + | q17 : int(1..10)]), + and([var2_ExplicitVarSizeWithDummy[q18] = 6 -> var2_ExplicitVarSizeWithDummy[q18 + 1] = 6 | q18 : int(1..10)]), + and([var2_ExplicitVarSizeWithDummy[q22] != 6 -> + or([q24 <= var2_ExplicitVarSizeWithMarker_Marker /\ + var2_ExplicitVarSizeWithMarker_Values[q24] = var2_ExplicitVarSizeWithDummy[q22] + | q24 : int(1..11)]) + | q22 : int(1..11)]), + and([q26 <= var2_ExplicitVarSizeWithMarker_Marker -> + or([var2_ExplicitVarSizeWithDummy[q28] != 6 /\ + var2_ExplicitVarSizeWithDummy[q28] = var2_ExplicitVarSizeWithMarker_Values[q26] + | q28 : int(1..11)]) + | q26 : int(1..11)]), + and([var2_ExplicitVarSizeWithDummy[q30] != 6 -> + or([var2_ExplicitVarSizeWithFlags_Flags[q32] /\ + var2_ExplicitVarSizeWithFlags_Values[q32] = var2_ExplicitVarSizeWithDummy[q30] + | q32 : int(1..11)]) + | q30 : int(1..11)]), + and([var2_ExplicitVarSizeWithFlags_Flags[q34] -> + or([var2_ExplicitVarSizeWithDummy[q36] != 6 /\ + var2_ExplicitVarSizeWithDummy[q36] = var2_ExplicitVarSizeWithFlags_Values[q34] + | q36 : int(1..11)]) + | q34 : int(1..11)]) + diff --git a/tests/exhaustive/autogen/gen32/expected/model_3_4_3.eprime b/tests/exhaustive/autogen/gen32/expected/model_3_4_3.eprime new file mode 100644 index 0000000000..4785a0c0ec --- /dev/null +++ b/tests/exhaustive/autogen/gen32/expected/model_3_4_3.eprime @@ -0,0 +1,44 @@ +language ESSENCE' 1.0 + +letting let1 be -4 +find var2_ExplicitVarSizeWithMarker_Marker: int(0..11) +find var2_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..11)] of int(-4..5, 2) +find var2_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..11)] of bool +find var2_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..11)] of int(-4..5, 2) +branching on + [var2_ExplicitVarSizeWithFlags_Flags, var2_ExplicitVarSizeWithFlags_Values, var2_ExplicitVarSizeWithMarker_Marker, + var2_ExplicitVarSizeWithMarker_Values] +such that + or([q18 <= var2_ExplicitVarSizeWithMarker_Marker /\ + !or([var2_ExplicitVarSizeWithFlags_Flags[q20] /\ + var2_ExplicitVarSizeWithFlags_Values[q20] = var2_ExplicitVarSizeWithMarker_Values[q18] + | q20 : int(1..11)]) + | q18 : int(1..11)]) + \/ + or([var2_ExplicitVarSizeWithFlags_Flags[q21] /\ + !or([q23 <= var2_ExplicitVarSizeWithMarker_Marker /\ + var2_ExplicitVarSizeWithMarker_Values[q23] = var2_ExplicitVarSizeWithFlags_Values[q21] + | q23 : int(1..11)]) + | q21 : int(1..11)]), + and([q1 + 1 <= var2_ExplicitVarSizeWithMarker_Marker -> + var2_ExplicitVarSizeWithMarker_Values[q1] < var2_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..10)]), + and([q2 > var2_ExplicitVarSizeWithMarker_Marker -> var2_ExplicitVarSizeWithMarker_Values[q2] = -4 + | q2 : int(1..11)]), + and([var2_ExplicitVarSizeWithFlags_Flags[q4 + 1] -> + var2_ExplicitVarSizeWithFlags_Values[q4] < var2_ExplicitVarSizeWithFlags_Values[q4 + 1] + | q4 : int(1..10)]), + and([var2_ExplicitVarSizeWithFlags_Flags[q5] = false -> var2_ExplicitVarSizeWithFlags_Values[q5] = -4 + | q5 : int(1..11)]), + and([var2_ExplicitVarSizeWithFlags_Flags[q6 + 1] -> var2_ExplicitVarSizeWithFlags_Flags[q6] | q6 : int(1..10)]), + and([var2_ExplicitVarSizeWithFlags_Flags[q10] -> + or([q12 <= var2_ExplicitVarSizeWithMarker_Marker /\ + var2_ExplicitVarSizeWithMarker_Values[q12] = var2_ExplicitVarSizeWithFlags_Values[q10] + | q12 : int(1..11)]) + | q10 : int(1..11)]), + and([q14 <= var2_ExplicitVarSizeWithMarker_Marker -> + or([var2_ExplicitVarSizeWithFlags_Flags[q16] /\ + var2_ExplicitVarSizeWithFlags_Values[q16] = var2_ExplicitVarSizeWithMarker_Values[q14] + | q16 : int(1..11)]) + | q14 : int(1..11)]) + diff --git a/tests/exhaustive/autogen/gen32/expected/model_4_1_1.eprime b/tests/exhaustive/autogen/gen32/expected/model_4_1_1.eprime new file mode 100644 index 0000000000..5c6854637e --- /dev/null +++ b/tests/exhaustive/autogen/gen32/expected/model_4_1_1.eprime @@ -0,0 +1,28 @@ +language ESSENCE' 1.0 + +letting let1 be -4 +find var2_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..11)] of bool +find var2_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..11)] of int(-4..5, 2) +find var2_Occurrence: matrix indexed by [int(-4..5, 2)] of bool +branching on [var2_Occurrence, var2_ExplicitVarSizeWithFlags_Flags, var2_ExplicitVarSizeWithFlags_Values] +such that + or([var2_ExplicitVarSizeWithFlags_Flags[q8] /\ !var2_Occurrence[var2_ExplicitVarSizeWithFlags_Values[q8]] + | q8 : int(1..11)]) + \/ + or([var2_Occurrence[q7] /\ + !or([var2_ExplicitVarSizeWithFlags_Flags[q10] /\ var2_ExplicitVarSizeWithFlags_Values[q10] = q7 + | q10 : int(1..11)]) + | q7 : int(-4..5, 2)]), + and([var2_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + var2_ExplicitVarSizeWithFlags_Values[q1] < var2_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..10)]), + and([var2_ExplicitVarSizeWithFlags_Flags[q2] = false -> var2_ExplicitVarSizeWithFlags_Values[q2] = -4 + | q2 : int(1..11)]), + and([var2_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> var2_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..10)]), + and([var2_Occurrence[q11] -> + or([var2_ExplicitVarSizeWithFlags_Flags[q13] /\ var2_ExplicitVarSizeWithFlags_Values[q13] = q11 + | q13 : int(1..11)]) + | q11 : int(-4..5, 2)]), + and([var2_ExplicitVarSizeWithFlags_Flags[q15] -> var2_Occurrence[var2_ExplicitVarSizeWithFlags_Values[q15]] + | q15 : int(1..11)]) + diff --git a/tests/exhaustive/autogen/gen32/expected/model_4_1_2.eprime b/tests/exhaustive/autogen/gen32/expected/model_4_1_2.eprime new file mode 100644 index 0000000000..0f8965d6c5 --- /dev/null +++ b/tests/exhaustive/autogen/gen32/expected/model_4_1_2.eprime @@ -0,0 +1,50 @@ +language ESSENCE' 1.0 + +letting let1 be -4 +find var2_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..11)] of bool +find var2_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..11)] of int(-4..5, 2) +find var2_Occurrence: matrix indexed by [int(-4..5, 2)] of bool +find var2_ExplicitVarSizeWithDummy: matrix indexed by [int(1..11)] of int(-4..5, 2, 6) +branching on + [var2_ExplicitVarSizeWithDummy, var2_ExplicitVarSizeWithFlags_Flags, var2_ExplicitVarSizeWithFlags_Values, + var2_Occurrence] +such that + or([var2_ExplicitVarSizeWithFlags_Flags[q25] /\ !var2_Occurrence[var2_ExplicitVarSizeWithFlags_Values[q25]] + | q25 : int(1..11)]) + \/ + or([var2_Occurrence[q24] /\ + !or([var2_ExplicitVarSizeWithFlags_Flags[q27] /\ var2_ExplicitVarSizeWithFlags_Values[q27] = q24 + | q27 : int(1..11)]) + | q24 : int(-4..5, 2)]), + and([var2_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + var2_ExplicitVarSizeWithFlags_Values[q1] < var2_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..10)]), + and([var2_ExplicitVarSizeWithFlags_Flags[q2] = false -> var2_ExplicitVarSizeWithFlags_Values[q2] = -4 + | q2 : int(1..11)]), + and([var2_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> var2_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..10)]), + and([var2_Occurrence[q28] -> + or([var2_ExplicitVarSizeWithFlags_Flags[q30] /\ var2_ExplicitVarSizeWithFlags_Values[q30] = q28 + | q30 : int(1..11)]) + | q28 : int(-4..5, 2)]), + and([var2_ExplicitVarSizeWithFlags_Flags[q32] -> var2_Occurrence[var2_ExplicitVarSizeWithFlags_Values[q32]] + | q32 : int(1..11)]), + and([var2_ExplicitVarSizeWithDummy[q7] < var2_ExplicitVarSizeWithDummy[q7 + 1] \/ + var2_ExplicitVarSizeWithDummy[q7] = 6 + | q7 : int(1..10)]), + and([var2_ExplicitVarSizeWithDummy[q8] = 6 -> var2_ExplicitVarSizeWithDummy[q8 + 1] = 6 | q8 : int(1..10)]), + and([var2_ExplicitVarSizeWithDummy[q12] != 6 -> + or([var2_ExplicitVarSizeWithFlags_Flags[q14] /\ + var2_ExplicitVarSizeWithFlags_Values[q14] = var2_ExplicitVarSizeWithDummy[q12] + | q14 : int(1..11)]) + | q12 : int(1..11)]), + and([var2_ExplicitVarSizeWithFlags_Flags[q16] -> + or([var2_ExplicitVarSizeWithDummy[q18] != 6 /\ + var2_ExplicitVarSizeWithDummy[q18] = var2_ExplicitVarSizeWithFlags_Values[q16] + | q18 : int(1..11)]) + | q16 : int(1..11)]), + and([var2_ExplicitVarSizeWithDummy[q20] != 6 -> var2_Occurrence[var2_ExplicitVarSizeWithDummy[q20]] + | q20 : int(1..11)]), + and([var2_Occurrence[q21] -> + or([var2_ExplicitVarSizeWithDummy[q23] != 6 /\ var2_ExplicitVarSizeWithDummy[q23] = q21 | q23 : int(1..11)]) + | q21 : int(-4..5, 2)]) + diff --git a/tests/exhaustive/autogen/gen32/expected/model_4_1_3.eprime b/tests/exhaustive/autogen/gen32/expected/model_4_1_3.eprime new file mode 100644 index 0000000000..6fff70a69f --- /dev/null +++ b/tests/exhaustive/autogen/gen32/expected/model_4_1_3.eprime @@ -0,0 +1,53 @@ +language ESSENCE' 1.0 + +letting let1 be -4 +find var2_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..11)] of bool +find var2_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..11)] of int(-4..5, 2) +find var2_Occurrence: matrix indexed by [int(-4..5, 2)] of bool +find var2_ExplicitVarSizeWithMarker_Marker: int(0..11) +find var2_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..11)] of int(-4..5, 2) +branching on + [var2_ExplicitVarSizeWithMarker_Marker, var2_ExplicitVarSizeWithMarker_Values, var2_ExplicitVarSizeWithFlags_Flags, + var2_ExplicitVarSizeWithFlags_Values, var2_Occurrence] +such that + or([var2_ExplicitVarSizeWithFlags_Flags[q24] /\ !var2_Occurrence[var2_ExplicitVarSizeWithFlags_Values[q24]] + | q24 : int(1..11)]) + \/ + or([var2_Occurrence[q23] /\ + !or([var2_ExplicitVarSizeWithFlags_Flags[q26] /\ var2_ExplicitVarSizeWithFlags_Values[q26] = q23 + | q26 : int(1..11)]) + | q23 : int(-4..5, 2)]), + and([var2_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + var2_ExplicitVarSizeWithFlags_Values[q1] < var2_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..10)]), + and([var2_ExplicitVarSizeWithFlags_Flags[q2] = false -> var2_ExplicitVarSizeWithFlags_Values[q2] = -4 + | q2 : int(1..11)]), + and([var2_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> var2_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..10)]), + and([var2_Occurrence[q27] -> + or([var2_ExplicitVarSizeWithFlags_Flags[q29] /\ var2_ExplicitVarSizeWithFlags_Values[q29] = q27 + | q29 : int(1..11)]) + | q27 : int(-4..5, 2)]), + and([var2_ExplicitVarSizeWithFlags_Flags[q31] -> var2_Occurrence[var2_ExplicitVarSizeWithFlags_Values[q31]] + | q31 : int(1..11)]), + and([q7 + 1 <= var2_ExplicitVarSizeWithMarker_Marker -> + var2_ExplicitVarSizeWithMarker_Values[q7] < var2_ExplicitVarSizeWithMarker_Values[q7 + 1] + | q7 : int(1..10)]), + and([q8 > var2_ExplicitVarSizeWithMarker_Marker -> var2_ExplicitVarSizeWithMarker_Values[q8] = -4 + | q8 : int(1..11)]), + and([q11 <= var2_ExplicitVarSizeWithMarker_Marker -> + or([var2_ExplicitVarSizeWithFlags_Flags[q13] /\ + var2_ExplicitVarSizeWithFlags_Values[q13] = var2_ExplicitVarSizeWithMarker_Values[q11] + | q13 : int(1..11)]) + | q11 : int(1..11)]), + and([var2_ExplicitVarSizeWithFlags_Flags[q15] -> + or([q17 <= var2_ExplicitVarSizeWithMarker_Marker /\ + var2_ExplicitVarSizeWithMarker_Values[q17] = var2_ExplicitVarSizeWithFlags_Values[q15] + | q17 : int(1..11)]) + | q15 : int(1..11)]), + and([q19 <= var2_ExplicitVarSizeWithMarker_Marker -> var2_Occurrence[var2_ExplicitVarSizeWithMarker_Values[q19]] + | q19 : int(1..11)]), + and([var2_Occurrence[q20] -> + or([q22 <= var2_ExplicitVarSizeWithMarker_Marker /\ var2_ExplicitVarSizeWithMarker_Values[q22] = q20 + | q22 : int(1..11)]) + | q20 : int(-4..5, 2)]) + diff --git a/tests/exhaustive/autogen/gen32/expected/model_4_2_1.eprime b/tests/exhaustive/autogen/gen32/expected/model_4_2_1.eprime new file mode 100644 index 0000000000..b7b3b2ad4a --- /dev/null +++ b/tests/exhaustive/autogen/gen32/expected/model_4_2_1.eprime @@ -0,0 +1,54 @@ +language ESSENCE' 1.0 + +letting let1 be -4 +find var2_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..11)] of bool +find var2_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..11)] of int(-4..5, 2) +find var2_ExplicitVarSizeWithDummy: matrix indexed by [int(1..11)] of int(-4..5, 2, 6) +find var2_Occurrence: matrix indexed by [int(-4..5, 2)] of bool +branching on + [var2_Occurrence, var2_ExplicitVarSizeWithFlags_Flags, var2_ExplicitVarSizeWithFlags_Values, + var2_ExplicitVarSizeWithDummy] +such that + or([var2_ExplicitVarSizeWithFlags_Flags[q20] /\ + !or([var2_ExplicitVarSizeWithDummy[q22] != 6 /\ + var2_ExplicitVarSizeWithDummy[q22] = var2_ExplicitVarSizeWithFlags_Values[q20] + | q22 : int(1..11)]) + | q20 : int(1..11)]) + \/ + or([var2_ExplicitVarSizeWithDummy[q23] != 6 /\ + !or([var2_ExplicitVarSizeWithFlags_Flags[q25] /\ + var2_ExplicitVarSizeWithFlags_Values[q25] = var2_ExplicitVarSizeWithDummy[q23] + | q25 : int(1..11)]) + | q23 : int(1..11)]), + and([var2_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + var2_ExplicitVarSizeWithFlags_Values[q1] < var2_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..10)]), + and([var2_ExplicitVarSizeWithFlags_Flags[q2] = false -> var2_ExplicitVarSizeWithFlags_Values[q2] = -4 + | q2 : int(1..11)]), + and([var2_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> var2_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..10)]), + and([var2_ExplicitVarSizeWithDummy[q6] < var2_ExplicitVarSizeWithDummy[q6 + 1] \/ + var2_ExplicitVarSizeWithDummy[q6] = 6 + | q6 : int(1..10)]), + and([var2_ExplicitVarSizeWithDummy[q7] = 6 -> var2_ExplicitVarSizeWithDummy[q7 + 1] = 6 | q7 : int(1..10)]), + and([var2_ExplicitVarSizeWithDummy[q11] != 6 -> + or([var2_ExplicitVarSizeWithFlags_Flags[q13] /\ + var2_ExplicitVarSizeWithFlags_Values[q13] = var2_ExplicitVarSizeWithDummy[q11] + | q13 : int(1..11)]) + | q11 : int(1..11)]), + and([var2_ExplicitVarSizeWithFlags_Flags[q15] -> + or([var2_ExplicitVarSizeWithDummy[q17] != 6 /\ + var2_ExplicitVarSizeWithDummy[q17] = var2_ExplicitVarSizeWithFlags_Values[q15] + | q17 : int(1..11)]) + | q15 : int(1..11)]), + and([var2_Occurrence[q26] -> + or([var2_ExplicitVarSizeWithFlags_Flags[q28] /\ var2_ExplicitVarSizeWithFlags_Values[q28] = q26 + | q28 : int(1..11)]) + | q26 : int(-4..5, 2)]), + and([var2_ExplicitVarSizeWithFlags_Flags[q30] -> var2_Occurrence[var2_ExplicitVarSizeWithFlags_Values[q30]] + | q30 : int(1..11)]), + and([var2_Occurrence[q31] -> + or([var2_ExplicitVarSizeWithDummy[q33] != 6 /\ var2_ExplicitVarSizeWithDummy[q33] = q31 | q33 : int(1..11)]) + | q31 : int(-4..5, 2)]), + and([var2_ExplicitVarSizeWithDummy[q35] != 6 -> var2_Occurrence[var2_ExplicitVarSizeWithDummy[q35]] + | q35 : int(1..11)]) + diff --git a/tests/exhaustive/autogen/gen32/expected/model_4_2_2.eprime b/tests/exhaustive/autogen/gen32/expected/model_4_2_2.eprime new file mode 100644 index 0000000000..9a094995de --- /dev/null +++ b/tests/exhaustive/autogen/gen32/expected/model_4_2_2.eprime @@ -0,0 +1,40 @@ +language ESSENCE' 1.0 + +letting let1 be -4 +find var2_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..11)] of bool +find var2_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..11)] of int(-4..5, 2) +find var2_ExplicitVarSizeWithDummy: matrix indexed by [int(1..11)] of int(-4..5, 2, 6) +branching on [var2_ExplicitVarSizeWithDummy, var2_ExplicitVarSizeWithFlags_Flags, var2_ExplicitVarSizeWithFlags_Values] +such that + or([var2_ExplicitVarSizeWithFlags_Flags[q19] /\ + !or([var2_ExplicitVarSizeWithDummy[q21] != 6 /\ + var2_ExplicitVarSizeWithDummy[q21] = var2_ExplicitVarSizeWithFlags_Values[q19] + | q21 : int(1..11)]) + | q19 : int(1..11)]) + \/ + or([var2_ExplicitVarSizeWithDummy[q22] != 6 /\ + !or([var2_ExplicitVarSizeWithFlags_Flags[q24] /\ + var2_ExplicitVarSizeWithFlags_Values[q24] = var2_ExplicitVarSizeWithDummy[q22] + | q24 : int(1..11)]) + | q22 : int(1..11)]), + and([var2_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + var2_ExplicitVarSizeWithFlags_Values[q1] < var2_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..10)]), + and([var2_ExplicitVarSizeWithFlags_Flags[q2] = false -> var2_ExplicitVarSizeWithFlags_Values[q2] = -4 + | q2 : int(1..11)]), + and([var2_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> var2_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..10)]), + and([var2_ExplicitVarSizeWithDummy[q6] < var2_ExplicitVarSizeWithDummy[q6 + 1] \/ + var2_ExplicitVarSizeWithDummy[q6] = 6 + | q6 : int(1..10)]), + and([var2_ExplicitVarSizeWithDummy[q7] = 6 -> var2_ExplicitVarSizeWithDummy[q7 + 1] = 6 | q7 : int(1..10)]), + and([var2_ExplicitVarSizeWithDummy[q11] != 6 -> + or([var2_ExplicitVarSizeWithFlags_Flags[q13] /\ + var2_ExplicitVarSizeWithFlags_Values[q13] = var2_ExplicitVarSizeWithDummy[q11] + | q13 : int(1..11)]) + | q11 : int(1..11)]), + and([var2_ExplicitVarSizeWithFlags_Flags[q15] -> + or([var2_ExplicitVarSizeWithDummy[q17] != 6 /\ + var2_ExplicitVarSizeWithDummy[q17] = var2_ExplicitVarSizeWithFlags_Values[q15] + | q17 : int(1..11)]) + | q15 : int(1..11)]) + diff --git a/tests/exhaustive/autogen/gen32/expected/model_4_2_3.eprime b/tests/exhaustive/autogen/gen32/expected/model_4_2_3.eprime new file mode 100644 index 0000000000..ff001560cb --- /dev/null +++ b/tests/exhaustive/autogen/gen32/expected/model_4_2_3.eprime @@ -0,0 +1,69 @@ +language ESSENCE' 1.0 + +letting let1 be -4 +find var2_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..11)] of bool +find var2_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..11)] of int(-4..5, 2) +find var2_ExplicitVarSizeWithDummy: matrix indexed by [int(1..11)] of int(-4..5, 2, 6) +find var2_ExplicitVarSizeWithMarker_Marker: int(0..11) +find var2_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..11)] of int(-4..5, 2) +branching on + [var2_ExplicitVarSizeWithMarker_Marker, var2_ExplicitVarSizeWithMarker_Values, var2_ExplicitVarSizeWithFlags_Flags, + var2_ExplicitVarSizeWithFlags_Values, var2_ExplicitVarSizeWithDummy] +such that + or([var2_ExplicitVarSizeWithFlags_Flags[q38] /\ + !or([var2_ExplicitVarSizeWithDummy[q40] != 6 /\ + var2_ExplicitVarSizeWithDummy[q40] = var2_ExplicitVarSizeWithFlags_Values[q38] + | q40 : int(1..11)]) + | q38 : int(1..11)]) + \/ + or([var2_ExplicitVarSizeWithDummy[q41] != 6 /\ + !or([var2_ExplicitVarSizeWithFlags_Flags[q43] /\ + var2_ExplicitVarSizeWithFlags_Values[q43] = var2_ExplicitVarSizeWithDummy[q41] + | q43 : int(1..11)]) + | q41 : int(1..11)]), + and([var2_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + var2_ExplicitVarSizeWithFlags_Values[q1] < var2_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..10)]), + and([var2_ExplicitVarSizeWithFlags_Flags[q2] = false -> var2_ExplicitVarSizeWithFlags_Values[q2] = -4 + | q2 : int(1..11)]), + and([var2_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> var2_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..10)]), + and([var2_ExplicitVarSizeWithDummy[q6] < var2_ExplicitVarSizeWithDummy[q6 + 1] \/ + var2_ExplicitVarSizeWithDummy[q6] = 6 + | q6 : int(1..10)]), + and([var2_ExplicitVarSizeWithDummy[q7] = 6 -> var2_ExplicitVarSizeWithDummy[q7 + 1] = 6 | q7 : int(1..10)]), + and([var2_ExplicitVarSizeWithDummy[q11] != 6 -> + or([var2_ExplicitVarSizeWithFlags_Flags[q13] /\ + var2_ExplicitVarSizeWithFlags_Values[q13] = var2_ExplicitVarSizeWithDummy[q11] + | q13 : int(1..11)]) + | q11 : int(1..11)]), + and([var2_ExplicitVarSizeWithFlags_Flags[q15] -> + or([var2_ExplicitVarSizeWithDummy[q17] != 6 /\ + var2_ExplicitVarSizeWithDummy[q17] = var2_ExplicitVarSizeWithFlags_Values[q15] + | q17 : int(1..11)]) + | q15 : int(1..11)]), + and([q18 + 1 <= var2_ExplicitVarSizeWithMarker_Marker -> + var2_ExplicitVarSizeWithMarker_Values[q18] < var2_ExplicitVarSizeWithMarker_Values[q18 + 1] + | q18 : int(1..10)]), + and([q19 > var2_ExplicitVarSizeWithMarker_Marker -> var2_ExplicitVarSizeWithMarker_Values[q19] = -4 + | q19 : int(1..11)]), + and([q22 <= var2_ExplicitVarSizeWithMarker_Marker -> + or([var2_ExplicitVarSizeWithFlags_Flags[q24] /\ + var2_ExplicitVarSizeWithFlags_Values[q24] = var2_ExplicitVarSizeWithMarker_Values[q22] + | q24 : int(1..11)]) + | q22 : int(1..11)]), + and([var2_ExplicitVarSizeWithFlags_Flags[q26] -> + or([q28 <= var2_ExplicitVarSizeWithMarker_Marker /\ + var2_ExplicitVarSizeWithMarker_Values[q28] = var2_ExplicitVarSizeWithFlags_Values[q26] + | q28 : int(1..11)]) + | q26 : int(1..11)]), + and([q30 <= var2_ExplicitVarSizeWithMarker_Marker -> + or([var2_ExplicitVarSizeWithDummy[q32] != 6 /\ + var2_ExplicitVarSizeWithDummy[q32] = var2_ExplicitVarSizeWithMarker_Values[q30] + | q32 : int(1..11)]) + | q30 : int(1..11)]), + and([var2_ExplicitVarSizeWithDummy[q34] != 6 -> + or([q36 <= var2_ExplicitVarSizeWithMarker_Marker /\ + var2_ExplicitVarSizeWithMarker_Values[q36] = var2_ExplicitVarSizeWithDummy[q34] + | q36 : int(1..11)]) + | q34 : int(1..11)]) + diff --git a/tests/exhaustive/autogen/gen32/expected/model_4_3_1.eprime b/tests/exhaustive/autogen/gen32/expected/model_4_3_1.eprime new file mode 100644 index 0000000000..eb41be6810 --- /dev/null +++ b/tests/exhaustive/autogen/gen32/expected/model_4_3_1.eprime @@ -0,0 +1,57 @@ +language ESSENCE' 1.0 + +letting let1 be -4 +find var2_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..11)] of bool +find var2_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..11)] of int(-4..5, 2) +find var2_ExplicitVarSizeWithMarker_Marker: int(0..11) +find var2_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..11)] of int(-4..5, 2) +find var2_Occurrence: matrix indexed by [int(-4..5, 2)] of bool +branching on + [var2_Occurrence, var2_ExplicitVarSizeWithFlags_Flags, var2_ExplicitVarSizeWithFlags_Values, + var2_ExplicitVarSizeWithMarker_Marker, var2_ExplicitVarSizeWithMarker_Values] +such that + or([var2_ExplicitVarSizeWithFlags_Flags[q19] /\ + !or([q21 <= var2_ExplicitVarSizeWithMarker_Marker /\ + var2_ExplicitVarSizeWithMarker_Values[q21] = var2_ExplicitVarSizeWithFlags_Values[q19] + | q21 : int(1..11)]) + | q19 : int(1..11)]) + \/ + or([q22 <= var2_ExplicitVarSizeWithMarker_Marker /\ + !or([var2_ExplicitVarSizeWithFlags_Flags[q24] /\ + var2_ExplicitVarSizeWithFlags_Values[q24] = var2_ExplicitVarSizeWithMarker_Values[q22] + | q24 : int(1..11)]) + | q22 : int(1..11)]), + and([var2_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + var2_ExplicitVarSizeWithFlags_Values[q1] < var2_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..10)]), + and([var2_ExplicitVarSizeWithFlags_Flags[q2] = false -> var2_ExplicitVarSizeWithFlags_Values[q2] = -4 + | q2 : int(1..11)]), + and([var2_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> var2_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..10)]), + and([q6 + 1 <= var2_ExplicitVarSizeWithMarker_Marker -> + var2_ExplicitVarSizeWithMarker_Values[q6] < var2_ExplicitVarSizeWithMarker_Values[q6 + 1] + | q6 : int(1..10)]), + and([q7 > var2_ExplicitVarSizeWithMarker_Marker -> var2_ExplicitVarSizeWithMarker_Values[q7] = -4 + | q7 : int(1..11)]), + and([q10 <= var2_ExplicitVarSizeWithMarker_Marker -> + or([var2_ExplicitVarSizeWithFlags_Flags[q12] /\ + var2_ExplicitVarSizeWithFlags_Values[q12] = var2_ExplicitVarSizeWithMarker_Values[q10] + | q12 : int(1..11)]) + | q10 : int(1..11)]), + and([var2_ExplicitVarSizeWithFlags_Flags[q14] -> + or([q16 <= var2_ExplicitVarSizeWithMarker_Marker /\ + var2_ExplicitVarSizeWithMarker_Values[q16] = var2_ExplicitVarSizeWithFlags_Values[q14] + | q16 : int(1..11)]) + | q14 : int(1..11)]), + and([var2_Occurrence[q25] -> + or([var2_ExplicitVarSizeWithFlags_Flags[q27] /\ var2_ExplicitVarSizeWithFlags_Values[q27] = q25 + | q27 : int(1..11)]) + | q25 : int(-4..5, 2)]), + and([var2_ExplicitVarSizeWithFlags_Flags[q29] -> var2_Occurrence[var2_ExplicitVarSizeWithFlags_Values[q29]] + | q29 : int(1..11)]), + and([var2_Occurrence[q30] -> + or([q32 <= var2_ExplicitVarSizeWithMarker_Marker /\ var2_ExplicitVarSizeWithMarker_Values[q32] = q30 + | q32 : int(1..11)]) + | q30 : int(-4..5, 2)]), + and([q34 <= var2_ExplicitVarSizeWithMarker_Marker -> var2_Occurrence[var2_ExplicitVarSizeWithMarker_Values[q34]] + | q34 : int(1..11)]) + diff --git a/tests/exhaustive/autogen/gen32/expected/model_4_3_2.eprime b/tests/exhaustive/autogen/gen32/expected/model_4_3_2.eprime new file mode 100644 index 0000000000..8dcf88b159 --- /dev/null +++ b/tests/exhaustive/autogen/gen32/expected/model_4_3_2.eprime @@ -0,0 +1,69 @@ +language ESSENCE' 1.0 + +letting let1 be -4 +find var2_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..11)] of bool +find var2_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..11)] of int(-4..5, 2) +find var2_ExplicitVarSizeWithMarker_Marker: int(0..11) +find var2_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..11)] of int(-4..5, 2) +find var2_ExplicitVarSizeWithDummy: matrix indexed by [int(1..11)] of int(-4..5, 2, 6) +branching on + [var2_ExplicitVarSizeWithDummy, var2_ExplicitVarSizeWithFlags_Flags, var2_ExplicitVarSizeWithFlags_Values, + var2_ExplicitVarSizeWithMarker_Marker, var2_ExplicitVarSizeWithMarker_Values] +such that + or([var2_ExplicitVarSizeWithFlags_Flags[q38] /\ + !or([q40 <= var2_ExplicitVarSizeWithMarker_Marker /\ + var2_ExplicitVarSizeWithMarker_Values[q40] = var2_ExplicitVarSizeWithFlags_Values[q38] + | q40 : int(1..11)]) + | q38 : int(1..11)]) + \/ + or([q41 <= var2_ExplicitVarSizeWithMarker_Marker /\ + !or([var2_ExplicitVarSizeWithFlags_Flags[q43] /\ + var2_ExplicitVarSizeWithFlags_Values[q43] = var2_ExplicitVarSizeWithMarker_Values[q41] + | q43 : int(1..11)]) + | q41 : int(1..11)]), + and([var2_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + var2_ExplicitVarSizeWithFlags_Values[q1] < var2_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..10)]), + and([var2_ExplicitVarSizeWithFlags_Flags[q2] = false -> var2_ExplicitVarSizeWithFlags_Values[q2] = -4 + | q2 : int(1..11)]), + and([var2_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> var2_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..10)]), + and([q6 + 1 <= var2_ExplicitVarSizeWithMarker_Marker -> + var2_ExplicitVarSizeWithMarker_Values[q6] < var2_ExplicitVarSizeWithMarker_Values[q6 + 1] + | q6 : int(1..10)]), + and([q7 > var2_ExplicitVarSizeWithMarker_Marker -> var2_ExplicitVarSizeWithMarker_Values[q7] = -4 + | q7 : int(1..11)]), + and([q10 <= var2_ExplicitVarSizeWithMarker_Marker -> + or([var2_ExplicitVarSizeWithFlags_Flags[q12] /\ + var2_ExplicitVarSizeWithFlags_Values[q12] = var2_ExplicitVarSizeWithMarker_Values[q10] + | q12 : int(1..11)]) + | q10 : int(1..11)]), + and([var2_ExplicitVarSizeWithFlags_Flags[q14] -> + or([q16 <= var2_ExplicitVarSizeWithMarker_Marker /\ + var2_ExplicitVarSizeWithMarker_Values[q16] = var2_ExplicitVarSizeWithFlags_Values[q14] + | q16 : int(1..11)]) + | q14 : int(1..11)]), + and([var2_ExplicitVarSizeWithDummy[q17] < var2_ExplicitVarSizeWithDummy[q17 + 1] \/ + var2_ExplicitVarSizeWithDummy[q17] = 6 + | q17 : int(1..10)]), + and([var2_ExplicitVarSizeWithDummy[q18] = 6 -> var2_ExplicitVarSizeWithDummy[q18 + 1] = 6 | q18 : int(1..10)]), + and([var2_ExplicitVarSizeWithDummy[q22] != 6 -> + or([var2_ExplicitVarSizeWithFlags_Flags[q24] /\ + var2_ExplicitVarSizeWithFlags_Values[q24] = var2_ExplicitVarSizeWithDummy[q22] + | q24 : int(1..11)]) + | q22 : int(1..11)]), + and([var2_ExplicitVarSizeWithFlags_Flags[q26] -> + or([var2_ExplicitVarSizeWithDummy[q28] != 6 /\ + var2_ExplicitVarSizeWithDummy[q28] = var2_ExplicitVarSizeWithFlags_Values[q26] + | q28 : int(1..11)]) + | q26 : int(1..11)]), + and([var2_ExplicitVarSizeWithDummy[q30] != 6 -> + or([q32 <= var2_ExplicitVarSizeWithMarker_Marker /\ + var2_ExplicitVarSizeWithMarker_Values[q32] = var2_ExplicitVarSizeWithDummy[q30] + | q32 : int(1..11)]) + | q30 : int(1..11)]), + and([q34 <= var2_ExplicitVarSizeWithMarker_Marker -> + or([var2_ExplicitVarSizeWithDummy[q36] != 6 /\ + var2_ExplicitVarSizeWithDummy[q36] = var2_ExplicitVarSizeWithMarker_Values[q34] + | q36 : int(1..11)]) + | q34 : int(1..11)]) + diff --git a/tests/exhaustive/autogen/gen32/expected/model_4_3_3.eprime b/tests/exhaustive/autogen/gen32/expected/model_4_3_3.eprime new file mode 100644 index 0000000000..d1c3ae501b --- /dev/null +++ b/tests/exhaustive/autogen/gen32/expected/model_4_3_3.eprime @@ -0,0 +1,44 @@ +language ESSENCE' 1.0 + +letting let1 be -4 +find var2_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..11)] of bool +find var2_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..11)] of int(-4..5, 2) +find var2_ExplicitVarSizeWithMarker_Marker: int(0..11) +find var2_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..11)] of int(-4..5, 2) +branching on + [var2_ExplicitVarSizeWithMarker_Marker, var2_ExplicitVarSizeWithMarker_Values, var2_ExplicitVarSizeWithFlags_Flags, + var2_ExplicitVarSizeWithFlags_Values] +such that + or([var2_ExplicitVarSizeWithFlags_Flags[q18] /\ + !or([q20 <= var2_ExplicitVarSizeWithMarker_Marker /\ + var2_ExplicitVarSizeWithMarker_Values[q20] = var2_ExplicitVarSizeWithFlags_Values[q18] + | q20 : int(1..11)]) + | q18 : int(1..11)]) + \/ + or([q21 <= var2_ExplicitVarSizeWithMarker_Marker /\ + !or([var2_ExplicitVarSizeWithFlags_Flags[q23] /\ + var2_ExplicitVarSizeWithFlags_Values[q23] = var2_ExplicitVarSizeWithMarker_Values[q21] + | q23 : int(1..11)]) + | q21 : int(1..11)]), + and([var2_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + var2_ExplicitVarSizeWithFlags_Values[q1] < var2_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..10)]), + and([var2_ExplicitVarSizeWithFlags_Flags[q2] = false -> var2_ExplicitVarSizeWithFlags_Values[q2] = -4 + | q2 : int(1..11)]), + and([var2_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> var2_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..10)]), + and([q6 + 1 <= var2_ExplicitVarSizeWithMarker_Marker -> + var2_ExplicitVarSizeWithMarker_Values[q6] < var2_ExplicitVarSizeWithMarker_Values[q6 + 1] + | q6 : int(1..10)]), + and([q7 > var2_ExplicitVarSizeWithMarker_Marker -> var2_ExplicitVarSizeWithMarker_Values[q7] = -4 + | q7 : int(1..11)]), + and([q10 <= var2_ExplicitVarSizeWithMarker_Marker -> + or([var2_ExplicitVarSizeWithFlags_Flags[q12] /\ + var2_ExplicitVarSizeWithFlags_Values[q12] = var2_ExplicitVarSizeWithMarker_Values[q10] + | q12 : int(1..11)]) + | q10 : int(1..11)]), + and([var2_ExplicitVarSizeWithFlags_Flags[q14] -> + or([q16 <= var2_ExplicitVarSizeWithMarker_Marker /\ + var2_ExplicitVarSizeWithMarker_Values[q16] = var2_ExplicitVarSizeWithFlags_Values[q14] + | q16 : int(1..11)]) + | q14 : int(1..11)]) + diff --git a/tests/exhaustive/autogen/gen32/expected/model_4_4_1.eprime b/tests/exhaustive/autogen/gen32/expected/model_4_4_1.eprime new file mode 100644 index 0000000000..dc916012b6 --- /dev/null +++ b/tests/exhaustive/autogen/gen32/expected/model_4_4_1.eprime @@ -0,0 +1,32 @@ +language ESSENCE' 1.0 + +letting let1 be -4 +find var2_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..11)] of bool +find var2_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..11)] of int(-4..5, 2) +find var2_Occurrence: matrix indexed by [int(-4..5, 2)] of bool +branching on [var2_Occurrence, var2_ExplicitVarSizeWithFlags_Flags, var2_ExplicitVarSizeWithFlags_Values] +such that + or([var2_ExplicitVarSizeWithFlags_Flags[q8] /\ + !or([var2_ExplicitVarSizeWithFlags_Flags[q10] /\ + var2_ExplicitVarSizeWithFlags_Values[q10] = var2_ExplicitVarSizeWithFlags_Values[q8] + | q10 : int(1..11)]) + | q8 : int(1..11)]) + \/ + or([var2_ExplicitVarSizeWithFlags_Flags[q11] /\ + !or([var2_ExplicitVarSizeWithFlags_Flags[q13] /\ + var2_ExplicitVarSizeWithFlags_Values[q13] = var2_ExplicitVarSizeWithFlags_Values[q11] + | q13 : int(1..11)]) + | q11 : int(1..11)]), + and([var2_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + var2_ExplicitVarSizeWithFlags_Values[q1] < var2_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..10)]), + and([var2_ExplicitVarSizeWithFlags_Flags[q2] = false -> var2_ExplicitVarSizeWithFlags_Values[q2] = -4 + | q2 : int(1..11)]), + and([var2_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> var2_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..10)]), + and([var2_Occurrence[q14] -> + or([var2_ExplicitVarSizeWithFlags_Flags[q16] /\ var2_ExplicitVarSizeWithFlags_Values[q16] = q14 + | q16 : int(1..11)]) + | q14 : int(-4..5, 2)]), + and([var2_ExplicitVarSizeWithFlags_Flags[q18] -> var2_Occurrence[var2_ExplicitVarSizeWithFlags_Values[q18]] + | q18 : int(1..11)]) + diff --git a/tests/exhaustive/autogen/gen32/expected/model_4_4_2.eprime b/tests/exhaustive/autogen/gen32/expected/model_4_4_2.eprime new file mode 100644 index 0000000000..26e15ff1e8 --- /dev/null +++ b/tests/exhaustive/autogen/gen32/expected/model_4_4_2.eprime @@ -0,0 +1,40 @@ +language ESSENCE' 1.0 + +letting let1 be -4 +find var2_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..11)] of bool +find var2_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..11)] of int(-4..5, 2) +find var2_ExplicitVarSizeWithDummy: matrix indexed by [int(1..11)] of int(-4..5, 2, 6) +branching on [var2_ExplicitVarSizeWithDummy, var2_ExplicitVarSizeWithFlags_Flags, var2_ExplicitVarSizeWithFlags_Values] +such that + or([var2_ExplicitVarSizeWithFlags_Flags[q19] /\ + !or([var2_ExplicitVarSizeWithFlags_Flags[q21] /\ + var2_ExplicitVarSizeWithFlags_Values[q21] = var2_ExplicitVarSizeWithFlags_Values[q19] + | q21 : int(1..11)]) + | q19 : int(1..11)]) + \/ + or([var2_ExplicitVarSizeWithFlags_Flags[q22] /\ + !or([var2_ExplicitVarSizeWithFlags_Flags[q24] /\ + var2_ExplicitVarSizeWithFlags_Values[q24] = var2_ExplicitVarSizeWithFlags_Values[q22] + | q24 : int(1..11)]) + | q22 : int(1..11)]), + and([var2_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + var2_ExplicitVarSizeWithFlags_Values[q1] < var2_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..10)]), + and([var2_ExplicitVarSizeWithFlags_Flags[q2] = false -> var2_ExplicitVarSizeWithFlags_Values[q2] = -4 + | q2 : int(1..11)]), + and([var2_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> var2_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..10)]), + and([var2_ExplicitVarSizeWithDummy[q6] < var2_ExplicitVarSizeWithDummy[q6 + 1] \/ + var2_ExplicitVarSizeWithDummy[q6] = 6 + | q6 : int(1..10)]), + and([var2_ExplicitVarSizeWithDummy[q7] = 6 -> var2_ExplicitVarSizeWithDummy[q7 + 1] = 6 | q7 : int(1..10)]), + and([var2_ExplicitVarSizeWithDummy[q11] != 6 -> + or([var2_ExplicitVarSizeWithFlags_Flags[q13] /\ + var2_ExplicitVarSizeWithFlags_Values[q13] = var2_ExplicitVarSizeWithDummy[q11] + | q13 : int(1..11)]) + | q11 : int(1..11)]), + and([var2_ExplicitVarSizeWithFlags_Flags[q15] -> + or([var2_ExplicitVarSizeWithDummy[q17] != 6 /\ + var2_ExplicitVarSizeWithDummy[q17] = var2_ExplicitVarSizeWithFlags_Values[q15] + | q17 : int(1..11)]) + | q15 : int(1..11)]) + diff --git a/tests/exhaustive/autogen/gen32/expected/model_4_4_3.eprime b/tests/exhaustive/autogen/gen32/expected/model_4_4_3.eprime new file mode 100644 index 0000000000..a9522bafc7 --- /dev/null +++ b/tests/exhaustive/autogen/gen32/expected/model_4_4_3.eprime @@ -0,0 +1,44 @@ +language ESSENCE' 1.0 + +letting let1 be -4 +find var2_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..11)] of bool +find var2_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..11)] of int(-4..5, 2) +find var2_ExplicitVarSizeWithMarker_Marker: int(0..11) +find var2_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..11)] of int(-4..5, 2) +branching on + [var2_ExplicitVarSizeWithMarker_Marker, var2_ExplicitVarSizeWithMarker_Values, var2_ExplicitVarSizeWithFlags_Flags, + var2_ExplicitVarSizeWithFlags_Values] +such that + or([var2_ExplicitVarSizeWithFlags_Flags[q18] /\ + !or([var2_ExplicitVarSizeWithFlags_Flags[q20] /\ + var2_ExplicitVarSizeWithFlags_Values[q20] = var2_ExplicitVarSizeWithFlags_Values[q18] + | q20 : int(1..11)]) + | q18 : int(1..11)]) + \/ + or([var2_ExplicitVarSizeWithFlags_Flags[q21] /\ + !or([var2_ExplicitVarSizeWithFlags_Flags[q23] /\ + var2_ExplicitVarSizeWithFlags_Values[q23] = var2_ExplicitVarSizeWithFlags_Values[q21] + | q23 : int(1..11)]) + | q21 : int(1..11)]), + and([var2_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + var2_ExplicitVarSizeWithFlags_Values[q1] < var2_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..10)]), + and([var2_ExplicitVarSizeWithFlags_Flags[q2] = false -> var2_ExplicitVarSizeWithFlags_Values[q2] = -4 + | q2 : int(1..11)]), + and([var2_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> var2_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..10)]), + and([q6 + 1 <= var2_ExplicitVarSizeWithMarker_Marker -> + var2_ExplicitVarSizeWithMarker_Values[q6] < var2_ExplicitVarSizeWithMarker_Values[q6 + 1] + | q6 : int(1..10)]), + and([q7 > var2_ExplicitVarSizeWithMarker_Marker -> var2_ExplicitVarSizeWithMarker_Values[q7] = -4 + | q7 : int(1..11)]), + and([q10 <= var2_ExplicitVarSizeWithMarker_Marker -> + or([var2_ExplicitVarSizeWithFlags_Flags[q12] /\ + var2_ExplicitVarSizeWithFlags_Values[q12] = var2_ExplicitVarSizeWithMarker_Values[q10] + | q12 : int(1..11)]) + | q10 : int(1..11)]), + and([var2_ExplicitVarSizeWithFlags_Flags[q14] -> + or([q16 <= var2_ExplicitVarSizeWithMarker_Marker /\ + var2_ExplicitVarSizeWithMarker_Values[q16] = var2_ExplicitVarSizeWithFlags_Values[q14] + | q16 : int(1..11)]) + | q14 : int(1..11)]) + diff --git a/tests/exhaustive/autogen/gen32/expected/model_4_4_4.eprime b/tests/exhaustive/autogen/gen32/expected/model_4_4_4.eprime new file mode 100644 index 0000000000..ec2da87b64 --- /dev/null +++ b/tests/exhaustive/autogen/gen32/expected/model_4_4_4.eprime @@ -0,0 +1,25 @@ +language ESSENCE' 1.0 + +letting let1 be -4 +find var2_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..11)] of bool +find var2_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..11)] of int(-4..5, 2) +branching on [var2_ExplicitVarSizeWithFlags_Flags, var2_ExplicitVarSizeWithFlags_Values] +such that + or([var2_ExplicitVarSizeWithFlags_Flags[q7] /\ + !or([var2_ExplicitVarSizeWithFlags_Flags[q9] /\ + var2_ExplicitVarSizeWithFlags_Values[q9] = var2_ExplicitVarSizeWithFlags_Values[q7] + | q9 : int(1..11)]) + | q7 : int(1..11)]) + \/ + or([var2_ExplicitVarSizeWithFlags_Flags[q10] /\ + !or([var2_ExplicitVarSizeWithFlags_Flags[q12] /\ + var2_ExplicitVarSizeWithFlags_Values[q12] = var2_ExplicitVarSizeWithFlags_Values[q10] + | q12 : int(1..11)]) + | q10 : int(1..11)]), + and([var2_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + var2_ExplicitVarSizeWithFlags_Values[q1] < var2_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..10)]), + and([var2_ExplicitVarSizeWithFlags_Flags[q2] = false -> var2_ExplicitVarSizeWithFlags_Values[q2] = -4 + | q2 : int(1..11)]), + and([var2_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> var2_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..10)]) + diff --git a/tests/exhaustive/autogen/gen35/expected/model_1.eprime b/tests/exhaustive/autogen/gen35/expected/model_1.eprime index 49af6c5f46..0a734c1835 100644 --- a/tests/exhaustive/autogen/gen35/expected/model_1.eprime +++ b/tests/exhaustive/autogen/gen35/expected/model_1.eprime @@ -13,43 +13,19 @@ branching on var2_FunctionAsRelationR8R17_RelationAsSetR8R17_ExplicitVarSizeWithMarkerR8R17_Values_1_ExplicitWithFlags_Values, var2_FunctionAsRelationR8R17_RelationAsSetR8R17_ExplicitVarSizeWithMarkerR8R17_Values_2_RelationAsMatrix] such that -<<<<<<< HEAD - and([q1 + 1 <= var2_FunctionAsRelationR8R16_RelationAsSetR8R16_ExplicitVarSizeWithMarkerR8R16_Marker -> -<<<<<<< HEAD - flatten([flatten([]), -======= - flatten([([] : `matrix indexed by [int()] of int`), ->>>>>>> master - flatten([[-toInt(var2_FunctionAsRelationR8R16_RelationAsSetR8R16_ExplicitVarSizeWithMarkerR8R16_Values_2_RelationAsMatrix - [q1, q15, q16]) - | q16 : bool] - | q15 : bool]); -======= and([q1 + 1 <= var2_FunctionAsRelationR8R17_RelationAsSetR8R17_ExplicitVarSizeWithMarkerR8R17_Marker -> flatten([([] : `matrix indexed by [int()] of int`), flatten([[-toInt(var2_FunctionAsRelationR8R17_RelationAsSetR8R17_ExplicitVarSizeWithMarkerR8R17_Values_2_RelationAsMatrix [q1, q16, q17]) | q17 : bool] | q16 : bool]); ->>>>>>> main int(1..2)]) >>>>>> master - flatten([[-toInt(var2_FunctionAsRelationR8R16_RelationAsSetR8R16_ExplicitVarSizeWithMarkerR8R16_Values_2_RelationAsMatrix - [q1 + 1, q18, q19]) - | q19 : bool] - | q18 : bool]); -======= flatten([[-toInt(var2_FunctionAsRelationR8R17_RelationAsSetR8R17_ExplicitVarSizeWithMarkerR8R17_Values_2_RelationAsMatrix [q1 + 1, q19, q20]) | q20 : bool] | q19 : bool]); ->>>>>>> main int(1..2)]) | q1 : int(1..2)]), and([q2 > var2_FunctionAsRelationR8R17_RelationAsSetR8R17_ExplicitVarSizeWithMarkerR8R17_Marker -> diff --git a/tests/exhaustive/autogen/gen35/expected/model_1.eprime.orig b/tests/exhaustive/autogen/gen35/expected/model_1.eprime.orig deleted file mode 100644 index 6d09f93a09..0000000000 --- a/tests/exhaustive/autogen/gen35/expected/model_1.eprime.orig +++ /dev/null @@ -1,57 +0,0 @@ -language ESSENCE' 1.0 - -find var2_FunctionAsRelationR8R16_RelationAsSetR8R16_ExplicitVarSizeWithMarkerR8R16_Marker: int(0..3) -find var2_FunctionAsRelationR8R16_RelationAsSetR8R16_ExplicitVarSizeWithMarkerR8R16_Values_1_ExplicitWithFlags_Flags: - matrix indexed by [int(1..3), int(1..0)] of int(0) -find var2_FunctionAsRelationR8R16_RelationAsSetR8R16_ExplicitVarSizeWithMarkerR8R16_Values_1_ExplicitWithFlags_Values: - matrix indexed by [int(1..3), int(1..0)] of bool -find var2_FunctionAsRelationR8R16_RelationAsSetR8R16_ExplicitVarSizeWithMarkerR8R16_Values_2_RelationAsMatrix: - matrix indexed by [int(1..3), bool, bool] of bool -branching on - [var2_FunctionAsRelationR8R16_RelationAsSetR8R16_ExplicitVarSizeWithMarkerR8R16_Marker, - var2_FunctionAsRelationR8R16_RelationAsSetR8R16_ExplicitVarSizeWithMarkerR8R16_Values_1_ExplicitWithFlags_Flags, - var2_FunctionAsRelationR8R16_RelationAsSetR8R16_ExplicitVarSizeWithMarkerR8R16_Values_1_ExplicitWithFlags_Values, - var2_FunctionAsRelationR8R16_RelationAsSetR8R16_ExplicitVarSizeWithMarkerR8R16_Values_2_RelationAsMatrix] -such that - and([q1 + 1 <= var2_FunctionAsRelationR8R16_RelationAsSetR8R16_ExplicitVarSizeWithMarkerR8R16_Marker -> -<<<<<<< HEAD - flatten([flatten([]), -======= - flatten([([] : `matrix indexed by [int()] of int`), ->>>>>>> master - flatten([[-toInt(var2_FunctionAsRelationR8R16_RelationAsSetR8R16_ExplicitVarSizeWithMarkerR8R16_Values_2_RelationAsMatrix - [q1, q15, q16]) - | q16 : bool] - | q15 : bool]); - int(1..2)]) - >>>>>> master - flatten([[-toInt(var2_FunctionAsRelationR8R16_RelationAsSetR8R16_ExplicitVarSizeWithMarkerR8R16_Values_2_RelationAsMatrix - [q1 + 1, q18, q19]) - | q19 : bool] - | q18 : bool]); - int(1..2)]) - | q1 : int(1..2)]), - and([q2 > var2_FunctionAsRelationR8R16_RelationAsSetR8R16_ExplicitVarSizeWithMarkerR8R16_Marker -> - and([and([var2_FunctionAsRelationR8R16_RelationAsSetR8R16_ExplicitVarSizeWithMarkerR8R16_Values_2_RelationAsMatrix - [q2, q22, q23] - = false - | q23 : bool]) - | q22 : bool]) - | q2 : int(1..3)]), - 0 <= var2_FunctionAsRelationR8R16_RelationAsSetR8R16_ExplicitVarSizeWithMarkerR8R16_Marker, - var2_FunctionAsRelationR8R16_RelationAsSetR8R16_ExplicitVarSizeWithMarkerR8R16_Marker <= 3, - and([q3 <= var2_FunctionAsRelationR8R16_RelationAsSetR8R16_ExplicitVarSizeWithMarkerR8R16_Marker -> false - | q3 : int(1..3)]), - and([q3 <= var2_FunctionAsRelationR8R16_RelationAsSetR8R16_ExplicitVarSizeWithMarkerR8R16_Marker -> - 4 <= - sum([sum([toInt(var2_FunctionAsRelationR8R16_RelationAsSetR8R16_ExplicitVarSizeWithMarkerR8R16_Values_2_RelationAsMatrix - [q3, q10, q11]) - | q11 : bool]) - | q10 : bool]) - | q3 : int(1..3)]) - diff --git a/tests/exhaustive/autogen/gen36/expected/model_1-solution000001.solution b/tests/exhaustive/autogen/gen36/expected/model_1-solution000001.solution new file mode 100644 index 0000000000..78bab35d5f --- /dev/null +++ b/tests/exhaustive/autogen/gen36/expected/model_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting var6 be {} diff --git a/tests/exhaustive/autogen/gen36/expected/model_2-solution000001.solution b/tests/exhaustive/autogen/gen36/expected/model_2-solution000001.solution new file mode 100644 index 0000000000..78bab35d5f --- /dev/null +++ b/tests/exhaustive/autogen/gen36/expected/model_2-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting var6 be {} diff --git a/tests/exhaustive/autogen/gen36/expected/model_3-solution000001.solution b/tests/exhaustive/autogen/gen36/expected/model_3-solution000001.solution new file mode 100644 index 0000000000..78bab35d5f --- /dev/null +++ b/tests/exhaustive/autogen/gen36/expected/model_3-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting var6 be {} diff --git a/tests/exhaustive/autogen/gen36/expected/model_3.eprime.orig b/tests/exhaustive/autogen/gen36/expected/model_3.eprime.orig deleted file mode 100644 index a5be2eacf9..0000000000 --- a/tests/exhaustive/autogen/gen36/expected/model_3.eprime.orig +++ /dev/null @@ -1,94 +0,0 @@ -language ESSENCE' 1.0 - -letting let1 be 2 -find var6_ExplicitVarSizeWithMarkerR19_Marker: int(0..2) -find var6_ExplicitVarSizeWithMarkerR19_Values_PartitionOccurrence_NumParts: matrix indexed by [int(1..2)] of int(1..2) -find var6_ExplicitVarSizeWithMarkerR19_Values_PartitionOccurrence_WhichPart: - matrix indexed by [int(1..2), int(2, 5)] of int(1..2) -find var6_ExplicitVarSizeWithMarkerR19_Values_PartitionOccurrence_PartSizes: - matrix indexed by [int(1..2), int(1..2)] of int(0) -find var6_ExplicitVarSizeWithMarkerR19_Values_PartitionOccurrence_FirstIndex: - matrix indexed by [int(1..2), int(1..2)] of int(2, 5) -branching on - [var6_ExplicitVarSizeWithMarkerR19_Marker, var6_ExplicitVarSizeWithMarkerR19_Values_PartitionOccurrence_NumParts, - var6_ExplicitVarSizeWithMarkerR19_Values_PartitionOccurrence_WhichPart, - var6_ExplicitVarSizeWithMarkerR19_Values_PartitionOccurrence_PartSizes, - var6_ExplicitVarSizeWithMarkerR19_Values_PartitionOccurrence_FirstIndex] -such that - 2 <= var6_ExplicitVarSizeWithMarkerR19_Marker -> - flatten([[var6_ExplicitVarSizeWithMarkerR19_Values_PartitionOccurrence_NumParts[1]; int(1)], - [var6_ExplicitVarSizeWithMarkerR19_Values_PartitionOccurrence_WhichPart[1, q14] | q14 : int(2, 5)], - [var6_ExplicitVarSizeWithMarkerR19_Values_PartitionOccurrence_PartSizes[1, q15] | q15 : int(1..2)], - [var6_ExplicitVarSizeWithMarkerR19_Values_PartitionOccurrence_FirstIndex[1, q16] | q16 : int(1..2)]; - int(1..4)]) - var6_ExplicitVarSizeWithMarkerR19_Marker -> - and([var6_ExplicitVarSizeWithMarkerR19_Values_PartitionOccurrence_NumParts[q2] = 1, - and([var6_ExplicitVarSizeWithMarkerR19_Values_PartitionOccurrence_WhichPart[q2, q20] = 1 - | q20 : int(2, 5)]), - and([var6_ExplicitVarSizeWithMarkerR19_Values_PartitionOccurrence_PartSizes[q2, q21] = 0 - | q21 : int(1..2)]), - and([var6_ExplicitVarSizeWithMarkerR19_Values_PartitionOccurrence_FirstIndex[q2, q22] = 2 - | q22 : int(1..2)]); - int(1..4)]) - | q2 : int(1..2)]), - and([q3 <= var6_ExplicitVarSizeWithMarkerR19_Marker -> - and([q4 <= var6_ExplicitVarSizeWithMarkerR19_Values_PartitionOccurrence_NumParts[q3] -> - 0 = var6_ExplicitVarSizeWithMarkerR19_Values_PartitionOccurrence_PartSizes[q3, q4] - | q4 : int(1..2)]) - | q3 : int(1..2)]), - and([q3 <= var6_ExplicitVarSizeWithMarkerR19_Marker -> - and([q4 > var6_ExplicitVarSizeWithMarkerR19_Values_PartitionOccurrence_NumParts[q3] -> - var6_ExplicitVarSizeWithMarkerR19_Values_PartitionOccurrence_PartSizes[q3, q4] = 0 - | q4 : int(1..2)]) - | q3 : int(1..2)]), - and([q3 <= var6_ExplicitVarSizeWithMarkerR19_Marker -> - 3 <= var6_ExplicitVarSizeWithMarkerR19_Values_PartitionOccurrence_NumParts[q3] - | q3 : int(1..2)]), - and([q3 <= var6_ExplicitVarSizeWithMarkerR19_Marker -> - var6_ExplicitVarSizeWithMarkerR19_Values_PartitionOccurrence_NumParts[q3] <= 2 - | q3 : int(1..2)]), - and([q3 <= var6_ExplicitVarSizeWithMarkerR19_Marker -> - var6_ExplicitVarSizeWithMarkerR19_Values_PartitionOccurrence_NumParts[q3] = - max([var6_ExplicitVarSizeWithMarkerR19_Values_PartitionOccurrence_WhichPart[q3, q7] | q7 : int(2, 5)]) - | q3 : int(1..2)]), - and([q3 <= var6_ExplicitVarSizeWithMarkerR19_Marker -> - and([var6_ExplicitVarSizeWithMarkerR19_Values_PartitionOccurrence_PartSizes[q3, q8] = - sum([toInt(var6_ExplicitVarSizeWithMarkerR19_Values_PartitionOccurrence_WhichPart[q3, q9] = q8) - | q9 : int(2, 5)]) - | q8 : int(1..2)]) - | q3 : int(1..2)]), - and([q3 <= var6_ExplicitVarSizeWithMarkerR19_Marker -> - and([q10 <= var6_ExplicitVarSizeWithMarkerR19_Values_PartitionOccurrence_NumParts[q3] -> - and([var6_ExplicitVarSizeWithMarkerR19_Values_PartitionOccurrence_WhichPart[q3, q11] = q10 -> - var6_ExplicitVarSizeWithMarkerR19_Values_PartitionOccurrence_FirstIndex[q3, q10] <= q11 - | q11 : int(2, 5)]) - | q10 : int(1..2)]) - | q3 : int(1..2)]), - and([q3 <= var6_ExplicitVarSizeWithMarkerR19_Marker -> - and([q10 <= var6_ExplicitVarSizeWithMarkerR19_Values_PartitionOccurrence_NumParts[q3] -> - or([var6_ExplicitVarSizeWithMarkerR19_Values_PartitionOccurrence_WhichPart[q3, q11] = q10 /\ - var6_ExplicitVarSizeWithMarkerR19_Values_PartitionOccurrence_FirstIndex[q3, q10] = q11 - | q11 : int(2, 5)]) - | q10 : int(1..2)]) - | q3 : int(1..2)]), - and([q3 <= var6_ExplicitVarSizeWithMarkerR19_Marker -> - and([q10 > var6_ExplicitVarSizeWithMarkerR19_Values_PartitionOccurrence_NumParts[q3] -> - var6_ExplicitVarSizeWithMarkerR19_Values_PartitionOccurrence_FirstIndex[q3, q10] = 2 - | q10 : int(1..2)]) - | q3 : int(1..2)]), - and([q3 <= var6_ExplicitVarSizeWithMarkerR19_Marker -> - and([q12 <= var6_ExplicitVarSizeWithMarkerR19_Values_PartitionOccurrence_NumParts[q3] /\ - q13 <= var6_ExplicitVarSizeWithMarkerR19_Values_PartitionOccurrence_NumParts[q3] - -> - (q12 < q13 <-> - var6_ExplicitVarSizeWithMarkerR19_Values_PartitionOccurrence_FirstIndex[q3, q12] < - var6_ExplicitVarSizeWithMarkerR19_Values_PartitionOccurrence_FirstIndex[q3, q13]) - | q12 : int(1..2), q13 : int(1..2)]) - | q3 : int(1..2)]) - diff --git a/tests/exhaustive/autogen/gen36/expected/model_4-solution000001.solution b/tests/exhaustive/autogen/gen36/expected/model_4-solution000001.solution new file mode 100644 index 0000000000..78bab35d5f --- /dev/null +++ b/tests/exhaustive/autogen/gen36/expected/model_4-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting var6 be {} diff --git a/tests/exhaustive/autogen/gen36/expected/model_5-solution000001.solution b/tests/exhaustive/autogen/gen36/expected/model_5-solution000001.solution new file mode 100644 index 0000000000..78bab35d5f --- /dev/null +++ b/tests/exhaustive/autogen/gen36/expected/model_5-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting var6 be {} diff --git a/tests/exhaustive/autogen/gen36/expected/model_6-solution000001.solution b/tests/exhaustive/autogen/gen36/expected/model_6-solution000001.solution new file mode 100644 index 0000000000..78bab35d5f --- /dev/null +++ b/tests/exhaustive/autogen/gen36/expected/model_6-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting var6 be {} diff --git a/tests/exhaustive/autogen/gen36/expected/model_6.eprime.orig b/tests/exhaustive/autogen/gen36/expected/model_6.eprime.orig deleted file mode 100644 index c2d0633786..0000000000 --- a/tests/exhaustive/autogen/gen36/expected/model_6.eprime.orig +++ /dev/null @@ -1,95 +0,0 @@ -language ESSENCE' 1.0 - -letting let1 be 2 -find var6_ExplicitVarSizeWithFlagsR19_Flags: matrix indexed by [int(1..2)] of bool -find var6_ExplicitVarSizeWithFlagsR19_Values_PartitionOccurrence_NumParts: matrix indexed by [int(1..2)] of int(1..2) -find var6_ExplicitVarSizeWithFlagsR19_Values_PartitionOccurrence_WhichPart: - matrix indexed by [int(1..2), int(2, 5)] of int(1..2) -find var6_ExplicitVarSizeWithFlagsR19_Values_PartitionOccurrence_PartSizes: - matrix indexed by [int(1..2), int(1..2)] of int(0) -find var6_ExplicitVarSizeWithFlagsR19_Values_PartitionOccurrence_FirstIndex: - matrix indexed by [int(1..2), int(1..2)] of int(2, 5) -branching on - [var6_ExplicitVarSizeWithFlagsR19_Flags, var6_ExplicitVarSizeWithFlagsR19_Values_PartitionOccurrence_NumParts, - var6_ExplicitVarSizeWithFlagsR19_Values_PartitionOccurrence_WhichPart, - var6_ExplicitVarSizeWithFlagsR19_Values_PartitionOccurrence_PartSizes, - var6_ExplicitVarSizeWithFlagsR19_Values_PartitionOccurrence_FirstIndex] -such that - var6_ExplicitVarSizeWithFlagsR19_Flags[2] -> - flatten([[var6_ExplicitVarSizeWithFlagsR19_Values_PartitionOccurrence_NumParts[1]; int(1)], - [var6_ExplicitVarSizeWithFlagsR19_Values_PartitionOccurrence_WhichPart[1, q16] | q16 : int(2, 5)], - [var6_ExplicitVarSizeWithFlagsR19_Values_PartitionOccurrence_PartSizes[1, q17] | q17 : int(1..2)], - [var6_ExplicitVarSizeWithFlagsR19_Values_PartitionOccurrence_FirstIndex[1, q18] | q18 : int(1..2)]; - int(1..4)]) - - and([var6_ExplicitVarSizeWithFlagsR19_Values_PartitionOccurrence_NumParts[q2] = 1, - and([var6_ExplicitVarSizeWithFlagsR19_Values_PartitionOccurrence_WhichPart[q2, q22] = 1 - | q22 : int(2, 5)]), - and([var6_ExplicitVarSizeWithFlagsR19_Values_PartitionOccurrence_PartSizes[q2, q23] = 0 - | q23 : int(1..2)]), - and([var6_ExplicitVarSizeWithFlagsR19_Values_PartitionOccurrence_FirstIndex[q2, q24] = 2 - | q24 : int(1..2)]); - int(1..4)]) - | q2 : int(1..2)]), - var6_ExplicitVarSizeWithFlagsR19_Flags[2] -> var6_ExplicitVarSizeWithFlagsR19_Flags[1], - and([var6_ExplicitVarSizeWithFlagsR19_Flags[q5] -> - and([q6 <= var6_ExplicitVarSizeWithFlagsR19_Values_PartitionOccurrence_NumParts[q5] -> - 0 = var6_ExplicitVarSizeWithFlagsR19_Values_PartitionOccurrence_PartSizes[q5, q6] - | q6 : int(1..2)]) - | q5 : int(1..2)]), - and([var6_ExplicitVarSizeWithFlagsR19_Flags[q5] -> - and([q6 > var6_ExplicitVarSizeWithFlagsR19_Values_PartitionOccurrence_NumParts[q5] -> - var6_ExplicitVarSizeWithFlagsR19_Values_PartitionOccurrence_PartSizes[q5, q6] = 0 - | q6 : int(1..2)]) - | q5 : int(1..2)]), - and([var6_ExplicitVarSizeWithFlagsR19_Flags[q5] -> - 3 <= var6_ExplicitVarSizeWithFlagsR19_Values_PartitionOccurrence_NumParts[q5] - | q5 : int(1..2)]), - and([var6_ExplicitVarSizeWithFlagsR19_Flags[q5] -> - var6_ExplicitVarSizeWithFlagsR19_Values_PartitionOccurrence_NumParts[q5] <= 2 - | q5 : int(1..2)]), - and([var6_ExplicitVarSizeWithFlagsR19_Flags[q5] -> - var6_ExplicitVarSizeWithFlagsR19_Values_PartitionOccurrence_NumParts[q5] = - max([var6_ExplicitVarSizeWithFlagsR19_Values_PartitionOccurrence_WhichPart[q5, q9] | q9 : int(2, 5)]) - | q5 : int(1..2)]), - and([var6_ExplicitVarSizeWithFlagsR19_Flags[q5] -> - and([var6_ExplicitVarSizeWithFlagsR19_Values_PartitionOccurrence_PartSizes[q5, q10] = - sum([toInt(var6_ExplicitVarSizeWithFlagsR19_Values_PartitionOccurrence_WhichPart[q5, q11] = q10) - | q11 : int(2, 5)]) - | q10 : int(1..2)]) - | q5 : int(1..2)]), - and([var6_ExplicitVarSizeWithFlagsR19_Flags[q5] -> - and([q12 <= var6_ExplicitVarSizeWithFlagsR19_Values_PartitionOccurrence_NumParts[q5] -> - and([var6_ExplicitVarSizeWithFlagsR19_Values_PartitionOccurrence_WhichPart[q5, q13] = q12 -> - var6_ExplicitVarSizeWithFlagsR19_Values_PartitionOccurrence_FirstIndex[q5, q12] <= q13 - | q13 : int(2, 5)]) - | q12 : int(1..2)]) - | q5 : int(1..2)]), - and([var6_ExplicitVarSizeWithFlagsR19_Flags[q5] -> - and([q12 <= var6_ExplicitVarSizeWithFlagsR19_Values_PartitionOccurrence_NumParts[q5] -> - or([var6_ExplicitVarSizeWithFlagsR19_Values_PartitionOccurrence_WhichPart[q5, q13] = q12 /\ - var6_ExplicitVarSizeWithFlagsR19_Values_PartitionOccurrence_FirstIndex[q5, q12] = q13 - | q13 : int(2, 5)]) - | q12 : int(1..2)]) - | q5 : int(1..2)]), - and([var6_ExplicitVarSizeWithFlagsR19_Flags[q5] -> - and([q12 > var6_ExplicitVarSizeWithFlagsR19_Values_PartitionOccurrence_NumParts[q5] -> - var6_ExplicitVarSizeWithFlagsR19_Values_PartitionOccurrence_FirstIndex[q5, q12] = 2 - | q12 : int(1..2)]) - | q5 : int(1..2)]), - and([var6_ExplicitVarSizeWithFlagsR19_Flags[q5] -> - and([q14 <= var6_ExplicitVarSizeWithFlagsR19_Values_PartitionOccurrence_NumParts[q5] /\ - q15 <= var6_ExplicitVarSizeWithFlagsR19_Values_PartitionOccurrence_NumParts[q5] - -> - (q14 < q15 <-> - var6_ExplicitVarSizeWithFlagsR19_Values_PartitionOccurrence_FirstIndex[q5, q14] < - var6_ExplicitVarSizeWithFlagsR19_Values_PartitionOccurrence_FirstIndex[q5, q15]) - | q14 : int(1..2), q15 : int(1..2)]) - | q5 : int(1..2)]) - diff --git a/tests/exhaustive/autogen/gen37/expected/model_1.eprime b/tests/exhaustive/autogen/gen37/expected/model_1.eprime index 335600f8a4..d9aff1a2af 100644 --- a/tests/exhaustive/autogen/gen37/expected/model_1.eprime +++ b/tests/exhaustive/autogen/gen37/expected/model_1.eprime @@ -16,32 +16,24 @@ such that [-toInt(var1_RelationAsSetR5R8_ExplicitR5R8_1_ExplicitVarSizeWithMarker_Values[1, q13]) | q13 : int(1..2)]; int(1..2)]), -<<<<<<< HEAD - flatten([]); -======= flatten([flatten([[-var1_RelationAsSetR5R8_ExplicitR5R8_2_ExplicitWithFlags_Flags[1, q14]; int(1)], [-toInt(var1_RelationAsSetR5R8_ExplicitR5R8_2_ExplicitWithFlags_Values[1, q14]); int(1)]; int(1..2)]) | q14 : int(1..2)]); ->>>>>>> main int(1..2)]) >>>>>> main int(1..2)]), and([2 <= var1_RelationAsSetR5R8_ExplicitR5R8_1_ExplicitVarSizeWithMarker_Marker[q2] -> - [-toInt(var1_RelationAsSetR5R8_ExplicitR5R8_1_ExplicitVarSizeWithMarker_Values[q2, 1]); int(1)] var1_RelationAsSetR5R8_ExplicitR5R8_1_ExplicitVarSizeWithMarker_Marker[q2] -> var1_RelationAsSetR5R8_ExplicitR5R8_1_ExplicitVarSizeWithMarker_Values[q2, q4] = false diff --git a/tests/exhaustive/autogen/gen37/expected/model_2.eprime b/tests/exhaustive/autogen/gen37/expected/model_2.eprime index 47b06b745d..e7a984ee90 100644 --- a/tests/exhaustive/autogen/gen37/expected/model_2.eprime +++ b/tests/exhaustive/autogen/gen37/expected/model_2.eprime @@ -32,8 +32,8 @@ such that int(1..2)]); int(1..2)]), and([2 <= var1_RelationAsSetR5R9_ExplicitR5R9_1_ExplicitVarSizeWithMarker_Marker[q2] -> - [-toInt(var1_RelationAsSetR5R9_ExplicitR5R9_1_ExplicitVarSizeWithMarker_Values[q2, 1]); int(1)] var1_RelationAsSetR5R9_ExplicitR5R9_1_ExplicitVarSizeWithMarker_Marker[q2] -> var1_RelationAsSetR5R9_ExplicitR5R9_1_ExplicitVarSizeWithMarker_Values[q2, q4] = false diff --git a/tests/exhaustive/autogen/gen37/expected/model_3.eprime b/tests/exhaustive/autogen/gen37/expected/model_3.eprime index 49469708bc..de9c2120e0 100644 --- a/tests/exhaustive/autogen/gen37/expected/model_3.eprime +++ b/tests/exhaustive/autogen/gen37/expected/model_3.eprime @@ -18,16 +18,11 @@ such that [-toInt(var1_RelationAsSetR4R8_ExplicitR4R8_1_ExplicitVarSizeWithFlags_Values[1, q15]); int(1)]; int(1..2)]) -<<<<<<< HEAD - | q14 : int(1..2)]), - flatten([]); -======= | q15 : int(1..2)]), flatten([flatten([[-var1_RelationAsSetR4R8_ExplicitR4R8_2_ExplicitWithFlags_Flags[1, q16]; int(1)], [-toInt(var1_RelationAsSetR4R8_ExplicitR4R8_2_ExplicitWithFlags_Values[1, q16]); int(1)]; int(1..2)]) | q16 : int(1..2)]); ->>>>>>> main int(1..2)]) >>>>>> main int(1..2)]), and([var1_RelationAsSetR4R8_ExplicitR4R8_1_ExplicitVarSizeWithFlags_Flags[q2, 2] -> - [-toInt(var1_RelationAsSetR4R8_ExplicitR4R8_1_ExplicitVarSizeWithFlags_Values[q2, 1]); int(1)] var1_RelationAsSetR4R8_ExplicitR4R8_1_ExplicitVarSizeWithFlags_Values[q2, q4] = false diff --git a/tests/exhaustive/autogen/gen37/expected/model_4.eprime b/tests/exhaustive/autogen/gen37/expected/model_4.eprime index bd2dd0aec4..8477dbbc36 100644 --- a/tests/exhaustive/autogen/gen37/expected/model_4.eprime +++ b/tests/exhaustive/autogen/gen37/expected/model_4.eprime @@ -37,8 +37,8 @@ such that int(1..2)]); int(1..2)]), and([var1_RelationAsSetR4R9_ExplicitR4R9_1_ExplicitVarSizeWithFlags_Flags[q2, 2] -> - [-toInt(var1_RelationAsSetR4R9_ExplicitR4R9_1_ExplicitVarSizeWithFlags_Values[q2, 1]); int(1)] var1_RelationAsSetR4R9_ExplicitR4R9_1_ExplicitVarSizeWithFlags_Values[q2, q4] = false diff --git a/tests/exhaustive/basic/comprehension_01_2/expected/model.eprime b/tests/exhaustive/basic/comprehension_01_2/expected/model.eprime index 8607f86a85..5928bc4873 100644 --- a/tests/exhaustive/basic/comprehension_01_2/expected/model.eprime +++ b/tests/exhaustive/basic/comprehension_01_2/expected/model.eprime @@ -6,6 +6,5 @@ branching on [x, y] such that x = sum([toInt(or([i_Explicit[q4] = y | q4 : int(1..2)])) - | i_Explicit : matrix indexed by [int(1..2)] of int(7..9), - [i_Explicit[1]; int(1)] i_ExplicitVarSizeWithDummy[2] = 9, 1 <= sum([toInt(i_ExplicitVarSizeWithDummy[q3] != 9) | q3 : int(1..2)]), sum([toInt(i_ExplicitVarSizeWithDummy[q3] != 9) | q3 : int(1..2)]) <= 2, diff --git a/tests/exhaustive/basic/comprehension_03_2/expected/model.eprime b/tests/exhaustive/basic/comprehension_03_2/expected/model.eprime index 71f6ae576f..52b5ee4f84 100644 --- a/tests/exhaustive/basic/comprehension_03_2/expected/model.eprime +++ b/tests/exhaustive/basic/comprehension_03_2/expected/model.eprime @@ -7,8 +7,7 @@ such that x = sum([toInt(or([i_ExplicitVarSizeWithDummy[q6] = y | q6 : int(1..2), i_ExplicitVarSizeWithDummy[q6] != 10])) | i_ExplicitVarSizeWithDummy : matrix indexed by [int(1..2)] of int(7..10), - [i_ExplicitVarSizeWithDummy[1]; int(1)] i_ExplicitVarSizeWithDummy[2] = 10, 1 <= sum([toInt(i_ExplicitVarSizeWithDummy[q3] != 10) | q3 : int(1..2)]), sum([toInt(i_ExplicitVarSizeWithDummy[q3] != 10) | q3 : int(1..2)]) <= 2]) diff --git a/tests/exhaustive/basic/comprehension_04_2/expected/model-solution000001.solution b/tests/exhaustive/basic/comprehension_04_2/expected/model-solution000001.solution new file mode 100644 index 0000000000..440e39fbc0 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_04_2/expected/model-solution000001.solution @@ -0,0 +1,5 @@ +language Essence 1.3 + +letting x be 6 +letting y be 7 +letting z be false diff --git a/tests/exhaustive/basic/comprehension_04_2/expected/model-solution000002.solution b/tests/exhaustive/basic/comprehension_04_2/expected/model-solution000002.solution new file mode 100644 index 0000000000..725a23fd95 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_04_2/expected/model-solution000002.solution @@ -0,0 +1,5 @@ +language Essence 1.3 + +letting x be 6 +letting y be 7 +letting z be true diff --git a/tests/exhaustive/basic/comprehension_04_2/expected/model-solution000003.solution b/tests/exhaustive/basic/comprehension_04_2/expected/model-solution000003.solution new file mode 100644 index 0000000000..d50b52fc2a --- /dev/null +++ b/tests/exhaustive/basic/comprehension_04_2/expected/model-solution000003.solution @@ -0,0 +1,5 @@ +language Essence 1.3 + +letting x be 6 +letting y be 8 +letting z be false diff --git a/tests/exhaustive/basic/comprehension_04_2/expected/model-solution000004.solution b/tests/exhaustive/basic/comprehension_04_2/expected/model-solution000004.solution new file mode 100644 index 0000000000..3b8775718d --- /dev/null +++ b/tests/exhaustive/basic/comprehension_04_2/expected/model-solution000004.solution @@ -0,0 +1,5 @@ +language Essence 1.3 + +letting x be 6 +letting y be 8 +letting z be true diff --git a/tests/exhaustive/basic/comprehension_04_2/expected/model.eprime b/tests/exhaustive/basic/comprehension_04_2/expected/model.eprime new file mode 100644 index 0000000000..0463a7c0be --- /dev/null +++ b/tests/exhaustive/basic/comprehension_04_2/expected/model.eprime @@ -0,0 +1,26 @@ +language ESSENCE' 1.0 + +find x: int(0..1000) +find y: int(7, 8) +find z: bool +branching on [x, y, z] +such that + x = + sum([toInt(or([i_ExplicitVarSizeWithMarker_Values_1[q5] = y /\ i_ExplicitVarSizeWithMarker_Values_2[q5] = z + | q5 : int(1..2), q5 <= i_ExplicitVarSizeWithMarker_Marker])) + | i_ExplicitVarSizeWithMarker_Marker : int(0..2), + i_ExplicitVarSizeWithMarker_Values_1 : matrix indexed by [int(1..2)] of int(7..9), + i_ExplicitVarSizeWithMarker_Values_2 : matrix indexed by [int(1..2)] of bool, + 2 <= i_ExplicitVarSizeWithMarker_Marker -> + flatten([[i_ExplicitVarSizeWithMarker_Values_1[1]; int(1)], + [-toInt(i_ExplicitVarSizeWithMarker_Values_2[1]); int(1)]; + int(1..2)]) + i_ExplicitVarSizeWithMarker_Marker -> + i_ExplicitVarSizeWithMarker_Values_1[q2] = 7 /\ i_ExplicitVarSizeWithMarker_Values_2[q2] = false + | q2 : int(1..2)]), + 1 <= i_ExplicitVarSizeWithMarker_Marker, i_ExplicitVarSizeWithMarker_Marker <= 2]) + diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_1_1_1-solution000001.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_1_1_1-solution000001.solution new file mode 100644 index 0000000000..159a613983 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_1_1_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {2, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_1_1_1-solution000002.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_1_1_1-solution000002.solution new file mode 100644 index 0000000000..40f3fd5c8f --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_1_1_1-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {2, 3, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_1_1_1-solution000003.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_1_1_1-solution000003.solution new file mode 100644 index 0000000000..8b4ecbb66d --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_1_1_1-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 3} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_1_1_1-solution000004.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_1_1_1-solution000004.solution new file mode 100644 index 0000000000..560dd0f2f7 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_1_1_1-solution000004.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 3, 4} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_1_1_1-solution000005.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_1_1_1-solution000005.solution new file mode 100644 index 0000000000..6eeacc9727 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_1_1_1-solution000005.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_1_1_1-solution000006.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_1_1_1-solution000006.solution new file mode 100644 index 0000000000..5963aac565 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_1_1_1-solution000006.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 3} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_1_1_1-solution000007.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_1_1_1-solution000007.solution new file mode 100644 index 0000000000..bd956f44e3 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_1_1_1-solution000007.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 3, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_1_1_1.eprime b/tests/exhaustive/basic/comprehension_letting/expected/model_1_1_1.eprime new file mode 100644 index 0000000000..dd4a016cc8 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_1_1_1.eprime @@ -0,0 +1,25 @@ +language ESSENCE' 1.0 + +find s_Occurrence: matrix indexed by [int(1..4)] of bool +letting let1 be -100 +find x: int(-100..100) +find conjure_aux1: int(-16..3) +branching on [s_Occurrence, x] +such that + and([s_Occurrence[i] /\ s_Occurrence[j] -> min([i + j, i - j, i * j, i / j; int(1..4)]) <= conjure_aux1 + | i : int(1..4), j : int(1..4), i != j, allDiff([i + j, i * j, i / j; int(1..3)]), (i - j) % 2 = 0]), + sum([toInt(s_Occurrence[i] /\ s_Occurrence[j]) + | i : int(1..4), j : int(1..4), i != j, allDiff([i + j, i * j, i / j; int(1..3)]), (i - j) % 2 = 0]) + > 0 + -> + or([s_Occurrence[i] /\ s_Occurrence[j] /\ min([i + j, i - j, i * j, i / j; int(1..4)]) = conjure_aux1 + | i : int(1..4), j : int(1..4), i != j, allDiff([i + j, i * j, i / j; int(1..3)]), (i - j) % 2 = 0]), + sum([toInt(s_Occurrence[i] /\ s_Occurrence[j]) + | i : int(1..4), j : int(1..4), i != j, allDiff([i + j, i * j, i / j; int(1..3)]), (i - j) % 2 = 0]) + = 0 + -> conjure_aux1 = -16, + x = conjure_aux1, + sum([toInt(s_Occurrence[i] /\ s_Occurrence[j]) + | i : int(1..4), j : int(1..4), i != j, allDiff([i + j, i * j, i / j; int(1..3)]), (i - j) % 2 = 0]) + > 0 + diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_1_1_2-solution000001.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_1_1_2-solution000001.solution new file mode 100644 index 0000000000..bd956f44e3 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_1_1_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 3, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_1_1_2-solution000002.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_1_1_2-solution000002.solution new file mode 100644 index 0000000000..5963aac565 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_1_1_2-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 3} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_1_1_2-solution000003.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_1_1_2-solution000003.solution new file mode 100644 index 0000000000..6eeacc9727 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_1_1_2-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_1_1_2-solution000004.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_1_1_2-solution000004.solution new file mode 100644 index 0000000000..560dd0f2f7 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_1_1_2-solution000004.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 3, 4} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_1_1_2-solution000005.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_1_1_2-solution000005.solution new file mode 100644 index 0000000000..8b4ecbb66d --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_1_1_2-solution000005.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 3} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_1_1_2-solution000006.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_1_1_2-solution000006.solution new file mode 100644 index 0000000000..40f3fd5c8f --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_1_1_2-solution000006.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {2, 3, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_1_1_2-solution000007.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_1_1_2-solution000007.solution new file mode 100644 index 0000000000..159a613983 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_1_1_2-solution000007.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {2, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_1_1_2.eprime b/tests/exhaustive/basic/comprehension_letting/expected/model_1_1_2.eprime new file mode 100644 index 0000000000..e5a61b11a8 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_1_1_2.eprime @@ -0,0 +1,33 @@ +language ESSENCE' 1.0 + +find s_Occurrence: matrix indexed by [int(1..4)] of bool +find s_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +letting let1 be -100 +find x: int(-100..100) +find conjure_aux1: int(-16..3) +branching on [s_ExplicitVarSizeWithDummy, s_Occurrence, x] +such that + and([s_Occurrence[i] /\ s_Occurrence[j] -> min([i + j, i - j, i * j, i / j; int(1..4)]) <= conjure_aux1 + | i : int(1..4), j : int(1..4), i != j, allDiff([i + j, i * j, i / j; int(1..3)]), (i - j) % 2 = 0]), + sum([toInt(s_Occurrence[i] /\ s_Occurrence[j]) + | i : int(1..4), j : int(1..4), i != j, allDiff([i + j, i * j, i / j; int(1..3)]), (i - j) % 2 = 0]) + > 0 + -> + or([s_Occurrence[i] /\ s_Occurrence[j] /\ min([i + j, i - j, i * j, i / j; int(1..4)]) = conjure_aux1 + | i : int(1..4), j : int(1..4), i != j, allDiff([i + j, i * j, i / j; int(1..3)]), (i - j) % 2 = 0]), + sum([toInt(s_Occurrence[i] /\ s_Occurrence[j]) + | i : int(1..4), j : int(1..4), i != j, allDiff([i + j, i * j, i / j; int(1..3)]), (i - j) % 2 = 0]) + = 0 + -> conjure_aux1 = -16, + x = conjure_aux1, + sum([toInt(s_Occurrence[i] /\ s_Occurrence[j]) + | i : int(1..4), j : int(1..4), i != j, allDiff([i + j, i * j, i / j; int(1..3)]), (i - j) % 2 = 0]) + > 0, + and([s_ExplicitVarSizeWithDummy[q2] < s_ExplicitVarSizeWithDummy[q2 + 1] \/ s_ExplicitVarSizeWithDummy[q2] = 5 + | q2 : int(1..3)]), + and([s_ExplicitVarSizeWithDummy[q3] = 5 -> s_ExplicitVarSizeWithDummy[q3 + 1] = 5 | q3 : int(1..3)]), + and([s_ExplicitVarSizeWithDummy[q7] != 5 -> s_Occurrence[s_ExplicitVarSizeWithDummy[q7]] | q7 : int(1..4)]), + and([s_Occurrence[q8] -> + or([s_ExplicitVarSizeWithDummy[q10] != 5 /\ s_ExplicitVarSizeWithDummy[q10] = q8 | q10 : int(1..4)]) + | q8 : int(1..4)]) + diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_1_1_3-solution000001.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_1_1_3-solution000001.solution new file mode 100644 index 0000000000..8b4ecbb66d --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_1_1_3-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 3} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_1_1_3-solution000002.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_1_1_3-solution000002.solution new file mode 100644 index 0000000000..159a613983 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_1_1_3-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {2, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_1_1_3-solution000003.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_1_1_3-solution000003.solution new file mode 100644 index 0000000000..5963aac565 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_1_1_3-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 3} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_1_1_3-solution000004.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_1_1_3-solution000004.solution new file mode 100644 index 0000000000..6eeacc9727 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_1_1_3-solution000004.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_1_1_3-solution000005.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_1_1_3-solution000005.solution new file mode 100644 index 0000000000..560dd0f2f7 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_1_1_3-solution000005.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 3, 4} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_1_1_3-solution000006.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_1_1_3-solution000006.solution new file mode 100644 index 0000000000..40f3fd5c8f --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_1_1_3-solution000006.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {2, 3, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_1_1_3-solution000007.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_1_1_3-solution000007.solution new file mode 100644 index 0000000000..bd956f44e3 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_1_1_3-solution000007.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 3, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_1_1_3.eprime b/tests/exhaustive/basic/comprehension_letting/expected/model_1_1_3.eprime new file mode 100644 index 0000000000..dc118fd71c --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_1_1_3.eprime @@ -0,0 +1,36 @@ +language ESSENCE' 1.0 + +find s_Occurrence: matrix indexed by [int(1..4)] of bool +find s_ExplicitVarSizeWithMarker_Marker: int(0..4) +find s_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +letting let1 be -100 +find x: int(-100..100) +find conjure_aux1: int(-16..3) +branching on [s_ExplicitVarSizeWithMarker_Marker, s_ExplicitVarSizeWithMarker_Values, s_Occurrence, x] +such that + and([s_Occurrence[i] /\ s_Occurrence[j] -> min([i + j, i - j, i * j, i / j; int(1..4)]) <= conjure_aux1 + | i : int(1..4), j : int(1..4), i != j, allDiff([i + j, i * j, i / j; int(1..3)]), (i - j) % 2 = 0]), + sum([toInt(s_Occurrence[i] /\ s_Occurrence[j]) + | i : int(1..4), j : int(1..4), i != j, allDiff([i + j, i * j, i / j; int(1..3)]), (i - j) % 2 = 0]) + > 0 + -> + or([s_Occurrence[i] /\ s_Occurrence[j] /\ min([i + j, i - j, i * j, i / j; int(1..4)]) = conjure_aux1 + | i : int(1..4), j : int(1..4), i != j, allDiff([i + j, i * j, i / j; int(1..3)]), (i - j) % 2 = 0]), + sum([toInt(s_Occurrence[i] /\ s_Occurrence[j]) + | i : int(1..4), j : int(1..4), i != j, allDiff([i + j, i * j, i / j; int(1..3)]), (i - j) % 2 = 0]) + = 0 + -> conjure_aux1 = -16, + x = conjure_aux1, + sum([toInt(s_Occurrence[i] /\ s_Occurrence[j]) + | i : int(1..4), j : int(1..4), i != j, allDiff([i + j, i * j, i / j; int(1..3)]), (i - j) % 2 = 0]) + > 0, + and([q2 + 1 <= s_ExplicitVarSizeWithMarker_Marker -> + s_ExplicitVarSizeWithMarker_Values[q2] < s_ExplicitVarSizeWithMarker_Values[q2 + 1] + | q2 : int(1..3)]), + and([q3 > s_ExplicitVarSizeWithMarker_Marker -> s_ExplicitVarSizeWithMarker_Values[q3] = 1 | q3 : int(1..4)]), + and([q6 <= s_ExplicitVarSizeWithMarker_Marker -> s_Occurrence[s_ExplicitVarSizeWithMarker_Values[q6]] + | q6 : int(1..4)]), + and([s_Occurrence[q7] -> + or([q9 <= s_ExplicitVarSizeWithMarker_Marker /\ s_ExplicitVarSizeWithMarker_Values[q9] = q7 | q9 : int(1..4)]) + | q7 : int(1..4)]) + diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_1_1_4-solution000001.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_1_1_4-solution000001.solution new file mode 100644 index 0000000000..8b4ecbb66d --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_1_1_4-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 3} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_1_1_4-solution000002.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_1_1_4-solution000002.solution new file mode 100644 index 0000000000..159a613983 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_1_1_4-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {2, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_1_1_4-solution000003.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_1_1_4-solution000003.solution new file mode 100644 index 0000000000..5963aac565 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_1_1_4-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 3} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_1_1_4-solution000004.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_1_1_4-solution000004.solution new file mode 100644 index 0000000000..6eeacc9727 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_1_1_4-solution000004.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_1_1_4-solution000005.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_1_1_4-solution000005.solution new file mode 100644 index 0000000000..560dd0f2f7 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_1_1_4-solution000005.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 3, 4} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_1_1_4-solution000006.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_1_1_4-solution000006.solution new file mode 100644 index 0000000000..40f3fd5c8f --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_1_1_4-solution000006.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {2, 3, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_1_1_4-solution000007.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_1_1_4-solution000007.solution new file mode 100644 index 0000000000..bd956f44e3 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_1_1_4-solution000007.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 3, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_1_1_4.eprime b/tests/exhaustive/basic/comprehension_letting/expected/model_1_1_4.eprime new file mode 100644 index 0000000000..6c66694bc5 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_1_1_4.eprime @@ -0,0 +1,36 @@ +language ESSENCE' 1.0 + +find s_Occurrence: matrix indexed by [int(1..4)] of bool +find s_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find s_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +letting let1 be -100 +find x: int(-100..100) +find conjure_aux1: int(-16..3) +branching on [s_ExplicitVarSizeWithFlags_Flags, s_ExplicitVarSizeWithFlags_Values, s_Occurrence, x] +such that + and([s_Occurrence[i] /\ s_Occurrence[j] -> min([i + j, i - j, i * j, i / j; int(1..4)]) <= conjure_aux1 + | i : int(1..4), j : int(1..4), i != j, allDiff([i + j, i * j, i / j; int(1..3)]), (i - j) % 2 = 0]), + sum([toInt(s_Occurrence[i] /\ s_Occurrence[j]) + | i : int(1..4), j : int(1..4), i != j, allDiff([i + j, i * j, i / j; int(1..3)]), (i - j) % 2 = 0]) + > 0 + -> + or([s_Occurrence[i] /\ s_Occurrence[j] /\ min([i + j, i - j, i * j, i / j; int(1..4)]) = conjure_aux1 + | i : int(1..4), j : int(1..4), i != j, allDiff([i + j, i * j, i / j; int(1..3)]), (i - j) % 2 = 0]), + sum([toInt(s_Occurrence[i] /\ s_Occurrence[j]) + | i : int(1..4), j : int(1..4), i != j, allDiff([i + j, i * j, i / j; int(1..3)]), (i - j) % 2 = 0]) + = 0 + -> conjure_aux1 = -16, + x = conjure_aux1, + sum([toInt(s_Occurrence[i] /\ s_Occurrence[j]) + | i : int(1..4), j : int(1..4), i != j, allDiff([i + j, i * j, i / j; int(1..3)]), (i - j) % 2 = 0]) + > 0, + and([s_ExplicitVarSizeWithFlags_Flags[q2 + 1] -> + s_ExplicitVarSizeWithFlags_Values[q2] < s_ExplicitVarSizeWithFlags_Values[q2 + 1] + | q2 : int(1..3)]), + and([s_ExplicitVarSizeWithFlags_Flags[q3] = false -> s_ExplicitVarSizeWithFlags_Values[q3] = 1 | q3 : int(1..4)]), + and([s_ExplicitVarSizeWithFlags_Flags[q4 + 1] -> s_ExplicitVarSizeWithFlags_Flags[q4] | q4 : int(1..3)]), + and([s_ExplicitVarSizeWithFlags_Flags[q8] -> s_Occurrence[s_ExplicitVarSizeWithFlags_Values[q8]] | q8 : int(1..4)]), + and([s_Occurrence[q9] -> + or([s_ExplicitVarSizeWithFlags_Flags[q11] /\ s_ExplicitVarSizeWithFlags_Values[q11] = q9 | q11 : int(1..4)]) + | q9 : int(1..4)]) + diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_1_2_1-solution000001.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_1_2_1-solution000001.solution new file mode 100644 index 0000000000..bd956f44e3 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_1_2_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 3, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_1_2_1-solution000002.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_1_2_1-solution000002.solution new file mode 100644 index 0000000000..5963aac565 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_1_2_1-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 3} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_1_2_1-solution000003.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_1_2_1-solution000003.solution new file mode 100644 index 0000000000..6eeacc9727 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_1_2_1-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_1_2_1-solution000004.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_1_2_1-solution000004.solution new file mode 100644 index 0000000000..560dd0f2f7 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_1_2_1-solution000004.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 3, 4} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_1_2_1-solution000005.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_1_2_1-solution000005.solution new file mode 100644 index 0000000000..8b4ecbb66d --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_1_2_1-solution000005.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 3} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_1_2_1-solution000006.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_1_2_1-solution000006.solution new file mode 100644 index 0000000000..40f3fd5c8f --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_1_2_1-solution000006.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {2, 3, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_1_2_1-solution000007.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_1_2_1-solution000007.solution new file mode 100644 index 0000000000..159a613983 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_1_2_1-solution000007.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {2, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_1_2_1.eprime b/tests/exhaustive/basic/comprehension_letting/expected/model_1_2_1.eprime new file mode 100644 index 0000000000..8697c1dbd6 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_1_2_1.eprime @@ -0,0 +1,68 @@ +language ESSENCE' 1.0 + +find s_Occurrence: matrix indexed by [int(1..4)] of bool +find s_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +letting let1 be -100 +find x: int(-100..100) +find conjure_aux1: int(-20..3) +branching on [s_ExplicitVarSizeWithDummy, s_Occurrence, x] +such that + and([and([s_Occurrence[i], s_ExplicitVarSizeWithDummy[q11] != 5, i != s_ExplicitVarSizeWithDummy[q11], + allDiff([i + s_ExplicitVarSizeWithDummy[q11], i * s_ExplicitVarSizeWithDummy[q11], + i / s_ExplicitVarSizeWithDummy[q11]; + int(1..3)]), + (i - s_ExplicitVarSizeWithDummy[q11]) % 2 = 0; + int(1..5)]) + -> + min([i + s_ExplicitVarSizeWithDummy[q11], i - s_ExplicitVarSizeWithDummy[q11], + i * s_ExplicitVarSizeWithDummy[q11], i / s_ExplicitVarSizeWithDummy[q11]; + int(1..4)]) + <= conjure_aux1 + | i : int(1..4), q11 : int(1..4)]), + sum([toInt(and([s_Occurrence[i], s_ExplicitVarSizeWithDummy[q11] != 5, i != s_ExplicitVarSizeWithDummy[q11], + allDiff([i + s_ExplicitVarSizeWithDummy[q11], i * s_ExplicitVarSizeWithDummy[q11], + i / s_ExplicitVarSizeWithDummy[q11]; + int(1..3)]), + (i - s_ExplicitVarSizeWithDummy[q11]) % 2 = 0; + int(1..5)])) + | i : int(1..4), q11 : int(1..4)]) + > 0 + -> + or([and([s_Occurrence[i], s_ExplicitVarSizeWithDummy[q11] != 5, i != s_ExplicitVarSizeWithDummy[q11], + allDiff([i + s_ExplicitVarSizeWithDummy[q11], i * s_ExplicitVarSizeWithDummy[q11], + i / s_ExplicitVarSizeWithDummy[q11]; + int(1..3)]), + (i - s_ExplicitVarSizeWithDummy[q11]) % 2 = 0; + int(1..5)]) + /\ + min([i + s_ExplicitVarSizeWithDummy[q11], i - s_ExplicitVarSizeWithDummy[q11], + i * s_ExplicitVarSizeWithDummy[q11], i / s_ExplicitVarSizeWithDummy[q11]; + int(1..4)]) + = conjure_aux1 + | i : int(1..4), q11 : int(1..4)]), + sum([toInt(and([s_Occurrence[i], s_ExplicitVarSizeWithDummy[q11] != 5, i != s_ExplicitVarSizeWithDummy[q11], + allDiff([i + s_ExplicitVarSizeWithDummy[q11], i * s_ExplicitVarSizeWithDummy[q11], + i / s_ExplicitVarSizeWithDummy[q11]; + int(1..3)]), + (i - s_ExplicitVarSizeWithDummy[q11]) % 2 = 0; + int(1..5)])) + | i : int(1..4), q11 : int(1..4)]) + = 0 + -> conjure_aux1 = -20, + x = conjure_aux1, + sum([toInt(and([s_Occurrence[i], s_ExplicitVarSizeWithDummy[q11] != 5, i != s_ExplicitVarSizeWithDummy[q11], + allDiff([i + s_ExplicitVarSizeWithDummy[q11], i * s_ExplicitVarSizeWithDummy[q11], + i / s_ExplicitVarSizeWithDummy[q11]; + int(1..3)]), + (i - s_ExplicitVarSizeWithDummy[q11]) % 2 = 0; + int(1..5)])) + | i : int(1..4), q11 : int(1..4)]) + > 0, + and([s_ExplicitVarSizeWithDummy[q2] < s_ExplicitVarSizeWithDummy[q2 + 1] \/ s_ExplicitVarSizeWithDummy[q2] = 5 + | q2 : int(1..3)]), + and([s_ExplicitVarSizeWithDummy[q3] = 5 -> s_ExplicitVarSizeWithDummy[q3 + 1] = 5 | q3 : int(1..3)]), + and([s_ExplicitVarSizeWithDummy[q7] != 5 -> s_Occurrence[s_ExplicitVarSizeWithDummy[q7]] | q7 : int(1..4)]), + and([s_Occurrence[q8] -> + or([s_ExplicitVarSizeWithDummy[q10] != 5 /\ s_ExplicitVarSizeWithDummy[q10] = q8 | q10 : int(1..4)]) + | q8 : int(1..4)]) + diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_1_2_3-solution000001.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_1_2_3-solution000001.solution new file mode 100644 index 0000000000..8b4ecbb66d --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_1_2_3-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 3} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_1_2_3-solution000002.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_1_2_3-solution000002.solution new file mode 100644 index 0000000000..159a613983 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_1_2_3-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {2, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_1_2_3-solution000003.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_1_2_3-solution000003.solution new file mode 100644 index 0000000000..5963aac565 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_1_2_3-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 3} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_1_2_3-solution000004.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_1_2_3-solution000004.solution new file mode 100644 index 0000000000..6eeacc9727 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_1_2_3-solution000004.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_1_2_3-solution000005.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_1_2_3-solution000005.solution new file mode 100644 index 0000000000..560dd0f2f7 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_1_2_3-solution000005.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 3, 4} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_1_2_3-solution000006.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_1_2_3-solution000006.solution new file mode 100644 index 0000000000..40f3fd5c8f --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_1_2_3-solution000006.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {2, 3, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_1_2_3-solution000007.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_1_2_3-solution000007.solution new file mode 100644 index 0000000000..bd956f44e3 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_1_2_3-solution000007.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 3, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_1_2_3.eprime b/tests/exhaustive/basic/comprehension_letting/expected/model_1_2_3.eprime new file mode 100644 index 0000000000..a5ab41cb34 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_1_2_3.eprime @@ -0,0 +1,92 @@ +language ESSENCE' 1.0 + +find s_Occurrence: matrix indexed by [int(1..4)] of bool +find s_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +find s_ExplicitVarSizeWithMarker_Marker: int(0..4) +find s_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +letting let1 be -100 +find x: int(-100..100) +find conjure_aux1: int(-20..3) +branching on + [s_ExplicitVarSizeWithMarker_Marker, s_ExplicitVarSizeWithMarker_Values, s_Occurrence, s_ExplicitVarSizeWithDummy, + x] +such that + and([and([s_Occurrence[i], s_ExplicitVarSizeWithDummy[q27] != 5, i != s_ExplicitVarSizeWithDummy[q27], + allDiff([i + s_ExplicitVarSizeWithDummy[q27], i * s_ExplicitVarSizeWithDummy[q27], + i / s_ExplicitVarSizeWithDummy[q27]; + int(1..3)]), + (i - s_ExplicitVarSizeWithDummy[q27]) % 2 = 0; + int(1..5)]) + -> + min([i + s_ExplicitVarSizeWithDummy[q27], i - s_ExplicitVarSizeWithDummy[q27], + i * s_ExplicitVarSizeWithDummy[q27], i / s_ExplicitVarSizeWithDummy[q27]; + int(1..4)]) + <= conjure_aux1 + | i : int(1..4), q27 : int(1..4)]), + sum([toInt(and([s_Occurrence[i], s_ExplicitVarSizeWithDummy[q27] != 5, i != s_ExplicitVarSizeWithDummy[q27], + allDiff([i + s_ExplicitVarSizeWithDummy[q27], i * s_ExplicitVarSizeWithDummy[q27], + i / s_ExplicitVarSizeWithDummy[q27]; + int(1..3)]), + (i - s_ExplicitVarSizeWithDummy[q27]) % 2 = 0; + int(1..5)])) + | i : int(1..4), q27 : int(1..4)]) + > 0 + -> + or([and([s_Occurrence[i], s_ExplicitVarSizeWithDummy[q27] != 5, i != s_ExplicitVarSizeWithDummy[q27], + allDiff([i + s_ExplicitVarSizeWithDummy[q27], i * s_ExplicitVarSizeWithDummy[q27], + i / s_ExplicitVarSizeWithDummy[q27]; + int(1..3)]), + (i - s_ExplicitVarSizeWithDummy[q27]) % 2 = 0; + int(1..5)]) + /\ + min([i + s_ExplicitVarSizeWithDummy[q27], i - s_ExplicitVarSizeWithDummy[q27], + i * s_ExplicitVarSizeWithDummy[q27], i / s_ExplicitVarSizeWithDummy[q27]; + int(1..4)]) + = conjure_aux1 + | i : int(1..4), q27 : int(1..4)]), + sum([toInt(and([s_Occurrence[i], s_ExplicitVarSizeWithDummy[q27] != 5, i != s_ExplicitVarSizeWithDummy[q27], + allDiff([i + s_ExplicitVarSizeWithDummy[q27], i * s_ExplicitVarSizeWithDummy[q27], + i / s_ExplicitVarSizeWithDummy[q27]; + int(1..3)]), + (i - s_ExplicitVarSizeWithDummy[q27]) % 2 = 0; + int(1..5)])) + | i : int(1..4), q27 : int(1..4)]) + = 0 + -> conjure_aux1 = -20, + x = conjure_aux1, + sum([toInt(and([s_Occurrence[i], s_ExplicitVarSizeWithDummy[q27] != 5, i != s_ExplicitVarSizeWithDummy[q27], + allDiff([i + s_ExplicitVarSizeWithDummy[q27], i * s_ExplicitVarSizeWithDummy[q27], + i / s_ExplicitVarSizeWithDummy[q27]; + int(1..3)]), + (i - s_ExplicitVarSizeWithDummy[q27]) % 2 = 0; + int(1..5)])) + | i : int(1..4), q27 : int(1..4)]) + > 0, + and([s_ExplicitVarSizeWithDummy[q2] < s_ExplicitVarSizeWithDummy[q2 + 1] \/ s_ExplicitVarSizeWithDummy[q2] = 5 + | q2 : int(1..3)]), + and([s_ExplicitVarSizeWithDummy[q3] = 5 -> s_ExplicitVarSizeWithDummy[q3 + 1] = 5 | q3 : int(1..3)]), + and([s_ExplicitVarSizeWithDummy[q7] != 5 -> s_Occurrence[s_ExplicitVarSizeWithDummy[q7]] | q7 : int(1..4)]), + and([s_Occurrence[q8] -> + or([s_ExplicitVarSizeWithDummy[q10] != 5 /\ s_ExplicitVarSizeWithDummy[q10] = q8 | q10 : int(1..4)]) + | q8 : int(1..4)]), + and([q11 + 1 <= s_ExplicitVarSizeWithMarker_Marker -> + s_ExplicitVarSizeWithMarker_Values[q11] < s_ExplicitVarSizeWithMarker_Values[q11 + 1] + | q11 : int(1..3)]), + and([q12 > s_ExplicitVarSizeWithMarker_Marker -> s_ExplicitVarSizeWithMarker_Values[q12] = 1 | q12 : int(1..4)]), + and([q15 <= s_ExplicitVarSizeWithMarker_Marker -> s_Occurrence[s_ExplicitVarSizeWithMarker_Values[q15]] + | q15 : int(1..4)]), + and([s_Occurrence[q16] -> + or([q18 <= s_ExplicitVarSizeWithMarker_Marker /\ s_ExplicitVarSizeWithMarker_Values[q18] = q16 + | q18 : int(1..4)]) + | q16 : int(1..4)]), + and([q20 <= s_ExplicitVarSizeWithMarker_Marker -> + or([s_ExplicitVarSizeWithDummy[q22] != 5 /\ + s_ExplicitVarSizeWithDummy[q22] = s_ExplicitVarSizeWithMarker_Values[q20] + | q22 : int(1..4)]) + | q20 : int(1..4)]), + and([s_ExplicitVarSizeWithDummy[q24] != 5 -> + or([q26 <= s_ExplicitVarSizeWithMarker_Marker /\ + s_ExplicitVarSizeWithMarker_Values[q26] = s_ExplicitVarSizeWithDummy[q24] + | q26 : int(1..4)]) + | q24 : int(1..4)]) + diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_1_2_4-solution000001.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_1_2_4-solution000001.solution new file mode 100644 index 0000000000..8b4ecbb66d --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_1_2_4-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 3} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_1_2_4-solution000002.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_1_2_4-solution000002.solution new file mode 100644 index 0000000000..159a613983 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_1_2_4-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {2, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_1_2_4-solution000003.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_1_2_4-solution000003.solution new file mode 100644 index 0000000000..5963aac565 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_1_2_4-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 3} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_1_2_4-solution000004.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_1_2_4-solution000004.solution new file mode 100644 index 0000000000..6eeacc9727 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_1_2_4-solution000004.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_1_2_4-solution000005.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_1_2_4-solution000005.solution new file mode 100644 index 0000000000..560dd0f2f7 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_1_2_4-solution000005.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 3, 4} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_1_2_4-solution000006.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_1_2_4-solution000006.solution new file mode 100644 index 0000000000..40f3fd5c8f --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_1_2_4-solution000006.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {2, 3, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_1_2_4-solution000007.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_1_2_4-solution000007.solution new file mode 100644 index 0000000000..bd956f44e3 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_1_2_4-solution000007.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 3, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_1_2_4.eprime b/tests/exhaustive/basic/comprehension_letting/expected/model_1_2_4.eprime new file mode 100644 index 0000000000..264f061fe8 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_1_2_4.eprime @@ -0,0 +1,92 @@ +language ESSENCE' 1.0 + +find s_Occurrence: matrix indexed by [int(1..4)] of bool +find s_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +find s_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find s_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +letting let1 be -100 +find x: int(-100..100) +find conjure_aux1: int(-20..3) +branching on + [s_ExplicitVarSizeWithFlags_Flags, s_ExplicitVarSizeWithFlags_Values, s_Occurrence, s_ExplicitVarSizeWithDummy, x] +such that + and([and([s_Occurrence[i], s_ExplicitVarSizeWithDummy[q29] != 5, i != s_ExplicitVarSizeWithDummy[q29], + allDiff([i + s_ExplicitVarSizeWithDummy[q29], i * s_ExplicitVarSizeWithDummy[q29], + i / s_ExplicitVarSizeWithDummy[q29]; + int(1..3)]), + (i - s_ExplicitVarSizeWithDummy[q29]) % 2 = 0; + int(1..5)]) + -> + min([i + s_ExplicitVarSizeWithDummy[q29], i - s_ExplicitVarSizeWithDummy[q29], + i * s_ExplicitVarSizeWithDummy[q29], i / s_ExplicitVarSizeWithDummy[q29]; + int(1..4)]) + <= conjure_aux1 + | i : int(1..4), q29 : int(1..4)]), + sum([toInt(and([s_Occurrence[i], s_ExplicitVarSizeWithDummy[q29] != 5, i != s_ExplicitVarSizeWithDummy[q29], + allDiff([i + s_ExplicitVarSizeWithDummy[q29], i * s_ExplicitVarSizeWithDummy[q29], + i / s_ExplicitVarSizeWithDummy[q29]; + int(1..3)]), + (i - s_ExplicitVarSizeWithDummy[q29]) % 2 = 0; + int(1..5)])) + | i : int(1..4), q29 : int(1..4)]) + > 0 + -> + or([and([s_Occurrence[i], s_ExplicitVarSizeWithDummy[q29] != 5, i != s_ExplicitVarSizeWithDummy[q29], + allDiff([i + s_ExplicitVarSizeWithDummy[q29], i * s_ExplicitVarSizeWithDummy[q29], + i / s_ExplicitVarSizeWithDummy[q29]; + int(1..3)]), + (i - s_ExplicitVarSizeWithDummy[q29]) % 2 = 0; + int(1..5)]) + /\ + min([i + s_ExplicitVarSizeWithDummy[q29], i - s_ExplicitVarSizeWithDummy[q29], + i * s_ExplicitVarSizeWithDummy[q29], i / s_ExplicitVarSizeWithDummy[q29]; + int(1..4)]) + = conjure_aux1 + | i : int(1..4), q29 : int(1..4)]), + sum([toInt(and([s_Occurrence[i], s_ExplicitVarSizeWithDummy[q29] != 5, i != s_ExplicitVarSizeWithDummy[q29], + allDiff([i + s_ExplicitVarSizeWithDummy[q29], i * s_ExplicitVarSizeWithDummy[q29], + i / s_ExplicitVarSizeWithDummy[q29]; + int(1..3)]), + (i - s_ExplicitVarSizeWithDummy[q29]) % 2 = 0; + int(1..5)])) + | i : int(1..4), q29 : int(1..4)]) + = 0 + -> conjure_aux1 = -20, + x = conjure_aux1, + sum([toInt(and([s_Occurrence[i], s_ExplicitVarSizeWithDummy[q29] != 5, i != s_ExplicitVarSizeWithDummy[q29], + allDiff([i + s_ExplicitVarSizeWithDummy[q29], i * s_ExplicitVarSizeWithDummy[q29], + i / s_ExplicitVarSizeWithDummy[q29]; + int(1..3)]), + (i - s_ExplicitVarSizeWithDummy[q29]) % 2 = 0; + int(1..5)])) + | i : int(1..4), q29 : int(1..4)]) + > 0, + and([s_ExplicitVarSizeWithDummy[q2] < s_ExplicitVarSizeWithDummy[q2 + 1] \/ s_ExplicitVarSizeWithDummy[q2] = 5 + | q2 : int(1..3)]), + and([s_ExplicitVarSizeWithDummy[q3] = 5 -> s_ExplicitVarSizeWithDummy[q3 + 1] = 5 | q3 : int(1..3)]), + and([s_ExplicitVarSizeWithDummy[q7] != 5 -> s_Occurrence[s_ExplicitVarSizeWithDummy[q7]] | q7 : int(1..4)]), + and([s_Occurrence[q8] -> + or([s_ExplicitVarSizeWithDummy[q10] != 5 /\ s_ExplicitVarSizeWithDummy[q10] = q8 | q10 : int(1..4)]) + | q8 : int(1..4)]), + and([s_ExplicitVarSizeWithFlags_Flags[q11 + 1] -> + s_ExplicitVarSizeWithFlags_Values[q11] < s_ExplicitVarSizeWithFlags_Values[q11 + 1] + | q11 : int(1..3)]), + and([s_ExplicitVarSizeWithFlags_Flags[q12] = false -> s_ExplicitVarSizeWithFlags_Values[q12] = 1 + | q12 : int(1..4)]), + and([s_ExplicitVarSizeWithFlags_Flags[q13 + 1] -> s_ExplicitVarSizeWithFlags_Flags[q13] | q13 : int(1..3)]), + and([s_ExplicitVarSizeWithFlags_Flags[q17] -> s_Occurrence[s_ExplicitVarSizeWithFlags_Values[q17]] + | q17 : int(1..4)]), + and([s_Occurrence[q18] -> + or([s_ExplicitVarSizeWithFlags_Flags[q20] /\ s_ExplicitVarSizeWithFlags_Values[q20] = q18 | q20 : int(1..4)]) + | q18 : int(1..4)]), + and([s_ExplicitVarSizeWithFlags_Flags[q22] -> + or([s_ExplicitVarSizeWithDummy[q24] != 5 /\ + s_ExplicitVarSizeWithDummy[q24] = s_ExplicitVarSizeWithFlags_Values[q22] + | q24 : int(1..4)]) + | q22 : int(1..4)]), + and([s_ExplicitVarSizeWithDummy[q26] != 5 -> + or([s_ExplicitVarSizeWithFlags_Flags[q28] /\ + s_ExplicitVarSizeWithFlags_Values[q28] = s_ExplicitVarSizeWithDummy[q26] + | q28 : int(1..4)]) + | q26 : int(1..4)]) + diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_1_3_1-solution000001.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_1_3_1-solution000001.solution new file mode 100644 index 0000000000..8b4ecbb66d --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_1_3_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 3} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_1_3_1-solution000002.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_1_3_1-solution000002.solution new file mode 100644 index 0000000000..159a613983 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_1_3_1-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {2, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_1_3_1-solution000003.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_1_3_1-solution000003.solution new file mode 100644 index 0000000000..5963aac565 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_1_3_1-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 3} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_1_3_1-solution000004.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_1_3_1-solution000004.solution new file mode 100644 index 0000000000..6eeacc9727 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_1_3_1-solution000004.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_1_3_1-solution000005.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_1_3_1-solution000005.solution new file mode 100644 index 0000000000..560dd0f2f7 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_1_3_1-solution000005.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 3, 4} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_1_3_1-solution000006.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_1_3_1-solution000006.solution new file mode 100644 index 0000000000..40f3fd5c8f --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_1_3_1-solution000006.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {2, 3, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_1_3_1-solution000007.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_1_3_1-solution000007.solution new file mode 100644 index 0000000000..bd956f44e3 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_1_3_1-solution000007.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 3, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_1_3_1.eprime b/tests/exhaustive/basic/comprehension_letting/expected/model_1_3_1.eprime new file mode 100644 index 0000000000..52358293ff --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_1_3_1.eprime @@ -0,0 +1,74 @@ +language ESSENCE' 1.0 + +find s_Occurrence: matrix indexed by [int(1..4)] of bool +find s_ExplicitVarSizeWithMarker_Marker: int(0..4) +find s_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +letting let1 be -100 +find x: int(-100..100) +find conjure_aux1: int(-16..3) +branching on [s_ExplicitVarSizeWithMarker_Marker, s_ExplicitVarSizeWithMarker_Values, s_Occurrence, x] +such that + and([and([s_Occurrence[i], q10 <= s_ExplicitVarSizeWithMarker_Marker, i != s_ExplicitVarSizeWithMarker_Values[q10], + allDiff([i + s_ExplicitVarSizeWithMarker_Values[q10], i * s_ExplicitVarSizeWithMarker_Values[q10], + i / s_ExplicitVarSizeWithMarker_Values[q10]; + int(1..3)]), + (i - s_ExplicitVarSizeWithMarker_Values[q10]) % 2 = 0; + int(1..5)]) + -> + min([i + s_ExplicitVarSizeWithMarker_Values[q10], i - s_ExplicitVarSizeWithMarker_Values[q10], + i * s_ExplicitVarSizeWithMarker_Values[q10], i / s_ExplicitVarSizeWithMarker_Values[q10]; + int(1..4)]) + <= conjure_aux1 + | i : int(1..4), q10 : int(1..4)]), + sum([toInt(and([s_Occurrence[i], q10 <= s_ExplicitVarSizeWithMarker_Marker, + i != s_ExplicitVarSizeWithMarker_Values[q10], + allDiff([i + s_ExplicitVarSizeWithMarker_Values[q10], i * s_ExplicitVarSizeWithMarker_Values[q10], + i / s_ExplicitVarSizeWithMarker_Values[q10]; + int(1..3)]), + (i - s_ExplicitVarSizeWithMarker_Values[q10]) % 2 = 0; + int(1..5)])) + | i : int(1..4), q10 : int(1..4)]) + > 0 + -> + or([and([s_Occurrence[i], q10 <= s_ExplicitVarSizeWithMarker_Marker, i != s_ExplicitVarSizeWithMarker_Values[q10], + allDiff([i + s_ExplicitVarSizeWithMarker_Values[q10], i * s_ExplicitVarSizeWithMarker_Values[q10], + i / s_ExplicitVarSizeWithMarker_Values[q10]; + int(1..3)]), + (i - s_ExplicitVarSizeWithMarker_Values[q10]) % 2 = 0; + int(1..5)]) + /\ + min([i + s_ExplicitVarSizeWithMarker_Values[q10], i - s_ExplicitVarSizeWithMarker_Values[q10], + i * s_ExplicitVarSizeWithMarker_Values[q10], i / s_ExplicitVarSizeWithMarker_Values[q10]; + int(1..4)]) + = conjure_aux1 + | i : int(1..4), q10 : int(1..4)]), + sum([toInt(and([s_Occurrence[i], q10 <= s_ExplicitVarSizeWithMarker_Marker, + i != s_ExplicitVarSizeWithMarker_Values[q10], + allDiff([i + s_ExplicitVarSizeWithMarker_Values[q10], i * s_ExplicitVarSizeWithMarker_Values[q10], + i / s_ExplicitVarSizeWithMarker_Values[q10]; + int(1..3)]), + (i - s_ExplicitVarSizeWithMarker_Values[q10]) % 2 = 0; + int(1..5)])) + | i : int(1..4), q10 : int(1..4)]) + = 0 + -> conjure_aux1 = -16, + x = conjure_aux1, + sum([toInt(and([s_Occurrence[i], q10 <= s_ExplicitVarSizeWithMarker_Marker, + i != s_ExplicitVarSizeWithMarker_Values[q10], + allDiff([i + s_ExplicitVarSizeWithMarker_Values[q10], i * s_ExplicitVarSizeWithMarker_Values[q10], + i / s_ExplicitVarSizeWithMarker_Values[q10]; + int(1..3)]), + (i - s_ExplicitVarSizeWithMarker_Values[q10]) % 2 = 0; + int(1..5)])) + | i : int(1..4), q10 : int(1..4)]) + > 0, + and([q2 + 1 <= s_ExplicitVarSizeWithMarker_Marker -> + s_ExplicitVarSizeWithMarker_Values[q2] < s_ExplicitVarSizeWithMarker_Values[q2 + 1] + | q2 : int(1..3)]), + and([q3 > s_ExplicitVarSizeWithMarker_Marker -> s_ExplicitVarSizeWithMarker_Values[q3] = 1 | q3 : int(1..4)]), + and([q6 <= s_ExplicitVarSizeWithMarker_Marker -> s_Occurrence[s_ExplicitVarSizeWithMarker_Values[q6]] + | q6 : int(1..4)]), + and([s_Occurrence[q7] -> + or([q9 <= s_ExplicitVarSizeWithMarker_Marker /\ s_ExplicitVarSizeWithMarker_Values[q9] = q7 | q9 : int(1..4)]) + | q7 : int(1..4)]) + diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_1_3_2-solution000001.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_1_3_2-solution000001.solution new file mode 100644 index 0000000000..bd956f44e3 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_1_3_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 3, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_1_3_2-solution000002.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_1_3_2-solution000002.solution new file mode 100644 index 0000000000..5963aac565 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_1_3_2-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 3} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_1_3_2-solution000003.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_1_3_2-solution000003.solution new file mode 100644 index 0000000000..6eeacc9727 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_1_3_2-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_1_3_2-solution000004.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_1_3_2-solution000004.solution new file mode 100644 index 0000000000..560dd0f2f7 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_1_3_2-solution000004.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 3, 4} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_1_3_2-solution000005.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_1_3_2-solution000005.solution new file mode 100644 index 0000000000..8b4ecbb66d --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_1_3_2-solution000005.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 3} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_1_3_2-solution000006.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_1_3_2-solution000006.solution new file mode 100644 index 0000000000..40f3fd5c8f --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_1_3_2-solution000006.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {2, 3, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_1_3_2-solution000007.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_1_3_2-solution000007.solution new file mode 100644 index 0000000000..159a613983 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_1_3_2-solution000007.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {2, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_1_3_2.eprime b/tests/exhaustive/basic/comprehension_letting/expected/model_1_3_2.eprime new file mode 100644 index 0000000000..8aedcdcc81 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_1_3_2.eprime @@ -0,0 +1,94 @@ +language ESSENCE' 1.0 + +find s_Occurrence: matrix indexed by [int(1..4)] of bool +find s_ExplicitVarSizeWithMarker_Marker: int(0..4) +find s_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +find s_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +letting let1 be -100 +find x: int(-100..100) +find conjure_aux1: int(-16..3) +branching on + [s_ExplicitVarSizeWithDummy, s_Occurrence, s_ExplicitVarSizeWithMarker_Marker, s_ExplicitVarSizeWithMarker_Values, + x] +such that + and([and([s_Occurrence[i], q27 <= s_ExplicitVarSizeWithMarker_Marker, i != s_ExplicitVarSizeWithMarker_Values[q27], + allDiff([i + s_ExplicitVarSizeWithMarker_Values[q27], i * s_ExplicitVarSizeWithMarker_Values[q27], + i / s_ExplicitVarSizeWithMarker_Values[q27]; + int(1..3)]), + (i - s_ExplicitVarSizeWithMarker_Values[q27]) % 2 = 0; + int(1..5)]) + -> + min([i + s_ExplicitVarSizeWithMarker_Values[q27], i - s_ExplicitVarSizeWithMarker_Values[q27], + i * s_ExplicitVarSizeWithMarker_Values[q27], i / s_ExplicitVarSizeWithMarker_Values[q27]; + int(1..4)]) + <= conjure_aux1 + | i : int(1..4), q27 : int(1..4)]), + sum([toInt(and([s_Occurrence[i], q27 <= s_ExplicitVarSizeWithMarker_Marker, + i != s_ExplicitVarSizeWithMarker_Values[q27], + allDiff([i + s_ExplicitVarSizeWithMarker_Values[q27], i * s_ExplicitVarSizeWithMarker_Values[q27], + i / s_ExplicitVarSizeWithMarker_Values[q27]; + int(1..3)]), + (i - s_ExplicitVarSizeWithMarker_Values[q27]) % 2 = 0; + int(1..5)])) + | i : int(1..4), q27 : int(1..4)]) + > 0 + -> + or([and([s_Occurrence[i], q27 <= s_ExplicitVarSizeWithMarker_Marker, i != s_ExplicitVarSizeWithMarker_Values[q27], + allDiff([i + s_ExplicitVarSizeWithMarker_Values[q27], i * s_ExplicitVarSizeWithMarker_Values[q27], + i / s_ExplicitVarSizeWithMarker_Values[q27]; + int(1..3)]), + (i - s_ExplicitVarSizeWithMarker_Values[q27]) % 2 = 0; + int(1..5)]) + /\ + min([i + s_ExplicitVarSizeWithMarker_Values[q27], i - s_ExplicitVarSizeWithMarker_Values[q27], + i * s_ExplicitVarSizeWithMarker_Values[q27], i / s_ExplicitVarSizeWithMarker_Values[q27]; + int(1..4)]) + = conjure_aux1 + | i : int(1..4), q27 : int(1..4)]), + sum([toInt(and([s_Occurrence[i], q27 <= s_ExplicitVarSizeWithMarker_Marker, + i != s_ExplicitVarSizeWithMarker_Values[q27], + allDiff([i + s_ExplicitVarSizeWithMarker_Values[q27], i * s_ExplicitVarSizeWithMarker_Values[q27], + i / s_ExplicitVarSizeWithMarker_Values[q27]; + int(1..3)]), + (i - s_ExplicitVarSizeWithMarker_Values[q27]) % 2 = 0; + int(1..5)])) + | i : int(1..4), q27 : int(1..4)]) + = 0 + -> conjure_aux1 = -16, + x = conjure_aux1, + sum([toInt(and([s_Occurrence[i], q27 <= s_ExplicitVarSizeWithMarker_Marker, + i != s_ExplicitVarSizeWithMarker_Values[q27], + allDiff([i + s_ExplicitVarSizeWithMarker_Values[q27], i * s_ExplicitVarSizeWithMarker_Values[q27], + i / s_ExplicitVarSizeWithMarker_Values[q27]; + int(1..3)]), + (i - s_ExplicitVarSizeWithMarker_Values[q27]) % 2 = 0; + int(1..5)])) + | i : int(1..4), q27 : int(1..4)]) + > 0, + and([q2 + 1 <= s_ExplicitVarSizeWithMarker_Marker -> + s_ExplicitVarSizeWithMarker_Values[q2] < s_ExplicitVarSizeWithMarker_Values[q2 + 1] + | q2 : int(1..3)]), + and([q3 > s_ExplicitVarSizeWithMarker_Marker -> s_ExplicitVarSizeWithMarker_Values[q3] = 1 | q3 : int(1..4)]), + and([q6 <= s_ExplicitVarSizeWithMarker_Marker -> s_Occurrence[s_ExplicitVarSizeWithMarker_Values[q6]] + | q6 : int(1..4)]), + and([s_Occurrence[q7] -> + or([q9 <= s_ExplicitVarSizeWithMarker_Marker /\ s_ExplicitVarSizeWithMarker_Values[q9] = q7 | q9 : int(1..4)]) + | q7 : int(1..4)]), + and([s_ExplicitVarSizeWithDummy[q10] < s_ExplicitVarSizeWithDummy[q10 + 1] \/ s_ExplicitVarSizeWithDummy[q10] = 5 + | q10 : int(1..3)]), + and([s_ExplicitVarSizeWithDummy[q11] = 5 -> s_ExplicitVarSizeWithDummy[q11 + 1] = 5 | q11 : int(1..3)]), + and([s_ExplicitVarSizeWithDummy[q15] != 5 -> s_Occurrence[s_ExplicitVarSizeWithDummy[q15]] | q15 : int(1..4)]), + and([s_Occurrence[q16] -> + or([s_ExplicitVarSizeWithDummy[q18] != 5 /\ s_ExplicitVarSizeWithDummy[q18] = q16 | q18 : int(1..4)]) + | q16 : int(1..4)]), + and([s_ExplicitVarSizeWithDummy[q20] != 5 -> + or([q22 <= s_ExplicitVarSizeWithMarker_Marker /\ + s_ExplicitVarSizeWithMarker_Values[q22] = s_ExplicitVarSizeWithDummy[q20] + | q22 : int(1..4)]) + | q20 : int(1..4)]), + and([q24 <= s_ExplicitVarSizeWithMarker_Marker -> + or([s_ExplicitVarSizeWithDummy[q26] != 5 /\ + s_ExplicitVarSizeWithDummy[q26] = s_ExplicitVarSizeWithMarker_Values[q24] + | q26 : int(1..4)]) + | q24 : int(1..4)]) + diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_1_3_4-solution000001.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_1_3_4-solution000001.solution new file mode 100644 index 0000000000..8b4ecbb66d --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_1_3_4-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 3} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_1_3_4-solution000002.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_1_3_4-solution000002.solution new file mode 100644 index 0000000000..159a613983 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_1_3_4-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {2, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_1_3_4-solution000003.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_1_3_4-solution000003.solution new file mode 100644 index 0000000000..5963aac565 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_1_3_4-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 3} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_1_3_4-solution000004.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_1_3_4-solution000004.solution new file mode 100644 index 0000000000..6eeacc9727 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_1_3_4-solution000004.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_1_3_4-solution000005.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_1_3_4-solution000005.solution new file mode 100644 index 0000000000..560dd0f2f7 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_1_3_4-solution000005.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 3, 4} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_1_3_4-solution000006.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_1_3_4-solution000006.solution new file mode 100644 index 0000000000..40f3fd5c8f --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_1_3_4-solution000006.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {2, 3, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_1_3_4-solution000007.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_1_3_4-solution000007.solution new file mode 100644 index 0000000000..bd956f44e3 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_1_3_4-solution000007.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 3, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_1_3_4.eprime b/tests/exhaustive/basic/comprehension_letting/expected/model_1_3_4.eprime new file mode 100644 index 0000000000..986b4a8cc2 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_1_3_4.eprime @@ -0,0 +1,99 @@ +language ESSENCE' 1.0 + +find s_Occurrence: matrix indexed by [int(1..4)] of bool +find s_ExplicitVarSizeWithMarker_Marker: int(0..4) +find s_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +find s_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find s_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +letting let1 be -100 +find x: int(-100..100) +find conjure_aux1: int(-16..3) +branching on + [s_ExplicitVarSizeWithFlags_Flags, s_ExplicitVarSizeWithFlags_Values, s_Occurrence, + s_ExplicitVarSizeWithMarker_Marker, s_ExplicitVarSizeWithMarker_Values, x] +such that + and([and([s_Occurrence[i], q28 <= s_ExplicitVarSizeWithMarker_Marker, i != s_ExplicitVarSizeWithMarker_Values[q28], + allDiff([i + s_ExplicitVarSizeWithMarker_Values[q28], i * s_ExplicitVarSizeWithMarker_Values[q28], + i / s_ExplicitVarSizeWithMarker_Values[q28]; + int(1..3)]), + (i - s_ExplicitVarSizeWithMarker_Values[q28]) % 2 = 0; + int(1..5)]) + -> + min([i + s_ExplicitVarSizeWithMarker_Values[q28], i - s_ExplicitVarSizeWithMarker_Values[q28], + i * s_ExplicitVarSizeWithMarker_Values[q28], i / s_ExplicitVarSizeWithMarker_Values[q28]; + int(1..4)]) + <= conjure_aux1 + | i : int(1..4), q28 : int(1..4)]), + sum([toInt(and([s_Occurrence[i], q28 <= s_ExplicitVarSizeWithMarker_Marker, + i != s_ExplicitVarSizeWithMarker_Values[q28], + allDiff([i + s_ExplicitVarSizeWithMarker_Values[q28], i * s_ExplicitVarSizeWithMarker_Values[q28], + i / s_ExplicitVarSizeWithMarker_Values[q28]; + int(1..3)]), + (i - s_ExplicitVarSizeWithMarker_Values[q28]) % 2 = 0; + int(1..5)])) + | i : int(1..4), q28 : int(1..4)]) + > 0 + -> + or([and([s_Occurrence[i], q28 <= s_ExplicitVarSizeWithMarker_Marker, i != s_ExplicitVarSizeWithMarker_Values[q28], + allDiff([i + s_ExplicitVarSizeWithMarker_Values[q28], i * s_ExplicitVarSizeWithMarker_Values[q28], + i / s_ExplicitVarSizeWithMarker_Values[q28]; + int(1..3)]), + (i - s_ExplicitVarSizeWithMarker_Values[q28]) % 2 = 0; + int(1..5)]) + /\ + min([i + s_ExplicitVarSizeWithMarker_Values[q28], i - s_ExplicitVarSizeWithMarker_Values[q28], + i * s_ExplicitVarSizeWithMarker_Values[q28], i / s_ExplicitVarSizeWithMarker_Values[q28]; + int(1..4)]) + = conjure_aux1 + | i : int(1..4), q28 : int(1..4)]), + sum([toInt(and([s_Occurrence[i], q28 <= s_ExplicitVarSizeWithMarker_Marker, + i != s_ExplicitVarSizeWithMarker_Values[q28], + allDiff([i + s_ExplicitVarSizeWithMarker_Values[q28], i * s_ExplicitVarSizeWithMarker_Values[q28], + i / s_ExplicitVarSizeWithMarker_Values[q28]; + int(1..3)]), + (i - s_ExplicitVarSizeWithMarker_Values[q28]) % 2 = 0; + int(1..5)])) + | i : int(1..4), q28 : int(1..4)]) + = 0 + -> conjure_aux1 = -16, + x = conjure_aux1, + sum([toInt(and([s_Occurrence[i], q28 <= s_ExplicitVarSizeWithMarker_Marker, + i != s_ExplicitVarSizeWithMarker_Values[q28], + allDiff([i + s_ExplicitVarSizeWithMarker_Values[q28], i * s_ExplicitVarSizeWithMarker_Values[q28], + i / s_ExplicitVarSizeWithMarker_Values[q28]; + int(1..3)]), + (i - s_ExplicitVarSizeWithMarker_Values[q28]) % 2 = 0; + int(1..5)])) + | i : int(1..4), q28 : int(1..4)]) + > 0, + and([q2 + 1 <= s_ExplicitVarSizeWithMarker_Marker -> + s_ExplicitVarSizeWithMarker_Values[q2] < s_ExplicitVarSizeWithMarker_Values[q2 + 1] + | q2 : int(1..3)]), + and([q3 > s_ExplicitVarSizeWithMarker_Marker -> s_ExplicitVarSizeWithMarker_Values[q3] = 1 | q3 : int(1..4)]), + and([q6 <= s_ExplicitVarSizeWithMarker_Marker -> s_Occurrence[s_ExplicitVarSizeWithMarker_Values[q6]] + | q6 : int(1..4)]), + and([s_Occurrence[q7] -> + or([q9 <= s_ExplicitVarSizeWithMarker_Marker /\ s_ExplicitVarSizeWithMarker_Values[q9] = q7 | q9 : int(1..4)]) + | q7 : int(1..4)]), + and([s_ExplicitVarSizeWithFlags_Flags[q10 + 1] -> + s_ExplicitVarSizeWithFlags_Values[q10] < s_ExplicitVarSizeWithFlags_Values[q10 + 1] + | q10 : int(1..3)]), + and([s_ExplicitVarSizeWithFlags_Flags[q11] = false -> s_ExplicitVarSizeWithFlags_Values[q11] = 1 + | q11 : int(1..4)]), + and([s_ExplicitVarSizeWithFlags_Flags[q12 + 1] -> s_ExplicitVarSizeWithFlags_Flags[q12] | q12 : int(1..3)]), + and([s_ExplicitVarSizeWithFlags_Flags[q16] -> s_Occurrence[s_ExplicitVarSizeWithFlags_Values[q16]] + | q16 : int(1..4)]), + and([s_Occurrence[q17] -> + or([s_ExplicitVarSizeWithFlags_Flags[q19] /\ s_ExplicitVarSizeWithFlags_Values[q19] = q17 | q19 : int(1..4)]) + | q17 : int(1..4)]), + and([s_ExplicitVarSizeWithFlags_Flags[q21] -> + or([q23 <= s_ExplicitVarSizeWithMarker_Marker /\ + s_ExplicitVarSizeWithMarker_Values[q23] = s_ExplicitVarSizeWithFlags_Values[q21] + | q23 : int(1..4)]) + | q21 : int(1..4)]), + and([q25 <= s_ExplicitVarSizeWithMarker_Marker -> + or([s_ExplicitVarSizeWithFlags_Flags[q27] /\ + s_ExplicitVarSizeWithFlags_Values[q27] = s_ExplicitVarSizeWithMarker_Values[q25] + | q27 : int(1..4)]) + | q25 : int(1..4)]) + diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_1_4_1-solution000001.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_1_4_1-solution000001.solution new file mode 100644 index 0000000000..8b4ecbb66d --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_1_4_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 3} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_1_4_1-solution000002.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_1_4_1-solution000002.solution new file mode 100644 index 0000000000..159a613983 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_1_4_1-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {2, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_1_4_1-solution000003.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_1_4_1-solution000003.solution new file mode 100644 index 0000000000..5963aac565 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_1_4_1-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 3} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_1_4_1-solution000004.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_1_4_1-solution000004.solution new file mode 100644 index 0000000000..6eeacc9727 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_1_4_1-solution000004.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_1_4_1-solution000005.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_1_4_1-solution000005.solution new file mode 100644 index 0000000000..560dd0f2f7 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_1_4_1-solution000005.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 3, 4} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_1_4_1-solution000006.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_1_4_1-solution000006.solution new file mode 100644 index 0000000000..40f3fd5c8f --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_1_4_1-solution000006.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {2, 3, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_1_4_1-solution000007.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_1_4_1-solution000007.solution new file mode 100644 index 0000000000..bd956f44e3 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_1_4_1-solution000007.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 3, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_1_4_1.eprime b/tests/exhaustive/basic/comprehension_letting/expected/model_1_4_1.eprime new file mode 100644 index 0000000000..2c748ac8af --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_1_4_1.eprime @@ -0,0 +1,71 @@ +language ESSENCE' 1.0 + +find s_Occurrence: matrix indexed by [int(1..4)] of bool +find s_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find s_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +letting let1 be -100 +find x: int(-100..100) +find conjure_aux1: int(-16..3) +branching on [s_ExplicitVarSizeWithFlags_Flags, s_ExplicitVarSizeWithFlags_Values, s_Occurrence, x] +such that + and([and([s_Occurrence[i], s_ExplicitVarSizeWithFlags_Flags[q12], i != s_ExplicitVarSizeWithFlags_Values[q12], + allDiff([i + s_ExplicitVarSizeWithFlags_Values[q12], i * s_ExplicitVarSizeWithFlags_Values[q12], + i / s_ExplicitVarSizeWithFlags_Values[q12]; + int(1..3)]), + (i - s_ExplicitVarSizeWithFlags_Values[q12]) % 2 = 0; + int(1..5)]) + -> + min([i + s_ExplicitVarSizeWithFlags_Values[q12], i - s_ExplicitVarSizeWithFlags_Values[q12], + i * s_ExplicitVarSizeWithFlags_Values[q12], i / s_ExplicitVarSizeWithFlags_Values[q12]; + int(1..4)]) + <= conjure_aux1 + | i : int(1..4), q12 : int(1..4)]), + sum([toInt(and([s_Occurrence[i], s_ExplicitVarSizeWithFlags_Flags[q12], i != s_ExplicitVarSizeWithFlags_Values[q12], + allDiff([i + s_ExplicitVarSizeWithFlags_Values[q12], i * s_ExplicitVarSizeWithFlags_Values[q12], + i / s_ExplicitVarSizeWithFlags_Values[q12]; + int(1..3)]), + (i - s_ExplicitVarSizeWithFlags_Values[q12]) % 2 = 0; + int(1..5)])) + | i : int(1..4), q12 : int(1..4)]) + > 0 + -> + or([and([s_Occurrence[i], s_ExplicitVarSizeWithFlags_Flags[q12], i != s_ExplicitVarSizeWithFlags_Values[q12], + allDiff([i + s_ExplicitVarSizeWithFlags_Values[q12], i * s_ExplicitVarSizeWithFlags_Values[q12], + i / s_ExplicitVarSizeWithFlags_Values[q12]; + int(1..3)]), + (i - s_ExplicitVarSizeWithFlags_Values[q12]) % 2 = 0; + int(1..5)]) + /\ + min([i + s_ExplicitVarSizeWithFlags_Values[q12], i - s_ExplicitVarSizeWithFlags_Values[q12], + i * s_ExplicitVarSizeWithFlags_Values[q12], i / s_ExplicitVarSizeWithFlags_Values[q12]; + int(1..4)]) + = conjure_aux1 + | i : int(1..4), q12 : int(1..4)]), + sum([toInt(and([s_Occurrence[i], s_ExplicitVarSizeWithFlags_Flags[q12], i != s_ExplicitVarSizeWithFlags_Values[q12], + allDiff([i + s_ExplicitVarSizeWithFlags_Values[q12], i * s_ExplicitVarSizeWithFlags_Values[q12], + i / s_ExplicitVarSizeWithFlags_Values[q12]; + int(1..3)]), + (i - s_ExplicitVarSizeWithFlags_Values[q12]) % 2 = 0; + int(1..5)])) + | i : int(1..4), q12 : int(1..4)]) + = 0 + -> conjure_aux1 = -16, + x = conjure_aux1, + sum([toInt(and([s_Occurrence[i], s_ExplicitVarSizeWithFlags_Flags[q12], i != s_ExplicitVarSizeWithFlags_Values[q12], + allDiff([i + s_ExplicitVarSizeWithFlags_Values[q12], i * s_ExplicitVarSizeWithFlags_Values[q12], + i / s_ExplicitVarSizeWithFlags_Values[q12]; + int(1..3)]), + (i - s_ExplicitVarSizeWithFlags_Values[q12]) % 2 = 0; + int(1..5)])) + | i : int(1..4), q12 : int(1..4)]) + > 0, + and([s_ExplicitVarSizeWithFlags_Flags[q2 + 1] -> + s_ExplicitVarSizeWithFlags_Values[q2] < s_ExplicitVarSizeWithFlags_Values[q2 + 1] + | q2 : int(1..3)]), + and([s_ExplicitVarSizeWithFlags_Flags[q3] = false -> s_ExplicitVarSizeWithFlags_Values[q3] = 1 | q3 : int(1..4)]), + and([s_ExplicitVarSizeWithFlags_Flags[q4 + 1] -> s_ExplicitVarSizeWithFlags_Flags[q4] | q4 : int(1..3)]), + and([s_ExplicitVarSizeWithFlags_Flags[q8] -> s_Occurrence[s_ExplicitVarSizeWithFlags_Values[q8]] | q8 : int(1..4)]), + and([s_Occurrence[q9] -> + or([s_ExplicitVarSizeWithFlags_Flags[q11] /\ s_ExplicitVarSizeWithFlags_Values[q11] = q9 | q11 : int(1..4)]) + | q9 : int(1..4)]) + diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_1_4_2-solution000001.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_1_4_2-solution000001.solution new file mode 100644 index 0000000000..bd956f44e3 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_1_4_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 3, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_1_4_2-solution000002.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_1_4_2-solution000002.solution new file mode 100644 index 0000000000..5963aac565 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_1_4_2-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 3} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_1_4_2-solution000003.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_1_4_2-solution000003.solution new file mode 100644 index 0000000000..6eeacc9727 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_1_4_2-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_1_4_2-solution000004.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_1_4_2-solution000004.solution new file mode 100644 index 0000000000..560dd0f2f7 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_1_4_2-solution000004.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 3, 4} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_1_4_2-solution000005.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_1_4_2-solution000005.solution new file mode 100644 index 0000000000..8b4ecbb66d --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_1_4_2-solution000005.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 3} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_1_4_2-solution000006.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_1_4_2-solution000006.solution new file mode 100644 index 0000000000..40f3fd5c8f --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_1_4_2-solution000006.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {2, 3, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_1_4_2-solution000007.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_1_4_2-solution000007.solution new file mode 100644 index 0000000000..159a613983 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_1_4_2-solution000007.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {2, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_1_4_2.eprime b/tests/exhaustive/basic/comprehension_letting/expected/model_1_4_2.eprime new file mode 100644 index 0000000000..08c34a7a31 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_1_4_2.eprime @@ -0,0 +1,90 @@ +language ESSENCE' 1.0 + +find s_Occurrence: matrix indexed by [int(1..4)] of bool +find s_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find s_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +find s_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +letting let1 be -100 +find x: int(-100..100) +find conjure_aux1: int(-16..3) +branching on + [s_ExplicitVarSizeWithDummy, s_Occurrence, s_ExplicitVarSizeWithFlags_Flags, s_ExplicitVarSizeWithFlags_Values, x] +such that + and([and([s_Occurrence[i], s_ExplicitVarSizeWithFlags_Flags[q29], i != s_ExplicitVarSizeWithFlags_Values[q29], + allDiff([i + s_ExplicitVarSizeWithFlags_Values[q29], i * s_ExplicitVarSizeWithFlags_Values[q29], + i / s_ExplicitVarSizeWithFlags_Values[q29]; + int(1..3)]), + (i - s_ExplicitVarSizeWithFlags_Values[q29]) % 2 = 0; + int(1..5)]) + -> + min([i + s_ExplicitVarSizeWithFlags_Values[q29], i - s_ExplicitVarSizeWithFlags_Values[q29], + i * s_ExplicitVarSizeWithFlags_Values[q29], i / s_ExplicitVarSizeWithFlags_Values[q29]; + int(1..4)]) + <= conjure_aux1 + | i : int(1..4), q29 : int(1..4)]), + sum([toInt(and([s_Occurrence[i], s_ExplicitVarSizeWithFlags_Flags[q29], i != s_ExplicitVarSizeWithFlags_Values[q29], + allDiff([i + s_ExplicitVarSizeWithFlags_Values[q29], i * s_ExplicitVarSizeWithFlags_Values[q29], + i / s_ExplicitVarSizeWithFlags_Values[q29]; + int(1..3)]), + (i - s_ExplicitVarSizeWithFlags_Values[q29]) % 2 = 0; + int(1..5)])) + | i : int(1..4), q29 : int(1..4)]) + > 0 + -> + or([and([s_Occurrence[i], s_ExplicitVarSizeWithFlags_Flags[q29], i != s_ExplicitVarSizeWithFlags_Values[q29], + allDiff([i + s_ExplicitVarSizeWithFlags_Values[q29], i * s_ExplicitVarSizeWithFlags_Values[q29], + i / s_ExplicitVarSizeWithFlags_Values[q29]; + int(1..3)]), + (i - s_ExplicitVarSizeWithFlags_Values[q29]) % 2 = 0; + int(1..5)]) + /\ + min([i + s_ExplicitVarSizeWithFlags_Values[q29], i - s_ExplicitVarSizeWithFlags_Values[q29], + i * s_ExplicitVarSizeWithFlags_Values[q29], i / s_ExplicitVarSizeWithFlags_Values[q29]; + int(1..4)]) + = conjure_aux1 + | i : int(1..4), q29 : int(1..4)]), + sum([toInt(and([s_Occurrence[i], s_ExplicitVarSizeWithFlags_Flags[q29], i != s_ExplicitVarSizeWithFlags_Values[q29], + allDiff([i + s_ExplicitVarSizeWithFlags_Values[q29], i * s_ExplicitVarSizeWithFlags_Values[q29], + i / s_ExplicitVarSizeWithFlags_Values[q29]; + int(1..3)]), + (i - s_ExplicitVarSizeWithFlags_Values[q29]) % 2 = 0; + int(1..5)])) + | i : int(1..4), q29 : int(1..4)]) + = 0 + -> conjure_aux1 = -16, + x = conjure_aux1, + sum([toInt(and([s_Occurrence[i], s_ExplicitVarSizeWithFlags_Flags[q29], i != s_ExplicitVarSizeWithFlags_Values[q29], + allDiff([i + s_ExplicitVarSizeWithFlags_Values[q29], i * s_ExplicitVarSizeWithFlags_Values[q29], + i / s_ExplicitVarSizeWithFlags_Values[q29]; + int(1..3)]), + (i - s_ExplicitVarSizeWithFlags_Values[q29]) % 2 = 0; + int(1..5)])) + | i : int(1..4), q29 : int(1..4)]) + > 0, + and([s_ExplicitVarSizeWithFlags_Flags[q2 + 1] -> + s_ExplicitVarSizeWithFlags_Values[q2] < s_ExplicitVarSizeWithFlags_Values[q2 + 1] + | q2 : int(1..3)]), + and([s_ExplicitVarSizeWithFlags_Flags[q3] = false -> s_ExplicitVarSizeWithFlags_Values[q3] = 1 | q3 : int(1..4)]), + and([s_ExplicitVarSizeWithFlags_Flags[q4 + 1] -> s_ExplicitVarSizeWithFlags_Flags[q4] | q4 : int(1..3)]), + and([s_ExplicitVarSizeWithFlags_Flags[q8] -> s_Occurrence[s_ExplicitVarSizeWithFlags_Values[q8]] | q8 : int(1..4)]), + and([s_Occurrence[q9] -> + or([s_ExplicitVarSizeWithFlags_Flags[q11] /\ s_ExplicitVarSizeWithFlags_Values[q11] = q9 | q11 : int(1..4)]) + | q9 : int(1..4)]), + and([s_ExplicitVarSizeWithDummy[q12] < s_ExplicitVarSizeWithDummy[q12 + 1] \/ s_ExplicitVarSizeWithDummy[q12] = 5 + | q12 : int(1..3)]), + and([s_ExplicitVarSizeWithDummy[q13] = 5 -> s_ExplicitVarSizeWithDummy[q13 + 1] = 5 | q13 : int(1..3)]), + and([s_ExplicitVarSizeWithDummy[q17] != 5 -> s_Occurrence[s_ExplicitVarSizeWithDummy[q17]] | q17 : int(1..4)]), + and([s_Occurrence[q18] -> + or([s_ExplicitVarSizeWithDummy[q20] != 5 /\ s_ExplicitVarSizeWithDummy[q20] = q18 | q20 : int(1..4)]) + | q18 : int(1..4)]), + and([s_ExplicitVarSizeWithDummy[q22] != 5 -> + or([s_ExplicitVarSizeWithFlags_Flags[q24] /\ + s_ExplicitVarSizeWithFlags_Values[q24] = s_ExplicitVarSizeWithDummy[q22] + | q24 : int(1..4)]) + | q22 : int(1..4)]), + and([s_ExplicitVarSizeWithFlags_Flags[q26] -> + or([s_ExplicitVarSizeWithDummy[q28] != 5 /\ + s_ExplicitVarSizeWithDummy[q28] = s_ExplicitVarSizeWithFlags_Values[q26] + | q28 : int(1..4)]) + | q26 : int(1..4)]) + diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_1_4_3-solution000001.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_1_4_3-solution000001.solution new file mode 100644 index 0000000000..8b4ecbb66d --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_1_4_3-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 3} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_1_4_3-solution000002.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_1_4_3-solution000002.solution new file mode 100644 index 0000000000..159a613983 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_1_4_3-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {2, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_1_4_3-solution000003.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_1_4_3-solution000003.solution new file mode 100644 index 0000000000..5963aac565 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_1_4_3-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 3} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_1_4_3-solution000004.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_1_4_3-solution000004.solution new file mode 100644 index 0000000000..6eeacc9727 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_1_4_3-solution000004.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_1_4_3-solution000005.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_1_4_3-solution000005.solution new file mode 100644 index 0000000000..560dd0f2f7 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_1_4_3-solution000005.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 3, 4} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_1_4_3-solution000006.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_1_4_3-solution000006.solution new file mode 100644 index 0000000000..40f3fd5c8f --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_1_4_3-solution000006.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {2, 3, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_1_4_3-solution000007.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_1_4_3-solution000007.solution new file mode 100644 index 0000000000..bd956f44e3 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_1_4_3-solution000007.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 3, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_1_4_3.eprime b/tests/exhaustive/basic/comprehension_letting/expected/model_1_4_3.eprime new file mode 100644 index 0000000000..c3e1894ef9 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_1_4_3.eprime @@ -0,0 +1,95 @@ +language ESSENCE' 1.0 + +find s_Occurrence: matrix indexed by [int(1..4)] of bool +find s_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find s_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +find s_ExplicitVarSizeWithMarker_Marker: int(0..4) +find s_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +letting let1 be -100 +find x: int(-100..100) +find conjure_aux1: int(-16..3) +branching on + [s_ExplicitVarSizeWithMarker_Marker, s_ExplicitVarSizeWithMarker_Values, s_Occurrence, + s_ExplicitVarSizeWithFlags_Flags, s_ExplicitVarSizeWithFlags_Values, x] +such that + and([and([s_Occurrence[i], s_ExplicitVarSizeWithFlags_Flags[q28], i != s_ExplicitVarSizeWithFlags_Values[q28], + allDiff([i + s_ExplicitVarSizeWithFlags_Values[q28], i * s_ExplicitVarSizeWithFlags_Values[q28], + i / s_ExplicitVarSizeWithFlags_Values[q28]; + int(1..3)]), + (i - s_ExplicitVarSizeWithFlags_Values[q28]) % 2 = 0; + int(1..5)]) + -> + min([i + s_ExplicitVarSizeWithFlags_Values[q28], i - s_ExplicitVarSizeWithFlags_Values[q28], + i * s_ExplicitVarSizeWithFlags_Values[q28], i / s_ExplicitVarSizeWithFlags_Values[q28]; + int(1..4)]) + <= conjure_aux1 + | i : int(1..4), q28 : int(1..4)]), + sum([toInt(and([s_Occurrence[i], s_ExplicitVarSizeWithFlags_Flags[q28], i != s_ExplicitVarSizeWithFlags_Values[q28], + allDiff([i + s_ExplicitVarSizeWithFlags_Values[q28], i * s_ExplicitVarSizeWithFlags_Values[q28], + i / s_ExplicitVarSizeWithFlags_Values[q28]; + int(1..3)]), + (i - s_ExplicitVarSizeWithFlags_Values[q28]) % 2 = 0; + int(1..5)])) + | i : int(1..4), q28 : int(1..4)]) + > 0 + -> + or([and([s_Occurrence[i], s_ExplicitVarSizeWithFlags_Flags[q28], i != s_ExplicitVarSizeWithFlags_Values[q28], + allDiff([i + s_ExplicitVarSizeWithFlags_Values[q28], i * s_ExplicitVarSizeWithFlags_Values[q28], + i / s_ExplicitVarSizeWithFlags_Values[q28]; + int(1..3)]), + (i - s_ExplicitVarSizeWithFlags_Values[q28]) % 2 = 0; + int(1..5)]) + /\ + min([i + s_ExplicitVarSizeWithFlags_Values[q28], i - s_ExplicitVarSizeWithFlags_Values[q28], + i * s_ExplicitVarSizeWithFlags_Values[q28], i / s_ExplicitVarSizeWithFlags_Values[q28]; + int(1..4)]) + = conjure_aux1 + | i : int(1..4), q28 : int(1..4)]), + sum([toInt(and([s_Occurrence[i], s_ExplicitVarSizeWithFlags_Flags[q28], i != s_ExplicitVarSizeWithFlags_Values[q28], + allDiff([i + s_ExplicitVarSizeWithFlags_Values[q28], i * s_ExplicitVarSizeWithFlags_Values[q28], + i / s_ExplicitVarSizeWithFlags_Values[q28]; + int(1..3)]), + (i - s_ExplicitVarSizeWithFlags_Values[q28]) % 2 = 0; + int(1..5)])) + | i : int(1..4), q28 : int(1..4)]) + = 0 + -> conjure_aux1 = -16, + x = conjure_aux1, + sum([toInt(and([s_Occurrence[i], s_ExplicitVarSizeWithFlags_Flags[q28], i != s_ExplicitVarSizeWithFlags_Values[q28], + allDiff([i + s_ExplicitVarSizeWithFlags_Values[q28], i * s_ExplicitVarSizeWithFlags_Values[q28], + i / s_ExplicitVarSizeWithFlags_Values[q28]; + int(1..3)]), + (i - s_ExplicitVarSizeWithFlags_Values[q28]) % 2 = 0; + int(1..5)])) + | i : int(1..4), q28 : int(1..4)]) + > 0, + and([s_ExplicitVarSizeWithFlags_Flags[q2 + 1] -> + s_ExplicitVarSizeWithFlags_Values[q2] < s_ExplicitVarSizeWithFlags_Values[q2 + 1] + | q2 : int(1..3)]), + and([s_ExplicitVarSizeWithFlags_Flags[q3] = false -> s_ExplicitVarSizeWithFlags_Values[q3] = 1 | q3 : int(1..4)]), + and([s_ExplicitVarSizeWithFlags_Flags[q4 + 1] -> s_ExplicitVarSizeWithFlags_Flags[q4] | q4 : int(1..3)]), + and([s_ExplicitVarSizeWithFlags_Flags[q8] -> s_Occurrence[s_ExplicitVarSizeWithFlags_Values[q8]] | q8 : int(1..4)]), + and([s_Occurrence[q9] -> + or([s_ExplicitVarSizeWithFlags_Flags[q11] /\ s_ExplicitVarSizeWithFlags_Values[q11] = q9 | q11 : int(1..4)]) + | q9 : int(1..4)]), + and([q12 + 1 <= s_ExplicitVarSizeWithMarker_Marker -> + s_ExplicitVarSizeWithMarker_Values[q12] < s_ExplicitVarSizeWithMarker_Values[q12 + 1] + | q12 : int(1..3)]), + and([q13 > s_ExplicitVarSizeWithMarker_Marker -> s_ExplicitVarSizeWithMarker_Values[q13] = 1 | q13 : int(1..4)]), + and([q16 <= s_ExplicitVarSizeWithMarker_Marker -> s_Occurrence[s_ExplicitVarSizeWithMarker_Values[q16]] + | q16 : int(1..4)]), + and([s_Occurrence[q17] -> + or([q19 <= s_ExplicitVarSizeWithMarker_Marker /\ s_ExplicitVarSizeWithMarker_Values[q19] = q17 + | q19 : int(1..4)]) + | q17 : int(1..4)]), + and([q21 <= s_ExplicitVarSizeWithMarker_Marker -> + or([s_ExplicitVarSizeWithFlags_Flags[q23] /\ + s_ExplicitVarSizeWithFlags_Values[q23] = s_ExplicitVarSizeWithMarker_Values[q21] + | q23 : int(1..4)]) + | q21 : int(1..4)]), + and([s_ExplicitVarSizeWithFlags_Flags[q25] -> + or([q27 <= s_ExplicitVarSizeWithMarker_Marker /\ + s_ExplicitVarSizeWithMarker_Values[q27] = s_ExplicitVarSizeWithFlags_Values[q25] + | q27 : int(1..4)]) + | q25 : int(1..4)]) + diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_2_1_1-solution000001.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_2_1_1-solution000001.solution new file mode 100644 index 0000000000..159a613983 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_2_1_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {2, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_2_1_1-solution000002.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_2_1_1-solution000002.solution new file mode 100644 index 0000000000..40f3fd5c8f --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_2_1_1-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {2, 3, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_2_1_1-solution000003.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_2_1_1-solution000003.solution new file mode 100644 index 0000000000..8b4ecbb66d --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_2_1_1-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 3} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_2_1_1-solution000004.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_2_1_1-solution000004.solution new file mode 100644 index 0000000000..560dd0f2f7 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_2_1_1-solution000004.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 3, 4} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_2_1_1-solution000005.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_2_1_1-solution000005.solution new file mode 100644 index 0000000000..6eeacc9727 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_2_1_1-solution000005.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_2_1_1-solution000006.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_2_1_1-solution000006.solution new file mode 100644 index 0000000000..5963aac565 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_2_1_1-solution000006.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 3} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_2_1_1-solution000007.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_2_1_1-solution000007.solution new file mode 100644 index 0000000000..bd956f44e3 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_2_1_1-solution000007.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 3, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_2_1_1.eprime b/tests/exhaustive/basic/comprehension_letting/expected/model_2_1_1.eprime new file mode 100644 index 0000000000..acf6c8641f --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_2_1_1.eprime @@ -0,0 +1,68 @@ +language ESSENCE' 1.0 + +find s_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +find s_Occurrence: matrix indexed by [int(1..4)] of bool +letting let1 be -100 +find x: int(-100..100) +find conjure_aux1: int(-20..4) +branching on [s_Occurrence, s_ExplicitVarSizeWithDummy, x] +such that + and([and([s_ExplicitVarSizeWithDummy[q6] != 5, s_Occurrence[j], s_ExplicitVarSizeWithDummy[q6] != j, + allDiff([s_ExplicitVarSizeWithDummy[q6] + j, s_ExplicitVarSizeWithDummy[q6] * j, + s_ExplicitVarSizeWithDummy[q6] / j; + int(1..3)]), + (s_ExplicitVarSizeWithDummy[q6] - j) % 2 = 0; + int(1..5)]) + -> + min([s_ExplicitVarSizeWithDummy[q6] + j, s_ExplicitVarSizeWithDummy[q6] - j, + s_ExplicitVarSizeWithDummy[q6] * j, s_ExplicitVarSizeWithDummy[q6] / j; + int(1..4)]) + <= conjure_aux1 + | q6 : int(1..4), j : int(1..4)]), + sum([toInt(and([s_ExplicitVarSizeWithDummy[q6] != 5, s_Occurrence[j], s_ExplicitVarSizeWithDummy[q6] != j, + allDiff([s_ExplicitVarSizeWithDummy[q6] + j, s_ExplicitVarSizeWithDummy[q6] * j, + s_ExplicitVarSizeWithDummy[q6] / j; + int(1..3)]), + (s_ExplicitVarSizeWithDummy[q6] - j) % 2 = 0; + int(1..5)])) + | q6 : int(1..4), j : int(1..4)]) + > 0 + -> + or([and([s_ExplicitVarSizeWithDummy[q6] != 5, s_Occurrence[j], s_ExplicitVarSizeWithDummy[q6] != j, + allDiff([s_ExplicitVarSizeWithDummy[q6] + j, s_ExplicitVarSizeWithDummy[q6] * j, + s_ExplicitVarSizeWithDummy[q6] / j; + int(1..3)]), + (s_ExplicitVarSizeWithDummy[q6] - j) % 2 = 0; + int(1..5)]) + /\ + min([s_ExplicitVarSizeWithDummy[q6] + j, s_ExplicitVarSizeWithDummy[q6] - j, s_ExplicitVarSizeWithDummy[q6] * j, + s_ExplicitVarSizeWithDummy[q6] / j; + int(1..4)]) + = conjure_aux1 + | q6 : int(1..4), j : int(1..4)]), + sum([toInt(and([s_ExplicitVarSizeWithDummy[q6] != 5, s_Occurrence[j], s_ExplicitVarSizeWithDummy[q6] != j, + allDiff([s_ExplicitVarSizeWithDummy[q6] + j, s_ExplicitVarSizeWithDummy[q6] * j, + s_ExplicitVarSizeWithDummy[q6] / j; + int(1..3)]), + (s_ExplicitVarSizeWithDummy[q6] - j) % 2 = 0; + int(1..5)])) + | q6 : int(1..4), j : int(1..4)]) + = 0 + -> conjure_aux1 = -20, + x = conjure_aux1, + sum([toInt(and([s_ExplicitVarSizeWithDummy[q6] != 5, s_Occurrence[j], s_ExplicitVarSizeWithDummy[q6] != j, + allDiff([s_ExplicitVarSizeWithDummy[q6] + j, s_ExplicitVarSizeWithDummy[q6] * j, + s_ExplicitVarSizeWithDummy[q6] / j; + int(1..3)]), + (s_ExplicitVarSizeWithDummy[q6] - j) % 2 = 0; + int(1..5)])) + | q6 : int(1..4), j : int(1..4)]) + > 0, + and([s_ExplicitVarSizeWithDummy[q1] < s_ExplicitVarSizeWithDummy[q1 + 1] \/ s_ExplicitVarSizeWithDummy[q1] = 5 + | q1 : int(1..3)]), + and([s_ExplicitVarSizeWithDummy[q2] = 5 -> s_ExplicitVarSizeWithDummy[q2 + 1] = 5 | q2 : int(1..3)]), + and([s_Occurrence[q28] -> + or([s_ExplicitVarSizeWithDummy[q30] != 5 /\ s_ExplicitVarSizeWithDummy[q30] = q28 | q30 : int(1..4)]) + | q28 : int(1..4)]), + and([s_ExplicitVarSizeWithDummy[q32] != 5 -> s_Occurrence[s_ExplicitVarSizeWithDummy[q32]] | q32 : int(1..4)]) + diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_2_1_3-solution000001.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_2_1_3-solution000001.solution new file mode 100644 index 0000000000..8b4ecbb66d --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_2_1_3-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 3} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_2_1_3-solution000002.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_2_1_3-solution000002.solution new file mode 100644 index 0000000000..159a613983 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_2_1_3-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {2, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_2_1_3-solution000003.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_2_1_3-solution000003.solution new file mode 100644 index 0000000000..5963aac565 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_2_1_3-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 3} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_2_1_3-solution000004.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_2_1_3-solution000004.solution new file mode 100644 index 0000000000..6eeacc9727 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_2_1_3-solution000004.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_2_1_3-solution000005.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_2_1_3-solution000005.solution new file mode 100644 index 0000000000..560dd0f2f7 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_2_1_3-solution000005.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 3, 4} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_2_1_3-solution000006.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_2_1_3-solution000006.solution new file mode 100644 index 0000000000..40f3fd5c8f --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_2_1_3-solution000006.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {2, 3, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_2_1_3-solution000007.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_2_1_3-solution000007.solution new file mode 100644 index 0000000000..bd956f44e3 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_2_1_3-solution000007.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 3, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_2_1_3.eprime b/tests/exhaustive/basic/comprehension_letting/expected/model_2_1_3.eprime new file mode 100644 index 0000000000..3f8f2d2249 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_2_1_3.eprime @@ -0,0 +1,92 @@ +language ESSENCE' 1.0 + +find s_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +find s_Occurrence: matrix indexed by [int(1..4)] of bool +find s_ExplicitVarSizeWithMarker_Marker: int(0..4) +find s_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +letting let1 be -100 +find x: int(-100..100) +find conjure_aux1: int(-20..4) +branching on + [s_ExplicitVarSizeWithMarker_Marker, s_ExplicitVarSizeWithMarker_Values, s_ExplicitVarSizeWithDummy, s_Occurrence, + x] +such that + and([and([s_ExplicitVarSizeWithDummy[q22] != 5, s_Occurrence[j], s_ExplicitVarSizeWithDummy[q22] != j, + allDiff([s_ExplicitVarSizeWithDummy[q22] + j, s_ExplicitVarSizeWithDummy[q22] * j, + s_ExplicitVarSizeWithDummy[q22] / j; + int(1..3)]), + (s_ExplicitVarSizeWithDummy[q22] - j) % 2 = 0; + int(1..5)]) + -> + min([s_ExplicitVarSizeWithDummy[q22] + j, s_ExplicitVarSizeWithDummy[q22] - j, + s_ExplicitVarSizeWithDummy[q22] * j, s_ExplicitVarSizeWithDummy[q22] / j; + int(1..4)]) + <= conjure_aux1 + | q22 : int(1..4), j : int(1..4)]), + sum([toInt(and([s_ExplicitVarSizeWithDummy[q22] != 5, s_Occurrence[j], s_ExplicitVarSizeWithDummy[q22] != j, + allDiff([s_ExplicitVarSizeWithDummy[q22] + j, s_ExplicitVarSizeWithDummy[q22] * j, + s_ExplicitVarSizeWithDummy[q22] / j; + int(1..3)]), + (s_ExplicitVarSizeWithDummy[q22] - j) % 2 = 0; + int(1..5)])) + | q22 : int(1..4), j : int(1..4)]) + > 0 + -> + or([and([s_ExplicitVarSizeWithDummy[q22] != 5, s_Occurrence[j], s_ExplicitVarSizeWithDummy[q22] != j, + allDiff([s_ExplicitVarSizeWithDummy[q22] + j, s_ExplicitVarSizeWithDummy[q22] * j, + s_ExplicitVarSizeWithDummy[q22] / j; + int(1..3)]), + (s_ExplicitVarSizeWithDummy[q22] - j) % 2 = 0; + int(1..5)]) + /\ + min([s_ExplicitVarSizeWithDummy[q22] + j, s_ExplicitVarSizeWithDummy[q22] - j, + s_ExplicitVarSizeWithDummy[q22] * j, s_ExplicitVarSizeWithDummy[q22] / j; + int(1..4)]) + = conjure_aux1 + | q22 : int(1..4), j : int(1..4)]), + sum([toInt(and([s_ExplicitVarSizeWithDummy[q22] != 5, s_Occurrence[j], s_ExplicitVarSizeWithDummy[q22] != j, + allDiff([s_ExplicitVarSizeWithDummy[q22] + j, s_ExplicitVarSizeWithDummy[q22] * j, + s_ExplicitVarSizeWithDummy[q22] / j; + int(1..3)]), + (s_ExplicitVarSizeWithDummy[q22] - j) % 2 = 0; + int(1..5)])) + | q22 : int(1..4), j : int(1..4)]) + = 0 + -> conjure_aux1 = -20, + x = conjure_aux1, + sum([toInt(and([s_ExplicitVarSizeWithDummy[q22] != 5, s_Occurrence[j], s_ExplicitVarSizeWithDummy[q22] != j, + allDiff([s_ExplicitVarSizeWithDummy[q22] + j, s_ExplicitVarSizeWithDummy[q22] * j, + s_ExplicitVarSizeWithDummy[q22] / j; + int(1..3)]), + (s_ExplicitVarSizeWithDummy[q22] - j) % 2 = 0; + int(1..5)])) + | q22 : int(1..4), j : int(1..4)]) + > 0, + and([s_ExplicitVarSizeWithDummy[q1] < s_ExplicitVarSizeWithDummy[q1 + 1] \/ s_ExplicitVarSizeWithDummy[q1] = 5 + | q1 : int(1..3)]), + and([s_ExplicitVarSizeWithDummy[q2] = 5 -> s_ExplicitVarSizeWithDummy[q2 + 1] = 5 | q2 : int(1..3)]), + and([s_Occurrence[q44] -> + or([s_ExplicitVarSizeWithDummy[q46] != 5 /\ s_ExplicitVarSizeWithDummy[q46] = q44 | q46 : int(1..4)]) + | q44 : int(1..4)]), + and([s_ExplicitVarSizeWithDummy[q48] != 5 -> s_Occurrence[s_ExplicitVarSizeWithDummy[q48]] | q48 : int(1..4)]), + and([q6 + 1 <= s_ExplicitVarSizeWithMarker_Marker -> + s_ExplicitVarSizeWithMarker_Values[q6] < s_ExplicitVarSizeWithMarker_Values[q6 + 1] + | q6 : int(1..3)]), + and([q7 > s_ExplicitVarSizeWithMarker_Marker -> s_ExplicitVarSizeWithMarker_Values[q7] = 1 | q7 : int(1..4)]), + and([q10 <= s_ExplicitVarSizeWithMarker_Marker -> + or([s_ExplicitVarSizeWithDummy[q12] != 5 /\ + s_ExplicitVarSizeWithDummy[q12] = s_ExplicitVarSizeWithMarker_Values[q10] + | q12 : int(1..4)]) + | q10 : int(1..4)]), + and([s_ExplicitVarSizeWithDummy[q14] != 5 -> + or([q16 <= s_ExplicitVarSizeWithMarker_Marker /\ + s_ExplicitVarSizeWithMarker_Values[q16] = s_ExplicitVarSizeWithDummy[q14] + | q16 : int(1..4)]) + | q14 : int(1..4)]), + and([q18 <= s_ExplicitVarSizeWithMarker_Marker -> s_Occurrence[s_ExplicitVarSizeWithMarker_Values[q18]] + | q18 : int(1..4)]), + and([s_Occurrence[q19] -> + or([q21 <= s_ExplicitVarSizeWithMarker_Marker /\ s_ExplicitVarSizeWithMarker_Values[q21] = q19 + | q21 : int(1..4)]) + | q19 : int(1..4)]) + diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_2_1_4-solution000001.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_2_1_4-solution000001.solution new file mode 100644 index 0000000000..8b4ecbb66d --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_2_1_4-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 3} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_2_1_4-solution000002.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_2_1_4-solution000002.solution new file mode 100644 index 0000000000..159a613983 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_2_1_4-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {2, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_2_1_4-solution000003.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_2_1_4-solution000003.solution new file mode 100644 index 0000000000..5963aac565 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_2_1_4-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 3} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_2_1_4-solution000004.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_2_1_4-solution000004.solution new file mode 100644 index 0000000000..6eeacc9727 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_2_1_4-solution000004.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_2_1_4-solution000005.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_2_1_4-solution000005.solution new file mode 100644 index 0000000000..560dd0f2f7 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_2_1_4-solution000005.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 3, 4} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_2_1_4-solution000006.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_2_1_4-solution000006.solution new file mode 100644 index 0000000000..40f3fd5c8f --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_2_1_4-solution000006.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {2, 3, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_2_1_4-solution000007.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_2_1_4-solution000007.solution new file mode 100644 index 0000000000..bd956f44e3 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_2_1_4-solution000007.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 3, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_2_1_4.eprime b/tests/exhaustive/basic/comprehension_letting/expected/model_2_1_4.eprime new file mode 100644 index 0000000000..a9a3e9cd12 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_2_1_4.eprime @@ -0,0 +1,91 @@ +language ESSENCE' 1.0 + +find s_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +find s_Occurrence: matrix indexed by [int(1..4)] of bool +find s_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find s_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +letting let1 be -100 +find x: int(-100..100) +find conjure_aux1: int(-20..4) +branching on + [s_ExplicitVarSizeWithFlags_Flags, s_ExplicitVarSizeWithFlags_Values, s_ExplicitVarSizeWithDummy, s_Occurrence, x] +such that + and([and([s_ExplicitVarSizeWithDummy[q24] != 5, s_Occurrence[j], s_ExplicitVarSizeWithDummy[q24] != j, + allDiff([s_ExplicitVarSizeWithDummy[q24] + j, s_ExplicitVarSizeWithDummy[q24] * j, + s_ExplicitVarSizeWithDummy[q24] / j; + int(1..3)]), + (s_ExplicitVarSizeWithDummy[q24] - j) % 2 = 0; + int(1..5)]) + -> + min([s_ExplicitVarSizeWithDummy[q24] + j, s_ExplicitVarSizeWithDummy[q24] - j, + s_ExplicitVarSizeWithDummy[q24] * j, s_ExplicitVarSizeWithDummy[q24] / j; + int(1..4)]) + <= conjure_aux1 + | q24 : int(1..4), j : int(1..4)]), + sum([toInt(and([s_ExplicitVarSizeWithDummy[q24] != 5, s_Occurrence[j], s_ExplicitVarSizeWithDummy[q24] != j, + allDiff([s_ExplicitVarSizeWithDummy[q24] + j, s_ExplicitVarSizeWithDummy[q24] * j, + s_ExplicitVarSizeWithDummy[q24] / j; + int(1..3)]), + (s_ExplicitVarSizeWithDummy[q24] - j) % 2 = 0; + int(1..5)])) + | q24 : int(1..4), j : int(1..4)]) + > 0 + -> + or([and([s_ExplicitVarSizeWithDummy[q24] != 5, s_Occurrence[j], s_ExplicitVarSizeWithDummy[q24] != j, + allDiff([s_ExplicitVarSizeWithDummy[q24] + j, s_ExplicitVarSizeWithDummy[q24] * j, + s_ExplicitVarSizeWithDummy[q24] / j; + int(1..3)]), + (s_ExplicitVarSizeWithDummy[q24] - j) % 2 = 0; + int(1..5)]) + /\ + min([s_ExplicitVarSizeWithDummy[q24] + j, s_ExplicitVarSizeWithDummy[q24] - j, + s_ExplicitVarSizeWithDummy[q24] * j, s_ExplicitVarSizeWithDummy[q24] / j; + int(1..4)]) + = conjure_aux1 + | q24 : int(1..4), j : int(1..4)]), + sum([toInt(and([s_ExplicitVarSizeWithDummy[q24] != 5, s_Occurrence[j], s_ExplicitVarSizeWithDummy[q24] != j, + allDiff([s_ExplicitVarSizeWithDummy[q24] + j, s_ExplicitVarSizeWithDummy[q24] * j, + s_ExplicitVarSizeWithDummy[q24] / j; + int(1..3)]), + (s_ExplicitVarSizeWithDummy[q24] - j) % 2 = 0; + int(1..5)])) + | q24 : int(1..4), j : int(1..4)]) + = 0 + -> conjure_aux1 = -20, + x = conjure_aux1, + sum([toInt(and([s_ExplicitVarSizeWithDummy[q24] != 5, s_Occurrence[j], s_ExplicitVarSizeWithDummy[q24] != j, + allDiff([s_ExplicitVarSizeWithDummy[q24] + j, s_ExplicitVarSizeWithDummy[q24] * j, + s_ExplicitVarSizeWithDummy[q24] / j; + int(1..3)]), + (s_ExplicitVarSizeWithDummy[q24] - j) % 2 = 0; + int(1..5)])) + | q24 : int(1..4), j : int(1..4)]) + > 0, + and([s_ExplicitVarSizeWithDummy[q1] < s_ExplicitVarSizeWithDummy[q1 + 1] \/ s_ExplicitVarSizeWithDummy[q1] = 5 + | q1 : int(1..3)]), + and([s_ExplicitVarSizeWithDummy[q2] = 5 -> s_ExplicitVarSizeWithDummy[q2 + 1] = 5 | q2 : int(1..3)]), + and([s_Occurrence[q46] -> + or([s_ExplicitVarSizeWithDummy[q48] != 5 /\ s_ExplicitVarSizeWithDummy[q48] = q46 | q48 : int(1..4)]) + | q46 : int(1..4)]), + and([s_ExplicitVarSizeWithDummy[q50] != 5 -> s_Occurrence[s_ExplicitVarSizeWithDummy[q50]] | q50 : int(1..4)]), + and([s_ExplicitVarSizeWithFlags_Flags[q6 + 1] -> + s_ExplicitVarSizeWithFlags_Values[q6] < s_ExplicitVarSizeWithFlags_Values[q6 + 1] + | q6 : int(1..3)]), + and([s_ExplicitVarSizeWithFlags_Flags[q7] = false -> s_ExplicitVarSizeWithFlags_Values[q7] = 1 | q7 : int(1..4)]), + and([s_ExplicitVarSizeWithFlags_Flags[q8 + 1] -> s_ExplicitVarSizeWithFlags_Flags[q8] | q8 : int(1..3)]), + and([s_ExplicitVarSizeWithFlags_Flags[q12] -> + or([s_ExplicitVarSizeWithDummy[q14] != 5 /\ + s_ExplicitVarSizeWithDummy[q14] = s_ExplicitVarSizeWithFlags_Values[q12] + | q14 : int(1..4)]) + | q12 : int(1..4)]), + and([s_ExplicitVarSizeWithDummy[q16] != 5 -> + or([s_ExplicitVarSizeWithFlags_Flags[q18] /\ + s_ExplicitVarSizeWithFlags_Values[q18] = s_ExplicitVarSizeWithDummy[q16] + | q18 : int(1..4)]) + | q16 : int(1..4)]), + and([s_ExplicitVarSizeWithFlags_Flags[q20] -> s_Occurrence[s_ExplicitVarSizeWithFlags_Values[q20]] + | q20 : int(1..4)]), + and([s_Occurrence[q21] -> + or([s_ExplicitVarSizeWithFlags_Flags[q23] /\ s_ExplicitVarSizeWithFlags_Values[q23] = q21 | q23 : int(1..4)]) + | q21 : int(1..4)]) + diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_2_2_1-solution000001.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_2_2_1-solution000001.solution new file mode 100644 index 0000000000..159a613983 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_2_2_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {2, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_2_2_1-solution000002.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_2_2_1-solution000002.solution new file mode 100644 index 0000000000..40f3fd5c8f --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_2_2_1-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {2, 3, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_2_2_1-solution000003.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_2_2_1-solution000003.solution new file mode 100644 index 0000000000..8b4ecbb66d --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_2_2_1-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 3} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_2_2_1-solution000004.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_2_2_1-solution000004.solution new file mode 100644 index 0000000000..560dd0f2f7 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_2_2_1-solution000004.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 3, 4} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_2_2_1-solution000005.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_2_2_1-solution000005.solution new file mode 100644 index 0000000000..6eeacc9727 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_2_2_1-solution000005.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_2_2_1-solution000006.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_2_2_1-solution000006.solution new file mode 100644 index 0000000000..5963aac565 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_2_2_1-solution000006.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 3} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_2_2_1-solution000007.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_2_2_1-solution000007.solution new file mode 100644 index 0000000000..bd956f44e3 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_2_2_1-solution000007.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 3, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_2_2_1.eprime b/tests/exhaustive/basic/comprehension_letting/expected/model_2_2_1.eprime new file mode 100644 index 0000000000..5d253068bc --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_2_2_1.eprime @@ -0,0 +1,82 @@ +language ESSENCE' 1.0 + +find s_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +find s_Occurrence: matrix indexed by [int(1..4)] of bool +letting let1 be -100 +find x: int(-100..100) +find conjure_aux1: int(-25..4) +branching on [s_Occurrence, s_ExplicitVarSizeWithDummy, x] +such that + and([and([s_ExplicitVarSizeWithDummy[q6] != 5, s_ExplicitVarSizeWithDummy[q7] != 5, + s_ExplicitVarSizeWithDummy[q6] != s_ExplicitVarSizeWithDummy[q7], + allDiff([s_ExplicitVarSizeWithDummy[q6] + s_ExplicitVarSizeWithDummy[q7], + s_ExplicitVarSizeWithDummy[q6] * s_ExplicitVarSizeWithDummy[q7], + s_ExplicitVarSizeWithDummy[q6] / s_ExplicitVarSizeWithDummy[q7]; + int(1..3)]), + (s_ExplicitVarSizeWithDummy[q6] - s_ExplicitVarSizeWithDummy[q7]) % 2 = 0; + int(1..5)]) + -> + min([s_ExplicitVarSizeWithDummy[q6] + s_ExplicitVarSizeWithDummy[q7], + s_ExplicitVarSizeWithDummy[q6] - s_ExplicitVarSizeWithDummy[q7], + s_ExplicitVarSizeWithDummy[q6] * s_ExplicitVarSizeWithDummy[q7], + s_ExplicitVarSizeWithDummy[q6] / s_ExplicitVarSizeWithDummy[q7]; + int(1..4)]) + <= conjure_aux1 + | q6 : int(1..4), q7 : int(1..4)]), + sum([toInt(and([s_ExplicitVarSizeWithDummy[q6] != 5, s_ExplicitVarSizeWithDummy[q7] != 5, + s_ExplicitVarSizeWithDummy[q6] != s_ExplicitVarSizeWithDummy[q7], + allDiff([s_ExplicitVarSizeWithDummy[q6] + s_ExplicitVarSizeWithDummy[q7], + s_ExplicitVarSizeWithDummy[q6] * s_ExplicitVarSizeWithDummy[q7], + s_ExplicitVarSizeWithDummy[q6] / s_ExplicitVarSizeWithDummy[q7]; + int(1..3)]), + (s_ExplicitVarSizeWithDummy[q6] - s_ExplicitVarSizeWithDummy[q7]) % 2 = 0; + int(1..5)])) + | q6 : int(1..4), q7 : int(1..4)]) + > 0 + -> + or([and([s_ExplicitVarSizeWithDummy[q6] != 5, s_ExplicitVarSizeWithDummy[q7] != 5, + s_ExplicitVarSizeWithDummy[q6] != s_ExplicitVarSizeWithDummy[q7], + allDiff([s_ExplicitVarSizeWithDummy[q6] + s_ExplicitVarSizeWithDummy[q7], + s_ExplicitVarSizeWithDummy[q6] * s_ExplicitVarSizeWithDummy[q7], + s_ExplicitVarSizeWithDummy[q6] / s_ExplicitVarSizeWithDummy[q7]; + int(1..3)]), + (s_ExplicitVarSizeWithDummy[q6] - s_ExplicitVarSizeWithDummy[q7]) % 2 = 0; + int(1..5)]) + /\ + min([s_ExplicitVarSizeWithDummy[q6] + s_ExplicitVarSizeWithDummy[q7], + s_ExplicitVarSizeWithDummy[q6] - s_ExplicitVarSizeWithDummy[q7], + s_ExplicitVarSizeWithDummy[q6] * s_ExplicitVarSizeWithDummy[q7], + s_ExplicitVarSizeWithDummy[q6] / s_ExplicitVarSizeWithDummy[q7]; + int(1..4)]) + = conjure_aux1 + | q6 : int(1..4), q7 : int(1..4)]), + sum([toInt(and([s_ExplicitVarSizeWithDummy[q6] != 5, s_ExplicitVarSizeWithDummy[q7] != 5, + s_ExplicitVarSizeWithDummy[q6] != s_ExplicitVarSizeWithDummy[q7], + allDiff([s_ExplicitVarSizeWithDummy[q6] + s_ExplicitVarSizeWithDummy[q7], + s_ExplicitVarSizeWithDummy[q6] * s_ExplicitVarSizeWithDummy[q7], + s_ExplicitVarSizeWithDummy[q6] / s_ExplicitVarSizeWithDummy[q7]; + int(1..3)]), + (s_ExplicitVarSizeWithDummy[q6] - s_ExplicitVarSizeWithDummy[q7]) % 2 = 0; + int(1..5)])) + | q6 : int(1..4), q7 : int(1..4)]) + = 0 + -> conjure_aux1 = -25, + x = conjure_aux1, + sum([toInt(and([s_ExplicitVarSizeWithDummy[q6] != 5, s_ExplicitVarSizeWithDummy[q7] != 5, + s_ExplicitVarSizeWithDummy[q6] != s_ExplicitVarSizeWithDummy[q7], + allDiff([s_ExplicitVarSizeWithDummy[q6] + s_ExplicitVarSizeWithDummy[q7], + s_ExplicitVarSizeWithDummy[q6] * s_ExplicitVarSizeWithDummy[q7], + s_ExplicitVarSizeWithDummy[q6] / s_ExplicitVarSizeWithDummy[q7]; + int(1..3)]), + (s_ExplicitVarSizeWithDummy[q6] - s_ExplicitVarSizeWithDummy[q7]) % 2 = 0; + int(1..5)])) + | q6 : int(1..4), q7 : int(1..4)]) + > 0, + and([s_ExplicitVarSizeWithDummy[q1] < s_ExplicitVarSizeWithDummy[q1 + 1] \/ s_ExplicitVarSizeWithDummy[q1] = 5 + | q1 : int(1..3)]), + and([s_ExplicitVarSizeWithDummy[q2] = 5 -> s_ExplicitVarSizeWithDummy[q2 + 1] = 5 | q2 : int(1..3)]), + and([s_Occurrence[q29] -> + or([s_ExplicitVarSizeWithDummy[q31] != 5 /\ s_ExplicitVarSizeWithDummy[q31] = q29 | q31 : int(1..4)]) + | q29 : int(1..4)]), + and([s_ExplicitVarSizeWithDummy[q33] != 5 -> s_Occurrence[s_ExplicitVarSizeWithDummy[q33]] | q33 : int(1..4)]) + diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_2_2_2-solution000001.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_2_2_2-solution000001.solution new file mode 100644 index 0000000000..bd956f44e3 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_2_2_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 3, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_2_2_2-solution000002.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_2_2_2-solution000002.solution new file mode 100644 index 0000000000..5963aac565 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_2_2_2-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 3} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_2_2_2-solution000003.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_2_2_2-solution000003.solution new file mode 100644 index 0000000000..6eeacc9727 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_2_2_2-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_2_2_2-solution000004.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_2_2_2-solution000004.solution new file mode 100644 index 0000000000..560dd0f2f7 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_2_2_2-solution000004.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 3, 4} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_2_2_2-solution000005.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_2_2_2-solution000005.solution new file mode 100644 index 0000000000..8b4ecbb66d --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_2_2_2-solution000005.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 3} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_2_2_2-solution000006.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_2_2_2-solution000006.solution new file mode 100644 index 0000000000..40f3fd5c8f --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_2_2_2-solution000006.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {2, 3, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_2_2_2-solution000007.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_2_2_2-solution000007.solution new file mode 100644 index 0000000000..159a613983 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_2_2_2-solution000007.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {2, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_2_2_2.eprime b/tests/exhaustive/basic/comprehension_letting/expected/model_2_2_2.eprime new file mode 100644 index 0000000000..4e8c4bc4e7 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_2_2_2.eprime @@ -0,0 +1,77 @@ +language ESSENCE' 1.0 + +find s_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +letting let1 be -100 +find x: int(-100..100) +find conjure_aux1: int(-25..4) +branching on [s_ExplicitVarSizeWithDummy, x] +such that + and([and([s_ExplicitVarSizeWithDummy[q5] != 5, s_ExplicitVarSizeWithDummy[q6] != 5, + s_ExplicitVarSizeWithDummy[q5] != s_ExplicitVarSizeWithDummy[q6], + allDiff([s_ExplicitVarSizeWithDummy[q5] + s_ExplicitVarSizeWithDummy[q6], + s_ExplicitVarSizeWithDummy[q5] * s_ExplicitVarSizeWithDummy[q6], + s_ExplicitVarSizeWithDummy[q5] / s_ExplicitVarSizeWithDummy[q6]; + int(1..3)]), + (s_ExplicitVarSizeWithDummy[q5] - s_ExplicitVarSizeWithDummy[q6]) % 2 = 0; + int(1..5)]) + -> + min([s_ExplicitVarSizeWithDummy[q5] + s_ExplicitVarSizeWithDummy[q6], + s_ExplicitVarSizeWithDummy[q5] - s_ExplicitVarSizeWithDummy[q6], + s_ExplicitVarSizeWithDummy[q5] * s_ExplicitVarSizeWithDummy[q6], + s_ExplicitVarSizeWithDummy[q5] / s_ExplicitVarSizeWithDummy[q6]; + int(1..4)]) + <= conjure_aux1 + | q5 : int(1..4), q6 : int(1..4)]), + sum([toInt(and([s_ExplicitVarSizeWithDummy[q5] != 5, s_ExplicitVarSizeWithDummy[q6] != 5, + s_ExplicitVarSizeWithDummy[q5] != s_ExplicitVarSizeWithDummy[q6], + allDiff([s_ExplicitVarSizeWithDummy[q5] + s_ExplicitVarSizeWithDummy[q6], + s_ExplicitVarSizeWithDummy[q5] * s_ExplicitVarSizeWithDummy[q6], + s_ExplicitVarSizeWithDummy[q5] / s_ExplicitVarSizeWithDummy[q6]; + int(1..3)]), + (s_ExplicitVarSizeWithDummy[q5] - s_ExplicitVarSizeWithDummy[q6]) % 2 = 0; + int(1..5)])) + | q5 : int(1..4), q6 : int(1..4)]) + > 0 + -> + or([and([s_ExplicitVarSizeWithDummy[q5] != 5, s_ExplicitVarSizeWithDummy[q6] != 5, + s_ExplicitVarSizeWithDummy[q5] != s_ExplicitVarSizeWithDummy[q6], + allDiff([s_ExplicitVarSizeWithDummy[q5] + s_ExplicitVarSizeWithDummy[q6], + s_ExplicitVarSizeWithDummy[q5] * s_ExplicitVarSizeWithDummy[q6], + s_ExplicitVarSizeWithDummy[q5] / s_ExplicitVarSizeWithDummy[q6]; + int(1..3)]), + (s_ExplicitVarSizeWithDummy[q5] - s_ExplicitVarSizeWithDummy[q6]) % 2 = 0; + int(1..5)]) + /\ + min([s_ExplicitVarSizeWithDummy[q5] + s_ExplicitVarSizeWithDummy[q6], + s_ExplicitVarSizeWithDummy[q5] - s_ExplicitVarSizeWithDummy[q6], + s_ExplicitVarSizeWithDummy[q5] * s_ExplicitVarSizeWithDummy[q6], + s_ExplicitVarSizeWithDummy[q5] / s_ExplicitVarSizeWithDummy[q6]; + int(1..4)]) + = conjure_aux1 + | q5 : int(1..4), q6 : int(1..4)]), + sum([toInt(and([s_ExplicitVarSizeWithDummy[q5] != 5, s_ExplicitVarSizeWithDummy[q6] != 5, + s_ExplicitVarSizeWithDummy[q5] != s_ExplicitVarSizeWithDummy[q6], + allDiff([s_ExplicitVarSizeWithDummy[q5] + s_ExplicitVarSizeWithDummy[q6], + s_ExplicitVarSizeWithDummy[q5] * s_ExplicitVarSizeWithDummy[q6], + s_ExplicitVarSizeWithDummy[q5] / s_ExplicitVarSizeWithDummy[q6]; + int(1..3)]), + (s_ExplicitVarSizeWithDummy[q5] - s_ExplicitVarSizeWithDummy[q6]) % 2 = 0; + int(1..5)])) + | q5 : int(1..4), q6 : int(1..4)]) + = 0 + -> conjure_aux1 = -25, + x = conjure_aux1, + sum([toInt(and([s_ExplicitVarSizeWithDummy[q5] != 5, s_ExplicitVarSizeWithDummy[q6] != 5, + s_ExplicitVarSizeWithDummy[q5] != s_ExplicitVarSizeWithDummy[q6], + allDiff([s_ExplicitVarSizeWithDummy[q5] + s_ExplicitVarSizeWithDummy[q6], + s_ExplicitVarSizeWithDummy[q5] * s_ExplicitVarSizeWithDummy[q6], + s_ExplicitVarSizeWithDummy[q5] / s_ExplicitVarSizeWithDummy[q6]; + int(1..3)]), + (s_ExplicitVarSizeWithDummy[q5] - s_ExplicitVarSizeWithDummy[q6]) % 2 = 0; + int(1..5)])) + | q5 : int(1..4), q6 : int(1..4)]) + > 0, + and([s_ExplicitVarSizeWithDummy[q1] < s_ExplicitVarSizeWithDummy[q1 + 1] \/ s_ExplicitVarSizeWithDummy[q1] = 5 + | q1 : int(1..3)]), + and([s_ExplicitVarSizeWithDummy[q2] = 5 -> s_ExplicitVarSizeWithDummy[q2 + 1] = 5 | q2 : int(1..3)]) + diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_2_2_3-solution000001.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_2_2_3-solution000001.solution new file mode 100644 index 0000000000..8b4ecbb66d --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_2_2_3-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 3} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_2_2_3-solution000002.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_2_2_3-solution000002.solution new file mode 100644 index 0000000000..159a613983 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_2_2_3-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {2, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_2_2_3-solution000003.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_2_2_3-solution000003.solution new file mode 100644 index 0000000000..5963aac565 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_2_2_3-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 3} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_2_2_3-solution000004.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_2_2_3-solution000004.solution new file mode 100644 index 0000000000..6eeacc9727 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_2_2_3-solution000004.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_2_2_3-solution000005.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_2_2_3-solution000005.solution new file mode 100644 index 0000000000..560dd0f2f7 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_2_2_3-solution000005.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 3, 4} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_2_2_3-solution000006.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_2_2_3-solution000006.solution new file mode 100644 index 0000000000..40f3fd5c8f --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_2_2_3-solution000006.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {2, 3, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_2_2_3-solution000007.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_2_2_3-solution000007.solution new file mode 100644 index 0000000000..bd956f44e3 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_2_2_3-solution000007.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 3, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_2_2_3.eprime b/tests/exhaustive/basic/comprehension_letting/expected/model_2_2_3.eprime new file mode 100644 index 0000000000..6d91904813 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_2_2_3.eprime @@ -0,0 +1,93 @@ +language ESSENCE' 1.0 + +find s_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +find s_ExplicitVarSizeWithMarker_Marker: int(0..4) +find s_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +letting let1 be -100 +find x: int(-100..100) +find conjure_aux1: int(-25..4) +branching on [s_ExplicitVarSizeWithMarker_Marker, s_ExplicitVarSizeWithMarker_Values, s_ExplicitVarSizeWithDummy, x] +such that + and([and([s_ExplicitVarSizeWithDummy[q16] != 5, s_ExplicitVarSizeWithDummy[q17] != 5, + s_ExplicitVarSizeWithDummy[q16] != s_ExplicitVarSizeWithDummy[q17], + allDiff([s_ExplicitVarSizeWithDummy[q16] + s_ExplicitVarSizeWithDummy[q17], + s_ExplicitVarSizeWithDummy[q16] * s_ExplicitVarSizeWithDummy[q17], + s_ExplicitVarSizeWithDummy[q16] / s_ExplicitVarSizeWithDummy[q17]; + int(1..3)]), + (s_ExplicitVarSizeWithDummy[q16] - s_ExplicitVarSizeWithDummy[q17]) % 2 = 0; + int(1..5)]) + -> + min([s_ExplicitVarSizeWithDummy[q16] + s_ExplicitVarSizeWithDummy[q17], + s_ExplicitVarSizeWithDummy[q16] - s_ExplicitVarSizeWithDummy[q17], + s_ExplicitVarSizeWithDummy[q16] * s_ExplicitVarSizeWithDummy[q17], + s_ExplicitVarSizeWithDummy[q16] / s_ExplicitVarSizeWithDummy[q17]; + int(1..4)]) + <= conjure_aux1 + | q16 : int(1..4), q17 : int(1..4)]), + sum([toInt(and([s_ExplicitVarSizeWithDummy[q16] != 5, s_ExplicitVarSizeWithDummy[q17] != 5, + s_ExplicitVarSizeWithDummy[q16] != s_ExplicitVarSizeWithDummy[q17], + allDiff([s_ExplicitVarSizeWithDummy[q16] + s_ExplicitVarSizeWithDummy[q17], + s_ExplicitVarSizeWithDummy[q16] * s_ExplicitVarSizeWithDummy[q17], + s_ExplicitVarSizeWithDummy[q16] / s_ExplicitVarSizeWithDummy[q17]; + int(1..3)]), + (s_ExplicitVarSizeWithDummy[q16] - s_ExplicitVarSizeWithDummy[q17]) % 2 = 0; + int(1..5)])) + | q16 : int(1..4), q17 : int(1..4)]) + > 0 + -> + or([and([s_ExplicitVarSizeWithDummy[q16] != 5, s_ExplicitVarSizeWithDummy[q17] != 5, + s_ExplicitVarSizeWithDummy[q16] != s_ExplicitVarSizeWithDummy[q17], + allDiff([s_ExplicitVarSizeWithDummy[q16] + s_ExplicitVarSizeWithDummy[q17], + s_ExplicitVarSizeWithDummy[q16] * s_ExplicitVarSizeWithDummy[q17], + s_ExplicitVarSizeWithDummy[q16] / s_ExplicitVarSizeWithDummy[q17]; + int(1..3)]), + (s_ExplicitVarSizeWithDummy[q16] - s_ExplicitVarSizeWithDummy[q17]) % 2 = 0; + int(1..5)]) + /\ + min([s_ExplicitVarSizeWithDummy[q16] + s_ExplicitVarSizeWithDummy[q17], + s_ExplicitVarSizeWithDummy[q16] - s_ExplicitVarSizeWithDummy[q17], + s_ExplicitVarSizeWithDummy[q16] * s_ExplicitVarSizeWithDummy[q17], + s_ExplicitVarSizeWithDummy[q16] / s_ExplicitVarSizeWithDummy[q17]; + int(1..4)]) + = conjure_aux1 + | q16 : int(1..4), q17 : int(1..4)]), + sum([toInt(and([s_ExplicitVarSizeWithDummy[q16] != 5, s_ExplicitVarSizeWithDummy[q17] != 5, + s_ExplicitVarSizeWithDummy[q16] != s_ExplicitVarSizeWithDummy[q17], + allDiff([s_ExplicitVarSizeWithDummy[q16] + s_ExplicitVarSizeWithDummy[q17], + s_ExplicitVarSizeWithDummy[q16] * s_ExplicitVarSizeWithDummy[q17], + s_ExplicitVarSizeWithDummy[q16] / s_ExplicitVarSizeWithDummy[q17]; + int(1..3)]), + (s_ExplicitVarSizeWithDummy[q16] - s_ExplicitVarSizeWithDummy[q17]) % 2 = 0; + int(1..5)])) + | q16 : int(1..4), q17 : int(1..4)]) + = 0 + -> conjure_aux1 = -25, + x = conjure_aux1, + sum([toInt(and([s_ExplicitVarSizeWithDummy[q16] != 5, s_ExplicitVarSizeWithDummy[q17] != 5, + s_ExplicitVarSizeWithDummy[q16] != s_ExplicitVarSizeWithDummy[q17], + allDiff([s_ExplicitVarSizeWithDummy[q16] + s_ExplicitVarSizeWithDummy[q17], + s_ExplicitVarSizeWithDummy[q16] * s_ExplicitVarSizeWithDummy[q17], + s_ExplicitVarSizeWithDummy[q16] / s_ExplicitVarSizeWithDummy[q17]; + int(1..3)]), + (s_ExplicitVarSizeWithDummy[q16] - s_ExplicitVarSizeWithDummy[q17]) % 2 = 0; + int(1..5)])) + | q16 : int(1..4), q17 : int(1..4)]) + > 0, + and([s_ExplicitVarSizeWithDummy[q1] < s_ExplicitVarSizeWithDummy[q1 + 1] \/ s_ExplicitVarSizeWithDummy[q1] = 5 + | q1 : int(1..3)]), + and([s_ExplicitVarSizeWithDummy[q2] = 5 -> s_ExplicitVarSizeWithDummy[q2 + 1] = 5 | q2 : int(1..3)]), + and([q5 + 1 <= s_ExplicitVarSizeWithMarker_Marker -> + s_ExplicitVarSizeWithMarker_Values[q5] < s_ExplicitVarSizeWithMarker_Values[q5 + 1] + | q5 : int(1..3)]), + and([q6 > s_ExplicitVarSizeWithMarker_Marker -> s_ExplicitVarSizeWithMarker_Values[q6] = 1 | q6 : int(1..4)]), + and([q9 <= s_ExplicitVarSizeWithMarker_Marker -> + or([s_ExplicitVarSizeWithDummy[q11] != 5 /\ + s_ExplicitVarSizeWithDummy[q11] = s_ExplicitVarSizeWithMarker_Values[q9] + | q11 : int(1..4)]) + | q9 : int(1..4)]), + and([s_ExplicitVarSizeWithDummy[q13] != 5 -> + or([q15 <= s_ExplicitVarSizeWithMarker_Marker /\ + s_ExplicitVarSizeWithMarker_Values[q15] = s_ExplicitVarSizeWithDummy[q13] + | q15 : int(1..4)]) + | q13 : int(1..4)]) + diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_2_2_4-solution000001.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_2_2_4-solution000001.solution new file mode 100644 index 0000000000..8b4ecbb66d --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_2_2_4-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 3} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_2_2_4-solution000002.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_2_2_4-solution000002.solution new file mode 100644 index 0000000000..159a613983 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_2_2_4-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {2, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_2_2_4-solution000003.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_2_2_4-solution000003.solution new file mode 100644 index 0000000000..5963aac565 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_2_2_4-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 3} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_2_2_4-solution000004.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_2_2_4-solution000004.solution new file mode 100644 index 0000000000..6eeacc9727 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_2_2_4-solution000004.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_2_2_4-solution000005.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_2_2_4-solution000005.solution new file mode 100644 index 0000000000..560dd0f2f7 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_2_2_4-solution000005.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 3, 4} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_2_2_4-solution000006.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_2_2_4-solution000006.solution new file mode 100644 index 0000000000..40f3fd5c8f --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_2_2_4-solution000006.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {2, 3, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_2_2_4-solution000007.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_2_2_4-solution000007.solution new file mode 100644 index 0000000000..bd956f44e3 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_2_2_4-solution000007.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 3, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_2_2_4.eprime b/tests/exhaustive/basic/comprehension_letting/expected/model_2_2_4.eprime new file mode 100644 index 0000000000..3627386375 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_2_2_4.eprime @@ -0,0 +1,94 @@ +language ESSENCE' 1.0 + +find s_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +find s_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find s_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +letting let1 be -100 +find x: int(-100..100) +find conjure_aux1: int(-25..4) +branching on [s_ExplicitVarSizeWithFlags_Flags, s_ExplicitVarSizeWithFlags_Values, s_ExplicitVarSizeWithDummy, x] +such that + and([and([s_ExplicitVarSizeWithDummy[q18] != 5, s_ExplicitVarSizeWithDummy[q19] != 5, + s_ExplicitVarSizeWithDummy[q18] != s_ExplicitVarSizeWithDummy[q19], + allDiff([s_ExplicitVarSizeWithDummy[q18] + s_ExplicitVarSizeWithDummy[q19], + s_ExplicitVarSizeWithDummy[q18] * s_ExplicitVarSizeWithDummy[q19], + s_ExplicitVarSizeWithDummy[q18] / s_ExplicitVarSizeWithDummy[q19]; + int(1..3)]), + (s_ExplicitVarSizeWithDummy[q18] - s_ExplicitVarSizeWithDummy[q19]) % 2 = 0; + int(1..5)]) + -> + min([s_ExplicitVarSizeWithDummy[q18] + s_ExplicitVarSizeWithDummy[q19], + s_ExplicitVarSizeWithDummy[q18] - s_ExplicitVarSizeWithDummy[q19], + s_ExplicitVarSizeWithDummy[q18] * s_ExplicitVarSizeWithDummy[q19], + s_ExplicitVarSizeWithDummy[q18] / s_ExplicitVarSizeWithDummy[q19]; + int(1..4)]) + <= conjure_aux1 + | q18 : int(1..4), q19 : int(1..4)]), + sum([toInt(and([s_ExplicitVarSizeWithDummy[q18] != 5, s_ExplicitVarSizeWithDummy[q19] != 5, + s_ExplicitVarSizeWithDummy[q18] != s_ExplicitVarSizeWithDummy[q19], + allDiff([s_ExplicitVarSizeWithDummy[q18] + s_ExplicitVarSizeWithDummy[q19], + s_ExplicitVarSizeWithDummy[q18] * s_ExplicitVarSizeWithDummy[q19], + s_ExplicitVarSizeWithDummy[q18] / s_ExplicitVarSizeWithDummy[q19]; + int(1..3)]), + (s_ExplicitVarSizeWithDummy[q18] - s_ExplicitVarSizeWithDummy[q19]) % 2 = 0; + int(1..5)])) + | q18 : int(1..4), q19 : int(1..4)]) + > 0 + -> + or([and([s_ExplicitVarSizeWithDummy[q18] != 5, s_ExplicitVarSizeWithDummy[q19] != 5, + s_ExplicitVarSizeWithDummy[q18] != s_ExplicitVarSizeWithDummy[q19], + allDiff([s_ExplicitVarSizeWithDummy[q18] + s_ExplicitVarSizeWithDummy[q19], + s_ExplicitVarSizeWithDummy[q18] * s_ExplicitVarSizeWithDummy[q19], + s_ExplicitVarSizeWithDummy[q18] / s_ExplicitVarSizeWithDummy[q19]; + int(1..3)]), + (s_ExplicitVarSizeWithDummy[q18] - s_ExplicitVarSizeWithDummy[q19]) % 2 = 0; + int(1..5)]) + /\ + min([s_ExplicitVarSizeWithDummy[q18] + s_ExplicitVarSizeWithDummy[q19], + s_ExplicitVarSizeWithDummy[q18] - s_ExplicitVarSizeWithDummy[q19], + s_ExplicitVarSizeWithDummy[q18] * s_ExplicitVarSizeWithDummy[q19], + s_ExplicitVarSizeWithDummy[q18] / s_ExplicitVarSizeWithDummy[q19]; + int(1..4)]) + = conjure_aux1 + | q18 : int(1..4), q19 : int(1..4)]), + sum([toInt(and([s_ExplicitVarSizeWithDummy[q18] != 5, s_ExplicitVarSizeWithDummy[q19] != 5, + s_ExplicitVarSizeWithDummy[q18] != s_ExplicitVarSizeWithDummy[q19], + allDiff([s_ExplicitVarSizeWithDummy[q18] + s_ExplicitVarSizeWithDummy[q19], + s_ExplicitVarSizeWithDummy[q18] * s_ExplicitVarSizeWithDummy[q19], + s_ExplicitVarSizeWithDummy[q18] / s_ExplicitVarSizeWithDummy[q19]; + int(1..3)]), + (s_ExplicitVarSizeWithDummy[q18] - s_ExplicitVarSizeWithDummy[q19]) % 2 = 0; + int(1..5)])) + | q18 : int(1..4), q19 : int(1..4)]) + = 0 + -> conjure_aux1 = -25, + x = conjure_aux1, + sum([toInt(and([s_ExplicitVarSizeWithDummy[q18] != 5, s_ExplicitVarSizeWithDummy[q19] != 5, + s_ExplicitVarSizeWithDummy[q18] != s_ExplicitVarSizeWithDummy[q19], + allDiff([s_ExplicitVarSizeWithDummy[q18] + s_ExplicitVarSizeWithDummy[q19], + s_ExplicitVarSizeWithDummy[q18] * s_ExplicitVarSizeWithDummy[q19], + s_ExplicitVarSizeWithDummy[q18] / s_ExplicitVarSizeWithDummy[q19]; + int(1..3)]), + (s_ExplicitVarSizeWithDummy[q18] - s_ExplicitVarSizeWithDummy[q19]) % 2 = 0; + int(1..5)])) + | q18 : int(1..4), q19 : int(1..4)]) + > 0, + and([s_ExplicitVarSizeWithDummy[q1] < s_ExplicitVarSizeWithDummy[q1 + 1] \/ s_ExplicitVarSizeWithDummy[q1] = 5 + | q1 : int(1..3)]), + and([s_ExplicitVarSizeWithDummy[q2] = 5 -> s_ExplicitVarSizeWithDummy[q2 + 1] = 5 | q2 : int(1..3)]), + and([s_ExplicitVarSizeWithFlags_Flags[q5 + 1] -> + s_ExplicitVarSizeWithFlags_Values[q5] < s_ExplicitVarSizeWithFlags_Values[q5 + 1] + | q5 : int(1..3)]), + and([s_ExplicitVarSizeWithFlags_Flags[q6] = false -> s_ExplicitVarSizeWithFlags_Values[q6] = 1 | q6 : int(1..4)]), + and([s_ExplicitVarSizeWithFlags_Flags[q7 + 1] -> s_ExplicitVarSizeWithFlags_Flags[q7] | q7 : int(1..3)]), + and([s_ExplicitVarSizeWithFlags_Flags[q11] -> + or([s_ExplicitVarSizeWithDummy[q13] != 5 /\ + s_ExplicitVarSizeWithDummy[q13] = s_ExplicitVarSizeWithFlags_Values[q11] + | q13 : int(1..4)]) + | q11 : int(1..4)]), + and([s_ExplicitVarSizeWithDummy[q15] != 5 -> + or([s_ExplicitVarSizeWithFlags_Flags[q17] /\ + s_ExplicitVarSizeWithFlags_Values[q17] = s_ExplicitVarSizeWithDummy[q15] + | q17 : int(1..4)]) + | q15 : int(1..4)]) + diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_2_3_1-solution000001.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_2_3_1-solution000001.solution new file mode 100644 index 0000000000..159a613983 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_2_3_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {2, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_2_3_1-solution000002.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_2_3_1-solution000002.solution new file mode 100644 index 0000000000..40f3fd5c8f --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_2_3_1-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {2, 3, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_2_3_1-solution000003.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_2_3_1-solution000003.solution new file mode 100644 index 0000000000..8b4ecbb66d --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_2_3_1-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 3} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_2_3_1-solution000004.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_2_3_1-solution000004.solution new file mode 100644 index 0000000000..560dd0f2f7 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_2_3_1-solution000004.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 3, 4} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_2_3_1-solution000005.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_2_3_1-solution000005.solution new file mode 100644 index 0000000000..6eeacc9727 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_2_3_1-solution000005.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_2_3_1-solution000006.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_2_3_1-solution000006.solution new file mode 100644 index 0000000000..5963aac565 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_2_3_1-solution000006.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 3} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_2_3_1-solution000007.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_2_3_1-solution000007.solution new file mode 100644 index 0000000000..bd956f44e3 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_2_3_1-solution000007.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 3, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_2_3_1.eprime b/tests/exhaustive/basic/comprehension_letting/expected/model_2_3_1.eprime new file mode 100644 index 0000000000..2b18a316f8 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_2_3_1.eprime @@ -0,0 +1,106 @@ +language ESSENCE' 1.0 + +find s_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +find s_ExplicitVarSizeWithMarker_Marker: int(0..4) +find s_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +find s_Occurrence: matrix indexed by [int(1..4)] of bool +letting let1 be -100 +find x: int(-100..100) +find conjure_aux1: int(-20..4) +branching on + [s_Occurrence, s_ExplicitVarSizeWithDummy, s_ExplicitVarSizeWithMarker_Marker, s_ExplicitVarSizeWithMarker_Values, + x] +such that + and([and([s_ExplicitVarSizeWithDummy[q17] != 5, q18 <= s_ExplicitVarSizeWithMarker_Marker, + s_ExplicitVarSizeWithDummy[q17] != s_ExplicitVarSizeWithMarker_Values[q18], + allDiff([s_ExplicitVarSizeWithDummy[q17] + s_ExplicitVarSizeWithMarker_Values[q18], + s_ExplicitVarSizeWithDummy[q17] * s_ExplicitVarSizeWithMarker_Values[q18], + s_ExplicitVarSizeWithDummy[q17] / s_ExplicitVarSizeWithMarker_Values[q18]; + int(1..3)]), + (s_ExplicitVarSizeWithDummy[q17] - s_ExplicitVarSizeWithMarker_Values[q18]) % 2 = 0; + int(1..5)]) + -> + min([s_ExplicitVarSizeWithDummy[q17] + s_ExplicitVarSizeWithMarker_Values[q18], + s_ExplicitVarSizeWithDummy[q17] - s_ExplicitVarSizeWithMarker_Values[q18], + s_ExplicitVarSizeWithDummy[q17] * s_ExplicitVarSizeWithMarker_Values[q18], + s_ExplicitVarSizeWithDummy[q17] / s_ExplicitVarSizeWithMarker_Values[q18]; + int(1..4)]) + <= conjure_aux1 + | q17 : int(1..4), q18 : int(1..4)]), + sum([toInt(and([s_ExplicitVarSizeWithDummy[q17] != 5, q18 <= s_ExplicitVarSizeWithMarker_Marker, + s_ExplicitVarSizeWithDummy[q17] != s_ExplicitVarSizeWithMarker_Values[q18], + allDiff([s_ExplicitVarSizeWithDummy[q17] + s_ExplicitVarSizeWithMarker_Values[q18], + s_ExplicitVarSizeWithDummy[q17] * s_ExplicitVarSizeWithMarker_Values[q18], + s_ExplicitVarSizeWithDummy[q17] / s_ExplicitVarSizeWithMarker_Values[q18]; + int(1..3)]), + (s_ExplicitVarSizeWithDummy[q17] - s_ExplicitVarSizeWithMarker_Values[q18]) % 2 = 0; + int(1..5)])) + | q17 : int(1..4), q18 : int(1..4)]) + > 0 + -> + or([and([s_ExplicitVarSizeWithDummy[q17] != 5, q18 <= s_ExplicitVarSizeWithMarker_Marker, + s_ExplicitVarSizeWithDummy[q17] != s_ExplicitVarSizeWithMarker_Values[q18], + allDiff([s_ExplicitVarSizeWithDummy[q17] + s_ExplicitVarSizeWithMarker_Values[q18], + s_ExplicitVarSizeWithDummy[q17] * s_ExplicitVarSizeWithMarker_Values[q18], + s_ExplicitVarSizeWithDummy[q17] / s_ExplicitVarSizeWithMarker_Values[q18]; + int(1..3)]), + (s_ExplicitVarSizeWithDummy[q17] - s_ExplicitVarSizeWithMarker_Values[q18]) % 2 = 0; + int(1..5)]) + /\ + min([s_ExplicitVarSizeWithDummy[q17] + s_ExplicitVarSizeWithMarker_Values[q18], + s_ExplicitVarSizeWithDummy[q17] - s_ExplicitVarSizeWithMarker_Values[q18], + s_ExplicitVarSizeWithDummy[q17] * s_ExplicitVarSizeWithMarker_Values[q18], + s_ExplicitVarSizeWithDummy[q17] / s_ExplicitVarSizeWithMarker_Values[q18]; + int(1..4)]) + = conjure_aux1 + | q17 : int(1..4), q18 : int(1..4)]), + sum([toInt(and([s_ExplicitVarSizeWithDummy[q17] != 5, q18 <= s_ExplicitVarSizeWithMarker_Marker, + s_ExplicitVarSizeWithDummy[q17] != s_ExplicitVarSizeWithMarker_Values[q18], + allDiff([s_ExplicitVarSizeWithDummy[q17] + s_ExplicitVarSizeWithMarker_Values[q18], + s_ExplicitVarSizeWithDummy[q17] * s_ExplicitVarSizeWithMarker_Values[q18], + s_ExplicitVarSizeWithDummy[q17] / s_ExplicitVarSizeWithMarker_Values[q18]; + int(1..3)]), + (s_ExplicitVarSizeWithDummy[q17] - s_ExplicitVarSizeWithMarker_Values[q18]) % 2 = 0; + int(1..5)])) + | q17 : int(1..4), q18 : int(1..4)]) + = 0 + -> conjure_aux1 = -20, + x = conjure_aux1, + sum([toInt(and([s_ExplicitVarSizeWithDummy[q17] != 5, q18 <= s_ExplicitVarSizeWithMarker_Marker, + s_ExplicitVarSizeWithDummy[q17] != s_ExplicitVarSizeWithMarker_Values[q18], + allDiff([s_ExplicitVarSizeWithDummy[q17] + s_ExplicitVarSizeWithMarker_Values[q18], + s_ExplicitVarSizeWithDummy[q17] * s_ExplicitVarSizeWithMarker_Values[q18], + s_ExplicitVarSizeWithDummy[q17] / s_ExplicitVarSizeWithMarker_Values[q18]; + int(1..3)]), + (s_ExplicitVarSizeWithDummy[q17] - s_ExplicitVarSizeWithMarker_Values[q18]) % 2 = 0; + int(1..5)])) + | q17 : int(1..4), q18 : int(1..4)]) + > 0, + and([s_ExplicitVarSizeWithDummy[q1] < s_ExplicitVarSizeWithDummy[q1 + 1] \/ s_ExplicitVarSizeWithDummy[q1] = 5 + | q1 : int(1..3)]), + and([s_ExplicitVarSizeWithDummy[q2] = 5 -> s_ExplicitVarSizeWithDummy[q2 + 1] = 5 | q2 : int(1..3)]), + and([q5 + 1 <= s_ExplicitVarSizeWithMarker_Marker -> + s_ExplicitVarSizeWithMarker_Values[q5] < s_ExplicitVarSizeWithMarker_Values[q5 + 1] + | q5 : int(1..3)]), + and([q6 > s_ExplicitVarSizeWithMarker_Marker -> s_ExplicitVarSizeWithMarker_Values[q6] = 1 | q6 : int(1..4)]), + and([q9 <= s_ExplicitVarSizeWithMarker_Marker -> + or([s_ExplicitVarSizeWithDummy[q11] != 5 /\ + s_ExplicitVarSizeWithDummy[q11] = s_ExplicitVarSizeWithMarker_Values[q9] + | q11 : int(1..4)]) + | q9 : int(1..4)]), + and([s_ExplicitVarSizeWithDummy[q13] != 5 -> + or([q15 <= s_ExplicitVarSizeWithMarker_Marker /\ + s_ExplicitVarSizeWithMarker_Values[q15] = s_ExplicitVarSizeWithDummy[q13] + | q15 : int(1..4)]) + | q13 : int(1..4)]), + and([s_Occurrence[q40] -> + or([s_ExplicitVarSizeWithDummy[q42] != 5 /\ s_ExplicitVarSizeWithDummy[q42] = q40 | q42 : int(1..4)]) + | q40 : int(1..4)]), + and([s_ExplicitVarSizeWithDummy[q44] != 5 -> s_Occurrence[s_ExplicitVarSizeWithDummy[q44]] | q44 : int(1..4)]), + and([s_Occurrence[q45] -> + or([q47 <= s_ExplicitVarSizeWithMarker_Marker /\ s_ExplicitVarSizeWithMarker_Values[q47] = q45 + | q47 : int(1..4)]) + | q45 : int(1..4)]), + and([q49 <= s_ExplicitVarSizeWithMarker_Marker -> s_Occurrence[s_ExplicitVarSizeWithMarker_Values[q49]] + | q49 : int(1..4)]) + diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_2_3_2-solution000001.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_2_3_2-solution000001.solution new file mode 100644 index 0000000000..8b4ecbb66d --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_2_3_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 3} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_2_3_2-solution000002.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_2_3_2-solution000002.solution new file mode 100644 index 0000000000..159a613983 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_2_3_2-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {2, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_2_3_2-solution000003.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_2_3_2-solution000003.solution new file mode 100644 index 0000000000..5963aac565 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_2_3_2-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 3} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_2_3_2-solution000004.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_2_3_2-solution000004.solution new file mode 100644 index 0000000000..6eeacc9727 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_2_3_2-solution000004.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_2_3_2-solution000005.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_2_3_2-solution000005.solution new file mode 100644 index 0000000000..560dd0f2f7 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_2_3_2-solution000005.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 3, 4} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_2_3_2-solution000006.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_2_3_2-solution000006.solution new file mode 100644 index 0000000000..40f3fd5c8f --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_2_3_2-solution000006.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {2, 3, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_2_3_2-solution000007.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_2_3_2-solution000007.solution new file mode 100644 index 0000000000..bd956f44e3 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_2_3_2-solution000007.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 3, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_2_3_2.eprime b/tests/exhaustive/basic/comprehension_letting/expected/model_2_3_2.eprime new file mode 100644 index 0000000000..6bede9f96d --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_2_3_2.eprime @@ -0,0 +1,93 @@ +language ESSENCE' 1.0 + +find s_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +find s_ExplicitVarSizeWithMarker_Marker: int(0..4) +find s_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +letting let1 be -100 +find x: int(-100..100) +find conjure_aux1: int(-20..4) +branching on [s_ExplicitVarSizeWithMarker_Marker, s_ExplicitVarSizeWithMarker_Values, s_ExplicitVarSizeWithDummy, x] +such that + and([and([s_ExplicitVarSizeWithDummy[q16] != 5, q17 <= s_ExplicitVarSizeWithMarker_Marker, + s_ExplicitVarSizeWithDummy[q16] != s_ExplicitVarSizeWithMarker_Values[q17], + allDiff([s_ExplicitVarSizeWithDummy[q16] + s_ExplicitVarSizeWithMarker_Values[q17], + s_ExplicitVarSizeWithDummy[q16] * s_ExplicitVarSizeWithMarker_Values[q17], + s_ExplicitVarSizeWithDummy[q16] / s_ExplicitVarSizeWithMarker_Values[q17]; + int(1..3)]), + (s_ExplicitVarSizeWithDummy[q16] - s_ExplicitVarSizeWithMarker_Values[q17]) % 2 = 0; + int(1..5)]) + -> + min([s_ExplicitVarSizeWithDummy[q16] + s_ExplicitVarSizeWithMarker_Values[q17], + s_ExplicitVarSizeWithDummy[q16] - s_ExplicitVarSizeWithMarker_Values[q17], + s_ExplicitVarSizeWithDummy[q16] * s_ExplicitVarSizeWithMarker_Values[q17], + s_ExplicitVarSizeWithDummy[q16] / s_ExplicitVarSizeWithMarker_Values[q17]; + int(1..4)]) + <= conjure_aux1 + | q16 : int(1..4), q17 : int(1..4)]), + sum([toInt(and([s_ExplicitVarSizeWithDummy[q16] != 5, q17 <= s_ExplicitVarSizeWithMarker_Marker, + s_ExplicitVarSizeWithDummy[q16] != s_ExplicitVarSizeWithMarker_Values[q17], + allDiff([s_ExplicitVarSizeWithDummy[q16] + s_ExplicitVarSizeWithMarker_Values[q17], + s_ExplicitVarSizeWithDummy[q16] * s_ExplicitVarSizeWithMarker_Values[q17], + s_ExplicitVarSizeWithDummy[q16] / s_ExplicitVarSizeWithMarker_Values[q17]; + int(1..3)]), + (s_ExplicitVarSizeWithDummy[q16] - s_ExplicitVarSizeWithMarker_Values[q17]) % 2 = 0; + int(1..5)])) + | q16 : int(1..4), q17 : int(1..4)]) + > 0 + -> + or([and([s_ExplicitVarSizeWithDummy[q16] != 5, q17 <= s_ExplicitVarSizeWithMarker_Marker, + s_ExplicitVarSizeWithDummy[q16] != s_ExplicitVarSizeWithMarker_Values[q17], + allDiff([s_ExplicitVarSizeWithDummy[q16] + s_ExplicitVarSizeWithMarker_Values[q17], + s_ExplicitVarSizeWithDummy[q16] * s_ExplicitVarSizeWithMarker_Values[q17], + s_ExplicitVarSizeWithDummy[q16] / s_ExplicitVarSizeWithMarker_Values[q17]; + int(1..3)]), + (s_ExplicitVarSizeWithDummy[q16] - s_ExplicitVarSizeWithMarker_Values[q17]) % 2 = 0; + int(1..5)]) + /\ + min([s_ExplicitVarSizeWithDummy[q16] + s_ExplicitVarSizeWithMarker_Values[q17], + s_ExplicitVarSizeWithDummy[q16] - s_ExplicitVarSizeWithMarker_Values[q17], + s_ExplicitVarSizeWithDummy[q16] * s_ExplicitVarSizeWithMarker_Values[q17], + s_ExplicitVarSizeWithDummy[q16] / s_ExplicitVarSizeWithMarker_Values[q17]; + int(1..4)]) + = conjure_aux1 + | q16 : int(1..4), q17 : int(1..4)]), + sum([toInt(and([s_ExplicitVarSizeWithDummy[q16] != 5, q17 <= s_ExplicitVarSizeWithMarker_Marker, + s_ExplicitVarSizeWithDummy[q16] != s_ExplicitVarSizeWithMarker_Values[q17], + allDiff([s_ExplicitVarSizeWithDummy[q16] + s_ExplicitVarSizeWithMarker_Values[q17], + s_ExplicitVarSizeWithDummy[q16] * s_ExplicitVarSizeWithMarker_Values[q17], + s_ExplicitVarSizeWithDummy[q16] / s_ExplicitVarSizeWithMarker_Values[q17]; + int(1..3)]), + (s_ExplicitVarSizeWithDummy[q16] - s_ExplicitVarSizeWithMarker_Values[q17]) % 2 = 0; + int(1..5)])) + | q16 : int(1..4), q17 : int(1..4)]) + = 0 + -> conjure_aux1 = -20, + x = conjure_aux1, + sum([toInt(and([s_ExplicitVarSizeWithDummy[q16] != 5, q17 <= s_ExplicitVarSizeWithMarker_Marker, + s_ExplicitVarSizeWithDummy[q16] != s_ExplicitVarSizeWithMarker_Values[q17], + allDiff([s_ExplicitVarSizeWithDummy[q16] + s_ExplicitVarSizeWithMarker_Values[q17], + s_ExplicitVarSizeWithDummy[q16] * s_ExplicitVarSizeWithMarker_Values[q17], + s_ExplicitVarSizeWithDummy[q16] / s_ExplicitVarSizeWithMarker_Values[q17]; + int(1..3)]), + (s_ExplicitVarSizeWithDummy[q16] - s_ExplicitVarSizeWithMarker_Values[q17]) % 2 = 0; + int(1..5)])) + | q16 : int(1..4), q17 : int(1..4)]) + > 0, + and([s_ExplicitVarSizeWithDummy[q1] < s_ExplicitVarSizeWithDummy[q1 + 1] \/ s_ExplicitVarSizeWithDummy[q1] = 5 + | q1 : int(1..3)]), + and([s_ExplicitVarSizeWithDummy[q2] = 5 -> s_ExplicitVarSizeWithDummy[q2 + 1] = 5 | q2 : int(1..3)]), + and([q5 + 1 <= s_ExplicitVarSizeWithMarker_Marker -> + s_ExplicitVarSizeWithMarker_Values[q5] < s_ExplicitVarSizeWithMarker_Values[q5 + 1] + | q5 : int(1..3)]), + and([q6 > s_ExplicitVarSizeWithMarker_Marker -> s_ExplicitVarSizeWithMarker_Values[q6] = 1 | q6 : int(1..4)]), + and([q9 <= s_ExplicitVarSizeWithMarker_Marker -> + or([s_ExplicitVarSizeWithDummy[q11] != 5 /\ + s_ExplicitVarSizeWithDummy[q11] = s_ExplicitVarSizeWithMarker_Values[q9] + | q11 : int(1..4)]) + | q9 : int(1..4)]), + and([s_ExplicitVarSizeWithDummy[q13] != 5 -> + or([q15 <= s_ExplicitVarSizeWithMarker_Marker /\ + s_ExplicitVarSizeWithMarker_Values[q15] = s_ExplicitVarSizeWithDummy[q13] + | q15 : int(1..4)]) + | q13 : int(1..4)]) + diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_2_3_4-solution000001.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_2_3_4-solution000001.solution new file mode 100644 index 0000000000..8b4ecbb66d --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_2_3_4-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 3} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_2_3_4-solution000002.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_2_3_4-solution000002.solution new file mode 100644 index 0000000000..159a613983 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_2_3_4-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {2, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_2_3_4-solution000003.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_2_3_4-solution000003.solution new file mode 100644 index 0000000000..5963aac565 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_2_3_4-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 3} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_2_3_4-solution000004.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_2_3_4-solution000004.solution new file mode 100644 index 0000000000..6eeacc9727 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_2_3_4-solution000004.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_2_3_4-solution000005.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_2_3_4-solution000005.solution new file mode 100644 index 0000000000..560dd0f2f7 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_2_3_4-solution000005.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 3, 4} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_2_3_4-solution000006.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_2_3_4-solution000006.solution new file mode 100644 index 0000000000..40f3fd5c8f --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_2_3_4-solution000006.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {2, 3, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_2_3_4-solution000007.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_2_3_4-solution000007.solution new file mode 100644 index 0000000000..bd956f44e3 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_2_3_4-solution000007.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 3, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_2_3_4.eprime b/tests/exhaustive/basic/comprehension_letting/expected/model_2_3_4.eprime new file mode 100644 index 0000000000..bb0cb8b3e9 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_2_3_4.eprime @@ -0,0 +1,123 @@ +language ESSENCE' 1.0 + +find s_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +find s_ExplicitVarSizeWithMarker_Marker: int(0..4) +find s_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +find s_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find s_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +letting let1 be -100 +find x: int(-100..100) +find conjure_aux1: int(-20..4) +branching on + [s_ExplicitVarSizeWithFlags_Flags, s_ExplicitVarSizeWithFlags_Values, s_ExplicitVarSizeWithDummy, + s_ExplicitVarSizeWithMarker_Marker, s_ExplicitVarSizeWithMarker_Values, x] +such that + and([and([s_ExplicitVarSizeWithDummy[q37] != 5, q38 <= s_ExplicitVarSizeWithMarker_Marker, + s_ExplicitVarSizeWithDummy[q37] != s_ExplicitVarSizeWithMarker_Values[q38], + allDiff([s_ExplicitVarSizeWithDummy[q37] + s_ExplicitVarSizeWithMarker_Values[q38], + s_ExplicitVarSizeWithDummy[q37] * s_ExplicitVarSizeWithMarker_Values[q38], + s_ExplicitVarSizeWithDummy[q37] / s_ExplicitVarSizeWithMarker_Values[q38]; + int(1..3)]), + (s_ExplicitVarSizeWithDummy[q37] - s_ExplicitVarSizeWithMarker_Values[q38]) % 2 = 0; + int(1..5)]) + -> + min([s_ExplicitVarSizeWithDummy[q37] + s_ExplicitVarSizeWithMarker_Values[q38], + s_ExplicitVarSizeWithDummy[q37] - s_ExplicitVarSizeWithMarker_Values[q38], + s_ExplicitVarSizeWithDummy[q37] * s_ExplicitVarSizeWithMarker_Values[q38], + s_ExplicitVarSizeWithDummy[q37] / s_ExplicitVarSizeWithMarker_Values[q38]; + int(1..4)]) + <= conjure_aux1 + | q37 : int(1..4), q38 : int(1..4)]), + sum([toInt(and([s_ExplicitVarSizeWithDummy[q37] != 5, q38 <= s_ExplicitVarSizeWithMarker_Marker, + s_ExplicitVarSizeWithDummy[q37] != s_ExplicitVarSizeWithMarker_Values[q38], + allDiff([s_ExplicitVarSizeWithDummy[q37] + s_ExplicitVarSizeWithMarker_Values[q38], + s_ExplicitVarSizeWithDummy[q37] * s_ExplicitVarSizeWithMarker_Values[q38], + s_ExplicitVarSizeWithDummy[q37] / s_ExplicitVarSizeWithMarker_Values[q38]; + int(1..3)]), + (s_ExplicitVarSizeWithDummy[q37] - s_ExplicitVarSizeWithMarker_Values[q38]) % 2 = 0; + int(1..5)])) + | q37 : int(1..4), q38 : int(1..4)]) + > 0 + -> + or([and([s_ExplicitVarSizeWithDummy[q37] != 5, q38 <= s_ExplicitVarSizeWithMarker_Marker, + s_ExplicitVarSizeWithDummy[q37] != s_ExplicitVarSizeWithMarker_Values[q38], + allDiff([s_ExplicitVarSizeWithDummy[q37] + s_ExplicitVarSizeWithMarker_Values[q38], + s_ExplicitVarSizeWithDummy[q37] * s_ExplicitVarSizeWithMarker_Values[q38], + s_ExplicitVarSizeWithDummy[q37] / s_ExplicitVarSizeWithMarker_Values[q38]; + int(1..3)]), + (s_ExplicitVarSizeWithDummy[q37] - s_ExplicitVarSizeWithMarker_Values[q38]) % 2 = 0; + int(1..5)]) + /\ + min([s_ExplicitVarSizeWithDummy[q37] + s_ExplicitVarSizeWithMarker_Values[q38], + s_ExplicitVarSizeWithDummy[q37] - s_ExplicitVarSizeWithMarker_Values[q38], + s_ExplicitVarSizeWithDummy[q37] * s_ExplicitVarSizeWithMarker_Values[q38], + s_ExplicitVarSizeWithDummy[q37] / s_ExplicitVarSizeWithMarker_Values[q38]; + int(1..4)]) + = conjure_aux1 + | q37 : int(1..4), q38 : int(1..4)]), + sum([toInt(and([s_ExplicitVarSizeWithDummy[q37] != 5, q38 <= s_ExplicitVarSizeWithMarker_Marker, + s_ExplicitVarSizeWithDummy[q37] != s_ExplicitVarSizeWithMarker_Values[q38], + allDiff([s_ExplicitVarSizeWithDummy[q37] + s_ExplicitVarSizeWithMarker_Values[q38], + s_ExplicitVarSizeWithDummy[q37] * s_ExplicitVarSizeWithMarker_Values[q38], + s_ExplicitVarSizeWithDummy[q37] / s_ExplicitVarSizeWithMarker_Values[q38]; + int(1..3)]), + (s_ExplicitVarSizeWithDummy[q37] - s_ExplicitVarSizeWithMarker_Values[q38]) % 2 = 0; + int(1..5)])) + | q37 : int(1..4), q38 : int(1..4)]) + = 0 + -> conjure_aux1 = -20, + x = conjure_aux1, + sum([toInt(and([s_ExplicitVarSizeWithDummy[q37] != 5, q38 <= s_ExplicitVarSizeWithMarker_Marker, + s_ExplicitVarSizeWithDummy[q37] != s_ExplicitVarSizeWithMarker_Values[q38], + allDiff([s_ExplicitVarSizeWithDummy[q37] + s_ExplicitVarSizeWithMarker_Values[q38], + s_ExplicitVarSizeWithDummy[q37] * s_ExplicitVarSizeWithMarker_Values[q38], + s_ExplicitVarSizeWithDummy[q37] / s_ExplicitVarSizeWithMarker_Values[q38]; + int(1..3)]), + (s_ExplicitVarSizeWithDummy[q37] - s_ExplicitVarSizeWithMarker_Values[q38]) % 2 = 0; + int(1..5)])) + | q37 : int(1..4), q38 : int(1..4)]) + > 0, + and([s_ExplicitVarSizeWithDummy[q1] < s_ExplicitVarSizeWithDummy[q1 + 1] \/ s_ExplicitVarSizeWithDummy[q1] = 5 + | q1 : int(1..3)]), + and([s_ExplicitVarSizeWithDummy[q2] = 5 -> s_ExplicitVarSizeWithDummy[q2 + 1] = 5 | q2 : int(1..3)]), + and([q5 + 1 <= s_ExplicitVarSizeWithMarker_Marker -> + s_ExplicitVarSizeWithMarker_Values[q5] < s_ExplicitVarSizeWithMarker_Values[q5 + 1] + | q5 : int(1..3)]), + and([q6 > s_ExplicitVarSizeWithMarker_Marker -> s_ExplicitVarSizeWithMarker_Values[q6] = 1 | q6 : int(1..4)]), + and([q9 <= s_ExplicitVarSizeWithMarker_Marker -> + or([s_ExplicitVarSizeWithDummy[q11] != 5 /\ + s_ExplicitVarSizeWithDummy[q11] = s_ExplicitVarSizeWithMarker_Values[q9] + | q11 : int(1..4)]) + | q9 : int(1..4)]), + and([s_ExplicitVarSizeWithDummy[q13] != 5 -> + or([q15 <= s_ExplicitVarSizeWithMarker_Marker /\ + s_ExplicitVarSizeWithMarker_Values[q15] = s_ExplicitVarSizeWithDummy[q13] + | q15 : int(1..4)]) + | q13 : int(1..4)]), + and([s_ExplicitVarSizeWithFlags_Flags[q16 + 1] -> + s_ExplicitVarSizeWithFlags_Values[q16] < s_ExplicitVarSizeWithFlags_Values[q16 + 1] + | q16 : int(1..3)]), + and([s_ExplicitVarSizeWithFlags_Flags[q17] = false -> s_ExplicitVarSizeWithFlags_Values[q17] = 1 + | q17 : int(1..4)]), + and([s_ExplicitVarSizeWithFlags_Flags[q18 + 1] -> s_ExplicitVarSizeWithFlags_Flags[q18] | q18 : int(1..3)]), + and([s_ExplicitVarSizeWithFlags_Flags[q22] -> + or([s_ExplicitVarSizeWithDummy[q24] != 5 /\ + s_ExplicitVarSizeWithDummy[q24] = s_ExplicitVarSizeWithFlags_Values[q22] + | q24 : int(1..4)]) + | q22 : int(1..4)]), + and([s_ExplicitVarSizeWithDummy[q26] != 5 -> + or([s_ExplicitVarSizeWithFlags_Flags[q28] /\ + s_ExplicitVarSizeWithFlags_Values[q28] = s_ExplicitVarSizeWithDummy[q26] + | q28 : int(1..4)]) + | q26 : int(1..4)]), + and([s_ExplicitVarSizeWithFlags_Flags[q30] -> + or([q32 <= s_ExplicitVarSizeWithMarker_Marker /\ + s_ExplicitVarSizeWithMarker_Values[q32] = s_ExplicitVarSizeWithFlags_Values[q30] + | q32 : int(1..4)]) + | q30 : int(1..4)]), + and([q34 <= s_ExplicitVarSizeWithMarker_Marker -> + or([s_ExplicitVarSizeWithFlags_Flags[q36] /\ + s_ExplicitVarSizeWithFlags_Values[q36] = s_ExplicitVarSizeWithMarker_Values[q34] + | q36 : int(1..4)]) + | q34 : int(1..4)]) + diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_2_4_1-solution000001.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_2_4_1-solution000001.solution new file mode 100644 index 0000000000..159a613983 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_2_4_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {2, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_2_4_1-solution000002.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_2_4_1-solution000002.solution new file mode 100644 index 0000000000..40f3fd5c8f --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_2_4_1-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {2, 3, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_2_4_1-solution000003.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_2_4_1-solution000003.solution new file mode 100644 index 0000000000..8b4ecbb66d --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_2_4_1-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 3} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_2_4_1-solution000004.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_2_4_1-solution000004.solution new file mode 100644 index 0000000000..560dd0f2f7 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_2_4_1-solution000004.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 3, 4} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_2_4_1-solution000005.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_2_4_1-solution000005.solution new file mode 100644 index 0000000000..6eeacc9727 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_2_4_1-solution000005.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_2_4_1-solution000006.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_2_4_1-solution000006.solution new file mode 100644 index 0000000000..5963aac565 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_2_4_1-solution000006.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 3} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_2_4_1-solution000007.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_2_4_1-solution000007.solution new file mode 100644 index 0000000000..bd956f44e3 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_2_4_1-solution000007.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 3, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_2_4_1.eprime b/tests/exhaustive/basic/comprehension_letting/expected/model_2_4_1.eprime new file mode 100644 index 0000000000..f8ee63e7f7 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_2_4_1.eprime @@ -0,0 +1,105 @@ +language ESSENCE' 1.0 + +find s_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +find s_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find s_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +find s_Occurrence: matrix indexed by [int(1..4)] of bool +letting let1 be -100 +find x: int(-100..100) +find conjure_aux1: int(-20..4) +branching on + [s_Occurrence, s_ExplicitVarSizeWithDummy, s_ExplicitVarSizeWithFlags_Flags, s_ExplicitVarSizeWithFlags_Values, x] +such that + and([and([s_ExplicitVarSizeWithDummy[q29] != 5, s_ExplicitVarSizeWithFlags_Flags[q30], + s_ExplicitVarSizeWithDummy[q29] != s_ExplicitVarSizeWithFlags_Values[q30], + allDiff([s_ExplicitVarSizeWithDummy[q29] + s_ExplicitVarSizeWithFlags_Values[q30], + s_ExplicitVarSizeWithDummy[q29] * s_ExplicitVarSizeWithFlags_Values[q30], + s_ExplicitVarSizeWithDummy[q29] / s_ExplicitVarSizeWithFlags_Values[q30]; + int(1..3)]), + (s_ExplicitVarSizeWithDummy[q29] - s_ExplicitVarSizeWithFlags_Values[q30]) % 2 = 0; + int(1..5)]) + -> + min([s_ExplicitVarSizeWithDummy[q29] + s_ExplicitVarSizeWithFlags_Values[q30], + s_ExplicitVarSizeWithDummy[q29] - s_ExplicitVarSizeWithFlags_Values[q30], + s_ExplicitVarSizeWithDummy[q29] * s_ExplicitVarSizeWithFlags_Values[q30], + s_ExplicitVarSizeWithDummy[q29] / s_ExplicitVarSizeWithFlags_Values[q30]; + int(1..4)]) + <= conjure_aux1 + | q29 : int(1..4), q30 : int(1..4)]), + sum([toInt(and([s_ExplicitVarSizeWithDummy[q29] != 5, s_ExplicitVarSizeWithFlags_Flags[q30], + s_ExplicitVarSizeWithDummy[q29] != s_ExplicitVarSizeWithFlags_Values[q30], + allDiff([s_ExplicitVarSizeWithDummy[q29] + s_ExplicitVarSizeWithFlags_Values[q30], + s_ExplicitVarSizeWithDummy[q29] * s_ExplicitVarSizeWithFlags_Values[q30], + s_ExplicitVarSizeWithDummy[q29] / s_ExplicitVarSizeWithFlags_Values[q30]; + int(1..3)]), + (s_ExplicitVarSizeWithDummy[q29] - s_ExplicitVarSizeWithFlags_Values[q30]) % 2 = 0; + int(1..5)])) + | q29 : int(1..4), q30 : int(1..4)]) + > 0 + -> + or([and([s_ExplicitVarSizeWithDummy[q29] != 5, s_ExplicitVarSizeWithFlags_Flags[q30], + s_ExplicitVarSizeWithDummy[q29] != s_ExplicitVarSizeWithFlags_Values[q30], + allDiff([s_ExplicitVarSizeWithDummy[q29] + s_ExplicitVarSizeWithFlags_Values[q30], + s_ExplicitVarSizeWithDummy[q29] * s_ExplicitVarSizeWithFlags_Values[q30], + s_ExplicitVarSizeWithDummy[q29] / s_ExplicitVarSizeWithFlags_Values[q30]; + int(1..3)]), + (s_ExplicitVarSizeWithDummy[q29] - s_ExplicitVarSizeWithFlags_Values[q30]) % 2 = 0; + int(1..5)]) + /\ + min([s_ExplicitVarSizeWithDummy[q29] + s_ExplicitVarSizeWithFlags_Values[q30], + s_ExplicitVarSizeWithDummy[q29] - s_ExplicitVarSizeWithFlags_Values[q30], + s_ExplicitVarSizeWithDummy[q29] * s_ExplicitVarSizeWithFlags_Values[q30], + s_ExplicitVarSizeWithDummy[q29] / s_ExplicitVarSizeWithFlags_Values[q30]; + int(1..4)]) + = conjure_aux1 + | q29 : int(1..4), q30 : int(1..4)]), + sum([toInt(and([s_ExplicitVarSizeWithDummy[q29] != 5, s_ExplicitVarSizeWithFlags_Flags[q30], + s_ExplicitVarSizeWithDummy[q29] != s_ExplicitVarSizeWithFlags_Values[q30], + allDiff([s_ExplicitVarSizeWithDummy[q29] + s_ExplicitVarSizeWithFlags_Values[q30], + s_ExplicitVarSizeWithDummy[q29] * s_ExplicitVarSizeWithFlags_Values[q30], + s_ExplicitVarSizeWithDummy[q29] / s_ExplicitVarSizeWithFlags_Values[q30]; + int(1..3)]), + (s_ExplicitVarSizeWithDummy[q29] - s_ExplicitVarSizeWithFlags_Values[q30]) % 2 = 0; + int(1..5)])) + | q29 : int(1..4), q30 : int(1..4)]) + = 0 + -> conjure_aux1 = -20, + x = conjure_aux1, + sum([toInt(and([s_ExplicitVarSizeWithDummy[q29] != 5, s_ExplicitVarSizeWithFlags_Flags[q30], + s_ExplicitVarSizeWithDummy[q29] != s_ExplicitVarSizeWithFlags_Values[q30], + allDiff([s_ExplicitVarSizeWithDummy[q29] + s_ExplicitVarSizeWithFlags_Values[q30], + s_ExplicitVarSizeWithDummy[q29] * s_ExplicitVarSizeWithFlags_Values[q30], + s_ExplicitVarSizeWithDummy[q29] / s_ExplicitVarSizeWithFlags_Values[q30]; + int(1..3)]), + (s_ExplicitVarSizeWithDummy[q29] - s_ExplicitVarSizeWithFlags_Values[q30]) % 2 = 0; + int(1..5)])) + | q29 : int(1..4), q30 : int(1..4)]) + > 0, + and([s_ExplicitVarSizeWithDummy[q1] < s_ExplicitVarSizeWithDummy[q1 + 1] \/ s_ExplicitVarSizeWithDummy[q1] = 5 + | q1 : int(1..3)]), + and([s_ExplicitVarSizeWithDummy[q2] = 5 -> s_ExplicitVarSizeWithDummy[q2 + 1] = 5 | q2 : int(1..3)]), + and([s_ExplicitVarSizeWithFlags_Flags[q5 + 1] -> + s_ExplicitVarSizeWithFlags_Values[q5] < s_ExplicitVarSizeWithFlags_Values[q5 + 1] + | q5 : int(1..3)]), + and([s_ExplicitVarSizeWithFlags_Flags[q6] = false -> s_ExplicitVarSizeWithFlags_Values[q6] = 1 | q6 : int(1..4)]), + and([s_ExplicitVarSizeWithFlags_Flags[q7 + 1] -> s_ExplicitVarSizeWithFlags_Flags[q7] | q7 : int(1..3)]), + and([s_ExplicitVarSizeWithFlags_Flags[q11] -> + or([s_ExplicitVarSizeWithDummy[q13] != 5 /\ + s_ExplicitVarSizeWithDummy[q13] = s_ExplicitVarSizeWithFlags_Values[q11] + | q13 : int(1..4)]) + | q11 : int(1..4)]), + and([s_ExplicitVarSizeWithDummy[q15] != 5 -> + or([s_ExplicitVarSizeWithFlags_Flags[q17] /\ + s_ExplicitVarSizeWithFlags_Values[q17] = s_ExplicitVarSizeWithDummy[q15] + | q17 : int(1..4)]) + | q15 : int(1..4)]), + and([s_Occurrence[q19] -> + or([s_ExplicitVarSizeWithDummy[q21] != 5 /\ s_ExplicitVarSizeWithDummy[q21] = q19 | q21 : int(1..4)]) + | q19 : int(1..4)]), + and([s_ExplicitVarSizeWithDummy[q23] != 5 -> s_Occurrence[s_ExplicitVarSizeWithDummy[q23]] | q23 : int(1..4)]), + and([s_Occurrence[q24] -> + or([s_ExplicitVarSizeWithFlags_Flags[q26] /\ s_ExplicitVarSizeWithFlags_Values[q26] = q24 | q26 : int(1..4)]) + | q24 : int(1..4)]), + and([s_ExplicitVarSizeWithFlags_Flags[q28] -> s_Occurrence[s_ExplicitVarSizeWithFlags_Values[q28]] + | q28 : int(1..4)]) + diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_2_4_2-solution000001.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_2_4_2-solution000001.solution new file mode 100644 index 0000000000..8b4ecbb66d --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_2_4_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 3} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_2_4_2-solution000002.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_2_4_2-solution000002.solution new file mode 100644 index 0000000000..159a613983 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_2_4_2-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {2, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_2_4_2-solution000003.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_2_4_2-solution000003.solution new file mode 100644 index 0000000000..5963aac565 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_2_4_2-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 3} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_2_4_2-solution000004.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_2_4_2-solution000004.solution new file mode 100644 index 0000000000..6eeacc9727 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_2_4_2-solution000004.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_2_4_2-solution000005.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_2_4_2-solution000005.solution new file mode 100644 index 0000000000..560dd0f2f7 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_2_4_2-solution000005.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 3, 4} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_2_4_2-solution000006.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_2_4_2-solution000006.solution new file mode 100644 index 0000000000..40f3fd5c8f --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_2_4_2-solution000006.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {2, 3, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_2_4_2-solution000007.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_2_4_2-solution000007.solution new file mode 100644 index 0000000000..bd956f44e3 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_2_4_2-solution000007.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 3, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_2_4_2.eprime b/tests/exhaustive/basic/comprehension_letting/expected/model_2_4_2.eprime new file mode 100644 index 0000000000..fcc240b9e7 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_2_4_2.eprime @@ -0,0 +1,94 @@ +language ESSENCE' 1.0 + +find s_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +find s_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find s_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +letting let1 be -100 +find x: int(-100..100) +find conjure_aux1: int(-20..4) +branching on [s_ExplicitVarSizeWithFlags_Flags, s_ExplicitVarSizeWithFlags_Values, s_ExplicitVarSizeWithDummy, x] +such that + and([and([s_ExplicitVarSizeWithDummy[q18] != 5, s_ExplicitVarSizeWithFlags_Flags[q19], + s_ExplicitVarSizeWithDummy[q18] != s_ExplicitVarSizeWithFlags_Values[q19], + allDiff([s_ExplicitVarSizeWithDummy[q18] + s_ExplicitVarSizeWithFlags_Values[q19], + s_ExplicitVarSizeWithDummy[q18] * s_ExplicitVarSizeWithFlags_Values[q19], + s_ExplicitVarSizeWithDummy[q18] / s_ExplicitVarSizeWithFlags_Values[q19]; + int(1..3)]), + (s_ExplicitVarSizeWithDummy[q18] - s_ExplicitVarSizeWithFlags_Values[q19]) % 2 = 0; + int(1..5)]) + -> + min([s_ExplicitVarSizeWithDummy[q18] + s_ExplicitVarSizeWithFlags_Values[q19], + s_ExplicitVarSizeWithDummy[q18] - s_ExplicitVarSizeWithFlags_Values[q19], + s_ExplicitVarSizeWithDummy[q18] * s_ExplicitVarSizeWithFlags_Values[q19], + s_ExplicitVarSizeWithDummy[q18] / s_ExplicitVarSizeWithFlags_Values[q19]; + int(1..4)]) + <= conjure_aux1 + | q18 : int(1..4), q19 : int(1..4)]), + sum([toInt(and([s_ExplicitVarSizeWithDummy[q18] != 5, s_ExplicitVarSizeWithFlags_Flags[q19], + s_ExplicitVarSizeWithDummy[q18] != s_ExplicitVarSizeWithFlags_Values[q19], + allDiff([s_ExplicitVarSizeWithDummy[q18] + s_ExplicitVarSizeWithFlags_Values[q19], + s_ExplicitVarSizeWithDummy[q18] * s_ExplicitVarSizeWithFlags_Values[q19], + s_ExplicitVarSizeWithDummy[q18] / s_ExplicitVarSizeWithFlags_Values[q19]; + int(1..3)]), + (s_ExplicitVarSizeWithDummy[q18] - s_ExplicitVarSizeWithFlags_Values[q19]) % 2 = 0; + int(1..5)])) + | q18 : int(1..4), q19 : int(1..4)]) + > 0 + -> + or([and([s_ExplicitVarSizeWithDummy[q18] != 5, s_ExplicitVarSizeWithFlags_Flags[q19], + s_ExplicitVarSizeWithDummy[q18] != s_ExplicitVarSizeWithFlags_Values[q19], + allDiff([s_ExplicitVarSizeWithDummy[q18] + s_ExplicitVarSizeWithFlags_Values[q19], + s_ExplicitVarSizeWithDummy[q18] * s_ExplicitVarSizeWithFlags_Values[q19], + s_ExplicitVarSizeWithDummy[q18] / s_ExplicitVarSizeWithFlags_Values[q19]; + int(1..3)]), + (s_ExplicitVarSizeWithDummy[q18] - s_ExplicitVarSizeWithFlags_Values[q19]) % 2 = 0; + int(1..5)]) + /\ + min([s_ExplicitVarSizeWithDummy[q18] + s_ExplicitVarSizeWithFlags_Values[q19], + s_ExplicitVarSizeWithDummy[q18] - s_ExplicitVarSizeWithFlags_Values[q19], + s_ExplicitVarSizeWithDummy[q18] * s_ExplicitVarSizeWithFlags_Values[q19], + s_ExplicitVarSizeWithDummy[q18] / s_ExplicitVarSizeWithFlags_Values[q19]; + int(1..4)]) + = conjure_aux1 + | q18 : int(1..4), q19 : int(1..4)]), + sum([toInt(and([s_ExplicitVarSizeWithDummy[q18] != 5, s_ExplicitVarSizeWithFlags_Flags[q19], + s_ExplicitVarSizeWithDummy[q18] != s_ExplicitVarSizeWithFlags_Values[q19], + allDiff([s_ExplicitVarSizeWithDummy[q18] + s_ExplicitVarSizeWithFlags_Values[q19], + s_ExplicitVarSizeWithDummy[q18] * s_ExplicitVarSizeWithFlags_Values[q19], + s_ExplicitVarSizeWithDummy[q18] / s_ExplicitVarSizeWithFlags_Values[q19]; + int(1..3)]), + (s_ExplicitVarSizeWithDummy[q18] - s_ExplicitVarSizeWithFlags_Values[q19]) % 2 = 0; + int(1..5)])) + | q18 : int(1..4), q19 : int(1..4)]) + = 0 + -> conjure_aux1 = -20, + x = conjure_aux1, + sum([toInt(and([s_ExplicitVarSizeWithDummy[q18] != 5, s_ExplicitVarSizeWithFlags_Flags[q19], + s_ExplicitVarSizeWithDummy[q18] != s_ExplicitVarSizeWithFlags_Values[q19], + allDiff([s_ExplicitVarSizeWithDummy[q18] + s_ExplicitVarSizeWithFlags_Values[q19], + s_ExplicitVarSizeWithDummy[q18] * s_ExplicitVarSizeWithFlags_Values[q19], + s_ExplicitVarSizeWithDummy[q18] / s_ExplicitVarSizeWithFlags_Values[q19]; + int(1..3)]), + (s_ExplicitVarSizeWithDummy[q18] - s_ExplicitVarSizeWithFlags_Values[q19]) % 2 = 0; + int(1..5)])) + | q18 : int(1..4), q19 : int(1..4)]) + > 0, + and([s_ExplicitVarSizeWithDummy[q1] < s_ExplicitVarSizeWithDummy[q1 + 1] \/ s_ExplicitVarSizeWithDummy[q1] = 5 + | q1 : int(1..3)]), + and([s_ExplicitVarSizeWithDummy[q2] = 5 -> s_ExplicitVarSizeWithDummy[q2 + 1] = 5 | q2 : int(1..3)]), + and([s_ExplicitVarSizeWithFlags_Flags[q5 + 1] -> + s_ExplicitVarSizeWithFlags_Values[q5] < s_ExplicitVarSizeWithFlags_Values[q5 + 1] + | q5 : int(1..3)]), + and([s_ExplicitVarSizeWithFlags_Flags[q6] = false -> s_ExplicitVarSizeWithFlags_Values[q6] = 1 | q6 : int(1..4)]), + and([s_ExplicitVarSizeWithFlags_Flags[q7 + 1] -> s_ExplicitVarSizeWithFlags_Flags[q7] | q7 : int(1..3)]), + and([s_ExplicitVarSizeWithFlags_Flags[q11] -> + or([s_ExplicitVarSizeWithDummy[q13] != 5 /\ + s_ExplicitVarSizeWithDummy[q13] = s_ExplicitVarSizeWithFlags_Values[q11] + | q13 : int(1..4)]) + | q11 : int(1..4)]), + and([s_ExplicitVarSizeWithDummy[q15] != 5 -> + or([s_ExplicitVarSizeWithFlags_Flags[q17] /\ + s_ExplicitVarSizeWithFlags_Values[q17] = s_ExplicitVarSizeWithDummy[q15] + | q17 : int(1..4)]) + | q15 : int(1..4)]) + diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_2_4_3-solution000001.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_2_4_3-solution000001.solution new file mode 100644 index 0000000000..8b4ecbb66d --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_2_4_3-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 3} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_2_4_3-solution000002.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_2_4_3-solution000002.solution new file mode 100644 index 0000000000..159a613983 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_2_4_3-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {2, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_2_4_3-solution000003.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_2_4_3-solution000003.solution new file mode 100644 index 0000000000..5963aac565 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_2_4_3-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 3} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_2_4_3-solution000004.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_2_4_3-solution000004.solution new file mode 100644 index 0000000000..6eeacc9727 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_2_4_3-solution000004.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_2_4_3-solution000005.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_2_4_3-solution000005.solution new file mode 100644 index 0000000000..560dd0f2f7 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_2_4_3-solution000005.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 3, 4} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_2_4_3-solution000006.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_2_4_3-solution000006.solution new file mode 100644 index 0000000000..40f3fd5c8f --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_2_4_3-solution000006.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {2, 3, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_2_4_3-solution000007.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_2_4_3-solution000007.solution new file mode 100644 index 0000000000..bd956f44e3 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_2_4_3-solution000007.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 3, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_2_4_3.eprime b/tests/exhaustive/basic/comprehension_letting/expected/model_2_4_3.eprime new file mode 100644 index 0000000000..aa5a1b0079 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_2_4_3.eprime @@ -0,0 +1,122 @@ +language ESSENCE' 1.0 + +find s_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +find s_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find s_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +find s_ExplicitVarSizeWithMarker_Marker: int(0..4) +find s_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +letting let1 be -100 +find x: int(-100..100) +find conjure_aux1: int(-20..4) +branching on + [s_ExplicitVarSizeWithMarker_Marker, s_ExplicitVarSizeWithMarker_Values, s_ExplicitVarSizeWithDummy, + s_ExplicitVarSizeWithFlags_Flags, s_ExplicitVarSizeWithFlags_Values, x] +such that + and([and([s_ExplicitVarSizeWithDummy[q37] != 5, s_ExplicitVarSizeWithFlags_Flags[q38], + s_ExplicitVarSizeWithDummy[q37] != s_ExplicitVarSizeWithFlags_Values[q38], + allDiff([s_ExplicitVarSizeWithDummy[q37] + s_ExplicitVarSizeWithFlags_Values[q38], + s_ExplicitVarSizeWithDummy[q37] * s_ExplicitVarSizeWithFlags_Values[q38], + s_ExplicitVarSizeWithDummy[q37] / s_ExplicitVarSizeWithFlags_Values[q38]; + int(1..3)]), + (s_ExplicitVarSizeWithDummy[q37] - s_ExplicitVarSizeWithFlags_Values[q38]) % 2 = 0; + int(1..5)]) + -> + min([s_ExplicitVarSizeWithDummy[q37] + s_ExplicitVarSizeWithFlags_Values[q38], + s_ExplicitVarSizeWithDummy[q37] - s_ExplicitVarSizeWithFlags_Values[q38], + s_ExplicitVarSizeWithDummy[q37] * s_ExplicitVarSizeWithFlags_Values[q38], + s_ExplicitVarSizeWithDummy[q37] / s_ExplicitVarSizeWithFlags_Values[q38]; + int(1..4)]) + <= conjure_aux1 + | q37 : int(1..4), q38 : int(1..4)]), + sum([toInt(and([s_ExplicitVarSizeWithDummy[q37] != 5, s_ExplicitVarSizeWithFlags_Flags[q38], + s_ExplicitVarSizeWithDummy[q37] != s_ExplicitVarSizeWithFlags_Values[q38], + allDiff([s_ExplicitVarSizeWithDummy[q37] + s_ExplicitVarSizeWithFlags_Values[q38], + s_ExplicitVarSizeWithDummy[q37] * s_ExplicitVarSizeWithFlags_Values[q38], + s_ExplicitVarSizeWithDummy[q37] / s_ExplicitVarSizeWithFlags_Values[q38]; + int(1..3)]), + (s_ExplicitVarSizeWithDummy[q37] - s_ExplicitVarSizeWithFlags_Values[q38]) % 2 = 0; + int(1..5)])) + | q37 : int(1..4), q38 : int(1..4)]) + > 0 + -> + or([and([s_ExplicitVarSizeWithDummy[q37] != 5, s_ExplicitVarSizeWithFlags_Flags[q38], + s_ExplicitVarSizeWithDummy[q37] != s_ExplicitVarSizeWithFlags_Values[q38], + allDiff([s_ExplicitVarSizeWithDummy[q37] + s_ExplicitVarSizeWithFlags_Values[q38], + s_ExplicitVarSizeWithDummy[q37] * s_ExplicitVarSizeWithFlags_Values[q38], + s_ExplicitVarSizeWithDummy[q37] / s_ExplicitVarSizeWithFlags_Values[q38]; + int(1..3)]), + (s_ExplicitVarSizeWithDummy[q37] - s_ExplicitVarSizeWithFlags_Values[q38]) % 2 = 0; + int(1..5)]) + /\ + min([s_ExplicitVarSizeWithDummy[q37] + s_ExplicitVarSizeWithFlags_Values[q38], + s_ExplicitVarSizeWithDummy[q37] - s_ExplicitVarSizeWithFlags_Values[q38], + s_ExplicitVarSizeWithDummy[q37] * s_ExplicitVarSizeWithFlags_Values[q38], + s_ExplicitVarSizeWithDummy[q37] / s_ExplicitVarSizeWithFlags_Values[q38]; + int(1..4)]) + = conjure_aux1 + | q37 : int(1..4), q38 : int(1..4)]), + sum([toInt(and([s_ExplicitVarSizeWithDummy[q37] != 5, s_ExplicitVarSizeWithFlags_Flags[q38], + s_ExplicitVarSizeWithDummy[q37] != s_ExplicitVarSizeWithFlags_Values[q38], + allDiff([s_ExplicitVarSizeWithDummy[q37] + s_ExplicitVarSizeWithFlags_Values[q38], + s_ExplicitVarSizeWithDummy[q37] * s_ExplicitVarSizeWithFlags_Values[q38], + s_ExplicitVarSizeWithDummy[q37] / s_ExplicitVarSizeWithFlags_Values[q38]; + int(1..3)]), + (s_ExplicitVarSizeWithDummy[q37] - s_ExplicitVarSizeWithFlags_Values[q38]) % 2 = 0; + int(1..5)])) + | q37 : int(1..4), q38 : int(1..4)]) + = 0 + -> conjure_aux1 = -20, + x = conjure_aux1, + sum([toInt(and([s_ExplicitVarSizeWithDummy[q37] != 5, s_ExplicitVarSizeWithFlags_Flags[q38], + s_ExplicitVarSizeWithDummy[q37] != s_ExplicitVarSizeWithFlags_Values[q38], + allDiff([s_ExplicitVarSizeWithDummy[q37] + s_ExplicitVarSizeWithFlags_Values[q38], + s_ExplicitVarSizeWithDummy[q37] * s_ExplicitVarSizeWithFlags_Values[q38], + s_ExplicitVarSizeWithDummy[q37] / s_ExplicitVarSizeWithFlags_Values[q38]; + int(1..3)]), + (s_ExplicitVarSizeWithDummy[q37] - s_ExplicitVarSizeWithFlags_Values[q38]) % 2 = 0; + int(1..5)])) + | q37 : int(1..4), q38 : int(1..4)]) + > 0, + and([s_ExplicitVarSizeWithDummy[q1] < s_ExplicitVarSizeWithDummy[q1 + 1] \/ s_ExplicitVarSizeWithDummy[q1] = 5 + | q1 : int(1..3)]), + and([s_ExplicitVarSizeWithDummy[q2] = 5 -> s_ExplicitVarSizeWithDummy[q2 + 1] = 5 | q2 : int(1..3)]), + and([s_ExplicitVarSizeWithFlags_Flags[q5 + 1] -> + s_ExplicitVarSizeWithFlags_Values[q5] < s_ExplicitVarSizeWithFlags_Values[q5 + 1] + | q5 : int(1..3)]), + and([s_ExplicitVarSizeWithFlags_Flags[q6] = false -> s_ExplicitVarSizeWithFlags_Values[q6] = 1 | q6 : int(1..4)]), + and([s_ExplicitVarSizeWithFlags_Flags[q7 + 1] -> s_ExplicitVarSizeWithFlags_Flags[q7] | q7 : int(1..3)]), + and([s_ExplicitVarSizeWithFlags_Flags[q11] -> + or([s_ExplicitVarSizeWithDummy[q13] != 5 /\ + s_ExplicitVarSizeWithDummy[q13] = s_ExplicitVarSizeWithFlags_Values[q11] + | q13 : int(1..4)]) + | q11 : int(1..4)]), + and([s_ExplicitVarSizeWithDummy[q15] != 5 -> + or([s_ExplicitVarSizeWithFlags_Flags[q17] /\ + s_ExplicitVarSizeWithFlags_Values[q17] = s_ExplicitVarSizeWithDummy[q15] + | q17 : int(1..4)]) + | q15 : int(1..4)]), + and([q18 + 1 <= s_ExplicitVarSizeWithMarker_Marker -> + s_ExplicitVarSizeWithMarker_Values[q18] < s_ExplicitVarSizeWithMarker_Values[q18 + 1] + | q18 : int(1..3)]), + and([q19 > s_ExplicitVarSizeWithMarker_Marker -> s_ExplicitVarSizeWithMarker_Values[q19] = 1 | q19 : int(1..4)]), + and([q22 <= s_ExplicitVarSizeWithMarker_Marker -> + or([s_ExplicitVarSizeWithDummy[q24] != 5 /\ + s_ExplicitVarSizeWithDummy[q24] = s_ExplicitVarSizeWithMarker_Values[q22] + | q24 : int(1..4)]) + | q22 : int(1..4)]), + and([s_ExplicitVarSizeWithDummy[q26] != 5 -> + or([q28 <= s_ExplicitVarSizeWithMarker_Marker /\ + s_ExplicitVarSizeWithMarker_Values[q28] = s_ExplicitVarSizeWithDummy[q26] + | q28 : int(1..4)]) + | q26 : int(1..4)]), + and([q30 <= s_ExplicitVarSizeWithMarker_Marker -> + or([s_ExplicitVarSizeWithFlags_Flags[q32] /\ + s_ExplicitVarSizeWithFlags_Values[q32] = s_ExplicitVarSizeWithMarker_Values[q30] + | q32 : int(1..4)]) + | q30 : int(1..4)]), + and([s_ExplicitVarSizeWithFlags_Flags[q34] -> + or([q36 <= s_ExplicitVarSizeWithMarker_Marker /\ + s_ExplicitVarSizeWithMarker_Values[q36] = s_ExplicitVarSizeWithFlags_Values[q34] + | q36 : int(1..4)]) + | q34 : int(1..4)]) + diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_3_1_1-solution000001.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_3_1_1-solution000001.solution new file mode 100644 index 0000000000..159a613983 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_3_1_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {2, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_3_1_1-solution000002.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_3_1_1-solution000002.solution new file mode 100644 index 0000000000..40f3fd5c8f --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_3_1_1-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {2, 3, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_3_1_1-solution000003.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_3_1_1-solution000003.solution new file mode 100644 index 0000000000..8b4ecbb66d --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_3_1_1-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 3} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_3_1_1-solution000004.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_3_1_1-solution000004.solution new file mode 100644 index 0000000000..560dd0f2f7 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_3_1_1-solution000004.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 3, 4} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_3_1_1-solution000005.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_3_1_1-solution000005.solution new file mode 100644 index 0000000000..6eeacc9727 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_3_1_1-solution000005.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_3_1_1-solution000006.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_3_1_1-solution000006.solution new file mode 100644 index 0000000000..5963aac565 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_3_1_1-solution000006.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 3} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_3_1_1-solution000007.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_3_1_1-solution000007.solution new file mode 100644 index 0000000000..bd956f44e3 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_3_1_1-solution000007.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 3, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_3_1_1.eprime b/tests/exhaustive/basic/comprehension_letting/expected/model_3_1_1.eprime new file mode 100644 index 0000000000..73444ebdb1 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_3_1_1.eprime @@ -0,0 +1,75 @@ +language ESSENCE' 1.0 + +find s_ExplicitVarSizeWithMarker_Marker: int(0..4) +find s_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +find s_Occurrence: matrix indexed by [int(1..4)] of bool +letting let1 be -100 +find x: int(-100..100) +find conjure_aux1: int(-16..3) +branching on [s_Occurrence, s_ExplicitVarSizeWithMarker_Marker, s_ExplicitVarSizeWithMarker_Values, x] +such that + and([and([q5 <= s_ExplicitVarSizeWithMarker_Marker, s_Occurrence[j], s_ExplicitVarSizeWithMarker_Values[q5] != j, + allDiff([s_ExplicitVarSizeWithMarker_Values[q5] + j, s_ExplicitVarSizeWithMarker_Values[q5] * j, + s_ExplicitVarSizeWithMarker_Values[q5] / j; + int(1..3)]), + (s_ExplicitVarSizeWithMarker_Values[q5] - j) % 2 = 0; + int(1..5)]) + -> + min([s_ExplicitVarSizeWithMarker_Values[q5] + j, s_ExplicitVarSizeWithMarker_Values[q5] - j, + s_ExplicitVarSizeWithMarker_Values[q5] * j, s_ExplicitVarSizeWithMarker_Values[q5] / j; + int(1..4)]) + <= conjure_aux1 + | q5 : int(1..4), j : int(1..4)]), + sum([toInt(and([q5 <= s_ExplicitVarSizeWithMarker_Marker, s_Occurrence[j], + s_ExplicitVarSizeWithMarker_Values[q5] != j, + allDiff([s_ExplicitVarSizeWithMarker_Values[q5] + j, s_ExplicitVarSizeWithMarker_Values[q5] * j, + s_ExplicitVarSizeWithMarker_Values[q5] / j; + int(1..3)]), + (s_ExplicitVarSizeWithMarker_Values[q5] - j) % 2 = 0; + int(1..5)])) + | q5 : int(1..4), j : int(1..4)]) + > 0 + -> + or([and([q5 <= s_ExplicitVarSizeWithMarker_Marker, s_Occurrence[j], s_ExplicitVarSizeWithMarker_Values[q5] != j, + allDiff([s_ExplicitVarSizeWithMarker_Values[q5] + j, s_ExplicitVarSizeWithMarker_Values[q5] * j, + s_ExplicitVarSizeWithMarker_Values[q5] / j; + int(1..3)]), + (s_ExplicitVarSizeWithMarker_Values[q5] - j) % 2 = 0; + int(1..5)]) + /\ + min([s_ExplicitVarSizeWithMarker_Values[q5] + j, s_ExplicitVarSizeWithMarker_Values[q5] - j, + s_ExplicitVarSizeWithMarker_Values[q5] * j, s_ExplicitVarSizeWithMarker_Values[q5] / j; + int(1..4)]) + = conjure_aux1 + | q5 : int(1..4), j : int(1..4)]), + sum([toInt(and([q5 <= s_ExplicitVarSizeWithMarker_Marker, s_Occurrence[j], + s_ExplicitVarSizeWithMarker_Values[q5] != j, + allDiff([s_ExplicitVarSizeWithMarker_Values[q5] + j, s_ExplicitVarSizeWithMarker_Values[q5] * j, + s_ExplicitVarSizeWithMarker_Values[q5] / j; + int(1..3)]), + (s_ExplicitVarSizeWithMarker_Values[q5] - j) % 2 = 0; + int(1..5)])) + | q5 : int(1..4), j : int(1..4)]) + = 0 + -> conjure_aux1 = -16, + x = conjure_aux1, + sum([toInt(and([q5 <= s_ExplicitVarSizeWithMarker_Marker, s_Occurrence[j], + s_ExplicitVarSizeWithMarker_Values[q5] != j, + allDiff([s_ExplicitVarSizeWithMarker_Values[q5] + j, s_ExplicitVarSizeWithMarker_Values[q5] * j, + s_ExplicitVarSizeWithMarker_Values[q5] / j; + int(1..3)]), + (s_ExplicitVarSizeWithMarker_Values[q5] - j) % 2 = 0; + int(1..5)])) + | q5 : int(1..4), j : int(1..4)]) + > 0, + and([q1 + 1 <= s_ExplicitVarSizeWithMarker_Marker -> + s_ExplicitVarSizeWithMarker_Values[q1] < s_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..3)]), + and([q2 > s_ExplicitVarSizeWithMarker_Marker -> s_ExplicitVarSizeWithMarker_Values[q2] = 1 | q2 : int(1..4)]), + and([s_Occurrence[q27] -> + or([q29 <= s_ExplicitVarSizeWithMarker_Marker /\ s_ExplicitVarSizeWithMarker_Values[q29] = q27 + | q29 : int(1..4)]) + | q27 : int(1..4)]), + and([q31 <= s_ExplicitVarSizeWithMarker_Marker -> s_Occurrence[s_ExplicitVarSizeWithMarker_Values[q31]] + | q31 : int(1..4)]) + diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_3_1_2-solution000001.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_3_1_2-solution000001.solution new file mode 100644 index 0000000000..bd956f44e3 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_3_1_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 3, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_3_1_2-solution000002.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_3_1_2-solution000002.solution new file mode 100644 index 0000000000..5963aac565 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_3_1_2-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 3} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_3_1_2-solution000003.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_3_1_2-solution000003.solution new file mode 100644 index 0000000000..6eeacc9727 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_3_1_2-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_3_1_2-solution000004.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_3_1_2-solution000004.solution new file mode 100644 index 0000000000..560dd0f2f7 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_3_1_2-solution000004.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 3, 4} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_3_1_2-solution000005.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_3_1_2-solution000005.solution new file mode 100644 index 0000000000..8b4ecbb66d --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_3_1_2-solution000005.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 3} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_3_1_2-solution000006.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_3_1_2-solution000006.solution new file mode 100644 index 0000000000..40f3fd5c8f --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_3_1_2-solution000006.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {2, 3, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_3_1_2-solution000007.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_3_1_2-solution000007.solution new file mode 100644 index 0000000000..159a613983 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_3_1_2-solution000007.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {2, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_3_1_2.eprime b/tests/exhaustive/basic/comprehension_letting/expected/model_3_1_2.eprime new file mode 100644 index 0000000000..45efc09186 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_3_1_2.eprime @@ -0,0 +1,95 @@ +language ESSENCE' 1.0 + +find s_ExplicitVarSizeWithMarker_Marker: int(0..4) +find s_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +find s_Occurrence: matrix indexed by [int(1..4)] of bool +find s_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +letting let1 be -100 +find x: int(-100..100) +find conjure_aux1: int(-16..3) +branching on + [s_ExplicitVarSizeWithDummy, s_ExplicitVarSizeWithMarker_Marker, s_ExplicitVarSizeWithMarker_Values, s_Occurrence, + x] +such that + and([and([q22 <= s_ExplicitVarSizeWithMarker_Marker, s_Occurrence[j], s_ExplicitVarSizeWithMarker_Values[q22] != j, + allDiff([s_ExplicitVarSizeWithMarker_Values[q22] + j, s_ExplicitVarSizeWithMarker_Values[q22] * j, + s_ExplicitVarSizeWithMarker_Values[q22] / j; + int(1..3)]), + (s_ExplicitVarSizeWithMarker_Values[q22] - j) % 2 = 0; + int(1..5)]) + -> + min([s_ExplicitVarSizeWithMarker_Values[q22] + j, s_ExplicitVarSizeWithMarker_Values[q22] - j, + s_ExplicitVarSizeWithMarker_Values[q22] * j, s_ExplicitVarSizeWithMarker_Values[q22] / j; + int(1..4)]) + <= conjure_aux1 + | q22 : int(1..4), j : int(1..4)]), + sum([toInt(and([q22 <= s_ExplicitVarSizeWithMarker_Marker, s_Occurrence[j], + s_ExplicitVarSizeWithMarker_Values[q22] != j, + allDiff([s_ExplicitVarSizeWithMarker_Values[q22] + j, s_ExplicitVarSizeWithMarker_Values[q22] * j, + s_ExplicitVarSizeWithMarker_Values[q22] / j; + int(1..3)]), + (s_ExplicitVarSizeWithMarker_Values[q22] - j) % 2 = 0; + int(1..5)])) + | q22 : int(1..4), j : int(1..4)]) + > 0 + -> + or([and([q22 <= s_ExplicitVarSizeWithMarker_Marker, s_Occurrence[j], s_ExplicitVarSizeWithMarker_Values[q22] != j, + allDiff([s_ExplicitVarSizeWithMarker_Values[q22] + j, s_ExplicitVarSizeWithMarker_Values[q22] * j, + s_ExplicitVarSizeWithMarker_Values[q22] / j; + int(1..3)]), + (s_ExplicitVarSizeWithMarker_Values[q22] - j) % 2 = 0; + int(1..5)]) + /\ + min([s_ExplicitVarSizeWithMarker_Values[q22] + j, s_ExplicitVarSizeWithMarker_Values[q22] - j, + s_ExplicitVarSizeWithMarker_Values[q22] * j, s_ExplicitVarSizeWithMarker_Values[q22] / j; + int(1..4)]) + = conjure_aux1 + | q22 : int(1..4), j : int(1..4)]), + sum([toInt(and([q22 <= s_ExplicitVarSizeWithMarker_Marker, s_Occurrence[j], + s_ExplicitVarSizeWithMarker_Values[q22] != j, + allDiff([s_ExplicitVarSizeWithMarker_Values[q22] + j, s_ExplicitVarSizeWithMarker_Values[q22] * j, + s_ExplicitVarSizeWithMarker_Values[q22] / j; + int(1..3)]), + (s_ExplicitVarSizeWithMarker_Values[q22] - j) % 2 = 0; + int(1..5)])) + | q22 : int(1..4), j : int(1..4)]) + = 0 + -> conjure_aux1 = -16, + x = conjure_aux1, + sum([toInt(and([q22 <= s_ExplicitVarSizeWithMarker_Marker, s_Occurrence[j], + s_ExplicitVarSizeWithMarker_Values[q22] != j, + allDiff([s_ExplicitVarSizeWithMarker_Values[q22] + j, s_ExplicitVarSizeWithMarker_Values[q22] * j, + s_ExplicitVarSizeWithMarker_Values[q22] / j; + int(1..3)]), + (s_ExplicitVarSizeWithMarker_Values[q22] - j) % 2 = 0; + int(1..5)])) + | q22 : int(1..4), j : int(1..4)]) + > 0, + and([q1 + 1 <= s_ExplicitVarSizeWithMarker_Marker -> + s_ExplicitVarSizeWithMarker_Values[q1] < s_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..3)]), + and([q2 > s_ExplicitVarSizeWithMarker_Marker -> s_ExplicitVarSizeWithMarker_Values[q2] = 1 | q2 : int(1..4)]), + and([s_Occurrence[q44] -> + or([q46 <= s_ExplicitVarSizeWithMarker_Marker /\ s_ExplicitVarSizeWithMarker_Values[q46] = q44 + | q46 : int(1..4)]) + | q44 : int(1..4)]), + and([q48 <= s_ExplicitVarSizeWithMarker_Marker -> s_Occurrence[s_ExplicitVarSizeWithMarker_Values[q48]] + | q48 : int(1..4)]), + and([s_ExplicitVarSizeWithDummy[q5] < s_ExplicitVarSizeWithDummy[q5 + 1] \/ s_ExplicitVarSizeWithDummy[q5] = 5 + | q5 : int(1..3)]), + and([s_ExplicitVarSizeWithDummy[q6] = 5 -> s_ExplicitVarSizeWithDummy[q6 + 1] = 5 | q6 : int(1..3)]), + and([s_ExplicitVarSizeWithDummy[q10] != 5 -> + or([q12 <= s_ExplicitVarSizeWithMarker_Marker /\ + s_ExplicitVarSizeWithMarker_Values[q12] = s_ExplicitVarSizeWithDummy[q10] + | q12 : int(1..4)]) + | q10 : int(1..4)]), + and([q14 <= s_ExplicitVarSizeWithMarker_Marker -> + or([s_ExplicitVarSizeWithDummy[q16] != 5 /\ + s_ExplicitVarSizeWithDummy[q16] = s_ExplicitVarSizeWithMarker_Values[q14] + | q16 : int(1..4)]) + | q14 : int(1..4)]), + and([s_ExplicitVarSizeWithDummy[q18] != 5 -> s_Occurrence[s_ExplicitVarSizeWithDummy[q18]] | q18 : int(1..4)]), + and([s_Occurrence[q19] -> + or([s_ExplicitVarSizeWithDummy[q21] != 5 /\ s_ExplicitVarSizeWithDummy[q21] = q19 | q21 : int(1..4)]) + | q19 : int(1..4)]) + diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_3_1_4-solution000001.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_3_1_4-solution000001.solution new file mode 100644 index 0000000000..8b4ecbb66d --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_3_1_4-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 3} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_3_1_4-solution000002.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_3_1_4-solution000002.solution new file mode 100644 index 0000000000..159a613983 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_3_1_4-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {2, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_3_1_4-solution000003.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_3_1_4-solution000003.solution new file mode 100644 index 0000000000..5963aac565 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_3_1_4-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 3} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_3_1_4-solution000004.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_3_1_4-solution000004.solution new file mode 100644 index 0000000000..6eeacc9727 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_3_1_4-solution000004.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_3_1_4-solution000005.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_3_1_4-solution000005.solution new file mode 100644 index 0000000000..560dd0f2f7 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_3_1_4-solution000005.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 3, 4} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_3_1_4-solution000006.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_3_1_4-solution000006.solution new file mode 100644 index 0000000000..40f3fd5c8f --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_3_1_4-solution000006.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {2, 3, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_3_1_4-solution000007.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_3_1_4-solution000007.solution new file mode 100644 index 0000000000..bd956f44e3 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_3_1_4-solution000007.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 3, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_3_1_4.eprime b/tests/exhaustive/basic/comprehension_letting/expected/model_3_1_4.eprime new file mode 100644 index 0000000000..d5db5a23e1 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_3_1_4.eprime @@ -0,0 +1,99 @@ +language ESSENCE' 1.0 + +find s_ExplicitVarSizeWithMarker_Marker: int(0..4) +find s_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +find s_Occurrence: matrix indexed by [int(1..4)] of bool +find s_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find s_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +letting let1 be -100 +find x: int(-100..100) +find conjure_aux1: int(-16..3) +branching on + [s_ExplicitVarSizeWithFlags_Flags, s_ExplicitVarSizeWithFlags_Values, s_ExplicitVarSizeWithMarker_Marker, + s_ExplicitVarSizeWithMarker_Values, s_Occurrence, x] +such that + and([and([q23 <= s_ExplicitVarSizeWithMarker_Marker, s_Occurrence[j], s_ExplicitVarSizeWithMarker_Values[q23] != j, + allDiff([s_ExplicitVarSizeWithMarker_Values[q23] + j, s_ExplicitVarSizeWithMarker_Values[q23] * j, + s_ExplicitVarSizeWithMarker_Values[q23] / j; + int(1..3)]), + (s_ExplicitVarSizeWithMarker_Values[q23] - j) % 2 = 0; + int(1..5)]) + -> + min([s_ExplicitVarSizeWithMarker_Values[q23] + j, s_ExplicitVarSizeWithMarker_Values[q23] - j, + s_ExplicitVarSizeWithMarker_Values[q23] * j, s_ExplicitVarSizeWithMarker_Values[q23] / j; + int(1..4)]) + <= conjure_aux1 + | q23 : int(1..4), j : int(1..4)]), + sum([toInt(and([q23 <= s_ExplicitVarSizeWithMarker_Marker, s_Occurrence[j], + s_ExplicitVarSizeWithMarker_Values[q23] != j, + allDiff([s_ExplicitVarSizeWithMarker_Values[q23] + j, s_ExplicitVarSizeWithMarker_Values[q23] * j, + s_ExplicitVarSizeWithMarker_Values[q23] / j; + int(1..3)]), + (s_ExplicitVarSizeWithMarker_Values[q23] - j) % 2 = 0; + int(1..5)])) + | q23 : int(1..4), j : int(1..4)]) + > 0 + -> + or([and([q23 <= s_ExplicitVarSizeWithMarker_Marker, s_Occurrence[j], s_ExplicitVarSizeWithMarker_Values[q23] != j, + allDiff([s_ExplicitVarSizeWithMarker_Values[q23] + j, s_ExplicitVarSizeWithMarker_Values[q23] * j, + s_ExplicitVarSizeWithMarker_Values[q23] / j; + int(1..3)]), + (s_ExplicitVarSizeWithMarker_Values[q23] - j) % 2 = 0; + int(1..5)]) + /\ + min([s_ExplicitVarSizeWithMarker_Values[q23] + j, s_ExplicitVarSizeWithMarker_Values[q23] - j, + s_ExplicitVarSizeWithMarker_Values[q23] * j, s_ExplicitVarSizeWithMarker_Values[q23] / j; + int(1..4)]) + = conjure_aux1 + | q23 : int(1..4), j : int(1..4)]), + sum([toInt(and([q23 <= s_ExplicitVarSizeWithMarker_Marker, s_Occurrence[j], + s_ExplicitVarSizeWithMarker_Values[q23] != j, + allDiff([s_ExplicitVarSizeWithMarker_Values[q23] + j, s_ExplicitVarSizeWithMarker_Values[q23] * j, + s_ExplicitVarSizeWithMarker_Values[q23] / j; + int(1..3)]), + (s_ExplicitVarSizeWithMarker_Values[q23] - j) % 2 = 0; + int(1..5)])) + | q23 : int(1..4), j : int(1..4)]) + = 0 + -> conjure_aux1 = -16, + x = conjure_aux1, + sum([toInt(and([q23 <= s_ExplicitVarSizeWithMarker_Marker, s_Occurrence[j], + s_ExplicitVarSizeWithMarker_Values[q23] != j, + allDiff([s_ExplicitVarSizeWithMarker_Values[q23] + j, s_ExplicitVarSizeWithMarker_Values[q23] * j, + s_ExplicitVarSizeWithMarker_Values[q23] / j; + int(1..3)]), + (s_ExplicitVarSizeWithMarker_Values[q23] - j) % 2 = 0; + int(1..5)])) + | q23 : int(1..4), j : int(1..4)]) + > 0, + and([q1 + 1 <= s_ExplicitVarSizeWithMarker_Marker -> + s_ExplicitVarSizeWithMarker_Values[q1] < s_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..3)]), + and([q2 > s_ExplicitVarSizeWithMarker_Marker -> s_ExplicitVarSizeWithMarker_Values[q2] = 1 | q2 : int(1..4)]), + and([s_Occurrence[q45] -> + or([q47 <= s_ExplicitVarSizeWithMarker_Marker /\ s_ExplicitVarSizeWithMarker_Values[q47] = q45 + | q47 : int(1..4)]) + | q45 : int(1..4)]), + and([q49 <= s_ExplicitVarSizeWithMarker_Marker -> s_Occurrence[s_ExplicitVarSizeWithMarker_Values[q49]] + | q49 : int(1..4)]), + and([s_ExplicitVarSizeWithFlags_Flags[q5 + 1] -> + s_ExplicitVarSizeWithFlags_Values[q5] < s_ExplicitVarSizeWithFlags_Values[q5 + 1] + | q5 : int(1..3)]), + and([s_ExplicitVarSizeWithFlags_Flags[q6] = false -> s_ExplicitVarSizeWithFlags_Values[q6] = 1 | q6 : int(1..4)]), + and([s_ExplicitVarSizeWithFlags_Flags[q7 + 1] -> s_ExplicitVarSizeWithFlags_Flags[q7] | q7 : int(1..3)]), + and([s_ExplicitVarSizeWithFlags_Flags[q11] -> + or([q13 <= s_ExplicitVarSizeWithMarker_Marker /\ + s_ExplicitVarSizeWithMarker_Values[q13] = s_ExplicitVarSizeWithFlags_Values[q11] + | q13 : int(1..4)]) + | q11 : int(1..4)]), + and([q15 <= s_ExplicitVarSizeWithMarker_Marker -> + or([s_ExplicitVarSizeWithFlags_Flags[q17] /\ + s_ExplicitVarSizeWithFlags_Values[q17] = s_ExplicitVarSizeWithMarker_Values[q15] + | q17 : int(1..4)]) + | q15 : int(1..4)]), + and([s_ExplicitVarSizeWithFlags_Flags[q19] -> s_Occurrence[s_ExplicitVarSizeWithFlags_Values[q19]] + | q19 : int(1..4)]), + and([s_Occurrence[q20] -> + or([s_ExplicitVarSizeWithFlags_Flags[q22] /\ s_ExplicitVarSizeWithFlags_Values[q22] = q20 | q22 : int(1..4)]) + | q20 : int(1..4)]) + diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_3_2_1-solution000001.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_3_2_1-solution000001.solution new file mode 100644 index 0000000000..159a613983 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_3_2_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {2, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_3_2_1-solution000002.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_3_2_1-solution000002.solution new file mode 100644 index 0000000000..40f3fd5c8f --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_3_2_1-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {2, 3, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_3_2_1-solution000003.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_3_2_1-solution000003.solution new file mode 100644 index 0000000000..8b4ecbb66d --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_3_2_1-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 3} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_3_2_1-solution000004.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_3_2_1-solution000004.solution new file mode 100644 index 0000000000..560dd0f2f7 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_3_2_1-solution000004.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 3, 4} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_3_2_1-solution000005.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_3_2_1-solution000005.solution new file mode 100644 index 0000000000..6eeacc9727 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_3_2_1-solution000005.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_3_2_1-solution000006.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_3_2_1-solution000006.solution new file mode 100644 index 0000000000..5963aac565 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_3_2_1-solution000006.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 3} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_3_2_1-solution000007.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_3_2_1-solution000007.solution new file mode 100644 index 0000000000..bd956f44e3 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_3_2_1-solution000007.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 3, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_3_2_1.eprime b/tests/exhaustive/basic/comprehension_letting/expected/model_3_2_1.eprime new file mode 100644 index 0000000000..b6f0c01a86 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_3_2_1.eprime @@ -0,0 +1,106 @@ +language ESSENCE' 1.0 + +find s_ExplicitVarSizeWithMarker_Marker: int(0..4) +find s_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +find s_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +find s_Occurrence: matrix indexed by [int(1..4)] of bool +letting let1 be -100 +find x: int(-100..100) +find conjure_aux1: int(-20..3) +branching on + [s_Occurrence, s_ExplicitVarSizeWithMarker_Marker, s_ExplicitVarSizeWithMarker_Values, s_ExplicitVarSizeWithDummy, + x] +such that + and([and([q17 <= s_ExplicitVarSizeWithMarker_Marker, s_ExplicitVarSizeWithDummy[q18] != 5, + s_ExplicitVarSizeWithMarker_Values[q17] != s_ExplicitVarSizeWithDummy[q18], + allDiff([s_ExplicitVarSizeWithMarker_Values[q17] + s_ExplicitVarSizeWithDummy[q18], + s_ExplicitVarSizeWithMarker_Values[q17] * s_ExplicitVarSizeWithDummy[q18], + s_ExplicitVarSizeWithMarker_Values[q17] / s_ExplicitVarSizeWithDummy[q18]; + int(1..3)]), + (s_ExplicitVarSizeWithMarker_Values[q17] - s_ExplicitVarSizeWithDummy[q18]) % 2 = 0; + int(1..5)]) + -> + min([s_ExplicitVarSizeWithMarker_Values[q17] + s_ExplicitVarSizeWithDummy[q18], + s_ExplicitVarSizeWithMarker_Values[q17] - s_ExplicitVarSizeWithDummy[q18], + s_ExplicitVarSizeWithMarker_Values[q17] * s_ExplicitVarSizeWithDummy[q18], + s_ExplicitVarSizeWithMarker_Values[q17] / s_ExplicitVarSizeWithDummy[q18]; + int(1..4)]) + <= conjure_aux1 + | q17 : int(1..4), q18 : int(1..4)]), + sum([toInt(and([q17 <= s_ExplicitVarSizeWithMarker_Marker, s_ExplicitVarSizeWithDummy[q18] != 5, + s_ExplicitVarSizeWithMarker_Values[q17] != s_ExplicitVarSizeWithDummy[q18], + allDiff([s_ExplicitVarSizeWithMarker_Values[q17] + s_ExplicitVarSizeWithDummy[q18], + s_ExplicitVarSizeWithMarker_Values[q17] * s_ExplicitVarSizeWithDummy[q18], + s_ExplicitVarSizeWithMarker_Values[q17] / s_ExplicitVarSizeWithDummy[q18]; + int(1..3)]), + (s_ExplicitVarSizeWithMarker_Values[q17] - s_ExplicitVarSizeWithDummy[q18]) % 2 = 0; + int(1..5)])) + | q17 : int(1..4), q18 : int(1..4)]) + > 0 + -> + or([and([q17 <= s_ExplicitVarSizeWithMarker_Marker, s_ExplicitVarSizeWithDummy[q18] != 5, + s_ExplicitVarSizeWithMarker_Values[q17] != s_ExplicitVarSizeWithDummy[q18], + allDiff([s_ExplicitVarSizeWithMarker_Values[q17] + s_ExplicitVarSizeWithDummy[q18], + s_ExplicitVarSizeWithMarker_Values[q17] * s_ExplicitVarSizeWithDummy[q18], + s_ExplicitVarSizeWithMarker_Values[q17] / s_ExplicitVarSizeWithDummy[q18]; + int(1..3)]), + (s_ExplicitVarSizeWithMarker_Values[q17] - s_ExplicitVarSizeWithDummy[q18]) % 2 = 0; + int(1..5)]) + /\ + min([s_ExplicitVarSizeWithMarker_Values[q17] + s_ExplicitVarSizeWithDummy[q18], + s_ExplicitVarSizeWithMarker_Values[q17] - s_ExplicitVarSizeWithDummy[q18], + s_ExplicitVarSizeWithMarker_Values[q17] * s_ExplicitVarSizeWithDummy[q18], + s_ExplicitVarSizeWithMarker_Values[q17] / s_ExplicitVarSizeWithDummy[q18]; + int(1..4)]) + = conjure_aux1 + | q17 : int(1..4), q18 : int(1..4)]), + sum([toInt(and([q17 <= s_ExplicitVarSizeWithMarker_Marker, s_ExplicitVarSizeWithDummy[q18] != 5, + s_ExplicitVarSizeWithMarker_Values[q17] != s_ExplicitVarSizeWithDummy[q18], + allDiff([s_ExplicitVarSizeWithMarker_Values[q17] + s_ExplicitVarSizeWithDummy[q18], + s_ExplicitVarSizeWithMarker_Values[q17] * s_ExplicitVarSizeWithDummy[q18], + s_ExplicitVarSizeWithMarker_Values[q17] / s_ExplicitVarSizeWithDummy[q18]; + int(1..3)]), + (s_ExplicitVarSizeWithMarker_Values[q17] - s_ExplicitVarSizeWithDummy[q18]) % 2 = 0; + int(1..5)])) + | q17 : int(1..4), q18 : int(1..4)]) + = 0 + -> conjure_aux1 = -20, + x = conjure_aux1, + sum([toInt(and([q17 <= s_ExplicitVarSizeWithMarker_Marker, s_ExplicitVarSizeWithDummy[q18] != 5, + s_ExplicitVarSizeWithMarker_Values[q17] != s_ExplicitVarSizeWithDummy[q18], + allDiff([s_ExplicitVarSizeWithMarker_Values[q17] + s_ExplicitVarSizeWithDummy[q18], + s_ExplicitVarSizeWithMarker_Values[q17] * s_ExplicitVarSizeWithDummy[q18], + s_ExplicitVarSizeWithMarker_Values[q17] / s_ExplicitVarSizeWithDummy[q18]; + int(1..3)]), + (s_ExplicitVarSizeWithMarker_Values[q17] - s_ExplicitVarSizeWithDummy[q18]) % 2 = 0; + int(1..5)])) + | q17 : int(1..4), q18 : int(1..4)]) + > 0, + and([q1 + 1 <= s_ExplicitVarSizeWithMarker_Marker -> + s_ExplicitVarSizeWithMarker_Values[q1] < s_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..3)]), + and([q2 > s_ExplicitVarSizeWithMarker_Marker -> s_ExplicitVarSizeWithMarker_Values[q2] = 1 | q2 : int(1..4)]), + and([s_ExplicitVarSizeWithDummy[q4] < s_ExplicitVarSizeWithDummy[q4 + 1] \/ s_ExplicitVarSizeWithDummy[q4] = 5 + | q4 : int(1..3)]), + and([s_ExplicitVarSizeWithDummy[q5] = 5 -> s_ExplicitVarSizeWithDummy[q5 + 1] = 5 | q5 : int(1..3)]), + and([s_ExplicitVarSizeWithDummy[q9] != 5 -> + or([q11 <= s_ExplicitVarSizeWithMarker_Marker /\ + s_ExplicitVarSizeWithMarker_Values[q11] = s_ExplicitVarSizeWithDummy[q9] + | q11 : int(1..4)]) + | q9 : int(1..4)]), + and([q13 <= s_ExplicitVarSizeWithMarker_Marker -> + or([s_ExplicitVarSizeWithDummy[q15] != 5 /\ + s_ExplicitVarSizeWithDummy[q15] = s_ExplicitVarSizeWithMarker_Values[q13] + | q15 : int(1..4)]) + | q13 : int(1..4)]), + and([s_Occurrence[q40] -> + or([q42 <= s_ExplicitVarSizeWithMarker_Marker /\ s_ExplicitVarSizeWithMarker_Values[q42] = q40 + | q42 : int(1..4)]) + | q40 : int(1..4)]), + and([q44 <= s_ExplicitVarSizeWithMarker_Marker -> s_Occurrence[s_ExplicitVarSizeWithMarker_Values[q44]] + | q44 : int(1..4)]), + and([s_Occurrence[q45] -> + or([s_ExplicitVarSizeWithDummy[q47] != 5 /\ s_ExplicitVarSizeWithDummy[q47] = q45 | q47 : int(1..4)]) + | q45 : int(1..4)]), + and([s_ExplicitVarSizeWithDummy[q49] != 5 -> s_Occurrence[s_ExplicitVarSizeWithDummy[q49]] | q49 : int(1..4)]) + diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_3_2_2-solution000001.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_3_2_2-solution000001.solution new file mode 100644 index 0000000000..bd956f44e3 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_3_2_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 3, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_3_2_2-solution000002.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_3_2_2-solution000002.solution new file mode 100644 index 0000000000..5963aac565 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_3_2_2-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 3} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_3_2_2-solution000003.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_3_2_2-solution000003.solution new file mode 100644 index 0000000000..6eeacc9727 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_3_2_2-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_3_2_2-solution000004.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_3_2_2-solution000004.solution new file mode 100644 index 0000000000..560dd0f2f7 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_3_2_2-solution000004.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 3, 4} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_3_2_2-solution000005.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_3_2_2-solution000005.solution new file mode 100644 index 0000000000..8b4ecbb66d --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_3_2_2-solution000005.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 3} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_3_2_2-solution000006.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_3_2_2-solution000006.solution new file mode 100644 index 0000000000..40f3fd5c8f --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_3_2_2-solution000006.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {2, 3, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_3_2_2-solution000007.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_3_2_2-solution000007.solution new file mode 100644 index 0000000000..159a613983 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_3_2_2-solution000007.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {2, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_3_2_2.eprime b/tests/exhaustive/basic/comprehension_letting/expected/model_3_2_2.eprime new file mode 100644 index 0000000000..4259b37168 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_3_2_2.eprime @@ -0,0 +1,93 @@ +language ESSENCE' 1.0 + +find s_ExplicitVarSizeWithMarker_Marker: int(0..4) +find s_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +find s_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +letting let1 be -100 +find x: int(-100..100) +find conjure_aux1: int(-20..3) +branching on [s_ExplicitVarSizeWithDummy, s_ExplicitVarSizeWithMarker_Marker, s_ExplicitVarSizeWithMarker_Values, x] +such that + and([and([q16 <= s_ExplicitVarSizeWithMarker_Marker, s_ExplicitVarSizeWithDummy[q17] != 5, + s_ExplicitVarSizeWithMarker_Values[q16] != s_ExplicitVarSizeWithDummy[q17], + allDiff([s_ExplicitVarSizeWithMarker_Values[q16] + s_ExplicitVarSizeWithDummy[q17], + s_ExplicitVarSizeWithMarker_Values[q16] * s_ExplicitVarSizeWithDummy[q17], + s_ExplicitVarSizeWithMarker_Values[q16] / s_ExplicitVarSizeWithDummy[q17]; + int(1..3)]), + (s_ExplicitVarSizeWithMarker_Values[q16] - s_ExplicitVarSizeWithDummy[q17]) % 2 = 0; + int(1..5)]) + -> + min([s_ExplicitVarSizeWithMarker_Values[q16] + s_ExplicitVarSizeWithDummy[q17], + s_ExplicitVarSizeWithMarker_Values[q16] - s_ExplicitVarSizeWithDummy[q17], + s_ExplicitVarSizeWithMarker_Values[q16] * s_ExplicitVarSizeWithDummy[q17], + s_ExplicitVarSizeWithMarker_Values[q16] / s_ExplicitVarSizeWithDummy[q17]; + int(1..4)]) + <= conjure_aux1 + | q16 : int(1..4), q17 : int(1..4)]), + sum([toInt(and([q16 <= s_ExplicitVarSizeWithMarker_Marker, s_ExplicitVarSizeWithDummy[q17] != 5, + s_ExplicitVarSizeWithMarker_Values[q16] != s_ExplicitVarSizeWithDummy[q17], + allDiff([s_ExplicitVarSizeWithMarker_Values[q16] + s_ExplicitVarSizeWithDummy[q17], + s_ExplicitVarSizeWithMarker_Values[q16] * s_ExplicitVarSizeWithDummy[q17], + s_ExplicitVarSizeWithMarker_Values[q16] / s_ExplicitVarSizeWithDummy[q17]; + int(1..3)]), + (s_ExplicitVarSizeWithMarker_Values[q16] - s_ExplicitVarSizeWithDummy[q17]) % 2 = 0; + int(1..5)])) + | q16 : int(1..4), q17 : int(1..4)]) + > 0 + -> + or([and([q16 <= s_ExplicitVarSizeWithMarker_Marker, s_ExplicitVarSizeWithDummy[q17] != 5, + s_ExplicitVarSizeWithMarker_Values[q16] != s_ExplicitVarSizeWithDummy[q17], + allDiff([s_ExplicitVarSizeWithMarker_Values[q16] + s_ExplicitVarSizeWithDummy[q17], + s_ExplicitVarSizeWithMarker_Values[q16] * s_ExplicitVarSizeWithDummy[q17], + s_ExplicitVarSizeWithMarker_Values[q16] / s_ExplicitVarSizeWithDummy[q17]; + int(1..3)]), + (s_ExplicitVarSizeWithMarker_Values[q16] - s_ExplicitVarSizeWithDummy[q17]) % 2 = 0; + int(1..5)]) + /\ + min([s_ExplicitVarSizeWithMarker_Values[q16] + s_ExplicitVarSizeWithDummy[q17], + s_ExplicitVarSizeWithMarker_Values[q16] - s_ExplicitVarSizeWithDummy[q17], + s_ExplicitVarSizeWithMarker_Values[q16] * s_ExplicitVarSizeWithDummy[q17], + s_ExplicitVarSizeWithMarker_Values[q16] / s_ExplicitVarSizeWithDummy[q17]; + int(1..4)]) + = conjure_aux1 + | q16 : int(1..4), q17 : int(1..4)]), + sum([toInt(and([q16 <= s_ExplicitVarSizeWithMarker_Marker, s_ExplicitVarSizeWithDummy[q17] != 5, + s_ExplicitVarSizeWithMarker_Values[q16] != s_ExplicitVarSizeWithDummy[q17], + allDiff([s_ExplicitVarSizeWithMarker_Values[q16] + s_ExplicitVarSizeWithDummy[q17], + s_ExplicitVarSizeWithMarker_Values[q16] * s_ExplicitVarSizeWithDummy[q17], + s_ExplicitVarSizeWithMarker_Values[q16] / s_ExplicitVarSizeWithDummy[q17]; + int(1..3)]), + (s_ExplicitVarSizeWithMarker_Values[q16] - s_ExplicitVarSizeWithDummy[q17]) % 2 = 0; + int(1..5)])) + | q16 : int(1..4), q17 : int(1..4)]) + = 0 + -> conjure_aux1 = -20, + x = conjure_aux1, + sum([toInt(and([q16 <= s_ExplicitVarSizeWithMarker_Marker, s_ExplicitVarSizeWithDummy[q17] != 5, + s_ExplicitVarSizeWithMarker_Values[q16] != s_ExplicitVarSizeWithDummy[q17], + allDiff([s_ExplicitVarSizeWithMarker_Values[q16] + s_ExplicitVarSizeWithDummy[q17], + s_ExplicitVarSizeWithMarker_Values[q16] * s_ExplicitVarSizeWithDummy[q17], + s_ExplicitVarSizeWithMarker_Values[q16] / s_ExplicitVarSizeWithDummy[q17]; + int(1..3)]), + (s_ExplicitVarSizeWithMarker_Values[q16] - s_ExplicitVarSizeWithDummy[q17]) % 2 = 0; + int(1..5)])) + | q16 : int(1..4), q17 : int(1..4)]) + > 0, + and([q1 + 1 <= s_ExplicitVarSizeWithMarker_Marker -> + s_ExplicitVarSizeWithMarker_Values[q1] < s_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..3)]), + and([q2 > s_ExplicitVarSizeWithMarker_Marker -> s_ExplicitVarSizeWithMarker_Values[q2] = 1 | q2 : int(1..4)]), + and([s_ExplicitVarSizeWithDummy[q4] < s_ExplicitVarSizeWithDummy[q4 + 1] \/ s_ExplicitVarSizeWithDummy[q4] = 5 + | q4 : int(1..3)]), + and([s_ExplicitVarSizeWithDummy[q5] = 5 -> s_ExplicitVarSizeWithDummy[q5 + 1] = 5 | q5 : int(1..3)]), + and([s_ExplicitVarSizeWithDummy[q9] != 5 -> + or([q11 <= s_ExplicitVarSizeWithMarker_Marker /\ + s_ExplicitVarSizeWithMarker_Values[q11] = s_ExplicitVarSizeWithDummy[q9] + | q11 : int(1..4)]) + | q9 : int(1..4)]), + and([q13 <= s_ExplicitVarSizeWithMarker_Marker -> + or([s_ExplicitVarSizeWithDummy[q15] != 5 /\ + s_ExplicitVarSizeWithDummy[q15] = s_ExplicitVarSizeWithMarker_Values[q13] + | q15 : int(1..4)]) + | q13 : int(1..4)]) + diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_3_2_4-solution000001.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_3_2_4-solution000001.solution new file mode 100644 index 0000000000..8b4ecbb66d --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_3_2_4-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 3} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_3_2_4-solution000002.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_3_2_4-solution000002.solution new file mode 100644 index 0000000000..159a613983 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_3_2_4-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {2, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_3_2_4-solution000003.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_3_2_4-solution000003.solution new file mode 100644 index 0000000000..5963aac565 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_3_2_4-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 3} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_3_2_4-solution000004.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_3_2_4-solution000004.solution new file mode 100644 index 0000000000..6eeacc9727 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_3_2_4-solution000004.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_3_2_4-solution000005.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_3_2_4-solution000005.solution new file mode 100644 index 0000000000..560dd0f2f7 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_3_2_4-solution000005.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 3, 4} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_3_2_4-solution000006.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_3_2_4-solution000006.solution new file mode 100644 index 0000000000..40f3fd5c8f --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_3_2_4-solution000006.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {2, 3, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_3_2_4-solution000007.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_3_2_4-solution000007.solution new file mode 100644 index 0000000000..bd956f44e3 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_3_2_4-solution000007.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 3, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_3_2_4.eprime b/tests/exhaustive/basic/comprehension_letting/expected/model_3_2_4.eprime new file mode 100644 index 0000000000..0d153c4cd7 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_3_2_4.eprime @@ -0,0 +1,123 @@ +language ESSENCE' 1.0 + +find s_ExplicitVarSizeWithMarker_Marker: int(0..4) +find s_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +find s_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +find s_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find s_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +letting let1 be -100 +find x: int(-100..100) +find conjure_aux1: int(-20..3) +branching on + [s_ExplicitVarSizeWithFlags_Flags, s_ExplicitVarSizeWithFlags_Values, s_ExplicitVarSizeWithMarker_Marker, + s_ExplicitVarSizeWithMarker_Values, s_ExplicitVarSizeWithDummy, x] +such that + and([and([q37 <= s_ExplicitVarSizeWithMarker_Marker, s_ExplicitVarSizeWithDummy[q38] != 5, + s_ExplicitVarSizeWithMarker_Values[q37] != s_ExplicitVarSizeWithDummy[q38], + allDiff([s_ExplicitVarSizeWithMarker_Values[q37] + s_ExplicitVarSizeWithDummy[q38], + s_ExplicitVarSizeWithMarker_Values[q37] * s_ExplicitVarSizeWithDummy[q38], + s_ExplicitVarSizeWithMarker_Values[q37] / s_ExplicitVarSizeWithDummy[q38]; + int(1..3)]), + (s_ExplicitVarSizeWithMarker_Values[q37] - s_ExplicitVarSizeWithDummy[q38]) % 2 = 0; + int(1..5)]) + -> + min([s_ExplicitVarSizeWithMarker_Values[q37] + s_ExplicitVarSizeWithDummy[q38], + s_ExplicitVarSizeWithMarker_Values[q37] - s_ExplicitVarSizeWithDummy[q38], + s_ExplicitVarSizeWithMarker_Values[q37] * s_ExplicitVarSizeWithDummy[q38], + s_ExplicitVarSizeWithMarker_Values[q37] / s_ExplicitVarSizeWithDummy[q38]; + int(1..4)]) + <= conjure_aux1 + | q37 : int(1..4), q38 : int(1..4)]), + sum([toInt(and([q37 <= s_ExplicitVarSizeWithMarker_Marker, s_ExplicitVarSizeWithDummy[q38] != 5, + s_ExplicitVarSizeWithMarker_Values[q37] != s_ExplicitVarSizeWithDummy[q38], + allDiff([s_ExplicitVarSizeWithMarker_Values[q37] + s_ExplicitVarSizeWithDummy[q38], + s_ExplicitVarSizeWithMarker_Values[q37] * s_ExplicitVarSizeWithDummy[q38], + s_ExplicitVarSizeWithMarker_Values[q37] / s_ExplicitVarSizeWithDummy[q38]; + int(1..3)]), + (s_ExplicitVarSizeWithMarker_Values[q37] - s_ExplicitVarSizeWithDummy[q38]) % 2 = 0; + int(1..5)])) + | q37 : int(1..4), q38 : int(1..4)]) + > 0 + -> + or([and([q37 <= s_ExplicitVarSizeWithMarker_Marker, s_ExplicitVarSizeWithDummy[q38] != 5, + s_ExplicitVarSizeWithMarker_Values[q37] != s_ExplicitVarSizeWithDummy[q38], + allDiff([s_ExplicitVarSizeWithMarker_Values[q37] + s_ExplicitVarSizeWithDummy[q38], + s_ExplicitVarSizeWithMarker_Values[q37] * s_ExplicitVarSizeWithDummy[q38], + s_ExplicitVarSizeWithMarker_Values[q37] / s_ExplicitVarSizeWithDummy[q38]; + int(1..3)]), + (s_ExplicitVarSizeWithMarker_Values[q37] - s_ExplicitVarSizeWithDummy[q38]) % 2 = 0; + int(1..5)]) + /\ + min([s_ExplicitVarSizeWithMarker_Values[q37] + s_ExplicitVarSizeWithDummy[q38], + s_ExplicitVarSizeWithMarker_Values[q37] - s_ExplicitVarSizeWithDummy[q38], + s_ExplicitVarSizeWithMarker_Values[q37] * s_ExplicitVarSizeWithDummy[q38], + s_ExplicitVarSizeWithMarker_Values[q37] / s_ExplicitVarSizeWithDummy[q38]; + int(1..4)]) + = conjure_aux1 + | q37 : int(1..4), q38 : int(1..4)]), + sum([toInt(and([q37 <= s_ExplicitVarSizeWithMarker_Marker, s_ExplicitVarSizeWithDummy[q38] != 5, + s_ExplicitVarSizeWithMarker_Values[q37] != s_ExplicitVarSizeWithDummy[q38], + allDiff([s_ExplicitVarSizeWithMarker_Values[q37] + s_ExplicitVarSizeWithDummy[q38], + s_ExplicitVarSizeWithMarker_Values[q37] * s_ExplicitVarSizeWithDummy[q38], + s_ExplicitVarSizeWithMarker_Values[q37] / s_ExplicitVarSizeWithDummy[q38]; + int(1..3)]), + (s_ExplicitVarSizeWithMarker_Values[q37] - s_ExplicitVarSizeWithDummy[q38]) % 2 = 0; + int(1..5)])) + | q37 : int(1..4), q38 : int(1..4)]) + = 0 + -> conjure_aux1 = -20, + x = conjure_aux1, + sum([toInt(and([q37 <= s_ExplicitVarSizeWithMarker_Marker, s_ExplicitVarSizeWithDummy[q38] != 5, + s_ExplicitVarSizeWithMarker_Values[q37] != s_ExplicitVarSizeWithDummy[q38], + allDiff([s_ExplicitVarSizeWithMarker_Values[q37] + s_ExplicitVarSizeWithDummy[q38], + s_ExplicitVarSizeWithMarker_Values[q37] * s_ExplicitVarSizeWithDummy[q38], + s_ExplicitVarSizeWithMarker_Values[q37] / s_ExplicitVarSizeWithDummy[q38]; + int(1..3)]), + (s_ExplicitVarSizeWithMarker_Values[q37] - s_ExplicitVarSizeWithDummy[q38]) % 2 = 0; + int(1..5)])) + | q37 : int(1..4), q38 : int(1..4)]) + > 0, + and([q1 + 1 <= s_ExplicitVarSizeWithMarker_Marker -> + s_ExplicitVarSizeWithMarker_Values[q1] < s_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..3)]), + and([q2 > s_ExplicitVarSizeWithMarker_Marker -> s_ExplicitVarSizeWithMarker_Values[q2] = 1 | q2 : int(1..4)]), + and([s_ExplicitVarSizeWithDummy[q4] < s_ExplicitVarSizeWithDummy[q4 + 1] \/ s_ExplicitVarSizeWithDummy[q4] = 5 + | q4 : int(1..3)]), + and([s_ExplicitVarSizeWithDummy[q5] = 5 -> s_ExplicitVarSizeWithDummy[q5 + 1] = 5 | q5 : int(1..3)]), + and([s_ExplicitVarSizeWithDummy[q9] != 5 -> + or([q11 <= s_ExplicitVarSizeWithMarker_Marker /\ + s_ExplicitVarSizeWithMarker_Values[q11] = s_ExplicitVarSizeWithDummy[q9] + | q11 : int(1..4)]) + | q9 : int(1..4)]), + and([q13 <= s_ExplicitVarSizeWithMarker_Marker -> + or([s_ExplicitVarSizeWithDummy[q15] != 5 /\ + s_ExplicitVarSizeWithDummy[q15] = s_ExplicitVarSizeWithMarker_Values[q13] + | q15 : int(1..4)]) + | q13 : int(1..4)]), + and([s_ExplicitVarSizeWithFlags_Flags[q16 + 1] -> + s_ExplicitVarSizeWithFlags_Values[q16] < s_ExplicitVarSizeWithFlags_Values[q16 + 1] + | q16 : int(1..3)]), + and([s_ExplicitVarSizeWithFlags_Flags[q17] = false -> s_ExplicitVarSizeWithFlags_Values[q17] = 1 + | q17 : int(1..4)]), + and([s_ExplicitVarSizeWithFlags_Flags[q18 + 1] -> s_ExplicitVarSizeWithFlags_Flags[q18] | q18 : int(1..3)]), + and([s_ExplicitVarSizeWithFlags_Flags[q22] -> + or([q24 <= s_ExplicitVarSizeWithMarker_Marker /\ + s_ExplicitVarSizeWithMarker_Values[q24] = s_ExplicitVarSizeWithFlags_Values[q22] + | q24 : int(1..4)]) + | q22 : int(1..4)]), + and([q26 <= s_ExplicitVarSizeWithMarker_Marker -> + or([s_ExplicitVarSizeWithFlags_Flags[q28] /\ + s_ExplicitVarSizeWithFlags_Values[q28] = s_ExplicitVarSizeWithMarker_Values[q26] + | q28 : int(1..4)]) + | q26 : int(1..4)]), + and([s_ExplicitVarSizeWithFlags_Flags[q30] -> + or([s_ExplicitVarSizeWithDummy[q32] != 5 /\ + s_ExplicitVarSizeWithDummy[q32] = s_ExplicitVarSizeWithFlags_Values[q30] + | q32 : int(1..4)]) + | q30 : int(1..4)]), + and([s_ExplicitVarSizeWithDummy[q34] != 5 -> + or([s_ExplicitVarSizeWithFlags_Flags[q36] /\ + s_ExplicitVarSizeWithFlags_Values[q36] = s_ExplicitVarSizeWithDummy[q34] + | q36 : int(1..4)]) + | q34 : int(1..4)]) + diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_3_3_1-solution000001.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_3_3_1-solution000001.solution new file mode 100644 index 0000000000..159a613983 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_3_3_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {2, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_3_3_1-solution000002.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_3_3_1-solution000002.solution new file mode 100644 index 0000000000..40f3fd5c8f --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_3_3_1-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {2, 3, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_3_3_1-solution000003.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_3_3_1-solution000003.solution new file mode 100644 index 0000000000..8b4ecbb66d --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_3_3_1-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 3} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_3_3_1-solution000004.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_3_3_1-solution000004.solution new file mode 100644 index 0000000000..560dd0f2f7 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_3_3_1-solution000004.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 3, 4} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_3_3_1-solution000005.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_3_3_1-solution000005.solution new file mode 100644 index 0000000000..6eeacc9727 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_3_3_1-solution000005.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_3_3_1-solution000006.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_3_3_1-solution000006.solution new file mode 100644 index 0000000000..5963aac565 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_3_3_1-solution000006.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 3} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_3_3_1-solution000007.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_3_3_1-solution000007.solution new file mode 100644 index 0000000000..bd956f44e3 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_3_3_1-solution000007.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 3, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_3_3_1.eprime b/tests/exhaustive/basic/comprehension_letting/expected/model_3_3_1.eprime new file mode 100644 index 0000000000..7c865a4def --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_3_3_1.eprime @@ -0,0 +1,86 @@ +language ESSENCE' 1.0 + +find s_ExplicitVarSizeWithMarker_Marker: int(0..4) +find s_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +find s_Occurrence: matrix indexed by [int(1..4)] of bool +letting let1 be -100 +find x: int(-100..100) +find conjure_aux1: int(-16..3) +branching on [s_Occurrence, s_ExplicitVarSizeWithMarker_Marker, s_ExplicitVarSizeWithMarker_Values, x] +such that + and([and([q5 <= s_ExplicitVarSizeWithMarker_Marker, q6 <= s_ExplicitVarSizeWithMarker_Marker, + s_ExplicitVarSizeWithMarker_Values[q5] != s_ExplicitVarSizeWithMarker_Values[q6], + allDiff([s_ExplicitVarSizeWithMarker_Values[q5] + s_ExplicitVarSizeWithMarker_Values[q6], + s_ExplicitVarSizeWithMarker_Values[q5] * s_ExplicitVarSizeWithMarker_Values[q6], + s_ExplicitVarSizeWithMarker_Values[q5] / s_ExplicitVarSizeWithMarker_Values[q6]; + int(1..3)]), + (s_ExplicitVarSizeWithMarker_Values[q5] - s_ExplicitVarSizeWithMarker_Values[q6]) % 2 = 0; + int(1..5)]) + -> + min([s_ExplicitVarSizeWithMarker_Values[q5] + s_ExplicitVarSizeWithMarker_Values[q6], + s_ExplicitVarSizeWithMarker_Values[q5] - s_ExplicitVarSizeWithMarker_Values[q6], + s_ExplicitVarSizeWithMarker_Values[q5] * s_ExplicitVarSizeWithMarker_Values[q6], + s_ExplicitVarSizeWithMarker_Values[q5] / s_ExplicitVarSizeWithMarker_Values[q6]; + int(1..4)]) + <= conjure_aux1 + | q5 : int(1..4), q6 : int(1..4)]), + sum([toInt(and([q5 <= s_ExplicitVarSizeWithMarker_Marker, q6 <= s_ExplicitVarSizeWithMarker_Marker, + s_ExplicitVarSizeWithMarker_Values[q5] != s_ExplicitVarSizeWithMarker_Values[q6], + allDiff([s_ExplicitVarSizeWithMarker_Values[q5] + s_ExplicitVarSizeWithMarker_Values[q6], + s_ExplicitVarSizeWithMarker_Values[q5] * s_ExplicitVarSizeWithMarker_Values[q6], + s_ExplicitVarSizeWithMarker_Values[q5] / s_ExplicitVarSizeWithMarker_Values[q6]; + int(1..3)]), + (s_ExplicitVarSizeWithMarker_Values[q5] - s_ExplicitVarSizeWithMarker_Values[q6]) % 2 = 0; + int(1..5)])) + | q5 : int(1..4), q6 : int(1..4)]) + > 0 + -> + or([and([q5 <= s_ExplicitVarSizeWithMarker_Marker, q6 <= s_ExplicitVarSizeWithMarker_Marker, + s_ExplicitVarSizeWithMarker_Values[q5] != s_ExplicitVarSizeWithMarker_Values[q6], + allDiff([s_ExplicitVarSizeWithMarker_Values[q5] + s_ExplicitVarSizeWithMarker_Values[q6], + s_ExplicitVarSizeWithMarker_Values[q5] * s_ExplicitVarSizeWithMarker_Values[q6], + s_ExplicitVarSizeWithMarker_Values[q5] / s_ExplicitVarSizeWithMarker_Values[q6]; + int(1..3)]), + (s_ExplicitVarSizeWithMarker_Values[q5] - s_ExplicitVarSizeWithMarker_Values[q6]) % 2 = 0; + int(1..5)]) + /\ + min([s_ExplicitVarSizeWithMarker_Values[q5] + s_ExplicitVarSizeWithMarker_Values[q6], + s_ExplicitVarSizeWithMarker_Values[q5] - s_ExplicitVarSizeWithMarker_Values[q6], + s_ExplicitVarSizeWithMarker_Values[q5] * s_ExplicitVarSizeWithMarker_Values[q6], + s_ExplicitVarSizeWithMarker_Values[q5] / s_ExplicitVarSizeWithMarker_Values[q6]; + int(1..4)]) + = conjure_aux1 + | q5 : int(1..4), q6 : int(1..4)]), + sum([toInt(and([q5 <= s_ExplicitVarSizeWithMarker_Marker, q6 <= s_ExplicitVarSizeWithMarker_Marker, + s_ExplicitVarSizeWithMarker_Values[q5] != s_ExplicitVarSizeWithMarker_Values[q6], + allDiff([s_ExplicitVarSizeWithMarker_Values[q5] + s_ExplicitVarSizeWithMarker_Values[q6], + s_ExplicitVarSizeWithMarker_Values[q5] * s_ExplicitVarSizeWithMarker_Values[q6], + s_ExplicitVarSizeWithMarker_Values[q5] / s_ExplicitVarSizeWithMarker_Values[q6]; + int(1..3)]), + (s_ExplicitVarSizeWithMarker_Values[q5] - s_ExplicitVarSizeWithMarker_Values[q6]) % 2 = 0; + int(1..5)])) + | q5 : int(1..4), q6 : int(1..4)]) + = 0 + -> conjure_aux1 = -16, + x = conjure_aux1, + sum([toInt(and([q5 <= s_ExplicitVarSizeWithMarker_Marker, q6 <= s_ExplicitVarSizeWithMarker_Marker, + s_ExplicitVarSizeWithMarker_Values[q5] != s_ExplicitVarSizeWithMarker_Values[q6], + allDiff([s_ExplicitVarSizeWithMarker_Values[q5] + s_ExplicitVarSizeWithMarker_Values[q6], + s_ExplicitVarSizeWithMarker_Values[q5] * s_ExplicitVarSizeWithMarker_Values[q6], + s_ExplicitVarSizeWithMarker_Values[q5] / s_ExplicitVarSizeWithMarker_Values[q6]; + int(1..3)]), + (s_ExplicitVarSizeWithMarker_Values[q5] - s_ExplicitVarSizeWithMarker_Values[q6]) % 2 = 0; + int(1..5)])) + | q5 : int(1..4), q6 : int(1..4)]) + > 0, + and([q1 + 1 <= s_ExplicitVarSizeWithMarker_Marker -> + s_ExplicitVarSizeWithMarker_Values[q1] < s_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..3)]), + and([q2 > s_ExplicitVarSizeWithMarker_Marker -> s_ExplicitVarSizeWithMarker_Values[q2] = 1 | q2 : int(1..4)]), + and([s_Occurrence[q28] -> + or([q30 <= s_ExplicitVarSizeWithMarker_Marker /\ s_ExplicitVarSizeWithMarker_Values[q30] = q28 + | q30 : int(1..4)]) + | q28 : int(1..4)]), + and([q32 <= s_ExplicitVarSizeWithMarker_Marker -> s_Occurrence[s_ExplicitVarSizeWithMarker_Values[q32]] + | q32 : int(1..4)]) + diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_3_3_2-solution000001.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_3_3_2-solution000001.solution new file mode 100644 index 0000000000..bd956f44e3 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_3_3_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 3, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_3_3_2-solution000002.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_3_3_2-solution000002.solution new file mode 100644 index 0000000000..5963aac565 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_3_3_2-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 3} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_3_3_2-solution000003.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_3_3_2-solution000003.solution new file mode 100644 index 0000000000..6eeacc9727 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_3_3_2-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_3_3_2-solution000004.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_3_3_2-solution000004.solution new file mode 100644 index 0000000000..560dd0f2f7 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_3_3_2-solution000004.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 3, 4} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_3_3_2-solution000005.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_3_3_2-solution000005.solution new file mode 100644 index 0000000000..8b4ecbb66d --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_3_3_2-solution000005.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 3} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_3_3_2-solution000006.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_3_3_2-solution000006.solution new file mode 100644 index 0000000000..40f3fd5c8f --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_3_3_2-solution000006.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {2, 3, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_3_3_2-solution000007.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_3_3_2-solution000007.solution new file mode 100644 index 0000000000..159a613983 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_3_3_2-solution000007.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {2, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_3_3_2.eprime b/tests/exhaustive/basic/comprehension_letting/expected/model_3_3_2.eprime new file mode 100644 index 0000000000..28e3beabc3 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_3_3_2.eprime @@ -0,0 +1,93 @@ +language ESSENCE' 1.0 + +find s_ExplicitVarSizeWithMarker_Marker: int(0..4) +find s_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +find s_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +letting let1 be -100 +find x: int(-100..100) +find conjure_aux1: int(-16..3) +branching on [s_ExplicitVarSizeWithDummy, s_ExplicitVarSizeWithMarker_Marker, s_ExplicitVarSizeWithMarker_Values, x] +such that + and([and([q16 <= s_ExplicitVarSizeWithMarker_Marker, q17 <= s_ExplicitVarSizeWithMarker_Marker, + s_ExplicitVarSizeWithMarker_Values[q16] != s_ExplicitVarSizeWithMarker_Values[q17], + allDiff([s_ExplicitVarSizeWithMarker_Values[q16] + s_ExplicitVarSizeWithMarker_Values[q17], + s_ExplicitVarSizeWithMarker_Values[q16] * s_ExplicitVarSizeWithMarker_Values[q17], + s_ExplicitVarSizeWithMarker_Values[q16] / s_ExplicitVarSizeWithMarker_Values[q17]; + int(1..3)]), + (s_ExplicitVarSizeWithMarker_Values[q16] - s_ExplicitVarSizeWithMarker_Values[q17]) % 2 = 0; + int(1..5)]) + -> + min([s_ExplicitVarSizeWithMarker_Values[q16] + s_ExplicitVarSizeWithMarker_Values[q17], + s_ExplicitVarSizeWithMarker_Values[q16] - s_ExplicitVarSizeWithMarker_Values[q17], + s_ExplicitVarSizeWithMarker_Values[q16] * s_ExplicitVarSizeWithMarker_Values[q17], + s_ExplicitVarSizeWithMarker_Values[q16] / s_ExplicitVarSizeWithMarker_Values[q17]; + int(1..4)]) + <= conjure_aux1 + | q16 : int(1..4), q17 : int(1..4)]), + sum([toInt(and([q16 <= s_ExplicitVarSizeWithMarker_Marker, q17 <= s_ExplicitVarSizeWithMarker_Marker, + s_ExplicitVarSizeWithMarker_Values[q16] != s_ExplicitVarSizeWithMarker_Values[q17], + allDiff([s_ExplicitVarSizeWithMarker_Values[q16] + s_ExplicitVarSizeWithMarker_Values[q17], + s_ExplicitVarSizeWithMarker_Values[q16] * s_ExplicitVarSizeWithMarker_Values[q17], + s_ExplicitVarSizeWithMarker_Values[q16] / s_ExplicitVarSizeWithMarker_Values[q17]; + int(1..3)]), + (s_ExplicitVarSizeWithMarker_Values[q16] - s_ExplicitVarSizeWithMarker_Values[q17]) % 2 = 0; + int(1..5)])) + | q16 : int(1..4), q17 : int(1..4)]) + > 0 + -> + or([and([q16 <= s_ExplicitVarSizeWithMarker_Marker, q17 <= s_ExplicitVarSizeWithMarker_Marker, + s_ExplicitVarSizeWithMarker_Values[q16] != s_ExplicitVarSizeWithMarker_Values[q17], + allDiff([s_ExplicitVarSizeWithMarker_Values[q16] + s_ExplicitVarSizeWithMarker_Values[q17], + s_ExplicitVarSizeWithMarker_Values[q16] * s_ExplicitVarSizeWithMarker_Values[q17], + s_ExplicitVarSizeWithMarker_Values[q16] / s_ExplicitVarSizeWithMarker_Values[q17]; + int(1..3)]), + (s_ExplicitVarSizeWithMarker_Values[q16] - s_ExplicitVarSizeWithMarker_Values[q17]) % 2 = 0; + int(1..5)]) + /\ + min([s_ExplicitVarSizeWithMarker_Values[q16] + s_ExplicitVarSizeWithMarker_Values[q17], + s_ExplicitVarSizeWithMarker_Values[q16] - s_ExplicitVarSizeWithMarker_Values[q17], + s_ExplicitVarSizeWithMarker_Values[q16] * s_ExplicitVarSizeWithMarker_Values[q17], + s_ExplicitVarSizeWithMarker_Values[q16] / s_ExplicitVarSizeWithMarker_Values[q17]; + int(1..4)]) + = conjure_aux1 + | q16 : int(1..4), q17 : int(1..4)]), + sum([toInt(and([q16 <= s_ExplicitVarSizeWithMarker_Marker, q17 <= s_ExplicitVarSizeWithMarker_Marker, + s_ExplicitVarSizeWithMarker_Values[q16] != s_ExplicitVarSizeWithMarker_Values[q17], + allDiff([s_ExplicitVarSizeWithMarker_Values[q16] + s_ExplicitVarSizeWithMarker_Values[q17], + s_ExplicitVarSizeWithMarker_Values[q16] * s_ExplicitVarSizeWithMarker_Values[q17], + s_ExplicitVarSizeWithMarker_Values[q16] / s_ExplicitVarSizeWithMarker_Values[q17]; + int(1..3)]), + (s_ExplicitVarSizeWithMarker_Values[q16] - s_ExplicitVarSizeWithMarker_Values[q17]) % 2 = 0; + int(1..5)])) + | q16 : int(1..4), q17 : int(1..4)]) + = 0 + -> conjure_aux1 = -16, + x = conjure_aux1, + sum([toInt(and([q16 <= s_ExplicitVarSizeWithMarker_Marker, q17 <= s_ExplicitVarSizeWithMarker_Marker, + s_ExplicitVarSizeWithMarker_Values[q16] != s_ExplicitVarSizeWithMarker_Values[q17], + allDiff([s_ExplicitVarSizeWithMarker_Values[q16] + s_ExplicitVarSizeWithMarker_Values[q17], + s_ExplicitVarSizeWithMarker_Values[q16] * s_ExplicitVarSizeWithMarker_Values[q17], + s_ExplicitVarSizeWithMarker_Values[q16] / s_ExplicitVarSizeWithMarker_Values[q17]; + int(1..3)]), + (s_ExplicitVarSizeWithMarker_Values[q16] - s_ExplicitVarSizeWithMarker_Values[q17]) % 2 = 0; + int(1..5)])) + | q16 : int(1..4), q17 : int(1..4)]) + > 0, + and([q1 + 1 <= s_ExplicitVarSizeWithMarker_Marker -> + s_ExplicitVarSizeWithMarker_Values[q1] < s_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..3)]), + and([q2 > s_ExplicitVarSizeWithMarker_Marker -> s_ExplicitVarSizeWithMarker_Values[q2] = 1 | q2 : int(1..4)]), + and([s_ExplicitVarSizeWithDummy[q4] < s_ExplicitVarSizeWithDummy[q4 + 1] \/ s_ExplicitVarSizeWithDummy[q4] = 5 + | q4 : int(1..3)]), + and([s_ExplicitVarSizeWithDummy[q5] = 5 -> s_ExplicitVarSizeWithDummy[q5 + 1] = 5 | q5 : int(1..3)]), + and([s_ExplicitVarSizeWithDummy[q9] != 5 -> + or([q11 <= s_ExplicitVarSizeWithMarker_Marker /\ + s_ExplicitVarSizeWithMarker_Values[q11] = s_ExplicitVarSizeWithDummy[q9] + | q11 : int(1..4)]) + | q9 : int(1..4)]), + and([q13 <= s_ExplicitVarSizeWithMarker_Marker -> + or([s_ExplicitVarSizeWithDummy[q15] != 5 /\ + s_ExplicitVarSizeWithDummy[q15] = s_ExplicitVarSizeWithMarker_Values[q13] + | q15 : int(1..4)]) + | q13 : int(1..4)]) + diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_3_3_3-solution000001.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_3_3_3-solution000001.solution new file mode 100644 index 0000000000..8b4ecbb66d --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_3_3_3-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 3} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_3_3_3-solution000002.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_3_3_3-solution000002.solution new file mode 100644 index 0000000000..159a613983 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_3_3_3-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {2, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_3_3_3-solution000003.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_3_3_3-solution000003.solution new file mode 100644 index 0000000000..5963aac565 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_3_3_3-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 3} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_3_3_3-solution000004.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_3_3_3-solution000004.solution new file mode 100644 index 0000000000..6eeacc9727 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_3_3_3-solution000004.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_3_3_3-solution000005.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_3_3_3-solution000005.solution new file mode 100644 index 0000000000..560dd0f2f7 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_3_3_3-solution000005.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 3, 4} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_3_3_3-solution000006.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_3_3_3-solution000006.solution new file mode 100644 index 0000000000..40f3fd5c8f --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_3_3_3-solution000006.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {2, 3, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_3_3_3-solution000007.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_3_3_3-solution000007.solution new file mode 100644 index 0000000000..bd956f44e3 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_3_3_3-solution000007.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 3, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_3_3_3.eprime b/tests/exhaustive/basic/comprehension_letting/expected/model_3_3_3.eprime new file mode 100644 index 0000000000..2395a6a64c --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_3_3_3.eprime @@ -0,0 +1,79 @@ +language ESSENCE' 1.0 + +find s_ExplicitVarSizeWithMarker_Marker: int(0..4) +find s_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +letting let1 be -100 +find x: int(-100..100) +find conjure_aux1: int(-16..3) +branching on [s_ExplicitVarSizeWithMarker_Marker, s_ExplicitVarSizeWithMarker_Values, x] +such that + and([and([q4 <= s_ExplicitVarSizeWithMarker_Marker, q5 <= s_ExplicitVarSizeWithMarker_Marker, + s_ExplicitVarSizeWithMarker_Values[q4] != s_ExplicitVarSizeWithMarker_Values[q5], + allDiff([s_ExplicitVarSizeWithMarker_Values[q4] + s_ExplicitVarSizeWithMarker_Values[q5], + s_ExplicitVarSizeWithMarker_Values[q4] * s_ExplicitVarSizeWithMarker_Values[q5], + s_ExplicitVarSizeWithMarker_Values[q4] / s_ExplicitVarSizeWithMarker_Values[q5]; + int(1..3)]), + (s_ExplicitVarSizeWithMarker_Values[q4] - s_ExplicitVarSizeWithMarker_Values[q5]) % 2 = 0; + int(1..5)]) + -> + min([s_ExplicitVarSizeWithMarker_Values[q4] + s_ExplicitVarSizeWithMarker_Values[q5], + s_ExplicitVarSizeWithMarker_Values[q4] - s_ExplicitVarSizeWithMarker_Values[q5], + s_ExplicitVarSizeWithMarker_Values[q4] * s_ExplicitVarSizeWithMarker_Values[q5], + s_ExplicitVarSizeWithMarker_Values[q4] / s_ExplicitVarSizeWithMarker_Values[q5]; + int(1..4)]) + <= conjure_aux1 + | q4 : int(1..4), q5 : int(1..4)]), + sum([toInt(and([q4 <= s_ExplicitVarSizeWithMarker_Marker, q5 <= s_ExplicitVarSizeWithMarker_Marker, + s_ExplicitVarSizeWithMarker_Values[q4] != s_ExplicitVarSizeWithMarker_Values[q5], + allDiff([s_ExplicitVarSizeWithMarker_Values[q4] + s_ExplicitVarSizeWithMarker_Values[q5], + s_ExplicitVarSizeWithMarker_Values[q4] * s_ExplicitVarSizeWithMarker_Values[q5], + s_ExplicitVarSizeWithMarker_Values[q4] / s_ExplicitVarSizeWithMarker_Values[q5]; + int(1..3)]), + (s_ExplicitVarSizeWithMarker_Values[q4] - s_ExplicitVarSizeWithMarker_Values[q5]) % 2 = 0; + int(1..5)])) + | q4 : int(1..4), q5 : int(1..4)]) + > 0 + -> + or([and([q4 <= s_ExplicitVarSizeWithMarker_Marker, q5 <= s_ExplicitVarSizeWithMarker_Marker, + s_ExplicitVarSizeWithMarker_Values[q4] != s_ExplicitVarSizeWithMarker_Values[q5], + allDiff([s_ExplicitVarSizeWithMarker_Values[q4] + s_ExplicitVarSizeWithMarker_Values[q5], + s_ExplicitVarSizeWithMarker_Values[q4] * s_ExplicitVarSizeWithMarker_Values[q5], + s_ExplicitVarSizeWithMarker_Values[q4] / s_ExplicitVarSizeWithMarker_Values[q5]; + int(1..3)]), + (s_ExplicitVarSizeWithMarker_Values[q4] - s_ExplicitVarSizeWithMarker_Values[q5]) % 2 = 0; + int(1..5)]) + /\ + min([s_ExplicitVarSizeWithMarker_Values[q4] + s_ExplicitVarSizeWithMarker_Values[q5], + s_ExplicitVarSizeWithMarker_Values[q4] - s_ExplicitVarSizeWithMarker_Values[q5], + s_ExplicitVarSizeWithMarker_Values[q4] * s_ExplicitVarSizeWithMarker_Values[q5], + s_ExplicitVarSizeWithMarker_Values[q4] / s_ExplicitVarSizeWithMarker_Values[q5]; + int(1..4)]) + = conjure_aux1 + | q4 : int(1..4), q5 : int(1..4)]), + sum([toInt(and([q4 <= s_ExplicitVarSizeWithMarker_Marker, q5 <= s_ExplicitVarSizeWithMarker_Marker, + s_ExplicitVarSizeWithMarker_Values[q4] != s_ExplicitVarSizeWithMarker_Values[q5], + allDiff([s_ExplicitVarSizeWithMarker_Values[q4] + s_ExplicitVarSizeWithMarker_Values[q5], + s_ExplicitVarSizeWithMarker_Values[q4] * s_ExplicitVarSizeWithMarker_Values[q5], + s_ExplicitVarSizeWithMarker_Values[q4] / s_ExplicitVarSizeWithMarker_Values[q5]; + int(1..3)]), + (s_ExplicitVarSizeWithMarker_Values[q4] - s_ExplicitVarSizeWithMarker_Values[q5]) % 2 = 0; + int(1..5)])) + | q4 : int(1..4), q5 : int(1..4)]) + = 0 + -> conjure_aux1 = -16, + x = conjure_aux1, + sum([toInt(and([q4 <= s_ExplicitVarSizeWithMarker_Marker, q5 <= s_ExplicitVarSizeWithMarker_Marker, + s_ExplicitVarSizeWithMarker_Values[q4] != s_ExplicitVarSizeWithMarker_Values[q5], + allDiff([s_ExplicitVarSizeWithMarker_Values[q4] + s_ExplicitVarSizeWithMarker_Values[q5], + s_ExplicitVarSizeWithMarker_Values[q4] * s_ExplicitVarSizeWithMarker_Values[q5], + s_ExplicitVarSizeWithMarker_Values[q4] / s_ExplicitVarSizeWithMarker_Values[q5]; + int(1..3)]), + (s_ExplicitVarSizeWithMarker_Values[q4] - s_ExplicitVarSizeWithMarker_Values[q5]) % 2 = 0; + int(1..5)])) + | q4 : int(1..4), q5 : int(1..4)]) + > 0, + and([q1 + 1 <= s_ExplicitVarSizeWithMarker_Marker -> + s_ExplicitVarSizeWithMarker_Values[q1] < s_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..3)]), + and([q2 > s_ExplicitVarSizeWithMarker_Marker -> s_ExplicitVarSizeWithMarker_Values[q2] = 1 | q2 : int(1..4)]) + diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_3_3_4-solution000001.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_3_3_4-solution000001.solution new file mode 100644 index 0000000000..8b4ecbb66d --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_3_3_4-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 3} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_3_3_4-solution000002.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_3_3_4-solution000002.solution new file mode 100644 index 0000000000..159a613983 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_3_3_4-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {2, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_3_3_4-solution000003.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_3_3_4-solution000003.solution new file mode 100644 index 0000000000..5963aac565 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_3_3_4-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 3} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_3_3_4-solution000004.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_3_3_4-solution000004.solution new file mode 100644 index 0000000000..6eeacc9727 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_3_3_4-solution000004.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_3_3_4-solution000005.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_3_3_4-solution000005.solution new file mode 100644 index 0000000000..560dd0f2f7 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_3_3_4-solution000005.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 3, 4} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_3_3_4-solution000006.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_3_3_4-solution000006.solution new file mode 100644 index 0000000000..40f3fd5c8f --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_3_3_4-solution000006.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {2, 3, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_3_3_4-solution000007.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_3_3_4-solution000007.solution new file mode 100644 index 0000000000..bd956f44e3 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_3_3_4-solution000007.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 3, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_3_3_4.eprime b/tests/exhaustive/basic/comprehension_letting/expected/model_3_3_4.eprime new file mode 100644 index 0000000000..04c74bb0a1 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_3_3_4.eprime @@ -0,0 +1,98 @@ +language ESSENCE' 1.0 + +find s_ExplicitVarSizeWithMarker_Marker: int(0..4) +find s_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +find s_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find s_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +letting let1 be -100 +find x: int(-100..100) +find conjure_aux1: int(-16..3) +branching on + [s_ExplicitVarSizeWithFlags_Flags, s_ExplicitVarSizeWithFlags_Values, s_ExplicitVarSizeWithMarker_Marker, + s_ExplicitVarSizeWithMarker_Values, x] +such that + and([and([q17 <= s_ExplicitVarSizeWithMarker_Marker, q18 <= s_ExplicitVarSizeWithMarker_Marker, + s_ExplicitVarSizeWithMarker_Values[q17] != s_ExplicitVarSizeWithMarker_Values[q18], + allDiff([s_ExplicitVarSizeWithMarker_Values[q17] + s_ExplicitVarSizeWithMarker_Values[q18], + s_ExplicitVarSizeWithMarker_Values[q17] * s_ExplicitVarSizeWithMarker_Values[q18], + s_ExplicitVarSizeWithMarker_Values[q17] / s_ExplicitVarSizeWithMarker_Values[q18]; + int(1..3)]), + (s_ExplicitVarSizeWithMarker_Values[q17] - s_ExplicitVarSizeWithMarker_Values[q18]) % 2 = 0; + int(1..5)]) + -> + min([s_ExplicitVarSizeWithMarker_Values[q17] + s_ExplicitVarSizeWithMarker_Values[q18], + s_ExplicitVarSizeWithMarker_Values[q17] - s_ExplicitVarSizeWithMarker_Values[q18], + s_ExplicitVarSizeWithMarker_Values[q17] * s_ExplicitVarSizeWithMarker_Values[q18], + s_ExplicitVarSizeWithMarker_Values[q17] / s_ExplicitVarSizeWithMarker_Values[q18]; + int(1..4)]) + <= conjure_aux1 + | q17 : int(1..4), q18 : int(1..4)]), + sum([toInt(and([q17 <= s_ExplicitVarSizeWithMarker_Marker, q18 <= s_ExplicitVarSizeWithMarker_Marker, + s_ExplicitVarSizeWithMarker_Values[q17] != s_ExplicitVarSizeWithMarker_Values[q18], + allDiff([s_ExplicitVarSizeWithMarker_Values[q17] + s_ExplicitVarSizeWithMarker_Values[q18], + s_ExplicitVarSizeWithMarker_Values[q17] * s_ExplicitVarSizeWithMarker_Values[q18], + s_ExplicitVarSizeWithMarker_Values[q17] / s_ExplicitVarSizeWithMarker_Values[q18]; + int(1..3)]), + (s_ExplicitVarSizeWithMarker_Values[q17] - s_ExplicitVarSizeWithMarker_Values[q18]) % 2 = 0; + int(1..5)])) + | q17 : int(1..4), q18 : int(1..4)]) + > 0 + -> + or([and([q17 <= s_ExplicitVarSizeWithMarker_Marker, q18 <= s_ExplicitVarSizeWithMarker_Marker, + s_ExplicitVarSizeWithMarker_Values[q17] != s_ExplicitVarSizeWithMarker_Values[q18], + allDiff([s_ExplicitVarSizeWithMarker_Values[q17] + s_ExplicitVarSizeWithMarker_Values[q18], + s_ExplicitVarSizeWithMarker_Values[q17] * s_ExplicitVarSizeWithMarker_Values[q18], + s_ExplicitVarSizeWithMarker_Values[q17] / s_ExplicitVarSizeWithMarker_Values[q18]; + int(1..3)]), + (s_ExplicitVarSizeWithMarker_Values[q17] - s_ExplicitVarSizeWithMarker_Values[q18]) % 2 = 0; + int(1..5)]) + /\ + min([s_ExplicitVarSizeWithMarker_Values[q17] + s_ExplicitVarSizeWithMarker_Values[q18], + s_ExplicitVarSizeWithMarker_Values[q17] - s_ExplicitVarSizeWithMarker_Values[q18], + s_ExplicitVarSizeWithMarker_Values[q17] * s_ExplicitVarSizeWithMarker_Values[q18], + s_ExplicitVarSizeWithMarker_Values[q17] / s_ExplicitVarSizeWithMarker_Values[q18]; + int(1..4)]) + = conjure_aux1 + | q17 : int(1..4), q18 : int(1..4)]), + sum([toInt(and([q17 <= s_ExplicitVarSizeWithMarker_Marker, q18 <= s_ExplicitVarSizeWithMarker_Marker, + s_ExplicitVarSizeWithMarker_Values[q17] != s_ExplicitVarSizeWithMarker_Values[q18], + allDiff([s_ExplicitVarSizeWithMarker_Values[q17] + s_ExplicitVarSizeWithMarker_Values[q18], + s_ExplicitVarSizeWithMarker_Values[q17] * s_ExplicitVarSizeWithMarker_Values[q18], + s_ExplicitVarSizeWithMarker_Values[q17] / s_ExplicitVarSizeWithMarker_Values[q18]; + int(1..3)]), + (s_ExplicitVarSizeWithMarker_Values[q17] - s_ExplicitVarSizeWithMarker_Values[q18]) % 2 = 0; + int(1..5)])) + | q17 : int(1..4), q18 : int(1..4)]) + = 0 + -> conjure_aux1 = -16, + x = conjure_aux1, + sum([toInt(and([q17 <= s_ExplicitVarSizeWithMarker_Marker, q18 <= s_ExplicitVarSizeWithMarker_Marker, + s_ExplicitVarSizeWithMarker_Values[q17] != s_ExplicitVarSizeWithMarker_Values[q18], + allDiff([s_ExplicitVarSizeWithMarker_Values[q17] + s_ExplicitVarSizeWithMarker_Values[q18], + s_ExplicitVarSizeWithMarker_Values[q17] * s_ExplicitVarSizeWithMarker_Values[q18], + s_ExplicitVarSizeWithMarker_Values[q17] / s_ExplicitVarSizeWithMarker_Values[q18]; + int(1..3)]), + (s_ExplicitVarSizeWithMarker_Values[q17] - s_ExplicitVarSizeWithMarker_Values[q18]) % 2 = 0; + int(1..5)])) + | q17 : int(1..4), q18 : int(1..4)]) + > 0, + and([q1 + 1 <= s_ExplicitVarSizeWithMarker_Marker -> + s_ExplicitVarSizeWithMarker_Values[q1] < s_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..3)]), + and([q2 > s_ExplicitVarSizeWithMarker_Marker -> s_ExplicitVarSizeWithMarker_Values[q2] = 1 | q2 : int(1..4)]), + and([s_ExplicitVarSizeWithFlags_Flags[q4 + 1] -> + s_ExplicitVarSizeWithFlags_Values[q4] < s_ExplicitVarSizeWithFlags_Values[q4 + 1] + | q4 : int(1..3)]), + and([s_ExplicitVarSizeWithFlags_Flags[q5] = false -> s_ExplicitVarSizeWithFlags_Values[q5] = 1 | q5 : int(1..4)]), + and([s_ExplicitVarSizeWithFlags_Flags[q6 + 1] -> s_ExplicitVarSizeWithFlags_Flags[q6] | q6 : int(1..3)]), + and([s_ExplicitVarSizeWithFlags_Flags[q10] -> + or([q12 <= s_ExplicitVarSizeWithMarker_Marker /\ + s_ExplicitVarSizeWithMarker_Values[q12] = s_ExplicitVarSizeWithFlags_Values[q10] + | q12 : int(1..4)]) + | q10 : int(1..4)]), + and([q14 <= s_ExplicitVarSizeWithMarker_Marker -> + or([s_ExplicitVarSizeWithFlags_Flags[q16] /\ + s_ExplicitVarSizeWithFlags_Values[q16] = s_ExplicitVarSizeWithMarker_Values[q14] + | q16 : int(1..4)]) + | q14 : int(1..4)]) + diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_3_4_1-solution000001.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_3_4_1-solution000001.solution new file mode 100644 index 0000000000..159a613983 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_3_4_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {2, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_3_4_1-solution000002.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_3_4_1-solution000002.solution new file mode 100644 index 0000000000..40f3fd5c8f --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_3_4_1-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {2, 3, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_3_4_1-solution000003.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_3_4_1-solution000003.solution new file mode 100644 index 0000000000..8b4ecbb66d --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_3_4_1-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 3} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_3_4_1-solution000004.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_3_4_1-solution000004.solution new file mode 100644 index 0000000000..560dd0f2f7 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_3_4_1-solution000004.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 3, 4} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_3_4_1-solution000005.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_3_4_1-solution000005.solution new file mode 100644 index 0000000000..6eeacc9727 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_3_4_1-solution000005.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_3_4_1-solution000006.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_3_4_1-solution000006.solution new file mode 100644 index 0000000000..5963aac565 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_3_4_1-solution000006.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 3} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_3_4_1-solution000007.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_3_4_1-solution000007.solution new file mode 100644 index 0000000000..bd956f44e3 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_3_4_1-solution000007.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 3, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_3_4_1.eprime b/tests/exhaustive/basic/comprehension_letting/expected/model_3_4_1.eprime new file mode 100644 index 0000000000..04d3b5c94a --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_3_4_1.eprime @@ -0,0 +1,110 @@ +language ESSENCE' 1.0 + +find s_ExplicitVarSizeWithMarker_Marker: int(0..4) +find s_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +find s_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find s_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +find s_Occurrence: matrix indexed by [int(1..4)] of bool +letting let1 be -100 +find x: int(-100..100) +find conjure_aux1: int(-16..3) +branching on + [s_Occurrence, s_ExplicitVarSizeWithMarker_Marker, s_ExplicitVarSizeWithMarker_Values, + s_ExplicitVarSizeWithFlags_Flags, s_ExplicitVarSizeWithFlags_Values, x] +such that + and([and([q28 <= s_ExplicitVarSizeWithMarker_Marker, s_ExplicitVarSizeWithFlags_Flags[q29], + s_ExplicitVarSizeWithMarker_Values[q28] != s_ExplicitVarSizeWithFlags_Values[q29], + allDiff([s_ExplicitVarSizeWithMarker_Values[q28] + s_ExplicitVarSizeWithFlags_Values[q29], + s_ExplicitVarSizeWithMarker_Values[q28] * s_ExplicitVarSizeWithFlags_Values[q29], + s_ExplicitVarSizeWithMarker_Values[q28] / s_ExplicitVarSizeWithFlags_Values[q29]; + int(1..3)]), + (s_ExplicitVarSizeWithMarker_Values[q28] - s_ExplicitVarSizeWithFlags_Values[q29]) % 2 = 0; + int(1..5)]) + -> + min([s_ExplicitVarSizeWithMarker_Values[q28] + s_ExplicitVarSizeWithFlags_Values[q29], + s_ExplicitVarSizeWithMarker_Values[q28] - s_ExplicitVarSizeWithFlags_Values[q29], + s_ExplicitVarSizeWithMarker_Values[q28] * s_ExplicitVarSizeWithFlags_Values[q29], + s_ExplicitVarSizeWithMarker_Values[q28] / s_ExplicitVarSizeWithFlags_Values[q29]; + int(1..4)]) + <= conjure_aux1 + | q28 : int(1..4), q29 : int(1..4)]), + sum([toInt(and([q28 <= s_ExplicitVarSizeWithMarker_Marker, s_ExplicitVarSizeWithFlags_Flags[q29], + s_ExplicitVarSizeWithMarker_Values[q28] != s_ExplicitVarSizeWithFlags_Values[q29], + allDiff([s_ExplicitVarSizeWithMarker_Values[q28] + s_ExplicitVarSizeWithFlags_Values[q29], + s_ExplicitVarSizeWithMarker_Values[q28] * s_ExplicitVarSizeWithFlags_Values[q29], + s_ExplicitVarSizeWithMarker_Values[q28] / s_ExplicitVarSizeWithFlags_Values[q29]; + int(1..3)]), + (s_ExplicitVarSizeWithMarker_Values[q28] - s_ExplicitVarSizeWithFlags_Values[q29]) % 2 = 0; + int(1..5)])) + | q28 : int(1..4), q29 : int(1..4)]) + > 0 + -> + or([and([q28 <= s_ExplicitVarSizeWithMarker_Marker, s_ExplicitVarSizeWithFlags_Flags[q29], + s_ExplicitVarSizeWithMarker_Values[q28] != s_ExplicitVarSizeWithFlags_Values[q29], + allDiff([s_ExplicitVarSizeWithMarker_Values[q28] + s_ExplicitVarSizeWithFlags_Values[q29], + s_ExplicitVarSizeWithMarker_Values[q28] * s_ExplicitVarSizeWithFlags_Values[q29], + s_ExplicitVarSizeWithMarker_Values[q28] / s_ExplicitVarSizeWithFlags_Values[q29]; + int(1..3)]), + (s_ExplicitVarSizeWithMarker_Values[q28] - s_ExplicitVarSizeWithFlags_Values[q29]) % 2 = 0; + int(1..5)]) + /\ + min([s_ExplicitVarSizeWithMarker_Values[q28] + s_ExplicitVarSizeWithFlags_Values[q29], + s_ExplicitVarSizeWithMarker_Values[q28] - s_ExplicitVarSizeWithFlags_Values[q29], + s_ExplicitVarSizeWithMarker_Values[q28] * s_ExplicitVarSizeWithFlags_Values[q29], + s_ExplicitVarSizeWithMarker_Values[q28] / s_ExplicitVarSizeWithFlags_Values[q29]; + int(1..4)]) + = conjure_aux1 + | q28 : int(1..4), q29 : int(1..4)]), + sum([toInt(and([q28 <= s_ExplicitVarSizeWithMarker_Marker, s_ExplicitVarSizeWithFlags_Flags[q29], + s_ExplicitVarSizeWithMarker_Values[q28] != s_ExplicitVarSizeWithFlags_Values[q29], + allDiff([s_ExplicitVarSizeWithMarker_Values[q28] + s_ExplicitVarSizeWithFlags_Values[q29], + s_ExplicitVarSizeWithMarker_Values[q28] * s_ExplicitVarSizeWithFlags_Values[q29], + s_ExplicitVarSizeWithMarker_Values[q28] / s_ExplicitVarSizeWithFlags_Values[q29]; + int(1..3)]), + (s_ExplicitVarSizeWithMarker_Values[q28] - s_ExplicitVarSizeWithFlags_Values[q29]) % 2 = 0; + int(1..5)])) + | q28 : int(1..4), q29 : int(1..4)]) + = 0 + -> conjure_aux1 = -16, + x = conjure_aux1, + sum([toInt(and([q28 <= s_ExplicitVarSizeWithMarker_Marker, s_ExplicitVarSizeWithFlags_Flags[q29], + s_ExplicitVarSizeWithMarker_Values[q28] != s_ExplicitVarSizeWithFlags_Values[q29], + allDiff([s_ExplicitVarSizeWithMarker_Values[q28] + s_ExplicitVarSizeWithFlags_Values[q29], + s_ExplicitVarSizeWithMarker_Values[q28] * s_ExplicitVarSizeWithFlags_Values[q29], + s_ExplicitVarSizeWithMarker_Values[q28] / s_ExplicitVarSizeWithFlags_Values[q29]; + int(1..3)]), + (s_ExplicitVarSizeWithMarker_Values[q28] - s_ExplicitVarSizeWithFlags_Values[q29]) % 2 = 0; + int(1..5)])) + | q28 : int(1..4), q29 : int(1..4)]) + > 0, + and([q1 + 1 <= s_ExplicitVarSizeWithMarker_Marker -> + s_ExplicitVarSizeWithMarker_Values[q1] < s_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..3)]), + and([q2 > s_ExplicitVarSizeWithMarker_Marker -> s_ExplicitVarSizeWithMarker_Values[q2] = 1 | q2 : int(1..4)]), + and([s_ExplicitVarSizeWithFlags_Flags[q4 + 1] -> + s_ExplicitVarSizeWithFlags_Values[q4] < s_ExplicitVarSizeWithFlags_Values[q4 + 1] + | q4 : int(1..3)]), + and([s_ExplicitVarSizeWithFlags_Flags[q5] = false -> s_ExplicitVarSizeWithFlags_Values[q5] = 1 | q5 : int(1..4)]), + and([s_ExplicitVarSizeWithFlags_Flags[q6 + 1] -> s_ExplicitVarSizeWithFlags_Flags[q6] | q6 : int(1..3)]), + and([s_ExplicitVarSizeWithFlags_Flags[q10] -> + or([q12 <= s_ExplicitVarSizeWithMarker_Marker /\ + s_ExplicitVarSizeWithMarker_Values[q12] = s_ExplicitVarSizeWithFlags_Values[q10] + | q12 : int(1..4)]) + | q10 : int(1..4)]), + and([q14 <= s_ExplicitVarSizeWithMarker_Marker -> + or([s_ExplicitVarSizeWithFlags_Flags[q16] /\ + s_ExplicitVarSizeWithFlags_Values[q16] = s_ExplicitVarSizeWithMarker_Values[q14] + | q16 : int(1..4)]) + | q14 : int(1..4)]), + and([s_Occurrence[q18] -> + or([q20 <= s_ExplicitVarSizeWithMarker_Marker /\ s_ExplicitVarSizeWithMarker_Values[q20] = q18 + | q20 : int(1..4)]) + | q18 : int(1..4)]), + and([q22 <= s_ExplicitVarSizeWithMarker_Marker -> s_Occurrence[s_ExplicitVarSizeWithMarker_Values[q22]] + | q22 : int(1..4)]), + and([s_Occurrence[q23] -> + or([s_ExplicitVarSizeWithFlags_Flags[q25] /\ s_ExplicitVarSizeWithFlags_Values[q25] = q23 | q25 : int(1..4)]) + | q23 : int(1..4)]), + and([s_ExplicitVarSizeWithFlags_Flags[q27] -> s_Occurrence[s_ExplicitVarSizeWithFlags_Values[q27]] + | q27 : int(1..4)]) + diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_3_4_2-solution000001.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_3_4_2-solution000001.solution new file mode 100644 index 0000000000..bd956f44e3 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_3_4_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 3, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_3_4_2-solution000002.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_3_4_2-solution000002.solution new file mode 100644 index 0000000000..5963aac565 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_3_4_2-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 3} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_3_4_2-solution000003.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_3_4_2-solution000003.solution new file mode 100644 index 0000000000..6eeacc9727 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_3_4_2-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_3_4_2-solution000004.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_3_4_2-solution000004.solution new file mode 100644 index 0000000000..560dd0f2f7 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_3_4_2-solution000004.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 3, 4} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_3_4_2-solution000005.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_3_4_2-solution000005.solution new file mode 100644 index 0000000000..8b4ecbb66d --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_3_4_2-solution000005.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 3} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_3_4_2-solution000006.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_3_4_2-solution000006.solution new file mode 100644 index 0000000000..40f3fd5c8f --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_3_4_2-solution000006.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {2, 3, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_3_4_2-solution000007.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_3_4_2-solution000007.solution new file mode 100644 index 0000000000..159a613983 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_3_4_2-solution000007.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {2, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_3_4_2.eprime b/tests/exhaustive/basic/comprehension_letting/expected/model_3_4_2.eprime new file mode 100644 index 0000000000..cc4980db20 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_3_4_2.eprime @@ -0,0 +1,122 @@ +language ESSENCE' 1.0 + +find s_ExplicitVarSizeWithMarker_Marker: int(0..4) +find s_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +find s_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find s_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +find s_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +letting let1 be -100 +find x: int(-100..100) +find conjure_aux1: int(-16..3) +branching on + [s_ExplicitVarSizeWithDummy, s_ExplicitVarSizeWithMarker_Marker, s_ExplicitVarSizeWithMarker_Values, + s_ExplicitVarSizeWithFlags_Flags, s_ExplicitVarSizeWithFlags_Values, x] +such that + and([and([q37 <= s_ExplicitVarSizeWithMarker_Marker, s_ExplicitVarSizeWithFlags_Flags[q38], + s_ExplicitVarSizeWithMarker_Values[q37] != s_ExplicitVarSizeWithFlags_Values[q38], + allDiff([s_ExplicitVarSizeWithMarker_Values[q37] + s_ExplicitVarSizeWithFlags_Values[q38], + s_ExplicitVarSizeWithMarker_Values[q37] * s_ExplicitVarSizeWithFlags_Values[q38], + s_ExplicitVarSizeWithMarker_Values[q37] / s_ExplicitVarSizeWithFlags_Values[q38]; + int(1..3)]), + (s_ExplicitVarSizeWithMarker_Values[q37] - s_ExplicitVarSizeWithFlags_Values[q38]) % 2 = 0; + int(1..5)]) + -> + min([s_ExplicitVarSizeWithMarker_Values[q37] + s_ExplicitVarSizeWithFlags_Values[q38], + s_ExplicitVarSizeWithMarker_Values[q37] - s_ExplicitVarSizeWithFlags_Values[q38], + s_ExplicitVarSizeWithMarker_Values[q37] * s_ExplicitVarSizeWithFlags_Values[q38], + s_ExplicitVarSizeWithMarker_Values[q37] / s_ExplicitVarSizeWithFlags_Values[q38]; + int(1..4)]) + <= conjure_aux1 + | q37 : int(1..4), q38 : int(1..4)]), + sum([toInt(and([q37 <= s_ExplicitVarSizeWithMarker_Marker, s_ExplicitVarSizeWithFlags_Flags[q38], + s_ExplicitVarSizeWithMarker_Values[q37] != s_ExplicitVarSizeWithFlags_Values[q38], + allDiff([s_ExplicitVarSizeWithMarker_Values[q37] + s_ExplicitVarSizeWithFlags_Values[q38], + s_ExplicitVarSizeWithMarker_Values[q37] * s_ExplicitVarSizeWithFlags_Values[q38], + s_ExplicitVarSizeWithMarker_Values[q37] / s_ExplicitVarSizeWithFlags_Values[q38]; + int(1..3)]), + (s_ExplicitVarSizeWithMarker_Values[q37] - s_ExplicitVarSizeWithFlags_Values[q38]) % 2 = 0; + int(1..5)])) + | q37 : int(1..4), q38 : int(1..4)]) + > 0 + -> + or([and([q37 <= s_ExplicitVarSizeWithMarker_Marker, s_ExplicitVarSizeWithFlags_Flags[q38], + s_ExplicitVarSizeWithMarker_Values[q37] != s_ExplicitVarSizeWithFlags_Values[q38], + allDiff([s_ExplicitVarSizeWithMarker_Values[q37] + s_ExplicitVarSizeWithFlags_Values[q38], + s_ExplicitVarSizeWithMarker_Values[q37] * s_ExplicitVarSizeWithFlags_Values[q38], + s_ExplicitVarSizeWithMarker_Values[q37] / s_ExplicitVarSizeWithFlags_Values[q38]; + int(1..3)]), + (s_ExplicitVarSizeWithMarker_Values[q37] - s_ExplicitVarSizeWithFlags_Values[q38]) % 2 = 0; + int(1..5)]) + /\ + min([s_ExplicitVarSizeWithMarker_Values[q37] + s_ExplicitVarSizeWithFlags_Values[q38], + s_ExplicitVarSizeWithMarker_Values[q37] - s_ExplicitVarSizeWithFlags_Values[q38], + s_ExplicitVarSizeWithMarker_Values[q37] * s_ExplicitVarSizeWithFlags_Values[q38], + s_ExplicitVarSizeWithMarker_Values[q37] / s_ExplicitVarSizeWithFlags_Values[q38]; + int(1..4)]) + = conjure_aux1 + | q37 : int(1..4), q38 : int(1..4)]), + sum([toInt(and([q37 <= s_ExplicitVarSizeWithMarker_Marker, s_ExplicitVarSizeWithFlags_Flags[q38], + s_ExplicitVarSizeWithMarker_Values[q37] != s_ExplicitVarSizeWithFlags_Values[q38], + allDiff([s_ExplicitVarSizeWithMarker_Values[q37] + s_ExplicitVarSizeWithFlags_Values[q38], + s_ExplicitVarSizeWithMarker_Values[q37] * s_ExplicitVarSizeWithFlags_Values[q38], + s_ExplicitVarSizeWithMarker_Values[q37] / s_ExplicitVarSizeWithFlags_Values[q38]; + int(1..3)]), + (s_ExplicitVarSizeWithMarker_Values[q37] - s_ExplicitVarSizeWithFlags_Values[q38]) % 2 = 0; + int(1..5)])) + | q37 : int(1..4), q38 : int(1..4)]) + = 0 + -> conjure_aux1 = -16, + x = conjure_aux1, + sum([toInt(and([q37 <= s_ExplicitVarSizeWithMarker_Marker, s_ExplicitVarSizeWithFlags_Flags[q38], + s_ExplicitVarSizeWithMarker_Values[q37] != s_ExplicitVarSizeWithFlags_Values[q38], + allDiff([s_ExplicitVarSizeWithMarker_Values[q37] + s_ExplicitVarSizeWithFlags_Values[q38], + s_ExplicitVarSizeWithMarker_Values[q37] * s_ExplicitVarSizeWithFlags_Values[q38], + s_ExplicitVarSizeWithMarker_Values[q37] / s_ExplicitVarSizeWithFlags_Values[q38]; + int(1..3)]), + (s_ExplicitVarSizeWithMarker_Values[q37] - s_ExplicitVarSizeWithFlags_Values[q38]) % 2 = 0; + int(1..5)])) + | q37 : int(1..4), q38 : int(1..4)]) + > 0, + and([q1 + 1 <= s_ExplicitVarSizeWithMarker_Marker -> + s_ExplicitVarSizeWithMarker_Values[q1] < s_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..3)]), + and([q2 > s_ExplicitVarSizeWithMarker_Marker -> s_ExplicitVarSizeWithMarker_Values[q2] = 1 | q2 : int(1..4)]), + and([s_ExplicitVarSizeWithFlags_Flags[q4 + 1] -> + s_ExplicitVarSizeWithFlags_Values[q4] < s_ExplicitVarSizeWithFlags_Values[q4 + 1] + | q4 : int(1..3)]), + and([s_ExplicitVarSizeWithFlags_Flags[q5] = false -> s_ExplicitVarSizeWithFlags_Values[q5] = 1 | q5 : int(1..4)]), + and([s_ExplicitVarSizeWithFlags_Flags[q6 + 1] -> s_ExplicitVarSizeWithFlags_Flags[q6] | q6 : int(1..3)]), + and([s_ExplicitVarSizeWithFlags_Flags[q10] -> + or([q12 <= s_ExplicitVarSizeWithMarker_Marker /\ + s_ExplicitVarSizeWithMarker_Values[q12] = s_ExplicitVarSizeWithFlags_Values[q10] + | q12 : int(1..4)]) + | q10 : int(1..4)]), + and([q14 <= s_ExplicitVarSizeWithMarker_Marker -> + or([s_ExplicitVarSizeWithFlags_Flags[q16] /\ + s_ExplicitVarSizeWithFlags_Values[q16] = s_ExplicitVarSizeWithMarker_Values[q14] + | q16 : int(1..4)]) + | q14 : int(1..4)]), + and([s_ExplicitVarSizeWithDummy[q17] < s_ExplicitVarSizeWithDummy[q17 + 1] \/ s_ExplicitVarSizeWithDummy[q17] = 5 + | q17 : int(1..3)]), + and([s_ExplicitVarSizeWithDummy[q18] = 5 -> s_ExplicitVarSizeWithDummy[q18 + 1] = 5 | q18 : int(1..3)]), + and([s_ExplicitVarSizeWithDummy[q22] != 5 -> + or([q24 <= s_ExplicitVarSizeWithMarker_Marker /\ + s_ExplicitVarSizeWithMarker_Values[q24] = s_ExplicitVarSizeWithDummy[q22] + | q24 : int(1..4)]) + | q22 : int(1..4)]), + and([q26 <= s_ExplicitVarSizeWithMarker_Marker -> + or([s_ExplicitVarSizeWithDummy[q28] != 5 /\ + s_ExplicitVarSizeWithDummy[q28] = s_ExplicitVarSizeWithMarker_Values[q26] + | q28 : int(1..4)]) + | q26 : int(1..4)]), + and([s_ExplicitVarSizeWithDummy[q30] != 5 -> + or([s_ExplicitVarSizeWithFlags_Flags[q32] /\ + s_ExplicitVarSizeWithFlags_Values[q32] = s_ExplicitVarSizeWithDummy[q30] + | q32 : int(1..4)]) + | q30 : int(1..4)]), + and([s_ExplicitVarSizeWithFlags_Flags[q34] -> + or([s_ExplicitVarSizeWithDummy[q36] != 5 /\ + s_ExplicitVarSizeWithDummy[q36] = s_ExplicitVarSizeWithFlags_Values[q34] + | q36 : int(1..4)]) + | q34 : int(1..4)]) + diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_3_4_3-solution000001.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_3_4_3-solution000001.solution new file mode 100644 index 0000000000..8b4ecbb66d --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_3_4_3-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 3} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_3_4_3-solution000002.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_3_4_3-solution000002.solution new file mode 100644 index 0000000000..159a613983 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_3_4_3-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {2, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_3_4_3-solution000003.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_3_4_3-solution000003.solution new file mode 100644 index 0000000000..5963aac565 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_3_4_3-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 3} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_3_4_3-solution000004.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_3_4_3-solution000004.solution new file mode 100644 index 0000000000..6eeacc9727 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_3_4_3-solution000004.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_3_4_3-solution000005.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_3_4_3-solution000005.solution new file mode 100644 index 0000000000..560dd0f2f7 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_3_4_3-solution000005.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 3, 4} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_3_4_3-solution000006.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_3_4_3-solution000006.solution new file mode 100644 index 0000000000..40f3fd5c8f --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_3_4_3-solution000006.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {2, 3, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_3_4_3-solution000007.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_3_4_3-solution000007.solution new file mode 100644 index 0000000000..bd956f44e3 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_3_4_3-solution000007.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 3, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_3_4_3.eprime b/tests/exhaustive/basic/comprehension_letting/expected/model_3_4_3.eprime new file mode 100644 index 0000000000..0a797c0a81 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_3_4_3.eprime @@ -0,0 +1,98 @@ +language ESSENCE' 1.0 + +find s_ExplicitVarSizeWithMarker_Marker: int(0..4) +find s_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +find s_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find s_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +letting let1 be -100 +find x: int(-100..100) +find conjure_aux1: int(-16..3) +branching on + [s_ExplicitVarSizeWithFlags_Flags, s_ExplicitVarSizeWithFlags_Values, s_ExplicitVarSizeWithMarker_Marker, + s_ExplicitVarSizeWithMarker_Values, x] +such that + and([and([q17 <= s_ExplicitVarSizeWithMarker_Marker, s_ExplicitVarSizeWithFlags_Flags[q18], + s_ExplicitVarSizeWithMarker_Values[q17] != s_ExplicitVarSizeWithFlags_Values[q18], + allDiff([s_ExplicitVarSizeWithMarker_Values[q17] + s_ExplicitVarSizeWithFlags_Values[q18], + s_ExplicitVarSizeWithMarker_Values[q17] * s_ExplicitVarSizeWithFlags_Values[q18], + s_ExplicitVarSizeWithMarker_Values[q17] / s_ExplicitVarSizeWithFlags_Values[q18]; + int(1..3)]), + (s_ExplicitVarSizeWithMarker_Values[q17] - s_ExplicitVarSizeWithFlags_Values[q18]) % 2 = 0; + int(1..5)]) + -> + min([s_ExplicitVarSizeWithMarker_Values[q17] + s_ExplicitVarSizeWithFlags_Values[q18], + s_ExplicitVarSizeWithMarker_Values[q17] - s_ExplicitVarSizeWithFlags_Values[q18], + s_ExplicitVarSizeWithMarker_Values[q17] * s_ExplicitVarSizeWithFlags_Values[q18], + s_ExplicitVarSizeWithMarker_Values[q17] / s_ExplicitVarSizeWithFlags_Values[q18]; + int(1..4)]) + <= conjure_aux1 + | q17 : int(1..4), q18 : int(1..4)]), + sum([toInt(and([q17 <= s_ExplicitVarSizeWithMarker_Marker, s_ExplicitVarSizeWithFlags_Flags[q18], + s_ExplicitVarSizeWithMarker_Values[q17] != s_ExplicitVarSizeWithFlags_Values[q18], + allDiff([s_ExplicitVarSizeWithMarker_Values[q17] + s_ExplicitVarSizeWithFlags_Values[q18], + s_ExplicitVarSizeWithMarker_Values[q17] * s_ExplicitVarSizeWithFlags_Values[q18], + s_ExplicitVarSizeWithMarker_Values[q17] / s_ExplicitVarSizeWithFlags_Values[q18]; + int(1..3)]), + (s_ExplicitVarSizeWithMarker_Values[q17] - s_ExplicitVarSizeWithFlags_Values[q18]) % 2 = 0; + int(1..5)])) + | q17 : int(1..4), q18 : int(1..4)]) + > 0 + -> + or([and([q17 <= s_ExplicitVarSizeWithMarker_Marker, s_ExplicitVarSizeWithFlags_Flags[q18], + s_ExplicitVarSizeWithMarker_Values[q17] != s_ExplicitVarSizeWithFlags_Values[q18], + allDiff([s_ExplicitVarSizeWithMarker_Values[q17] + s_ExplicitVarSizeWithFlags_Values[q18], + s_ExplicitVarSizeWithMarker_Values[q17] * s_ExplicitVarSizeWithFlags_Values[q18], + s_ExplicitVarSizeWithMarker_Values[q17] / s_ExplicitVarSizeWithFlags_Values[q18]; + int(1..3)]), + (s_ExplicitVarSizeWithMarker_Values[q17] - s_ExplicitVarSizeWithFlags_Values[q18]) % 2 = 0; + int(1..5)]) + /\ + min([s_ExplicitVarSizeWithMarker_Values[q17] + s_ExplicitVarSizeWithFlags_Values[q18], + s_ExplicitVarSizeWithMarker_Values[q17] - s_ExplicitVarSizeWithFlags_Values[q18], + s_ExplicitVarSizeWithMarker_Values[q17] * s_ExplicitVarSizeWithFlags_Values[q18], + s_ExplicitVarSizeWithMarker_Values[q17] / s_ExplicitVarSizeWithFlags_Values[q18]; + int(1..4)]) + = conjure_aux1 + | q17 : int(1..4), q18 : int(1..4)]), + sum([toInt(and([q17 <= s_ExplicitVarSizeWithMarker_Marker, s_ExplicitVarSizeWithFlags_Flags[q18], + s_ExplicitVarSizeWithMarker_Values[q17] != s_ExplicitVarSizeWithFlags_Values[q18], + allDiff([s_ExplicitVarSizeWithMarker_Values[q17] + s_ExplicitVarSizeWithFlags_Values[q18], + s_ExplicitVarSizeWithMarker_Values[q17] * s_ExplicitVarSizeWithFlags_Values[q18], + s_ExplicitVarSizeWithMarker_Values[q17] / s_ExplicitVarSizeWithFlags_Values[q18]; + int(1..3)]), + (s_ExplicitVarSizeWithMarker_Values[q17] - s_ExplicitVarSizeWithFlags_Values[q18]) % 2 = 0; + int(1..5)])) + | q17 : int(1..4), q18 : int(1..4)]) + = 0 + -> conjure_aux1 = -16, + x = conjure_aux1, + sum([toInt(and([q17 <= s_ExplicitVarSizeWithMarker_Marker, s_ExplicitVarSizeWithFlags_Flags[q18], + s_ExplicitVarSizeWithMarker_Values[q17] != s_ExplicitVarSizeWithFlags_Values[q18], + allDiff([s_ExplicitVarSizeWithMarker_Values[q17] + s_ExplicitVarSizeWithFlags_Values[q18], + s_ExplicitVarSizeWithMarker_Values[q17] * s_ExplicitVarSizeWithFlags_Values[q18], + s_ExplicitVarSizeWithMarker_Values[q17] / s_ExplicitVarSizeWithFlags_Values[q18]; + int(1..3)]), + (s_ExplicitVarSizeWithMarker_Values[q17] - s_ExplicitVarSizeWithFlags_Values[q18]) % 2 = 0; + int(1..5)])) + | q17 : int(1..4), q18 : int(1..4)]) + > 0, + and([q1 + 1 <= s_ExplicitVarSizeWithMarker_Marker -> + s_ExplicitVarSizeWithMarker_Values[q1] < s_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..3)]), + and([q2 > s_ExplicitVarSizeWithMarker_Marker -> s_ExplicitVarSizeWithMarker_Values[q2] = 1 | q2 : int(1..4)]), + and([s_ExplicitVarSizeWithFlags_Flags[q4 + 1] -> + s_ExplicitVarSizeWithFlags_Values[q4] < s_ExplicitVarSizeWithFlags_Values[q4 + 1] + | q4 : int(1..3)]), + and([s_ExplicitVarSizeWithFlags_Flags[q5] = false -> s_ExplicitVarSizeWithFlags_Values[q5] = 1 | q5 : int(1..4)]), + and([s_ExplicitVarSizeWithFlags_Flags[q6 + 1] -> s_ExplicitVarSizeWithFlags_Flags[q6] | q6 : int(1..3)]), + and([s_ExplicitVarSizeWithFlags_Flags[q10] -> + or([q12 <= s_ExplicitVarSizeWithMarker_Marker /\ + s_ExplicitVarSizeWithMarker_Values[q12] = s_ExplicitVarSizeWithFlags_Values[q10] + | q12 : int(1..4)]) + | q10 : int(1..4)]), + and([q14 <= s_ExplicitVarSizeWithMarker_Marker -> + or([s_ExplicitVarSizeWithFlags_Flags[q16] /\ + s_ExplicitVarSizeWithFlags_Values[q16] = s_ExplicitVarSizeWithMarker_Values[q14] + | q16 : int(1..4)]) + | q14 : int(1..4)]) + diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_4_1_1-solution000001.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_4_1_1-solution000001.solution new file mode 100644 index 0000000000..159a613983 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_4_1_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {2, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_4_1_1-solution000002.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_4_1_1-solution000002.solution new file mode 100644 index 0000000000..40f3fd5c8f --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_4_1_1-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {2, 3, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_4_1_1-solution000003.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_4_1_1-solution000003.solution new file mode 100644 index 0000000000..8b4ecbb66d --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_4_1_1-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 3} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_4_1_1-solution000004.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_4_1_1-solution000004.solution new file mode 100644 index 0000000000..560dd0f2f7 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_4_1_1-solution000004.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 3, 4} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_4_1_1-solution000005.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_4_1_1-solution000005.solution new file mode 100644 index 0000000000..6eeacc9727 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_4_1_1-solution000005.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_4_1_1-solution000006.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_4_1_1-solution000006.solution new file mode 100644 index 0000000000..5963aac565 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_4_1_1-solution000006.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 3} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_4_1_1-solution000007.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_4_1_1-solution000007.solution new file mode 100644 index 0000000000..bd956f44e3 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_4_1_1-solution000007.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 3, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_4_1_1.eprime b/tests/exhaustive/basic/comprehension_letting/expected/model_4_1_1.eprime new file mode 100644 index 0000000000..adcf0207b3 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_4_1_1.eprime @@ -0,0 +1,72 @@ +language ESSENCE' 1.0 + +find s_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find s_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +find s_Occurrence: matrix indexed by [int(1..4)] of bool +letting let1 be -100 +find x: int(-100..100) +find conjure_aux1: int(-16..3) +branching on [s_Occurrence, s_ExplicitVarSizeWithFlags_Flags, s_ExplicitVarSizeWithFlags_Values, x] +such that + and([and([s_ExplicitVarSizeWithFlags_Flags[q12], s_Occurrence[j], s_ExplicitVarSizeWithFlags_Values[q12] != j, + allDiff([s_ExplicitVarSizeWithFlags_Values[q12] + j, s_ExplicitVarSizeWithFlags_Values[q12] * j, + s_ExplicitVarSizeWithFlags_Values[q12] / j; + int(1..3)]), + (s_ExplicitVarSizeWithFlags_Values[q12] - j) % 2 = 0; + int(1..5)]) + -> + min([s_ExplicitVarSizeWithFlags_Values[q12] + j, s_ExplicitVarSizeWithFlags_Values[q12] - j, + s_ExplicitVarSizeWithFlags_Values[q12] * j, s_ExplicitVarSizeWithFlags_Values[q12] / j; + int(1..4)]) + <= conjure_aux1 + | q12 : int(1..4), j : int(1..4)]), + sum([toInt(and([s_ExplicitVarSizeWithFlags_Flags[q12], s_Occurrence[j], s_ExplicitVarSizeWithFlags_Values[q12] != j, + allDiff([s_ExplicitVarSizeWithFlags_Values[q12] + j, s_ExplicitVarSizeWithFlags_Values[q12] * j, + s_ExplicitVarSizeWithFlags_Values[q12] / j; + int(1..3)]), + (s_ExplicitVarSizeWithFlags_Values[q12] - j) % 2 = 0; + int(1..5)])) + | q12 : int(1..4), j : int(1..4)]) + > 0 + -> + or([and([s_ExplicitVarSizeWithFlags_Flags[q12], s_Occurrence[j], s_ExplicitVarSizeWithFlags_Values[q12] != j, + allDiff([s_ExplicitVarSizeWithFlags_Values[q12] + j, s_ExplicitVarSizeWithFlags_Values[q12] * j, + s_ExplicitVarSizeWithFlags_Values[q12] / j; + int(1..3)]), + (s_ExplicitVarSizeWithFlags_Values[q12] - j) % 2 = 0; + int(1..5)]) + /\ + min([s_ExplicitVarSizeWithFlags_Values[q12] + j, s_ExplicitVarSizeWithFlags_Values[q12] - j, + s_ExplicitVarSizeWithFlags_Values[q12] * j, s_ExplicitVarSizeWithFlags_Values[q12] / j; + int(1..4)]) + = conjure_aux1 + | q12 : int(1..4), j : int(1..4)]), + sum([toInt(and([s_ExplicitVarSizeWithFlags_Flags[q12], s_Occurrence[j], s_ExplicitVarSizeWithFlags_Values[q12] != j, + allDiff([s_ExplicitVarSizeWithFlags_Values[q12] + j, s_ExplicitVarSizeWithFlags_Values[q12] * j, + s_ExplicitVarSizeWithFlags_Values[q12] / j; + int(1..3)]), + (s_ExplicitVarSizeWithFlags_Values[q12] - j) % 2 = 0; + int(1..5)])) + | q12 : int(1..4), j : int(1..4)]) + = 0 + -> conjure_aux1 = -16, + x = conjure_aux1, + sum([toInt(and([s_ExplicitVarSizeWithFlags_Flags[q12], s_Occurrence[j], s_ExplicitVarSizeWithFlags_Values[q12] != j, + allDiff([s_ExplicitVarSizeWithFlags_Values[q12] + j, s_ExplicitVarSizeWithFlags_Values[q12] * j, + s_ExplicitVarSizeWithFlags_Values[q12] / j; + int(1..3)]), + (s_ExplicitVarSizeWithFlags_Values[q12] - j) % 2 = 0; + int(1..5)])) + | q12 : int(1..4), j : int(1..4)]) + > 0, + and([s_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + s_ExplicitVarSizeWithFlags_Values[q1] < s_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..3)]), + and([s_ExplicitVarSizeWithFlags_Flags[q2] = false -> s_ExplicitVarSizeWithFlags_Values[q2] = 1 | q2 : int(1..4)]), + and([s_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> s_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..3)]), + and([s_Occurrence[q7] -> + or([s_ExplicitVarSizeWithFlags_Flags[q9] /\ s_ExplicitVarSizeWithFlags_Values[q9] = q7 | q9 : int(1..4)]) + | q7 : int(1..4)]), + and([s_ExplicitVarSizeWithFlags_Flags[q11] -> s_Occurrence[s_ExplicitVarSizeWithFlags_Values[q11]] + | q11 : int(1..4)]) + diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_4_1_2-solution000001.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_4_1_2-solution000001.solution new file mode 100644 index 0000000000..bd956f44e3 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_4_1_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 3, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_4_1_2-solution000002.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_4_1_2-solution000002.solution new file mode 100644 index 0000000000..5963aac565 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_4_1_2-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 3} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_4_1_2-solution000003.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_4_1_2-solution000003.solution new file mode 100644 index 0000000000..6eeacc9727 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_4_1_2-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_4_1_2-solution000004.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_4_1_2-solution000004.solution new file mode 100644 index 0000000000..560dd0f2f7 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_4_1_2-solution000004.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 3, 4} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_4_1_2-solution000005.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_4_1_2-solution000005.solution new file mode 100644 index 0000000000..8b4ecbb66d --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_4_1_2-solution000005.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 3} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_4_1_2-solution000006.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_4_1_2-solution000006.solution new file mode 100644 index 0000000000..40f3fd5c8f --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_4_1_2-solution000006.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {2, 3, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_4_1_2-solution000007.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_4_1_2-solution000007.solution new file mode 100644 index 0000000000..159a613983 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_4_1_2-solution000007.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {2, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_4_1_2.eprime b/tests/exhaustive/basic/comprehension_letting/expected/model_4_1_2.eprime new file mode 100644 index 0000000000..9f5ba038eb --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_4_1_2.eprime @@ -0,0 +1,91 @@ +language ESSENCE' 1.0 + +find s_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find s_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +find s_Occurrence: matrix indexed by [int(1..4)] of bool +find s_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +letting let1 be -100 +find x: int(-100..100) +find conjure_aux1: int(-16..3) +branching on + [s_ExplicitVarSizeWithDummy, s_ExplicitVarSizeWithFlags_Flags, s_ExplicitVarSizeWithFlags_Values, s_Occurrence, x] +such that + and([and([s_ExplicitVarSizeWithFlags_Flags[q29], s_Occurrence[j], s_ExplicitVarSizeWithFlags_Values[q29] != j, + allDiff([s_ExplicitVarSizeWithFlags_Values[q29] + j, s_ExplicitVarSizeWithFlags_Values[q29] * j, + s_ExplicitVarSizeWithFlags_Values[q29] / j; + int(1..3)]), + (s_ExplicitVarSizeWithFlags_Values[q29] - j) % 2 = 0; + int(1..5)]) + -> + min([s_ExplicitVarSizeWithFlags_Values[q29] + j, s_ExplicitVarSizeWithFlags_Values[q29] - j, + s_ExplicitVarSizeWithFlags_Values[q29] * j, s_ExplicitVarSizeWithFlags_Values[q29] / j; + int(1..4)]) + <= conjure_aux1 + | q29 : int(1..4), j : int(1..4)]), + sum([toInt(and([s_ExplicitVarSizeWithFlags_Flags[q29], s_Occurrence[j], s_ExplicitVarSizeWithFlags_Values[q29] != j, + allDiff([s_ExplicitVarSizeWithFlags_Values[q29] + j, s_ExplicitVarSizeWithFlags_Values[q29] * j, + s_ExplicitVarSizeWithFlags_Values[q29] / j; + int(1..3)]), + (s_ExplicitVarSizeWithFlags_Values[q29] - j) % 2 = 0; + int(1..5)])) + | q29 : int(1..4), j : int(1..4)]) + > 0 + -> + or([and([s_ExplicitVarSizeWithFlags_Flags[q29], s_Occurrence[j], s_ExplicitVarSizeWithFlags_Values[q29] != j, + allDiff([s_ExplicitVarSizeWithFlags_Values[q29] + j, s_ExplicitVarSizeWithFlags_Values[q29] * j, + s_ExplicitVarSizeWithFlags_Values[q29] / j; + int(1..3)]), + (s_ExplicitVarSizeWithFlags_Values[q29] - j) % 2 = 0; + int(1..5)]) + /\ + min([s_ExplicitVarSizeWithFlags_Values[q29] + j, s_ExplicitVarSizeWithFlags_Values[q29] - j, + s_ExplicitVarSizeWithFlags_Values[q29] * j, s_ExplicitVarSizeWithFlags_Values[q29] / j; + int(1..4)]) + = conjure_aux1 + | q29 : int(1..4), j : int(1..4)]), + sum([toInt(and([s_ExplicitVarSizeWithFlags_Flags[q29], s_Occurrence[j], s_ExplicitVarSizeWithFlags_Values[q29] != j, + allDiff([s_ExplicitVarSizeWithFlags_Values[q29] + j, s_ExplicitVarSizeWithFlags_Values[q29] * j, + s_ExplicitVarSizeWithFlags_Values[q29] / j; + int(1..3)]), + (s_ExplicitVarSizeWithFlags_Values[q29] - j) % 2 = 0; + int(1..5)])) + | q29 : int(1..4), j : int(1..4)]) + = 0 + -> conjure_aux1 = -16, + x = conjure_aux1, + sum([toInt(and([s_ExplicitVarSizeWithFlags_Flags[q29], s_Occurrence[j], s_ExplicitVarSizeWithFlags_Values[q29] != j, + allDiff([s_ExplicitVarSizeWithFlags_Values[q29] + j, s_ExplicitVarSizeWithFlags_Values[q29] * j, + s_ExplicitVarSizeWithFlags_Values[q29] / j; + int(1..3)]), + (s_ExplicitVarSizeWithFlags_Values[q29] - j) % 2 = 0; + int(1..5)])) + | q29 : int(1..4), j : int(1..4)]) + > 0, + and([s_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + s_ExplicitVarSizeWithFlags_Values[q1] < s_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..3)]), + and([s_ExplicitVarSizeWithFlags_Flags[q2] = false -> s_ExplicitVarSizeWithFlags_Values[q2] = 1 | q2 : int(1..4)]), + and([s_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> s_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..3)]), + and([s_Occurrence[q24] -> + or([s_ExplicitVarSizeWithFlags_Flags[q26] /\ s_ExplicitVarSizeWithFlags_Values[q26] = q24 | q26 : int(1..4)]) + | q24 : int(1..4)]), + and([s_ExplicitVarSizeWithFlags_Flags[q28] -> s_Occurrence[s_ExplicitVarSizeWithFlags_Values[q28]] + | q28 : int(1..4)]), + and([s_ExplicitVarSizeWithDummy[q7] < s_ExplicitVarSizeWithDummy[q7 + 1] \/ s_ExplicitVarSizeWithDummy[q7] = 5 + | q7 : int(1..3)]), + and([s_ExplicitVarSizeWithDummy[q8] = 5 -> s_ExplicitVarSizeWithDummy[q8 + 1] = 5 | q8 : int(1..3)]), + and([s_ExplicitVarSizeWithDummy[q12] != 5 -> + or([s_ExplicitVarSizeWithFlags_Flags[q14] /\ + s_ExplicitVarSizeWithFlags_Values[q14] = s_ExplicitVarSizeWithDummy[q12] + | q14 : int(1..4)]) + | q12 : int(1..4)]), + and([s_ExplicitVarSizeWithFlags_Flags[q16] -> + or([s_ExplicitVarSizeWithDummy[q18] != 5 /\ + s_ExplicitVarSizeWithDummy[q18] = s_ExplicitVarSizeWithFlags_Values[q16] + | q18 : int(1..4)]) + | q16 : int(1..4)]), + and([s_ExplicitVarSizeWithDummy[q20] != 5 -> s_Occurrence[s_ExplicitVarSizeWithDummy[q20]] | q20 : int(1..4)]), + and([s_Occurrence[q21] -> + or([s_ExplicitVarSizeWithDummy[q23] != 5 /\ s_ExplicitVarSizeWithDummy[q23] = q21 | q23 : int(1..4)]) + | q21 : int(1..4)]) + diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_4_1_3-solution000001.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_4_1_3-solution000001.solution new file mode 100644 index 0000000000..8b4ecbb66d --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_4_1_3-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 3} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_4_1_3-solution000002.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_4_1_3-solution000002.solution new file mode 100644 index 0000000000..159a613983 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_4_1_3-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {2, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_4_1_3-solution000003.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_4_1_3-solution000003.solution new file mode 100644 index 0000000000..5963aac565 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_4_1_3-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 3} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_4_1_3-solution000004.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_4_1_3-solution000004.solution new file mode 100644 index 0000000000..6eeacc9727 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_4_1_3-solution000004.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_4_1_3-solution000005.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_4_1_3-solution000005.solution new file mode 100644 index 0000000000..560dd0f2f7 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_4_1_3-solution000005.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 3, 4} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_4_1_3-solution000006.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_4_1_3-solution000006.solution new file mode 100644 index 0000000000..40f3fd5c8f --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_4_1_3-solution000006.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {2, 3, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_4_1_3-solution000007.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_4_1_3-solution000007.solution new file mode 100644 index 0000000000..bd956f44e3 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_4_1_3-solution000007.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 3, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_4_1_3.eprime b/tests/exhaustive/basic/comprehension_letting/expected/model_4_1_3.eprime new file mode 100644 index 0000000000..d6762cf6f5 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_4_1_3.eprime @@ -0,0 +1,96 @@ +language ESSENCE' 1.0 + +find s_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find s_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +find s_Occurrence: matrix indexed by [int(1..4)] of bool +find s_ExplicitVarSizeWithMarker_Marker: int(0..4) +find s_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +letting let1 be -100 +find x: int(-100..100) +find conjure_aux1: int(-16..3) +branching on + [s_ExplicitVarSizeWithMarker_Marker, s_ExplicitVarSizeWithMarker_Values, s_ExplicitVarSizeWithFlags_Flags, + s_ExplicitVarSizeWithFlags_Values, s_Occurrence, x] +such that + and([and([s_ExplicitVarSizeWithFlags_Flags[q28], s_Occurrence[j], s_ExplicitVarSizeWithFlags_Values[q28] != j, + allDiff([s_ExplicitVarSizeWithFlags_Values[q28] + j, s_ExplicitVarSizeWithFlags_Values[q28] * j, + s_ExplicitVarSizeWithFlags_Values[q28] / j; + int(1..3)]), + (s_ExplicitVarSizeWithFlags_Values[q28] - j) % 2 = 0; + int(1..5)]) + -> + min([s_ExplicitVarSizeWithFlags_Values[q28] + j, s_ExplicitVarSizeWithFlags_Values[q28] - j, + s_ExplicitVarSizeWithFlags_Values[q28] * j, s_ExplicitVarSizeWithFlags_Values[q28] / j; + int(1..4)]) + <= conjure_aux1 + | q28 : int(1..4), j : int(1..4)]), + sum([toInt(and([s_ExplicitVarSizeWithFlags_Flags[q28], s_Occurrence[j], s_ExplicitVarSizeWithFlags_Values[q28] != j, + allDiff([s_ExplicitVarSizeWithFlags_Values[q28] + j, s_ExplicitVarSizeWithFlags_Values[q28] * j, + s_ExplicitVarSizeWithFlags_Values[q28] / j; + int(1..3)]), + (s_ExplicitVarSizeWithFlags_Values[q28] - j) % 2 = 0; + int(1..5)])) + | q28 : int(1..4), j : int(1..4)]) + > 0 + -> + or([and([s_ExplicitVarSizeWithFlags_Flags[q28], s_Occurrence[j], s_ExplicitVarSizeWithFlags_Values[q28] != j, + allDiff([s_ExplicitVarSizeWithFlags_Values[q28] + j, s_ExplicitVarSizeWithFlags_Values[q28] * j, + s_ExplicitVarSizeWithFlags_Values[q28] / j; + int(1..3)]), + (s_ExplicitVarSizeWithFlags_Values[q28] - j) % 2 = 0; + int(1..5)]) + /\ + min([s_ExplicitVarSizeWithFlags_Values[q28] + j, s_ExplicitVarSizeWithFlags_Values[q28] - j, + s_ExplicitVarSizeWithFlags_Values[q28] * j, s_ExplicitVarSizeWithFlags_Values[q28] / j; + int(1..4)]) + = conjure_aux1 + | q28 : int(1..4), j : int(1..4)]), + sum([toInt(and([s_ExplicitVarSizeWithFlags_Flags[q28], s_Occurrence[j], s_ExplicitVarSizeWithFlags_Values[q28] != j, + allDiff([s_ExplicitVarSizeWithFlags_Values[q28] + j, s_ExplicitVarSizeWithFlags_Values[q28] * j, + s_ExplicitVarSizeWithFlags_Values[q28] / j; + int(1..3)]), + (s_ExplicitVarSizeWithFlags_Values[q28] - j) % 2 = 0; + int(1..5)])) + | q28 : int(1..4), j : int(1..4)]) + = 0 + -> conjure_aux1 = -16, + x = conjure_aux1, + sum([toInt(and([s_ExplicitVarSizeWithFlags_Flags[q28], s_Occurrence[j], s_ExplicitVarSizeWithFlags_Values[q28] != j, + allDiff([s_ExplicitVarSizeWithFlags_Values[q28] + j, s_ExplicitVarSizeWithFlags_Values[q28] * j, + s_ExplicitVarSizeWithFlags_Values[q28] / j; + int(1..3)]), + (s_ExplicitVarSizeWithFlags_Values[q28] - j) % 2 = 0; + int(1..5)])) + | q28 : int(1..4), j : int(1..4)]) + > 0, + and([s_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + s_ExplicitVarSizeWithFlags_Values[q1] < s_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..3)]), + and([s_ExplicitVarSizeWithFlags_Flags[q2] = false -> s_ExplicitVarSizeWithFlags_Values[q2] = 1 | q2 : int(1..4)]), + and([s_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> s_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..3)]), + and([s_Occurrence[q23] -> + or([s_ExplicitVarSizeWithFlags_Flags[q25] /\ s_ExplicitVarSizeWithFlags_Values[q25] = q23 | q25 : int(1..4)]) + | q23 : int(1..4)]), + and([s_ExplicitVarSizeWithFlags_Flags[q27] -> s_Occurrence[s_ExplicitVarSizeWithFlags_Values[q27]] + | q27 : int(1..4)]), + and([q7 + 1 <= s_ExplicitVarSizeWithMarker_Marker -> + s_ExplicitVarSizeWithMarker_Values[q7] < s_ExplicitVarSizeWithMarker_Values[q7 + 1] + | q7 : int(1..3)]), + and([q8 > s_ExplicitVarSizeWithMarker_Marker -> s_ExplicitVarSizeWithMarker_Values[q8] = 1 | q8 : int(1..4)]), + and([q11 <= s_ExplicitVarSizeWithMarker_Marker -> + or([s_ExplicitVarSizeWithFlags_Flags[q13] /\ + s_ExplicitVarSizeWithFlags_Values[q13] = s_ExplicitVarSizeWithMarker_Values[q11] + | q13 : int(1..4)]) + | q11 : int(1..4)]), + and([s_ExplicitVarSizeWithFlags_Flags[q15] -> + or([q17 <= s_ExplicitVarSizeWithMarker_Marker /\ + s_ExplicitVarSizeWithMarker_Values[q17] = s_ExplicitVarSizeWithFlags_Values[q15] + | q17 : int(1..4)]) + | q15 : int(1..4)]), + and([q19 <= s_ExplicitVarSizeWithMarker_Marker -> s_Occurrence[s_ExplicitVarSizeWithMarker_Values[q19]] + | q19 : int(1..4)]), + and([s_Occurrence[q20] -> + or([q22 <= s_ExplicitVarSizeWithMarker_Marker /\ s_ExplicitVarSizeWithMarker_Values[q22] = q20 + | q22 : int(1..4)]) + | q20 : int(1..4)]) + diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_4_2_1-solution000001.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_4_2_1-solution000001.solution new file mode 100644 index 0000000000..159a613983 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_4_2_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {2, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_4_2_1-solution000002.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_4_2_1-solution000002.solution new file mode 100644 index 0000000000..40f3fd5c8f --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_4_2_1-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {2, 3, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_4_2_1-solution000003.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_4_2_1-solution000003.solution new file mode 100644 index 0000000000..8b4ecbb66d --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_4_2_1-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 3} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_4_2_1-solution000004.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_4_2_1-solution000004.solution new file mode 100644 index 0000000000..560dd0f2f7 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_4_2_1-solution000004.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 3, 4} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_4_2_1-solution000005.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_4_2_1-solution000005.solution new file mode 100644 index 0000000000..6eeacc9727 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_4_2_1-solution000005.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_4_2_1-solution000006.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_4_2_1-solution000006.solution new file mode 100644 index 0000000000..5963aac565 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_4_2_1-solution000006.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 3} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_4_2_1-solution000007.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_4_2_1-solution000007.solution new file mode 100644 index 0000000000..bd956f44e3 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_4_2_1-solution000007.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 3, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_4_2_1.eprime b/tests/exhaustive/basic/comprehension_letting/expected/model_4_2_1.eprime new file mode 100644 index 0000000000..30ab2bb7fb --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_4_2_1.eprime @@ -0,0 +1,105 @@ +language ESSENCE' 1.0 + +find s_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find s_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +find s_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +find s_Occurrence: matrix indexed by [int(1..4)] of bool +letting let1 be -100 +find x: int(-100..100) +find conjure_aux1: int(-20..3) +branching on + [s_Occurrence, s_ExplicitVarSizeWithFlags_Flags, s_ExplicitVarSizeWithFlags_Values, s_ExplicitVarSizeWithDummy, x] +such that + and([and([s_ExplicitVarSizeWithFlags_Flags[q29], s_ExplicitVarSizeWithDummy[q30] != 5, + s_ExplicitVarSizeWithFlags_Values[q29] != s_ExplicitVarSizeWithDummy[q30], + allDiff([s_ExplicitVarSizeWithFlags_Values[q29] + s_ExplicitVarSizeWithDummy[q30], + s_ExplicitVarSizeWithFlags_Values[q29] * s_ExplicitVarSizeWithDummy[q30], + s_ExplicitVarSizeWithFlags_Values[q29] / s_ExplicitVarSizeWithDummy[q30]; + int(1..3)]), + (s_ExplicitVarSizeWithFlags_Values[q29] - s_ExplicitVarSizeWithDummy[q30]) % 2 = 0; + int(1..5)]) + -> + min([s_ExplicitVarSizeWithFlags_Values[q29] + s_ExplicitVarSizeWithDummy[q30], + s_ExplicitVarSizeWithFlags_Values[q29] - s_ExplicitVarSizeWithDummy[q30], + s_ExplicitVarSizeWithFlags_Values[q29] * s_ExplicitVarSizeWithDummy[q30], + s_ExplicitVarSizeWithFlags_Values[q29] / s_ExplicitVarSizeWithDummy[q30]; + int(1..4)]) + <= conjure_aux1 + | q29 : int(1..4), q30 : int(1..4)]), + sum([toInt(and([s_ExplicitVarSizeWithFlags_Flags[q29], s_ExplicitVarSizeWithDummy[q30] != 5, + s_ExplicitVarSizeWithFlags_Values[q29] != s_ExplicitVarSizeWithDummy[q30], + allDiff([s_ExplicitVarSizeWithFlags_Values[q29] + s_ExplicitVarSizeWithDummy[q30], + s_ExplicitVarSizeWithFlags_Values[q29] * s_ExplicitVarSizeWithDummy[q30], + s_ExplicitVarSizeWithFlags_Values[q29] / s_ExplicitVarSizeWithDummy[q30]; + int(1..3)]), + (s_ExplicitVarSizeWithFlags_Values[q29] - s_ExplicitVarSizeWithDummy[q30]) % 2 = 0; + int(1..5)])) + | q29 : int(1..4), q30 : int(1..4)]) + > 0 + -> + or([and([s_ExplicitVarSizeWithFlags_Flags[q29], s_ExplicitVarSizeWithDummy[q30] != 5, + s_ExplicitVarSizeWithFlags_Values[q29] != s_ExplicitVarSizeWithDummy[q30], + allDiff([s_ExplicitVarSizeWithFlags_Values[q29] + s_ExplicitVarSizeWithDummy[q30], + s_ExplicitVarSizeWithFlags_Values[q29] * s_ExplicitVarSizeWithDummy[q30], + s_ExplicitVarSizeWithFlags_Values[q29] / s_ExplicitVarSizeWithDummy[q30]; + int(1..3)]), + (s_ExplicitVarSizeWithFlags_Values[q29] - s_ExplicitVarSizeWithDummy[q30]) % 2 = 0; + int(1..5)]) + /\ + min([s_ExplicitVarSizeWithFlags_Values[q29] + s_ExplicitVarSizeWithDummy[q30], + s_ExplicitVarSizeWithFlags_Values[q29] - s_ExplicitVarSizeWithDummy[q30], + s_ExplicitVarSizeWithFlags_Values[q29] * s_ExplicitVarSizeWithDummy[q30], + s_ExplicitVarSizeWithFlags_Values[q29] / s_ExplicitVarSizeWithDummy[q30]; + int(1..4)]) + = conjure_aux1 + | q29 : int(1..4), q30 : int(1..4)]), + sum([toInt(and([s_ExplicitVarSizeWithFlags_Flags[q29], s_ExplicitVarSizeWithDummy[q30] != 5, + s_ExplicitVarSizeWithFlags_Values[q29] != s_ExplicitVarSizeWithDummy[q30], + allDiff([s_ExplicitVarSizeWithFlags_Values[q29] + s_ExplicitVarSizeWithDummy[q30], + s_ExplicitVarSizeWithFlags_Values[q29] * s_ExplicitVarSizeWithDummy[q30], + s_ExplicitVarSizeWithFlags_Values[q29] / s_ExplicitVarSizeWithDummy[q30]; + int(1..3)]), + (s_ExplicitVarSizeWithFlags_Values[q29] - s_ExplicitVarSizeWithDummy[q30]) % 2 = 0; + int(1..5)])) + | q29 : int(1..4), q30 : int(1..4)]) + = 0 + -> conjure_aux1 = -20, + x = conjure_aux1, + sum([toInt(and([s_ExplicitVarSizeWithFlags_Flags[q29], s_ExplicitVarSizeWithDummy[q30] != 5, + s_ExplicitVarSizeWithFlags_Values[q29] != s_ExplicitVarSizeWithDummy[q30], + allDiff([s_ExplicitVarSizeWithFlags_Values[q29] + s_ExplicitVarSizeWithDummy[q30], + s_ExplicitVarSizeWithFlags_Values[q29] * s_ExplicitVarSizeWithDummy[q30], + s_ExplicitVarSizeWithFlags_Values[q29] / s_ExplicitVarSizeWithDummy[q30]; + int(1..3)]), + (s_ExplicitVarSizeWithFlags_Values[q29] - s_ExplicitVarSizeWithDummy[q30]) % 2 = 0; + int(1..5)])) + | q29 : int(1..4), q30 : int(1..4)]) + > 0, + and([s_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + s_ExplicitVarSizeWithFlags_Values[q1] < s_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..3)]), + and([s_ExplicitVarSizeWithFlags_Flags[q2] = false -> s_ExplicitVarSizeWithFlags_Values[q2] = 1 | q2 : int(1..4)]), + and([s_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> s_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..3)]), + and([s_ExplicitVarSizeWithDummy[q6] < s_ExplicitVarSizeWithDummy[q6 + 1] \/ s_ExplicitVarSizeWithDummy[q6] = 5 + | q6 : int(1..3)]), + and([s_ExplicitVarSizeWithDummy[q7] = 5 -> s_ExplicitVarSizeWithDummy[q7 + 1] = 5 | q7 : int(1..3)]), + and([s_ExplicitVarSizeWithDummy[q11] != 5 -> + or([s_ExplicitVarSizeWithFlags_Flags[q13] /\ + s_ExplicitVarSizeWithFlags_Values[q13] = s_ExplicitVarSizeWithDummy[q11] + | q13 : int(1..4)]) + | q11 : int(1..4)]), + and([s_ExplicitVarSizeWithFlags_Flags[q15] -> + or([s_ExplicitVarSizeWithDummy[q17] != 5 /\ + s_ExplicitVarSizeWithDummy[q17] = s_ExplicitVarSizeWithFlags_Values[q15] + | q17 : int(1..4)]) + | q15 : int(1..4)]), + and([s_Occurrence[q19] -> + or([s_ExplicitVarSizeWithFlags_Flags[q21] /\ s_ExplicitVarSizeWithFlags_Values[q21] = q19 | q21 : int(1..4)]) + | q19 : int(1..4)]), + and([s_ExplicitVarSizeWithFlags_Flags[q23] -> s_Occurrence[s_ExplicitVarSizeWithFlags_Values[q23]] + | q23 : int(1..4)]), + and([s_Occurrence[q24] -> + or([s_ExplicitVarSizeWithDummy[q26] != 5 /\ s_ExplicitVarSizeWithDummy[q26] = q24 | q26 : int(1..4)]) + | q24 : int(1..4)]), + and([s_ExplicitVarSizeWithDummy[q28] != 5 -> s_Occurrence[s_ExplicitVarSizeWithDummy[q28]] | q28 : int(1..4)]) + diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_4_2_2-solution000001.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_4_2_2-solution000001.solution new file mode 100644 index 0000000000..bd956f44e3 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_4_2_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 3, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_4_2_2-solution000002.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_4_2_2-solution000002.solution new file mode 100644 index 0000000000..5963aac565 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_4_2_2-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 3} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_4_2_2-solution000003.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_4_2_2-solution000003.solution new file mode 100644 index 0000000000..6eeacc9727 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_4_2_2-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_4_2_2-solution000004.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_4_2_2-solution000004.solution new file mode 100644 index 0000000000..560dd0f2f7 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_4_2_2-solution000004.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 3, 4} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_4_2_2-solution000005.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_4_2_2-solution000005.solution new file mode 100644 index 0000000000..8b4ecbb66d --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_4_2_2-solution000005.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 3} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_4_2_2-solution000006.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_4_2_2-solution000006.solution new file mode 100644 index 0000000000..40f3fd5c8f --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_4_2_2-solution000006.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {2, 3, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_4_2_2-solution000007.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_4_2_2-solution000007.solution new file mode 100644 index 0000000000..159a613983 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_4_2_2-solution000007.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {2, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_4_2_2.eprime b/tests/exhaustive/basic/comprehension_letting/expected/model_4_2_2.eprime new file mode 100644 index 0000000000..7d168cbf12 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_4_2_2.eprime @@ -0,0 +1,94 @@ +language ESSENCE' 1.0 + +find s_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find s_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +find s_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +letting let1 be -100 +find x: int(-100..100) +find conjure_aux1: int(-20..3) +branching on [s_ExplicitVarSizeWithDummy, s_ExplicitVarSizeWithFlags_Flags, s_ExplicitVarSizeWithFlags_Values, x] +such that + and([and([s_ExplicitVarSizeWithFlags_Flags[q18], s_ExplicitVarSizeWithDummy[q19] != 5, + s_ExplicitVarSizeWithFlags_Values[q18] != s_ExplicitVarSizeWithDummy[q19], + allDiff([s_ExplicitVarSizeWithFlags_Values[q18] + s_ExplicitVarSizeWithDummy[q19], + s_ExplicitVarSizeWithFlags_Values[q18] * s_ExplicitVarSizeWithDummy[q19], + s_ExplicitVarSizeWithFlags_Values[q18] / s_ExplicitVarSizeWithDummy[q19]; + int(1..3)]), + (s_ExplicitVarSizeWithFlags_Values[q18] - s_ExplicitVarSizeWithDummy[q19]) % 2 = 0; + int(1..5)]) + -> + min([s_ExplicitVarSizeWithFlags_Values[q18] + s_ExplicitVarSizeWithDummy[q19], + s_ExplicitVarSizeWithFlags_Values[q18] - s_ExplicitVarSizeWithDummy[q19], + s_ExplicitVarSizeWithFlags_Values[q18] * s_ExplicitVarSizeWithDummy[q19], + s_ExplicitVarSizeWithFlags_Values[q18] / s_ExplicitVarSizeWithDummy[q19]; + int(1..4)]) + <= conjure_aux1 + | q18 : int(1..4), q19 : int(1..4)]), + sum([toInt(and([s_ExplicitVarSizeWithFlags_Flags[q18], s_ExplicitVarSizeWithDummy[q19] != 5, + s_ExplicitVarSizeWithFlags_Values[q18] != s_ExplicitVarSizeWithDummy[q19], + allDiff([s_ExplicitVarSizeWithFlags_Values[q18] + s_ExplicitVarSizeWithDummy[q19], + s_ExplicitVarSizeWithFlags_Values[q18] * s_ExplicitVarSizeWithDummy[q19], + s_ExplicitVarSizeWithFlags_Values[q18] / s_ExplicitVarSizeWithDummy[q19]; + int(1..3)]), + (s_ExplicitVarSizeWithFlags_Values[q18] - s_ExplicitVarSizeWithDummy[q19]) % 2 = 0; + int(1..5)])) + | q18 : int(1..4), q19 : int(1..4)]) + > 0 + -> + or([and([s_ExplicitVarSizeWithFlags_Flags[q18], s_ExplicitVarSizeWithDummy[q19] != 5, + s_ExplicitVarSizeWithFlags_Values[q18] != s_ExplicitVarSizeWithDummy[q19], + allDiff([s_ExplicitVarSizeWithFlags_Values[q18] + s_ExplicitVarSizeWithDummy[q19], + s_ExplicitVarSizeWithFlags_Values[q18] * s_ExplicitVarSizeWithDummy[q19], + s_ExplicitVarSizeWithFlags_Values[q18] / s_ExplicitVarSizeWithDummy[q19]; + int(1..3)]), + (s_ExplicitVarSizeWithFlags_Values[q18] - s_ExplicitVarSizeWithDummy[q19]) % 2 = 0; + int(1..5)]) + /\ + min([s_ExplicitVarSizeWithFlags_Values[q18] + s_ExplicitVarSizeWithDummy[q19], + s_ExplicitVarSizeWithFlags_Values[q18] - s_ExplicitVarSizeWithDummy[q19], + s_ExplicitVarSizeWithFlags_Values[q18] * s_ExplicitVarSizeWithDummy[q19], + s_ExplicitVarSizeWithFlags_Values[q18] / s_ExplicitVarSizeWithDummy[q19]; + int(1..4)]) + = conjure_aux1 + | q18 : int(1..4), q19 : int(1..4)]), + sum([toInt(and([s_ExplicitVarSizeWithFlags_Flags[q18], s_ExplicitVarSizeWithDummy[q19] != 5, + s_ExplicitVarSizeWithFlags_Values[q18] != s_ExplicitVarSizeWithDummy[q19], + allDiff([s_ExplicitVarSizeWithFlags_Values[q18] + s_ExplicitVarSizeWithDummy[q19], + s_ExplicitVarSizeWithFlags_Values[q18] * s_ExplicitVarSizeWithDummy[q19], + s_ExplicitVarSizeWithFlags_Values[q18] / s_ExplicitVarSizeWithDummy[q19]; + int(1..3)]), + (s_ExplicitVarSizeWithFlags_Values[q18] - s_ExplicitVarSizeWithDummy[q19]) % 2 = 0; + int(1..5)])) + | q18 : int(1..4), q19 : int(1..4)]) + = 0 + -> conjure_aux1 = -20, + x = conjure_aux1, + sum([toInt(and([s_ExplicitVarSizeWithFlags_Flags[q18], s_ExplicitVarSizeWithDummy[q19] != 5, + s_ExplicitVarSizeWithFlags_Values[q18] != s_ExplicitVarSizeWithDummy[q19], + allDiff([s_ExplicitVarSizeWithFlags_Values[q18] + s_ExplicitVarSizeWithDummy[q19], + s_ExplicitVarSizeWithFlags_Values[q18] * s_ExplicitVarSizeWithDummy[q19], + s_ExplicitVarSizeWithFlags_Values[q18] / s_ExplicitVarSizeWithDummy[q19]; + int(1..3)]), + (s_ExplicitVarSizeWithFlags_Values[q18] - s_ExplicitVarSizeWithDummy[q19]) % 2 = 0; + int(1..5)])) + | q18 : int(1..4), q19 : int(1..4)]) + > 0, + and([s_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + s_ExplicitVarSizeWithFlags_Values[q1] < s_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..3)]), + and([s_ExplicitVarSizeWithFlags_Flags[q2] = false -> s_ExplicitVarSizeWithFlags_Values[q2] = 1 | q2 : int(1..4)]), + and([s_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> s_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..3)]), + and([s_ExplicitVarSizeWithDummy[q6] < s_ExplicitVarSizeWithDummy[q6 + 1] \/ s_ExplicitVarSizeWithDummy[q6] = 5 + | q6 : int(1..3)]), + and([s_ExplicitVarSizeWithDummy[q7] = 5 -> s_ExplicitVarSizeWithDummy[q7 + 1] = 5 | q7 : int(1..3)]), + and([s_ExplicitVarSizeWithDummy[q11] != 5 -> + or([s_ExplicitVarSizeWithFlags_Flags[q13] /\ + s_ExplicitVarSizeWithFlags_Values[q13] = s_ExplicitVarSizeWithDummy[q11] + | q13 : int(1..4)]) + | q11 : int(1..4)]), + and([s_ExplicitVarSizeWithFlags_Flags[q15] -> + or([s_ExplicitVarSizeWithDummy[q17] != 5 /\ + s_ExplicitVarSizeWithDummy[q17] = s_ExplicitVarSizeWithFlags_Values[q15] + | q17 : int(1..4)]) + | q15 : int(1..4)]) + diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_4_2_3-solution000001.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_4_2_3-solution000001.solution new file mode 100644 index 0000000000..8b4ecbb66d --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_4_2_3-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 3} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_4_2_3-solution000002.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_4_2_3-solution000002.solution new file mode 100644 index 0000000000..159a613983 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_4_2_3-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {2, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_4_2_3-solution000003.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_4_2_3-solution000003.solution new file mode 100644 index 0000000000..5963aac565 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_4_2_3-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 3} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_4_2_3-solution000004.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_4_2_3-solution000004.solution new file mode 100644 index 0000000000..6eeacc9727 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_4_2_3-solution000004.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_4_2_3-solution000005.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_4_2_3-solution000005.solution new file mode 100644 index 0000000000..560dd0f2f7 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_4_2_3-solution000005.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 3, 4} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_4_2_3-solution000006.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_4_2_3-solution000006.solution new file mode 100644 index 0000000000..40f3fd5c8f --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_4_2_3-solution000006.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {2, 3, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_4_2_3-solution000007.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_4_2_3-solution000007.solution new file mode 100644 index 0000000000..bd956f44e3 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_4_2_3-solution000007.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 3, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_4_2_3.eprime b/tests/exhaustive/basic/comprehension_letting/expected/model_4_2_3.eprime new file mode 100644 index 0000000000..ba3742175a --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_4_2_3.eprime @@ -0,0 +1,122 @@ +language ESSENCE' 1.0 + +find s_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find s_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +find s_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +find s_ExplicitVarSizeWithMarker_Marker: int(0..4) +find s_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +letting let1 be -100 +find x: int(-100..100) +find conjure_aux1: int(-20..3) +branching on + [s_ExplicitVarSizeWithMarker_Marker, s_ExplicitVarSizeWithMarker_Values, s_ExplicitVarSizeWithFlags_Flags, + s_ExplicitVarSizeWithFlags_Values, s_ExplicitVarSizeWithDummy, x] +such that + and([and([s_ExplicitVarSizeWithFlags_Flags[q37], s_ExplicitVarSizeWithDummy[q38] != 5, + s_ExplicitVarSizeWithFlags_Values[q37] != s_ExplicitVarSizeWithDummy[q38], + allDiff([s_ExplicitVarSizeWithFlags_Values[q37] + s_ExplicitVarSizeWithDummy[q38], + s_ExplicitVarSizeWithFlags_Values[q37] * s_ExplicitVarSizeWithDummy[q38], + s_ExplicitVarSizeWithFlags_Values[q37] / s_ExplicitVarSizeWithDummy[q38]; + int(1..3)]), + (s_ExplicitVarSizeWithFlags_Values[q37] - s_ExplicitVarSizeWithDummy[q38]) % 2 = 0; + int(1..5)]) + -> + min([s_ExplicitVarSizeWithFlags_Values[q37] + s_ExplicitVarSizeWithDummy[q38], + s_ExplicitVarSizeWithFlags_Values[q37] - s_ExplicitVarSizeWithDummy[q38], + s_ExplicitVarSizeWithFlags_Values[q37] * s_ExplicitVarSizeWithDummy[q38], + s_ExplicitVarSizeWithFlags_Values[q37] / s_ExplicitVarSizeWithDummy[q38]; + int(1..4)]) + <= conjure_aux1 + | q37 : int(1..4), q38 : int(1..4)]), + sum([toInt(and([s_ExplicitVarSizeWithFlags_Flags[q37], s_ExplicitVarSizeWithDummy[q38] != 5, + s_ExplicitVarSizeWithFlags_Values[q37] != s_ExplicitVarSizeWithDummy[q38], + allDiff([s_ExplicitVarSizeWithFlags_Values[q37] + s_ExplicitVarSizeWithDummy[q38], + s_ExplicitVarSizeWithFlags_Values[q37] * s_ExplicitVarSizeWithDummy[q38], + s_ExplicitVarSizeWithFlags_Values[q37] / s_ExplicitVarSizeWithDummy[q38]; + int(1..3)]), + (s_ExplicitVarSizeWithFlags_Values[q37] - s_ExplicitVarSizeWithDummy[q38]) % 2 = 0; + int(1..5)])) + | q37 : int(1..4), q38 : int(1..4)]) + > 0 + -> + or([and([s_ExplicitVarSizeWithFlags_Flags[q37], s_ExplicitVarSizeWithDummy[q38] != 5, + s_ExplicitVarSizeWithFlags_Values[q37] != s_ExplicitVarSizeWithDummy[q38], + allDiff([s_ExplicitVarSizeWithFlags_Values[q37] + s_ExplicitVarSizeWithDummy[q38], + s_ExplicitVarSizeWithFlags_Values[q37] * s_ExplicitVarSizeWithDummy[q38], + s_ExplicitVarSizeWithFlags_Values[q37] / s_ExplicitVarSizeWithDummy[q38]; + int(1..3)]), + (s_ExplicitVarSizeWithFlags_Values[q37] - s_ExplicitVarSizeWithDummy[q38]) % 2 = 0; + int(1..5)]) + /\ + min([s_ExplicitVarSizeWithFlags_Values[q37] + s_ExplicitVarSizeWithDummy[q38], + s_ExplicitVarSizeWithFlags_Values[q37] - s_ExplicitVarSizeWithDummy[q38], + s_ExplicitVarSizeWithFlags_Values[q37] * s_ExplicitVarSizeWithDummy[q38], + s_ExplicitVarSizeWithFlags_Values[q37] / s_ExplicitVarSizeWithDummy[q38]; + int(1..4)]) + = conjure_aux1 + | q37 : int(1..4), q38 : int(1..4)]), + sum([toInt(and([s_ExplicitVarSizeWithFlags_Flags[q37], s_ExplicitVarSizeWithDummy[q38] != 5, + s_ExplicitVarSizeWithFlags_Values[q37] != s_ExplicitVarSizeWithDummy[q38], + allDiff([s_ExplicitVarSizeWithFlags_Values[q37] + s_ExplicitVarSizeWithDummy[q38], + s_ExplicitVarSizeWithFlags_Values[q37] * s_ExplicitVarSizeWithDummy[q38], + s_ExplicitVarSizeWithFlags_Values[q37] / s_ExplicitVarSizeWithDummy[q38]; + int(1..3)]), + (s_ExplicitVarSizeWithFlags_Values[q37] - s_ExplicitVarSizeWithDummy[q38]) % 2 = 0; + int(1..5)])) + | q37 : int(1..4), q38 : int(1..4)]) + = 0 + -> conjure_aux1 = -20, + x = conjure_aux1, + sum([toInt(and([s_ExplicitVarSizeWithFlags_Flags[q37], s_ExplicitVarSizeWithDummy[q38] != 5, + s_ExplicitVarSizeWithFlags_Values[q37] != s_ExplicitVarSizeWithDummy[q38], + allDiff([s_ExplicitVarSizeWithFlags_Values[q37] + s_ExplicitVarSizeWithDummy[q38], + s_ExplicitVarSizeWithFlags_Values[q37] * s_ExplicitVarSizeWithDummy[q38], + s_ExplicitVarSizeWithFlags_Values[q37] / s_ExplicitVarSizeWithDummy[q38]; + int(1..3)]), + (s_ExplicitVarSizeWithFlags_Values[q37] - s_ExplicitVarSizeWithDummy[q38]) % 2 = 0; + int(1..5)])) + | q37 : int(1..4), q38 : int(1..4)]) + > 0, + and([s_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + s_ExplicitVarSizeWithFlags_Values[q1] < s_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..3)]), + and([s_ExplicitVarSizeWithFlags_Flags[q2] = false -> s_ExplicitVarSizeWithFlags_Values[q2] = 1 | q2 : int(1..4)]), + and([s_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> s_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..3)]), + and([s_ExplicitVarSizeWithDummy[q6] < s_ExplicitVarSizeWithDummy[q6 + 1] \/ s_ExplicitVarSizeWithDummy[q6] = 5 + | q6 : int(1..3)]), + and([s_ExplicitVarSizeWithDummy[q7] = 5 -> s_ExplicitVarSizeWithDummy[q7 + 1] = 5 | q7 : int(1..3)]), + and([s_ExplicitVarSizeWithDummy[q11] != 5 -> + or([s_ExplicitVarSizeWithFlags_Flags[q13] /\ + s_ExplicitVarSizeWithFlags_Values[q13] = s_ExplicitVarSizeWithDummy[q11] + | q13 : int(1..4)]) + | q11 : int(1..4)]), + and([s_ExplicitVarSizeWithFlags_Flags[q15] -> + or([s_ExplicitVarSizeWithDummy[q17] != 5 /\ + s_ExplicitVarSizeWithDummy[q17] = s_ExplicitVarSizeWithFlags_Values[q15] + | q17 : int(1..4)]) + | q15 : int(1..4)]), + and([q18 + 1 <= s_ExplicitVarSizeWithMarker_Marker -> + s_ExplicitVarSizeWithMarker_Values[q18] < s_ExplicitVarSizeWithMarker_Values[q18 + 1] + | q18 : int(1..3)]), + and([q19 > s_ExplicitVarSizeWithMarker_Marker -> s_ExplicitVarSizeWithMarker_Values[q19] = 1 | q19 : int(1..4)]), + and([q22 <= s_ExplicitVarSizeWithMarker_Marker -> + or([s_ExplicitVarSizeWithFlags_Flags[q24] /\ + s_ExplicitVarSizeWithFlags_Values[q24] = s_ExplicitVarSizeWithMarker_Values[q22] + | q24 : int(1..4)]) + | q22 : int(1..4)]), + and([s_ExplicitVarSizeWithFlags_Flags[q26] -> + or([q28 <= s_ExplicitVarSizeWithMarker_Marker /\ + s_ExplicitVarSizeWithMarker_Values[q28] = s_ExplicitVarSizeWithFlags_Values[q26] + | q28 : int(1..4)]) + | q26 : int(1..4)]), + and([q30 <= s_ExplicitVarSizeWithMarker_Marker -> + or([s_ExplicitVarSizeWithDummy[q32] != 5 /\ + s_ExplicitVarSizeWithDummy[q32] = s_ExplicitVarSizeWithMarker_Values[q30] + | q32 : int(1..4)]) + | q30 : int(1..4)]), + and([s_ExplicitVarSizeWithDummy[q34] != 5 -> + or([q36 <= s_ExplicitVarSizeWithMarker_Marker /\ + s_ExplicitVarSizeWithMarker_Values[q36] = s_ExplicitVarSizeWithDummy[q34] + | q36 : int(1..4)]) + | q34 : int(1..4)]) + diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_4_3_1-solution000001.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_4_3_1-solution000001.solution new file mode 100644 index 0000000000..159a613983 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_4_3_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {2, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_4_3_1-solution000002.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_4_3_1-solution000002.solution new file mode 100644 index 0000000000..40f3fd5c8f --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_4_3_1-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {2, 3, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_4_3_1-solution000003.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_4_3_1-solution000003.solution new file mode 100644 index 0000000000..8b4ecbb66d --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_4_3_1-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 3} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_4_3_1-solution000004.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_4_3_1-solution000004.solution new file mode 100644 index 0000000000..560dd0f2f7 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_4_3_1-solution000004.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 3, 4} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_4_3_1-solution000005.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_4_3_1-solution000005.solution new file mode 100644 index 0000000000..6eeacc9727 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_4_3_1-solution000005.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_4_3_1-solution000006.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_4_3_1-solution000006.solution new file mode 100644 index 0000000000..5963aac565 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_4_3_1-solution000006.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 3} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_4_3_1-solution000007.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_4_3_1-solution000007.solution new file mode 100644 index 0000000000..bd956f44e3 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_4_3_1-solution000007.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 3, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_4_3_1.eprime b/tests/exhaustive/basic/comprehension_letting/expected/model_4_3_1.eprime new file mode 100644 index 0000000000..5e74dde769 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_4_3_1.eprime @@ -0,0 +1,110 @@ +language ESSENCE' 1.0 + +find s_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find s_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +find s_ExplicitVarSizeWithMarker_Marker: int(0..4) +find s_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +find s_Occurrence: matrix indexed by [int(1..4)] of bool +letting let1 be -100 +find x: int(-100..100) +find conjure_aux1: int(-16..3) +branching on + [s_Occurrence, s_ExplicitVarSizeWithFlags_Flags, s_ExplicitVarSizeWithFlags_Values, + s_ExplicitVarSizeWithMarker_Marker, s_ExplicitVarSizeWithMarker_Values, x] +such that + and([and([s_ExplicitVarSizeWithFlags_Flags[q28], q29 <= s_ExplicitVarSizeWithMarker_Marker, + s_ExplicitVarSizeWithFlags_Values[q28] != s_ExplicitVarSizeWithMarker_Values[q29], + allDiff([s_ExplicitVarSizeWithFlags_Values[q28] + s_ExplicitVarSizeWithMarker_Values[q29], + s_ExplicitVarSizeWithFlags_Values[q28] * s_ExplicitVarSizeWithMarker_Values[q29], + s_ExplicitVarSizeWithFlags_Values[q28] / s_ExplicitVarSizeWithMarker_Values[q29]; + int(1..3)]), + (s_ExplicitVarSizeWithFlags_Values[q28] - s_ExplicitVarSizeWithMarker_Values[q29]) % 2 = 0; + int(1..5)]) + -> + min([s_ExplicitVarSizeWithFlags_Values[q28] + s_ExplicitVarSizeWithMarker_Values[q29], + s_ExplicitVarSizeWithFlags_Values[q28] - s_ExplicitVarSizeWithMarker_Values[q29], + s_ExplicitVarSizeWithFlags_Values[q28] * s_ExplicitVarSizeWithMarker_Values[q29], + s_ExplicitVarSizeWithFlags_Values[q28] / s_ExplicitVarSizeWithMarker_Values[q29]; + int(1..4)]) + <= conjure_aux1 + | q28 : int(1..4), q29 : int(1..4)]), + sum([toInt(and([s_ExplicitVarSizeWithFlags_Flags[q28], q29 <= s_ExplicitVarSizeWithMarker_Marker, + s_ExplicitVarSizeWithFlags_Values[q28] != s_ExplicitVarSizeWithMarker_Values[q29], + allDiff([s_ExplicitVarSizeWithFlags_Values[q28] + s_ExplicitVarSizeWithMarker_Values[q29], + s_ExplicitVarSizeWithFlags_Values[q28] * s_ExplicitVarSizeWithMarker_Values[q29], + s_ExplicitVarSizeWithFlags_Values[q28] / s_ExplicitVarSizeWithMarker_Values[q29]; + int(1..3)]), + (s_ExplicitVarSizeWithFlags_Values[q28] - s_ExplicitVarSizeWithMarker_Values[q29]) % 2 = 0; + int(1..5)])) + | q28 : int(1..4), q29 : int(1..4)]) + > 0 + -> + or([and([s_ExplicitVarSizeWithFlags_Flags[q28], q29 <= s_ExplicitVarSizeWithMarker_Marker, + s_ExplicitVarSizeWithFlags_Values[q28] != s_ExplicitVarSizeWithMarker_Values[q29], + allDiff([s_ExplicitVarSizeWithFlags_Values[q28] + s_ExplicitVarSizeWithMarker_Values[q29], + s_ExplicitVarSizeWithFlags_Values[q28] * s_ExplicitVarSizeWithMarker_Values[q29], + s_ExplicitVarSizeWithFlags_Values[q28] / s_ExplicitVarSizeWithMarker_Values[q29]; + int(1..3)]), + (s_ExplicitVarSizeWithFlags_Values[q28] - s_ExplicitVarSizeWithMarker_Values[q29]) % 2 = 0; + int(1..5)]) + /\ + min([s_ExplicitVarSizeWithFlags_Values[q28] + s_ExplicitVarSizeWithMarker_Values[q29], + s_ExplicitVarSizeWithFlags_Values[q28] - s_ExplicitVarSizeWithMarker_Values[q29], + s_ExplicitVarSizeWithFlags_Values[q28] * s_ExplicitVarSizeWithMarker_Values[q29], + s_ExplicitVarSizeWithFlags_Values[q28] / s_ExplicitVarSizeWithMarker_Values[q29]; + int(1..4)]) + = conjure_aux1 + | q28 : int(1..4), q29 : int(1..4)]), + sum([toInt(and([s_ExplicitVarSizeWithFlags_Flags[q28], q29 <= s_ExplicitVarSizeWithMarker_Marker, + s_ExplicitVarSizeWithFlags_Values[q28] != s_ExplicitVarSizeWithMarker_Values[q29], + allDiff([s_ExplicitVarSizeWithFlags_Values[q28] + s_ExplicitVarSizeWithMarker_Values[q29], + s_ExplicitVarSizeWithFlags_Values[q28] * s_ExplicitVarSizeWithMarker_Values[q29], + s_ExplicitVarSizeWithFlags_Values[q28] / s_ExplicitVarSizeWithMarker_Values[q29]; + int(1..3)]), + (s_ExplicitVarSizeWithFlags_Values[q28] - s_ExplicitVarSizeWithMarker_Values[q29]) % 2 = 0; + int(1..5)])) + | q28 : int(1..4), q29 : int(1..4)]) + = 0 + -> conjure_aux1 = -16, + x = conjure_aux1, + sum([toInt(and([s_ExplicitVarSizeWithFlags_Flags[q28], q29 <= s_ExplicitVarSizeWithMarker_Marker, + s_ExplicitVarSizeWithFlags_Values[q28] != s_ExplicitVarSizeWithMarker_Values[q29], + allDiff([s_ExplicitVarSizeWithFlags_Values[q28] + s_ExplicitVarSizeWithMarker_Values[q29], + s_ExplicitVarSizeWithFlags_Values[q28] * s_ExplicitVarSizeWithMarker_Values[q29], + s_ExplicitVarSizeWithFlags_Values[q28] / s_ExplicitVarSizeWithMarker_Values[q29]; + int(1..3)]), + (s_ExplicitVarSizeWithFlags_Values[q28] - s_ExplicitVarSizeWithMarker_Values[q29]) % 2 = 0; + int(1..5)])) + | q28 : int(1..4), q29 : int(1..4)]) + > 0, + and([s_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + s_ExplicitVarSizeWithFlags_Values[q1] < s_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..3)]), + and([s_ExplicitVarSizeWithFlags_Flags[q2] = false -> s_ExplicitVarSizeWithFlags_Values[q2] = 1 | q2 : int(1..4)]), + and([s_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> s_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..3)]), + and([q6 + 1 <= s_ExplicitVarSizeWithMarker_Marker -> + s_ExplicitVarSizeWithMarker_Values[q6] < s_ExplicitVarSizeWithMarker_Values[q6 + 1] + | q6 : int(1..3)]), + and([q7 > s_ExplicitVarSizeWithMarker_Marker -> s_ExplicitVarSizeWithMarker_Values[q7] = 1 | q7 : int(1..4)]), + and([q10 <= s_ExplicitVarSizeWithMarker_Marker -> + or([s_ExplicitVarSizeWithFlags_Flags[q12] /\ + s_ExplicitVarSizeWithFlags_Values[q12] = s_ExplicitVarSizeWithMarker_Values[q10] + | q12 : int(1..4)]) + | q10 : int(1..4)]), + and([s_ExplicitVarSizeWithFlags_Flags[q14] -> + or([q16 <= s_ExplicitVarSizeWithMarker_Marker /\ + s_ExplicitVarSizeWithMarker_Values[q16] = s_ExplicitVarSizeWithFlags_Values[q14] + | q16 : int(1..4)]) + | q14 : int(1..4)]), + and([s_Occurrence[q18] -> + or([s_ExplicitVarSizeWithFlags_Flags[q20] /\ s_ExplicitVarSizeWithFlags_Values[q20] = q18 | q20 : int(1..4)]) + | q18 : int(1..4)]), + and([s_ExplicitVarSizeWithFlags_Flags[q22] -> s_Occurrence[s_ExplicitVarSizeWithFlags_Values[q22]] + | q22 : int(1..4)]), + and([s_Occurrence[q23] -> + or([q25 <= s_ExplicitVarSizeWithMarker_Marker /\ s_ExplicitVarSizeWithMarker_Values[q25] = q23 + | q25 : int(1..4)]) + | q23 : int(1..4)]), + and([q27 <= s_ExplicitVarSizeWithMarker_Marker -> s_Occurrence[s_ExplicitVarSizeWithMarker_Values[q27]] + | q27 : int(1..4)]) + diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_4_3_2-solution000001.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_4_3_2-solution000001.solution new file mode 100644 index 0000000000..bd956f44e3 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_4_3_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 3, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_4_3_2-solution000002.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_4_3_2-solution000002.solution new file mode 100644 index 0000000000..5963aac565 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_4_3_2-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 3} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_4_3_2-solution000003.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_4_3_2-solution000003.solution new file mode 100644 index 0000000000..6eeacc9727 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_4_3_2-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_4_3_2-solution000004.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_4_3_2-solution000004.solution new file mode 100644 index 0000000000..560dd0f2f7 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_4_3_2-solution000004.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 3, 4} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_4_3_2-solution000005.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_4_3_2-solution000005.solution new file mode 100644 index 0000000000..8b4ecbb66d --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_4_3_2-solution000005.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 3} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_4_3_2-solution000006.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_4_3_2-solution000006.solution new file mode 100644 index 0000000000..40f3fd5c8f --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_4_3_2-solution000006.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {2, 3, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_4_3_2-solution000007.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_4_3_2-solution000007.solution new file mode 100644 index 0000000000..159a613983 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_4_3_2-solution000007.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {2, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_4_3_2.eprime b/tests/exhaustive/basic/comprehension_letting/expected/model_4_3_2.eprime new file mode 100644 index 0000000000..80a6ca3fbf --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_4_3_2.eprime @@ -0,0 +1,122 @@ +language ESSENCE' 1.0 + +find s_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find s_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +find s_ExplicitVarSizeWithMarker_Marker: int(0..4) +find s_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +find s_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +letting let1 be -100 +find x: int(-100..100) +find conjure_aux1: int(-16..3) +branching on + [s_ExplicitVarSizeWithDummy, s_ExplicitVarSizeWithFlags_Flags, s_ExplicitVarSizeWithFlags_Values, + s_ExplicitVarSizeWithMarker_Marker, s_ExplicitVarSizeWithMarker_Values, x] +such that + and([and([s_ExplicitVarSizeWithFlags_Flags[q37], q38 <= s_ExplicitVarSizeWithMarker_Marker, + s_ExplicitVarSizeWithFlags_Values[q37] != s_ExplicitVarSizeWithMarker_Values[q38], + allDiff([s_ExplicitVarSizeWithFlags_Values[q37] + s_ExplicitVarSizeWithMarker_Values[q38], + s_ExplicitVarSizeWithFlags_Values[q37] * s_ExplicitVarSizeWithMarker_Values[q38], + s_ExplicitVarSizeWithFlags_Values[q37] / s_ExplicitVarSizeWithMarker_Values[q38]; + int(1..3)]), + (s_ExplicitVarSizeWithFlags_Values[q37] - s_ExplicitVarSizeWithMarker_Values[q38]) % 2 = 0; + int(1..5)]) + -> + min([s_ExplicitVarSizeWithFlags_Values[q37] + s_ExplicitVarSizeWithMarker_Values[q38], + s_ExplicitVarSizeWithFlags_Values[q37] - s_ExplicitVarSizeWithMarker_Values[q38], + s_ExplicitVarSizeWithFlags_Values[q37] * s_ExplicitVarSizeWithMarker_Values[q38], + s_ExplicitVarSizeWithFlags_Values[q37] / s_ExplicitVarSizeWithMarker_Values[q38]; + int(1..4)]) + <= conjure_aux1 + | q37 : int(1..4), q38 : int(1..4)]), + sum([toInt(and([s_ExplicitVarSizeWithFlags_Flags[q37], q38 <= s_ExplicitVarSizeWithMarker_Marker, + s_ExplicitVarSizeWithFlags_Values[q37] != s_ExplicitVarSizeWithMarker_Values[q38], + allDiff([s_ExplicitVarSizeWithFlags_Values[q37] + s_ExplicitVarSizeWithMarker_Values[q38], + s_ExplicitVarSizeWithFlags_Values[q37] * s_ExplicitVarSizeWithMarker_Values[q38], + s_ExplicitVarSizeWithFlags_Values[q37] / s_ExplicitVarSizeWithMarker_Values[q38]; + int(1..3)]), + (s_ExplicitVarSizeWithFlags_Values[q37] - s_ExplicitVarSizeWithMarker_Values[q38]) % 2 = 0; + int(1..5)])) + | q37 : int(1..4), q38 : int(1..4)]) + > 0 + -> + or([and([s_ExplicitVarSizeWithFlags_Flags[q37], q38 <= s_ExplicitVarSizeWithMarker_Marker, + s_ExplicitVarSizeWithFlags_Values[q37] != s_ExplicitVarSizeWithMarker_Values[q38], + allDiff([s_ExplicitVarSizeWithFlags_Values[q37] + s_ExplicitVarSizeWithMarker_Values[q38], + s_ExplicitVarSizeWithFlags_Values[q37] * s_ExplicitVarSizeWithMarker_Values[q38], + s_ExplicitVarSizeWithFlags_Values[q37] / s_ExplicitVarSizeWithMarker_Values[q38]; + int(1..3)]), + (s_ExplicitVarSizeWithFlags_Values[q37] - s_ExplicitVarSizeWithMarker_Values[q38]) % 2 = 0; + int(1..5)]) + /\ + min([s_ExplicitVarSizeWithFlags_Values[q37] + s_ExplicitVarSizeWithMarker_Values[q38], + s_ExplicitVarSizeWithFlags_Values[q37] - s_ExplicitVarSizeWithMarker_Values[q38], + s_ExplicitVarSizeWithFlags_Values[q37] * s_ExplicitVarSizeWithMarker_Values[q38], + s_ExplicitVarSizeWithFlags_Values[q37] / s_ExplicitVarSizeWithMarker_Values[q38]; + int(1..4)]) + = conjure_aux1 + | q37 : int(1..4), q38 : int(1..4)]), + sum([toInt(and([s_ExplicitVarSizeWithFlags_Flags[q37], q38 <= s_ExplicitVarSizeWithMarker_Marker, + s_ExplicitVarSizeWithFlags_Values[q37] != s_ExplicitVarSizeWithMarker_Values[q38], + allDiff([s_ExplicitVarSizeWithFlags_Values[q37] + s_ExplicitVarSizeWithMarker_Values[q38], + s_ExplicitVarSizeWithFlags_Values[q37] * s_ExplicitVarSizeWithMarker_Values[q38], + s_ExplicitVarSizeWithFlags_Values[q37] / s_ExplicitVarSizeWithMarker_Values[q38]; + int(1..3)]), + (s_ExplicitVarSizeWithFlags_Values[q37] - s_ExplicitVarSizeWithMarker_Values[q38]) % 2 = 0; + int(1..5)])) + | q37 : int(1..4), q38 : int(1..4)]) + = 0 + -> conjure_aux1 = -16, + x = conjure_aux1, + sum([toInt(and([s_ExplicitVarSizeWithFlags_Flags[q37], q38 <= s_ExplicitVarSizeWithMarker_Marker, + s_ExplicitVarSizeWithFlags_Values[q37] != s_ExplicitVarSizeWithMarker_Values[q38], + allDiff([s_ExplicitVarSizeWithFlags_Values[q37] + s_ExplicitVarSizeWithMarker_Values[q38], + s_ExplicitVarSizeWithFlags_Values[q37] * s_ExplicitVarSizeWithMarker_Values[q38], + s_ExplicitVarSizeWithFlags_Values[q37] / s_ExplicitVarSizeWithMarker_Values[q38]; + int(1..3)]), + (s_ExplicitVarSizeWithFlags_Values[q37] - s_ExplicitVarSizeWithMarker_Values[q38]) % 2 = 0; + int(1..5)])) + | q37 : int(1..4), q38 : int(1..4)]) + > 0, + and([s_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + s_ExplicitVarSizeWithFlags_Values[q1] < s_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..3)]), + and([s_ExplicitVarSizeWithFlags_Flags[q2] = false -> s_ExplicitVarSizeWithFlags_Values[q2] = 1 | q2 : int(1..4)]), + and([s_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> s_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..3)]), + and([q6 + 1 <= s_ExplicitVarSizeWithMarker_Marker -> + s_ExplicitVarSizeWithMarker_Values[q6] < s_ExplicitVarSizeWithMarker_Values[q6 + 1] + | q6 : int(1..3)]), + and([q7 > s_ExplicitVarSizeWithMarker_Marker -> s_ExplicitVarSizeWithMarker_Values[q7] = 1 | q7 : int(1..4)]), + and([q10 <= s_ExplicitVarSizeWithMarker_Marker -> + or([s_ExplicitVarSizeWithFlags_Flags[q12] /\ + s_ExplicitVarSizeWithFlags_Values[q12] = s_ExplicitVarSizeWithMarker_Values[q10] + | q12 : int(1..4)]) + | q10 : int(1..4)]), + and([s_ExplicitVarSizeWithFlags_Flags[q14] -> + or([q16 <= s_ExplicitVarSizeWithMarker_Marker /\ + s_ExplicitVarSizeWithMarker_Values[q16] = s_ExplicitVarSizeWithFlags_Values[q14] + | q16 : int(1..4)]) + | q14 : int(1..4)]), + and([s_ExplicitVarSizeWithDummy[q17] < s_ExplicitVarSizeWithDummy[q17 + 1] \/ s_ExplicitVarSizeWithDummy[q17] = 5 + | q17 : int(1..3)]), + and([s_ExplicitVarSizeWithDummy[q18] = 5 -> s_ExplicitVarSizeWithDummy[q18 + 1] = 5 | q18 : int(1..3)]), + and([s_ExplicitVarSizeWithDummy[q22] != 5 -> + or([s_ExplicitVarSizeWithFlags_Flags[q24] /\ + s_ExplicitVarSizeWithFlags_Values[q24] = s_ExplicitVarSizeWithDummy[q22] + | q24 : int(1..4)]) + | q22 : int(1..4)]), + and([s_ExplicitVarSizeWithFlags_Flags[q26] -> + or([s_ExplicitVarSizeWithDummy[q28] != 5 /\ + s_ExplicitVarSizeWithDummy[q28] = s_ExplicitVarSizeWithFlags_Values[q26] + | q28 : int(1..4)]) + | q26 : int(1..4)]), + and([s_ExplicitVarSizeWithDummy[q30] != 5 -> + or([q32 <= s_ExplicitVarSizeWithMarker_Marker /\ + s_ExplicitVarSizeWithMarker_Values[q32] = s_ExplicitVarSizeWithDummy[q30] + | q32 : int(1..4)]) + | q30 : int(1..4)]), + and([q34 <= s_ExplicitVarSizeWithMarker_Marker -> + or([s_ExplicitVarSizeWithDummy[q36] != 5 /\ + s_ExplicitVarSizeWithDummy[q36] = s_ExplicitVarSizeWithMarker_Values[q34] + | q36 : int(1..4)]) + | q34 : int(1..4)]) + diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_4_3_3-solution000001.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_4_3_3-solution000001.solution new file mode 100644 index 0000000000..8b4ecbb66d --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_4_3_3-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 3} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_4_3_3-solution000002.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_4_3_3-solution000002.solution new file mode 100644 index 0000000000..159a613983 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_4_3_3-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {2, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_4_3_3-solution000003.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_4_3_3-solution000003.solution new file mode 100644 index 0000000000..5963aac565 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_4_3_3-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 3} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_4_3_3-solution000004.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_4_3_3-solution000004.solution new file mode 100644 index 0000000000..6eeacc9727 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_4_3_3-solution000004.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_4_3_3-solution000005.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_4_3_3-solution000005.solution new file mode 100644 index 0000000000..560dd0f2f7 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_4_3_3-solution000005.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 3, 4} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_4_3_3-solution000006.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_4_3_3-solution000006.solution new file mode 100644 index 0000000000..40f3fd5c8f --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_4_3_3-solution000006.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {2, 3, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_4_3_3-solution000007.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_4_3_3-solution000007.solution new file mode 100644 index 0000000000..bd956f44e3 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_4_3_3-solution000007.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 3, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_4_3_3.eprime b/tests/exhaustive/basic/comprehension_letting/expected/model_4_3_3.eprime new file mode 100644 index 0000000000..0a99214fbe --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_4_3_3.eprime @@ -0,0 +1,98 @@ +language ESSENCE' 1.0 + +find s_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find s_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +find s_ExplicitVarSizeWithMarker_Marker: int(0..4) +find s_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +letting let1 be -100 +find x: int(-100..100) +find conjure_aux1: int(-16..3) +branching on + [s_ExplicitVarSizeWithMarker_Marker, s_ExplicitVarSizeWithMarker_Values, s_ExplicitVarSizeWithFlags_Flags, + s_ExplicitVarSizeWithFlags_Values, x] +such that + and([and([s_ExplicitVarSizeWithFlags_Flags[q17], q18 <= s_ExplicitVarSizeWithMarker_Marker, + s_ExplicitVarSizeWithFlags_Values[q17] != s_ExplicitVarSizeWithMarker_Values[q18], + allDiff([s_ExplicitVarSizeWithFlags_Values[q17] + s_ExplicitVarSizeWithMarker_Values[q18], + s_ExplicitVarSizeWithFlags_Values[q17] * s_ExplicitVarSizeWithMarker_Values[q18], + s_ExplicitVarSizeWithFlags_Values[q17] / s_ExplicitVarSizeWithMarker_Values[q18]; + int(1..3)]), + (s_ExplicitVarSizeWithFlags_Values[q17] - s_ExplicitVarSizeWithMarker_Values[q18]) % 2 = 0; + int(1..5)]) + -> + min([s_ExplicitVarSizeWithFlags_Values[q17] + s_ExplicitVarSizeWithMarker_Values[q18], + s_ExplicitVarSizeWithFlags_Values[q17] - s_ExplicitVarSizeWithMarker_Values[q18], + s_ExplicitVarSizeWithFlags_Values[q17] * s_ExplicitVarSizeWithMarker_Values[q18], + s_ExplicitVarSizeWithFlags_Values[q17] / s_ExplicitVarSizeWithMarker_Values[q18]; + int(1..4)]) + <= conjure_aux1 + | q17 : int(1..4), q18 : int(1..4)]), + sum([toInt(and([s_ExplicitVarSizeWithFlags_Flags[q17], q18 <= s_ExplicitVarSizeWithMarker_Marker, + s_ExplicitVarSizeWithFlags_Values[q17] != s_ExplicitVarSizeWithMarker_Values[q18], + allDiff([s_ExplicitVarSizeWithFlags_Values[q17] + s_ExplicitVarSizeWithMarker_Values[q18], + s_ExplicitVarSizeWithFlags_Values[q17] * s_ExplicitVarSizeWithMarker_Values[q18], + s_ExplicitVarSizeWithFlags_Values[q17] / s_ExplicitVarSizeWithMarker_Values[q18]; + int(1..3)]), + (s_ExplicitVarSizeWithFlags_Values[q17] - s_ExplicitVarSizeWithMarker_Values[q18]) % 2 = 0; + int(1..5)])) + | q17 : int(1..4), q18 : int(1..4)]) + > 0 + -> + or([and([s_ExplicitVarSizeWithFlags_Flags[q17], q18 <= s_ExplicitVarSizeWithMarker_Marker, + s_ExplicitVarSizeWithFlags_Values[q17] != s_ExplicitVarSizeWithMarker_Values[q18], + allDiff([s_ExplicitVarSizeWithFlags_Values[q17] + s_ExplicitVarSizeWithMarker_Values[q18], + s_ExplicitVarSizeWithFlags_Values[q17] * s_ExplicitVarSizeWithMarker_Values[q18], + s_ExplicitVarSizeWithFlags_Values[q17] / s_ExplicitVarSizeWithMarker_Values[q18]; + int(1..3)]), + (s_ExplicitVarSizeWithFlags_Values[q17] - s_ExplicitVarSizeWithMarker_Values[q18]) % 2 = 0; + int(1..5)]) + /\ + min([s_ExplicitVarSizeWithFlags_Values[q17] + s_ExplicitVarSizeWithMarker_Values[q18], + s_ExplicitVarSizeWithFlags_Values[q17] - s_ExplicitVarSizeWithMarker_Values[q18], + s_ExplicitVarSizeWithFlags_Values[q17] * s_ExplicitVarSizeWithMarker_Values[q18], + s_ExplicitVarSizeWithFlags_Values[q17] / s_ExplicitVarSizeWithMarker_Values[q18]; + int(1..4)]) + = conjure_aux1 + | q17 : int(1..4), q18 : int(1..4)]), + sum([toInt(and([s_ExplicitVarSizeWithFlags_Flags[q17], q18 <= s_ExplicitVarSizeWithMarker_Marker, + s_ExplicitVarSizeWithFlags_Values[q17] != s_ExplicitVarSizeWithMarker_Values[q18], + allDiff([s_ExplicitVarSizeWithFlags_Values[q17] + s_ExplicitVarSizeWithMarker_Values[q18], + s_ExplicitVarSizeWithFlags_Values[q17] * s_ExplicitVarSizeWithMarker_Values[q18], + s_ExplicitVarSizeWithFlags_Values[q17] / s_ExplicitVarSizeWithMarker_Values[q18]; + int(1..3)]), + (s_ExplicitVarSizeWithFlags_Values[q17] - s_ExplicitVarSizeWithMarker_Values[q18]) % 2 = 0; + int(1..5)])) + | q17 : int(1..4), q18 : int(1..4)]) + = 0 + -> conjure_aux1 = -16, + x = conjure_aux1, + sum([toInt(and([s_ExplicitVarSizeWithFlags_Flags[q17], q18 <= s_ExplicitVarSizeWithMarker_Marker, + s_ExplicitVarSizeWithFlags_Values[q17] != s_ExplicitVarSizeWithMarker_Values[q18], + allDiff([s_ExplicitVarSizeWithFlags_Values[q17] + s_ExplicitVarSizeWithMarker_Values[q18], + s_ExplicitVarSizeWithFlags_Values[q17] * s_ExplicitVarSizeWithMarker_Values[q18], + s_ExplicitVarSizeWithFlags_Values[q17] / s_ExplicitVarSizeWithMarker_Values[q18]; + int(1..3)]), + (s_ExplicitVarSizeWithFlags_Values[q17] - s_ExplicitVarSizeWithMarker_Values[q18]) % 2 = 0; + int(1..5)])) + | q17 : int(1..4), q18 : int(1..4)]) + > 0, + and([s_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + s_ExplicitVarSizeWithFlags_Values[q1] < s_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..3)]), + and([s_ExplicitVarSizeWithFlags_Flags[q2] = false -> s_ExplicitVarSizeWithFlags_Values[q2] = 1 | q2 : int(1..4)]), + and([s_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> s_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..3)]), + and([q6 + 1 <= s_ExplicitVarSizeWithMarker_Marker -> + s_ExplicitVarSizeWithMarker_Values[q6] < s_ExplicitVarSizeWithMarker_Values[q6 + 1] + | q6 : int(1..3)]), + and([q7 > s_ExplicitVarSizeWithMarker_Marker -> s_ExplicitVarSizeWithMarker_Values[q7] = 1 | q7 : int(1..4)]), + and([q10 <= s_ExplicitVarSizeWithMarker_Marker -> + or([s_ExplicitVarSizeWithFlags_Flags[q12] /\ + s_ExplicitVarSizeWithFlags_Values[q12] = s_ExplicitVarSizeWithMarker_Values[q10] + | q12 : int(1..4)]) + | q10 : int(1..4)]), + and([s_ExplicitVarSizeWithFlags_Flags[q14] -> + or([q16 <= s_ExplicitVarSizeWithMarker_Marker /\ + s_ExplicitVarSizeWithMarker_Values[q16] = s_ExplicitVarSizeWithFlags_Values[q14] + | q16 : int(1..4)]) + | q14 : int(1..4)]) + diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_4_4_1-solution000001.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_4_4_1-solution000001.solution new file mode 100644 index 0000000000..159a613983 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_4_4_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {2, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_4_4_1-solution000002.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_4_4_1-solution000002.solution new file mode 100644 index 0000000000..40f3fd5c8f --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_4_4_1-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {2, 3, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_4_4_1-solution000003.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_4_4_1-solution000003.solution new file mode 100644 index 0000000000..8b4ecbb66d --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_4_4_1-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 3} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_4_4_1-solution000004.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_4_4_1-solution000004.solution new file mode 100644 index 0000000000..560dd0f2f7 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_4_4_1-solution000004.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 3, 4} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_4_4_1-solution000005.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_4_4_1-solution000005.solution new file mode 100644 index 0000000000..6eeacc9727 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_4_4_1-solution000005.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_4_4_1-solution000006.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_4_4_1-solution000006.solution new file mode 100644 index 0000000000..5963aac565 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_4_4_1-solution000006.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 3} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_4_4_1-solution000007.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_4_4_1-solution000007.solution new file mode 100644 index 0000000000..bd956f44e3 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_4_4_1-solution000007.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 3, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_4_4_1.eprime b/tests/exhaustive/basic/comprehension_letting/expected/model_4_4_1.eprime new file mode 100644 index 0000000000..f39e4e0ee6 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_4_4_1.eprime @@ -0,0 +1,86 @@ +language ESSENCE' 1.0 + +find s_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find s_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +find s_Occurrence: matrix indexed by [int(1..4)] of bool +letting let1 be -100 +find x: int(-100..100) +find conjure_aux1: int(-16..3) +branching on [s_Occurrence, s_ExplicitVarSizeWithFlags_Flags, s_ExplicitVarSizeWithFlags_Values, x] +such that + and([and([s_ExplicitVarSizeWithFlags_Flags[q12], s_ExplicitVarSizeWithFlags_Flags[q13], + s_ExplicitVarSizeWithFlags_Values[q12] != s_ExplicitVarSizeWithFlags_Values[q13], + allDiff([s_ExplicitVarSizeWithFlags_Values[q12] + s_ExplicitVarSizeWithFlags_Values[q13], + s_ExplicitVarSizeWithFlags_Values[q12] * s_ExplicitVarSizeWithFlags_Values[q13], + s_ExplicitVarSizeWithFlags_Values[q12] / s_ExplicitVarSizeWithFlags_Values[q13]; + int(1..3)]), + (s_ExplicitVarSizeWithFlags_Values[q12] - s_ExplicitVarSizeWithFlags_Values[q13]) % 2 = 0; + int(1..5)]) + -> + min([s_ExplicitVarSizeWithFlags_Values[q12] + s_ExplicitVarSizeWithFlags_Values[q13], + s_ExplicitVarSizeWithFlags_Values[q12] - s_ExplicitVarSizeWithFlags_Values[q13], + s_ExplicitVarSizeWithFlags_Values[q12] * s_ExplicitVarSizeWithFlags_Values[q13], + s_ExplicitVarSizeWithFlags_Values[q12] / s_ExplicitVarSizeWithFlags_Values[q13]; + int(1..4)]) + <= conjure_aux1 + | q12 : int(1..4), q13 : int(1..4)]), + sum([toInt(and([s_ExplicitVarSizeWithFlags_Flags[q12], s_ExplicitVarSizeWithFlags_Flags[q13], + s_ExplicitVarSizeWithFlags_Values[q12] != s_ExplicitVarSizeWithFlags_Values[q13], + allDiff([s_ExplicitVarSizeWithFlags_Values[q12] + s_ExplicitVarSizeWithFlags_Values[q13], + s_ExplicitVarSizeWithFlags_Values[q12] * s_ExplicitVarSizeWithFlags_Values[q13], + s_ExplicitVarSizeWithFlags_Values[q12] / s_ExplicitVarSizeWithFlags_Values[q13]; + int(1..3)]), + (s_ExplicitVarSizeWithFlags_Values[q12] - s_ExplicitVarSizeWithFlags_Values[q13]) % 2 = 0; + int(1..5)])) + | q12 : int(1..4), q13 : int(1..4)]) + > 0 + -> + or([and([s_ExplicitVarSizeWithFlags_Flags[q12], s_ExplicitVarSizeWithFlags_Flags[q13], + s_ExplicitVarSizeWithFlags_Values[q12] != s_ExplicitVarSizeWithFlags_Values[q13], + allDiff([s_ExplicitVarSizeWithFlags_Values[q12] + s_ExplicitVarSizeWithFlags_Values[q13], + s_ExplicitVarSizeWithFlags_Values[q12] * s_ExplicitVarSizeWithFlags_Values[q13], + s_ExplicitVarSizeWithFlags_Values[q12] / s_ExplicitVarSizeWithFlags_Values[q13]; + int(1..3)]), + (s_ExplicitVarSizeWithFlags_Values[q12] - s_ExplicitVarSizeWithFlags_Values[q13]) % 2 = 0; + int(1..5)]) + /\ + min([s_ExplicitVarSizeWithFlags_Values[q12] + s_ExplicitVarSizeWithFlags_Values[q13], + s_ExplicitVarSizeWithFlags_Values[q12] - s_ExplicitVarSizeWithFlags_Values[q13], + s_ExplicitVarSizeWithFlags_Values[q12] * s_ExplicitVarSizeWithFlags_Values[q13], + s_ExplicitVarSizeWithFlags_Values[q12] / s_ExplicitVarSizeWithFlags_Values[q13]; + int(1..4)]) + = conjure_aux1 + | q12 : int(1..4), q13 : int(1..4)]), + sum([toInt(and([s_ExplicitVarSizeWithFlags_Flags[q12], s_ExplicitVarSizeWithFlags_Flags[q13], + s_ExplicitVarSizeWithFlags_Values[q12] != s_ExplicitVarSizeWithFlags_Values[q13], + allDiff([s_ExplicitVarSizeWithFlags_Values[q12] + s_ExplicitVarSizeWithFlags_Values[q13], + s_ExplicitVarSizeWithFlags_Values[q12] * s_ExplicitVarSizeWithFlags_Values[q13], + s_ExplicitVarSizeWithFlags_Values[q12] / s_ExplicitVarSizeWithFlags_Values[q13]; + int(1..3)]), + (s_ExplicitVarSizeWithFlags_Values[q12] - s_ExplicitVarSizeWithFlags_Values[q13]) % 2 = 0; + int(1..5)])) + | q12 : int(1..4), q13 : int(1..4)]) + = 0 + -> conjure_aux1 = -16, + x = conjure_aux1, + sum([toInt(and([s_ExplicitVarSizeWithFlags_Flags[q12], s_ExplicitVarSizeWithFlags_Flags[q13], + s_ExplicitVarSizeWithFlags_Values[q12] != s_ExplicitVarSizeWithFlags_Values[q13], + allDiff([s_ExplicitVarSizeWithFlags_Values[q12] + s_ExplicitVarSizeWithFlags_Values[q13], + s_ExplicitVarSizeWithFlags_Values[q12] * s_ExplicitVarSizeWithFlags_Values[q13], + s_ExplicitVarSizeWithFlags_Values[q12] / s_ExplicitVarSizeWithFlags_Values[q13]; + int(1..3)]), + (s_ExplicitVarSizeWithFlags_Values[q12] - s_ExplicitVarSizeWithFlags_Values[q13]) % 2 = 0; + int(1..5)])) + | q12 : int(1..4), q13 : int(1..4)]) + > 0, + and([s_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + s_ExplicitVarSizeWithFlags_Values[q1] < s_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..3)]), + and([s_ExplicitVarSizeWithFlags_Flags[q2] = false -> s_ExplicitVarSizeWithFlags_Values[q2] = 1 | q2 : int(1..4)]), + and([s_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> s_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..3)]), + and([s_Occurrence[q7] -> + or([s_ExplicitVarSizeWithFlags_Flags[q9] /\ s_ExplicitVarSizeWithFlags_Values[q9] = q7 | q9 : int(1..4)]) + | q7 : int(1..4)]), + and([s_ExplicitVarSizeWithFlags_Flags[q11] -> s_Occurrence[s_ExplicitVarSizeWithFlags_Values[q11]] + | q11 : int(1..4)]) + diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_4_4_2-solution000001.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_4_4_2-solution000001.solution new file mode 100644 index 0000000000..bd956f44e3 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_4_4_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 3, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_4_4_2-solution000002.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_4_4_2-solution000002.solution new file mode 100644 index 0000000000..5963aac565 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_4_4_2-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 3} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_4_4_2-solution000003.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_4_4_2-solution000003.solution new file mode 100644 index 0000000000..6eeacc9727 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_4_4_2-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_4_4_2-solution000004.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_4_4_2-solution000004.solution new file mode 100644 index 0000000000..560dd0f2f7 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_4_4_2-solution000004.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 3, 4} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_4_4_2-solution000005.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_4_4_2-solution000005.solution new file mode 100644 index 0000000000..8b4ecbb66d --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_4_4_2-solution000005.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 3} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_4_4_2-solution000006.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_4_4_2-solution000006.solution new file mode 100644 index 0000000000..40f3fd5c8f --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_4_4_2-solution000006.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {2, 3, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_4_4_2-solution000007.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_4_4_2-solution000007.solution new file mode 100644 index 0000000000..159a613983 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_4_4_2-solution000007.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {2, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_4_4_2.eprime b/tests/exhaustive/basic/comprehension_letting/expected/model_4_4_2.eprime new file mode 100644 index 0000000000..7af3076aa8 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_4_4_2.eprime @@ -0,0 +1,94 @@ +language ESSENCE' 1.0 + +find s_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find s_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +find s_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +letting let1 be -100 +find x: int(-100..100) +find conjure_aux1: int(-16..3) +branching on [s_ExplicitVarSizeWithDummy, s_ExplicitVarSizeWithFlags_Flags, s_ExplicitVarSizeWithFlags_Values, x] +such that + and([and([s_ExplicitVarSizeWithFlags_Flags[q18], s_ExplicitVarSizeWithFlags_Flags[q19], + s_ExplicitVarSizeWithFlags_Values[q18] != s_ExplicitVarSizeWithFlags_Values[q19], + allDiff([s_ExplicitVarSizeWithFlags_Values[q18] + s_ExplicitVarSizeWithFlags_Values[q19], + s_ExplicitVarSizeWithFlags_Values[q18] * s_ExplicitVarSizeWithFlags_Values[q19], + s_ExplicitVarSizeWithFlags_Values[q18] / s_ExplicitVarSizeWithFlags_Values[q19]; + int(1..3)]), + (s_ExplicitVarSizeWithFlags_Values[q18] - s_ExplicitVarSizeWithFlags_Values[q19]) % 2 = 0; + int(1..5)]) + -> + min([s_ExplicitVarSizeWithFlags_Values[q18] + s_ExplicitVarSizeWithFlags_Values[q19], + s_ExplicitVarSizeWithFlags_Values[q18] - s_ExplicitVarSizeWithFlags_Values[q19], + s_ExplicitVarSizeWithFlags_Values[q18] * s_ExplicitVarSizeWithFlags_Values[q19], + s_ExplicitVarSizeWithFlags_Values[q18] / s_ExplicitVarSizeWithFlags_Values[q19]; + int(1..4)]) + <= conjure_aux1 + | q18 : int(1..4), q19 : int(1..4)]), + sum([toInt(and([s_ExplicitVarSizeWithFlags_Flags[q18], s_ExplicitVarSizeWithFlags_Flags[q19], + s_ExplicitVarSizeWithFlags_Values[q18] != s_ExplicitVarSizeWithFlags_Values[q19], + allDiff([s_ExplicitVarSizeWithFlags_Values[q18] + s_ExplicitVarSizeWithFlags_Values[q19], + s_ExplicitVarSizeWithFlags_Values[q18] * s_ExplicitVarSizeWithFlags_Values[q19], + s_ExplicitVarSizeWithFlags_Values[q18] / s_ExplicitVarSizeWithFlags_Values[q19]; + int(1..3)]), + (s_ExplicitVarSizeWithFlags_Values[q18] - s_ExplicitVarSizeWithFlags_Values[q19]) % 2 = 0; + int(1..5)])) + | q18 : int(1..4), q19 : int(1..4)]) + > 0 + -> + or([and([s_ExplicitVarSizeWithFlags_Flags[q18], s_ExplicitVarSizeWithFlags_Flags[q19], + s_ExplicitVarSizeWithFlags_Values[q18] != s_ExplicitVarSizeWithFlags_Values[q19], + allDiff([s_ExplicitVarSizeWithFlags_Values[q18] + s_ExplicitVarSizeWithFlags_Values[q19], + s_ExplicitVarSizeWithFlags_Values[q18] * s_ExplicitVarSizeWithFlags_Values[q19], + s_ExplicitVarSizeWithFlags_Values[q18] / s_ExplicitVarSizeWithFlags_Values[q19]; + int(1..3)]), + (s_ExplicitVarSizeWithFlags_Values[q18] - s_ExplicitVarSizeWithFlags_Values[q19]) % 2 = 0; + int(1..5)]) + /\ + min([s_ExplicitVarSizeWithFlags_Values[q18] + s_ExplicitVarSizeWithFlags_Values[q19], + s_ExplicitVarSizeWithFlags_Values[q18] - s_ExplicitVarSizeWithFlags_Values[q19], + s_ExplicitVarSizeWithFlags_Values[q18] * s_ExplicitVarSizeWithFlags_Values[q19], + s_ExplicitVarSizeWithFlags_Values[q18] / s_ExplicitVarSizeWithFlags_Values[q19]; + int(1..4)]) + = conjure_aux1 + | q18 : int(1..4), q19 : int(1..4)]), + sum([toInt(and([s_ExplicitVarSizeWithFlags_Flags[q18], s_ExplicitVarSizeWithFlags_Flags[q19], + s_ExplicitVarSizeWithFlags_Values[q18] != s_ExplicitVarSizeWithFlags_Values[q19], + allDiff([s_ExplicitVarSizeWithFlags_Values[q18] + s_ExplicitVarSizeWithFlags_Values[q19], + s_ExplicitVarSizeWithFlags_Values[q18] * s_ExplicitVarSizeWithFlags_Values[q19], + s_ExplicitVarSizeWithFlags_Values[q18] / s_ExplicitVarSizeWithFlags_Values[q19]; + int(1..3)]), + (s_ExplicitVarSizeWithFlags_Values[q18] - s_ExplicitVarSizeWithFlags_Values[q19]) % 2 = 0; + int(1..5)])) + | q18 : int(1..4), q19 : int(1..4)]) + = 0 + -> conjure_aux1 = -16, + x = conjure_aux1, + sum([toInt(and([s_ExplicitVarSizeWithFlags_Flags[q18], s_ExplicitVarSizeWithFlags_Flags[q19], + s_ExplicitVarSizeWithFlags_Values[q18] != s_ExplicitVarSizeWithFlags_Values[q19], + allDiff([s_ExplicitVarSizeWithFlags_Values[q18] + s_ExplicitVarSizeWithFlags_Values[q19], + s_ExplicitVarSizeWithFlags_Values[q18] * s_ExplicitVarSizeWithFlags_Values[q19], + s_ExplicitVarSizeWithFlags_Values[q18] / s_ExplicitVarSizeWithFlags_Values[q19]; + int(1..3)]), + (s_ExplicitVarSizeWithFlags_Values[q18] - s_ExplicitVarSizeWithFlags_Values[q19]) % 2 = 0; + int(1..5)])) + | q18 : int(1..4), q19 : int(1..4)]) + > 0, + and([s_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + s_ExplicitVarSizeWithFlags_Values[q1] < s_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..3)]), + and([s_ExplicitVarSizeWithFlags_Flags[q2] = false -> s_ExplicitVarSizeWithFlags_Values[q2] = 1 | q2 : int(1..4)]), + and([s_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> s_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..3)]), + and([s_ExplicitVarSizeWithDummy[q6] < s_ExplicitVarSizeWithDummy[q6 + 1] \/ s_ExplicitVarSizeWithDummy[q6] = 5 + | q6 : int(1..3)]), + and([s_ExplicitVarSizeWithDummy[q7] = 5 -> s_ExplicitVarSizeWithDummy[q7 + 1] = 5 | q7 : int(1..3)]), + and([s_ExplicitVarSizeWithDummy[q11] != 5 -> + or([s_ExplicitVarSizeWithFlags_Flags[q13] /\ + s_ExplicitVarSizeWithFlags_Values[q13] = s_ExplicitVarSizeWithDummy[q11] + | q13 : int(1..4)]) + | q11 : int(1..4)]), + and([s_ExplicitVarSizeWithFlags_Flags[q15] -> + or([s_ExplicitVarSizeWithDummy[q17] != 5 /\ + s_ExplicitVarSizeWithDummy[q17] = s_ExplicitVarSizeWithFlags_Values[q15] + | q17 : int(1..4)]) + | q15 : int(1..4)]) + diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_4_4_3-solution000001.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_4_4_3-solution000001.solution new file mode 100644 index 0000000000..8b4ecbb66d --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_4_4_3-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 3} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_4_4_3-solution000002.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_4_4_3-solution000002.solution new file mode 100644 index 0000000000..159a613983 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_4_4_3-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {2, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_4_4_3-solution000003.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_4_4_3-solution000003.solution new file mode 100644 index 0000000000..5963aac565 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_4_4_3-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 3} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_4_4_3-solution000004.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_4_4_3-solution000004.solution new file mode 100644 index 0000000000..6eeacc9727 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_4_4_3-solution000004.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_4_4_3-solution000005.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_4_4_3-solution000005.solution new file mode 100644 index 0000000000..560dd0f2f7 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_4_4_3-solution000005.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 3, 4} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_4_4_3-solution000006.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_4_4_3-solution000006.solution new file mode 100644 index 0000000000..40f3fd5c8f --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_4_4_3-solution000006.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {2, 3, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_4_4_3-solution000007.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_4_4_3-solution000007.solution new file mode 100644 index 0000000000..bd956f44e3 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_4_4_3-solution000007.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 3, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_4_4_3.eprime b/tests/exhaustive/basic/comprehension_letting/expected/model_4_4_3.eprime new file mode 100644 index 0000000000..5854a1dbb6 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_4_4_3.eprime @@ -0,0 +1,98 @@ +language ESSENCE' 1.0 + +find s_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find s_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +find s_ExplicitVarSizeWithMarker_Marker: int(0..4) +find s_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +letting let1 be -100 +find x: int(-100..100) +find conjure_aux1: int(-16..3) +branching on + [s_ExplicitVarSizeWithMarker_Marker, s_ExplicitVarSizeWithMarker_Values, s_ExplicitVarSizeWithFlags_Flags, + s_ExplicitVarSizeWithFlags_Values, x] +such that + and([and([s_ExplicitVarSizeWithFlags_Flags[q17], s_ExplicitVarSizeWithFlags_Flags[q18], + s_ExplicitVarSizeWithFlags_Values[q17] != s_ExplicitVarSizeWithFlags_Values[q18], + allDiff([s_ExplicitVarSizeWithFlags_Values[q17] + s_ExplicitVarSizeWithFlags_Values[q18], + s_ExplicitVarSizeWithFlags_Values[q17] * s_ExplicitVarSizeWithFlags_Values[q18], + s_ExplicitVarSizeWithFlags_Values[q17] / s_ExplicitVarSizeWithFlags_Values[q18]; + int(1..3)]), + (s_ExplicitVarSizeWithFlags_Values[q17] - s_ExplicitVarSizeWithFlags_Values[q18]) % 2 = 0; + int(1..5)]) + -> + min([s_ExplicitVarSizeWithFlags_Values[q17] + s_ExplicitVarSizeWithFlags_Values[q18], + s_ExplicitVarSizeWithFlags_Values[q17] - s_ExplicitVarSizeWithFlags_Values[q18], + s_ExplicitVarSizeWithFlags_Values[q17] * s_ExplicitVarSizeWithFlags_Values[q18], + s_ExplicitVarSizeWithFlags_Values[q17] / s_ExplicitVarSizeWithFlags_Values[q18]; + int(1..4)]) + <= conjure_aux1 + | q17 : int(1..4), q18 : int(1..4)]), + sum([toInt(and([s_ExplicitVarSizeWithFlags_Flags[q17], s_ExplicitVarSizeWithFlags_Flags[q18], + s_ExplicitVarSizeWithFlags_Values[q17] != s_ExplicitVarSizeWithFlags_Values[q18], + allDiff([s_ExplicitVarSizeWithFlags_Values[q17] + s_ExplicitVarSizeWithFlags_Values[q18], + s_ExplicitVarSizeWithFlags_Values[q17] * s_ExplicitVarSizeWithFlags_Values[q18], + s_ExplicitVarSizeWithFlags_Values[q17] / s_ExplicitVarSizeWithFlags_Values[q18]; + int(1..3)]), + (s_ExplicitVarSizeWithFlags_Values[q17] - s_ExplicitVarSizeWithFlags_Values[q18]) % 2 = 0; + int(1..5)])) + | q17 : int(1..4), q18 : int(1..4)]) + > 0 + -> + or([and([s_ExplicitVarSizeWithFlags_Flags[q17], s_ExplicitVarSizeWithFlags_Flags[q18], + s_ExplicitVarSizeWithFlags_Values[q17] != s_ExplicitVarSizeWithFlags_Values[q18], + allDiff([s_ExplicitVarSizeWithFlags_Values[q17] + s_ExplicitVarSizeWithFlags_Values[q18], + s_ExplicitVarSizeWithFlags_Values[q17] * s_ExplicitVarSizeWithFlags_Values[q18], + s_ExplicitVarSizeWithFlags_Values[q17] / s_ExplicitVarSizeWithFlags_Values[q18]; + int(1..3)]), + (s_ExplicitVarSizeWithFlags_Values[q17] - s_ExplicitVarSizeWithFlags_Values[q18]) % 2 = 0; + int(1..5)]) + /\ + min([s_ExplicitVarSizeWithFlags_Values[q17] + s_ExplicitVarSizeWithFlags_Values[q18], + s_ExplicitVarSizeWithFlags_Values[q17] - s_ExplicitVarSizeWithFlags_Values[q18], + s_ExplicitVarSizeWithFlags_Values[q17] * s_ExplicitVarSizeWithFlags_Values[q18], + s_ExplicitVarSizeWithFlags_Values[q17] / s_ExplicitVarSizeWithFlags_Values[q18]; + int(1..4)]) + = conjure_aux1 + | q17 : int(1..4), q18 : int(1..4)]), + sum([toInt(and([s_ExplicitVarSizeWithFlags_Flags[q17], s_ExplicitVarSizeWithFlags_Flags[q18], + s_ExplicitVarSizeWithFlags_Values[q17] != s_ExplicitVarSizeWithFlags_Values[q18], + allDiff([s_ExplicitVarSizeWithFlags_Values[q17] + s_ExplicitVarSizeWithFlags_Values[q18], + s_ExplicitVarSizeWithFlags_Values[q17] * s_ExplicitVarSizeWithFlags_Values[q18], + s_ExplicitVarSizeWithFlags_Values[q17] / s_ExplicitVarSizeWithFlags_Values[q18]; + int(1..3)]), + (s_ExplicitVarSizeWithFlags_Values[q17] - s_ExplicitVarSizeWithFlags_Values[q18]) % 2 = 0; + int(1..5)])) + | q17 : int(1..4), q18 : int(1..4)]) + = 0 + -> conjure_aux1 = -16, + x = conjure_aux1, + sum([toInt(and([s_ExplicitVarSizeWithFlags_Flags[q17], s_ExplicitVarSizeWithFlags_Flags[q18], + s_ExplicitVarSizeWithFlags_Values[q17] != s_ExplicitVarSizeWithFlags_Values[q18], + allDiff([s_ExplicitVarSizeWithFlags_Values[q17] + s_ExplicitVarSizeWithFlags_Values[q18], + s_ExplicitVarSizeWithFlags_Values[q17] * s_ExplicitVarSizeWithFlags_Values[q18], + s_ExplicitVarSizeWithFlags_Values[q17] / s_ExplicitVarSizeWithFlags_Values[q18]; + int(1..3)]), + (s_ExplicitVarSizeWithFlags_Values[q17] - s_ExplicitVarSizeWithFlags_Values[q18]) % 2 = 0; + int(1..5)])) + | q17 : int(1..4), q18 : int(1..4)]) + > 0, + and([s_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + s_ExplicitVarSizeWithFlags_Values[q1] < s_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..3)]), + and([s_ExplicitVarSizeWithFlags_Flags[q2] = false -> s_ExplicitVarSizeWithFlags_Values[q2] = 1 | q2 : int(1..4)]), + and([s_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> s_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..3)]), + and([q6 + 1 <= s_ExplicitVarSizeWithMarker_Marker -> + s_ExplicitVarSizeWithMarker_Values[q6] < s_ExplicitVarSizeWithMarker_Values[q6 + 1] + | q6 : int(1..3)]), + and([q7 > s_ExplicitVarSizeWithMarker_Marker -> s_ExplicitVarSizeWithMarker_Values[q7] = 1 | q7 : int(1..4)]), + and([q10 <= s_ExplicitVarSizeWithMarker_Marker -> + or([s_ExplicitVarSizeWithFlags_Flags[q12] /\ + s_ExplicitVarSizeWithFlags_Values[q12] = s_ExplicitVarSizeWithMarker_Values[q10] + | q12 : int(1..4)]) + | q10 : int(1..4)]), + and([s_ExplicitVarSizeWithFlags_Flags[q14] -> + or([q16 <= s_ExplicitVarSizeWithMarker_Marker /\ + s_ExplicitVarSizeWithMarker_Values[q16] = s_ExplicitVarSizeWithFlags_Values[q14] + | q16 : int(1..4)]) + | q14 : int(1..4)]) + diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_4_4_4-solution000001.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_4_4_4-solution000001.solution new file mode 100644 index 0000000000..8b4ecbb66d --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_4_4_4-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 3} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_4_4_4-solution000002.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_4_4_4-solution000002.solution new file mode 100644 index 0000000000..159a613983 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_4_4_4-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {2, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_4_4_4-solution000003.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_4_4_4-solution000003.solution new file mode 100644 index 0000000000..5963aac565 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_4_4_4-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 3} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_4_4_4-solution000004.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_4_4_4-solution000004.solution new file mode 100644 index 0000000000..6eeacc9727 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_4_4_4-solution000004.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_4_4_4-solution000005.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_4_4_4-solution000005.solution new file mode 100644 index 0000000000..560dd0f2f7 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_4_4_4-solution000005.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 3, 4} +letting x be -2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_4_4_4-solution000006.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_4_4_4-solution000006.solution new file mode 100644 index 0000000000..40f3fd5c8f --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_4_4_4-solution000006.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {2, 3, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_4_4_4-solution000007.solution b/tests/exhaustive/basic/comprehension_letting/expected/model_4_4_4-solution000007.solution new file mode 100644 index 0000000000..bd956f44e3 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_4_4_4-solution000007.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting s be {1, 2, 3, 4} +letting x be 2 diff --git a/tests/exhaustive/basic/comprehension_letting/expected/model_4_4_4.eprime b/tests/exhaustive/basic/comprehension_letting/expected/model_4_4_4.eprime new file mode 100644 index 0000000000..bf58b8c524 --- /dev/null +++ b/tests/exhaustive/basic/comprehension_letting/expected/model_4_4_4.eprime @@ -0,0 +1,80 @@ +language ESSENCE' 1.0 + +find s_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find s_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +letting let1 be -100 +find x: int(-100..100) +find conjure_aux1: int(-16..3) +branching on [s_ExplicitVarSizeWithFlags_Flags, s_ExplicitVarSizeWithFlags_Values, x] +such that + and([and([s_ExplicitVarSizeWithFlags_Flags[q6], s_ExplicitVarSizeWithFlags_Flags[q7], + s_ExplicitVarSizeWithFlags_Values[q6] != s_ExplicitVarSizeWithFlags_Values[q7], + allDiff([s_ExplicitVarSizeWithFlags_Values[q6] + s_ExplicitVarSizeWithFlags_Values[q7], + s_ExplicitVarSizeWithFlags_Values[q6] * s_ExplicitVarSizeWithFlags_Values[q7], + s_ExplicitVarSizeWithFlags_Values[q6] / s_ExplicitVarSizeWithFlags_Values[q7]; + int(1..3)]), + (s_ExplicitVarSizeWithFlags_Values[q6] - s_ExplicitVarSizeWithFlags_Values[q7]) % 2 = 0; + int(1..5)]) + -> + min([s_ExplicitVarSizeWithFlags_Values[q6] + s_ExplicitVarSizeWithFlags_Values[q7], + s_ExplicitVarSizeWithFlags_Values[q6] - s_ExplicitVarSizeWithFlags_Values[q7], + s_ExplicitVarSizeWithFlags_Values[q6] * s_ExplicitVarSizeWithFlags_Values[q7], + s_ExplicitVarSizeWithFlags_Values[q6] / s_ExplicitVarSizeWithFlags_Values[q7]; + int(1..4)]) + <= conjure_aux1 + | q6 : int(1..4), q7 : int(1..4)]), + sum([toInt(and([s_ExplicitVarSizeWithFlags_Flags[q6], s_ExplicitVarSizeWithFlags_Flags[q7], + s_ExplicitVarSizeWithFlags_Values[q6] != s_ExplicitVarSizeWithFlags_Values[q7], + allDiff([s_ExplicitVarSizeWithFlags_Values[q6] + s_ExplicitVarSizeWithFlags_Values[q7], + s_ExplicitVarSizeWithFlags_Values[q6] * s_ExplicitVarSizeWithFlags_Values[q7], + s_ExplicitVarSizeWithFlags_Values[q6] / s_ExplicitVarSizeWithFlags_Values[q7]; + int(1..3)]), + (s_ExplicitVarSizeWithFlags_Values[q6] - s_ExplicitVarSizeWithFlags_Values[q7]) % 2 = 0; + int(1..5)])) + | q6 : int(1..4), q7 : int(1..4)]) + > 0 + -> + or([and([s_ExplicitVarSizeWithFlags_Flags[q6], s_ExplicitVarSizeWithFlags_Flags[q7], + s_ExplicitVarSizeWithFlags_Values[q6] != s_ExplicitVarSizeWithFlags_Values[q7], + allDiff([s_ExplicitVarSizeWithFlags_Values[q6] + s_ExplicitVarSizeWithFlags_Values[q7], + s_ExplicitVarSizeWithFlags_Values[q6] * s_ExplicitVarSizeWithFlags_Values[q7], + s_ExplicitVarSizeWithFlags_Values[q6] / s_ExplicitVarSizeWithFlags_Values[q7]; + int(1..3)]), + (s_ExplicitVarSizeWithFlags_Values[q6] - s_ExplicitVarSizeWithFlags_Values[q7]) % 2 = 0; + int(1..5)]) + /\ + min([s_ExplicitVarSizeWithFlags_Values[q6] + s_ExplicitVarSizeWithFlags_Values[q7], + s_ExplicitVarSizeWithFlags_Values[q6] - s_ExplicitVarSizeWithFlags_Values[q7], + s_ExplicitVarSizeWithFlags_Values[q6] * s_ExplicitVarSizeWithFlags_Values[q7], + s_ExplicitVarSizeWithFlags_Values[q6] / s_ExplicitVarSizeWithFlags_Values[q7]; + int(1..4)]) + = conjure_aux1 + | q6 : int(1..4), q7 : int(1..4)]), + sum([toInt(and([s_ExplicitVarSizeWithFlags_Flags[q6], s_ExplicitVarSizeWithFlags_Flags[q7], + s_ExplicitVarSizeWithFlags_Values[q6] != s_ExplicitVarSizeWithFlags_Values[q7], + allDiff([s_ExplicitVarSizeWithFlags_Values[q6] + s_ExplicitVarSizeWithFlags_Values[q7], + s_ExplicitVarSizeWithFlags_Values[q6] * s_ExplicitVarSizeWithFlags_Values[q7], + s_ExplicitVarSizeWithFlags_Values[q6] / s_ExplicitVarSizeWithFlags_Values[q7]; + int(1..3)]), + (s_ExplicitVarSizeWithFlags_Values[q6] - s_ExplicitVarSizeWithFlags_Values[q7]) % 2 = 0; + int(1..5)])) + | q6 : int(1..4), q7 : int(1..4)]) + = 0 + -> conjure_aux1 = -16, + x = conjure_aux1, + sum([toInt(and([s_ExplicitVarSizeWithFlags_Flags[q6], s_ExplicitVarSizeWithFlags_Flags[q7], + s_ExplicitVarSizeWithFlags_Values[q6] != s_ExplicitVarSizeWithFlags_Values[q7], + allDiff([s_ExplicitVarSizeWithFlags_Values[q6] + s_ExplicitVarSizeWithFlags_Values[q7], + s_ExplicitVarSizeWithFlags_Values[q6] * s_ExplicitVarSizeWithFlags_Values[q7], + s_ExplicitVarSizeWithFlags_Values[q6] / s_ExplicitVarSizeWithFlags_Values[q7]; + int(1..3)]), + (s_ExplicitVarSizeWithFlags_Values[q6] - s_ExplicitVarSizeWithFlags_Values[q7]) % 2 = 0; + int(1..5)])) + | q6 : int(1..4), q7 : int(1..4)]) + > 0, + and([s_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + s_ExplicitVarSizeWithFlags_Values[q1] < s_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..3)]), + and([s_ExplicitVarSizeWithFlags_Flags[q2] = false -> s_ExplicitVarSizeWithFlags_Values[q2] = 1 | q2 : int(1..4)]), + and([s_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> s_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..3)]) + diff --git a/tests/exhaustive/basic/cut_01_off/expected/model_2.eprime b/tests/exhaustive/basic/cut_01_off/expected/model_2.eprime index 37164ea2c4..3d1fd14c52 100644 --- a/tests/exhaustive/basic/cut_01_off/expected/model_2.eprime +++ b/tests/exhaustive/basic/cut_01_off/expected/model_2.eprime @@ -3,8 +3,7 @@ language ESSENCE' 1.0 find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..3)] of int(1..4) branching on [x_ExplicitVarSizeWithDummy] such that - and([[x_ExplicitVarSizeWithDummy[q1]; int(1)] x_ExplicitVarSizeWithDummy[q2 + 1] = 4 | q2 : int(1..2)]) diff --git a/tests/exhaustive/basic/cut_01_off/expected/model_3.eprime b/tests/exhaustive/basic/cut_01_off/expected/model_3.eprime index 2450f96648..d729b76811 100644 --- a/tests/exhaustive/basic/cut_01_off/expected/model_3.eprime +++ b/tests/exhaustive/basic/cut_01_off/expected/model_3.eprime @@ -5,7 +5,7 @@ find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..3)] of int(1. branching on [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values] such that and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> - [x_ExplicitVarSizeWithMarker_Values[q1]; int(1)] x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 1 | q2 : int(1..3)]) diff --git a/tests/exhaustive/basic/cut_01_off/expected/model_4.eprime b/tests/exhaustive/basic/cut_01_off/expected/model_4.eprime index d0b0cedea3..1f10b1c798 100644 --- a/tests/exhaustive/basic/cut_01_off/expected/model_4.eprime +++ b/tests/exhaustive/basic/cut_01_off/expected/model_4.eprime @@ -5,7 +5,7 @@ find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..3)] of int(1.. branching on [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values] such that and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> - [x_ExplicitVarSizeWithFlags_Values[q1]; int(1)] x_ExplicitVarSizeWithFlags_Values[q2] = 1 | q2 : int(1..3)]), and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..2)]) diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_1_1_1-solution000001.solution b/tests/exhaustive/basic/cut_01_on/expected/model_1_1_1-solution000001.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_1_1_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_1_1_1-solution000002.solution b/tests/exhaustive/basic/cut_01_on/expected/model_1_1_1-solution000002.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_1_1_1-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_1_1_1-solution000003.solution b/tests/exhaustive/basic/cut_01_on/expected/model_1_1_1-solution000003.solution new file mode 100644 index 0000000000..de5cc861ad --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_1_1_1-solution000003.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_1_1_1-solution000004.solution b/tests/exhaustive/basic/cut_01_on/expected/model_1_1_1-solution000004.solution new file mode 100644 index 0000000000..a28b6d6203 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_1_1_1-solution000004.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_1_1_1-solution000005.solution b/tests/exhaustive/basic/cut_01_on/expected/model_1_1_1-solution000005.solution new file mode 100644 index 0000000000..1a734343d9 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_1_1_1-solution000005.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_1_1_1-solution000006.solution b/tests/exhaustive/basic/cut_01_on/expected/model_1_1_1-solution000006.solution new file mode 100644 index 0000000000..86a85825b3 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_1_1_1-solution000006.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_1_1_1-solution000007.solution b/tests/exhaustive/basic/cut_01_on/expected/model_1_1_1-solution000007.solution new file mode 100644 index 0000000000..76bc8cdc32 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_1_1_1-solution000007.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {2} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_1_1_1-solution000008.solution b/tests/exhaustive/basic/cut_01_on/expected/model_1_1_1-solution000008.solution new file mode 100644 index 0000000000..8dddb3b359 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_1_1_1-solution000008.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {2, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_1_1_1.eprime b/tests/exhaustive/basic/cut_01_on/expected/model_1_1_1.eprime new file mode 100644 index 0000000000..bc8f37139a --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_1_1_1.eprime @@ -0,0 +1,10 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1..3)] of bool +find cut1: bool +find cut2: bool +branching on [cut1, cut2, x_Occurrence] +such that + !cut1 <-> x_Occurrence[1] /\ x_Occurrence[2], + !cut2 <-> x_Occurrence[1] + diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_1_1_2-solution000001.solution b/tests/exhaustive/basic/cut_01_on/expected/model_1_1_2-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_1_1_2-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_1_1_2-solution000002.solution b/tests/exhaustive/basic/cut_01_on/expected/model_1_1_2-solution000002.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_1_1_2-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_1_1_2-solution000003.solution b/tests/exhaustive/basic/cut_01_on/expected/model_1_1_2-solution000003.solution new file mode 100644 index 0000000000..a28b6d6203 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_1_1_2-solution000003.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_1_1_2-solution000004.solution b/tests/exhaustive/basic/cut_01_on/expected/model_1_1_2-solution000004.solution new file mode 100644 index 0000000000..de5cc861ad --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_1_1_2-solution000004.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_1_1_2-solution000005.solution b/tests/exhaustive/basic/cut_01_on/expected/model_1_1_2-solution000005.solution new file mode 100644 index 0000000000..8dddb3b359 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_1_1_2-solution000005.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {2, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_1_1_2-solution000006.solution b/tests/exhaustive/basic/cut_01_on/expected/model_1_1_2-solution000006.solution new file mode 100644 index 0000000000..76bc8cdc32 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_1_1_2-solution000006.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {2} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_1_1_2-solution000007.solution b/tests/exhaustive/basic/cut_01_on/expected/model_1_1_2-solution000007.solution new file mode 100644 index 0000000000..86a85825b3 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_1_1_2-solution000007.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_1_1_2-solution000008.solution b/tests/exhaustive/basic/cut_01_on/expected/model_1_1_2-solution000008.solution new file mode 100644 index 0000000000..1a734343d9 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_1_1_2-solution000008.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_1_1_2.eprime b/tests/exhaustive/basic/cut_01_on/expected/model_1_1_2.eprime new file mode 100644 index 0000000000..8a8719673a --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_1_1_2.eprime @@ -0,0 +1,18 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1..3)] of bool +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..3)] of int(1..4) +find cut1: bool +find cut2: bool +branching on [cut1, cut2, x_ExplicitVarSizeWithDummy, x_Occurrence] +such that + !cut1 <-> x_Occurrence[1] /\ x_Occurrence[2], + !cut2 <-> x_Occurrence[1], + and([x_ExplicitVarSizeWithDummy[q2] < x_ExplicitVarSizeWithDummy[q2 + 1] \/ x_ExplicitVarSizeWithDummy[q2] = 4 + | q2 : int(1..2)]), + and([x_ExplicitVarSizeWithDummy[q3] = 4 -> x_ExplicitVarSizeWithDummy[q3 + 1] = 4 | q3 : int(1..2)]), + and([x_ExplicitVarSizeWithDummy[q7] != 4 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q7]] | q7 : int(1..3)]), + and([x_Occurrence[q8] -> + or([x_ExplicitVarSizeWithDummy[q10] != 4 /\ x_ExplicitVarSizeWithDummy[q10] = q8 | q10 : int(1..3)]) + | q8 : int(1..3)]) + diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_1_1_3-solution000001.solution b/tests/exhaustive/basic/cut_01_on/expected/model_1_1_3-solution000001.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_1_1_3-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_1_1_3-solution000002.solution b/tests/exhaustive/basic/cut_01_on/expected/model_1_1_3-solution000002.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_1_1_3-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_1_1_3-solution000003.solution b/tests/exhaustive/basic/cut_01_on/expected/model_1_1_3-solution000003.solution new file mode 100644 index 0000000000..de5cc861ad --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_1_1_3-solution000003.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_1_1_3-solution000004.solution b/tests/exhaustive/basic/cut_01_on/expected/model_1_1_3-solution000004.solution new file mode 100644 index 0000000000..a28b6d6203 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_1_1_3-solution000004.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_1_1_3-solution000005.solution b/tests/exhaustive/basic/cut_01_on/expected/model_1_1_3-solution000005.solution new file mode 100644 index 0000000000..1a734343d9 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_1_1_3-solution000005.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_1_1_3-solution000006.solution b/tests/exhaustive/basic/cut_01_on/expected/model_1_1_3-solution000006.solution new file mode 100644 index 0000000000..76bc8cdc32 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_1_1_3-solution000006.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {2} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_1_1_3-solution000007.solution b/tests/exhaustive/basic/cut_01_on/expected/model_1_1_3-solution000007.solution new file mode 100644 index 0000000000..86a85825b3 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_1_1_3-solution000007.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_1_1_3-solution000008.solution b/tests/exhaustive/basic/cut_01_on/expected/model_1_1_3-solution000008.solution new file mode 100644 index 0000000000..8dddb3b359 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_1_1_3-solution000008.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {2, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_1_1_3.eprime b/tests/exhaustive/basic/cut_01_on/expected/model_1_1_3.eprime new file mode 100644 index 0000000000..5406286e79 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_1_1_3.eprime @@ -0,0 +1,21 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1..3)] of bool +find x_ExplicitVarSizeWithMarker_Marker: int(0..3) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..3)] of int(1..3) +find cut1: bool +find cut2: bool +branching on [cut1, cut2, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_Occurrence] +such that + !cut1 <-> x_Occurrence[1] /\ x_Occurrence[2], + !cut2 <-> x_Occurrence[1], + and([q2 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q2] < x_ExplicitVarSizeWithMarker_Values[q2 + 1] + | q2 : int(1..2)]), + and([q3 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q3] = 1 | q3 : int(1..3)]), + and([q6 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q6]] + | q6 : int(1..3)]), + and([x_Occurrence[q7] -> + or([q9 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q9] = q7 | q9 : int(1..3)]) + | q7 : int(1..3)]) + diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_1_1_4-solution000001.solution b/tests/exhaustive/basic/cut_01_on/expected/model_1_1_4-solution000001.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_1_1_4-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_1_1_4-solution000002.solution b/tests/exhaustive/basic/cut_01_on/expected/model_1_1_4-solution000002.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_1_1_4-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_1_1_4-solution000003.solution b/tests/exhaustive/basic/cut_01_on/expected/model_1_1_4-solution000003.solution new file mode 100644 index 0000000000..de5cc861ad --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_1_1_4-solution000003.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_1_1_4-solution000004.solution b/tests/exhaustive/basic/cut_01_on/expected/model_1_1_4-solution000004.solution new file mode 100644 index 0000000000..a28b6d6203 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_1_1_4-solution000004.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_1_1_4-solution000005.solution b/tests/exhaustive/basic/cut_01_on/expected/model_1_1_4-solution000005.solution new file mode 100644 index 0000000000..1a734343d9 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_1_1_4-solution000005.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_1_1_4-solution000006.solution b/tests/exhaustive/basic/cut_01_on/expected/model_1_1_4-solution000006.solution new file mode 100644 index 0000000000..76bc8cdc32 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_1_1_4-solution000006.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {2} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_1_1_4-solution000007.solution b/tests/exhaustive/basic/cut_01_on/expected/model_1_1_4-solution000007.solution new file mode 100644 index 0000000000..86a85825b3 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_1_1_4-solution000007.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_1_1_4-solution000008.solution b/tests/exhaustive/basic/cut_01_on/expected/model_1_1_4-solution000008.solution new file mode 100644 index 0000000000..8dddb3b359 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_1_1_4-solution000008.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {2, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_1_1_4.eprime b/tests/exhaustive/basic/cut_01_on/expected/model_1_1_4.eprime new file mode 100644 index 0000000000..97272a9274 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_1_1_4.eprime @@ -0,0 +1,21 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1..3)] of bool +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..3)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..3)] of int(1..3) +find cut1: bool +find cut2: bool +branching on [cut1, cut2, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_Occurrence] +such that + !cut1 <-> x_Occurrence[1] /\ x_Occurrence[2], + !cut2 <-> x_Occurrence[1], + and([x_ExplicitVarSizeWithFlags_Flags[q2 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q2] < x_ExplicitVarSizeWithFlags_Values[q2 + 1] + | q2 : int(1..2)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3] = false -> x_ExplicitVarSizeWithFlags_Values[q3] = 1 | q3 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q4 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q4] | q4 : int(1..2)]), + and([x_ExplicitVarSizeWithFlags_Flags[q8] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q8]] | q8 : int(1..3)]), + and([x_Occurrence[q9] -> + or([x_ExplicitVarSizeWithFlags_Flags[q11] /\ x_ExplicitVarSizeWithFlags_Values[q11] = q9 | q11 : int(1..3)]) + | q9 : int(1..3)]) + diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_1_2_1-solution000001.solution b/tests/exhaustive/basic/cut_01_on/expected/model_1_2_1-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_1_2_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_1_2_1-solution000002.solution b/tests/exhaustive/basic/cut_01_on/expected/model_1_2_1-solution000002.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_1_2_1-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_1_2_1-solution000003.solution b/tests/exhaustive/basic/cut_01_on/expected/model_1_2_1-solution000003.solution new file mode 100644 index 0000000000..a28b6d6203 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_1_2_1-solution000003.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_1_2_1-solution000004.solution b/tests/exhaustive/basic/cut_01_on/expected/model_1_2_1-solution000004.solution new file mode 100644 index 0000000000..de5cc861ad --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_1_2_1-solution000004.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_1_2_1-solution000005.solution b/tests/exhaustive/basic/cut_01_on/expected/model_1_2_1-solution000005.solution new file mode 100644 index 0000000000..8dddb3b359 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_1_2_1-solution000005.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {2, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_1_2_1-solution000006.solution b/tests/exhaustive/basic/cut_01_on/expected/model_1_2_1-solution000006.solution new file mode 100644 index 0000000000..76bc8cdc32 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_1_2_1-solution000006.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {2} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_1_2_1-solution000007.solution b/tests/exhaustive/basic/cut_01_on/expected/model_1_2_1-solution000007.solution new file mode 100644 index 0000000000..86a85825b3 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_1_2_1-solution000007.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_1_2_1-solution000008.solution b/tests/exhaustive/basic/cut_01_on/expected/model_1_2_1-solution000008.solution new file mode 100644 index 0000000000..1a734343d9 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_1_2_1-solution000008.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_1_2_1.eprime.orig b/tests/exhaustive/basic/cut_01_on/expected/model_1_2_1.eprime.orig deleted file mode 100644 index bdba13c665..0000000000 --- a/tests/exhaustive/basic/cut_01_on/expected/model_1_2_1.eprime.orig +++ /dev/null @@ -1,18 +0,0 @@ -language ESSENCE' 1.0 - -find x_Occurrence: matrix indexed by [int(1..3)] of bool -find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..3)] of int(1..4) -find cut1: bool -find cut2: bool -branching on [cut1, cut2, x_ExplicitVarSizeWithDummy, x_Occurrence] -such that - !cut1 <-> x_Occurrence[1] /\ x_Occurrence[2], - !cut2 <-> or([x_ExplicitVarSizeWithDummy[q13] != 4 /\ x_ExplicitVarSizeWithDummy[q13] = 1 | q13 : int(1..3)]), - and([x_ExplicitVarSizeWithDummy[q2] < x_ExplicitVarSizeWithDummy[q2 + 1] \/ x_ExplicitVarSizeWithDummy[q2] = 4 - | q2 : int(1..2)]), - and([x_ExplicitVarSizeWithDummy[q3] = 4 -> x_ExplicitVarSizeWithDummy[q3 + 1] = 4 | q3 : int(1..2)]), - and([x_ExplicitVarSizeWithDummy[q7] != 4 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q7]] | q7 : int(1..3)]), - and([x_Occurrence[q8] -> - or([x_ExplicitVarSizeWithDummy[q10] != 4 /\ x_ExplicitVarSizeWithDummy[q10] = q8 | q10 : int(1..3)]) - | q8 : int(1..3)]) - diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_1_2_2.eprime.orig b/tests/exhaustive/basic/cut_01_on/expected/model_1_2_2.eprime.orig deleted file mode 100644 index bdba13c665..0000000000 --- a/tests/exhaustive/basic/cut_01_on/expected/model_1_2_2.eprime.orig +++ /dev/null @@ -1,18 +0,0 @@ -language ESSENCE' 1.0 - -find x_Occurrence: matrix indexed by [int(1..3)] of bool -find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..3)] of int(1..4) -find cut1: bool -find cut2: bool -branching on [cut1, cut2, x_ExplicitVarSizeWithDummy, x_Occurrence] -such that - !cut1 <-> x_Occurrence[1] /\ x_Occurrence[2], - !cut2 <-> or([x_ExplicitVarSizeWithDummy[q13] != 4 /\ x_ExplicitVarSizeWithDummy[q13] = 1 | q13 : int(1..3)]), - and([x_ExplicitVarSizeWithDummy[q2] < x_ExplicitVarSizeWithDummy[q2 + 1] \/ x_ExplicitVarSizeWithDummy[q2] = 4 - | q2 : int(1..2)]), - and([x_ExplicitVarSizeWithDummy[q3] = 4 -> x_ExplicitVarSizeWithDummy[q3 + 1] = 4 | q3 : int(1..2)]), - and([x_ExplicitVarSizeWithDummy[q7] != 4 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q7]] | q7 : int(1..3)]), - and([x_Occurrence[q8] -> - or([x_ExplicitVarSizeWithDummy[q10] != 4 /\ x_ExplicitVarSizeWithDummy[q10] = q8 | q10 : int(1..3)]) - | q8 : int(1..3)]) - diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_1_2_3-solution000001.solution b/tests/exhaustive/basic/cut_01_on/expected/model_1_2_3-solution000001.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_1_2_3-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_1_2_3-solution000002.solution b/tests/exhaustive/basic/cut_01_on/expected/model_1_2_3-solution000002.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_1_2_3-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_1_2_3-solution000003.solution b/tests/exhaustive/basic/cut_01_on/expected/model_1_2_3-solution000003.solution new file mode 100644 index 0000000000..de5cc861ad --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_1_2_3-solution000003.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_1_2_3-solution000004.solution b/tests/exhaustive/basic/cut_01_on/expected/model_1_2_3-solution000004.solution new file mode 100644 index 0000000000..a28b6d6203 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_1_2_3-solution000004.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_1_2_3-solution000005.solution b/tests/exhaustive/basic/cut_01_on/expected/model_1_2_3-solution000005.solution new file mode 100644 index 0000000000..1a734343d9 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_1_2_3-solution000005.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_1_2_3-solution000006.solution b/tests/exhaustive/basic/cut_01_on/expected/model_1_2_3-solution000006.solution new file mode 100644 index 0000000000..76bc8cdc32 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_1_2_3-solution000006.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {2} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_1_2_3-solution000007.solution b/tests/exhaustive/basic/cut_01_on/expected/model_1_2_3-solution000007.solution new file mode 100644 index 0000000000..86a85825b3 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_1_2_3-solution000007.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_1_2_3-solution000008.solution b/tests/exhaustive/basic/cut_01_on/expected/model_1_2_3-solution000008.solution new file mode 100644 index 0000000000..8dddb3b359 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_1_2_3-solution000008.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {2, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_1_2_3.eprime.orig b/tests/exhaustive/basic/cut_01_on/expected/model_1_2_3.eprime.orig deleted file mode 100644 index ae3d5b6397..0000000000 --- a/tests/exhaustive/basic/cut_01_on/expected/model_1_2_3.eprime.orig +++ /dev/null @@ -1,42 +0,0 @@ -language ESSENCE' 1.0 - -find x_Occurrence: matrix indexed by [int(1..3)] of bool -find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..3)] of int(1..4) -find x_ExplicitVarSizeWithMarker_Marker: int(0..3) -find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..3)] of int(1..3) -find cut1: bool -find cut2: bool -branching on - [cut1, cut2, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_Occurrence, - x_ExplicitVarSizeWithDummy] -such that - !cut1 <-> x_Occurrence[1] /\ x_Occurrence[2], - !cut2 <-> or([x_ExplicitVarSizeWithDummy[q29] != 4 /\ x_ExplicitVarSizeWithDummy[q29] = 1 | q29 : int(1..3)]), - and([x_ExplicitVarSizeWithDummy[q2] < x_ExplicitVarSizeWithDummy[q2 + 1] \/ x_ExplicitVarSizeWithDummy[q2] = 4 - | q2 : int(1..2)]), - and([x_ExplicitVarSizeWithDummy[q3] = 4 -> x_ExplicitVarSizeWithDummy[q3 + 1] = 4 | q3 : int(1..2)]), - and([x_ExplicitVarSizeWithDummy[q7] != 4 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q7]] | q7 : int(1..3)]), - and([x_Occurrence[q8] -> - or([x_ExplicitVarSizeWithDummy[q10] != 4 /\ x_ExplicitVarSizeWithDummy[q10] = q8 | q10 : int(1..3)]) - | q8 : int(1..3)]), - and([q11 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> - x_ExplicitVarSizeWithMarker_Values[q11] < x_ExplicitVarSizeWithMarker_Values[q11 + 1] - | q11 : int(1..2)]), - and([q12 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q12] = 1 | q12 : int(1..3)]), - and([q15 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q15]] - | q15 : int(1..3)]), - and([x_Occurrence[q16] -> - or([q18 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q18] = q16 - | q18 : int(1..3)]) - | q16 : int(1..3)]), - and([q20 <= x_ExplicitVarSizeWithMarker_Marker -> - or([x_ExplicitVarSizeWithDummy[q22] != 4 /\ - x_ExplicitVarSizeWithDummy[q22] = x_ExplicitVarSizeWithMarker_Values[q20] - | q22 : int(1..3)]) - | q20 : int(1..3)]), - and([x_ExplicitVarSizeWithDummy[q24] != 4 -> - or([q26 <= x_ExplicitVarSizeWithMarker_Marker /\ - x_ExplicitVarSizeWithMarker_Values[q26] = x_ExplicitVarSizeWithDummy[q24] - | q26 : int(1..3)]) - | q24 : int(1..3)]) - diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_1_2_4-solution000001.solution b/tests/exhaustive/basic/cut_01_on/expected/model_1_2_4-solution000001.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_1_2_4-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_1_2_4-solution000002.solution b/tests/exhaustive/basic/cut_01_on/expected/model_1_2_4-solution000002.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_1_2_4-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_1_2_4-solution000003.solution b/tests/exhaustive/basic/cut_01_on/expected/model_1_2_4-solution000003.solution new file mode 100644 index 0000000000..de5cc861ad --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_1_2_4-solution000003.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_1_2_4-solution000004.solution b/tests/exhaustive/basic/cut_01_on/expected/model_1_2_4-solution000004.solution new file mode 100644 index 0000000000..a28b6d6203 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_1_2_4-solution000004.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_1_2_4-solution000005.solution b/tests/exhaustive/basic/cut_01_on/expected/model_1_2_4-solution000005.solution new file mode 100644 index 0000000000..1a734343d9 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_1_2_4-solution000005.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_1_2_4-solution000006.solution b/tests/exhaustive/basic/cut_01_on/expected/model_1_2_4-solution000006.solution new file mode 100644 index 0000000000..76bc8cdc32 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_1_2_4-solution000006.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {2} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_1_2_4-solution000007.solution b/tests/exhaustive/basic/cut_01_on/expected/model_1_2_4-solution000007.solution new file mode 100644 index 0000000000..86a85825b3 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_1_2_4-solution000007.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_1_2_4-solution000008.solution b/tests/exhaustive/basic/cut_01_on/expected/model_1_2_4-solution000008.solution new file mode 100644 index 0000000000..8dddb3b359 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_1_2_4-solution000008.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {2, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_1_2_4.eprime.orig b/tests/exhaustive/basic/cut_01_on/expected/model_1_2_4.eprime.orig deleted file mode 100644 index 51db4a59f6..0000000000 --- a/tests/exhaustive/basic/cut_01_on/expected/model_1_2_4.eprime.orig +++ /dev/null @@ -1,43 +0,0 @@ -language ESSENCE' 1.0 - -find x_Occurrence: matrix indexed by [int(1..3)] of bool -find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..3)] of int(1..4) -find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..3)] of bool -find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..3)] of int(1..3) -find cut1: bool -find cut2: bool -branching on - [cut1, cut2, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_Occurrence, - x_ExplicitVarSizeWithDummy] -such that - !cut1 <-> x_Occurrence[1] /\ x_Occurrence[2], - !cut2 <-> or([x_ExplicitVarSizeWithDummy[q31] != 4 /\ x_ExplicitVarSizeWithDummy[q31] = 1 | q31 : int(1..3)]), - and([x_ExplicitVarSizeWithDummy[q2] < x_ExplicitVarSizeWithDummy[q2 + 1] \/ x_ExplicitVarSizeWithDummy[q2] = 4 - | q2 : int(1..2)]), - and([x_ExplicitVarSizeWithDummy[q3] = 4 -> x_ExplicitVarSizeWithDummy[q3 + 1] = 4 | q3 : int(1..2)]), - and([x_ExplicitVarSizeWithDummy[q7] != 4 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q7]] | q7 : int(1..3)]), - and([x_Occurrence[q8] -> - or([x_ExplicitVarSizeWithDummy[q10] != 4 /\ x_ExplicitVarSizeWithDummy[q10] = q8 | q10 : int(1..3)]) - | q8 : int(1..3)]), - and([x_ExplicitVarSizeWithFlags_Flags[q11 + 1] -> - x_ExplicitVarSizeWithFlags_Values[q11] < x_ExplicitVarSizeWithFlags_Values[q11 + 1] - | q11 : int(1..2)]), - and([x_ExplicitVarSizeWithFlags_Flags[q12] = false -> x_ExplicitVarSizeWithFlags_Values[q12] = 1 - | q12 : int(1..3)]), - and([x_ExplicitVarSizeWithFlags_Flags[q13 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q13] | q13 : int(1..2)]), - and([x_ExplicitVarSizeWithFlags_Flags[q17] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q17]] - | q17 : int(1..3)]), - and([x_Occurrence[q18] -> - or([x_ExplicitVarSizeWithFlags_Flags[q20] /\ x_ExplicitVarSizeWithFlags_Values[q20] = q18 | q20 : int(1..3)]) - | q18 : int(1..3)]), - and([x_ExplicitVarSizeWithFlags_Flags[q22] -> - or([x_ExplicitVarSizeWithDummy[q24] != 4 /\ - x_ExplicitVarSizeWithDummy[q24] = x_ExplicitVarSizeWithFlags_Values[q22] - | q24 : int(1..3)]) - | q22 : int(1..3)]), - and([x_ExplicitVarSizeWithDummy[q26] != 4 -> - or([x_ExplicitVarSizeWithFlags_Flags[q28] /\ - x_ExplicitVarSizeWithFlags_Values[q28] = x_ExplicitVarSizeWithDummy[q26] - | q28 : int(1..3)]) - | q26 : int(1..3)]) - diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_1_3_1-solution000001.solution b/tests/exhaustive/basic/cut_01_on/expected/model_1_3_1-solution000001.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_1_3_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_1_3_1-solution000002.solution b/tests/exhaustive/basic/cut_01_on/expected/model_1_3_1-solution000002.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_1_3_1-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_1_3_1-solution000003.solution b/tests/exhaustive/basic/cut_01_on/expected/model_1_3_1-solution000003.solution new file mode 100644 index 0000000000..de5cc861ad --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_1_3_1-solution000003.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_1_3_1-solution000004.solution b/tests/exhaustive/basic/cut_01_on/expected/model_1_3_1-solution000004.solution new file mode 100644 index 0000000000..a28b6d6203 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_1_3_1-solution000004.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_1_3_1-solution000005.solution b/tests/exhaustive/basic/cut_01_on/expected/model_1_3_1-solution000005.solution new file mode 100644 index 0000000000..1a734343d9 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_1_3_1-solution000005.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_1_3_1-solution000006.solution b/tests/exhaustive/basic/cut_01_on/expected/model_1_3_1-solution000006.solution new file mode 100644 index 0000000000..76bc8cdc32 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_1_3_1-solution000006.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {2} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_1_3_1-solution000007.solution b/tests/exhaustive/basic/cut_01_on/expected/model_1_3_1-solution000007.solution new file mode 100644 index 0000000000..86a85825b3 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_1_3_1-solution000007.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_1_3_1-solution000008.solution b/tests/exhaustive/basic/cut_01_on/expected/model_1_3_1-solution000008.solution new file mode 100644 index 0000000000..8dddb3b359 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_1_3_1-solution000008.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {2, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_1_3_1.eprime.orig b/tests/exhaustive/basic/cut_01_on/expected/model_1_3_1.eprime.orig deleted file mode 100644 index e0ba9b28e5..0000000000 --- a/tests/exhaustive/basic/cut_01_on/expected/model_1_3_1.eprime.orig +++ /dev/null @@ -1,22 +0,0 @@ -language ESSENCE' 1.0 - -find x_Occurrence: matrix indexed by [int(1..3)] of bool -find x_ExplicitVarSizeWithMarker_Marker: int(0..3) -find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..3)] of int(1..3) -find cut1: bool -find cut2: bool -branching on [cut1, cut2, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_Occurrence] -such that - !cut1 <-> x_Occurrence[1] /\ x_Occurrence[2], - !cut2 <-> - or([q12 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q12] = 1 | q12 : int(1..3)]), - and([q2 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> - x_ExplicitVarSizeWithMarker_Values[q2] < x_ExplicitVarSizeWithMarker_Values[q2 + 1] - | q2 : int(1..2)]), - and([q3 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q3] = 1 | q3 : int(1..3)]), - and([q6 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q6]] - | q6 : int(1..3)]), - and([x_Occurrence[q7] -> - or([q9 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q9] = q7 | q9 : int(1..3)]) - | q7 : int(1..3)]) - diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_1_3_2-solution000001.solution b/tests/exhaustive/basic/cut_01_on/expected/model_1_3_2-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_1_3_2-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_1_3_2-solution000002.solution b/tests/exhaustive/basic/cut_01_on/expected/model_1_3_2-solution000002.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_1_3_2-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_1_3_2-solution000003.solution b/tests/exhaustive/basic/cut_01_on/expected/model_1_3_2-solution000003.solution new file mode 100644 index 0000000000..a28b6d6203 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_1_3_2-solution000003.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_1_3_2-solution000004.solution b/tests/exhaustive/basic/cut_01_on/expected/model_1_3_2-solution000004.solution new file mode 100644 index 0000000000..de5cc861ad --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_1_3_2-solution000004.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_1_3_2-solution000005.solution b/tests/exhaustive/basic/cut_01_on/expected/model_1_3_2-solution000005.solution new file mode 100644 index 0000000000..8dddb3b359 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_1_3_2-solution000005.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {2, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_1_3_2-solution000006.solution b/tests/exhaustive/basic/cut_01_on/expected/model_1_3_2-solution000006.solution new file mode 100644 index 0000000000..76bc8cdc32 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_1_3_2-solution000006.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {2} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_1_3_2-solution000007.solution b/tests/exhaustive/basic/cut_01_on/expected/model_1_3_2-solution000007.solution new file mode 100644 index 0000000000..86a85825b3 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_1_3_2-solution000007.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_1_3_2-solution000008.solution b/tests/exhaustive/basic/cut_01_on/expected/model_1_3_2-solution000008.solution new file mode 100644 index 0000000000..1a734343d9 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_1_3_2-solution000008.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_1_3_2.eprime.orig b/tests/exhaustive/basic/cut_01_on/expected/model_1_3_2.eprime.orig deleted file mode 100644 index 73bccb6f90..0000000000 --- a/tests/exhaustive/basic/cut_01_on/expected/model_1_3_2.eprime.orig +++ /dev/null @@ -1,42 +0,0 @@ -language ESSENCE' 1.0 - -find x_Occurrence: matrix indexed by [int(1..3)] of bool -find x_ExplicitVarSizeWithMarker_Marker: int(0..3) -find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..3)] of int(1..3) -find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..3)] of int(1..4) -find cut1: bool -find cut2: bool -branching on - [cut1, cut2, x_ExplicitVarSizeWithDummy, x_Occurrence, x_ExplicitVarSizeWithMarker_Marker, - x_ExplicitVarSizeWithMarker_Values] -such that - !cut1 <-> x_Occurrence[1] /\ x_Occurrence[2], - !cut2 <-> - or([q29 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q29] = 1 | q29 : int(1..3)]), - and([q2 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> - x_ExplicitVarSizeWithMarker_Values[q2] < x_ExplicitVarSizeWithMarker_Values[q2 + 1] - | q2 : int(1..2)]), - and([q3 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q3] = 1 | q3 : int(1..3)]), - and([q6 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q6]] - | q6 : int(1..3)]), - and([x_Occurrence[q7] -> - or([q9 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q9] = q7 | q9 : int(1..3)]) - | q7 : int(1..3)]), - and([x_ExplicitVarSizeWithDummy[q10] < x_ExplicitVarSizeWithDummy[q10 + 1] \/ x_ExplicitVarSizeWithDummy[q10] = 4 - | q10 : int(1..2)]), - and([x_ExplicitVarSizeWithDummy[q11] = 4 -> x_ExplicitVarSizeWithDummy[q11 + 1] = 4 | q11 : int(1..2)]), - and([x_ExplicitVarSizeWithDummy[q15] != 4 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q15]] | q15 : int(1..3)]), - and([x_Occurrence[q16] -> - or([x_ExplicitVarSizeWithDummy[q18] != 4 /\ x_ExplicitVarSizeWithDummy[q18] = q16 | q18 : int(1..3)]) - | q16 : int(1..3)]), - and([x_ExplicitVarSizeWithDummy[q20] != 4 -> - or([q22 <= x_ExplicitVarSizeWithMarker_Marker /\ - x_ExplicitVarSizeWithMarker_Values[q22] = x_ExplicitVarSizeWithDummy[q20] - | q22 : int(1..3)]) - | q20 : int(1..3)]), - and([q24 <= x_ExplicitVarSizeWithMarker_Marker -> - or([x_ExplicitVarSizeWithDummy[q26] != 4 /\ - x_ExplicitVarSizeWithDummy[q26] = x_ExplicitVarSizeWithMarker_Values[q24] - | q26 : int(1..3)]) - | q24 : int(1..3)]) - diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_1_3_3.eprime.orig b/tests/exhaustive/basic/cut_01_on/expected/model_1_3_3.eprime.orig deleted file mode 100644 index e0ba9b28e5..0000000000 --- a/tests/exhaustive/basic/cut_01_on/expected/model_1_3_3.eprime.orig +++ /dev/null @@ -1,22 +0,0 @@ -language ESSENCE' 1.0 - -find x_Occurrence: matrix indexed by [int(1..3)] of bool -find x_ExplicitVarSizeWithMarker_Marker: int(0..3) -find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..3)] of int(1..3) -find cut1: bool -find cut2: bool -branching on [cut1, cut2, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_Occurrence] -such that - !cut1 <-> x_Occurrence[1] /\ x_Occurrence[2], - !cut2 <-> - or([q12 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q12] = 1 | q12 : int(1..3)]), - and([q2 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> - x_ExplicitVarSizeWithMarker_Values[q2] < x_ExplicitVarSizeWithMarker_Values[q2 + 1] - | q2 : int(1..2)]), - and([q3 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q3] = 1 | q3 : int(1..3)]), - and([q6 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q6]] - | q6 : int(1..3)]), - and([x_Occurrence[q7] -> - or([q9 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q9] = q7 | q9 : int(1..3)]) - | q7 : int(1..3)]) - diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_1_3_4-solution000001.solution b/tests/exhaustive/basic/cut_01_on/expected/model_1_3_4-solution000001.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_1_3_4-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_1_3_4-solution000002.solution b/tests/exhaustive/basic/cut_01_on/expected/model_1_3_4-solution000002.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_1_3_4-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_1_3_4-solution000003.solution b/tests/exhaustive/basic/cut_01_on/expected/model_1_3_4-solution000003.solution new file mode 100644 index 0000000000..de5cc861ad --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_1_3_4-solution000003.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_1_3_4-solution000004.solution b/tests/exhaustive/basic/cut_01_on/expected/model_1_3_4-solution000004.solution new file mode 100644 index 0000000000..a28b6d6203 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_1_3_4-solution000004.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_1_3_4-solution000005.solution b/tests/exhaustive/basic/cut_01_on/expected/model_1_3_4-solution000005.solution new file mode 100644 index 0000000000..1a734343d9 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_1_3_4-solution000005.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_1_3_4-solution000006.solution b/tests/exhaustive/basic/cut_01_on/expected/model_1_3_4-solution000006.solution new file mode 100644 index 0000000000..76bc8cdc32 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_1_3_4-solution000006.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {2} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_1_3_4-solution000007.solution b/tests/exhaustive/basic/cut_01_on/expected/model_1_3_4-solution000007.solution new file mode 100644 index 0000000000..86a85825b3 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_1_3_4-solution000007.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_1_3_4-solution000008.solution b/tests/exhaustive/basic/cut_01_on/expected/model_1_3_4-solution000008.solution new file mode 100644 index 0000000000..8dddb3b359 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_1_3_4-solution000008.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {2, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_1_3_4.eprime.orig b/tests/exhaustive/basic/cut_01_on/expected/model_1_3_4.eprime.orig deleted file mode 100644 index 3b9d9c1c5b..0000000000 --- a/tests/exhaustive/basic/cut_01_on/expected/model_1_3_4.eprime.orig +++ /dev/null @@ -1,47 +0,0 @@ -language ESSENCE' 1.0 - -find x_Occurrence: matrix indexed by [int(1..3)] of bool -find x_ExplicitVarSizeWithMarker_Marker: int(0..3) -find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..3)] of int(1..3) -find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..3)] of bool -find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..3)] of int(1..3) -find cut1: bool -find cut2: bool -branching on - [cut1, cut2, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_Occurrence, - x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values] -such that - !cut1 <-> x_Occurrence[1] /\ x_Occurrence[2], - !cut2 <-> - or([q30 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q30] = 1 | q30 : int(1..3)]), - and([q2 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> - x_ExplicitVarSizeWithMarker_Values[q2] < x_ExplicitVarSizeWithMarker_Values[q2 + 1] - | q2 : int(1..2)]), - and([q3 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q3] = 1 | q3 : int(1..3)]), - and([q6 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q6]] - | q6 : int(1..3)]), - and([x_Occurrence[q7] -> - or([q9 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q9] = q7 | q9 : int(1..3)]) - | q7 : int(1..3)]), - and([x_ExplicitVarSizeWithFlags_Flags[q10 + 1] -> - x_ExplicitVarSizeWithFlags_Values[q10] < x_ExplicitVarSizeWithFlags_Values[q10 + 1] - | q10 : int(1..2)]), - and([x_ExplicitVarSizeWithFlags_Flags[q11] = false -> x_ExplicitVarSizeWithFlags_Values[q11] = 1 - | q11 : int(1..3)]), - and([x_ExplicitVarSizeWithFlags_Flags[q12 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q12] | q12 : int(1..2)]), - and([x_ExplicitVarSizeWithFlags_Flags[q16] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q16]] - | q16 : int(1..3)]), - and([x_Occurrence[q17] -> - or([x_ExplicitVarSizeWithFlags_Flags[q19] /\ x_ExplicitVarSizeWithFlags_Values[q19] = q17 | q19 : int(1..3)]) - | q17 : int(1..3)]), - and([x_ExplicitVarSizeWithFlags_Flags[q21] -> - or([q23 <= x_ExplicitVarSizeWithMarker_Marker /\ - x_ExplicitVarSizeWithMarker_Values[q23] = x_ExplicitVarSizeWithFlags_Values[q21] - | q23 : int(1..3)]) - | q21 : int(1..3)]), - and([q25 <= x_ExplicitVarSizeWithMarker_Marker -> - or([x_ExplicitVarSizeWithFlags_Flags[q27] /\ - x_ExplicitVarSizeWithFlags_Values[q27] = x_ExplicitVarSizeWithMarker_Values[q25] - | q27 : int(1..3)]) - | q25 : int(1..3)]) - diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_1_4_1-solution000001.solution b/tests/exhaustive/basic/cut_01_on/expected/model_1_4_1-solution000001.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_1_4_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_1_4_1-solution000002.solution b/tests/exhaustive/basic/cut_01_on/expected/model_1_4_1-solution000002.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_1_4_1-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_1_4_1-solution000003.solution b/tests/exhaustive/basic/cut_01_on/expected/model_1_4_1-solution000003.solution new file mode 100644 index 0000000000..de5cc861ad --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_1_4_1-solution000003.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_1_4_1-solution000004.solution b/tests/exhaustive/basic/cut_01_on/expected/model_1_4_1-solution000004.solution new file mode 100644 index 0000000000..a28b6d6203 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_1_4_1-solution000004.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_1_4_1-solution000005.solution b/tests/exhaustive/basic/cut_01_on/expected/model_1_4_1-solution000005.solution new file mode 100644 index 0000000000..1a734343d9 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_1_4_1-solution000005.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_1_4_1-solution000006.solution b/tests/exhaustive/basic/cut_01_on/expected/model_1_4_1-solution000006.solution new file mode 100644 index 0000000000..76bc8cdc32 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_1_4_1-solution000006.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {2} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_1_4_1-solution000007.solution b/tests/exhaustive/basic/cut_01_on/expected/model_1_4_1-solution000007.solution new file mode 100644 index 0000000000..86a85825b3 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_1_4_1-solution000007.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_1_4_1-solution000008.solution b/tests/exhaustive/basic/cut_01_on/expected/model_1_4_1-solution000008.solution new file mode 100644 index 0000000000..8dddb3b359 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_1_4_1-solution000008.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {2, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_1_4_1.eprime.orig b/tests/exhaustive/basic/cut_01_on/expected/model_1_4_1.eprime.orig deleted file mode 100644 index 59c07401b5..0000000000 --- a/tests/exhaustive/basic/cut_01_on/expected/model_1_4_1.eprime.orig +++ /dev/null @@ -1,22 +0,0 @@ -language ESSENCE' 1.0 - -find x_Occurrence: matrix indexed by [int(1..3)] of bool -find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..3)] of bool -find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..3)] of int(1..3) -find cut1: bool -find cut2: bool -branching on [cut1, cut2, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_Occurrence] -such that - !cut1 <-> x_Occurrence[1] /\ x_Occurrence[2], - !cut2 <-> - or([x_ExplicitVarSizeWithFlags_Flags[q14] /\ x_ExplicitVarSizeWithFlags_Values[q14] = 1 | q14 : int(1..3)]), - and([x_ExplicitVarSizeWithFlags_Flags[q2 + 1] -> - x_ExplicitVarSizeWithFlags_Values[q2] < x_ExplicitVarSizeWithFlags_Values[q2 + 1] - | q2 : int(1..2)]), - and([x_ExplicitVarSizeWithFlags_Flags[q3] = false -> x_ExplicitVarSizeWithFlags_Values[q3] = 1 | q3 : int(1..3)]), - and([x_ExplicitVarSizeWithFlags_Flags[q4 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q4] | q4 : int(1..2)]), - and([x_ExplicitVarSizeWithFlags_Flags[q8] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q8]] | q8 : int(1..3)]), - and([x_Occurrence[q9] -> - or([x_ExplicitVarSizeWithFlags_Flags[q11] /\ x_ExplicitVarSizeWithFlags_Values[q11] = q9 | q11 : int(1..3)]) - | q9 : int(1..3)]) - diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_1_4_2-solution000001.solution b/tests/exhaustive/basic/cut_01_on/expected/model_1_4_2-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_1_4_2-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_1_4_2-solution000002.solution b/tests/exhaustive/basic/cut_01_on/expected/model_1_4_2-solution000002.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_1_4_2-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_1_4_2-solution000003.solution b/tests/exhaustive/basic/cut_01_on/expected/model_1_4_2-solution000003.solution new file mode 100644 index 0000000000..a28b6d6203 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_1_4_2-solution000003.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_1_4_2-solution000004.solution b/tests/exhaustive/basic/cut_01_on/expected/model_1_4_2-solution000004.solution new file mode 100644 index 0000000000..de5cc861ad --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_1_4_2-solution000004.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_1_4_2-solution000005.solution b/tests/exhaustive/basic/cut_01_on/expected/model_1_4_2-solution000005.solution new file mode 100644 index 0000000000..8dddb3b359 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_1_4_2-solution000005.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {2, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_1_4_2-solution000006.solution b/tests/exhaustive/basic/cut_01_on/expected/model_1_4_2-solution000006.solution new file mode 100644 index 0000000000..76bc8cdc32 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_1_4_2-solution000006.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {2} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_1_4_2-solution000007.solution b/tests/exhaustive/basic/cut_01_on/expected/model_1_4_2-solution000007.solution new file mode 100644 index 0000000000..86a85825b3 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_1_4_2-solution000007.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_1_4_2-solution000008.solution b/tests/exhaustive/basic/cut_01_on/expected/model_1_4_2-solution000008.solution new file mode 100644 index 0000000000..1a734343d9 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_1_4_2-solution000008.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_1_4_2.eprime.orig b/tests/exhaustive/basic/cut_01_on/expected/model_1_4_2.eprime.orig deleted file mode 100644 index cc5451afda..0000000000 --- a/tests/exhaustive/basic/cut_01_on/expected/model_1_4_2.eprime.orig +++ /dev/null @@ -1,42 +0,0 @@ -language ESSENCE' 1.0 - -find x_Occurrence: matrix indexed by [int(1..3)] of bool -find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..3)] of bool -find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..3)] of int(1..3) -find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..3)] of int(1..4) -find cut1: bool -find cut2: bool -branching on - [cut1, cut2, x_ExplicitVarSizeWithDummy, x_Occurrence, x_ExplicitVarSizeWithFlags_Flags, - x_ExplicitVarSizeWithFlags_Values] -such that - !cut1 <-> x_Occurrence[1] /\ x_Occurrence[2], - !cut2 <-> - or([x_ExplicitVarSizeWithFlags_Flags[q31] /\ x_ExplicitVarSizeWithFlags_Values[q31] = 1 | q31 : int(1..3)]), - and([x_ExplicitVarSizeWithFlags_Flags[q2 + 1] -> - x_ExplicitVarSizeWithFlags_Values[q2] < x_ExplicitVarSizeWithFlags_Values[q2 + 1] - | q2 : int(1..2)]), - and([x_ExplicitVarSizeWithFlags_Flags[q3] = false -> x_ExplicitVarSizeWithFlags_Values[q3] = 1 | q3 : int(1..3)]), - and([x_ExplicitVarSizeWithFlags_Flags[q4 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q4] | q4 : int(1..2)]), - and([x_ExplicitVarSizeWithFlags_Flags[q8] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q8]] | q8 : int(1..3)]), - and([x_Occurrence[q9] -> - or([x_ExplicitVarSizeWithFlags_Flags[q11] /\ x_ExplicitVarSizeWithFlags_Values[q11] = q9 | q11 : int(1..3)]) - | q9 : int(1..3)]), - and([x_ExplicitVarSizeWithDummy[q12] < x_ExplicitVarSizeWithDummy[q12 + 1] \/ x_ExplicitVarSizeWithDummy[q12] = 4 - | q12 : int(1..2)]), - and([x_ExplicitVarSizeWithDummy[q13] = 4 -> x_ExplicitVarSizeWithDummy[q13 + 1] = 4 | q13 : int(1..2)]), - and([x_ExplicitVarSizeWithDummy[q17] != 4 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q17]] | q17 : int(1..3)]), - and([x_Occurrence[q18] -> - or([x_ExplicitVarSizeWithDummy[q20] != 4 /\ x_ExplicitVarSizeWithDummy[q20] = q18 | q20 : int(1..3)]) - | q18 : int(1..3)]), - and([x_ExplicitVarSizeWithDummy[q22] != 4 -> - or([x_ExplicitVarSizeWithFlags_Flags[q24] /\ - x_ExplicitVarSizeWithFlags_Values[q24] = x_ExplicitVarSizeWithDummy[q22] - | q24 : int(1..3)]) - | q22 : int(1..3)]), - and([x_ExplicitVarSizeWithFlags_Flags[q26] -> - or([x_ExplicitVarSizeWithDummy[q28] != 4 /\ - x_ExplicitVarSizeWithDummy[q28] = x_ExplicitVarSizeWithFlags_Values[q26] - | q28 : int(1..3)]) - | q26 : int(1..3)]) - diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_1_4_3-solution000001.solution b/tests/exhaustive/basic/cut_01_on/expected/model_1_4_3-solution000001.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_1_4_3-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_1_4_3-solution000002.solution b/tests/exhaustive/basic/cut_01_on/expected/model_1_4_3-solution000002.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_1_4_3-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_1_4_3-solution000003.solution b/tests/exhaustive/basic/cut_01_on/expected/model_1_4_3-solution000003.solution new file mode 100644 index 0000000000..de5cc861ad --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_1_4_3-solution000003.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_1_4_3-solution000004.solution b/tests/exhaustive/basic/cut_01_on/expected/model_1_4_3-solution000004.solution new file mode 100644 index 0000000000..a28b6d6203 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_1_4_3-solution000004.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_1_4_3-solution000005.solution b/tests/exhaustive/basic/cut_01_on/expected/model_1_4_3-solution000005.solution new file mode 100644 index 0000000000..1a734343d9 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_1_4_3-solution000005.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_1_4_3-solution000006.solution b/tests/exhaustive/basic/cut_01_on/expected/model_1_4_3-solution000006.solution new file mode 100644 index 0000000000..76bc8cdc32 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_1_4_3-solution000006.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {2} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_1_4_3-solution000007.solution b/tests/exhaustive/basic/cut_01_on/expected/model_1_4_3-solution000007.solution new file mode 100644 index 0000000000..86a85825b3 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_1_4_3-solution000007.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_1_4_3-solution000008.solution b/tests/exhaustive/basic/cut_01_on/expected/model_1_4_3-solution000008.solution new file mode 100644 index 0000000000..8dddb3b359 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_1_4_3-solution000008.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {2, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_1_4_3.eprime.orig b/tests/exhaustive/basic/cut_01_on/expected/model_1_4_3.eprime.orig deleted file mode 100644 index ff3bcc9dc1..0000000000 --- a/tests/exhaustive/basic/cut_01_on/expected/model_1_4_3.eprime.orig +++ /dev/null @@ -1,46 +0,0 @@ -language ESSENCE' 1.0 - -find x_Occurrence: matrix indexed by [int(1..3)] of bool -find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..3)] of bool -find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..3)] of int(1..3) -find x_ExplicitVarSizeWithMarker_Marker: int(0..3) -find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..3)] of int(1..3) -find cut1: bool -find cut2: bool -branching on - [cut1, cut2, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_Occurrence, - x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values] -such that - !cut1 <-> x_Occurrence[1] /\ x_Occurrence[2], - !cut2 <-> - or([x_ExplicitVarSizeWithFlags_Flags[q30] /\ x_ExplicitVarSizeWithFlags_Values[q30] = 1 | q30 : int(1..3)]), - and([x_ExplicitVarSizeWithFlags_Flags[q2 + 1] -> - x_ExplicitVarSizeWithFlags_Values[q2] < x_ExplicitVarSizeWithFlags_Values[q2 + 1] - | q2 : int(1..2)]), - and([x_ExplicitVarSizeWithFlags_Flags[q3] = false -> x_ExplicitVarSizeWithFlags_Values[q3] = 1 | q3 : int(1..3)]), - and([x_ExplicitVarSizeWithFlags_Flags[q4 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q4] | q4 : int(1..2)]), - and([x_ExplicitVarSizeWithFlags_Flags[q8] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q8]] | q8 : int(1..3)]), - and([x_Occurrence[q9] -> - or([x_ExplicitVarSizeWithFlags_Flags[q11] /\ x_ExplicitVarSizeWithFlags_Values[q11] = q9 | q11 : int(1..3)]) - | q9 : int(1..3)]), - and([q12 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> - x_ExplicitVarSizeWithMarker_Values[q12] < x_ExplicitVarSizeWithMarker_Values[q12 + 1] - | q12 : int(1..2)]), - and([q13 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q13] = 1 | q13 : int(1..3)]), - and([q16 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q16]] - | q16 : int(1..3)]), - and([x_Occurrence[q17] -> - or([q19 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q19] = q17 - | q19 : int(1..3)]) - | q17 : int(1..3)]), - and([q21 <= x_ExplicitVarSizeWithMarker_Marker -> - or([x_ExplicitVarSizeWithFlags_Flags[q23] /\ - x_ExplicitVarSizeWithFlags_Values[q23] = x_ExplicitVarSizeWithMarker_Values[q21] - | q23 : int(1..3)]) - | q21 : int(1..3)]), - and([x_ExplicitVarSizeWithFlags_Flags[q25] -> - or([q27 <= x_ExplicitVarSizeWithMarker_Marker /\ - x_ExplicitVarSizeWithMarker_Values[q27] = x_ExplicitVarSizeWithFlags_Values[q25] - | q27 : int(1..3)]) - | q25 : int(1..3)]) - diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_1_4_4.eprime.orig b/tests/exhaustive/basic/cut_01_on/expected/model_1_4_4.eprime.orig deleted file mode 100644 index 59c07401b5..0000000000 --- a/tests/exhaustive/basic/cut_01_on/expected/model_1_4_4.eprime.orig +++ /dev/null @@ -1,22 +0,0 @@ -language ESSENCE' 1.0 - -find x_Occurrence: matrix indexed by [int(1..3)] of bool -find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..3)] of bool -find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..3)] of int(1..3) -find cut1: bool -find cut2: bool -branching on [cut1, cut2, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_Occurrence] -such that - !cut1 <-> x_Occurrence[1] /\ x_Occurrence[2], - !cut2 <-> - or([x_ExplicitVarSizeWithFlags_Flags[q14] /\ x_ExplicitVarSizeWithFlags_Values[q14] = 1 | q14 : int(1..3)]), - and([x_ExplicitVarSizeWithFlags_Flags[q2 + 1] -> - x_ExplicitVarSizeWithFlags_Values[q2] < x_ExplicitVarSizeWithFlags_Values[q2 + 1] - | q2 : int(1..2)]), - and([x_ExplicitVarSizeWithFlags_Flags[q3] = false -> x_ExplicitVarSizeWithFlags_Values[q3] = 1 | q3 : int(1..3)]), - and([x_ExplicitVarSizeWithFlags_Flags[q4 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q4] | q4 : int(1..2)]), - and([x_ExplicitVarSizeWithFlags_Flags[q8] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q8]] | q8 : int(1..3)]), - and([x_Occurrence[q9] -> - or([x_ExplicitVarSizeWithFlags_Flags[q11] /\ x_ExplicitVarSizeWithFlags_Values[q11] = q9 | q11 : int(1..3)]) - | q9 : int(1..3)]) - diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_2_1_1-solution000001.solution b/tests/exhaustive/basic/cut_01_on/expected/model_2_1_1-solution000001.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_2_1_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_2_1_1-solution000002.solution b/tests/exhaustive/basic/cut_01_on/expected/model_2_1_1-solution000002.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_2_1_1-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_2_1_1-solution000003.solution b/tests/exhaustive/basic/cut_01_on/expected/model_2_1_1-solution000003.solution new file mode 100644 index 0000000000..de5cc861ad --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_2_1_1-solution000003.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_2_1_1-solution000004.solution b/tests/exhaustive/basic/cut_01_on/expected/model_2_1_1-solution000004.solution new file mode 100644 index 0000000000..a28b6d6203 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_2_1_1-solution000004.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_2_1_1-solution000005.solution b/tests/exhaustive/basic/cut_01_on/expected/model_2_1_1-solution000005.solution new file mode 100644 index 0000000000..1a734343d9 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_2_1_1-solution000005.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_2_1_1-solution000006.solution b/tests/exhaustive/basic/cut_01_on/expected/model_2_1_1-solution000006.solution new file mode 100644 index 0000000000..86a85825b3 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_2_1_1-solution000006.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_2_1_1-solution000007.solution b/tests/exhaustive/basic/cut_01_on/expected/model_2_1_1-solution000007.solution new file mode 100644 index 0000000000..76bc8cdc32 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_2_1_1-solution000007.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {2} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_2_1_1-solution000008.solution b/tests/exhaustive/basic/cut_01_on/expected/model_2_1_1-solution000008.solution new file mode 100644 index 0000000000..8dddb3b359 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_2_1_1-solution000008.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {2, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_2_1_1.eprime.orig b/tests/exhaustive/basic/cut_01_on/expected/model_2_1_1.eprime.orig deleted file mode 100644 index f6a1975870..0000000000 --- a/tests/exhaustive/basic/cut_01_on/expected/model_2_1_1.eprime.orig +++ /dev/null @@ -1,20 +0,0 @@ -language ESSENCE' 1.0 - -find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..3)] of int(1..4) -find x_Occurrence: matrix indexed by [int(1..3)] of bool -find cut1: bool -find cut2: bool -branching on [cut1, cut2, x_Occurrence, x_ExplicitVarSizeWithDummy] -such that - !cut1 <-> - or([x_ExplicitVarSizeWithDummy[q13] != 4 /\ x_ExplicitVarSizeWithDummy[q13] = 1 | q13 : int(1..3)]) /\ - or([x_ExplicitVarSizeWithDummy[q15] != 4 /\ x_ExplicitVarSizeWithDummy[q15] = 2 | q15 : int(1..3)]), - !cut2 <-> x_Occurrence[1], - and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 4 - | q1 : int(1..2)]), - and([x_ExplicitVarSizeWithDummy[q2] = 4 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 4 | q2 : int(1..2)]), - and([x_Occurrence[q6] -> - or([x_ExplicitVarSizeWithDummy[q8] != 4 /\ x_ExplicitVarSizeWithDummy[q8] = q6 | q8 : int(1..3)]) - | q6 : int(1..3)]), - and([x_ExplicitVarSizeWithDummy[q10] != 4 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q10]] | q10 : int(1..3)]) - diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_2_1_2.eprime.orig b/tests/exhaustive/basic/cut_01_on/expected/model_2_1_2.eprime.orig deleted file mode 100644 index f6a1975870..0000000000 --- a/tests/exhaustive/basic/cut_01_on/expected/model_2_1_2.eprime.orig +++ /dev/null @@ -1,20 +0,0 @@ -language ESSENCE' 1.0 - -find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..3)] of int(1..4) -find x_Occurrence: matrix indexed by [int(1..3)] of bool -find cut1: bool -find cut2: bool -branching on [cut1, cut2, x_Occurrence, x_ExplicitVarSizeWithDummy] -such that - !cut1 <-> - or([x_ExplicitVarSizeWithDummy[q13] != 4 /\ x_ExplicitVarSizeWithDummy[q13] = 1 | q13 : int(1..3)]) /\ - or([x_ExplicitVarSizeWithDummy[q15] != 4 /\ x_ExplicitVarSizeWithDummy[q15] = 2 | q15 : int(1..3)]), - !cut2 <-> x_Occurrence[1], - and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 4 - | q1 : int(1..2)]), - and([x_ExplicitVarSizeWithDummy[q2] = 4 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 4 | q2 : int(1..2)]), - and([x_Occurrence[q6] -> - or([x_ExplicitVarSizeWithDummy[q8] != 4 /\ x_ExplicitVarSizeWithDummy[q8] = q6 | q8 : int(1..3)]) - | q6 : int(1..3)]), - and([x_ExplicitVarSizeWithDummy[q10] != 4 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q10]] | q10 : int(1..3)]) - diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_2_1_3-solution000001.solution b/tests/exhaustive/basic/cut_01_on/expected/model_2_1_3-solution000001.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_2_1_3-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_2_1_3-solution000002.solution b/tests/exhaustive/basic/cut_01_on/expected/model_2_1_3-solution000002.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_2_1_3-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_2_1_3-solution000003.solution b/tests/exhaustive/basic/cut_01_on/expected/model_2_1_3-solution000003.solution new file mode 100644 index 0000000000..de5cc861ad --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_2_1_3-solution000003.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_2_1_3-solution000004.solution b/tests/exhaustive/basic/cut_01_on/expected/model_2_1_3-solution000004.solution new file mode 100644 index 0000000000..a28b6d6203 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_2_1_3-solution000004.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_2_1_3-solution000005.solution b/tests/exhaustive/basic/cut_01_on/expected/model_2_1_3-solution000005.solution new file mode 100644 index 0000000000..1a734343d9 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_2_1_3-solution000005.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_2_1_3-solution000006.solution b/tests/exhaustive/basic/cut_01_on/expected/model_2_1_3-solution000006.solution new file mode 100644 index 0000000000..76bc8cdc32 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_2_1_3-solution000006.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {2} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_2_1_3-solution000007.solution b/tests/exhaustive/basic/cut_01_on/expected/model_2_1_3-solution000007.solution new file mode 100644 index 0000000000..86a85825b3 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_2_1_3-solution000007.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_2_1_3-solution000008.solution b/tests/exhaustive/basic/cut_01_on/expected/model_2_1_3-solution000008.solution new file mode 100644 index 0000000000..8dddb3b359 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_2_1_3-solution000008.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {2, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_2_1_3.eprime.orig b/tests/exhaustive/basic/cut_01_on/expected/model_2_1_3.eprime.orig deleted file mode 100644 index 97d66e8808..0000000000 --- a/tests/exhaustive/basic/cut_01_on/expected/model_2_1_3.eprime.orig +++ /dev/null @@ -1,44 +0,0 @@ -language ESSENCE' 1.0 - -find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..3)] of int(1..4) -find x_Occurrence: matrix indexed by [int(1..3)] of bool -find x_ExplicitVarSizeWithMarker_Marker: int(0..3) -find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..3)] of int(1..3) -find cut1: bool -find cut2: bool -branching on - [cut1, cut2, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_ExplicitVarSizeWithDummy, - x_Occurrence] -such that - !cut1 <-> - or([x_ExplicitVarSizeWithDummy[q29] != 4 /\ x_ExplicitVarSizeWithDummy[q29] = 1 | q29 : int(1..3)]) /\ - or([x_ExplicitVarSizeWithDummy[q31] != 4 /\ x_ExplicitVarSizeWithDummy[q31] = 2 | q31 : int(1..3)]), - !cut2 <-> x_Occurrence[1], - and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 4 - | q1 : int(1..2)]), - and([x_ExplicitVarSizeWithDummy[q2] = 4 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 4 | q2 : int(1..2)]), - and([x_Occurrence[q22] -> - or([x_ExplicitVarSizeWithDummy[q24] != 4 /\ x_ExplicitVarSizeWithDummy[q24] = q22 | q24 : int(1..3)]) - | q22 : int(1..3)]), - and([x_ExplicitVarSizeWithDummy[q26] != 4 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q26]] | q26 : int(1..3)]), - and([q6 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> - x_ExplicitVarSizeWithMarker_Values[q6] < x_ExplicitVarSizeWithMarker_Values[q6 + 1] - | q6 : int(1..2)]), - and([q7 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q7] = 1 | q7 : int(1..3)]), - and([q10 <= x_ExplicitVarSizeWithMarker_Marker -> - or([x_ExplicitVarSizeWithDummy[q12] != 4 /\ - x_ExplicitVarSizeWithDummy[q12] = x_ExplicitVarSizeWithMarker_Values[q10] - | q12 : int(1..3)]) - | q10 : int(1..3)]), - and([x_ExplicitVarSizeWithDummy[q14] != 4 -> - or([q16 <= x_ExplicitVarSizeWithMarker_Marker /\ - x_ExplicitVarSizeWithMarker_Values[q16] = x_ExplicitVarSizeWithDummy[q14] - | q16 : int(1..3)]) - | q14 : int(1..3)]), - and([q18 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q18]] - | q18 : int(1..3)]), - and([x_Occurrence[q19] -> - or([q21 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q21] = q19 - | q21 : int(1..3)]) - | q19 : int(1..3)]) - diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_2_1_4-solution000001.solution b/tests/exhaustive/basic/cut_01_on/expected/model_2_1_4-solution000001.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_2_1_4-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_2_1_4-solution000002.solution b/tests/exhaustive/basic/cut_01_on/expected/model_2_1_4-solution000002.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_2_1_4-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_2_1_4-solution000003.solution b/tests/exhaustive/basic/cut_01_on/expected/model_2_1_4-solution000003.solution new file mode 100644 index 0000000000..de5cc861ad --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_2_1_4-solution000003.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_2_1_4-solution000004.solution b/tests/exhaustive/basic/cut_01_on/expected/model_2_1_4-solution000004.solution new file mode 100644 index 0000000000..a28b6d6203 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_2_1_4-solution000004.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_2_1_4-solution000005.solution b/tests/exhaustive/basic/cut_01_on/expected/model_2_1_4-solution000005.solution new file mode 100644 index 0000000000..1a734343d9 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_2_1_4-solution000005.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_2_1_4-solution000006.solution b/tests/exhaustive/basic/cut_01_on/expected/model_2_1_4-solution000006.solution new file mode 100644 index 0000000000..76bc8cdc32 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_2_1_4-solution000006.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {2} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_2_1_4-solution000007.solution b/tests/exhaustive/basic/cut_01_on/expected/model_2_1_4-solution000007.solution new file mode 100644 index 0000000000..86a85825b3 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_2_1_4-solution000007.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_2_1_4-solution000008.solution b/tests/exhaustive/basic/cut_01_on/expected/model_2_1_4-solution000008.solution new file mode 100644 index 0000000000..8dddb3b359 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_2_1_4-solution000008.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {2, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_2_1_4.eprime.orig b/tests/exhaustive/basic/cut_01_on/expected/model_2_1_4.eprime.orig deleted file mode 100644 index 3a9b95e862..0000000000 --- a/tests/exhaustive/basic/cut_01_on/expected/model_2_1_4.eprime.orig +++ /dev/null @@ -1,44 +0,0 @@ -language ESSENCE' 1.0 - -find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..3)] of int(1..4) -find x_Occurrence: matrix indexed by [int(1..3)] of bool -find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..3)] of bool -find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..3)] of int(1..3) -find cut1: bool -find cut2: bool -branching on - [cut1, cut2, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_ExplicitVarSizeWithDummy, - x_Occurrence] -such that - !cut1 <-> - or([x_ExplicitVarSizeWithDummy[q31] != 4 /\ x_ExplicitVarSizeWithDummy[q31] = 1 | q31 : int(1..3)]) /\ - or([x_ExplicitVarSizeWithDummy[q33] != 4 /\ x_ExplicitVarSizeWithDummy[q33] = 2 | q33 : int(1..3)]), - !cut2 <-> x_Occurrence[1], - and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 4 - | q1 : int(1..2)]), - and([x_ExplicitVarSizeWithDummy[q2] = 4 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 4 | q2 : int(1..2)]), - and([x_Occurrence[q24] -> - or([x_ExplicitVarSizeWithDummy[q26] != 4 /\ x_ExplicitVarSizeWithDummy[q26] = q24 | q26 : int(1..3)]) - | q24 : int(1..3)]), - and([x_ExplicitVarSizeWithDummy[q28] != 4 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q28]] | q28 : int(1..3)]), - and([x_ExplicitVarSizeWithFlags_Flags[q6 + 1] -> - x_ExplicitVarSizeWithFlags_Values[q6] < x_ExplicitVarSizeWithFlags_Values[q6 + 1] - | q6 : int(1..2)]), - and([x_ExplicitVarSizeWithFlags_Flags[q7] = false -> x_ExplicitVarSizeWithFlags_Values[q7] = 1 | q7 : int(1..3)]), - and([x_ExplicitVarSizeWithFlags_Flags[q8 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q8] | q8 : int(1..2)]), - and([x_ExplicitVarSizeWithFlags_Flags[q12] -> - or([x_ExplicitVarSizeWithDummy[q14] != 4 /\ - x_ExplicitVarSizeWithDummy[q14] = x_ExplicitVarSizeWithFlags_Values[q12] - | q14 : int(1..3)]) - | q12 : int(1..3)]), - and([x_ExplicitVarSizeWithDummy[q16] != 4 -> - or([x_ExplicitVarSizeWithFlags_Flags[q18] /\ - x_ExplicitVarSizeWithFlags_Values[q18] = x_ExplicitVarSizeWithDummy[q16] - | q18 : int(1..3)]) - | q16 : int(1..3)]), - and([x_ExplicitVarSizeWithFlags_Flags[q20] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q20]] - | q20 : int(1..3)]), - and([x_Occurrence[q21] -> - or([x_ExplicitVarSizeWithFlags_Flags[q23] /\ x_ExplicitVarSizeWithFlags_Values[q23] = q21 | q23 : int(1..3)]) - | q21 : int(1..3)]) - diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_2_2_1-solution000001.solution b/tests/exhaustive/basic/cut_01_on/expected/model_2_2_1-solution000001.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_2_2_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_2_2_1-solution000002.solution b/tests/exhaustive/basic/cut_01_on/expected/model_2_2_1-solution000002.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_2_2_1-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_2_2_1-solution000003.solution b/tests/exhaustive/basic/cut_01_on/expected/model_2_2_1-solution000003.solution new file mode 100644 index 0000000000..de5cc861ad --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_2_2_1-solution000003.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_2_2_1-solution000004.solution b/tests/exhaustive/basic/cut_01_on/expected/model_2_2_1-solution000004.solution new file mode 100644 index 0000000000..a28b6d6203 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_2_2_1-solution000004.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_2_2_1-solution000005.solution b/tests/exhaustive/basic/cut_01_on/expected/model_2_2_1-solution000005.solution new file mode 100644 index 0000000000..1a734343d9 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_2_2_1-solution000005.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_2_2_1-solution000006.solution b/tests/exhaustive/basic/cut_01_on/expected/model_2_2_1-solution000006.solution new file mode 100644 index 0000000000..86a85825b3 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_2_2_1-solution000006.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_2_2_1-solution000007.solution b/tests/exhaustive/basic/cut_01_on/expected/model_2_2_1-solution000007.solution new file mode 100644 index 0000000000..76bc8cdc32 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_2_2_1-solution000007.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {2} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_2_2_1-solution000008.solution b/tests/exhaustive/basic/cut_01_on/expected/model_2_2_1-solution000008.solution new file mode 100644 index 0000000000..8dddb3b359 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_2_2_1-solution000008.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {2, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_2_2_1.eprime.orig b/tests/exhaustive/basic/cut_01_on/expected/model_2_2_1.eprime.orig deleted file mode 100644 index 8c2f20a49b..0000000000 --- a/tests/exhaustive/basic/cut_01_on/expected/model_2_2_1.eprime.orig +++ /dev/null @@ -1,20 +0,0 @@ -language ESSENCE' 1.0 - -find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..3)] of int(1..4) -find x_Occurrence: matrix indexed by [int(1..3)] of bool -find cut1: bool -find cut2: bool -branching on [cut1, cut2, x_Occurrence, x_ExplicitVarSizeWithDummy] -such that - !cut1 <-> - or([x_ExplicitVarSizeWithDummy[q8] != 4 /\ x_ExplicitVarSizeWithDummy[q8] = 1 | q8 : int(1..3)]) /\ - or([x_ExplicitVarSizeWithDummy[q10] != 4 /\ x_ExplicitVarSizeWithDummy[q10] = 2 | q10 : int(1..3)]), - !cut2 <-> or([x_ExplicitVarSizeWithDummy[q12] != 4 /\ x_ExplicitVarSizeWithDummy[q12] = 1 | q12 : int(1..3)]), - and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 4 - | q1 : int(1..2)]), - and([x_ExplicitVarSizeWithDummy[q2] = 4 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 4 | q2 : int(1..2)]), - and([x_Occurrence[q13] -> - or([x_ExplicitVarSizeWithDummy[q15] != 4 /\ x_ExplicitVarSizeWithDummy[q15] = q13 | q15 : int(1..3)]) - | q13 : int(1..3)]), - and([x_ExplicitVarSizeWithDummy[q17] != 4 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q17]] | q17 : int(1..3)]) - diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_2_2_2-solution000001.solution b/tests/exhaustive/basic/cut_01_on/expected/model_2_2_2-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_2_2_2-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_2_2_2-solution000002.solution b/tests/exhaustive/basic/cut_01_on/expected/model_2_2_2-solution000002.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_2_2_2-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_2_2_2-solution000003.solution b/tests/exhaustive/basic/cut_01_on/expected/model_2_2_2-solution000003.solution new file mode 100644 index 0000000000..a28b6d6203 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_2_2_2-solution000003.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_2_2_2-solution000004.solution b/tests/exhaustive/basic/cut_01_on/expected/model_2_2_2-solution000004.solution new file mode 100644 index 0000000000..de5cc861ad --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_2_2_2-solution000004.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_2_2_2-solution000005.solution b/tests/exhaustive/basic/cut_01_on/expected/model_2_2_2-solution000005.solution new file mode 100644 index 0000000000..8dddb3b359 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_2_2_2-solution000005.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {2, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_2_2_2-solution000006.solution b/tests/exhaustive/basic/cut_01_on/expected/model_2_2_2-solution000006.solution new file mode 100644 index 0000000000..76bc8cdc32 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_2_2_2-solution000006.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {2} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_2_2_2-solution000007.solution b/tests/exhaustive/basic/cut_01_on/expected/model_2_2_2-solution000007.solution new file mode 100644 index 0000000000..86a85825b3 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_2_2_2-solution000007.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_2_2_2-solution000008.solution b/tests/exhaustive/basic/cut_01_on/expected/model_2_2_2-solution000008.solution new file mode 100644 index 0000000000..1a734343d9 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_2_2_2-solution000008.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_2_2_2.eprime.orig b/tests/exhaustive/basic/cut_01_on/expected/model_2_2_2.eprime.orig deleted file mode 100644 index 1ab97aa764..0000000000 --- a/tests/exhaustive/basic/cut_01_on/expected/model_2_2_2.eprime.orig +++ /dev/null @@ -1,15 +0,0 @@ -language ESSENCE' 1.0 - -find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..3)] of int(1..4) -find cut1: bool -find cut2: bool -branching on [cut1, cut2, x_ExplicitVarSizeWithDummy] -such that - !cut1 <-> - or([x_ExplicitVarSizeWithDummy[q7] != 4 /\ x_ExplicitVarSizeWithDummy[q7] = 1 | q7 : int(1..3)]) /\ - or([x_ExplicitVarSizeWithDummy[q9] != 4 /\ x_ExplicitVarSizeWithDummy[q9] = 2 | q9 : int(1..3)]), - !cut2 <-> or([x_ExplicitVarSizeWithDummy[q11] != 4 /\ x_ExplicitVarSizeWithDummy[q11] = 1 | q11 : int(1..3)]), - and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 4 - | q1 : int(1..2)]), - and([x_ExplicitVarSizeWithDummy[q2] = 4 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 4 | q2 : int(1..2)]) - diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_2_2_3-solution000001.solution b/tests/exhaustive/basic/cut_01_on/expected/model_2_2_3-solution000001.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_2_2_3-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_2_2_3-solution000002.solution b/tests/exhaustive/basic/cut_01_on/expected/model_2_2_3-solution000002.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_2_2_3-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_2_2_3-solution000003.solution b/tests/exhaustive/basic/cut_01_on/expected/model_2_2_3-solution000003.solution new file mode 100644 index 0000000000..de5cc861ad --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_2_2_3-solution000003.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_2_2_3-solution000004.solution b/tests/exhaustive/basic/cut_01_on/expected/model_2_2_3-solution000004.solution new file mode 100644 index 0000000000..a28b6d6203 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_2_2_3-solution000004.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_2_2_3-solution000005.solution b/tests/exhaustive/basic/cut_01_on/expected/model_2_2_3-solution000005.solution new file mode 100644 index 0000000000..1a734343d9 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_2_2_3-solution000005.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_2_2_3-solution000006.solution b/tests/exhaustive/basic/cut_01_on/expected/model_2_2_3-solution000006.solution new file mode 100644 index 0000000000..76bc8cdc32 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_2_2_3-solution000006.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {2} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_2_2_3-solution000007.solution b/tests/exhaustive/basic/cut_01_on/expected/model_2_2_3-solution000007.solution new file mode 100644 index 0000000000..86a85825b3 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_2_2_3-solution000007.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_2_2_3-solution000008.solution b/tests/exhaustive/basic/cut_01_on/expected/model_2_2_3-solution000008.solution new file mode 100644 index 0000000000..8dddb3b359 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_2_2_3-solution000008.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {2, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_2_2_3.eprime.orig b/tests/exhaustive/basic/cut_01_on/expected/model_2_2_3.eprime.orig deleted file mode 100644 index ef5020a88a..0000000000 --- a/tests/exhaustive/basic/cut_01_on/expected/model_2_2_3.eprime.orig +++ /dev/null @@ -1,32 +0,0 @@ -language ESSENCE' 1.0 - -find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..3)] of int(1..4) -find x_ExplicitVarSizeWithMarker_Marker: int(0..3) -find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..3)] of int(1..3) -find cut1: bool -find cut2: bool -branching on - [cut1, cut2, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_ExplicitVarSizeWithDummy] -such that - !cut1 <-> - or([x_ExplicitVarSizeWithDummy[q18] != 4 /\ x_ExplicitVarSizeWithDummy[q18] = 1 | q18 : int(1..3)]) /\ - or([x_ExplicitVarSizeWithDummy[q20] != 4 /\ x_ExplicitVarSizeWithDummy[q20] = 2 | q20 : int(1..3)]), - !cut2 <-> or([x_ExplicitVarSizeWithDummy[q22] != 4 /\ x_ExplicitVarSizeWithDummy[q22] = 1 | q22 : int(1..3)]), - and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 4 - | q1 : int(1..2)]), - and([x_ExplicitVarSizeWithDummy[q2] = 4 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 4 | q2 : int(1..2)]), - and([q5 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> - x_ExplicitVarSizeWithMarker_Values[q5] < x_ExplicitVarSizeWithMarker_Values[q5 + 1] - | q5 : int(1..2)]), - and([q6 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q6] = 1 | q6 : int(1..3)]), - and([q9 <= x_ExplicitVarSizeWithMarker_Marker -> - or([x_ExplicitVarSizeWithDummy[q11] != 4 /\ - x_ExplicitVarSizeWithDummy[q11] = x_ExplicitVarSizeWithMarker_Values[q9] - | q11 : int(1..3)]) - | q9 : int(1..3)]), - and([x_ExplicitVarSizeWithDummy[q13] != 4 -> - or([q15 <= x_ExplicitVarSizeWithMarker_Marker /\ - x_ExplicitVarSizeWithMarker_Values[q15] = x_ExplicitVarSizeWithDummy[q13] - | q15 : int(1..3)]) - | q13 : int(1..3)]) - diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_2_2_4-solution000001.solution b/tests/exhaustive/basic/cut_01_on/expected/model_2_2_4-solution000001.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_2_2_4-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_2_2_4-solution000002.solution b/tests/exhaustive/basic/cut_01_on/expected/model_2_2_4-solution000002.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_2_2_4-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_2_2_4-solution000003.solution b/tests/exhaustive/basic/cut_01_on/expected/model_2_2_4-solution000003.solution new file mode 100644 index 0000000000..de5cc861ad --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_2_2_4-solution000003.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_2_2_4-solution000004.solution b/tests/exhaustive/basic/cut_01_on/expected/model_2_2_4-solution000004.solution new file mode 100644 index 0000000000..a28b6d6203 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_2_2_4-solution000004.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_2_2_4-solution000005.solution b/tests/exhaustive/basic/cut_01_on/expected/model_2_2_4-solution000005.solution new file mode 100644 index 0000000000..1a734343d9 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_2_2_4-solution000005.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_2_2_4-solution000006.solution b/tests/exhaustive/basic/cut_01_on/expected/model_2_2_4-solution000006.solution new file mode 100644 index 0000000000..76bc8cdc32 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_2_2_4-solution000006.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {2} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_2_2_4-solution000007.solution b/tests/exhaustive/basic/cut_01_on/expected/model_2_2_4-solution000007.solution new file mode 100644 index 0000000000..86a85825b3 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_2_2_4-solution000007.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_2_2_4-solution000008.solution b/tests/exhaustive/basic/cut_01_on/expected/model_2_2_4-solution000008.solution new file mode 100644 index 0000000000..8dddb3b359 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_2_2_4-solution000008.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {2, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_2_2_4.eprime.orig b/tests/exhaustive/basic/cut_01_on/expected/model_2_2_4.eprime.orig deleted file mode 100644 index 02cfe37098..0000000000 --- a/tests/exhaustive/basic/cut_01_on/expected/model_2_2_4.eprime.orig +++ /dev/null @@ -1,33 +0,0 @@ -language ESSENCE' 1.0 - -find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..3)] of int(1..4) -find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..3)] of bool -find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..3)] of int(1..3) -find cut1: bool -find cut2: bool -branching on - [cut1, cut2, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_ExplicitVarSizeWithDummy] -such that - !cut1 <-> - or([x_ExplicitVarSizeWithDummy[q20] != 4 /\ x_ExplicitVarSizeWithDummy[q20] = 1 | q20 : int(1..3)]) /\ - or([x_ExplicitVarSizeWithDummy[q22] != 4 /\ x_ExplicitVarSizeWithDummy[q22] = 2 | q22 : int(1..3)]), - !cut2 <-> or([x_ExplicitVarSizeWithDummy[q24] != 4 /\ x_ExplicitVarSizeWithDummy[q24] = 1 | q24 : int(1..3)]), - and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 4 - | q1 : int(1..2)]), - and([x_ExplicitVarSizeWithDummy[q2] = 4 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 4 | q2 : int(1..2)]), - and([x_ExplicitVarSizeWithFlags_Flags[q5 + 1] -> - x_ExplicitVarSizeWithFlags_Values[q5] < x_ExplicitVarSizeWithFlags_Values[q5 + 1] - | q5 : int(1..2)]), - and([x_ExplicitVarSizeWithFlags_Flags[q6] = false -> x_ExplicitVarSizeWithFlags_Values[q6] = 1 | q6 : int(1..3)]), - and([x_ExplicitVarSizeWithFlags_Flags[q7 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q7] | q7 : int(1..2)]), - and([x_ExplicitVarSizeWithFlags_Flags[q11] -> - or([x_ExplicitVarSizeWithDummy[q13] != 4 /\ - x_ExplicitVarSizeWithDummy[q13] = x_ExplicitVarSizeWithFlags_Values[q11] - | q13 : int(1..3)]) - | q11 : int(1..3)]), - and([x_ExplicitVarSizeWithDummy[q15] != 4 -> - or([x_ExplicitVarSizeWithFlags_Flags[q17] /\ - x_ExplicitVarSizeWithFlags_Values[q17] = x_ExplicitVarSizeWithDummy[q15] - | q17 : int(1..3)]) - | q15 : int(1..3)]) - diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_2_3_1-solution000001.solution b/tests/exhaustive/basic/cut_01_on/expected/model_2_3_1-solution000001.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_2_3_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_2_3_1-solution000002.solution b/tests/exhaustive/basic/cut_01_on/expected/model_2_3_1-solution000002.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_2_3_1-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_2_3_1-solution000003.solution b/tests/exhaustive/basic/cut_01_on/expected/model_2_3_1-solution000003.solution new file mode 100644 index 0000000000..de5cc861ad --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_2_3_1-solution000003.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_2_3_1-solution000004.solution b/tests/exhaustive/basic/cut_01_on/expected/model_2_3_1-solution000004.solution new file mode 100644 index 0000000000..a28b6d6203 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_2_3_1-solution000004.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_2_3_1-solution000005.solution b/tests/exhaustive/basic/cut_01_on/expected/model_2_3_1-solution000005.solution new file mode 100644 index 0000000000..1a734343d9 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_2_3_1-solution000005.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_2_3_1-solution000006.solution b/tests/exhaustive/basic/cut_01_on/expected/model_2_3_1-solution000006.solution new file mode 100644 index 0000000000..86a85825b3 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_2_3_1-solution000006.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_2_3_1-solution000007.solution b/tests/exhaustive/basic/cut_01_on/expected/model_2_3_1-solution000007.solution new file mode 100644 index 0000000000..76bc8cdc32 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_2_3_1-solution000007.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {2} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_2_3_1-solution000008.solution b/tests/exhaustive/basic/cut_01_on/expected/model_2_3_1-solution000008.solution new file mode 100644 index 0000000000..8dddb3b359 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_2_3_1-solution000008.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {2, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_2_3_1.eprime.orig b/tests/exhaustive/basic/cut_01_on/expected/model_2_3_1.eprime.orig deleted file mode 100644 index b19839d2f0..0000000000 --- a/tests/exhaustive/basic/cut_01_on/expected/model_2_3_1.eprime.orig +++ /dev/null @@ -1,45 +0,0 @@ -language ESSENCE' 1.0 - -find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..3)] of int(1..4) -find x_ExplicitVarSizeWithMarker_Marker: int(0..3) -find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..3)] of int(1..3) -find x_Occurrence: matrix indexed by [int(1..3)] of bool -find cut1: bool -find cut2: bool -branching on - [cut1, cut2, x_Occurrence, x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithMarker_Marker, - x_ExplicitVarSizeWithMarker_Values] -such that - !cut1 <-> - or([x_ExplicitVarSizeWithDummy[q19] != 4 /\ x_ExplicitVarSizeWithDummy[q19] = 1 | q19 : int(1..3)]) /\ - or([x_ExplicitVarSizeWithDummy[q21] != 4 /\ x_ExplicitVarSizeWithDummy[q21] = 2 | q21 : int(1..3)]), - !cut2 <-> - or([q23 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q23] = 1 | q23 : int(1..3)]), - and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 4 - | q1 : int(1..2)]), - and([x_ExplicitVarSizeWithDummy[q2] = 4 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 4 | q2 : int(1..2)]), - and([q5 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> - x_ExplicitVarSizeWithMarker_Values[q5] < x_ExplicitVarSizeWithMarker_Values[q5 + 1] - | q5 : int(1..2)]), - and([q6 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q6] = 1 | q6 : int(1..3)]), - and([q9 <= x_ExplicitVarSizeWithMarker_Marker -> - or([x_ExplicitVarSizeWithDummy[q11] != 4 /\ - x_ExplicitVarSizeWithDummy[q11] = x_ExplicitVarSizeWithMarker_Values[q9] - | q11 : int(1..3)]) - | q9 : int(1..3)]), - and([x_ExplicitVarSizeWithDummy[q13] != 4 -> - or([q15 <= x_ExplicitVarSizeWithMarker_Marker /\ - x_ExplicitVarSizeWithMarker_Values[q15] = x_ExplicitVarSizeWithDummy[q13] - | q15 : int(1..3)]) - | q13 : int(1..3)]), - and([x_Occurrence[q24] -> - or([x_ExplicitVarSizeWithDummy[q26] != 4 /\ x_ExplicitVarSizeWithDummy[q26] = q24 | q26 : int(1..3)]) - | q24 : int(1..3)]), - and([x_ExplicitVarSizeWithDummy[q28] != 4 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q28]] | q28 : int(1..3)]), - and([x_Occurrence[q29] -> - or([q31 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q31] = q29 - | q31 : int(1..3)]) - | q29 : int(1..3)]), - and([q33 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q33]] - | q33 : int(1..3)]) - diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_2_3_2-solution000001.solution b/tests/exhaustive/basic/cut_01_on/expected/model_2_3_2-solution000001.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_2_3_2-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_2_3_2-solution000002.solution b/tests/exhaustive/basic/cut_01_on/expected/model_2_3_2-solution000002.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_2_3_2-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_2_3_2-solution000003.solution b/tests/exhaustive/basic/cut_01_on/expected/model_2_3_2-solution000003.solution new file mode 100644 index 0000000000..de5cc861ad --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_2_3_2-solution000003.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_2_3_2-solution000004.solution b/tests/exhaustive/basic/cut_01_on/expected/model_2_3_2-solution000004.solution new file mode 100644 index 0000000000..a28b6d6203 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_2_3_2-solution000004.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_2_3_2-solution000005.solution b/tests/exhaustive/basic/cut_01_on/expected/model_2_3_2-solution000005.solution new file mode 100644 index 0000000000..1a734343d9 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_2_3_2-solution000005.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_2_3_2-solution000006.solution b/tests/exhaustive/basic/cut_01_on/expected/model_2_3_2-solution000006.solution new file mode 100644 index 0000000000..76bc8cdc32 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_2_3_2-solution000006.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {2} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_2_3_2-solution000007.solution b/tests/exhaustive/basic/cut_01_on/expected/model_2_3_2-solution000007.solution new file mode 100644 index 0000000000..86a85825b3 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_2_3_2-solution000007.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_2_3_2-solution000008.solution b/tests/exhaustive/basic/cut_01_on/expected/model_2_3_2-solution000008.solution new file mode 100644 index 0000000000..8dddb3b359 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_2_3_2-solution000008.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {2, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_2_3_2.eprime.orig b/tests/exhaustive/basic/cut_01_on/expected/model_2_3_2.eprime.orig deleted file mode 100644 index 841093014c..0000000000 --- a/tests/exhaustive/basic/cut_01_on/expected/model_2_3_2.eprime.orig +++ /dev/null @@ -1,33 +0,0 @@ -language ESSENCE' 1.0 - -find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..3)] of int(1..4) -find x_ExplicitVarSizeWithMarker_Marker: int(0..3) -find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..3)] of int(1..3) -find cut1: bool -find cut2: bool -branching on - [cut1, cut2, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_ExplicitVarSizeWithDummy] -such that - !cut1 <-> - or([x_ExplicitVarSizeWithDummy[q18] != 4 /\ x_ExplicitVarSizeWithDummy[q18] = 1 | q18 : int(1..3)]) /\ - or([x_ExplicitVarSizeWithDummy[q20] != 4 /\ x_ExplicitVarSizeWithDummy[q20] = 2 | q20 : int(1..3)]), - !cut2 <-> - or([q22 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q22] = 1 | q22 : int(1..3)]), - and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 4 - | q1 : int(1..2)]), - and([x_ExplicitVarSizeWithDummy[q2] = 4 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 4 | q2 : int(1..2)]), - and([q5 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> - x_ExplicitVarSizeWithMarker_Values[q5] < x_ExplicitVarSizeWithMarker_Values[q5 + 1] - | q5 : int(1..2)]), - and([q6 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q6] = 1 | q6 : int(1..3)]), - and([q9 <= x_ExplicitVarSizeWithMarker_Marker -> - or([x_ExplicitVarSizeWithDummy[q11] != 4 /\ - x_ExplicitVarSizeWithDummy[q11] = x_ExplicitVarSizeWithMarker_Values[q9] - | q11 : int(1..3)]) - | q9 : int(1..3)]), - and([x_ExplicitVarSizeWithDummy[q13] != 4 -> - or([q15 <= x_ExplicitVarSizeWithMarker_Marker /\ - x_ExplicitVarSizeWithMarker_Values[q15] = x_ExplicitVarSizeWithDummy[q13] - | q15 : int(1..3)]) - | q13 : int(1..3)]) - diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_2_3_3.eprime.orig b/tests/exhaustive/basic/cut_01_on/expected/model_2_3_3.eprime.orig deleted file mode 100644 index 841093014c..0000000000 --- a/tests/exhaustive/basic/cut_01_on/expected/model_2_3_3.eprime.orig +++ /dev/null @@ -1,33 +0,0 @@ -language ESSENCE' 1.0 - -find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..3)] of int(1..4) -find x_ExplicitVarSizeWithMarker_Marker: int(0..3) -find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..3)] of int(1..3) -find cut1: bool -find cut2: bool -branching on - [cut1, cut2, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_ExplicitVarSizeWithDummy] -such that - !cut1 <-> - or([x_ExplicitVarSizeWithDummy[q18] != 4 /\ x_ExplicitVarSizeWithDummy[q18] = 1 | q18 : int(1..3)]) /\ - or([x_ExplicitVarSizeWithDummy[q20] != 4 /\ x_ExplicitVarSizeWithDummy[q20] = 2 | q20 : int(1..3)]), - !cut2 <-> - or([q22 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q22] = 1 | q22 : int(1..3)]), - and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 4 - | q1 : int(1..2)]), - and([x_ExplicitVarSizeWithDummy[q2] = 4 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 4 | q2 : int(1..2)]), - and([q5 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> - x_ExplicitVarSizeWithMarker_Values[q5] < x_ExplicitVarSizeWithMarker_Values[q5 + 1] - | q5 : int(1..2)]), - and([q6 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q6] = 1 | q6 : int(1..3)]), - and([q9 <= x_ExplicitVarSizeWithMarker_Marker -> - or([x_ExplicitVarSizeWithDummy[q11] != 4 /\ - x_ExplicitVarSizeWithDummy[q11] = x_ExplicitVarSizeWithMarker_Values[q9] - | q11 : int(1..3)]) - | q9 : int(1..3)]), - and([x_ExplicitVarSizeWithDummy[q13] != 4 -> - or([q15 <= x_ExplicitVarSizeWithMarker_Marker /\ - x_ExplicitVarSizeWithMarker_Values[q15] = x_ExplicitVarSizeWithDummy[q13] - | q15 : int(1..3)]) - | q13 : int(1..3)]) - diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_2_3_4-solution000001.solution b/tests/exhaustive/basic/cut_01_on/expected/model_2_3_4-solution000001.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_2_3_4-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_2_3_4-solution000002.solution b/tests/exhaustive/basic/cut_01_on/expected/model_2_3_4-solution000002.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_2_3_4-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_2_3_4-solution000003.solution b/tests/exhaustive/basic/cut_01_on/expected/model_2_3_4-solution000003.solution new file mode 100644 index 0000000000..de5cc861ad --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_2_3_4-solution000003.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_2_3_4-solution000004.solution b/tests/exhaustive/basic/cut_01_on/expected/model_2_3_4-solution000004.solution new file mode 100644 index 0000000000..a28b6d6203 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_2_3_4-solution000004.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_2_3_4-solution000005.solution b/tests/exhaustive/basic/cut_01_on/expected/model_2_3_4-solution000005.solution new file mode 100644 index 0000000000..1a734343d9 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_2_3_4-solution000005.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_2_3_4-solution000006.solution b/tests/exhaustive/basic/cut_01_on/expected/model_2_3_4-solution000006.solution new file mode 100644 index 0000000000..76bc8cdc32 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_2_3_4-solution000006.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {2} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_2_3_4-solution000007.solution b/tests/exhaustive/basic/cut_01_on/expected/model_2_3_4-solution000007.solution new file mode 100644 index 0000000000..86a85825b3 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_2_3_4-solution000007.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_2_3_4-solution000008.solution b/tests/exhaustive/basic/cut_01_on/expected/model_2_3_4-solution000008.solution new file mode 100644 index 0000000000..8dddb3b359 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_2_3_4-solution000008.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {2, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_2_3_4.eprime.orig b/tests/exhaustive/basic/cut_01_on/expected/model_2_3_4.eprime.orig deleted file mode 100644 index 85ebb942bb..0000000000 --- a/tests/exhaustive/basic/cut_01_on/expected/model_2_3_4.eprime.orig +++ /dev/null @@ -1,62 +0,0 @@ -language ESSENCE' 1.0 - -find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..3)] of int(1..4) -find x_ExplicitVarSizeWithMarker_Marker: int(0..3) -find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..3)] of int(1..3) -find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..3)] of bool -find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..3)] of int(1..3) -find cut1: bool -find cut2: bool -branching on - [cut1, cut2, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_ExplicitVarSizeWithDummy, - x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values] -such that - !cut1 <-> - or([x_ExplicitVarSizeWithDummy[q39] != 4 /\ x_ExplicitVarSizeWithDummy[q39] = 1 | q39 : int(1..3)]) /\ - or([x_ExplicitVarSizeWithDummy[q41] != 4 /\ x_ExplicitVarSizeWithDummy[q41] = 2 | q41 : int(1..3)]), - !cut2 <-> - or([q43 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q43] = 1 | q43 : int(1..3)]), - and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 4 - | q1 : int(1..2)]), - and([x_ExplicitVarSizeWithDummy[q2] = 4 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 4 | q2 : int(1..2)]), - and([q5 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> - x_ExplicitVarSizeWithMarker_Values[q5] < x_ExplicitVarSizeWithMarker_Values[q5 + 1] - | q5 : int(1..2)]), - and([q6 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q6] = 1 | q6 : int(1..3)]), - and([q9 <= x_ExplicitVarSizeWithMarker_Marker -> - or([x_ExplicitVarSizeWithDummy[q11] != 4 /\ - x_ExplicitVarSizeWithDummy[q11] = x_ExplicitVarSizeWithMarker_Values[q9] - | q11 : int(1..3)]) - | q9 : int(1..3)]), - and([x_ExplicitVarSizeWithDummy[q13] != 4 -> - or([q15 <= x_ExplicitVarSizeWithMarker_Marker /\ - x_ExplicitVarSizeWithMarker_Values[q15] = x_ExplicitVarSizeWithDummy[q13] - | q15 : int(1..3)]) - | q13 : int(1..3)]), - and([x_ExplicitVarSizeWithFlags_Flags[q16 + 1] -> - x_ExplicitVarSizeWithFlags_Values[q16] < x_ExplicitVarSizeWithFlags_Values[q16 + 1] - | q16 : int(1..2)]), - and([x_ExplicitVarSizeWithFlags_Flags[q17] = false -> x_ExplicitVarSizeWithFlags_Values[q17] = 1 - | q17 : int(1..3)]), - and([x_ExplicitVarSizeWithFlags_Flags[q18 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q18] | q18 : int(1..2)]), - and([x_ExplicitVarSizeWithFlags_Flags[q22] -> - or([x_ExplicitVarSizeWithDummy[q24] != 4 /\ - x_ExplicitVarSizeWithDummy[q24] = x_ExplicitVarSizeWithFlags_Values[q22] - | q24 : int(1..3)]) - | q22 : int(1..3)]), - and([x_ExplicitVarSizeWithDummy[q26] != 4 -> - or([x_ExplicitVarSizeWithFlags_Flags[q28] /\ - x_ExplicitVarSizeWithFlags_Values[q28] = x_ExplicitVarSizeWithDummy[q26] - | q28 : int(1..3)]) - | q26 : int(1..3)]), - and([x_ExplicitVarSizeWithFlags_Flags[q30] -> - or([q32 <= x_ExplicitVarSizeWithMarker_Marker /\ - x_ExplicitVarSizeWithMarker_Values[q32] = x_ExplicitVarSizeWithFlags_Values[q30] - | q32 : int(1..3)]) - | q30 : int(1..3)]), - and([q34 <= x_ExplicitVarSizeWithMarker_Marker -> - or([x_ExplicitVarSizeWithFlags_Flags[q36] /\ - x_ExplicitVarSizeWithFlags_Values[q36] = x_ExplicitVarSizeWithMarker_Values[q34] - | q36 : int(1..3)]) - | q34 : int(1..3)]) - diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_2_4_1-solution000001.solution b/tests/exhaustive/basic/cut_01_on/expected/model_2_4_1-solution000001.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_2_4_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_2_4_1-solution000002.solution b/tests/exhaustive/basic/cut_01_on/expected/model_2_4_1-solution000002.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_2_4_1-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_2_4_1-solution000003.solution b/tests/exhaustive/basic/cut_01_on/expected/model_2_4_1-solution000003.solution new file mode 100644 index 0000000000..de5cc861ad --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_2_4_1-solution000003.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_2_4_1-solution000004.solution b/tests/exhaustive/basic/cut_01_on/expected/model_2_4_1-solution000004.solution new file mode 100644 index 0000000000..a28b6d6203 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_2_4_1-solution000004.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_2_4_1-solution000005.solution b/tests/exhaustive/basic/cut_01_on/expected/model_2_4_1-solution000005.solution new file mode 100644 index 0000000000..1a734343d9 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_2_4_1-solution000005.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_2_4_1-solution000006.solution b/tests/exhaustive/basic/cut_01_on/expected/model_2_4_1-solution000006.solution new file mode 100644 index 0000000000..86a85825b3 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_2_4_1-solution000006.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_2_4_1-solution000007.solution b/tests/exhaustive/basic/cut_01_on/expected/model_2_4_1-solution000007.solution new file mode 100644 index 0000000000..76bc8cdc32 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_2_4_1-solution000007.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {2} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_2_4_1-solution000008.solution b/tests/exhaustive/basic/cut_01_on/expected/model_2_4_1-solution000008.solution new file mode 100644 index 0000000000..8dddb3b359 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_2_4_1-solution000008.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {2, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_2_4_1.eprime.orig b/tests/exhaustive/basic/cut_01_on/expected/model_2_4_1.eprime.orig deleted file mode 100644 index f6983c9c0e..0000000000 --- a/tests/exhaustive/basic/cut_01_on/expected/model_2_4_1.eprime.orig +++ /dev/null @@ -1,45 +0,0 @@ -language ESSENCE' 1.0 - -find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..3)] of int(1..4) -find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..3)] of bool -find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..3)] of int(1..3) -find x_Occurrence: matrix indexed by [int(1..3)] of bool -find cut1: bool -find cut2: bool -branching on - [cut1, cut2, x_Occurrence, x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithFlags_Flags, - x_ExplicitVarSizeWithFlags_Values] -such that - !cut1 <-> - or([x_ExplicitVarSizeWithDummy[q31] != 4 /\ x_ExplicitVarSizeWithDummy[q31] = 1 | q31 : int(1..3)]) /\ - or([x_ExplicitVarSizeWithDummy[q33] != 4 /\ x_ExplicitVarSizeWithDummy[q33] = 2 | q33 : int(1..3)]), - !cut2 <-> - or([x_ExplicitVarSizeWithFlags_Flags[q35] /\ x_ExplicitVarSizeWithFlags_Values[q35] = 1 | q35 : int(1..3)]), - and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 4 - | q1 : int(1..2)]), - and([x_ExplicitVarSizeWithDummy[q2] = 4 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 4 | q2 : int(1..2)]), - and([x_ExplicitVarSizeWithFlags_Flags[q5 + 1] -> - x_ExplicitVarSizeWithFlags_Values[q5] < x_ExplicitVarSizeWithFlags_Values[q5 + 1] - | q5 : int(1..2)]), - and([x_ExplicitVarSizeWithFlags_Flags[q6] = false -> x_ExplicitVarSizeWithFlags_Values[q6] = 1 | q6 : int(1..3)]), - and([x_ExplicitVarSizeWithFlags_Flags[q7 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q7] | q7 : int(1..2)]), - and([x_ExplicitVarSizeWithFlags_Flags[q11] -> - or([x_ExplicitVarSizeWithDummy[q13] != 4 /\ - x_ExplicitVarSizeWithDummy[q13] = x_ExplicitVarSizeWithFlags_Values[q11] - | q13 : int(1..3)]) - | q11 : int(1..3)]), - and([x_ExplicitVarSizeWithDummy[q15] != 4 -> - or([x_ExplicitVarSizeWithFlags_Flags[q17] /\ - x_ExplicitVarSizeWithFlags_Values[q17] = x_ExplicitVarSizeWithDummy[q15] - | q17 : int(1..3)]) - | q15 : int(1..3)]), - and([x_Occurrence[q19] -> - or([x_ExplicitVarSizeWithDummy[q21] != 4 /\ x_ExplicitVarSizeWithDummy[q21] = q19 | q21 : int(1..3)]) - | q19 : int(1..3)]), - and([x_ExplicitVarSizeWithDummy[q23] != 4 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q23]] | q23 : int(1..3)]), - and([x_Occurrence[q24] -> - or([x_ExplicitVarSizeWithFlags_Flags[q26] /\ x_ExplicitVarSizeWithFlags_Values[q26] = q24 | q26 : int(1..3)]) - | q24 : int(1..3)]), - and([x_ExplicitVarSizeWithFlags_Flags[q28] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q28]] - | q28 : int(1..3)]) - diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_2_4_2-solution000001.solution b/tests/exhaustive/basic/cut_01_on/expected/model_2_4_2-solution000001.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_2_4_2-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_2_4_2-solution000002.solution b/tests/exhaustive/basic/cut_01_on/expected/model_2_4_2-solution000002.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_2_4_2-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_2_4_2-solution000003.solution b/tests/exhaustive/basic/cut_01_on/expected/model_2_4_2-solution000003.solution new file mode 100644 index 0000000000..de5cc861ad --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_2_4_2-solution000003.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_2_4_2-solution000004.solution b/tests/exhaustive/basic/cut_01_on/expected/model_2_4_2-solution000004.solution new file mode 100644 index 0000000000..a28b6d6203 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_2_4_2-solution000004.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_2_4_2-solution000005.solution b/tests/exhaustive/basic/cut_01_on/expected/model_2_4_2-solution000005.solution new file mode 100644 index 0000000000..1a734343d9 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_2_4_2-solution000005.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_2_4_2-solution000006.solution b/tests/exhaustive/basic/cut_01_on/expected/model_2_4_2-solution000006.solution new file mode 100644 index 0000000000..76bc8cdc32 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_2_4_2-solution000006.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {2} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_2_4_2-solution000007.solution b/tests/exhaustive/basic/cut_01_on/expected/model_2_4_2-solution000007.solution new file mode 100644 index 0000000000..86a85825b3 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_2_4_2-solution000007.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_2_4_2-solution000008.solution b/tests/exhaustive/basic/cut_01_on/expected/model_2_4_2-solution000008.solution new file mode 100644 index 0000000000..8dddb3b359 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_2_4_2-solution000008.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {2, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_2_4_2.eprime.orig b/tests/exhaustive/basic/cut_01_on/expected/model_2_4_2.eprime.orig deleted file mode 100644 index 31db1d1a15..0000000000 --- a/tests/exhaustive/basic/cut_01_on/expected/model_2_4_2.eprime.orig +++ /dev/null @@ -1,34 +0,0 @@ -language ESSENCE' 1.0 - -find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..3)] of int(1..4) -find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..3)] of bool -find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..3)] of int(1..3) -find cut1: bool -find cut2: bool -branching on - [cut1, cut2, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_ExplicitVarSizeWithDummy] -such that - !cut1 <-> - or([x_ExplicitVarSizeWithDummy[q20] != 4 /\ x_ExplicitVarSizeWithDummy[q20] = 1 | q20 : int(1..3)]) /\ - or([x_ExplicitVarSizeWithDummy[q22] != 4 /\ x_ExplicitVarSizeWithDummy[q22] = 2 | q22 : int(1..3)]), - !cut2 <-> - or([x_ExplicitVarSizeWithFlags_Flags[q24] /\ x_ExplicitVarSizeWithFlags_Values[q24] = 1 | q24 : int(1..3)]), - and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 4 - | q1 : int(1..2)]), - and([x_ExplicitVarSizeWithDummy[q2] = 4 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 4 | q2 : int(1..2)]), - and([x_ExplicitVarSizeWithFlags_Flags[q5 + 1] -> - x_ExplicitVarSizeWithFlags_Values[q5] < x_ExplicitVarSizeWithFlags_Values[q5 + 1] - | q5 : int(1..2)]), - and([x_ExplicitVarSizeWithFlags_Flags[q6] = false -> x_ExplicitVarSizeWithFlags_Values[q6] = 1 | q6 : int(1..3)]), - and([x_ExplicitVarSizeWithFlags_Flags[q7 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q7] | q7 : int(1..2)]), - and([x_ExplicitVarSizeWithFlags_Flags[q11] -> - or([x_ExplicitVarSizeWithDummy[q13] != 4 /\ - x_ExplicitVarSizeWithDummy[q13] = x_ExplicitVarSizeWithFlags_Values[q11] - | q13 : int(1..3)]) - | q11 : int(1..3)]), - and([x_ExplicitVarSizeWithDummy[q15] != 4 -> - or([x_ExplicitVarSizeWithFlags_Flags[q17] /\ - x_ExplicitVarSizeWithFlags_Values[q17] = x_ExplicitVarSizeWithDummy[q15] - | q17 : int(1..3)]) - | q15 : int(1..3)]) - diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_2_4_3-solution000001.solution b/tests/exhaustive/basic/cut_01_on/expected/model_2_4_3-solution000001.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_2_4_3-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_2_4_3-solution000002.solution b/tests/exhaustive/basic/cut_01_on/expected/model_2_4_3-solution000002.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_2_4_3-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_2_4_3-solution000003.solution b/tests/exhaustive/basic/cut_01_on/expected/model_2_4_3-solution000003.solution new file mode 100644 index 0000000000..de5cc861ad --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_2_4_3-solution000003.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_2_4_3-solution000004.solution b/tests/exhaustive/basic/cut_01_on/expected/model_2_4_3-solution000004.solution new file mode 100644 index 0000000000..a28b6d6203 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_2_4_3-solution000004.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_2_4_3-solution000005.solution b/tests/exhaustive/basic/cut_01_on/expected/model_2_4_3-solution000005.solution new file mode 100644 index 0000000000..1a734343d9 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_2_4_3-solution000005.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_2_4_3-solution000006.solution b/tests/exhaustive/basic/cut_01_on/expected/model_2_4_3-solution000006.solution new file mode 100644 index 0000000000..76bc8cdc32 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_2_4_3-solution000006.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {2} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_2_4_3-solution000007.solution b/tests/exhaustive/basic/cut_01_on/expected/model_2_4_3-solution000007.solution new file mode 100644 index 0000000000..86a85825b3 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_2_4_3-solution000007.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_2_4_3-solution000008.solution b/tests/exhaustive/basic/cut_01_on/expected/model_2_4_3-solution000008.solution new file mode 100644 index 0000000000..8dddb3b359 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_2_4_3-solution000008.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {2, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_2_4_3.eprime.orig b/tests/exhaustive/basic/cut_01_on/expected/model_2_4_3.eprime.orig deleted file mode 100644 index afe6f3dbbb..0000000000 --- a/tests/exhaustive/basic/cut_01_on/expected/model_2_4_3.eprime.orig +++ /dev/null @@ -1,61 +0,0 @@ -language ESSENCE' 1.0 - -find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..3)] of int(1..4) -find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..3)] of bool -find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..3)] of int(1..3) -find x_ExplicitVarSizeWithMarker_Marker: int(0..3) -find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..3)] of int(1..3) -find cut1: bool -find cut2: bool -branching on - [cut1, cut2, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_ExplicitVarSizeWithDummy, - x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values] -such that - !cut1 <-> - or([x_ExplicitVarSizeWithDummy[q39] != 4 /\ x_ExplicitVarSizeWithDummy[q39] = 1 | q39 : int(1..3)]) /\ - or([x_ExplicitVarSizeWithDummy[q41] != 4 /\ x_ExplicitVarSizeWithDummy[q41] = 2 | q41 : int(1..3)]), - !cut2 <-> - or([x_ExplicitVarSizeWithFlags_Flags[q43] /\ x_ExplicitVarSizeWithFlags_Values[q43] = 1 | q43 : int(1..3)]), - and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 4 - | q1 : int(1..2)]), - and([x_ExplicitVarSizeWithDummy[q2] = 4 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 4 | q2 : int(1..2)]), - and([x_ExplicitVarSizeWithFlags_Flags[q5 + 1] -> - x_ExplicitVarSizeWithFlags_Values[q5] < x_ExplicitVarSizeWithFlags_Values[q5 + 1] - | q5 : int(1..2)]), - and([x_ExplicitVarSizeWithFlags_Flags[q6] = false -> x_ExplicitVarSizeWithFlags_Values[q6] = 1 | q6 : int(1..3)]), - and([x_ExplicitVarSizeWithFlags_Flags[q7 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q7] | q7 : int(1..2)]), - and([x_ExplicitVarSizeWithFlags_Flags[q11] -> - or([x_ExplicitVarSizeWithDummy[q13] != 4 /\ - x_ExplicitVarSizeWithDummy[q13] = x_ExplicitVarSizeWithFlags_Values[q11] - | q13 : int(1..3)]) - | q11 : int(1..3)]), - and([x_ExplicitVarSizeWithDummy[q15] != 4 -> - or([x_ExplicitVarSizeWithFlags_Flags[q17] /\ - x_ExplicitVarSizeWithFlags_Values[q17] = x_ExplicitVarSizeWithDummy[q15] - | q17 : int(1..3)]) - | q15 : int(1..3)]), - and([q18 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> - x_ExplicitVarSizeWithMarker_Values[q18] < x_ExplicitVarSizeWithMarker_Values[q18 + 1] - | q18 : int(1..2)]), - and([q19 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q19] = 1 | q19 : int(1..3)]), - and([q22 <= x_ExplicitVarSizeWithMarker_Marker -> - or([x_ExplicitVarSizeWithDummy[q24] != 4 /\ - x_ExplicitVarSizeWithDummy[q24] = x_ExplicitVarSizeWithMarker_Values[q22] - | q24 : int(1..3)]) - | q22 : int(1..3)]), - and([x_ExplicitVarSizeWithDummy[q26] != 4 -> - or([q28 <= x_ExplicitVarSizeWithMarker_Marker /\ - x_ExplicitVarSizeWithMarker_Values[q28] = x_ExplicitVarSizeWithDummy[q26] - | q28 : int(1..3)]) - | q26 : int(1..3)]), - and([q30 <= x_ExplicitVarSizeWithMarker_Marker -> - or([x_ExplicitVarSizeWithFlags_Flags[q32] /\ - x_ExplicitVarSizeWithFlags_Values[q32] = x_ExplicitVarSizeWithMarker_Values[q30] - | q32 : int(1..3)]) - | q30 : int(1..3)]), - and([x_ExplicitVarSizeWithFlags_Flags[q34] -> - or([q36 <= x_ExplicitVarSizeWithMarker_Marker /\ - x_ExplicitVarSizeWithMarker_Values[q36] = x_ExplicitVarSizeWithFlags_Values[q34] - | q36 : int(1..3)]) - | q34 : int(1..3)]) - diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_2_4_4.eprime.orig b/tests/exhaustive/basic/cut_01_on/expected/model_2_4_4.eprime.orig deleted file mode 100644 index 31db1d1a15..0000000000 --- a/tests/exhaustive/basic/cut_01_on/expected/model_2_4_4.eprime.orig +++ /dev/null @@ -1,34 +0,0 @@ -language ESSENCE' 1.0 - -find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..3)] of int(1..4) -find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..3)] of bool -find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..3)] of int(1..3) -find cut1: bool -find cut2: bool -branching on - [cut1, cut2, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_ExplicitVarSizeWithDummy] -such that - !cut1 <-> - or([x_ExplicitVarSizeWithDummy[q20] != 4 /\ x_ExplicitVarSizeWithDummy[q20] = 1 | q20 : int(1..3)]) /\ - or([x_ExplicitVarSizeWithDummy[q22] != 4 /\ x_ExplicitVarSizeWithDummy[q22] = 2 | q22 : int(1..3)]), - !cut2 <-> - or([x_ExplicitVarSizeWithFlags_Flags[q24] /\ x_ExplicitVarSizeWithFlags_Values[q24] = 1 | q24 : int(1..3)]), - and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 4 - | q1 : int(1..2)]), - and([x_ExplicitVarSizeWithDummy[q2] = 4 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 4 | q2 : int(1..2)]), - and([x_ExplicitVarSizeWithFlags_Flags[q5 + 1] -> - x_ExplicitVarSizeWithFlags_Values[q5] < x_ExplicitVarSizeWithFlags_Values[q5 + 1] - | q5 : int(1..2)]), - and([x_ExplicitVarSizeWithFlags_Flags[q6] = false -> x_ExplicitVarSizeWithFlags_Values[q6] = 1 | q6 : int(1..3)]), - and([x_ExplicitVarSizeWithFlags_Flags[q7 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q7] | q7 : int(1..2)]), - and([x_ExplicitVarSizeWithFlags_Flags[q11] -> - or([x_ExplicitVarSizeWithDummy[q13] != 4 /\ - x_ExplicitVarSizeWithDummy[q13] = x_ExplicitVarSizeWithFlags_Values[q11] - | q13 : int(1..3)]) - | q11 : int(1..3)]), - and([x_ExplicitVarSizeWithDummy[q15] != 4 -> - or([x_ExplicitVarSizeWithFlags_Flags[q17] /\ - x_ExplicitVarSizeWithFlags_Values[q17] = x_ExplicitVarSizeWithDummy[q15] - | q17 : int(1..3)]) - | q15 : int(1..3)]) - diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_3_1_1-solution000001.solution b/tests/exhaustive/basic/cut_01_on/expected/model_3_1_1-solution000001.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_3_1_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_3_1_1-solution000002.solution b/tests/exhaustive/basic/cut_01_on/expected/model_3_1_1-solution000002.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_3_1_1-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_3_1_1-solution000003.solution b/tests/exhaustive/basic/cut_01_on/expected/model_3_1_1-solution000003.solution new file mode 100644 index 0000000000..de5cc861ad --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_3_1_1-solution000003.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_3_1_1-solution000004.solution b/tests/exhaustive/basic/cut_01_on/expected/model_3_1_1-solution000004.solution new file mode 100644 index 0000000000..a28b6d6203 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_3_1_1-solution000004.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_3_1_1-solution000005.solution b/tests/exhaustive/basic/cut_01_on/expected/model_3_1_1-solution000005.solution new file mode 100644 index 0000000000..1a734343d9 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_3_1_1-solution000005.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_3_1_1-solution000006.solution b/tests/exhaustive/basic/cut_01_on/expected/model_3_1_1-solution000006.solution new file mode 100644 index 0000000000..86a85825b3 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_3_1_1-solution000006.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_3_1_1-solution000007.solution b/tests/exhaustive/basic/cut_01_on/expected/model_3_1_1-solution000007.solution new file mode 100644 index 0000000000..76bc8cdc32 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_3_1_1-solution000007.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {2} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_3_1_1-solution000008.solution b/tests/exhaustive/basic/cut_01_on/expected/model_3_1_1-solution000008.solution new file mode 100644 index 0000000000..8dddb3b359 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_3_1_1-solution000008.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {2, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_3_1_1.eprime.orig b/tests/exhaustive/basic/cut_01_on/expected/model_3_1_1.eprime.orig deleted file mode 100644 index a48a84aee7..0000000000 --- a/tests/exhaustive/basic/cut_01_on/expected/model_3_1_1.eprime.orig +++ /dev/null @@ -1,23 +0,0 @@ -language ESSENCE' 1.0 - -find x_ExplicitVarSizeWithMarker_Marker: int(0..3) -find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..3)] of int(1..3) -find x_Occurrence: matrix indexed by [int(1..3)] of bool -find cut1: bool -find cut2: bool -branching on [cut1, cut2, x_Occurrence, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values] -such that - !cut1 <-> - or([q12 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q12] = 1 | q12 : int(1..3)]) /\ - or([q14 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q14] = 2 | q14 : int(1..3)]), - !cut2 <-> x_Occurrence[1], - and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> - x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] - | q1 : int(1..2)]), - and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 1 | q2 : int(1..3)]), - and([x_Occurrence[q5] -> - or([q7 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q7] = q5 | q7 : int(1..3)]) - | q5 : int(1..3)]), - and([q9 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q9]] - | q9 : int(1..3)]) - diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_3_1_2-solution000001.solution b/tests/exhaustive/basic/cut_01_on/expected/model_3_1_2-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_3_1_2-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_3_1_2-solution000002.solution b/tests/exhaustive/basic/cut_01_on/expected/model_3_1_2-solution000002.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_3_1_2-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_3_1_2-solution000003.solution b/tests/exhaustive/basic/cut_01_on/expected/model_3_1_2-solution000003.solution new file mode 100644 index 0000000000..a28b6d6203 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_3_1_2-solution000003.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_3_1_2-solution000004.solution b/tests/exhaustive/basic/cut_01_on/expected/model_3_1_2-solution000004.solution new file mode 100644 index 0000000000..de5cc861ad --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_3_1_2-solution000004.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_3_1_2-solution000005.solution b/tests/exhaustive/basic/cut_01_on/expected/model_3_1_2-solution000005.solution new file mode 100644 index 0000000000..8dddb3b359 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_3_1_2-solution000005.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {2, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_3_1_2-solution000006.solution b/tests/exhaustive/basic/cut_01_on/expected/model_3_1_2-solution000006.solution new file mode 100644 index 0000000000..76bc8cdc32 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_3_1_2-solution000006.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {2} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_3_1_2-solution000007.solution b/tests/exhaustive/basic/cut_01_on/expected/model_3_1_2-solution000007.solution new file mode 100644 index 0000000000..86a85825b3 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_3_1_2-solution000007.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_3_1_2-solution000008.solution b/tests/exhaustive/basic/cut_01_on/expected/model_3_1_2-solution000008.solution new file mode 100644 index 0000000000..1a734343d9 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_3_1_2-solution000008.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_3_1_2.eprime.orig b/tests/exhaustive/basic/cut_01_on/expected/model_3_1_2.eprime.orig deleted file mode 100644 index 02751a648d..0000000000 --- a/tests/exhaustive/basic/cut_01_on/expected/model_3_1_2.eprime.orig +++ /dev/null @@ -1,44 +0,0 @@ -language ESSENCE' 1.0 - -find x_ExplicitVarSizeWithMarker_Marker: int(0..3) -find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..3)] of int(1..3) -find x_Occurrence: matrix indexed by [int(1..3)] of bool -find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..3)] of int(1..4) -find cut1: bool -find cut2: bool -branching on - [cut1, cut2, x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, - x_Occurrence] -such that - !cut1 <-> - or([q29 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q29] = 1 | q29 : int(1..3)]) /\ - or([q31 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q31] = 2 | q31 : int(1..3)]), - !cut2 <-> x_Occurrence[1], - and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> - x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] - | q1 : int(1..2)]), - and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 1 | q2 : int(1..3)]), - and([x_Occurrence[q22] -> - or([q24 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q24] = q22 - | q24 : int(1..3)]) - | q22 : int(1..3)]), - and([q26 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q26]] - | q26 : int(1..3)]), - and([x_ExplicitVarSizeWithDummy[q5] < x_ExplicitVarSizeWithDummy[q5 + 1] \/ x_ExplicitVarSizeWithDummy[q5] = 4 - | q5 : int(1..2)]), - and([x_ExplicitVarSizeWithDummy[q6] = 4 -> x_ExplicitVarSizeWithDummy[q6 + 1] = 4 | q6 : int(1..2)]), - and([x_ExplicitVarSizeWithDummy[q10] != 4 -> - or([q12 <= x_ExplicitVarSizeWithMarker_Marker /\ - x_ExplicitVarSizeWithMarker_Values[q12] = x_ExplicitVarSizeWithDummy[q10] - | q12 : int(1..3)]) - | q10 : int(1..3)]), - and([q14 <= x_ExplicitVarSizeWithMarker_Marker -> - or([x_ExplicitVarSizeWithDummy[q16] != 4 /\ - x_ExplicitVarSizeWithDummy[q16] = x_ExplicitVarSizeWithMarker_Values[q14] - | q16 : int(1..3)]) - | q14 : int(1..3)]), - and([x_ExplicitVarSizeWithDummy[q18] != 4 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q18]] | q18 : int(1..3)]), - and([x_Occurrence[q19] -> - or([x_ExplicitVarSizeWithDummy[q21] != 4 /\ x_ExplicitVarSizeWithDummy[q21] = q19 | q21 : int(1..3)]) - | q19 : int(1..3)]) - diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_3_1_3.eprime.orig b/tests/exhaustive/basic/cut_01_on/expected/model_3_1_3.eprime.orig deleted file mode 100644 index a48a84aee7..0000000000 --- a/tests/exhaustive/basic/cut_01_on/expected/model_3_1_3.eprime.orig +++ /dev/null @@ -1,23 +0,0 @@ -language ESSENCE' 1.0 - -find x_ExplicitVarSizeWithMarker_Marker: int(0..3) -find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..3)] of int(1..3) -find x_Occurrence: matrix indexed by [int(1..3)] of bool -find cut1: bool -find cut2: bool -branching on [cut1, cut2, x_Occurrence, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values] -such that - !cut1 <-> - or([q12 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q12] = 1 | q12 : int(1..3)]) /\ - or([q14 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q14] = 2 | q14 : int(1..3)]), - !cut2 <-> x_Occurrence[1], - and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> - x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] - | q1 : int(1..2)]), - and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 1 | q2 : int(1..3)]), - and([x_Occurrence[q5] -> - or([q7 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q7] = q5 | q7 : int(1..3)]) - | q5 : int(1..3)]), - and([q9 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q9]] - | q9 : int(1..3)]) - diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_3_1_4-solution000001.solution b/tests/exhaustive/basic/cut_01_on/expected/model_3_1_4-solution000001.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_3_1_4-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_3_1_4-solution000002.solution b/tests/exhaustive/basic/cut_01_on/expected/model_3_1_4-solution000002.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_3_1_4-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_3_1_4-solution000003.solution b/tests/exhaustive/basic/cut_01_on/expected/model_3_1_4-solution000003.solution new file mode 100644 index 0000000000..de5cc861ad --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_3_1_4-solution000003.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_3_1_4-solution000004.solution b/tests/exhaustive/basic/cut_01_on/expected/model_3_1_4-solution000004.solution new file mode 100644 index 0000000000..a28b6d6203 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_3_1_4-solution000004.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_3_1_4-solution000005.solution b/tests/exhaustive/basic/cut_01_on/expected/model_3_1_4-solution000005.solution new file mode 100644 index 0000000000..1a734343d9 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_3_1_4-solution000005.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_3_1_4-solution000006.solution b/tests/exhaustive/basic/cut_01_on/expected/model_3_1_4-solution000006.solution new file mode 100644 index 0000000000..76bc8cdc32 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_3_1_4-solution000006.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {2} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_3_1_4-solution000007.solution b/tests/exhaustive/basic/cut_01_on/expected/model_3_1_4-solution000007.solution new file mode 100644 index 0000000000..86a85825b3 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_3_1_4-solution000007.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_3_1_4-solution000008.solution b/tests/exhaustive/basic/cut_01_on/expected/model_3_1_4-solution000008.solution new file mode 100644 index 0000000000..8dddb3b359 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_3_1_4-solution000008.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {2, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_3_1_4.eprime.orig b/tests/exhaustive/basic/cut_01_on/expected/model_3_1_4.eprime.orig deleted file mode 100644 index b63ab0aee3..0000000000 --- a/tests/exhaustive/basic/cut_01_on/expected/model_3_1_4.eprime.orig +++ /dev/null @@ -1,48 +0,0 @@ -language ESSENCE' 1.0 - -find x_ExplicitVarSizeWithMarker_Marker: int(0..3) -find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..3)] of int(1..3) -find x_Occurrence: matrix indexed by [int(1..3)] of bool -find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..3)] of bool -find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..3)] of int(1..3) -find cut1: bool -find cut2: bool -branching on - [cut1, cut2, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, - x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_Occurrence] -such that - !cut1 <-> - or([q30 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q30] = 1 | q30 : int(1..3)]) /\ - or([q32 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q32] = 2 | q32 : int(1..3)]), - !cut2 <-> x_Occurrence[1], - and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> - x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] - | q1 : int(1..2)]), - and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 1 | q2 : int(1..3)]), - and([x_Occurrence[q23] -> - or([q25 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q25] = q23 - | q25 : int(1..3)]) - | q23 : int(1..3)]), - and([q27 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q27]] - | q27 : int(1..3)]), - and([x_ExplicitVarSizeWithFlags_Flags[q5 + 1] -> - x_ExplicitVarSizeWithFlags_Values[q5] < x_ExplicitVarSizeWithFlags_Values[q5 + 1] - | q5 : int(1..2)]), - and([x_ExplicitVarSizeWithFlags_Flags[q6] = false -> x_ExplicitVarSizeWithFlags_Values[q6] = 1 | q6 : int(1..3)]), - and([x_ExplicitVarSizeWithFlags_Flags[q7 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q7] | q7 : int(1..2)]), - and([x_ExplicitVarSizeWithFlags_Flags[q11] -> - or([q13 <= x_ExplicitVarSizeWithMarker_Marker /\ - x_ExplicitVarSizeWithMarker_Values[q13] = x_ExplicitVarSizeWithFlags_Values[q11] - | q13 : int(1..3)]) - | q11 : int(1..3)]), - and([q15 <= x_ExplicitVarSizeWithMarker_Marker -> - or([x_ExplicitVarSizeWithFlags_Flags[q17] /\ - x_ExplicitVarSizeWithFlags_Values[q17] = x_ExplicitVarSizeWithMarker_Values[q15] - | q17 : int(1..3)]) - | q15 : int(1..3)]), - and([x_ExplicitVarSizeWithFlags_Flags[q19] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q19]] - | q19 : int(1..3)]), - and([x_Occurrence[q20] -> - or([x_ExplicitVarSizeWithFlags_Flags[q22] /\ x_ExplicitVarSizeWithFlags_Values[q22] = q20 | q22 : int(1..3)]) - | q20 : int(1..3)]) - diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_3_2_1-solution000001.solution b/tests/exhaustive/basic/cut_01_on/expected/model_3_2_1-solution000001.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_3_2_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_3_2_1-solution000002.solution b/tests/exhaustive/basic/cut_01_on/expected/model_3_2_1-solution000002.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_3_2_1-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_3_2_1-solution000003.solution b/tests/exhaustive/basic/cut_01_on/expected/model_3_2_1-solution000003.solution new file mode 100644 index 0000000000..de5cc861ad --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_3_2_1-solution000003.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_3_2_1-solution000004.solution b/tests/exhaustive/basic/cut_01_on/expected/model_3_2_1-solution000004.solution new file mode 100644 index 0000000000..a28b6d6203 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_3_2_1-solution000004.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_3_2_1-solution000005.solution b/tests/exhaustive/basic/cut_01_on/expected/model_3_2_1-solution000005.solution new file mode 100644 index 0000000000..1a734343d9 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_3_2_1-solution000005.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_3_2_1-solution000006.solution b/tests/exhaustive/basic/cut_01_on/expected/model_3_2_1-solution000006.solution new file mode 100644 index 0000000000..86a85825b3 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_3_2_1-solution000006.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_3_2_1-solution000007.solution b/tests/exhaustive/basic/cut_01_on/expected/model_3_2_1-solution000007.solution new file mode 100644 index 0000000000..76bc8cdc32 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_3_2_1-solution000007.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {2} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_3_2_1-solution000008.solution b/tests/exhaustive/basic/cut_01_on/expected/model_3_2_1-solution000008.solution new file mode 100644 index 0000000000..8dddb3b359 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_3_2_1-solution000008.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {2, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_3_2_1.eprime.orig b/tests/exhaustive/basic/cut_01_on/expected/model_3_2_1.eprime.orig deleted file mode 100644 index d412332f03..0000000000 --- a/tests/exhaustive/basic/cut_01_on/expected/model_3_2_1.eprime.orig +++ /dev/null @@ -1,44 +0,0 @@ -language ESSENCE' 1.0 - -find x_ExplicitVarSizeWithMarker_Marker: int(0..3) -find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..3)] of int(1..3) -find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..3)] of int(1..4) -find x_Occurrence: matrix indexed by [int(1..3)] of bool -find cut1: bool -find cut2: bool -branching on - [cut1, cut2, x_Occurrence, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, - x_ExplicitVarSizeWithDummy] -such that - !cut1 <-> - or([q19 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q19] = 1 | q19 : int(1..3)]) /\ - or([q21 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q21] = 2 | q21 : int(1..3)]), - !cut2 <-> or([x_ExplicitVarSizeWithDummy[q23] != 4 /\ x_ExplicitVarSizeWithDummy[q23] = 1 | q23 : int(1..3)]), - and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> - x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] - | q1 : int(1..2)]), - and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 1 | q2 : int(1..3)]), - and([x_ExplicitVarSizeWithDummy[q4] < x_ExplicitVarSizeWithDummy[q4 + 1] \/ x_ExplicitVarSizeWithDummy[q4] = 4 - | q4 : int(1..2)]), - and([x_ExplicitVarSizeWithDummy[q5] = 4 -> x_ExplicitVarSizeWithDummy[q5 + 1] = 4 | q5 : int(1..2)]), - and([x_ExplicitVarSizeWithDummy[q9] != 4 -> - or([q11 <= x_ExplicitVarSizeWithMarker_Marker /\ - x_ExplicitVarSizeWithMarker_Values[q11] = x_ExplicitVarSizeWithDummy[q9] - | q11 : int(1..3)]) - | q9 : int(1..3)]), - and([q13 <= x_ExplicitVarSizeWithMarker_Marker -> - or([x_ExplicitVarSizeWithDummy[q15] != 4 /\ - x_ExplicitVarSizeWithDummy[q15] = x_ExplicitVarSizeWithMarker_Values[q13] - | q15 : int(1..3)]) - | q13 : int(1..3)]), - and([x_Occurrence[q24] -> - or([q26 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q26] = q24 - | q26 : int(1..3)]) - | q24 : int(1..3)]), - and([q28 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q28]] - | q28 : int(1..3)]), - and([x_Occurrence[q29] -> - or([x_ExplicitVarSizeWithDummy[q31] != 4 /\ x_ExplicitVarSizeWithDummy[q31] = q29 | q31 : int(1..3)]) - | q29 : int(1..3)]), - and([x_ExplicitVarSizeWithDummy[q33] != 4 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q33]] | q33 : int(1..3)]) - diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_3_2_2-solution000001.solution b/tests/exhaustive/basic/cut_01_on/expected/model_3_2_2-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_3_2_2-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_3_2_2-solution000002.solution b/tests/exhaustive/basic/cut_01_on/expected/model_3_2_2-solution000002.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_3_2_2-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_3_2_2-solution000003.solution b/tests/exhaustive/basic/cut_01_on/expected/model_3_2_2-solution000003.solution new file mode 100644 index 0000000000..a28b6d6203 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_3_2_2-solution000003.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_3_2_2-solution000004.solution b/tests/exhaustive/basic/cut_01_on/expected/model_3_2_2-solution000004.solution new file mode 100644 index 0000000000..de5cc861ad --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_3_2_2-solution000004.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_3_2_2-solution000005.solution b/tests/exhaustive/basic/cut_01_on/expected/model_3_2_2-solution000005.solution new file mode 100644 index 0000000000..8dddb3b359 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_3_2_2-solution000005.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {2, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_3_2_2-solution000006.solution b/tests/exhaustive/basic/cut_01_on/expected/model_3_2_2-solution000006.solution new file mode 100644 index 0000000000..76bc8cdc32 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_3_2_2-solution000006.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {2} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_3_2_2-solution000007.solution b/tests/exhaustive/basic/cut_01_on/expected/model_3_2_2-solution000007.solution new file mode 100644 index 0000000000..86a85825b3 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_3_2_2-solution000007.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_3_2_2-solution000008.solution b/tests/exhaustive/basic/cut_01_on/expected/model_3_2_2-solution000008.solution new file mode 100644 index 0000000000..1a734343d9 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_3_2_2-solution000008.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_3_2_2.eprime.orig b/tests/exhaustive/basic/cut_01_on/expected/model_3_2_2.eprime.orig deleted file mode 100644 index afa2877b97..0000000000 --- a/tests/exhaustive/basic/cut_01_on/expected/model_3_2_2.eprime.orig +++ /dev/null @@ -1,32 +0,0 @@ -language ESSENCE' 1.0 - -find x_ExplicitVarSizeWithMarker_Marker: int(0..3) -find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..3)] of int(1..3) -find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..3)] of int(1..4) -find cut1: bool -find cut2: bool -branching on - [cut1, cut2, x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values] -such that - !cut1 <-> - or([q18 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q18] = 1 | q18 : int(1..3)]) /\ - or([q20 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q20] = 2 | q20 : int(1..3)]), - !cut2 <-> or([x_ExplicitVarSizeWithDummy[q22] != 4 /\ x_ExplicitVarSizeWithDummy[q22] = 1 | q22 : int(1..3)]), - and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> - x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] - | q1 : int(1..2)]), - and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 1 | q2 : int(1..3)]), - and([x_ExplicitVarSizeWithDummy[q4] < x_ExplicitVarSizeWithDummy[q4 + 1] \/ x_ExplicitVarSizeWithDummy[q4] = 4 - | q4 : int(1..2)]), - and([x_ExplicitVarSizeWithDummy[q5] = 4 -> x_ExplicitVarSizeWithDummy[q5 + 1] = 4 | q5 : int(1..2)]), - and([x_ExplicitVarSizeWithDummy[q9] != 4 -> - or([q11 <= x_ExplicitVarSizeWithMarker_Marker /\ - x_ExplicitVarSizeWithMarker_Values[q11] = x_ExplicitVarSizeWithDummy[q9] - | q11 : int(1..3)]) - | q9 : int(1..3)]), - and([q13 <= x_ExplicitVarSizeWithMarker_Marker -> - or([x_ExplicitVarSizeWithDummy[q15] != 4 /\ - x_ExplicitVarSizeWithDummy[q15] = x_ExplicitVarSizeWithMarker_Values[q13] - | q15 : int(1..3)]) - | q13 : int(1..3)]) - diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_3_2_3.eprime.orig b/tests/exhaustive/basic/cut_01_on/expected/model_3_2_3.eprime.orig deleted file mode 100644 index afa2877b97..0000000000 --- a/tests/exhaustive/basic/cut_01_on/expected/model_3_2_3.eprime.orig +++ /dev/null @@ -1,32 +0,0 @@ -language ESSENCE' 1.0 - -find x_ExplicitVarSizeWithMarker_Marker: int(0..3) -find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..3)] of int(1..3) -find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..3)] of int(1..4) -find cut1: bool -find cut2: bool -branching on - [cut1, cut2, x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values] -such that - !cut1 <-> - or([q18 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q18] = 1 | q18 : int(1..3)]) /\ - or([q20 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q20] = 2 | q20 : int(1..3)]), - !cut2 <-> or([x_ExplicitVarSizeWithDummy[q22] != 4 /\ x_ExplicitVarSizeWithDummy[q22] = 1 | q22 : int(1..3)]), - and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> - x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] - | q1 : int(1..2)]), - and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 1 | q2 : int(1..3)]), - and([x_ExplicitVarSizeWithDummy[q4] < x_ExplicitVarSizeWithDummy[q4 + 1] \/ x_ExplicitVarSizeWithDummy[q4] = 4 - | q4 : int(1..2)]), - and([x_ExplicitVarSizeWithDummy[q5] = 4 -> x_ExplicitVarSizeWithDummy[q5 + 1] = 4 | q5 : int(1..2)]), - and([x_ExplicitVarSizeWithDummy[q9] != 4 -> - or([q11 <= x_ExplicitVarSizeWithMarker_Marker /\ - x_ExplicitVarSizeWithMarker_Values[q11] = x_ExplicitVarSizeWithDummy[q9] - | q11 : int(1..3)]) - | q9 : int(1..3)]), - and([q13 <= x_ExplicitVarSizeWithMarker_Marker -> - or([x_ExplicitVarSizeWithDummy[q15] != 4 /\ - x_ExplicitVarSizeWithDummy[q15] = x_ExplicitVarSizeWithMarker_Values[q13] - | q15 : int(1..3)]) - | q13 : int(1..3)]) - diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_3_2_4-solution000001.solution b/tests/exhaustive/basic/cut_01_on/expected/model_3_2_4-solution000001.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_3_2_4-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_3_2_4-solution000002.solution b/tests/exhaustive/basic/cut_01_on/expected/model_3_2_4-solution000002.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_3_2_4-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_3_2_4-solution000003.solution b/tests/exhaustive/basic/cut_01_on/expected/model_3_2_4-solution000003.solution new file mode 100644 index 0000000000..de5cc861ad --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_3_2_4-solution000003.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_3_2_4-solution000004.solution b/tests/exhaustive/basic/cut_01_on/expected/model_3_2_4-solution000004.solution new file mode 100644 index 0000000000..a28b6d6203 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_3_2_4-solution000004.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_3_2_4-solution000005.solution b/tests/exhaustive/basic/cut_01_on/expected/model_3_2_4-solution000005.solution new file mode 100644 index 0000000000..1a734343d9 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_3_2_4-solution000005.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_3_2_4-solution000006.solution b/tests/exhaustive/basic/cut_01_on/expected/model_3_2_4-solution000006.solution new file mode 100644 index 0000000000..76bc8cdc32 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_3_2_4-solution000006.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {2} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_3_2_4-solution000007.solution b/tests/exhaustive/basic/cut_01_on/expected/model_3_2_4-solution000007.solution new file mode 100644 index 0000000000..86a85825b3 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_3_2_4-solution000007.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_3_2_4-solution000008.solution b/tests/exhaustive/basic/cut_01_on/expected/model_3_2_4-solution000008.solution new file mode 100644 index 0000000000..8dddb3b359 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_3_2_4-solution000008.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {2, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_3_2_4.eprime.orig b/tests/exhaustive/basic/cut_01_on/expected/model_3_2_4.eprime.orig deleted file mode 100644 index c1b1de927b..0000000000 --- a/tests/exhaustive/basic/cut_01_on/expected/model_3_2_4.eprime.orig +++ /dev/null @@ -1,61 +0,0 @@ -language ESSENCE' 1.0 - -find x_ExplicitVarSizeWithMarker_Marker: int(0..3) -find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..3)] of int(1..3) -find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..3)] of int(1..4) -find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..3)] of bool -find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..3)] of int(1..3) -find cut1: bool -find cut2: bool -branching on - [cut1, cut2, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, - x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_ExplicitVarSizeWithDummy] -such that - !cut1 <-> - or([q39 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q39] = 1 | q39 : int(1..3)]) /\ - or([q41 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q41] = 2 | q41 : int(1..3)]), - !cut2 <-> or([x_ExplicitVarSizeWithDummy[q43] != 4 /\ x_ExplicitVarSizeWithDummy[q43] = 1 | q43 : int(1..3)]), - and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> - x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] - | q1 : int(1..2)]), - and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 1 | q2 : int(1..3)]), - and([x_ExplicitVarSizeWithDummy[q4] < x_ExplicitVarSizeWithDummy[q4 + 1] \/ x_ExplicitVarSizeWithDummy[q4] = 4 - | q4 : int(1..2)]), - and([x_ExplicitVarSizeWithDummy[q5] = 4 -> x_ExplicitVarSizeWithDummy[q5 + 1] = 4 | q5 : int(1..2)]), - and([x_ExplicitVarSizeWithDummy[q9] != 4 -> - or([q11 <= x_ExplicitVarSizeWithMarker_Marker /\ - x_ExplicitVarSizeWithMarker_Values[q11] = x_ExplicitVarSizeWithDummy[q9] - | q11 : int(1..3)]) - | q9 : int(1..3)]), - and([q13 <= x_ExplicitVarSizeWithMarker_Marker -> - or([x_ExplicitVarSizeWithDummy[q15] != 4 /\ - x_ExplicitVarSizeWithDummy[q15] = x_ExplicitVarSizeWithMarker_Values[q13] - | q15 : int(1..3)]) - | q13 : int(1..3)]), - and([x_ExplicitVarSizeWithFlags_Flags[q16 + 1] -> - x_ExplicitVarSizeWithFlags_Values[q16] < x_ExplicitVarSizeWithFlags_Values[q16 + 1] - | q16 : int(1..2)]), - and([x_ExplicitVarSizeWithFlags_Flags[q17] = false -> x_ExplicitVarSizeWithFlags_Values[q17] = 1 - | q17 : int(1..3)]), - and([x_ExplicitVarSizeWithFlags_Flags[q18 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q18] | q18 : int(1..2)]), - and([x_ExplicitVarSizeWithFlags_Flags[q22] -> - or([q24 <= x_ExplicitVarSizeWithMarker_Marker /\ - x_ExplicitVarSizeWithMarker_Values[q24] = x_ExplicitVarSizeWithFlags_Values[q22] - | q24 : int(1..3)]) - | q22 : int(1..3)]), - and([q26 <= x_ExplicitVarSizeWithMarker_Marker -> - or([x_ExplicitVarSizeWithFlags_Flags[q28] /\ - x_ExplicitVarSizeWithFlags_Values[q28] = x_ExplicitVarSizeWithMarker_Values[q26] - | q28 : int(1..3)]) - | q26 : int(1..3)]), - and([x_ExplicitVarSizeWithFlags_Flags[q30] -> - or([x_ExplicitVarSizeWithDummy[q32] != 4 /\ - x_ExplicitVarSizeWithDummy[q32] = x_ExplicitVarSizeWithFlags_Values[q30] - | q32 : int(1..3)]) - | q30 : int(1..3)]), - and([x_ExplicitVarSizeWithDummy[q34] != 4 -> - or([x_ExplicitVarSizeWithFlags_Flags[q36] /\ - x_ExplicitVarSizeWithFlags_Values[q36] = x_ExplicitVarSizeWithDummy[q34] - | q36 : int(1..3)]) - | q34 : int(1..3)]) - diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_3_3_1-solution000001.solution b/tests/exhaustive/basic/cut_01_on/expected/model_3_3_1-solution000001.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_3_3_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_3_3_1-solution000002.solution b/tests/exhaustive/basic/cut_01_on/expected/model_3_3_1-solution000002.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_3_3_1-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_3_3_1-solution000003.solution b/tests/exhaustive/basic/cut_01_on/expected/model_3_3_1-solution000003.solution new file mode 100644 index 0000000000..de5cc861ad --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_3_3_1-solution000003.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_3_3_1-solution000004.solution b/tests/exhaustive/basic/cut_01_on/expected/model_3_3_1-solution000004.solution new file mode 100644 index 0000000000..a28b6d6203 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_3_3_1-solution000004.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_3_3_1-solution000005.solution b/tests/exhaustive/basic/cut_01_on/expected/model_3_3_1-solution000005.solution new file mode 100644 index 0000000000..1a734343d9 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_3_3_1-solution000005.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_3_3_1-solution000006.solution b/tests/exhaustive/basic/cut_01_on/expected/model_3_3_1-solution000006.solution new file mode 100644 index 0000000000..86a85825b3 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_3_3_1-solution000006.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_3_3_1-solution000007.solution b/tests/exhaustive/basic/cut_01_on/expected/model_3_3_1-solution000007.solution new file mode 100644 index 0000000000..76bc8cdc32 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_3_3_1-solution000007.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {2} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_3_3_1-solution000008.solution b/tests/exhaustive/basic/cut_01_on/expected/model_3_3_1-solution000008.solution new file mode 100644 index 0000000000..8dddb3b359 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_3_3_1-solution000008.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {2, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_3_3_1.eprime.orig b/tests/exhaustive/basic/cut_01_on/expected/model_3_3_1.eprime.orig deleted file mode 100644 index efb86f3a6f..0000000000 --- a/tests/exhaustive/basic/cut_01_on/expected/model_3_3_1.eprime.orig +++ /dev/null @@ -1,25 +0,0 @@ -language ESSENCE' 1.0 - -find x_ExplicitVarSizeWithMarker_Marker: int(0..3) -find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..3)] of int(1..3) -find x_Occurrence: matrix indexed by [int(1..3)] of bool -find cut1: bool -find cut2: bool -branching on [cut1, cut2, x_Occurrence, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values] -such that - !cut1 <-> - or([q7 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q7] = 1 | q7 : int(1..3)]) /\ - or([q9 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q9] = 2 | q9 : int(1..3)]), - !cut2 <-> - or([q11 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q11] = 1 | q11 : int(1..3)]), - and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> - x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] - | q1 : int(1..2)]), - and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 1 | q2 : int(1..3)]), - and([x_Occurrence[q12] -> - or([q14 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q14] = q12 - | q14 : int(1..3)]) - | q12 : int(1..3)]), - and([q16 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q16]] - | q16 : int(1..3)]) - diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_3_3_2-solution000001.solution b/tests/exhaustive/basic/cut_01_on/expected/model_3_3_2-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_3_3_2-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_3_3_2-solution000002.solution b/tests/exhaustive/basic/cut_01_on/expected/model_3_3_2-solution000002.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_3_3_2-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_3_3_2-solution000003.solution b/tests/exhaustive/basic/cut_01_on/expected/model_3_3_2-solution000003.solution new file mode 100644 index 0000000000..a28b6d6203 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_3_3_2-solution000003.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_3_3_2-solution000004.solution b/tests/exhaustive/basic/cut_01_on/expected/model_3_3_2-solution000004.solution new file mode 100644 index 0000000000..de5cc861ad --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_3_3_2-solution000004.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_3_3_2-solution000005.solution b/tests/exhaustive/basic/cut_01_on/expected/model_3_3_2-solution000005.solution new file mode 100644 index 0000000000..8dddb3b359 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_3_3_2-solution000005.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {2, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_3_3_2-solution000006.solution b/tests/exhaustive/basic/cut_01_on/expected/model_3_3_2-solution000006.solution new file mode 100644 index 0000000000..76bc8cdc32 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_3_3_2-solution000006.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {2} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_3_3_2-solution000007.solution b/tests/exhaustive/basic/cut_01_on/expected/model_3_3_2-solution000007.solution new file mode 100644 index 0000000000..86a85825b3 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_3_3_2-solution000007.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_3_3_2-solution000008.solution b/tests/exhaustive/basic/cut_01_on/expected/model_3_3_2-solution000008.solution new file mode 100644 index 0000000000..1a734343d9 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_3_3_2-solution000008.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_3_3_2.eprime.orig b/tests/exhaustive/basic/cut_01_on/expected/model_3_3_2.eprime.orig deleted file mode 100644 index 342b5ec1dc..0000000000 --- a/tests/exhaustive/basic/cut_01_on/expected/model_3_3_2.eprime.orig +++ /dev/null @@ -1,33 +0,0 @@ -language ESSENCE' 1.0 - -find x_ExplicitVarSizeWithMarker_Marker: int(0..3) -find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..3)] of int(1..3) -find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..3)] of int(1..4) -find cut1: bool -find cut2: bool -branching on - [cut1, cut2, x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values] -such that - !cut1 <-> - or([q18 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q18] = 1 | q18 : int(1..3)]) /\ - or([q20 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q20] = 2 | q20 : int(1..3)]), - !cut2 <-> - or([q22 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q22] = 1 | q22 : int(1..3)]), - and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> - x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] - | q1 : int(1..2)]), - and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 1 | q2 : int(1..3)]), - and([x_ExplicitVarSizeWithDummy[q4] < x_ExplicitVarSizeWithDummy[q4 + 1] \/ x_ExplicitVarSizeWithDummy[q4] = 4 - | q4 : int(1..2)]), - and([x_ExplicitVarSizeWithDummy[q5] = 4 -> x_ExplicitVarSizeWithDummy[q5 + 1] = 4 | q5 : int(1..2)]), - and([x_ExplicitVarSizeWithDummy[q9] != 4 -> - or([q11 <= x_ExplicitVarSizeWithMarker_Marker /\ - x_ExplicitVarSizeWithMarker_Values[q11] = x_ExplicitVarSizeWithDummy[q9] - | q11 : int(1..3)]) - | q9 : int(1..3)]), - and([q13 <= x_ExplicitVarSizeWithMarker_Marker -> - or([x_ExplicitVarSizeWithDummy[q15] != 4 /\ - x_ExplicitVarSizeWithDummy[q15] = x_ExplicitVarSizeWithMarker_Values[q13] - | q15 : int(1..3)]) - | q13 : int(1..3)]) - diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_3_3_3-solution000001.solution b/tests/exhaustive/basic/cut_01_on/expected/model_3_3_3-solution000001.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_3_3_3-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_3_3_3-solution000002.solution b/tests/exhaustive/basic/cut_01_on/expected/model_3_3_3-solution000002.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_3_3_3-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_3_3_3-solution000003.solution b/tests/exhaustive/basic/cut_01_on/expected/model_3_3_3-solution000003.solution new file mode 100644 index 0000000000..de5cc861ad --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_3_3_3-solution000003.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_3_3_3-solution000004.solution b/tests/exhaustive/basic/cut_01_on/expected/model_3_3_3-solution000004.solution new file mode 100644 index 0000000000..a28b6d6203 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_3_3_3-solution000004.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_3_3_3-solution000005.solution b/tests/exhaustive/basic/cut_01_on/expected/model_3_3_3-solution000005.solution new file mode 100644 index 0000000000..1a734343d9 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_3_3_3-solution000005.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_3_3_3-solution000006.solution b/tests/exhaustive/basic/cut_01_on/expected/model_3_3_3-solution000006.solution new file mode 100644 index 0000000000..76bc8cdc32 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_3_3_3-solution000006.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {2} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_3_3_3-solution000007.solution b/tests/exhaustive/basic/cut_01_on/expected/model_3_3_3-solution000007.solution new file mode 100644 index 0000000000..86a85825b3 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_3_3_3-solution000007.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_3_3_3-solution000008.solution b/tests/exhaustive/basic/cut_01_on/expected/model_3_3_3-solution000008.solution new file mode 100644 index 0000000000..8dddb3b359 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_3_3_3-solution000008.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {2, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_3_3_3.eprime.orig b/tests/exhaustive/basic/cut_01_on/expected/model_3_3_3.eprime.orig deleted file mode 100644 index 989c9efdd0..0000000000 --- a/tests/exhaustive/basic/cut_01_on/expected/model_3_3_3.eprime.orig +++ /dev/null @@ -1,18 +0,0 @@ -language ESSENCE' 1.0 - -find x_ExplicitVarSizeWithMarker_Marker: int(0..3) -find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..3)] of int(1..3) -find cut1: bool -find cut2: bool -branching on [cut1, cut2, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values] -such that - !cut1 <-> - or([q6 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q6] = 1 | q6 : int(1..3)]) /\ - or([q8 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q8] = 2 | q8 : int(1..3)]), - !cut2 <-> - or([q10 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q10] = 1 | q10 : int(1..3)]), - and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> - x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] - | q1 : int(1..2)]), - and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 1 | q2 : int(1..3)]) - diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_3_3_4-solution000001.solution b/tests/exhaustive/basic/cut_01_on/expected/model_3_3_4-solution000001.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_3_3_4-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_3_3_4-solution000002.solution b/tests/exhaustive/basic/cut_01_on/expected/model_3_3_4-solution000002.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_3_3_4-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_3_3_4-solution000003.solution b/tests/exhaustive/basic/cut_01_on/expected/model_3_3_4-solution000003.solution new file mode 100644 index 0000000000..de5cc861ad --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_3_3_4-solution000003.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_3_3_4-solution000004.solution b/tests/exhaustive/basic/cut_01_on/expected/model_3_3_4-solution000004.solution new file mode 100644 index 0000000000..a28b6d6203 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_3_3_4-solution000004.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_3_3_4-solution000005.solution b/tests/exhaustive/basic/cut_01_on/expected/model_3_3_4-solution000005.solution new file mode 100644 index 0000000000..1a734343d9 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_3_3_4-solution000005.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_3_3_4-solution000006.solution b/tests/exhaustive/basic/cut_01_on/expected/model_3_3_4-solution000006.solution new file mode 100644 index 0000000000..76bc8cdc32 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_3_3_4-solution000006.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {2} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_3_3_4-solution000007.solution b/tests/exhaustive/basic/cut_01_on/expected/model_3_3_4-solution000007.solution new file mode 100644 index 0000000000..86a85825b3 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_3_3_4-solution000007.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_3_3_4-solution000008.solution b/tests/exhaustive/basic/cut_01_on/expected/model_3_3_4-solution000008.solution new file mode 100644 index 0000000000..8dddb3b359 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_3_3_4-solution000008.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {2, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_3_3_4.eprime.orig b/tests/exhaustive/basic/cut_01_on/expected/model_3_3_4.eprime.orig deleted file mode 100644 index adccf8a668..0000000000 --- a/tests/exhaustive/basic/cut_01_on/expected/model_3_3_4.eprime.orig +++ /dev/null @@ -1,37 +0,0 @@ -language ESSENCE' 1.0 - -find x_ExplicitVarSizeWithMarker_Marker: int(0..3) -find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..3)] of int(1..3) -find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..3)] of bool -find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..3)] of int(1..3) -find cut1: bool -find cut2: bool -branching on - [cut1, cut2, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, - x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values] -such that - !cut1 <-> - or([q19 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q19] = 1 | q19 : int(1..3)]) /\ - or([q21 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q21] = 2 | q21 : int(1..3)]), - !cut2 <-> - or([q23 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q23] = 1 | q23 : int(1..3)]), - and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> - x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] - | q1 : int(1..2)]), - and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 1 | q2 : int(1..3)]), - and([x_ExplicitVarSizeWithFlags_Flags[q4 + 1] -> - x_ExplicitVarSizeWithFlags_Values[q4] < x_ExplicitVarSizeWithFlags_Values[q4 + 1] - | q4 : int(1..2)]), - and([x_ExplicitVarSizeWithFlags_Flags[q5] = false -> x_ExplicitVarSizeWithFlags_Values[q5] = 1 | q5 : int(1..3)]), - and([x_ExplicitVarSizeWithFlags_Flags[q6 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q6] | q6 : int(1..2)]), - and([x_ExplicitVarSizeWithFlags_Flags[q10] -> - or([q12 <= x_ExplicitVarSizeWithMarker_Marker /\ - x_ExplicitVarSizeWithMarker_Values[q12] = x_ExplicitVarSizeWithFlags_Values[q10] - | q12 : int(1..3)]) - | q10 : int(1..3)]), - and([q14 <= x_ExplicitVarSizeWithMarker_Marker -> - or([x_ExplicitVarSizeWithFlags_Flags[q16] /\ - x_ExplicitVarSizeWithFlags_Values[q16] = x_ExplicitVarSizeWithMarker_Values[q14] - | q16 : int(1..3)]) - | q14 : int(1..3)]) - diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_3_4_1-solution000001.solution b/tests/exhaustive/basic/cut_01_on/expected/model_3_4_1-solution000001.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_3_4_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_3_4_1-solution000002.solution b/tests/exhaustive/basic/cut_01_on/expected/model_3_4_1-solution000002.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_3_4_1-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_3_4_1-solution000003.solution b/tests/exhaustive/basic/cut_01_on/expected/model_3_4_1-solution000003.solution new file mode 100644 index 0000000000..de5cc861ad --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_3_4_1-solution000003.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_3_4_1-solution000004.solution b/tests/exhaustive/basic/cut_01_on/expected/model_3_4_1-solution000004.solution new file mode 100644 index 0000000000..a28b6d6203 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_3_4_1-solution000004.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_3_4_1-solution000005.solution b/tests/exhaustive/basic/cut_01_on/expected/model_3_4_1-solution000005.solution new file mode 100644 index 0000000000..1a734343d9 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_3_4_1-solution000005.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_3_4_1-solution000006.solution b/tests/exhaustive/basic/cut_01_on/expected/model_3_4_1-solution000006.solution new file mode 100644 index 0000000000..86a85825b3 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_3_4_1-solution000006.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_3_4_1-solution000007.solution b/tests/exhaustive/basic/cut_01_on/expected/model_3_4_1-solution000007.solution new file mode 100644 index 0000000000..76bc8cdc32 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_3_4_1-solution000007.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {2} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_3_4_1-solution000008.solution b/tests/exhaustive/basic/cut_01_on/expected/model_3_4_1-solution000008.solution new file mode 100644 index 0000000000..8dddb3b359 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_3_4_1-solution000008.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {2, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_3_4_1.eprime.orig b/tests/exhaustive/basic/cut_01_on/expected/model_3_4_1.eprime.orig deleted file mode 100644 index 5941707e6f..0000000000 --- a/tests/exhaustive/basic/cut_01_on/expected/model_3_4_1.eprime.orig +++ /dev/null @@ -1,49 +0,0 @@ -language ESSENCE' 1.0 - -find x_ExplicitVarSizeWithMarker_Marker: int(0..3) -find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..3)] of int(1..3) -find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..3)] of bool -find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..3)] of int(1..3) -find x_Occurrence: matrix indexed by [int(1..3)] of bool -find cut1: bool -find cut2: bool -branching on - [cut1, cut2, x_Occurrence, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, - x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values] -such that - !cut1 <-> - or([q30 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q30] = 1 | q30 : int(1..3)]) /\ - or([q32 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q32] = 2 | q32 : int(1..3)]), - !cut2 <-> - or([x_ExplicitVarSizeWithFlags_Flags[q34] /\ x_ExplicitVarSizeWithFlags_Values[q34] = 1 | q34 : int(1..3)]), - and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> - x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] - | q1 : int(1..2)]), - and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 1 | q2 : int(1..3)]), - and([x_ExplicitVarSizeWithFlags_Flags[q4 + 1] -> - x_ExplicitVarSizeWithFlags_Values[q4] < x_ExplicitVarSizeWithFlags_Values[q4 + 1] - | q4 : int(1..2)]), - and([x_ExplicitVarSizeWithFlags_Flags[q5] = false -> x_ExplicitVarSizeWithFlags_Values[q5] = 1 | q5 : int(1..3)]), - and([x_ExplicitVarSizeWithFlags_Flags[q6 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q6] | q6 : int(1..2)]), - and([x_ExplicitVarSizeWithFlags_Flags[q10] -> - or([q12 <= x_ExplicitVarSizeWithMarker_Marker /\ - x_ExplicitVarSizeWithMarker_Values[q12] = x_ExplicitVarSizeWithFlags_Values[q10] - | q12 : int(1..3)]) - | q10 : int(1..3)]), - and([q14 <= x_ExplicitVarSizeWithMarker_Marker -> - or([x_ExplicitVarSizeWithFlags_Flags[q16] /\ - x_ExplicitVarSizeWithFlags_Values[q16] = x_ExplicitVarSizeWithMarker_Values[q14] - | q16 : int(1..3)]) - | q14 : int(1..3)]), - and([x_Occurrence[q18] -> - or([q20 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q20] = q18 - | q20 : int(1..3)]) - | q18 : int(1..3)]), - and([q22 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q22]] - | q22 : int(1..3)]), - and([x_Occurrence[q23] -> - or([x_ExplicitVarSizeWithFlags_Flags[q25] /\ x_ExplicitVarSizeWithFlags_Values[q25] = q23 | q25 : int(1..3)]) - | q23 : int(1..3)]), - and([x_ExplicitVarSizeWithFlags_Flags[q27] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q27]] - | q27 : int(1..3)]) - diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_3_4_2-solution000001.solution b/tests/exhaustive/basic/cut_01_on/expected/model_3_4_2-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_3_4_2-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_3_4_2-solution000002.solution b/tests/exhaustive/basic/cut_01_on/expected/model_3_4_2-solution000002.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_3_4_2-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_3_4_2-solution000003.solution b/tests/exhaustive/basic/cut_01_on/expected/model_3_4_2-solution000003.solution new file mode 100644 index 0000000000..a28b6d6203 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_3_4_2-solution000003.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_3_4_2-solution000004.solution b/tests/exhaustive/basic/cut_01_on/expected/model_3_4_2-solution000004.solution new file mode 100644 index 0000000000..de5cc861ad --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_3_4_2-solution000004.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_3_4_2-solution000005.solution b/tests/exhaustive/basic/cut_01_on/expected/model_3_4_2-solution000005.solution new file mode 100644 index 0000000000..8dddb3b359 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_3_4_2-solution000005.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {2, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_3_4_2-solution000006.solution b/tests/exhaustive/basic/cut_01_on/expected/model_3_4_2-solution000006.solution new file mode 100644 index 0000000000..76bc8cdc32 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_3_4_2-solution000006.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {2} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_3_4_2-solution000007.solution b/tests/exhaustive/basic/cut_01_on/expected/model_3_4_2-solution000007.solution new file mode 100644 index 0000000000..86a85825b3 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_3_4_2-solution000007.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_3_4_2-solution000008.solution b/tests/exhaustive/basic/cut_01_on/expected/model_3_4_2-solution000008.solution new file mode 100644 index 0000000000..1a734343d9 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_3_4_2-solution000008.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_3_4_2.eprime.orig b/tests/exhaustive/basic/cut_01_on/expected/model_3_4_2.eprime.orig deleted file mode 100644 index acf89d418d..0000000000 --- a/tests/exhaustive/basic/cut_01_on/expected/model_3_4_2.eprime.orig +++ /dev/null @@ -1,61 +0,0 @@ -language ESSENCE' 1.0 - -find x_ExplicitVarSizeWithMarker_Marker: int(0..3) -find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..3)] of int(1..3) -find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..3)] of bool -find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..3)] of int(1..3) -find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..3)] of int(1..4) -find cut1: bool -find cut2: bool -branching on - [cut1, cut2, x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, - x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values] -such that - !cut1 <-> - or([q39 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q39] = 1 | q39 : int(1..3)]) /\ - or([q41 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q41] = 2 | q41 : int(1..3)]), - !cut2 <-> - or([x_ExplicitVarSizeWithFlags_Flags[q43] /\ x_ExplicitVarSizeWithFlags_Values[q43] = 1 | q43 : int(1..3)]), - and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> - x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] - | q1 : int(1..2)]), - and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 1 | q2 : int(1..3)]), - and([x_ExplicitVarSizeWithFlags_Flags[q4 + 1] -> - x_ExplicitVarSizeWithFlags_Values[q4] < x_ExplicitVarSizeWithFlags_Values[q4 + 1] - | q4 : int(1..2)]), - and([x_ExplicitVarSizeWithFlags_Flags[q5] = false -> x_ExplicitVarSizeWithFlags_Values[q5] = 1 | q5 : int(1..3)]), - and([x_ExplicitVarSizeWithFlags_Flags[q6 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q6] | q6 : int(1..2)]), - and([x_ExplicitVarSizeWithFlags_Flags[q10] -> - or([q12 <= x_ExplicitVarSizeWithMarker_Marker /\ - x_ExplicitVarSizeWithMarker_Values[q12] = x_ExplicitVarSizeWithFlags_Values[q10] - | q12 : int(1..3)]) - | q10 : int(1..3)]), - and([q14 <= x_ExplicitVarSizeWithMarker_Marker -> - or([x_ExplicitVarSizeWithFlags_Flags[q16] /\ - x_ExplicitVarSizeWithFlags_Values[q16] = x_ExplicitVarSizeWithMarker_Values[q14] - | q16 : int(1..3)]) - | q14 : int(1..3)]), - and([x_ExplicitVarSizeWithDummy[q17] < x_ExplicitVarSizeWithDummy[q17 + 1] \/ x_ExplicitVarSizeWithDummy[q17] = 4 - | q17 : int(1..2)]), - and([x_ExplicitVarSizeWithDummy[q18] = 4 -> x_ExplicitVarSizeWithDummy[q18 + 1] = 4 | q18 : int(1..2)]), - and([x_ExplicitVarSizeWithDummy[q22] != 4 -> - or([q24 <= x_ExplicitVarSizeWithMarker_Marker /\ - x_ExplicitVarSizeWithMarker_Values[q24] = x_ExplicitVarSizeWithDummy[q22] - | q24 : int(1..3)]) - | q22 : int(1..3)]), - and([q26 <= x_ExplicitVarSizeWithMarker_Marker -> - or([x_ExplicitVarSizeWithDummy[q28] != 4 /\ - x_ExplicitVarSizeWithDummy[q28] = x_ExplicitVarSizeWithMarker_Values[q26] - | q28 : int(1..3)]) - | q26 : int(1..3)]), - and([x_ExplicitVarSizeWithDummy[q30] != 4 -> - or([x_ExplicitVarSizeWithFlags_Flags[q32] /\ - x_ExplicitVarSizeWithFlags_Values[q32] = x_ExplicitVarSizeWithDummy[q30] - | q32 : int(1..3)]) - | q30 : int(1..3)]), - and([x_ExplicitVarSizeWithFlags_Flags[q34] -> - or([x_ExplicitVarSizeWithDummy[q36] != 4 /\ - x_ExplicitVarSizeWithDummy[q36] = x_ExplicitVarSizeWithFlags_Values[q34] - | q36 : int(1..3)]) - | q34 : int(1..3)]) - diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_3_4_3-solution000001.solution b/tests/exhaustive/basic/cut_01_on/expected/model_3_4_3-solution000001.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_3_4_3-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_3_4_3-solution000002.solution b/tests/exhaustive/basic/cut_01_on/expected/model_3_4_3-solution000002.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_3_4_3-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_3_4_3-solution000003.solution b/tests/exhaustive/basic/cut_01_on/expected/model_3_4_3-solution000003.solution new file mode 100644 index 0000000000..de5cc861ad --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_3_4_3-solution000003.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_3_4_3-solution000004.solution b/tests/exhaustive/basic/cut_01_on/expected/model_3_4_3-solution000004.solution new file mode 100644 index 0000000000..a28b6d6203 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_3_4_3-solution000004.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_3_4_3-solution000005.solution b/tests/exhaustive/basic/cut_01_on/expected/model_3_4_3-solution000005.solution new file mode 100644 index 0000000000..1a734343d9 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_3_4_3-solution000005.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_3_4_3-solution000006.solution b/tests/exhaustive/basic/cut_01_on/expected/model_3_4_3-solution000006.solution new file mode 100644 index 0000000000..76bc8cdc32 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_3_4_3-solution000006.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {2} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_3_4_3-solution000007.solution b/tests/exhaustive/basic/cut_01_on/expected/model_3_4_3-solution000007.solution new file mode 100644 index 0000000000..86a85825b3 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_3_4_3-solution000007.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_3_4_3-solution000008.solution b/tests/exhaustive/basic/cut_01_on/expected/model_3_4_3-solution000008.solution new file mode 100644 index 0000000000..8dddb3b359 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_3_4_3-solution000008.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {2, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_3_4_3.eprime.orig b/tests/exhaustive/basic/cut_01_on/expected/model_3_4_3.eprime.orig deleted file mode 100644 index 04a3b8e694..0000000000 --- a/tests/exhaustive/basic/cut_01_on/expected/model_3_4_3.eprime.orig +++ /dev/null @@ -1,37 +0,0 @@ -language ESSENCE' 1.0 - -find x_ExplicitVarSizeWithMarker_Marker: int(0..3) -find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..3)] of int(1..3) -find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..3)] of bool -find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..3)] of int(1..3) -find cut1: bool -find cut2: bool -branching on - [cut1, cut2, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, - x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values] -such that - !cut1 <-> - or([q19 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q19] = 1 | q19 : int(1..3)]) /\ - or([q21 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q21] = 2 | q21 : int(1..3)]), - !cut2 <-> - or([x_ExplicitVarSizeWithFlags_Flags[q23] /\ x_ExplicitVarSizeWithFlags_Values[q23] = 1 | q23 : int(1..3)]), - and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> - x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] - | q1 : int(1..2)]), - and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 1 | q2 : int(1..3)]), - and([x_ExplicitVarSizeWithFlags_Flags[q4 + 1] -> - x_ExplicitVarSizeWithFlags_Values[q4] < x_ExplicitVarSizeWithFlags_Values[q4 + 1] - | q4 : int(1..2)]), - and([x_ExplicitVarSizeWithFlags_Flags[q5] = false -> x_ExplicitVarSizeWithFlags_Values[q5] = 1 | q5 : int(1..3)]), - and([x_ExplicitVarSizeWithFlags_Flags[q6 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q6] | q6 : int(1..2)]), - and([x_ExplicitVarSizeWithFlags_Flags[q10] -> - or([q12 <= x_ExplicitVarSizeWithMarker_Marker /\ - x_ExplicitVarSizeWithMarker_Values[q12] = x_ExplicitVarSizeWithFlags_Values[q10] - | q12 : int(1..3)]) - | q10 : int(1..3)]), - and([q14 <= x_ExplicitVarSizeWithMarker_Marker -> - or([x_ExplicitVarSizeWithFlags_Flags[q16] /\ - x_ExplicitVarSizeWithFlags_Values[q16] = x_ExplicitVarSizeWithMarker_Values[q14] - | q16 : int(1..3)]) - | q14 : int(1..3)]) - diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_3_4_4.eprime.orig b/tests/exhaustive/basic/cut_01_on/expected/model_3_4_4.eprime.orig deleted file mode 100644 index 04a3b8e694..0000000000 --- a/tests/exhaustive/basic/cut_01_on/expected/model_3_4_4.eprime.orig +++ /dev/null @@ -1,37 +0,0 @@ -language ESSENCE' 1.0 - -find x_ExplicitVarSizeWithMarker_Marker: int(0..3) -find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..3)] of int(1..3) -find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..3)] of bool -find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..3)] of int(1..3) -find cut1: bool -find cut2: bool -branching on - [cut1, cut2, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, - x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values] -such that - !cut1 <-> - or([q19 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q19] = 1 | q19 : int(1..3)]) /\ - or([q21 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q21] = 2 | q21 : int(1..3)]), - !cut2 <-> - or([x_ExplicitVarSizeWithFlags_Flags[q23] /\ x_ExplicitVarSizeWithFlags_Values[q23] = 1 | q23 : int(1..3)]), - and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> - x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] - | q1 : int(1..2)]), - and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 1 | q2 : int(1..3)]), - and([x_ExplicitVarSizeWithFlags_Flags[q4 + 1] -> - x_ExplicitVarSizeWithFlags_Values[q4] < x_ExplicitVarSizeWithFlags_Values[q4 + 1] - | q4 : int(1..2)]), - and([x_ExplicitVarSizeWithFlags_Flags[q5] = false -> x_ExplicitVarSizeWithFlags_Values[q5] = 1 | q5 : int(1..3)]), - and([x_ExplicitVarSizeWithFlags_Flags[q6 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q6] | q6 : int(1..2)]), - and([x_ExplicitVarSizeWithFlags_Flags[q10] -> - or([q12 <= x_ExplicitVarSizeWithMarker_Marker /\ - x_ExplicitVarSizeWithMarker_Values[q12] = x_ExplicitVarSizeWithFlags_Values[q10] - | q12 : int(1..3)]) - | q10 : int(1..3)]), - and([q14 <= x_ExplicitVarSizeWithMarker_Marker -> - or([x_ExplicitVarSizeWithFlags_Flags[q16] /\ - x_ExplicitVarSizeWithFlags_Values[q16] = x_ExplicitVarSizeWithMarker_Values[q14] - | q16 : int(1..3)]) - | q14 : int(1..3)]) - diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_4_1_1-solution000001.solution b/tests/exhaustive/basic/cut_01_on/expected/model_4_1_1-solution000001.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_4_1_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_4_1_1-solution000002.solution b/tests/exhaustive/basic/cut_01_on/expected/model_4_1_1-solution000002.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_4_1_1-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_4_1_1-solution000003.solution b/tests/exhaustive/basic/cut_01_on/expected/model_4_1_1-solution000003.solution new file mode 100644 index 0000000000..de5cc861ad --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_4_1_1-solution000003.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_4_1_1-solution000004.solution b/tests/exhaustive/basic/cut_01_on/expected/model_4_1_1-solution000004.solution new file mode 100644 index 0000000000..a28b6d6203 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_4_1_1-solution000004.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_4_1_1-solution000005.solution b/tests/exhaustive/basic/cut_01_on/expected/model_4_1_1-solution000005.solution new file mode 100644 index 0000000000..1a734343d9 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_4_1_1-solution000005.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_4_1_1-solution000006.solution b/tests/exhaustive/basic/cut_01_on/expected/model_4_1_1-solution000006.solution new file mode 100644 index 0000000000..86a85825b3 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_4_1_1-solution000006.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_4_1_1-solution000007.solution b/tests/exhaustive/basic/cut_01_on/expected/model_4_1_1-solution000007.solution new file mode 100644 index 0000000000..76bc8cdc32 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_4_1_1-solution000007.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {2} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_4_1_1-solution000008.solution b/tests/exhaustive/basic/cut_01_on/expected/model_4_1_1-solution000008.solution new file mode 100644 index 0000000000..8dddb3b359 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_4_1_1-solution000008.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {2, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_4_1_1.eprime.orig b/tests/exhaustive/basic/cut_01_on/expected/model_4_1_1.eprime.orig deleted file mode 100644 index 5d7a188800..0000000000 --- a/tests/exhaustive/basic/cut_01_on/expected/model_4_1_1.eprime.orig +++ /dev/null @@ -1,24 +0,0 @@ -language ESSENCE' 1.0 - -find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..3)] of bool -find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..3)] of int(1..3) -find x_Occurrence: matrix indexed by [int(1..3)] of bool -find cut1: bool -find cut2: bool -branching on [cut1, cut2, x_Occurrence, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values] -such that - !cut1 <-> - or([x_ExplicitVarSizeWithFlags_Flags[q14] /\ x_ExplicitVarSizeWithFlags_Values[q14] = 1 | q14 : int(1..3)]) /\ - or([x_ExplicitVarSizeWithFlags_Flags[q16] /\ x_ExplicitVarSizeWithFlags_Values[q16] = 2 | q16 : int(1..3)]), - !cut2 <-> x_Occurrence[1], - and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> - x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] - | q1 : int(1..2)]), - and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 1 | q2 : int(1..3)]), - and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..2)]), - and([x_Occurrence[q7] -> - or([x_ExplicitVarSizeWithFlags_Flags[q9] /\ x_ExplicitVarSizeWithFlags_Values[q9] = q7 | q9 : int(1..3)]) - | q7 : int(1..3)]), - and([x_ExplicitVarSizeWithFlags_Flags[q11] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q11]] - | q11 : int(1..3)]) - diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_4_1_2-solution000001.solution b/tests/exhaustive/basic/cut_01_on/expected/model_4_1_2-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_4_1_2-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_4_1_2-solution000002.solution b/tests/exhaustive/basic/cut_01_on/expected/model_4_1_2-solution000002.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_4_1_2-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_4_1_2-solution000003.solution b/tests/exhaustive/basic/cut_01_on/expected/model_4_1_2-solution000003.solution new file mode 100644 index 0000000000..a28b6d6203 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_4_1_2-solution000003.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_4_1_2-solution000004.solution b/tests/exhaustive/basic/cut_01_on/expected/model_4_1_2-solution000004.solution new file mode 100644 index 0000000000..de5cc861ad --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_4_1_2-solution000004.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_4_1_2-solution000005.solution b/tests/exhaustive/basic/cut_01_on/expected/model_4_1_2-solution000005.solution new file mode 100644 index 0000000000..8dddb3b359 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_4_1_2-solution000005.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {2, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_4_1_2-solution000006.solution b/tests/exhaustive/basic/cut_01_on/expected/model_4_1_2-solution000006.solution new file mode 100644 index 0000000000..76bc8cdc32 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_4_1_2-solution000006.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {2} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_4_1_2-solution000007.solution b/tests/exhaustive/basic/cut_01_on/expected/model_4_1_2-solution000007.solution new file mode 100644 index 0000000000..86a85825b3 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_4_1_2-solution000007.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_4_1_2-solution000008.solution b/tests/exhaustive/basic/cut_01_on/expected/model_4_1_2-solution000008.solution new file mode 100644 index 0000000000..1a734343d9 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_4_1_2-solution000008.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_4_1_2.eprime.orig b/tests/exhaustive/basic/cut_01_on/expected/model_4_1_2.eprime.orig deleted file mode 100644 index 07bbb3554a..0000000000 --- a/tests/exhaustive/basic/cut_01_on/expected/model_4_1_2.eprime.orig +++ /dev/null @@ -1,44 +0,0 @@ -language ESSENCE' 1.0 - -find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..3)] of bool -find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..3)] of int(1..3) -find x_Occurrence: matrix indexed by [int(1..3)] of bool -find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..3)] of int(1..4) -find cut1: bool -find cut2: bool -branching on - [cut1, cut2, x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, - x_Occurrence] -such that - !cut1 <-> - or([x_ExplicitVarSizeWithFlags_Flags[q31] /\ x_ExplicitVarSizeWithFlags_Values[q31] = 1 | q31 : int(1..3)]) /\ - or([x_ExplicitVarSizeWithFlags_Flags[q33] /\ x_ExplicitVarSizeWithFlags_Values[q33] = 2 | q33 : int(1..3)]), - !cut2 <-> x_Occurrence[1], - and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> - x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] - | q1 : int(1..2)]), - and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 1 | q2 : int(1..3)]), - and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..2)]), - and([x_Occurrence[q24] -> - or([x_ExplicitVarSizeWithFlags_Flags[q26] /\ x_ExplicitVarSizeWithFlags_Values[q26] = q24 | q26 : int(1..3)]) - | q24 : int(1..3)]), - and([x_ExplicitVarSizeWithFlags_Flags[q28] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q28]] - | q28 : int(1..3)]), - and([x_ExplicitVarSizeWithDummy[q7] < x_ExplicitVarSizeWithDummy[q7 + 1] \/ x_ExplicitVarSizeWithDummy[q7] = 4 - | q7 : int(1..2)]), - and([x_ExplicitVarSizeWithDummy[q8] = 4 -> x_ExplicitVarSizeWithDummy[q8 + 1] = 4 | q8 : int(1..2)]), - and([x_ExplicitVarSizeWithDummy[q12] != 4 -> - or([x_ExplicitVarSizeWithFlags_Flags[q14] /\ - x_ExplicitVarSizeWithFlags_Values[q14] = x_ExplicitVarSizeWithDummy[q12] - | q14 : int(1..3)]) - | q12 : int(1..3)]), - and([x_ExplicitVarSizeWithFlags_Flags[q16] -> - or([x_ExplicitVarSizeWithDummy[q18] != 4 /\ - x_ExplicitVarSizeWithDummy[q18] = x_ExplicitVarSizeWithFlags_Values[q16] - | q18 : int(1..3)]) - | q16 : int(1..3)]), - and([x_ExplicitVarSizeWithDummy[q20] != 4 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q20]] | q20 : int(1..3)]), - and([x_Occurrence[q21] -> - or([x_ExplicitVarSizeWithDummy[q23] != 4 /\ x_ExplicitVarSizeWithDummy[q23] = q21 | q23 : int(1..3)]) - | q21 : int(1..3)]) - diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_4_1_3-solution000001.solution b/tests/exhaustive/basic/cut_01_on/expected/model_4_1_3-solution000001.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_4_1_3-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_4_1_3-solution000002.solution b/tests/exhaustive/basic/cut_01_on/expected/model_4_1_3-solution000002.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_4_1_3-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_4_1_3-solution000003.solution b/tests/exhaustive/basic/cut_01_on/expected/model_4_1_3-solution000003.solution new file mode 100644 index 0000000000..de5cc861ad --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_4_1_3-solution000003.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_4_1_3-solution000004.solution b/tests/exhaustive/basic/cut_01_on/expected/model_4_1_3-solution000004.solution new file mode 100644 index 0000000000..a28b6d6203 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_4_1_3-solution000004.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_4_1_3-solution000005.solution b/tests/exhaustive/basic/cut_01_on/expected/model_4_1_3-solution000005.solution new file mode 100644 index 0000000000..1a734343d9 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_4_1_3-solution000005.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_4_1_3-solution000006.solution b/tests/exhaustive/basic/cut_01_on/expected/model_4_1_3-solution000006.solution new file mode 100644 index 0000000000..76bc8cdc32 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_4_1_3-solution000006.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {2} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_4_1_3-solution000007.solution b/tests/exhaustive/basic/cut_01_on/expected/model_4_1_3-solution000007.solution new file mode 100644 index 0000000000..86a85825b3 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_4_1_3-solution000007.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_4_1_3-solution000008.solution b/tests/exhaustive/basic/cut_01_on/expected/model_4_1_3-solution000008.solution new file mode 100644 index 0000000000..8dddb3b359 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_4_1_3-solution000008.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {2, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_4_1_3.eprime.orig b/tests/exhaustive/basic/cut_01_on/expected/model_4_1_3.eprime.orig deleted file mode 100644 index 0fe7e57c62..0000000000 --- a/tests/exhaustive/basic/cut_01_on/expected/model_4_1_3.eprime.orig +++ /dev/null @@ -1,48 +0,0 @@ -language ESSENCE' 1.0 - -find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..3)] of bool -find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..3)] of int(1..3) -find x_Occurrence: matrix indexed by [int(1..3)] of bool -find x_ExplicitVarSizeWithMarker_Marker: int(0..3) -find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..3)] of int(1..3) -find cut1: bool -find cut2: bool -branching on - [cut1, cut2, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, - x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_Occurrence] -such that - !cut1 <-> - or([x_ExplicitVarSizeWithFlags_Flags[q30] /\ x_ExplicitVarSizeWithFlags_Values[q30] = 1 | q30 : int(1..3)]) /\ - or([x_ExplicitVarSizeWithFlags_Flags[q32] /\ x_ExplicitVarSizeWithFlags_Values[q32] = 2 | q32 : int(1..3)]), - !cut2 <-> x_Occurrence[1], - and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> - x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] - | q1 : int(1..2)]), - and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 1 | q2 : int(1..3)]), - and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..2)]), - and([x_Occurrence[q23] -> - or([x_ExplicitVarSizeWithFlags_Flags[q25] /\ x_ExplicitVarSizeWithFlags_Values[q25] = q23 | q25 : int(1..3)]) - | q23 : int(1..3)]), - and([x_ExplicitVarSizeWithFlags_Flags[q27] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q27]] - | q27 : int(1..3)]), - and([q7 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> - x_ExplicitVarSizeWithMarker_Values[q7] < x_ExplicitVarSizeWithMarker_Values[q7 + 1] - | q7 : int(1..2)]), - and([q8 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q8] = 1 | q8 : int(1..3)]), - and([q11 <= x_ExplicitVarSizeWithMarker_Marker -> - or([x_ExplicitVarSizeWithFlags_Flags[q13] /\ - x_ExplicitVarSizeWithFlags_Values[q13] = x_ExplicitVarSizeWithMarker_Values[q11] - | q13 : int(1..3)]) - | q11 : int(1..3)]), - and([x_ExplicitVarSizeWithFlags_Flags[q15] -> - or([q17 <= x_ExplicitVarSizeWithMarker_Marker /\ - x_ExplicitVarSizeWithMarker_Values[q17] = x_ExplicitVarSizeWithFlags_Values[q15] - | q17 : int(1..3)]) - | q15 : int(1..3)]), - and([q19 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q19]] - | q19 : int(1..3)]), - and([x_Occurrence[q20] -> - or([q22 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q22] = q20 - | q22 : int(1..3)]) - | q20 : int(1..3)]) - diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_4_1_4.eprime.orig b/tests/exhaustive/basic/cut_01_on/expected/model_4_1_4.eprime.orig deleted file mode 100644 index 5d7a188800..0000000000 --- a/tests/exhaustive/basic/cut_01_on/expected/model_4_1_4.eprime.orig +++ /dev/null @@ -1,24 +0,0 @@ -language ESSENCE' 1.0 - -find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..3)] of bool -find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..3)] of int(1..3) -find x_Occurrence: matrix indexed by [int(1..3)] of bool -find cut1: bool -find cut2: bool -branching on [cut1, cut2, x_Occurrence, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values] -such that - !cut1 <-> - or([x_ExplicitVarSizeWithFlags_Flags[q14] /\ x_ExplicitVarSizeWithFlags_Values[q14] = 1 | q14 : int(1..3)]) /\ - or([x_ExplicitVarSizeWithFlags_Flags[q16] /\ x_ExplicitVarSizeWithFlags_Values[q16] = 2 | q16 : int(1..3)]), - !cut2 <-> x_Occurrence[1], - and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> - x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] - | q1 : int(1..2)]), - and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 1 | q2 : int(1..3)]), - and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..2)]), - and([x_Occurrence[q7] -> - or([x_ExplicitVarSizeWithFlags_Flags[q9] /\ x_ExplicitVarSizeWithFlags_Values[q9] = q7 | q9 : int(1..3)]) - | q7 : int(1..3)]), - and([x_ExplicitVarSizeWithFlags_Flags[q11] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q11]] - | q11 : int(1..3)]) - diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_4_2_1-solution000001.solution b/tests/exhaustive/basic/cut_01_on/expected/model_4_2_1-solution000001.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_4_2_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_4_2_1-solution000002.solution b/tests/exhaustive/basic/cut_01_on/expected/model_4_2_1-solution000002.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_4_2_1-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_4_2_1-solution000003.solution b/tests/exhaustive/basic/cut_01_on/expected/model_4_2_1-solution000003.solution new file mode 100644 index 0000000000..de5cc861ad --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_4_2_1-solution000003.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_4_2_1-solution000004.solution b/tests/exhaustive/basic/cut_01_on/expected/model_4_2_1-solution000004.solution new file mode 100644 index 0000000000..a28b6d6203 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_4_2_1-solution000004.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_4_2_1-solution000005.solution b/tests/exhaustive/basic/cut_01_on/expected/model_4_2_1-solution000005.solution new file mode 100644 index 0000000000..1a734343d9 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_4_2_1-solution000005.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_4_2_1-solution000006.solution b/tests/exhaustive/basic/cut_01_on/expected/model_4_2_1-solution000006.solution new file mode 100644 index 0000000000..86a85825b3 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_4_2_1-solution000006.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_4_2_1-solution000007.solution b/tests/exhaustive/basic/cut_01_on/expected/model_4_2_1-solution000007.solution new file mode 100644 index 0000000000..76bc8cdc32 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_4_2_1-solution000007.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {2} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_4_2_1-solution000008.solution b/tests/exhaustive/basic/cut_01_on/expected/model_4_2_1-solution000008.solution new file mode 100644 index 0000000000..8dddb3b359 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_4_2_1-solution000008.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {2, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_4_2_1.eprime.orig b/tests/exhaustive/basic/cut_01_on/expected/model_4_2_1.eprime.orig deleted file mode 100644 index 34ffb66fa4..0000000000 --- a/tests/exhaustive/basic/cut_01_on/expected/model_4_2_1.eprime.orig +++ /dev/null @@ -1,44 +0,0 @@ -language ESSENCE' 1.0 - -find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..3)] of bool -find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..3)] of int(1..3) -find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..3)] of int(1..4) -find x_Occurrence: matrix indexed by [int(1..3)] of bool -find cut1: bool -find cut2: bool -branching on - [cut1, cut2, x_Occurrence, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, - x_ExplicitVarSizeWithDummy] -such that - !cut1 <-> - or([x_ExplicitVarSizeWithFlags_Flags[q31] /\ x_ExplicitVarSizeWithFlags_Values[q31] = 1 | q31 : int(1..3)]) /\ - or([x_ExplicitVarSizeWithFlags_Flags[q33] /\ x_ExplicitVarSizeWithFlags_Values[q33] = 2 | q33 : int(1..3)]), - !cut2 <-> or([x_ExplicitVarSizeWithDummy[q35] != 4 /\ x_ExplicitVarSizeWithDummy[q35] = 1 | q35 : int(1..3)]), - and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> - x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] - | q1 : int(1..2)]), - and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 1 | q2 : int(1..3)]), - and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..2)]), - and([x_ExplicitVarSizeWithDummy[q6] < x_ExplicitVarSizeWithDummy[q6 + 1] \/ x_ExplicitVarSizeWithDummy[q6] = 4 - | q6 : int(1..2)]), - and([x_ExplicitVarSizeWithDummy[q7] = 4 -> x_ExplicitVarSizeWithDummy[q7 + 1] = 4 | q7 : int(1..2)]), - and([x_ExplicitVarSizeWithDummy[q11] != 4 -> - or([x_ExplicitVarSizeWithFlags_Flags[q13] /\ - x_ExplicitVarSizeWithFlags_Values[q13] = x_ExplicitVarSizeWithDummy[q11] - | q13 : int(1..3)]) - | q11 : int(1..3)]), - and([x_ExplicitVarSizeWithFlags_Flags[q15] -> - or([x_ExplicitVarSizeWithDummy[q17] != 4 /\ - x_ExplicitVarSizeWithDummy[q17] = x_ExplicitVarSizeWithFlags_Values[q15] - | q17 : int(1..3)]) - | q15 : int(1..3)]), - and([x_Occurrence[q19] -> - or([x_ExplicitVarSizeWithFlags_Flags[q21] /\ x_ExplicitVarSizeWithFlags_Values[q21] = q19 | q21 : int(1..3)]) - | q19 : int(1..3)]), - and([x_ExplicitVarSizeWithFlags_Flags[q23] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q23]] - | q23 : int(1..3)]), - and([x_Occurrence[q24] -> - or([x_ExplicitVarSizeWithDummy[q26] != 4 /\ x_ExplicitVarSizeWithDummy[q26] = q24 | q26 : int(1..3)]) - | q24 : int(1..3)]), - and([x_ExplicitVarSizeWithDummy[q28] != 4 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q28]] | q28 : int(1..3)]) - diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_4_2_2-solution000001.solution b/tests/exhaustive/basic/cut_01_on/expected/model_4_2_2-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_4_2_2-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_4_2_2-solution000002.solution b/tests/exhaustive/basic/cut_01_on/expected/model_4_2_2-solution000002.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_4_2_2-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_4_2_2-solution000003.solution b/tests/exhaustive/basic/cut_01_on/expected/model_4_2_2-solution000003.solution new file mode 100644 index 0000000000..a28b6d6203 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_4_2_2-solution000003.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_4_2_2-solution000004.solution b/tests/exhaustive/basic/cut_01_on/expected/model_4_2_2-solution000004.solution new file mode 100644 index 0000000000..de5cc861ad --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_4_2_2-solution000004.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_4_2_2-solution000005.solution b/tests/exhaustive/basic/cut_01_on/expected/model_4_2_2-solution000005.solution new file mode 100644 index 0000000000..8dddb3b359 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_4_2_2-solution000005.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {2, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_4_2_2-solution000006.solution b/tests/exhaustive/basic/cut_01_on/expected/model_4_2_2-solution000006.solution new file mode 100644 index 0000000000..76bc8cdc32 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_4_2_2-solution000006.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {2} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_4_2_2-solution000007.solution b/tests/exhaustive/basic/cut_01_on/expected/model_4_2_2-solution000007.solution new file mode 100644 index 0000000000..86a85825b3 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_4_2_2-solution000007.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_4_2_2-solution000008.solution b/tests/exhaustive/basic/cut_01_on/expected/model_4_2_2-solution000008.solution new file mode 100644 index 0000000000..1a734343d9 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_4_2_2-solution000008.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_4_2_2.eprime.orig b/tests/exhaustive/basic/cut_01_on/expected/model_4_2_2.eprime.orig deleted file mode 100644 index 8c3544f807..0000000000 --- a/tests/exhaustive/basic/cut_01_on/expected/model_4_2_2.eprime.orig +++ /dev/null @@ -1,33 +0,0 @@ -language ESSENCE' 1.0 - -find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..3)] of bool -find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..3)] of int(1..3) -find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..3)] of int(1..4) -find cut1: bool -find cut2: bool -branching on - [cut1, cut2, x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values] -such that - !cut1 <-> - or([x_ExplicitVarSizeWithFlags_Flags[q20] /\ x_ExplicitVarSizeWithFlags_Values[q20] = 1 | q20 : int(1..3)]) /\ - or([x_ExplicitVarSizeWithFlags_Flags[q22] /\ x_ExplicitVarSizeWithFlags_Values[q22] = 2 | q22 : int(1..3)]), - !cut2 <-> or([x_ExplicitVarSizeWithDummy[q24] != 4 /\ x_ExplicitVarSizeWithDummy[q24] = 1 | q24 : int(1..3)]), - and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> - x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] - | q1 : int(1..2)]), - and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 1 | q2 : int(1..3)]), - and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..2)]), - and([x_ExplicitVarSizeWithDummy[q6] < x_ExplicitVarSizeWithDummy[q6 + 1] \/ x_ExplicitVarSizeWithDummy[q6] = 4 - | q6 : int(1..2)]), - and([x_ExplicitVarSizeWithDummy[q7] = 4 -> x_ExplicitVarSizeWithDummy[q7 + 1] = 4 | q7 : int(1..2)]), - and([x_ExplicitVarSizeWithDummy[q11] != 4 -> - or([x_ExplicitVarSizeWithFlags_Flags[q13] /\ - x_ExplicitVarSizeWithFlags_Values[q13] = x_ExplicitVarSizeWithDummy[q11] - | q13 : int(1..3)]) - | q11 : int(1..3)]), - and([x_ExplicitVarSizeWithFlags_Flags[q15] -> - or([x_ExplicitVarSizeWithDummy[q17] != 4 /\ - x_ExplicitVarSizeWithDummy[q17] = x_ExplicitVarSizeWithFlags_Values[q15] - | q17 : int(1..3)]) - | q15 : int(1..3)]) - diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_4_2_3-solution000001.solution b/tests/exhaustive/basic/cut_01_on/expected/model_4_2_3-solution000001.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_4_2_3-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_4_2_3-solution000002.solution b/tests/exhaustive/basic/cut_01_on/expected/model_4_2_3-solution000002.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_4_2_3-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_4_2_3-solution000003.solution b/tests/exhaustive/basic/cut_01_on/expected/model_4_2_3-solution000003.solution new file mode 100644 index 0000000000..de5cc861ad --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_4_2_3-solution000003.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_4_2_3-solution000004.solution b/tests/exhaustive/basic/cut_01_on/expected/model_4_2_3-solution000004.solution new file mode 100644 index 0000000000..a28b6d6203 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_4_2_3-solution000004.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_4_2_3-solution000005.solution b/tests/exhaustive/basic/cut_01_on/expected/model_4_2_3-solution000005.solution new file mode 100644 index 0000000000..1a734343d9 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_4_2_3-solution000005.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_4_2_3-solution000006.solution b/tests/exhaustive/basic/cut_01_on/expected/model_4_2_3-solution000006.solution new file mode 100644 index 0000000000..76bc8cdc32 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_4_2_3-solution000006.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {2} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_4_2_3-solution000007.solution b/tests/exhaustive/basic/cut_01_on/expected/model_4_2_3-solution000007.solution new file mode 100644 index 0000000000..86a85825b3 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_4_2_3-solution000007.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_4_2_3-solution000008.solution b/tests/exhaustive/basic/cut_01_on/expected/model_4_2_3-solution000008.solution new file mode 100644 index 0000000000..8dddb3b359 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_4_2_3-solution000008.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {2, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_4_2_3.eprime.orig b/tests/exhaustive/basic/cut_01_on/expected/model_4_2_3.eprime.orig deleted file mode 100644 index eb547110ba..0000000000 --- a/tests/exhaustive/basic/cut_01_on/expected/model_4_2_3.eprime.orig +++ /dev/null @@ -1,60 +0,0 @@ -language ESSENCE' 1.0 - -find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..3)] of bool -find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..3)] of int(1..3) -find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..3)] of int(1..4) -find x_ExplicitVarSizeWithMarker_Marker: int(0..3) -find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..3)] of int(1..3) -find cut1: bool -find cut2: bool -branching on - [cut1, cut2, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, - x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_ExplicitVarSizeWithDummy] -such that - !cut1 <-> - or([x_ExplicitVarSizeWithFlags_Flags[q39] /\ x_ExplicitVarSizeWithFlags_Values[q39] = 1 | q39 : int(1..3)]) /\ - or([x_ExplicitVarSizeWithFlags_Flags[q41] /\ x_ExplicitVarSizeWithFlags_Values[q41] = 2 | q41 : int(1..3)]), - !cut2 <-> or([x_ExplicitVarSizeWithDummy[q43] != 4 /\ x_ExplicitVarSizeWithDummy[q43] = 1 | q43 : int(1..3)]), - and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> - x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] - | q1 : int(1..2)]), - and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 1 | q2 : int(1..3)]), - and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..2)]), - and([x_ExplicitVarSizeWithDummy[q6] < x_ExplicitVarSizeWithDummy[q6 + 1] \/ x_ExplicitVarSizeWithDummy[q6] = 4 - | q6 : int(1..2)]), - and([x_ExplicitVarSizeWithDummy[q7] = 4 -> x_ExplicitVarSizeWithDummy[q7 + 1] = 4 | q7 : int(1..2)]), - and([x_ExplicitVarSizeWithDummy[q11] != 4 -> - or([x_ExplicitVarSizeWithFlags_Flags[q13] /\ - x_ExplicitVarSizeWithFlags_Values[q13] = x_ExplicitVarSizeWithDummy[q11] - | q13 : int(1..3)]) - | q11 : int(1..3)]), - and([x_ExplicitVarSizeWithFlags_Flags[q15] -> - or([x_ExplicitVarSizeWithDummy[q17] != 4 /\ - x_ExplicitVarSizeWithDummy[q17] = x_ExplicitVarSizeWithFlags_Values[q15] - | q17 : int(1..3)]) - | q15 : int(1..3)]), - and([q18 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> - x_ExplicitVarSizeWithMarker_Values[q18] < x_ExplicitVarSizeWithMarker_Values[q18 + 1] - | q18 : int(1..2)]), - and([q19 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q19] = 1 | q19 : int(1..3)]), - and([q22 <= x_ExplicitVarSizeWithMarker_Marker -> - or([x_ExplicitVarSizeWithFlags_Flags[q24] /\ - x_ExplicitVarSizeWithFlags_Values[q24] = x_ExplicitVarSizeWithMarker_Values[q22] - | q24 : int(1..3)]) - | q22 : int(1..3)]), - and([x_ExplicitVarSizeWithFlags_Flags[q26] -> - or([q28 <= x_ExplicitVarSizeWithMarker_Marker /\ - x_ExplicitVarSizeWithMarker_Values[q28] = x_ExplicitVarSizeWithFlags_Values[q26] - | q28 : int(1..3)]) - | q26 : int(1..3)]), - and([q30 <= x_ExplicitVarSizeWithMarker_Marker -> - or([x_ExplicitVarSizeWithDummy[q32] != 4 /\ - x_ExplicitVarSizeWithDummy[q32] = x_ExplicitVarSizeWithMarker_Values[q30] - | q32 : int(1..3)]) - | q30 : int(1..3)]), - and([x_ExplicitVarSizeWithDummy[q34] != 4 -> - or([q36 <= x_ExplicitVarSizeWithMarker_Marker /\ - x_ExplicitVarSizeWithMarker_Values[q36] = x_ExplicitVarSizeWithDummy[q34] - | q36 : int(1..3)]) - | q34 : int(1..3)]) - diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_4_2_4.eprime.orig b/tests/exhaustive/basic/cut_01_on/expected/model_4_2_4.eprime.orig deleted file mode 100644 index 8c3544f807..0000000000 --- a/tests/exhaustive/basic/cut_01_on/expected/model_4_2_4.eprime.orig +++ /dev/null @@ -1,33 +0,0 @@ -language ESSENCE' 1.0 - -find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..3)] of bool -find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..3)] of int(1..3) -find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..3)] of int(1..4) -find cut1: bool -find cut2: bool -branching on - [cut1, cut2, x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values] -such that - !cut1 <-> - or([x_ExplicitVarSizeWithFlags_Flags[q20] /\ x_ExplicitVarSizeWithFlags_Values[q20] = 1 | q20 : int(1..3)]) /\ - or([x_ExplicitVarSizeWithFlags_Flags[q22] /\ x_ExplicitVarSizeWithFlags_Values[q22] = 2 | q22 : int(1..3)]), - !cut2 <-> or([x_ExplicitVarSizeWithDummy[q24] != 4 /\ x_ExplicitVarSizeWithDummy[q24] = 1 | q24 : int(1..3)]), - and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> - x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] - | q1 : int(1..2)]), - and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 1 | q2 : int(1..3)]), - and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..2)]), - and([x_ExplicitVarSizeWithDummy[q6] < x_ExplicitVarSizeWithDummy[q6 + 1] \/ x_ExplicitVarSizeWithDummy[q6] = 4 - | q6 : int(1..2)]), - and([x_ExplicitVarSizeWithDummy[q7] = 4 -> x_ExplicitVarSizeWithDummy[q7 + 1] = 4 | q7 : int(1..2)]), - and([x_ExplicitVarSizeWithDummy[q11] != 4 -> - or([x_ExplicitVarSizeWithFlags_Flags[q13] /\ - x_ExplicitVarSizeWithFlags_Values[q13] = x_ExplicitVarSizeWithDummy[q11] - | q13 : int(1..3)]) - | q11 : int(1..3)]), - and([x_ExplicitVarSizeWithFlags_Flags[q15] -> - or([x_ExplicitVarSizeWithDummy[q17] != 4 /\ - x_ExplicitVarSizeWithDummy[q17] = x_ExplicitVarSizeWithFlags_Values[q15] - | q17 : int(1..3)]) - | q15 : int(1..3)]) - diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_4_3_1-solution000001.solution b/tests/exhaustive/basic/cut_01_on/expected/model_4_3_1-solution000001.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_4_3_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_4_3_1-solution000002.solution b/tests/exhaustive/basic/cut_01_on/expected/model_4_3_1-solution000002.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_4_3_1-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_4_3_1-solution000003.solution b/tests/exhaustive/basic/cut_01_on/expected/model_4_3_1-solution000003.solution new file mode 100644 index 0000000000..de5cc861ad --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_4_3_1-solution000003.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_4_3_1-solution000004.solution b/tests/exhaustive/basic/cut_01_on/expected/model_4_3_1-solution000004.solution new file mode 100644 index 0000000000..a28b6d6203 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_4_3_1-solution000004.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_4_3_1-solution000005.solution b/tests/exhaustive/basic/cut_01_on/expected/model_4_3_1-solution000005.solution new file mode 100644 index 0000000000..1a734343d9 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_4_3_1-solution000005.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_4_3_1-solution000006.solution b/tests/exhaustive/basic/cut_01_on/expected/model_4_3_1-solution000006.solution new file mode 100644 index 0000000000..86a85825b3 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_4_3_1-solution000006.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_4_3_1-solution000007.solution b/tests/exhaustive/basic/cut_01_on/expected/model_4_3_1-solution000007.solution new file mode 100644 index 0000000000..76bc8cdc32 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_4_3_1-solution000007.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {2} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_4_3_1-solution000008.solution b/tests/exhaustive/basic/cut_01_on/expected/model_4_3_1-solution000008.solution new file mode 100644 index 0000000000..8dddb3b359 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_4_3_1-solution000008.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {2, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_4_3_1.eprime.orig b/tests/exhaustive/basic/cut_01_on/expected/model_4_3_1.eprime.orig deleted file mode 100644 index b8aa2bdc4b..0000000000 --- a/tests/exhaustive/basic/cut_01_on/expected/model_4_3_1.eprime.orig +++ /dev/null @@ -1,49 +0,0 @@ -language ESSENCE' 1.0 - -find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..3)] of bool -find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..3)] of int(1..3) -find x_ExplicitVarSizeWithMarker_Marker: int(0..3) -find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..3)] of int(1..3) -find x_Occurrence: matrix indexed by [int(1..3)] of bool -find cut1: bool -find cut2: bool -branching on - [cut1, cut2, x_Occurrence, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, - x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values] -such that - !cut1 <-> - or([x_ExplicitVarSizeWithFlags_Flags[q30] /\ x_ExplicitVarSizeWithFlags_Values[q30] = 1 | q30 : int(1..3)]) /\ - or([x_ExplicitVarSizeWithFlags_Flags[q32] /\ x_ExplicitVarSizeWithFlags_Values[q32] = 2 | q32 : int(1..3)]), - !cut2 <-> - or([q34 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q34] = 1 | q34 : int(1..3)]), - and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> - x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] - | q1 : int(1..2)]), - and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 1 | q2 : int(1..3)]), - and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..2)]), - and([q6 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> - x_ExplicitVarSizeWithMarker_Values[q6] < x_ExplicitVarSizeWithMarker_Values[q6 + 1] - | q6 : int(1..2)]), - and([q7 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q7] = 1 | q7 : int(1..3)]), - and([q10 <= x_ExplicitVarSizeWithMarker_Marker -> - or([x_ExplicitVarSizeWithFlags_Flags[q12] /\ - x_ExplicitVarSizeWithFlags_Values[q12] = x_ExplicitVarSizeWithMarker_Values[q10] - | q12 : int(1..3)]) - | q10 : int(1..3)]), - and([x_ExplicitVarSizeWithFlags_Flags[q14] -> - or([q16 <= x_ExplicitVarSizeWithMarker_Marker /\ - x_ExplicitVarSizeWithMarker_Values[q16] = x_ExplicitVarSizeWithFlags_Values[q14] - | q16 : int(1..3)]) - | q14 : int(1..3)]), - and([x_Occurrence[q18] -> - or([x_ExplicitVarSizeWithFlags_Flags[q20] /\ x_ExplicitVarSizeWithFlags_Values[q20] = q18 | q20 : int(1..3)]) - | q18 : int(1..3)]), - and([x_ExplicitVarSizeWithFlags_Flags[q22] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q22]] - | q22 : int(1..3)]), - and([x_Occurrence[q23] -> - or([q25 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q25] = q23 - | q25 : int(1..3)]) - | q23 : int(1..3)]), - and([q27 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q27]] - | q27 : int(1..3)]) - diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_4_3_2-solution000001.solution b/tests/exhaustive/basic/cut_01_on/expected/model_4_3_2-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_4_3_2-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_4_3_2-solution000002.solution b/tests/exhaustive/basic/cut_01_on/expected/model_4_3_2-solution000002.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_4_3_2-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_4_3_2-solution000003.solution b/tests/exhaustive/basic/cut_01_on/expected/model_4_3_2-solution000003.solution new file mode 100644 index 0000000000..a28b6d6203 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_4_3_2-solution000003.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_4_3_2-solution000004.solution b/tests/exhaustive/basic/cut_01_on/expected/model_4_3_2-solution000004.solution new file mode 100644 index 0000000000..de5cc861ad --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_4_3_2-solution000004.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_4_3_2-solution000005.solution b/tests/exhaustive/basic/cut_01_on/expected/model_4_3_2-solution000005.solution new file mode 100644 index 0000000000..8dddb3b359 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_4_3_2-solution000005.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {2, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_4_3_2-solution000006.solution b/tests/exhaustive/basic/cut_01_on/expected/model_4_3_2-solution000006.solution new file mode 100644 index 0000000000..76bc8cdc32 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_4_3_2-solution000006.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {2} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_4_3_2-solution000007.solution b/tests/exhaustive/basic/cut_01_on/expected/model_4_3_2-solution000007.solution new file mode 100644 index 0000000000..86a85825b3 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_4_3_2-solution000007.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_4_3_2-solution000008.solution b/tests/exhaustive/basic/cut_01_on/expected/model_4_3_2-solution000008.solution new file mode 100644 index 0000000000..1a734343d9 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_4_3_2-solution000008.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_4_3_2.eprime.orig b/tests/exhaustive/basic/cut_01_on/expected/model_4_3_2.eprime.orig deleted file mode 100644 index 511d1b6814..0000000000 --- a/tests/exhaustive/basic/cut_01_on/expected/model_4_3_2.eprime.orig +++ /dev/null @@ -1,61 +0,0 @@ -language ESSENCE' 1.0 - -find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..3)] of bool -find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..3)] of int(1..3) -find x_ExplicitVarSizeWithMarker_Marker: int(0..3) -find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..3)] of int(1..3) -find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..3)] of int(1..4) -find cut1: bool -find cut2: bool -branching on - [cut1, cut2, x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, - x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values] -such that - !cut1 <-> - or([x_ExplicitVarSizeWithFlags_Flags[q39] /\ x_ExplicitVarSizeWithFlags_Values[q39] = 1 | q39 : int(1..3)]) /\ - or([x_ExplicitVarSizeWithFlags_Flags[q41] /\ x_ExplicitVarSizeWithFlags_Values[q41] = 2 | q41 : int(1..3)]), - !cut2 <-> - or([q43 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q43] = 1 | q43 : int(1..3)]), - and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> - x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] - | q1 : int(1..2)]), - and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 1 | q2 : int(1..3)]), - and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..2)]), - and([q6 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> - x_ExplicitVarSizeWithMarker_Values[q6] < x_ExplicitVarSizeWithMarker_Values[q6 + 1] - | q6 : int(1..2)]), - and([q7 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q7] = 1 | q7 : int(1..3)]), - and([q10 <= x_ExplicitVarSizeWithMarker_Marker -> - or([x_ExplicitVarSizeWithFlags_Flags[q12] /\ - x_ExplicitVarSizeWithFlags_Values[q12] = x_ExplicitVarSizeWithMarker_Values[q10] - | q12 : int(1..3)]) - | q10 : int(1..3)]), - and([x_ExplicitVarSizeWithFlags_Flags[q14] -> - or([q16 <= x_ExplicitVarSizeWithMarker_Marker /\ - x_ExplicitVarSizeWithMarker_Values[q16] = x_ExplicitVarSizeWithFlags_Values[q14] - | q16 : int(1..3)]) - | q14 : int(1..3)]), - and([x_ExplicitVarSizeWithDummy[q17] < x_ExplicitVarSizeWithDummy[q17 + 1] \/ x_ExplicitVarSizeWithDummy[q17] = 4 - | q17 : int(1..2)]), - and([x_ExplicitVarSizeWithDummy[q18] = 4 -> x_ExplicitVarSizeWithDummy[q18 + 1] = 4 | q18 : int(1..2)]), - and([x_ExplicitVarSizeWithDummy[q22] != 4 -> - or([x_ExplicitVarSizeWithFlags_Flags[q24] /\ - x_ExplicitVarSizeWithFlags_Values[q24] = x_ExplicitVarSizeWithDummy[q22] - | q24 : int(1..3)]) - | q22 : int(1..3)]), - and([x_ExplicitVarSizeWithFlags_Flags[q26] -> - or([x_ExplicitVarSizeWithDummy[q28] != 4 /\ - x_ExplicitVarSizeWithDummy[q28] = x_ExplicitVarSizeWithFlags_Values[q26] - | q28 : int(1..3)]) - | q26 : int(1..3)]), - and([x_ExplicitVarSizeWithDummy[q30] != 4 -> - or([q32 <= x_ExplicitVarSizeWithMarker_Marker /\ - x_ExplicitVarSizeWithMarker_Values[q32] = x_ExplicitVarSizeWithDummy[q30] - | q32 : int(1..3)]) - | q30 : int(1..3)]), - and([q34 <= x_ExplicitVarSizeWithMarker_Marker -> - or([x_ExplicitVarSizeWithDummy[q36] != 4 /\ - x_ExplicitVarSizeWithDummy[q36] = x_ExplicitVarSizeWithMarker_Values[q34] - | q36 : int(1..3)]) - | q34 : int(1..3)]) - diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_4_3_3-solution000001.solution b/tests/exhaustive/basic/cut_01_on/expected/model_4_3_3-solution000001.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_4_3_3-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_4_3_3-solution000002.solution b/tests/exhaustive/basic/cut_01_on/expected/model_4_3_3-solution000002.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_4_3_3-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_4_3_3-solution000003.solution b/tests/exhaustive/basic/cut_01_on/expected/model_4_3_3-solution000003.solution new file mode 100644 index 0000000000..de5cc861ad --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_4_3_3-solution000003.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_4_3_3-solution000004.solution b/tests/exhaustive/basic/cut_01_on/expected/model_4_3_3-solution000004.solution new file mode 100644 index 0000000000..a28b6d6203 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_4_3_3-solution000004.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_4_3_3-solution000005.solution b/tests/exhaustive/basic/cut_01_on/expected/model_4_3_3-solution000005.solution new file mode 100644 index 0000000000..1a734343d9 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_4_3_3-solution000005.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_4_3_3-solution000006.solution b/tests/exhaustive/basic/cut_01_on/expected/model_4_3_3-solution000006.solution new file mode 100644 index 0000000000..76bc8cdc32 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_4_3_3-solution000006.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {2} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_4_3_3-solution000007.solution b/tests/exhaustive/basic/cut_01_on/expected/model_4_3_3-solution000007.solution new file mode 100644 index 0000000000..86a85825b3 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_4_3_3-solution000007.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_4_3_3-solution000008.solution b/tests/exhaustive/basic/cut_01_on/expected/model_4_3_3-solution000008.solution new file mode 100644 index 0000000000..8dddb3b359 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_4_3_3-solution000008.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {2, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_4_3_3.eprime.orig b/tests/exhaustive/basic/cut_01_on/expected/model_4_3_3.eprime.orig deleted file mode 100644 index 3f66e92dd5..0000000000 --- a/tests/exhaustive/basic/cut_01_on/expected/model_4_3_3.eprime.orig +++ /dev/null @@ -1,37 +0,0 @@ -language ESSENCE' 1.0 - -find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..3)] of bool -find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..3)] of int(1..3) -find x_ExplicitVarSizeWithMarker_Marker: int(0..3) -find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..3)] of int(1..3) -find cut1: bool -find cut2: bool -branching on - [cut1, cut2, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, - x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values] -such that - !cut1 <-> - or([x_ExplicitVarSizeWithFlags_Flags[q19] /\ x_ExplicitVarSizeWithFlags_Values[q19] = 1 | q19 : int(1..3)]) /\ - or([x_ExplicitVarSizeWithFlags_Flags[q21] /\ x_ExplicitVarSizeWithFlags_Values[q21] = 2 | q21 : int(1..3)]), - !cut2 <-> - or([q23 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q23] = 1 | q23 : int(1..3)]), - and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> - x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] - | q1 : int(1..2)]), - and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 1 | q2 : int(1..3)]), - and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..2)]), - and([q6 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> - x_ExplicitVarSizeWithMarker_Values[q6] < x_ExplicitVarSizeWithMarker_Values[q6 + 1] - | q6 : int(1..2)]), - and([q7 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q7] = 1 | q7 : int(1..3)]), - and([q10 <= x_ExplicitVarSizeWithMarker_Marker -> - or([x_ExplicitVarSizeWithFlags_Flags[q12] /\ - x_ExplicitVarSizeWithFlags_Values[q12] = x_ExplicitVarSizeWithMarker_Values[q10] - | q12 : int(1..3)]) - | q10 : int(1..3)]), - and([x_ExplicitVarSizeWithFlags_Flags[q14] -> - or([q16 <= x_ExplicitVarSizeWithMarker_Marker /\ - x_ExplicitVarSizeWithMarker_Values[q16] = x_ExplicitVarSizeWithFlags_Values[q14] - | q16 : int(1..3)]) - | q14 : int(1..3)]) - diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_4_3_4.eprime.orig b/tests/exhaustive/basic/cut_01_on/expected/model_4_3_4.eprime.orig deleted file mode 100644 index 3f66e92dd5..0000000000 --- a/tests/exhaustive/basic/cut_01_on/expected/model_4_3_4.eprime.orig +++ /dev/null @@ -1,37 +0,0 @@ -language ESSENCE' 1.0 - -find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..3)] of bool -find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..3)] of int(1..3) -find x_ExplicitVarSizeWithMarker_Marker: int(0..3) -find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..3)] of int(1..3) -find cut1: bool -find cut2: bool -branching on - [cut1, cut2, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, - x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values] -such that - !cut1 <-> - or([x_ExplicitVarSizeWithFlags_Flags[q19] /\ x_ExplicitVarSizeWithFlags_Values[q19] = 1 | q19 : int(1..3)]) /\ - or([x_ExplicitVarSizeWithFlags_Flags[q21] /\ x_ExplicitVarSizeWithFlags_Values[q21] = 2 | q21 : int(1..3)]), - !cut2 <-> - or([q23 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q23] = 1 | q23 : int(1..3)]), - and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> - x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] - | q1 : int(1..2)]), - and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 1 | q2 : int(1..3)]), - and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..2)]), - and([q6 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> - x_ExplicitVarSizeWithMarker_Values[q6] < x_ExplicitVarSizeWithMarker_Values[q6 + 1] - | q6 : int(1..2)]), - and([q7 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q7] = 1 | q7 : int(1..3)]), - and([q10 <= x_ExplicitVarSizeWithMarker_Marker -> - or([x_ExplicitVarSizeWithFlags_Flags[q12] /\ - x_ExplicitVarSizeWithFlags_Values[q12] = x_ExplicitVarSizeWithMarker_Values[q10] - | q12 : int(1..3)]) - | q10 : int(1..3)]), - and([x_ExplicitVarSizeWithFlags_Flags[q14] -> - or([q16 <= x_ExplicitVarSizeWithMarker_Marker /\ - x_ExplicitVarSizeWithMarker_Values[q16] = x_ExplicitVarSizeWithFlags_Values[q14] - | q16 : int(1..3)]) - | q14 : int(1..3)]) - diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_4_4_1-solution000001.solution b/tests/exhaustive/basic/cut_01_on/expected/model_4_4_1-solution000001.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_4_4_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_4_4_1-solution000002.solution b/tests/exhaustive/basic/cut_01_on/expected/model_4_4_1-solution000002.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_4_4_1-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_4_4_1-solution000003.solution b/tests/exhaustive/basic/cut_01_on/expected/model_4_4_1-solution000003.solution new file mode 100644 index 0000000000..de5cc861ad --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_4_4_1-solution000003.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_4_4_1-solution000004.solution b/tests/exhaustive/basic/cut_01_on/expected/model_4_4_1-solution000004.solution new file mode 100644 index 0000000000..a28b6d6203 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_4_4_1-solution000004.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_4_4_1-solution000005.solution b/tests/exhaustive/basic/cut_01_on/expected/model_4_4_1-solution000005.solution new file mode 100644 index 0000000000..1a734343d9 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_4_4_1-solution000005.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_4_4_1-solution000006.solution b/tests/exhaustive/basic/cut_01_on/expected/model_4_4_1-solution000006.solution new file mode 100644 index 0000000000..86a85825b3 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_4_4_1-solution000006.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_4_4_1-solution000007.solution b/tests/exhaustive/basic/cut_01_on/expected/model_4_4_1-solution000007.solution new file mode 100644 index 0000000000..76bc8cdc32 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_4_4_1-solution000007.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {2} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_4_4_1-solution000008.solution b/tests/exhaustive/basic/cut_01_on/expected/model_4_4_1-solution000008.solution new file mode 100644 index 0000000000..8dddb3b359 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_4_4_1-solution000008.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {2, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_4_4_1.eprime.orig b/tests/exhaustive/basic/cut_01_on/expected/model_4_4_1.eprime.orig deleted file mode 100644 index a5e320a159..0000000000 --- a/tests/exhaustive/basic/cut_01_on/expected/model_4_4_1.eprime.orig +++ /dev/null @@ -1,25 +0,0 @@ -language ESSENCE' 1.0 - -find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..3)] of bool -find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..3)] of int(1..3) -find x_Occurrence: matrix indexed by [int(1..3)] of bool -find cut1: bool -find cut2: bool -branching on [cut1, cut2, x_Occurrence, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values] -such that - !cut1 <-> - or([x_ExplicitVarSizeWithFlags_Flags[q14] /\ x_ExplicitVarSizeWithFlags_Values[q14] = 1 | q14 : int(1..3)]) /\ - or([x_ExplicitVarSizeWithFlags_Flags[q16] /\ x_ExplicitVarSizeWithFlags_Values[q16] = 2 | q16 : int(1..3)]), - !cut2 <-> - or([x_ExplicitVarSizeWithFlags_Flags[q18] /\ x_ExplicitVarSizeWithFlags_Values[q18] = 1 | q18 : int(1..3)]), - and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> - x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] - | q1 : int(1..2)]), - and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 1 | q2 : int(1..3)]), - and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..2)]), - and([x_Occurrence[q7] -> - or([x_ExplicitVarSizeWithFlags_Flags[q9] /\ x_ExplicitVarSizeWithFlags_Values[q9] = q7 | q9 : int(1..3)]) - | q7 : int(1..3)]), - and([x_ExplicitVarSizeWithFlags_Flags[q11] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q11]] - | q11 : int(1..3)]) - diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_4_4_2-solution000001.solution b/tests/exhaustive/basic/cut_01_on/expected/model_4_4_2-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_4_4_2-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_4_4_2-solution000002.solution b/tests/exhaustive/basic/cut_01_on/expected/model_4_4_2-solution000002.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_4_4_2-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_4_4_2-solution000003.solution b/tests/exhaustive/basic/cut_01_on/expected/model_4_4_2-solution000003.solution new file mode 100644 index 0000000000..a28b6d6203 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_4_4_2-solution000003.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_4_4_2-solution000004.solution b/tests/exhaustive/basic/cut_01_on/expected/model_4_4_2-solution000004.solution new file mode 100644 index 0000000000..de5cc861ad --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_4_4_2-solution000004.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_4_4_2-solution000005.solution b/tests/exhaustive/basic/cut_01_on/expected/model_4_4_2-solution000005.solution new file mode 100644 index 0000000000..8dddb3b359 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_4_4_2-solution000005.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {2, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_4_4_2-solution000006.solution b/tests/exhaustive/basic/cut_01_on/expected/model_4_4_2-solution000006.solution new file mode 100644 index 0000000000..76bc8cdc32 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_4_4_2-solution000006.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {2} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_4_4_2-solution000007.solution b/tests/exhaustive/basic/cut_01_on/expected/model_4_4_2-solution000007.solution new file mode 100644 index 0000000000..86a85825b3 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_4_4_2-solution000007.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_4_4_2-solution000008.solution b/tests/exhaustive/basic/cut_01_on/expected/model_4_4_2-solution000008.solution new file mode 100644 index 0000000000..1a734343d9 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_4_4_2-solution000008.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_4_4_2.eprime.orig b/tests/exhaustive/basic/cut_01_on/expected/model_4_4_2.eprime.orig deleted file mode 100644 index 51f2077d26..0000000000 --- a/tests/exhaustive/basic/cut_01_on/expected/model_4_4_2.eprime.orig +++ /dev/null @@ -1,34 +0,0 @@ -language ESSENCE' 1.0 - -find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..3)] of bool -find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..3)] of int(1..3) -find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..3)] of int(1..4) -find cut1: bool -find cut2: bool -branching on - [cut1, cut2, x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values] -such that - !cut1 <-> - or([x_ExplicitVarSizeWithFlags_Flags[q20] /\ x_ExplicitVarSizeWithFlags_Values[q20] = 1 | q20 : int(1..3)]) /\ - or([x_ExplicitVarSizeWithFlags_Flags[q22] /\ x_ExplicitVarSizeWithFlags_Values[q22] = 2 | q22 : int(1..3)]), - !cut2 <-> - or([x_ExplicitVarSizeWithFlags_Flags[q24] /\ x_ExplicitVarSizeWithFlags_Values[q24] = 1 | q24 : int(1..3)]), - and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> - x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] - | q1 : int(1..2)]), - and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 1 | q2 : int(1..3)]), - and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..2)]), - and([x_ExplicitVarSizeWithDummy[q6] < x_ExplicitVarSizeWithDummy[q6 + 1] \/ x_ExplicitVarSizeWithDummy[q6] = 4 - | q6 : int(1..2)]), - and([x_ExplicitVarSizeWithDummy[q7] = 4 -> x_ExplicitVarSizeWithDummy[q7 + 1] = 4 | q7 : int(1..2)]), - and([x_ExplicitVarSizeWithDummy[q11] != 4 -> - or([x_ExplicitVarSizeWithFlags_Flags[q13] /\ - x_ExplicitVarSizeWithFlags_Values[q13] = x_ExplicitVarSizeWithDummy[q11] - | q13 : int(1..3)]) - | q11 : int(1..3)]), - and([x_ExplicitVarSizeWithFlags_Flags[q15] -> - or([x_ExplicitVarSizeWithDummy[q17] != 4 /\ - x_ExplicitVarSizeWithDummy[q17] = x_ExplicitVarSizeWithFlags_Values[q15] - | q17 : int(1..3)]) - | q15 : int(1..3)]) - diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_4_4_3-solution000001.solution b/tests/exhaustive/basic/cut_01_on/expected/model_4_4_3-solution000001.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_4_4_3-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_4_4_3-solution000002.solution b/tests/exhaustive/basic/cut_01_on/expected/model_4_4_3-solution000002.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_4_4_3-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_4_4_3-solution000003.solution b/tests/exhaustive/basic/cut_01_on/expected/model_4_4_3-solution000003.solution new file mode 100644 index 0000000000..de5cc861ad --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_4_4_3-solution000003.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_4_4_3-solution000004.solution b/tests/exhaustive/basic/cut_01_on/expected/model_4_4_3-solution000004.solution new file mode 100644 index 0000000000..a28b6d6203 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_4_4_3-solution000004.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_4_4_3-solution000005.solution b/tests/exhaustive/basic/cut_01_on/expected/model_4_4_3-solution000005.solution new file mode 100644 index 0000000000..1a734343d9 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_4_4_3-solution000005.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_4_4_3-solution000006.solution b/tests/exhaustive/basic/cut_01_on/expected/model_4_4_3-solution000006.solution new file mode 100644 index 0000000000..76bc8cdc32 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_4_4_3-solution000006.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {2} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_4_4_3-solution000007.solution b/tests/exhaustive/basic/cut_01_on/expected/model_4_4_3-solution000007.solution new file mode 100644 index 0000000000..86a85825b3 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_4_4_3-solution000007.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_4_4_3-solution000008.solution b/tests/exhaustive/basic/cut_01_on/expected/model_4_4_3-solution000008.solution new file mode 100644 index 0000000000..8dddb3b359 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_4_4_3-solution000008.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {2, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_4_4_3.eprime.orig b/tests/exhaustive/basic/cut_01_on/expected/model_4_4_3.eprime.orig deleted file mode 100644 index 9f0674828c..0000000000 --- a/tests/exhaustive/basic/cut_01_on/expected/model_4_4_3.eprime.orig +++ /dev/null @@ -1,37 +0,0 @@ -language ESSENCE' 1.0 - -find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..3)] of bool -find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..3)] of int(1..3) -find x_ExplicitVarSizeWithMarker_Marker: int(0..3) -find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..3)] of int(1..3) -find cut1: bool -find cut2: bool -branching on - [cut1, cut2, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, - x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values] -such that - !cut1 <-> - or([x_ExplicitVarSizeWithFlags_Flags[q19] /\ x_ExplicitVarSizeWithFlags_Values[q19] = 1 | q19 : int(1..3)]) /\ - or([x_ExplicitVarSizeWithFlags_Flags[q21] /\ x_ExplicitVarSizeWithFlags_Values[q21] = 2 | q21 : int(1..3)]), - !cut2 <-> - or([x_ExplicitVarSizeWithFlags_Flags[q23] /\ x_ExplicitVarSizeWithFlags_Values[q23] = 1 | q23 : int(1..3)]), - and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> - x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] - | q1 : int(1..2)]), - and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 1 | q2 : int(1..3)]), - and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..2)]), - and([q6 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> - x_ExplicitVarSizeWithMarker_Values[q6] < x_ExplicitVarSizeWithMarker_Values[q6 + 1] - | q6 : int(1..2)]), - and([q7 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q7] = 1 | q7 : int(1..3)]), - and([q10 <= x_ExplicitVarSizeWithMarker_Marker -> - or([x_ExplicitVarSizeWithFlags_Flags[q12] /\ - x_ExplicitVarSizeWithFlags_Values[q12] = x_ExplicitVarSizeWithMarker_Values[q10] - | q12 : int(1..3)]) - | q10 : int(1..3)]), - and([x_ExplicitVarSizeWithFlags_Flags[q14] -> - or([q16 <= x_ExplicitVarSizeWithMarker_Marker /\ - x_ExplicitVarSizeWithMarker_Values[q16] = x_ExplicitVarSizeWithFlags_Values[q14] - | q16 : int(1..3)]) - | q14 : int(1..3)]) - diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_4_4_4-solution000001.solution b/tests/exhaustive/basic/cut_01_on/expected/model_4_4_4-solution000001.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_4_4_4-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_4_4_4-solution000002.solution b/tests/exhaustive/basic/cut_01_on/expected/model_4_4_4-solution000002.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_4_4_4-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_4_4_4-solution000003.solution b/tests/exhaustive/basic/cut_01_on/expected/model_4_4_4-solution000003.solution new file mode 100644 index 0000000000..de5cc861ad --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_4_4_4-solution000003.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_4_4_4-solution000004.solution b/tests/exhaustive/basic/cut_01_on/expected/model_4_4_4-solution000004.solution new file mode 100644 index 0000000000..a28b6d6203 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_4_4_4-solution000004.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_4_4_4-solution000005.solution b/tests/exhaustive/basic/cut_01_on/expected/model_4_4_4-solution000005.solution new file mode 100644 index 0000000000..1a734343d9 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_4_4_4-solution000005.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_4_4_4-solution000006.solution b/tests/exhaustive/basic/cut_01_on/expected/model_4_4_4-solution000006.solution new file mode 100644 index 0000000000..76bc8cdc32 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_4_4_4-solution000006.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {2} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_4_4_4-solution000007.solution b/tests/exhaustive/basic/cut_01_on/expected/model_4_4_4-solution000007.solution new file mode 100644 index 0000000000..86a85825b3 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_4_4_4-solution000007.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_4_4_4-solution000008.solution b/tests/exhaustive/basic/cut_01_on/expected/model_4_4_4-solution000008.solution new file mode 100644 index 0000000000..8dddb3b359 --- /dev/null +++ b/tests/exhaustive/basic/cut_01_on/expected/model_4_4_4-solution000008.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {2, 3} diff --git a/tests/exhaustive/basic/cut_01_on/expected/model_4_4_4.eprime.orig b/tests/exhaustive/basic/cut_01_on/expected/model_4_4_4.eprime.orig deleted file mode 100644 index 17be20c392..0000000000 --- a/tests/exhaustive/basic/cut_01_on/expected/model_4_4_4.eprime.orig +++ /dev/null @@ -1,19 +0,0 @@ -language ESSENCE' 1.0 - -find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..3)] of bool -find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..3)] of int(1..3) -find cut1: bool -find cut2: bool -branching on [cut1, cut2, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values] -such that - !cut1 <-> - or([x_ExplicitVarSizeWithFlags_Flags[q8] /\ x_ExplicitVarSizeWithFlags_Values[q8] = 1 | q8 : int(1..3)]) /\ - or([x_ExplicitVarSizeWithFlags_Flags[q10] /\ x_ExplicitVarSizeWithFlags_Values[q10] = 2 | q10 : int(1..3)]), - !cut2 <-> - or([x_ExplicitVarSizeWithFlags_Flags[q12] /\ x_ExplicitVarSizeWithFlags_Values[q12] = 1 | q12 : int(1..3)]), - and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> - x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] - | q1 : int(1..2)]), - and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 1 | q2 : int(1..3)]), - and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..2)]) - diff --git a/tests/exhaustive/basic/enum05-enum/enum05/expected/model_1_2.eprime b/tests/exhaustive/basic/enum05-enum/enum05/expected/model_1_2.eprime index 5e1ac67e4f..3c466a4bfb 100644 --- a/tests/exhaustive/basic/enum05-enum/enum05/expected/model_1_2.eprime +++ b/tests/exhaustive/basic/enum05-enum/enum05/expected/model_1_2.eprime @@ -5,8 +5,7 @@ find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..2)] of int(1..3) branching on [x_ExplicitVarSizeWithDummy, x_Occurrence] such that x_Occurrence[1], - [x_ExplicitVarSizeWithDummy[1]; int(1)] x_ExplicitVarSizeWithDummy[2] = 3, and([x_ExplicitVarSizeWithDummy[q7] != 3 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q7]] | q7 : int(1..2)]), and([x_Occurrence[q8] -> diff --git a/tests/exhaustive/basic/enum05-enum/enum05/expected/model_1_3.eprime b/tests/exhaustive/basic/enum05-enum/enum05/expected/model_1_3.eprime index 1c517b2f64..caa450f69d 100644 --- a/tests/exhaustive/basic/enum05-enum/enum05/expected/model_1_3.eprime +++ b/tests/exhaustive/basic/enum05-enum/enum05/expected/model_1_3.eprime @@ -7,7 +7,7 @@ branching on [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Va such that x_Occurrence[1], 2 <= x_ExplicitVarSizeWithMarker_Marker -> - [x_ExplicitVarSizeWithMarker_Values[1]; int(1)] x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q3] = 1 | q3 : int(1..2)]), and([q6 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q6]] | q6 : int(1..2)]), diff --git a/tests/exhaustive/basic/enum05-enum/enum05/expected/model_1_4.eprime b/tests/exhaustive/basic/enum05-enum/enum05/expected/model_1_4.eprime index b0a108ce36..65b54149be 100644 --- a/tests/exhaustive/basic/enum05-enum/enum05/expected/model_1_4.eprime +++ b/tests/exhaustive/basic/enum05-enum/enum05/expected/model_1_4.eprime @@ -6,8 +6,7 @@ find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..2)] of int(1.. branching on [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_Occurrence] such that x_Occurrence[1], - x_ExplicitVarSizeWithFlags_Flags[2] -> - [x_ExplicitVarSizeWithFlags_Values[1]; int(1)] x_ExplicitVarSizeWithFlags_Values[1] < x_ExplicitVarSizeWithFlags_Values[2], and([x_ExplicitVarSizeWithFlags_Flags[q3] = false -> x_ExplicitVarSizeWithFlags_Values[q3] = 1 | q3 : int(1..2)]), x_ExplicitVarSizeWithFlags_Flags[2] -> x_ExplicitVarSizeWithFlags_Flags[1], and([x_ExplicitVarSizeWithFlags_Flags[q8] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q8]] | q8 : int(1..2)]), diff --git a/tests/exhaustive/basic/enum05-enum/enum05/expected/model_2_1.eprime b/tests/exhaustive/basic/enum05-enum/enum05/expected/model_2_1.eprime index 19b55ab58a..06dba1716a 100644 --- a/tests/exhaustive/basic/enum05-enum/enum05/expected/model_2_1.eprime +++ b/tests/exhaustive/basic/enum05-enum/enum05/expected/model_2_1.eprime @@ -5,8 +5,7 @@ find x_Occurrence: matrix indexed by [int(1..2)] of bool branching on [x_Occurrence, x_ExplicitVarSizeWithDummy] such that or([x_ExplicitVarSizeWithDummy[q7] != 3 /\ x_ExplicitVarSizeWithDummy[q7] = 1 | q7 : int(1..2)]), - [x_ExplicitVarSizeWithDummy[1]; int(1)] x_ExplicitVarSizeWithDummy[2] = 3, and([x_Occurrence[q8] -> or([x_ExplicitVarSizeWithDummy[q10] != 3 /\ x_ExplicitVarSizeWithDummy[q10] = q8 | q10 : int(1..2)]) diff --git a/tests/exhaustive/basic/enum05-enum/enum05/expected/model_2_2.eprime b/tests/exhaustive/basic/enum05-enum/enum05/expected/model_2_2.eprime index 3cd005c946..3cbe9f04b3 100644 --- a/tests/exhaustive/basic/enum05-enum/enum05/expected/model_2_2.eprime +++ b/tests/exhaustive/basic/enum05-enum/enum05/expected/model_2_2.eprime @@ -4,7 +4,6 @@ find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..2)] of int(1..3) branching on [x_ExplicitVarSizeWithDummy] such that or([x_ExplicitVarSizeWithDummy[q6] != 3 /\ x_ExplicitVarSizeWithDummy[q6] = 1 | q6 : int(1..2)]), - [x_ExplicitVarSizeWithDummy[1]; int(1)] x_ExplicitVarSizeWithDummy[2] = 3 diff --git a/tests/exhaustive/basic/enum05-enum/enum05/expected/model_2_3.eprime b/tests/exhaustive/basic/enum05-enum/enum05/expected/model_2_3.eprime index affa05405a..15b24ddce9 100644 --- a/tests/exhaustive/basic/enum05-enum/enum05/expected/model_2_3.eprime +++ b/tests/exhaustive/basic/enum05-enum/enum05/expected/model_2_3.eprime @@ -6,11 +6,10 @@ find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..2)] of int(1. branching on [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_ExplicitVarSizeWithDummy] such that or([x_ExplicitVarSizeWithDummy[q17] != 3 /\ x_ExplicitVarSizeWithDummy[q17] = 1 | q17 : int(1..2)]), - [x_ExplicitVarSizeWithDummy[1]; int(1)] x_ExplicitVarSizeWithDummy[2] = 3, 2 <= x_ExplicitVarSizeWithMarker_Marker -> - [x_ExplicitVarSizeWithMarker_Values[1]; int(1)] x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q6] = 1 | q6 : int(1..2)]), and([q9 <= x_ExplicitVarSizeWithMarker_Marker -> or([x_ExplicitVarSizeWithDummy[q11] != 3 /\ diff --git a/tests/exhaustive/basic/enum05-enum/enum05/expected/model_2_4.eprime b/tests/exhaustive/basic/enum05-enum/enum05/expected/model_2_4.eprime index 20ee576a7b..e6286e36dc 100644 --- a/tests/exhaustive/basic/enum05-enum/enum05/expected/model_2_4.eprime +++ b/tests/exhaustive/basic/enum05-enum/enum05/expected/model_2_4.eprime @@ -6,11 +6,9 @@ find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..2)] of int(1.. branching on [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_ExplicitVarSizeWithDummy] such that or([x_ExplicitVarSizeWithDummy[q19] != 3 /\ x_ExplicitVarSizeWithDummy[q19] = 1 | q19 : int(1..2)]), - [x_ExplicitVarSizeWithDummy[1]; int(1)] x_ExplicitVarSizeWithDummy[2] = 3, - x_ExplicitVarSizeWithFlags_Flags[2] -> - [x_ExplicitVarSizeWithFlags_Values[1]; int(1)] x_ExplicitVarSizeWithFlags_Values[1] < x_ExplicitVarSizeWithFlags_Values[2], and([x_ExplicitVarSizeWithFlags_Flags[q6] = false -> x_ExplicitVarSizeWithFlags_Values[q6] = 1 | q6 : int(1..2)]), x_ExplicitVarSizeWithFlags_Flags[2] -> x_ExplicitVarSizeWithFlags_Flags[1], and([x_ExplicitVarSizeWithFlags_Flags[q11] -> diff --git a/tests/exhaustive/basic/enum05-enum/enum05/expected/model_3_1.eprime b/tests/exhaustive/basic/enum05-enum/enum05/expected/model_3_1.eprime index 305e95e154..53b78284b9 100644 --- a/tests/exhaustive/basic/enum05-enum/enum05/expected/model_3_1.eprime +++ b/tests/exhaustive/basic/enum05-enum/enum05/expected/model_3_1.eprime @@ -7,7 +7,7 @@ branching on [x_Occurrence, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSiz such that or([q6 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q6] = 1 | q6 : int(1..2)]), 2 <= x_ExplicitVarSizeWithMarker_Marker -> - [x_ExplicitVarSizeWithMarker_Values[1]; int(1)] x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 1 | q2 : int(1..2)]), and([x_Occurrence[q7] -> or([q9 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q9] = q7 | q9 : int(1..2)]) diff --git a/tests/exhaustive/basic/enum05-enum/enum05/expected/model_3_2.eprime b/tests/exhaustive/basic/enum05-enum/enum05/expected/model_3_2.eprime index 289392ed4b..9955c46684 100644 --- a/tests/exhaustive/basic/enum05-enum/enum05/expected/model_3_2.eprime +++ b/tests/exhaustive/basic/enum05-enum/enum05/expected/model_3_2.eprime @@ -7,10 +7,9 @@ branching on [x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithMarker_Marker, x_ such that or([q17 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q17] = 1 | q17 : int(1..2)]), 2 <= x_ExplicitVarSizeWithMarker_Marker -> - [x_ExplicitVarSizeWithMarker_Values[1]; int(1)] x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 1 | q2 : int(1..2)]), - [x_ExplicitVarSizeWithDummy[1]; int(1)] x_ExplicitVarSizeWithDummy[2] = 3, and([x_ExplicitVarSizeWithDummy[q9] != 3 -> or([q11 <= x_ExplicitVarSizeWithMarker_Marker /\ diff --git a/tests/exhaustive/basic/enum05-enum/enum05/expected/model_3_3.eprime b/tests/exhaustive/basic/enum05-enum/enum05/expected/model_3_3.eprime index cafd3e03b9..6bf0fbc245 100644 --- a/tests/exhaustive/basic/enum05-enum/enum05/expected/model_3_3.eprime +++ b/tests/exhaustive/basic/enum05-enum/enum05/expected/model_3_3.eprime @@ -6,6 +6,6 @@ branching on [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Va such that or([q5 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q5] = 1 | q5 : int(1..2)]), 2 <= x_ExplicitVarSizeWithMarker_Marker -> - [x_ExplicitVarSizeWithMarker_Values[1]; int(1)] x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 1 | q2 : int(1..2)]) diff --git a/tests/exhaustive/basic/enum05-enum/enum05/expected/model_3_4.eprime b/tests/exhaustive/basic/enum05-enum/enum05/expected/model_3_4.eprime index e0e163e423..30b752c34b 100644 --- a/tests/exhaustive/basic/enum05-enum/enum05/expected/model_3_4.eprime +++ b/tests/exhaustive/basic/enum05-enum/enum05/expected/model_3_4.eprime @@ -10,10 +10,9 @@ branching on such that or([q18 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q18] = 1 | q18 : int(1..2)]), 2 <= x_ExplicitVarSizeWithMarker_Marker -> - [x_ExplicitVarSizeWithMarker_Values[1]; int(1)] x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 1 | q2 : int(1..2)]), - x_ExplicitVarSizeWithFlags_Flags[2] -> - [x_ExplicitVarSizeWithFlags_Values[1]; int(1)] x_ExplicitVarSizeWithFlags_Values[1] < x_ExplicitVarSizeWithFlags_Values[2], and([x_ExplicitVarSizeWithFlags_Flags[q5] = false -> x_ExplicitVarSizeWithFlags_Values[q5] = 1 | q5 : int(1..2)]), x_ExplicitVarSizeWithFlags_Flags[2] -> x_ExplicitVarSizeWithFlags_Flags[1], and([x_ExplicitVarSizeWithFlags_Flags[q10] -> diff --git a/tests/exhaustive/basic/enum05-enum/enum05/expected/model_4_1.eprime b/tests/exhaustive/basic/enum05-enum/enum05/expected/model_4_1.eprime index 8d42b90c9e..d357287c6d 100644 --- a/tests/exhaustive/basic/enum05-enum/enum05/expected/model_4_1.eprime +++ b/tests/exhaustive/basic/enum05-enum/enum05/expected/model_4_1.eprime @@ -6,8 +6,7 @@ find x_Occurrence: matrix indexed by [int(1..2)] of bool branching on [x_Occurrence, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values] such that or([x_ExplicitVarSizeWithFlags_Flags[q13] /\ x_ExplicitVarSizeWithFlags_Values[q13] = 1 | q13 : int(1..2)]), - x_ExplicitVarSizeWithFlags_Flags[2] -> - [x_ExplicitVarSizeWithFlags_Values[1]; int(1)] x_ExplicitVarSizeWithFlags_Values[1] < x_ExplicitVarSizeWithFlags_Values[2], and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 1 | q2 : int(1..2)]), x_ExplicitVarSizeWithFlags_Flags[2] -> x_ExplicitVarSizeWithFlags_Flags[1], and([x_Occurrence[q7] -> diff --git a/tests/exhaustive/basic/enum05-enum/enum05/expected/model_4_2.eprime b/tests/exhaustive/basic/enum05-enum/enum05/expected/model_4_2.eprime index fa7a9b3cfb..7845f87b0a 100644 --- a/tests/exhaustive/basic/enum05-enum/enum05/expected/model_4_2.eprime +++ b/tests/exhaustive/basic/enum05-enum/enum05/expected/model_4_2.eprime @@ -6,12 +6,10 @@ find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..2)] of int(1..3) branching on [x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values] such that or([x_ExplicitVarSizeWithFlags_Flags[q19] /\ x_ExplicitVarSizeWithFlags_Values[q19] = 1 | q19 : int(1..2)]), - x_ExplicitVarSizeWithFlags_Flags[2] -> - [x_ExplicitVarSizeWithFlags_Values[1]; int(1)] x_ExplicitVarSizeWithFlags_Values[1] < x_ExplicitVarSizeWithFlags_Values[2], and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 1 | q2 : int(1..2)]), x_ExplicitVarSizeWithFlags_Flags[2] -> x_ExplicitVarSizeWithFlags_Flags[1], - [x_ExplicitVarSizeWithDummy[1]; int(1)] x_ExplicitVarSizeWithDummy[2] = 3, and([x_ExplicitVarSizeWithDummy[q11] != 3 -> or([x_ExplicitVarSizeWithFlags_Flags[q13] /\ diff --git a/tests/exhaustive/basic/enum05-enum/enum05/expected/model_4_3.eprime b/tests/exhaustive/basic/enum05-enum/enum05/expected/model_4_3.eprime index 9339754f19..681490ebe2 100644 --- a/tests/exhaustive/basic/enum05-enum/enum05/expected/model_4_3.eprime +++ b/tests/exhaustive/basic/enum05-enum/enum05/expected/model_4_3.eprime @@ -9,12 +9,11 @@ branching on x_ExplicitVarSizeWithFlags_Values] such that or([x_ExplicitVarSizeWithFlags_Flags[q18] /\ x_ExplicitVarSizeWithFlags_Values[q18] = 1 | q18 : int(1..2)]), - x_ExplicitVarSizeWithFlags_Flags[2] -> - [x_ExplicitVarSizeWithFlags_Values[1]; int(1)] x_ExplicitVarSizeWithFlags_Values[1] < x_ExplicitVarSizeWithFlags_Values[2], and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 1 | q2 : int(1..2)]), x_ExplicitVarSizeWithFlags_Flags[2] -> x_ExplicitVarSizeWithFlags_Flags[1], 2 <= x_ExplicitVarSizeWithMarker_Marker -> - [x_ExplicitVarSizeWithMarker_Values[1]; int(1)] x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q7] = 1 | q7 : int(1..2)]), and([q10 <= x_ExplicitVarSizeWithMarker_Marker -> or([x_ExplicitVarSizeWithFlags_Flags[q12] /\ diff --git a/tests/exhaustive/basic/enum05-enum/enum05/expected/model_4_4.eprime b/tests/exhaustive/basic/enum05-enum/enum05/expected/model_4_4.eprime index 4488d3c825..5045c01422 100644 --- a/tests/exhaustive/basic/enum05-enum/enum05/expected/model_4_4.eprime +++ b/tests/exhaustive/basic/enum05-enum/enum05/expected/model_4_4.eprime @@ -5,8 +5,7 @@ find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..2)] of int(1.. branching on [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values] such that or([x_ExplicitVarSizeWithFlags_Flags[q7] /\ x_ExplicitVarSizeWithFlags_Values[q7] = 1 | q7 : int(1..2)]), - x_ExplicitVarSizeWithFlags_Flags[2] -> - [x_ExplicitVarSizeWithFlags_Values[1]; int(1)] x_ExplicitVarSizeWithFlags_Values[1] < x_ExplicitVarSizeWithFlags_Values[2], and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 1 | q2 : int(1..2)]), x_ExplicitVarSizeWithFlags_Flags[2] -> x_ExplicitVarSizeWithFlags_Flags[1] diff --git a/tests/exhaustive/basic/enum05-unnamed/expected/model_2.eprime b/tests/exhaustive/basic/enum05-unnamed/expected/model_2.eprime index 32c39e4747..dd1644147e 100644 --- a/tests/exhaustive/basic/enum05-unnamed/expected/model_2.eprime +++ b/tests/exhaustive/basic/enum05-unnamed/expected/model_2.eprime @@ -3,7 +3,6 @@ language ESSENCE' 1.0 find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..2)] of int(1..3) branching on [x_ExplicitVarSizeWithDummy] such that - [x_ExplicitVarSizeWithDummy[1]; int(1)] x_ExplicitVarSizeWithDummy[2] = 3 diff --git a/tests/exhaustive/basic/enum05-unnamed/expected/model_3.eprime b/tests/exhaustive/basic/enum05-unnamed/expected/model_3.eprime index 4846bb6513..9baf5521b0 100644 --- a/tests/exhaustive/basic/enum05-unnamed/expected/model_3.eprime +++ b/tests/exhaustive/basic/enum05-unnamed/expected/model_3.eprime @@ -5,6 +5,6 @@ find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..2)] of int(1. branching on [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values] such that 2 <= x_ExplicitVarSizeWithMarker_Marker -> - [x_ExplicitVarSizeWithMarker_Values[1]; int(1)] x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 1 | q2 : int(1..2)]) diff --git a/tests/exhaustive/basic/enum05-unnamed/expected/model_4.eprime b/tests/exhaustive/basic/enum05-unnamed/expected/model_4.eprime index b922e0b97b..8c652122fc 100644 --- a/tests/exhaustive/basic/enum05-unnamed/expected/model_4.eprime +++ b/tests/exhaustive/basic/enum05-unnamed/expected/model_4.eprime @@ -4,8 +4,7 @@ find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..2)] of bool find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..2)] of int(1..2) branching on [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values] such that - x_ExplicitVarSizeWithFlags_Flags[2] -> - [x_ExplicitVarSizeWithFlags_Values[1]; int(1)] x_ExplicitVarSizeWithFlags_Values[1] < x_ExplicitVarSizeWithFlags_Values[2], and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 1 | q2 : int(1..2)]), x_ExplicitVarSizeWithFlags_Flags[2] -> x_ExplicitVarSizeWithFlags_Flags[1] diff --git a/tests/exhaustive/basic/enum06/expected/model_1_1.eprime b/tests/exhaustive/basic/enum06/expected/model_1_1.eprime index f03a6b45df..986fa491a6 100644 --- a/tests/exhaustive/basic/enum06/expected/model_1_1.eprime +++ b/tests/exhaustive/basic/enum06/expected/model_1_1.eprime @@ -4,14 +4,8 @@ find x_ExplicitWithFlags_Flags: matrix indexed by [int(1..4)] of int(0..4) find x_ExplicitWithFlags_Values: matrix indexed by [int(1..4)] of int(1..2) branching on [x_ExplicitWithFlags_Flags, x_ExplicitWithFlags_Values] such that -<<<<<<< HEAD - or([x_ExplicitWithFlags_Flags[q8] > 0 /\ x_ExplicitWithFlags_Values[q8] = 1 | q8 : int(1..4)]), - and([x_ExplicitWithFlags_Flags[q1 + 1] > 0 -> - [x_ExplicitWithFlags_Values[q1]; int(1)] 0 /\ x_ExplicitWithFlags_Values[q9] = 1 | q9 : int(1..4)]), and([x_ExplicitWithFlags_Flags[q1 + 1] > 0 -> x_ExplicitWithFlags_Values[q1] < x_ExplicitWithFlags_Values[q1 + 1] ->>>>>>> main | q1 : int(1..3)]), and([x_ExplicitWithFlags_Flags[q2] = 0 -> x_ExplicitWithFlags_Values[q2] = 1 | q2 : int(1..4)]), and([x_ExplicitWithFlags_Flags[q3 + 1] > 0 -> x_ExplicitWithFlags_Flags[q3] > 0 | q3 : int(1..3)]), diff --git a/tests/exhaustive/basic/enum06/expected/model_1_2.eprime b/tests/exhaustive/basic/enum06/expected/model_1_2.eprime index 8ca42b5521..5db82561f7 100644 --- a/tests/exhaustive/basic/enum06/expected/model_1_2.eprime +++ b/tests/exhaustive/basic/enum06/expected/model_1_2.eprime @@ -8,19 +8,6 @@ branching on [x_ExplicitWithRepetition_Flag, x_ExplicitWithRepetition_Values, x_ExplicitWithFlags_Flags, x_ExplicitWithFlags_Values] such that -<<<<<<< HEAD - or([x_ExplicitWithFlags_Flags[q22] > 0 /\ x_ExplicitWithFlags_Values[q22] = 1 | q22 : int(1..4)]), - and([x_ExplicitWithFlags_Flags[q1 + 1] > 0 -> - [x_ExplicitWithFlags_Values[q1]; int(1)] x_ExplicitWithFlags_Values[q2] = 1 | q2 : int(1..4)]), - and([x_ExplicitWithFlags_Flags[q3 + 1] > 0 -> x_ExplicitWithFlags_Flags[q3] > 0 | q3 : int(1..3)]), - sum([x_ExplicitWithFlags_Flags[q5] | q5 : int(1..4)]) <= 4, - and([q7 + 1 <= x_ExplicitWithRepetition_Flag -> - [x_ExplicitWithRepetition_Values[q7]; int(1)] <=lex [x_ExplicitWithRepetition_Values[q7 + 1]; int(1)] - | q7 : int(1..3)]), - and([q8 > x_ExplicitWithRepetition_Flag -> x_ExplicitWithRepetition_Values[q8] = 1 | q8 : int(1..4)]), -======= or([x_ExplicitWithFlags_Flags[q23] > 0 /\ x_ExplicitWithFlags_Values[q23] = 1 | q23 : int(1..4)]), and([x_ExplicitWithFlags_Flags[q1 + 1] > 0 -> x_ExplicitWithFlags_Values[q1] < x_ExplicitWithFlags_Values[q1 + 1] | q1 : int(1..3)]), @@ -31,7 +18,6 @@ such that x_ExplicitWithRepetition_Values[q8] <= x_ExplicitWithRepetition_Values[q8 + 1] | q8 : int(1..3)]), and([q9 > x_ExplicitWithRepetition_Flag -> x_ExplicitWithRepetition_Values[q9] = 1 | q9 : int(1..4)]), ->>>>>>> main x_ExplicitWithRepetition_Flag <= 4, and([q14 <= x_ExplicitWithRepetition_Flag -> sum([toInt(q17 <= x_ExplicitWithRepetition_Flag) * diff --git a/tests/exhaustive/basic/enum06/expected/model_1_3.eprime b/tests/exhaustive/basic/enum06/expected/model_1_3.eprime index 0dd7c6aa16..c2852c2ff8 100644 --- a/tests/exhaustive/basic/enum06/expected/model_1_3.eprime +++ b/tests/exhaustive/basic/enum06/expected/model_1_3.eprime @@ -5,14 +5,8 @@ find x_ExplicitWithFlags_Values: matrix indexed by [int(1..4)] of int(1..2) find x_MOccurrence: matrix indexed by [int(1..2)] of int(0..4) branching on [x_MOccurrence, x_ExplicitWithFlags_Flags, x_ExplicitWithFlags_Values] such that -<<<<<<< HEAD - or([x_ExplicitWithFlags_Flags[q14] > 0 /\ x_ExplicitWithFlags_Values[q14] = 1 | q14 : int(1..4)]), - and([x_ExplicitWithFlags_Flags[q1 + 1] > 0 -> - [x_ExplicitWithFlags_Values[q1]; int(1)] 0 /\ x_ExplicitWithFlags_Values[q15] = 1 | q15 : int(1..4)]), and([x_ExplicitWithFlags_Flags[q1 + 1] > 0 -> x_ExplicitWithFlags_Values[q1] < x_ExplicitWithFlags_Values[q1 + 1] ->>>>>>> main | q1 : int(1..3)]), and([x_ExplicitWithFlags_Flags[q2] = 0 -> x_ExplicitWithFlags_Values[q2] = 1 | q2 : int(1..4)]), and([x_ExplicitWithFlags_Flags[q3 + 1] > 0 -> x_ExplicitWithFlags_Flags[q3] > 0 | q3 : int(1..3)]), diff --git a/tests/exhaustive/basic/enum06/expected/model_2_1.eprime b/tests/exhaustive/basic/enum06/expected/model_2_1.eprime index ed7d0baf22..cee7612061 100644 --- a/tests/exhaustive/basic/enum06/expected/model_2_1.eprime +++ b/tests/exhaustive/basic/enum06/expected/model_2_1.eprime @@ -10,12 +10,11 @@ branching on such that or([q23 <= x_ExplicitWithRepetition_Flag /\ x_ExplicitWithRepetition_Values[q23] = 1 | q23 : int(1..4)]), and([q1 + 1 <= x_ExplicitWithRepetition_Flag -> - [x_ExplicitWithRepetition_Values[q1]; int(1)] <=lex [x_ExplicitWithRepetition_Values[q1 + 1]; int(1)] + x_ExplicitWithRepetition_Values[q1] <= x_ExplicitWithRepetition_Values[q1 + 1] | q1 : int(1..3)]), and([q2 > x_ExplicitWithRepetition_Flag -> x_ExplicitWithRepetition_Values[q2] = 1 | q2 : int(1..4)]), x_ExplicitWithRepetition_Flag <= 4, - and([x_ExplicitWithFlags_Flags[q6 + 1] > 0 -> - [x_ExplicitWithFlags_Values[q6]; int(1)] 0 -> x_ExplicitWithFlags_Values[q6] < x_ExplicitWithFlags_Values[q6 + 1] | q6 : int(1..3)]), and([x_ExplicitWithFlags_Flags[q7] = 0 -> x_ExplicitWithFlags_Values[q7] = 1 | q7 : int(1..4)]), and([x_ExplicitWithFlags_Flags[q8 + 1] > 0 -> x_ExplicitWithFlags_Flags[q8] > 0 | q8 : int(1..3)]), diff --git a/tests/exhaustive/basic/enum06/expected/model_2_2.eprime b/tests/exhaustive/basic/enum06/expected/model_2_2.eprime index ae8798327d..83a4f59f8c 100644 --- a/tests/exhaustive/basic/enum06/expected/model_2_2.eprime +++ b/tests/exhaustive/basic/enum06/expected/model_2_2.eprime @@ -6,7 +6,7 @@ branching on [x_ExplicitWithRepetition_Flag, x_ExplicitWithRepetition_Values] such that or([q7 <= x_ExplicitWithRepetition_Flag /\ x_ExplicitWithRepetition_Values[q7] = 1 | q7 : int(1..4)]), and([q1 + 1 <= x_ExplicitWithRepetition_Flag -> - [x_ExplicitWithRepetition_Values[q1]; int(1)] <=lex [x_ExplicitWithRepetition_Values[q1 + 1]; int(1)] + x_ExplicitWithRepetition_Values[q1] <= x_ExplicitWithRepetition_Values[q1 + 1] | q1 : int(1..3)]), and([q2 > x_ExplicitWithRepetition_Flag -> x_ExplicitWithRepetition_Values[q2] = 1 | q2 : int(1..4)]), x_ExplicitWithRepetition_Flag <= 4 diff --git a/tests/exhaustive/basic/enum06/expected/model_2_3.eprime b/tests/exhaustive/basic/enum06/expected/model_2_3.eprime index c53f6a7689..14637dd1da 100644 --- a/tests/exhaustive/basic/enum06/expected/model_2_3.eprime +++ b/tests/exhaustive/basic/enum06/expected/model_2_3.eprime @@ -7,7 +7,7 @@ branching on [x_MOccurrence, x_ExplicitWithRepetition_Flag, x_ExplicitWithRepeti such that or([q15 <= x_ExplicitWithRepetition_Flag /\ x_ExplicitWithRepetition_Values[q15] = 1 | q15 : int(1..4)]), and([q1 + 1 <= x_ExplicitWithRepetition_Flag -> - [x_ExplicitWithRepetition_Values[q1]; int(1)] <=lex [x_ExplicitWithRepetition_Values[q1 + 1]; int(1)] + x_ExplicitWithRepetition_Values[q1] <= x_ExplicitWithRepetition_Values[q1 + 1] | q1 : int(1..3)]), and([q2 > x_ExplicitWithRepetition_Flag -> x_ExplicitWithRepetition_Values[q2] = 1 | q2 : int(1..4)]), x_ExplicitWithRepetition_Flag <= 4, diff --git a/tests/exhaustive/basic/enum06/expected/model_3_1.eprime b/tests/exhaustive/basic/enum06/expected/model_3_1.eprime index 32770953a8..2ec0ae5b09 100644 --- a/tests/exhaustive/basic/enum06/expected/model_3_1.eprime +++ b/tests/exhaustive/basic/enum06/expected/model_3_1.eprime @@ -7,8 +7,7 @@ branching on [x_ExplicitWithFlags_Flags, x_ExplicitWithFlags_Values, x_MOccurren such that or([x_MOccurrence[q15] > 0 /\ q15 = 1 | q15 : int(1..2)]), sum([x_MOccurrence[q1] | q1 : int(1..2)]) <= 4, - and([x_ExplicitWithFlags_Flags[q2 + 1] > 0 -> - [x_ExplicitWithFlags_Values[q2]; int(1)] 0 -> x_ExplicitWithFlags_Values[q2] < x_ExplicitWithFlags_Values[q2 + 1] | q2 : int(1..3)]), and([x_ExplicitWithFlags_Flags[q3] = 0 -> x_ExplicitWithFlags_Values[q3] = 1 | q3 : int(1..4)]), and([x_ExplicitWithFlags_Flags[q4 + 1] > 0 -> x_ExplicitWithFlags_Flags[q4] > 0 | q4 : int(1..3)]), diff --git a/tests/exhaustive/basic/enum06/expected/model_3_2.eprime b/tests/exhaustive/basic/enum06/expected/model_3_2.eprime index ec9ac25a79..4309aabff6 100644 --- a/tests/exhaustive/basic/enum06/expected/model_3_2.eprime +++ b/tests/exhaustive/basic/enum06/expected/model_3_2.eprime @@ -8,7 +8,7 @@ such that or([x_MOccurrence[q15] > 0 /\ q15 = 1 | q15 : int(1..2)]), sum([x_MOccurrence[q1] | q1 : int(1..2)]) <= 4, and([q2 + 1 <= x_ExplicitWithRepetition_Flag -> - [x_ExplicitWithRepetition_Values[q2]; int(1)] <=lex [x_ExplicitWithRepetition_Values[q2 + 1]; int(1)] + x_ExplicitWithRepetition_Values[q2] <= x_ExplicitWithRepetition_Values[q2 + 1] | q2 : int(1..3)]), and([q3 > x_ExplicitWithRepetition_Flag -> x_ExplicitWithRepetition_Values[q3] = 1 | q3 : int(1..4)]), x_ExplicitWithRepetition_Flag <= 4, diff --git a/tests/exhaustive/basic/function_complex_01/expected/model_1-solution000001.solution b/tests/exhaustive/basic/function_complex_01/expected/model_1-solution000001.solution new file mode 100644 index 0000000000..2e109b6d40 --- /dev/null +++ b/tests/exhaustive/basic/function_complex_01/expected/model_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be function({(7, false)} --> 17, {(7, true)} --> 13) diff --git a/tests/exhaustive/basic/function_complex_01/expected/model_1-solution000002.solution b/tests/exhaustive/basic/function_complex_01/expected/model_1-solution000002.solution new file mode 100644 index 0000000000..626dde8770 --- /dev/null +++ b/tests/exhaustive/basic/function_complex_01/expected/model_1-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be function({(7, false)} --> 13, {(7, true)} --> 17) diff --git a/tests/exhaustive/basic/function_complex_01/expected/model_1-solution000003.solution b/tests/exhaustive/basic/function_complex_01/expected/model_1-solution000003.solution new file mode 100644 index 0000000000..5ebd8e1209 --- /dev/null +++ b/tests/exhaustive/basic/function_complex_01/expected/model_1-solution000003.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be function({(7, false)} --> 13, {(7, false), (7, true)} --> 17) diff --git a/tests/exhaustive/basic/function_complex_01/expected/model_1-solution000004.solution b/tests/exhaustive/basic/function_complex_01/expected/model_1-solution000004.solution new file mode 100644 index 0000000000..ee811eb7ab --- /dev/null +++ b/tests/exhaustive/basic/function_complex_01/expected/model_1-solution000004.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be function({(7, false)} --> 17, {(7, false), (7, true)} --> 13) diff --git a/tests/exhaustive/basic/function_complex_01/expected/model_1-solution000005.solution b/tests/exhaustive/basic/function_complex_01/expected/model_1-solution000005.solution new file mode 100644 index 0000000000..30b06b719d --- /dev/null +++ b/tests/exhaustive/basic/function_complex_01/expected/model_1-solution000005.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be function({(7, false), (7, true)} --> 17, {(7, true)} --> 13) diff --git a/tests/exhaustive/basic/function_complex_01/expected/model_1-solution000006.solution b/tests/exhaustive/basic/function_complex_01/expected/model_1-solution000006.solution new file mode 100644 index 0000000000..65f731a60d --- /dev/null +++ b/tests/exhaustive/basic/function_complex_01/expected/model_1-solution000006.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be function({(7, false), (7, true)} --> 13, {(7, true)} --> 17) diff --git a/tests/exhaustive/basic/function_complex_01/expected/model_2-solution000001.solution b/tests/exhaustive/basic/function_complex_01/expected/model_2-solution000001.solution new file mode 100644 index 0000000000..2e109b6d40 --- /dev/null +++ b/tests/exhaustive/basic/function_complex_01/expected/model_2-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be function({(7, false)} --> 17, {(7, true)} --> 13) diff --git a/tests/exhaustive/basic/function_complex_01/expected/model_2-solution000002.solution b/tests/exhaustive/basic/function_complex_01/expected/model_2-solution000002.solution new file mode 100644 index 0000000000..626dde8770 --- /dev/null +++ b/tests/exhaustive/basic/function_complex_01/expected/model_2-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be function({(7, false)} --> 13, {(7, true)} --> 17) diff --git a/tests/exhaustive/basic/function_complex_01/expected/model_2-solution000003.solution b/tests/exhaustive/basic/function_complex_01/expected/model_2-solution000003.solution new file mode 100644 index 0000000000..ee811eb7ab --- /dev/null +++ b/tests/exhaustive/basic/function_complex_01/expected/model_2-solution000003.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be function({(7, false)} --> 17, {(7, false), (7, true)} --> 13) diff --git a/tests/exhaustive/basic/function_complex_01/expected/model_2-solution000004.solution b/tests/exhaustive/basic/function_complex_01/expected/model_2-solution000004.solution new file mode 100644 index 0000000000..5ebd8e1209 --- /dev/null +++ b/tests/exhaustive/basic/function_complex_01/expected/model_2-solution000004.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be function({(7, false)} --> 13, {(7, false), (7, true)} --> 17) diff --git a/tests/exhaustive/basic/function_complex_01/expected/model_2-solution000005.solution b/tests/exhaustive/basic/function_complex_01/expected/model_2-solution000005.solution new file mode 100644 index 0000000000..65f731a60d --- /dev/null +++ b/tests/exhaustive/basic/function_complex_01/expected/model_2-solution000005.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be function({(7, false), (7, true)} --> 13, {(7, true)} --> 17) diff --git a/tests/exhaustive/basic/function_complex_01/expected/model_2-solution000006.solution b/tests/exhaustive/basic/function_complex_01/expected/model_2-solution000006.solution new file mode 100644 index 0000000000..30b06b719d --- /dev/null +++ b/tests/exhaustive/basic/function_complex_01/expected/model_2-solution000006.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be function({(7, false), (7, true)} --> 17, {(7, true)} --> 13) diff --git a/tests/exhaustive/basic/function_range/expected/model.eprime.orig b/tests/exhaustive/basic/function_range/expected/model.eprime.orig deleted file mode 100644 index b47b2da335..0000000000 --- a/tests/exhaustive/basic/function_range/expected/model.eprime.orig +++ /dev/null @@ -1,12 +0,0 @@ -language ESSENCE' 1.0 - -find x_Function1DPartial_Flags: matrix indexed by [int(1..3)] of bool -find x_Function1DPartial_Values: matrix indexed by [int(1..3)] of int(1..3) -branching on [x_Function1DPartial_Flags, x_Function1DPartial_Values] -such that - or([x_Function1DPartial_Flags[q7] /\ x_Function1DPartial_Values[q7] = 1 | q7 : int(1..3)]), - or([x_Function1DPartial_Flags[q10] /\ x_Function1DPartial_Values[q10] = 2 | q10 : int(1..3)]), - and([x_Function1DPartial_Flags[q13] -> 1 = x_Function1DPartial_Values[q13] \/ 2 = x_Function1DPartial_Values[q13] - | q13 : int(1..3)]), - and([x_Function1DPartial_Flags[q1] = false -> x_Function1DPartial_Values[q1] = 1 | q1 : int(1..3)]) - diff --git a/tests/exhaustive/basic/function_total_int_set_01/expected/model_1.eprime b/tests/exhaustive/basic/function_total_int_set_01/expected/model_1.eprime index d338177dd2..4de8f61bbe 100644 --- a/tests/exhaustive/basic/function_total_int_set_01/expected/model_1.eprime +++ b/tests/exhaustive/basic/function_total_int_set_01/expected/model_1.eprime @@ -3,15 +3,9 @@ language ESSENCE' 1.0 find f_Function1DR3_Explicit: matrix indexed by [int(1..3), int(1..2)] of int(1..3) branching on [f_Function1DR3_Explicit] such that -<<<<<<< HEAD - and([[q1; int(1)] - or([f_Function1DR2_Occurrence[q1, q5] != f_Function1DR2_Occurrence[q2, q5] | q5 : int(1..3)]) \/ - or([f_Function1DR2_Occurrence[q1, q5] != f_Function1DR2_Occurrence[q2, q5] | q5 : int(1..3)]) -======= and([q1 < q2 -> or([f_Function1DR3_Explicit[q1, q6] != f_Function1DR3_Explicit[q2, q6] | q6 : int(1..2)]) \/ or([f_Function1DR3_Explicit[q1, q6] != f_Function1DR3_Explicit[q2, q6] | q6 : int(1..2)]) ->>>>>>> main | q1 : int(1..3), q2 : int(1..3)]), and([f_Function1DR3_Explicit[q3, 1] < f_Function1DR3_Explicit[q3, 2] | q3 : int(1..3)]) diff --git a/tests/exhaustive/basic/function_total_int_set_01/expected/model_2.eprime b/tests/exhaustive/basic/function_total_int_set_01/expected/model_2.eprime index 7c34c38b98..ee147a457c 100644 --- a/tests/exhaustive/basic/function_total_int_set_01/expected/model_2.eprime +++ b/tests/exhaustive/basic/function_total_int_set_01/expected/model_2.eprime @@ -3,17 +3,9 @@ language ESSENCE' 1.0 find f_Function1DR2_Occurrence: matrix indexed by [int(1..3), int(1..3)] of bool branching on [f_Function1DR2_Occurrence] such that -<<<<<<< HEAD - and([[q1; int(1)] - or([f_Function1DR3_Explicit[q1, q6] != f_Function1DR3_Explicit[q2, q6] | q6 : int(1..2)]) \/ - or([f_Function1DR3_Explicit[q1, q6] != f_Function1DR3_Explicit[q2, q6] | q6 : int(1..2)]) - | q1 : int(1..3), q2 : int(1..3)]), - and([[f_Function1DR3_Explicit[q3, 1]; int(1)] or([f_Function1DR2_Occurrence[q1, q5] != f_Function1DR2_Occurrence[q2, q5] | q5 : int(1..3)]) \/ or([f_Function1DR2_Occurrence[q1, q5] != f_Function1DR2_Occurrence[q2, q5] | q5 : int(1..3)]) | q1 : int(1..3), q2 : int(1..3)]), and([2 = sum([toInt(f_Function1DR2_Occurrence[q3, q4]) | q4 : int(1..3)]) | q3 : int(1..3)]) ->>>>>>> main diff --git a/tests/exhaustive/basic/matrix_of_set_02/expected/model_1_1-solution000001.solution b/tests/exhaustive/basic/matrix_of_set_02/expected/model_1_1-solution000001.solution new file mode 100644 index 0000000000..af7c1da5d8 --- /dev/null +++ b/tests/exhaustive/basic/matrix_of_set_02/expected/model_1_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be [{}, {}; int(1..2)] diff --git a/tests/exhaustive/basic/matrix_of_set_02/expected/model_1_1-solution000002.solution b/tests/exhaustive/basic/matrix_of_set_02/expected/model_1_1-solution000002.solution new file mode 100644 index 0000000000..0b1f00f1a5 --- /dev/null +++ b/tests/exhaustive/basic/matrix_of_set_02/expected/model_1_1-solution000002.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be [{}, {2}; int(1..2)] +$ Visualisation for x +$ +$ 2 + diff --git a/tests/exhaustive/basic/matrix_of_set_02/expected/model_1_1-solution000003.solution b/tests/exhaustive/basic/matrix_of_set_02/expected/model_1_1-solution000003.solution new file mode 100644 index 0000000000..cbfa586d38 --- /dev/null +++ b/tests/exhaustive/basic/matrix_of_set_02/expected/model_1_1-solution000003.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be [{2}, {}; int(1..2)] +$ Visualisation for x +$ 2 +$ + diff --git a/tests/exhaustive/basic/matrix_of_set_02/expected/model_1_1-solution000004.solution b/tests/exhaustive/basic/matrix_of_set_02/expected/model_1_1-solution000004.solution new file mode 100644 index 0000000000..a392d5bbea --- /dev/null +++ b/tests/exhaustive/basic/matrix_of_set_02/expected/model_1_1-solution000004.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be [{2}, {2}; int(1..2)] +$ Visualisation for x +$ 2 +$ 2 + diff --git a/tests/exhaustive/basic/matrix_of_set_02/expected/model_1_1.eprime b/tests/exhaustive/basic/matrix_of_set_02/expected/model_1_1.eprime new file mode 100644 index 0000000000..7986231579 --- /dev/null +++ b/tests/exhaustive/basic/matrix_of_set_02/expected/model_1_1.eprime @@ -0,0 +1,6 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1..2), int(1..3)] of bool +branching on [x_Occurrence] +such that and([x_Occurrence[j, i] -> i % 2 = 0 | j : int(1..2), i : int(1..3)]) + diff --git a/tests/exhaustive/basic/matrix_of_set_02/expected/model_1_2-solution000001.solution b/tests/exhaustive/basic/matrix_of_set_02/expected/model_1_2-solution000001.solution new file mode 100644 index 0000000000..a392d5bbea --- /dev/null +++ b/tests/exhaustive/basic/matrix_of_set_02/expected/model_1_2-solution000001.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be [{2}, {2}; int(1..2)] +$ Visualisation for x +$ 2 +$ 2 + diff --git a/tests/exhaustive/basic/matrix_of_set_02/expected/model_1_2-solution000002.solution b/tests/exhaustive/basic/matrix_of_set_02/expected/model_1_2-solution000002.solution new file mode 100644 index 0000000000..cbfa586d38 --- /dev/null +++ b/tests/exhaustive/basic/matrix_of_set_02/expected/model_1_2-solution000002.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be [{2}, {}; int(1..2)] +$ Visualisation for x +$ 2 +$ + diff --git a/tests/exhaustive/basic/matrix_of_set_02/expected/model_1_2-solution000003.solution b/tests/exhaustive/basic/matrix_of_set_02/expected/model_1_2-solution000003.solution new file mode 100644 index 0000000000..0b1f00f1a5 --- /dev/null +++ b/tests/exhaustive/basic/matrix_of_set_02/expected/model_1_2-solution000003.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be [{}, {2}; int(1..2)] +$ Visualisation for x +$ +$ 2 + diff --git a/tests/exhaustive/basic/matrix_of_set_02/expected/model_1_2-solution000004.solution b/tests/exhaustive/basic/matrix_of_set_02/expected/model_1_2-solution000004.solution new file mode 100644 index 0000000000..af7c1da5d8 --- /dev/null +++ b/tests/exhaustive/basic/matrix_of_set_02/expected/model_1_2-solution000004.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be [{}, {}; int(1..2)] diff --git a/tests/exhaustive/basic/matrix_of_set_02/expected/model_1_2.eprime b/tests/exhaustive/basic/matrix_of_set_02/expected/model_1_2.eprime new file mode 100644 index 0000000000..c5f1aed665 --- /dev/null +++ b/tests/exhaustive/basic/matrix_of_set_02/expected/model_1_2.eprime @@ -0,0 +1,22 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1..2), int(1..3)] of bool +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..2), int(1..3)] of int(1..4) +branching on [x_ExplicitVarSizeWithDummy, x_Occurrence] +such that + and([x_Occurrence[j, i] -> i % 2 = 0 | j : int(1..2), i : int(1..3)]), + and([and([x_ExplicitVarSizeWithDummy[q3, q4] < x_ExplicitVarSizeWithDummy[q3, q4 + 1] \/ + x_ExplicitVarSizeWithDummy[q3, q4] = 4 + | q4 : int(1..2)]) + | q3 : int(1..2)]), + and([and([x_ExplicitVarSizeWithDummy[q3, q5] = 4 -> x_ExplicitVarSizeWithDummy[q3, q5 + 1] = 4 | q5 : int(1..2)]) + | q3 : int(1..2)]), + and([and([x_ExplicitVarSizeWithDummy[q8, q11] != 4 -> x_Occurrence[q8, x_ExplicitVarSizeWithDummy[q8, q11]] + | q11 : int(1..3)]) + /\ + and([x_Occurrence[q8, q12] -> + or([x_ExplicitVarSizeWithDummy[q8, q14] != 4 /\ x_ExplicitVarSizeWithDummy[q8, q14] = q12 + | q14 : int(1..3)]) + | q12 : int(1..3)]) + | q8 : int(1..2)]) + diff --git a/tests/exhaustive/basic/matrix_of_set_02/expected/model_1_3-solution000001.solution b/tests/exhaustive/basic/matrix_of_set_02/expected/model_1_3-solution000001.solution new file mode 100644 index 0000000000..af7c1da5d8 --- /dev/null +++ b/tests/exhaustive/basic/matrix_of_set_02/expected/model_1_3-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be [{}, {}; int(1..2)] diff --git a/tests/exhaustive/basic/matrix_of_set_02/expected/model_1_3-solution000002.solution b/tests/exhaustive/basic/matrix_of_set_02/expected/model_1_3-solution000002.solution new file mode 100644 index 0000000000..0b1f00f1a5 --- /dev/null +++ b/tests/exhaustive/basic/matrix_of_set_02/expected/model_1_3-solution000002.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be [{}, {2}; int(1..2)] +$ Visualisation for x +$ +$ 2 + diff --git a/tests/exhaustive/basic/matrix_of_set_02/expected/model_1_3-solution000003.solution b/tests/exhaustive/basic/matrix_of_set_02/expected/model_1_3-solution000003.solution new file mode 100644 index 0000000000..cbfa586d38 --- /dev/null +++ b/tests/exhaustive/basic/matrix_of_set_02/expected/model_1_3-solution000003.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be [{2}, {}; int(1..2)] +$ Visualisation for x +$ 2 +$ + diff --git a/tests/exhaustive/basic/matrix_of_set_02/expected/model_1_3-solution000004.solution b/tests/exhaustive/basic/matrix_of_set_02/expected/model_1_3-solution000004.solution new file mode 100644 index 0000000000..a392d5bbea --- /dev/null +++ b/tests/exhaustive/basic/matrix_of_set_02/expected/model_1_3-solution000004.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be [{2}, {2}; int(1..2)] +$ Visualisation for x +$ 2 +$ 2 + diff --git a/tests/exhaustive/basic/matrix_of_set_02/expected/model_1_3.eprime b/tests/exhaustive/basic/matrix_of_set_02/expected/model_1_3.eprime new file mode 100644 index 0000000000..d5a7d54f0f --- /dev/null +++ b/tests/exhaustive/basic/matrix_of_set_02/expected/model_1_3.eprime @@ -0,0 +1,25 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1..2), int(1..3)] of bool +find x_ExplicitVarSizeWithMarker_Marker: matrix indexed by [int(1..2)] of int(0..3) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..2), int(1..3)] of int(1..3) +branching on [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_Occurrence] +such that + and([x_Occurrence[j, i] -> i % 2 = 0 | j : int(1..2), i : int(1..3)]), + and([and([q4 + 1 <= x_ExplicitVarSizeWithMarker_Marker[q3] -> + x_ExplicitVarSizeWithMarker_Values[q3, q4] < x_ExplicitVarSizeWithMarker_Values[q3, q4 + 1] + | q4 : int(1..2)]) + | q3 : int(1..2)]), + and([and([q5 > x_ExplicitVarSizeWithMarker_Marker[q3] -> x_ExplicitVarSizeWithMarker_Values[q3, q5] = 1 + | q5 : int(1..3)]) + | q3 : int(1..2)]), + and([and([q10 <= x_ExplicitVarSizeWithMarker_Marker[q7] -> + x_Occurrence[q7, x_ExplicitVarSizeWithMarker_Values[q7, q10]] + | q10 : int(1..3)]) + /\ + and([x_Occurrence[q7, q11] -> + or([q13 <= x_ExplicitVarSizeWithMarker_Marker[q7] /\ x_ExplicitVarSizeWithMarker_Values[q7, q13] = q11 + | q13 : int(1..3)]) + | q11 : int(1..3)]) + | q7 : int(1..2)]) + diff --git a/tests/exhaustive/basic/matrix_of_set_02/expected/model_1_4-solution000001.solution b/tests/exhaustive/basic/matrix_of_set_02/expected/model_1_4-solution000001.solution new file mode 100644 index 0000000000..af7c1da5d8 --- /dev/null +++ b/tests/exhaustive/basic/matrix_of_set_02/expected/model_1_4-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be [{}, {}; int(1..2)] diff --git a/tests/exhaustive/basic/matrix_of_set_02/expected/model_1_4-solution000002.solution b/tests/exhaustive/basic/matrix_of_set_02/expected/model_1_4-solution000002.solution new file mode 100644 index 0000000000..0b1f00f1a5 --- /dev/null +++ b/tests/exhaustive/basic/matrix_of_set_02/expected/model_1_4-solution000002.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be [{}, {2}; int(1..2)] +$ Visualisation for x +$ +$ 2 + diff --git a/tests/exhaustive/basic/matrix_of_set_02/expected/model_1_4-solution000003.solution b/tests/exhaustive/basic/matrix_of_set_02/expected/model_1_4-solution000003.solution new file mode 100644 index 0000000000..cbfa586d38 --- /dev/null +++ b/tests/exhaustive/basic/matrix_of_set_02/expected/model_1_4-solution000003.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be [{2}, {}; int(1..2)] +$ Visualisation for x +$ 2 +$ + diff --git a/tests/exhaustive/basic/matrix_of_set_02/expected/model_1_4-solution000004.solution b/tests/exhaustive/basic/matrix_of_set_02/expected/model_1_4-solution000004.solution new file mode 100644 index 0000000000..a392d5bbea --- /dev/null +++ b/tests/exhaustive/basic/matrix_of_set_02/expected/model_1_4-solution000004.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be [{2}, {2}; int(1..2)] +$ Visualisation for x +$ 2 +$ 2 + diff --git a/tests/exhaustive/basic/matrix_of_set_02/expected/model_1_4.eprime b/tests/exhaustive/basic/matrix_of_set_02/expected/model_1_4.eprime new file mode 100644 index 0000000000..b02ce75e70 --- /dev/null +++ b/tests/exhaustive/basic/matrix_of_set_02/expected/model_1_4.eprime @@ -0,0 +1,27 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1..2), int(1..3)] of bool +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..2), int(1..3)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..2), int(1..3)] of int(1..3) +branching on [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_Occurrence] +such that + and([x_Occurrence[j, i] -> i % 2 = 0 | j : int(1..2), i : int(1..3)]), + and([and([x_ExplicitVarSizeWithFlags_Flags[q3, q4 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q3, q4] < x_ExplicitVarSizeWithFlags_Values[q3, q4 + 1] + | q4 : int(1..2)]) + | q3 : int(1..2)]), + and([and([x_ExplicitVarSizeWithFlags_Flags[q3, q5] = false -> x_ExplicitVarSizeWithFlags_Values[q3, q5] = 1 + | q5 : int(1..3)]) + | q3 : int(1..2)]), + and([and([x_ExplicitVarSizeWithFlags_Flags[q3, q6 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3, q6] + | q6 : int(1..2)]) + | q3 : int(1..2)]), + and([and([x_ExplicitVarSizeWithFlags_Flags[q9, q12] -> x_Occurrence[q9, x_ExplicitVarSizeWithFlags_Values[q9, q12]] + | q12 : int(1..3)]) + /\ + and([x_Occurrence[q9, q13] -> + or([x_ExplicitVarSizeWithFlags_Flags[q9, q15] /\ x_ExplicitVarSizeWithFlags_Values[q9, q15] = q13 + | q15 : int(1..3)]) + | q13 : int(1..3)]) + | q9 : int(1..2)]) + diff --git a/tests/exhaustive/basic/matrix_of_set_02/expected/model_2_1-solution000001.solution b/tests/exhaustive/basic/matrix_of_set_02/expected/model_2_1-solution000001.solution new file mode 100644 index 0000000000..af7c1da5d8 --- /dev/null +++ b/tests/exhaustive/basic/matrix_of_set_02/expected/model_2_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be [{}, {}; int(1..2)] diff --git a/tests/exhaustive/basic/matrix_of_set_02/expected/model_2_1-solution000002.solution b/tests/exhaustive/basic/matrix_of_set_02/expected/model_2_1-solution000002.solution new file mode 100644 index 0000000000..0b1f00f1a5 --- /dev/null +++ b/tests/exhaustive/basic/matrix_of_set_02/expected/model_2_1-solution000002.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be [{}, {2}; int(1..2)] +$ Visualisation for x +$ +$ 2 + diff --git a/tests/exhaustive/basic/matrix_of_set_02/expected/model_2_1-solution000003.solution b/tests/exhaustive/basic/matrix_of_set_02/expected/model_2_1-solution000003.solution new file mode 100644 index 0000000000..cbfa586d38 --- /dev/null +++ b/tests/exhaustive/basic/matrix_of_set_02/expected/model_2_1-solution000003.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be [{2}, {}; int(1..2)] +$ Visualisation for x +$ 2 +$ + diff --git a/tests/exhaustive/basic/matrix_of_set_02/expected/model_2_1-solution000004.solution b/tests/exhaustive/basic/matrix_of_set_02/expected/model_2_1-solution000004.solution new file mode 100644 index 0000000000..a392d5bbea --- /dev/null +++ b/tests/exhaustive/basic/matrix_of_set_02/expected/model_2_1-solution000004.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be [{2}, {2}; int(1..2)] +$ Visualisation for x +$ 2 +$ 2 + diff --git a/tests/exhaustive/basic/matrix_of_set_02/expected/model_2_1.eprime b/tests/exhaustive/basic/matrix_of_set_02/expected/model_2_1.eprime new file mode 100644 index 0000000000..0bd5a5d8b6 --- /dev/null +++ b/tests/exhaustive/basic/matrix_of_set_02/expected/model_2_1.eprime @@ -0,0 +1,23 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..2), int(1..3)] of int(1..4) +find x_Occurrence: matrix indexed by [int(1..2), int(1..3)] of bool +branching on [x_Occurrence, x_ExplicitVarSizeWithDummy] +such that + and([x_ExplicitVarSizeWithDummy[j, q8] != 4 -> x_ExplicitVarSizeWithDummy[j, q8] % 2 = 0 + | j : int(1..2), q8 : int(1..3)]), + and([and([x_ExplicitVarSizeWithDummy[q1, q2] < x_ExplicitVarSizeWithDummy[q1, q2 + 1] \/ + x_ExplicitVarSizeWithDummy[q1, q2] = 4 + | q2 : int(1..2)]) + | q1 : int(1..2)]), + and([and([x_ExplicitVarSizeWithDummy[q1, q3] = 4 -> x_ExplicitVarSizeWithDummy[q1, q3 + 1] = 4 | q3 : int(1..2)]) + | q1 : int(1..2)]), + and([and([x_Occurrence[q9, q11] -> + or([x_ExplicitVarSizeWithDummy[q9, q13] != 4 /\ x_ExplicitVarSizeWithDummy[q9, q13] = q11 + | q13 : int(1..3)]) + | q11 : int(1..3)]) + /\ + and([x_ExplicitVarSizeWithDummy[q9, q15] != 4 -> x_Occurrence[q9, x_ExplicitVarSizeWithDummy[q9, q15]] + | q15 : int(1..3)]) + | q9 : int(1..2)]) + diff --git a/tests/exhaustive/basic/matrix_of_set_02/expected/model_2_2-solution000001.solution b/tests/exhaustive/basic/matrix_of_set_02/expected/model_2_2-solution000001.solution new file mode 100644 index 0000000000..a392d5bbea --- /dev/null +++ b/tests/exhaustive/basic/matrix_of_set_02/expected/model_2_2-solution000001.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be [{2}, {2}; int(1..2)] +$ Visualisation for x +$ 2 +$ 2 + diff --git a/tests/exhaustive/basic/matrix_of_set_02/expected/model_2_2-solution000002.solution b/tests/exhaustive/basic/matrix_of_set_02/expected/model_2_2-solution000002.solution new file mode 100644 index 0000000000..cbfa586d38 --- /dev/null +++ b/tests/exhaustive/basic/matrix_of_set_02/expected/model_2_2-solution000002.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be [{2}, {}; int(1..2)] +$ Visualisation for x +$ 2 +$ + diff --git a/tests/exhaustive/basic/matrix_of_set_02/expected/model_2_2-solution000003.solution b/tests/exhaustive/basic/matrix_of_set_02/expected/model_2_2-solution000003.solution new file mode 100644 index 0000000000..0b1f00f1a5 --- /dev/null +++ b/tests/exhaustive/basic/matrix_of_set_02/expected/model_2_2-solution000003.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be [{}, {2}; int(1..2)] +$ Visualisation for x +$ +$ 2 + diff --git a/tests/exhaustive/basic/matrix_of_set_02/expected/model_2_2-solution000004.solution b/tests/exhaustive/basic/matrix_of_set_02/expected/model_2_2-solution000004.solution new file mode 100644 index 0000000000..af7c1da5d8 --- /dev/null +++ b/tests/exhaustive/basic/matrix_of_set_02/expected/model_2_2-solution000004.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be [{}, {}; int(1..2)] diff --git a/tests/exhaustive/basic/matrix_of_set_02/expected/model_2_2.eprime b/tests/exhaustive/basic/matrix_of_set_02/expected/model_2_2.eprime new file mode 100644 index 0000000000..fea6c8a28f --- /dev/null +++ b/tests/exhaustive/basic/matrix_of_set_02/expected/model_2_2.eprime @@ -0,0 +1,14 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..2), int(1..3)] of int(1..4) +branching on [x_ExplicitVarSizeWithDummy] +such that + and([x_ExplicitVarSizeWithDummy[j, q6] != 4 -> x_ExplicitVarSizeWithDummy[j, q6] % 2 = 0 + | j : int(1..2), q6 : int(1..3)]), + and([and([x_ExplicitVarSizeWithDummy[q1, q2] < x_ExplicitVarSizeWithDummy[q1, q2 + 1] \/ + x_ExplicitVarSizeWithDummy[q1, q2] = 4 + | q2 : int(1..2)]) + | q1 : int(1..2)]), + and([and([x_ExplicitVarSizeWithDummy[q1, q3] = 4 -> x_ExplicitVarSizeWithDummy[q1, q3 + 1] = 4 | q3 : int(1..2)]) + | q1 : int(1..2)]) + diff --git a/tests/exhaustive/basic/matrix_of_set_02/expected/model_2_3-solution000001.solution b/tests/exhaustive/basic/matrix_of_set_02/expected/model_2_3-solution000001.solution new file mode 100644 index 0000000000..af7c1da5d8 --- /dev/null +++ b/tests/exhaustive/basic/matrix_of_set_02/expected/model_2_3-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be [{}, {}; int(1..2)] diff --git a/tests/exhaustive/basic/matrix_of_set_02/expected/model_2_3-solution000002.solution b/tests/exhaustive/basic/matrix_of_set_02/expected/model_2_3-solution000002.solution new file mode 100644 index 0000000000..0b1f00f1a5 --- /dev/null +++ b/tests/exhaustive/basic/matrix_of_set_02/expected/model_2_3-solution000002.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be [{}, {2}; int(1..2)] +$ Visualisation for x +$ +$ 2 + diff --git a/tests/exhaustive/basic/matrix_of_set_02/expected/model_2_3-solution000003.solution b/tests/exhaustive/basic/matrix_of_set_02/expected/model_2_3-solution000003.solution new file mode 100644 index 0000000000..cbfa586d38 --- /dev/null +++ b/tests/exhaustive/basic/matrix_of_set_02/expected/model_2_3-solution000003.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be [{2}, {}; int(1..2)] +$ Visualisation for x +$ 2 +$ + diff --git a/tests/exhaustive/basic/matrix_of_set_02/expected/model_2_3-solution000004.solution b/tests/exhaustive/basic/matrix_of_set_02/expected/model_2_3-solution000004.solution new file mode 100644 index 0000000000..a392d5bbea --- /dev/null +++ b/tests/exhaustive/basic/matrix_of_set_02/expected/model_2_3-solution000004.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be [{2}, {2}; int(1..2)] +$ Visualisation for x +$ 2 +$ 2 + diff --git a/tests/exhaustive/basic/matrix_of_set_02/expected/model_2_3.eprime b/tests/exhaustive/basic/matrix_of_set_02/expected/model_2_3.eprime new file mode 100644 index 0000000000..7612f7e6db --- /dev/null +++ b/tests/exhaustive/basic/matrix_of_set_02/expected/model_2_3.eprime @@ -0,0 +1,35 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..2), int(1..3)] of int(1..4) +find x_ExplicitVarSizeWithMarker_Marker: matrix indexed by [int(1..2)] of int(0..3) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..2), int(1..3)] of int(1..3) +branching on [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_ExplicitVarSizeWithDummy] +such that + and([x_ExplicitVarSizeWithDummy[j, q20] != 4 -> x_ExplicitVarSizeWithDummy[j, q20] % 2 = 0 + | j : int(1..2), q20 : int(1..3)]), + and([and([x_ExplicitVarSizeWithDummy[q1, q2] < x_ExplicitVarSizeWithDummy[q1, q2 + 1] \/ + x_ExplicitVarSizeWithDummy[q1, q2] = 4 + | q2 : int(1..2)]) + | q1 : int(1..2)]), + and([and([x_ExplicitVarSizeWithDummy[q1, q3] = 4 -> x_ExplicitVarSizeWithDummy[q1, q3 + 1] = 4 | q3 : int(1..2)]) + | q1 : int(1..2)]), + and([and([q7 + 1 <= x_ExplicitVarSizeWithMarker_Marker[q6] -> + x_ExplicitVarSizeWithMarker_Values[q6, q7] < x_ExplicitVarSizeWithMarker_Values[q6, q7 + 1] + | q7 : int(1..2)]) + | q6 : int(1..2)]), + and([and([q8 > x_ExplicitVarSizeWithMarker_Marker[q6] -> x_ExplicitVarSizeWithMarker_Values[q6, q8] = 1 + | q8 : int(1..3)]) + | q6 : int(1..2)]), + and([and([q13 <= x_ExplicitVarSizeWithMarker_Marker[q10] -> + or([x_ExplicitVarSizeWithDummy[q10, q15] != 4 /\ + x_ExplicitVarSizeWithDummy[q10, q15] = x_ExplicitVarSizeWithMarker_Values[q10, q13] + | q15 : int(1..3)]) + | q13 : int(1..3)]) + /\ + and([x_ExplicitVarSizeWithDummy[q10, q17] != 4 -> + or([q19 <= x_ExplicitVarSizeWithMarker_Marker[q10] /\ + x_ExplicitVarSizeWithMarker_Values[q10, q19] = x_ExplicitVarSizeWithDummy[q10, q17] + | q19 : int(1..3)]) + | q17 : int(1..3)]) + | q10 : int(1..2)]) + diff --git a/tests/exhaustive/basic/matrix_of_set_02/expected/model_2_4-solution000001.solution b/tests/exhaustive/basic/matrix_of_set_02/expected/model_2_4-solution000001.solution new file mode 100644 index 0000000000..af7c1da5d8 --- /dev/null +++ b/tests/exhaustive/basic/matrix_of_set_02/expected/model_2_4-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be [{}, {}; int(1..2)] diff --git a/tests/exhaustive/basic/matrix_of_set_02/expected/model_2_4-solution000002.solution b/tests/exhaustive/basic/matrix_of_set_02/expected/model_2_4-solution000002.solution new file mode 100644 index 0000000000..0b1f00f1a5 --- /dev/null +++ b/tests/exhaustive/basic/matrix_of_set_02/expected/model_2_4-solution000002.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be [{}, {2}; int(1..2)] +$ Visualisation for x +$ +$ 2 + diff --git a/tests/exhaustive/basic/matrix_of_set_02/expected/model_2_4-solution000003.solution b/tests/exhaustive/basic/matrix_of_set_02/expected/model_2_4-solution000003.solution new file mode 100644 index 0000000000..cbfa586d38 --- /dev/null +++ b/tests/exhaustive/basic/matrix_of_set_02/expected/model_2_4-solution000003.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be [{2}, {}; int(1..2)] +$ Visualisation for x +$ 2 +$ + diff --git a/tests/exhaustive/basic/matrix_of_set_02/expected/model_2_4-solution000004.solution b/tests/exhaustive/basic/matrix_of_set_02/expected/model_2_4-solution000004.solution new file mode 100644 index 0000000000..a392d5bbea --- /dev/null +++ b/tests/exhaustive/basic/matrix_of_set_02/expected/model_2_4-solution000004.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be [{2}, {2}; int(1..2)] +$ Visualisation for x +$ 2 +$ 2 + diff --git a/tests/exhaustive/basic/matrix_of_set_02/expected/model_2_4.eprime b/tests/exhaustive/basic/matrix_of_set_02/expected/model_2_4.eprime new file mode 100644 index 0000000000..65e0448bbd --- /dev/null +++ b/tests/exhaustive/basic/matrix_of_set_02/expected/model_2_4.eprime @@ -0,0 +1,38 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..2), int(1..3)] of int(1..4) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..2), int(1..3)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..2), int(1..3)] of int(1..3) +branching on [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_ExplicitVarSizeWithDummy] +such that + and([x_ExplicitVarSizeWithDummy[j, q22] != 4 -> x_ExplicitVarSizeWithDummy[j, q22] % 2 = 0 + | j : int(1..2), q22 : int(1..3)]), + and([and([x_ExplicitVarSizeWithDummy[q1, q2] < x_ExplicitVarSizeWithDummy[q1, q2 + 1] \/ + x_ExplicitVarSizeWithDummy[q1, q2] = 4 + | q2 : int(1..2)]) + | q1 : int(1..2)]), + and([and([x_ExplicitVarSizeWithDummy[q1, q3] = 4 -> x_ExplicitVarSizeWithDummy[q1, q3 + 1] = 4 | q3 : int(1..2)]) + | q1 : int(1..2)]), + and([and([x_ExplicitVarSizeWithFlags_Flags[q6, q7 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q6, q7] < x_ExplicitVarSizeWithFlags_Values[q6, q7 + 1] + | q7 : int(1..2)]) + | q6 : int(1..2)]), + and([and([x_ExplicitVarSizeWithFlags_Flags[q6, q8] = false -> x_ExplicitVarSizeWithFlags_Values[q6, q8] = 1 + | q8 : int(1..3)]) + | q6 : int(1..2)]), + and([and([x_ExplicitVarSizeWithFlags_Flags[q6, q9 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q6, q9] + | q9 : int(1..2)]) + | q6 : int(1..2)]), + and([and([x_ExplicitVarSizeWithFlags_Flags[q12, q15] -> + or([x_ExplicitVarSizeWithDummy[q12, q17] != 4 /\ + x_ExplicitVarSizeWithDummy[q12, q17] = x_ExplicitVarSizeWithFlags_Values[q12, q15] + | q17 : int(1..3)]) + | q15 : int(1..3)]) + /\ + and([x_ExplicitVarSizeWithDummy[q12, q19] != 4 -> + or([x_ExplicitVarSizeWithFlags_Flags[q12, q21] /\ + x_ExplicitVarSizeWithFlags_Values[q12, q21] = x_ExplicitVarSizeWithDummy[q12, q19] + | q21 : int(1..3)]) + | q19 : int(1..3)]) + | q12 : int(1..2)]) + diff --git a/tests/exhaustive/basic/matrix_of_set_02/expected/model_3_1-solution000001.solution b/tests/exhaustive/basic/matrix_of_set_02/expected/model_3_1-solution000001.solution new file mode 100644 index 0000000000..af7c1da5d8 --- /dev/null +++ b/tests/exhaustive/basic/matrix_of_set_02/expected/model_3_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be [{}, {}; int(1..2)] diff --git a/tests/exhaustive/basic/matrix_of_set_02/expected/model_3_1-solution000002.solution b/tests/exhaustive/basic/matrix_of_set_02/expected/model_3_1-solution000002.solution new file mode 100644 index 0000000000..0b1f00f1a5 --- /dev/null +++ b/tests/exhaustive/basic/matrix_of_set_02/expected/model_3_1-solution000002.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be [{}, {2}; int(1..2)] +$ Visualisation for x +$ +$ 2 + diff --git a/tests/exhaustive/basic/matrix_of_set_02/expected/model_3_1-solution000003.solution b/tests/exhaustive/basic/matrix_of_set_02/expected/model_3_1-solution000003.solution new file mode 100644 index 0000000000..cbfa586d38 --- /dev/null +++ b/tests/exhaustive/basic/matrix_of_set_02/expected/model_3_1-solution000003.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be [{2}, {}; int(1..2)] +$ Visualisation for x +$ 2 +$ + diff --git a/tests/exhaustive/basic/matrix_of_set_02/expected/model_3_1-solution000004.solution b/tests/exhaustive/basic/matrix_of_set_02/expected/model_3_1-solution000004.solution new file mode 100644 index 0000000000..a392d5bbea --- /dev/null +++ b/tests/exhaustive/basic/matrix_of_set_02/expected/model_3_1-solution000004.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be [{2}, {2}; int(1..2)] +$ Visualisation for x +$ 2 +$ 2 + diff --git a/tests/exhaustive/basic/matrix_of_set_02/expected/model_3_1.eprime b/tests/exhaustive/basic/matrix_of_set_02/expected/model_3_1.eprime new file mode 100644 index 0000000000..ea86dd3c32 --- /dev/null +++ b/tests/exhaustive/basic/matrix_of_set_02/expected/model_3_1.eprime @@ -0,0 +1,26 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: matrix indexed by [int(1..2)] of int(0..3) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..2), int(1..3)] of int(1..3) +find x_Occurrence: matrix indexed by [int(1..2), int(1..3)] of bool +branching on [x_Occurrence, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values] +such that + and([q7 <= x_ExplicitVarSizeWithMarker_Marker[j] -> x_ExplicitVarSizeWithMarker_Values[j, q7] % 2 = 0 + | j : int(1..2), q7 : int(1..3)]), + and([and([q2 + 1 <= x_ExplicitVarSizeWithMarker_Marker[q1] -> + x_ExplicitVarSizeWithMarker_Values[q1, q2] < x_ExplicitVarSizeWithMarker_Values[q1, q2 + 1] + | q2 : int(1..2)]) + | q1 : int(1..2)]), + and([and([q3 > x_ExplicitVarSizeWithMarker_Marker[q1] -> x_ExplicitVarSizeWithMarker_Values[q1, q3] = 1 + | q3 : int(1..3)]) + | q1 : int(1..2)]), + and([and([x_Occurrence[q8, q10] -> + or([q12 <= x_ExplicitVarSizeWithMarker_Marker[q8] /\ x_ExplicitVarSizeWithMarker_Values[q8, q12] = q10 + | q12 : int(1..3)]) + | q10 : int(1..3)]) + /\ + and([q14 <= x_ExplicitVarSizeWithMarker_Marker[q8] -> + x_Occurrence[q8, x_ExplicitVarSizeWithMarker_Values[q8, q14]] + | q14 : int(1..3)]) + | q8 : int(1..2)]) + diff --git a/tests/exhaustive/basic/matrix_of_set_02/expected/model_3_2-solution000001.solution b/tests/exhaustive/basic/matrix_of_set_02/expected/model_3_2-solution000001.solution new file mode 100644 index 0000000000..a392d5bbea --- /dev/null +++ b/tests/exhaustive/basic/matrix_of_set_02/expected/model_3_2-solution000001.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be [{2}, {2}; int(1..2)] +$ Visualisation for x +$ 2 +$ 2 + diff --git a/tests/exhaustive/basic/matrix_of_set_02/expected/model_3_2-solution000002.solution b/tests/exhaustive/basic/matrix_of_set_02/expected/model_3_2-solution000002.solution new file mode 100644 index 0000000000..cbfa586d38 --- /dev/null +++ b/tests/exhaustive/basic/matrix_of_set_02/expected/model_3_2-solution000002.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be [{2}, {}; int(1..2)] +$ Visualisation for x +$ 2 +$ + diff --git a/tests/exhaustive/basic/matrix_of_set_02/expected/model_3_2-solution000003.solution b/tests/exhaustive/basic/matrix_of_set_02/expected/model_3_2-solution000003.solution new file mode 100644 index 0000000000..0b1f00f1a5 --- /dev/null +++ b/tests/exhaustive/basic/matrix_of_set_02/expected/model_3_2-solution000003.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be [{}, {2}; int(1..2)] +$ Visualisation for x +$ +$ 2 + diff --git a/tests/exhaustive/basic/matrix_of_set_02/expected/model_3_2-solution000004.solution b/tests/exhaustive/basic/matrix_of_set_02/expected/model_3_2-solution000004.solution new file mode 100644 index 0000000000..af7c1da5d8 --- /dev/null +++ b/tests/exhaustive/basic/matrix_of_set_02/expected/model_3_2-solution000004.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be [{}, {}; int(1..2)] diff --git a/tests/exhaustive/basic/matrix_of_set_02/expected/model_3_2.eprime b/tests/exhaustive/basic/matrix_of_set_02/expected/model_3_2.eprime new file mode 100644 index 0000000000..d2dad6cd2c --- /dev/null +++ b/tests/exhaustive/basic/matrix_of_set_02/expected/model_3_2.eprime @@ -0,0 +1,35 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: matrix indexed by [int(1..2)] of int(0..3) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..2), int(1..3)] of int(1..3) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..2), int(1..3)] of int(1..4) +branching on [x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values] +such that + and([q20 <= x_ExplicitVarSizeWithMarker_Marker[j] -> x_ExplicitVarSizeWithMarker_Values[j, q20] % 2 = 0 + | j : int(1..2), q20 : int(1..3)]), + and([and([q2 + 1 <= x_ExplicitVarSizeWithMarker_Marker[q1] -> + x_ExplicitVarSizeWithMarker_Values[q1, q2] < x_ExplicitVarSizeWithMarker_Values[q1, q2 + 1] + | q2 : int(1..2)]) + | q1 : int(1..2)]), + and([and([q3 > x_ExplicitVarSizeWithMarker_Marker[q1] -> x_ExplicitVarSizeWithMarker_Values[q1, q3] = 1 + | q3 : int(1..3)]) + | q1 : int(1..2)]), + and([and([x_ExplicitVarSizeWithDummy[q5, q6] < x_ExplicitVarSizeWithDummy[q5, q6 + 1] \/ + x_ExplicitVarSizeWithDummy[q5, q6] = 4 + | q6 : int(1..2)]) + | q5 : int(1..2)]), + and([and([x_ExplicitVarSizeWithDummy[q5, q7] = 4 -> x_ExplicitVarSizeWithDummy[q5, q7 + 1] = 4 | q7 : int(1..2)]) + | q5 : int(1..2)]), + and([and([x_ExplicitVarSizeWithDummy[q10, q13] != 4 -> + or([q15 <= x_ExplicitVarSizeWithMarker_Marker[q10] /\ + x_ExplicitVarSizeWithMarker_Values[q10, q15] = x_ExplicitVarSizeWithDummy[q10, q13] + | q15 : int(1..3)]) + | q13 : int(1..3)]) + /\ + and([q17 <= x_ExplicitVarSizeWithMarker_Marker[q10] -> + or([x_ExplicitVarSizeWithDummy[q10, q19] != 4 /\ + x_ExplicitVarSizeWithDummy[q10, q19] = x_ExplicitVarSizeWithMarker_Values[q10, q17] + | q19 : int(1..3)]) + | q17 : int(1..3)]) + | q10 : int(1..2)]) + diff --git a/tests/exhaustive/basic/matrix_of_set_02/expected/model_3_3-solution000001.solution b/tests/exhaustive/basic/matrix_of_set_02/expected/model_3_3-solution000001.solution new file mode 100644 index 0000000000..af7c1da5d8 --- /dev/null +++ b/tests/exhaustive/basic/matrix_of_set_02/expected/model_3_3-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be [{}, {}; int(1..2)] diff --git a/tests/exhaustive/basic/matrix_of_set_02/expected/model_3_3-solution000002.solution b/tests/exhaustive/basic/matrix_of_set_02/expected/model_3_3-solution000002.solution new file mode 100644 index 0000000000..0b1f00f1a5 --- /dev/null +++ b/tests/exhaustive/basic/matrix_of_set_02/expected/model_3_3-solution000002.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be [{}, {2}; int(1..2)] +$ Visualisation for x +$ +$ 2 + diff --git a/tests/exhaustive/basic/matrix_of_set_02/expected/model_3_3-solution000003.solution b/tests/exhaustive/basic/matrix_of_set_02/expected/model_3_3-solution000003.solution new file mode 100644 index 0000000000..cbfa586d38 --- /dev/null +++ b/tests/exhaustive/basic/matrix_of_set_02/expected/model_3_3-solution000003.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be [{2}, {}; int(1..2)] +$ Visualisation for x +$ 2 +$ + diff --git a/tests/exhaustive/basic/matrix_of_set_02/expected/model_3_3-solution000004.solution b/tests/exhaustive/basic/matrix_of_set_02/expected/model_3_3-solution000004.solution new file mode 100644 index 0000000000..a392d5bbea --- /dev/null +++ b/tests/exhaustive/basic/matrix_of_set_02/expected/model_3_3-solution000004.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be [{2}, {2}; int(1..2)] +$ Visualisation for x +$ 2 +$ 2 + diff --git a/tests/exhaustive/basic/matrix_of_set_02/expected/model_3_3.eprime b/tests/exhaustive/basic/matrix_of_set_02/expected/model_3_3.eprime new file mode 100644 index 0000000000..8fc98162b2 --- /dev/null +++ b/tests/exhaustive/basic/matrix_of_set_02/expected/model_3_3.eprime @@ -0,0 +1,16 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: matrix indexed by [int(1..2)] of int(0..3) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..2), int(1..3)] of int(1..3) +branching on [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values] +such that + and([q5 <= x_ExplicitVarSizeWithMarker_Marker[j] -> x_ExplicitVarSizeWithMarker_Values[j, q5] % 2 = 0 + | j : int(1..2), q5 : int(1..3)]), + and([and([q2 + 1 <= x_ExplicitVarSizeWithMarker_Marker[q1] -> + x_ExplicitVarSizeWithMarker_Values[q1, q2] < x_ExplicitVarSizeWithMarker_Values[q1, q2 + 1] + | q2 : int(1..2)]) + | q1 : int(1..2)]), + and([and([q3 > x_ExplicitVarSizeWithMarker_Marker[q1] -> x_ExplicitVarSizeWithMarker_Values[q1, q3] = 1 + | q3 : int(1..3)]) + | q1 : int(1..2)]) + diff --git a/tests/exhaustive/basic/matrix_of_set_02/expected/model_3_4-solution000001.solution b/tests/exhaustive/basic/matrix_of_set_02/expected/model_3_4-solution000001.solution new file mode 100644 index 0000000000..af7c1da5d8 --- /dev/null +++ b/tests/exhaustive/basic/matrix_of_set_02/expected/model_3_4-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be [{}, {}; int(1..2)] diff --git a/tests/exhaustive/basic/matrix_of_set_02/expected/model_3_4-solution000002.solution b/tests/exhaustive/basic/matrix_of_set_02/expected/model_3_4-solution000002.solution new file mode 100644 index 0000000000..0b1f00f1a5 --- /dev/null +++ b/tests/exhaustive/basic/matrix_of_set_02/expected/model_3_4-solution000002.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be [{}, {2}; int(1..2)] +$ Visualisation for x +$ +$ 2 + diff --git a/tests/exhaustive/basic/matrix_of_set_02/expected/model_3_4-solution000003.solution b/tests/exhaustive/basic/matrix_of_set_02/expected/model_3_4-solution000003.solution new file mode 100644 index 0000000000..cbfa586d38 --- /dev/null +++ b/tests/exhaustive/basic/matrix_of_set_02/expected/model_3_4-solution000003.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be [{2}, {}; int(1..2)] +$ Visualisation for x +$ 2 +$ + diff --git a/tests/exhaustive/basic/matrix_of_set_02/expected/model_3_4-solution000004.solution b/tests/exhaustive/basic/matrix_of_set_02/expected/model_3_4-solution000004.solution new file mode 100644 index 0000000000..a392d5bbea --- /dev/null +++ b/tests/exhaustive/basic/matrix_of_set_02/expected/model_3_4-solution000004.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be [{2}, {2}; int(1..2)] +$ Visualisation for x +$ 2 +$ 2 + diff --git a/tests/exhaustive/basic/matrix_of_set_02/expected/model_3_4.eprime b/tests/exhaustive/basic/matrix_of_set_02/expected/model_3_4.eprime new file mode 100644 index 0000000000..ad169aef90 --- /dev/null +++ b/tests/exhaustive/basic/matrix_of_set_02/expected/model_3_4.eprime @@ -0,0 +1,42 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: matrix indexed by [int(1..2)] of int(0..3) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..2), int(1..3)] of int(1..3) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..2), int(1..3)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..2), int(1..3)] of int(1..3) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_ExplicitVarSizeWithMarker_Marker, + x_ExplicitVarSizeWithMarker_Values] +such that + and([q21 <= x_ExplicitVarSizeWithMarker_Marker[j] -> x_ExplicitVarSizeWithMarker_Values[j, q21] % 2 = 0 + | j : int(1..2), q21 : int(1..3)]), + and([and([q2 + 1 <= x_ExplicitVarSizeWithMarker_Marker[q1] -> + x_ExplicitVarSizeWithMarker_Values[q1, q2] < x_ExplicitVarSizeWithMarker_Values[q1, q2 + 1] + | q2 : int(1..2)]) + | q1 : int(1..2)]), + and([and([q3 > x_ExplicitVarSizeWithMarker_Marker[q1] -> x_ExplicitVarSizeWithMarker_Values[q1, q3] = 1 + | q3 : int(1..3)]) + | q1 : int(1..2)]), + and([and([x_ExplicitVarSizeWithFlags_Flags[q5, q6 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q5, q6] < x_ExplicitVarSizeWithFlags_Values[q5, q6 + 1] + | q6 : int(1..2)]) + | q5 : int(1..2)]), + and([and([x_ExplicitVarSizeWithFlags_Flags[q5, q7] = false -> x_ExplicitVarSizeWithFlags_Values[q5, q7] = 1 + | q7 : int(1..3)]) + | q5 : int(1..2)]), + and([and([x_ExplicitVarSizeWithFlags_Flags[q5, q8 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q5, q8] + | q8 : int(1..2)]) + | q5 : int(1..2)]), + and([and([x_ExplicitVarSizeWithFlags_Flags[q11, q14] -> + or([q16 <= x_ExplicitVarSizeWithMarker_Marker[q11] /\ + x_ExplicitVarSizeWithMarker_Values[q11, q16] = x_ExplicitVarSizeWithFlags_Values[q11, q14] + | q16 : int(1..3)]) + | q14 : int(1..3)]) + /\ + and([q18 <= x_ExplicitVarSizeWithMarker_Marker[q11] -> + or([x_ExplicitVarSizeWithFlags_Flags[q11, q20] /\ + x_ExplicitVarSizeWithFlags_Values[q11, q20] = x_ExplicitVarSizeWithMarker_Values[q11, q18] + | q20 : int(1..3)]) + | q18 : int(1..3)]) + | q11 : int(1..2)]) + diff --git a/tests/exhaustive/basic/matrix_of_set_02/expected/model_4_1-solution000001.solution b/tests/exhaustive/basic/matrix_of_set_02/expected/model_4_1-solution000001.solution new file mode 100644 index 0000000000..af7c1da5d8 --- /dev/null +++ b/tests/exhaustive/basic/matrix_of_set_02/expected/model_4_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be [{}, {}; int(1..2)] diff --git a/tests/exhaustive/basic/matrix_of_set_02/expected/model_4_1-solution000002.solution b/tests/exhaustive/basic/matrix_of_set_02/expected/model_4_1-solution000002.solution new file mode 100644 index 0000000000..0b1f00f1a5 --- /dev/null +++ b/tests/exhaustive/basic/matrix_of_set_02/expected/model_4_1-solution000002.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be [{}, {2}; int(1..2)] +$ Visualisation for x +$ +$ 2 + diff --git a/tests/exhaustive/basic/matrix_of_set_02/expected/model_4_1-solution000003.solution b/tests/exhaustive/basic/matrix_of_set_02/expected/model_4_1-solution000003.solution new file mode 100644 index 0000000000..cbfa586d38 --- /dev/null +++ b/tests/exhaustive/basic/matrix_of_set_02/expected/model_4_1-solution000003.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be [{2}, {}; int(1..2)] +$ Visualisation for x +$ 2 +$ + diff --git a/tests/exhaustive/basic/matrix_of_set_02/expected/model_4_1-solution000004.solution b/tests/exhaustive/basic/matrix_of_set_02/expected/model_4_1-solution000004.solution new file mode 100644 index 0000000000..a392d5bbea --- /dev/null +++ b/tests/exhaustive/basic/matrix_of_set_02/expected/model_4_1-solution000004.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be [{2}, {2}; int(1..2)] +$ Visualisation for x +$ 2 +$ 2 + diff --git a/tests/exhaustive/basic/matrix_of_set_02/expected/model_4_1.eprime b/tests/exhaustive/basic/matrix_of_set_02/expected/model_4_1.eprime new file mode 100644 index 0000000000..7b010d3180 --- /dev/null +++ b/tests/exhaustive/basic/matrix_of_set_02/expected/model_4_1.eprime @@ -0,0 +1,28 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..2), int(1..3)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..2), int(1..3)] of int(1..3) +find x_Occurrence: matrix indexed by [int(1..2), int(1..3)] of bool +branching on [x_Occurrence, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values] +such that + and([x_ExplicitVarSizeWithFlags_Flags[j, q16] -> x_ExplicitVarSizeWithFlags_Values[j, q16] % 2 = 0 + | j : int(1..2), q16 : int(1..3)]), + and([and([x_ExplicitVarSizeWithFlags_Flags[q1, q2 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1, q2] < x_ExplicitVarSizeWithFlags_Values[q1, q2 + 1] + | q2 : int(1..2)]) + | q1 : int(1..2)]), + and([and([x_ExplicitVarSizeWithFlags_Flags[q1, q3] = false -> x_ExplicitVarSizeWithFlags_Values[q1, q3] = 1 + | q3 : int(1..3)]) + | q1 : int(1..2)]), + and([and([x_ExplicitVarSizeWithFlags_Flags[q1, q4 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q1, q4] + | q4 : int(1..2)]) + | q1 : int(1..2)]), + and([and([x_Occurrence[q9, q11] -> + or([x_ExplicitVarSizeWithFlags_Flags[q9, q13] /\ x_ExplicitVarSizeWithFlags_Values[q9, q13] = q11 + | q13 : int(1..3)]) + | q11 : int(1..3)]) + /\ + and([x_ExplicitVarSizeWithFlags_Flags[q9, q15] -> x_Occurrence[q9, x_ExplicitVarSizeWithFlags_Values[q9, q15]] + | q15 : int(1..3)]) + | q9 : int(1..2)]) + diff --git a/tests/exhaustive/basic/matrix_of_set_02/expected/model_4_2-solution000001.solution b/tests/exhaustive/basic/matrix_of_set_02/expected/model_4_2-solution000001.solution new file mode 100644 index 0000000000..a392d5bbea --- /dev/null +++ b/tests/exhaustive/basic/matrix_of_set_02/expected/model_4_2-solution000001.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be [{2}, {2}; int(1..2)] +$ Visualisation for x +$ 2 +$ 2 + diff --git a/tests/exhaustive/basic/matrix_of_set_02/expected/model_4_2-solution000002.solution b/tests/exhaustive/basic/matrix_of_set_02/expected/model_4_2-solution000002.solution new file mode 100644 index 0000000000..cbfa586d38 --- /dev/null +++ b/tests/exhaustive/basic/matrix_of_set_02/expected/model_4_2-solution000002.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be [{2}, {}; int(1..2)] +$ Visualisation for x +$ 2 +$ + diff --git a/tests/exhaustive/basic/matrix_of_set_02/expected/model_4_2-solution000003.solution b/tests/exhaustive/basic/matrix_of_set_02/expected/model_4_2-solution000003.solution new file mode 100644 index 0000000000..0b1f00f1a5 --- /dev/null +++ b/tests/exhaustive/basic/matrix_of_set_02/expected/model_4_2-solution000003.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be [{}, {2}; int(1..2)] +$ Visualisation for x +$ +$ 2 + diff --git a/tests/exhaustive/basic/matrix_of_set_02/expected/model_4_2-solution000004.solution b/tests/exhaustive/basic/matrix_of_set_02/expected/model_4_2-solution000004.solution new file mode 100644 index 0000000000..af7c1da5d8 --- /dev/null +++ b/tests/exhaustive/basic/matrix_of_set_02/expected/model_4_2-solution000004.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be [{}, {}; int(1..2)] diff --git a/tests/exhaustive/basic/matrix_of_set_02/expected/model_4_2.eprime b/tests/exhaustive/basic/matrix_of_set_02/expected/model_4_2.eprime new file mode 100644 index 0000000000..39f8e990fe --- /dev/null +++ b/tests/exhaustive/basic/matrix_of_set_02/expected/model_4_2.eprime @@ -0,0 +1,38 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..2), int(1..3)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..2), int(1..3)] of int(1..3) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..2), int(1..3)] of int(1..4) +branching on [x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values] +such that + and([x_ExplicitVarSizeWithFlags_Flags[j, q22] -> x_ExplicitVarSizeWithFlags_Values[j, q22] % 2 = 0 + | j : int(1..2), q22 : int(1..3)]), + and([and([x_ExplicitVarSizeWithFlags_Flags[q1, q2 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1, q2] < x_ExplicitVarSizeWithFlags_Values[q1, q2 + 1] + | q2 : int(1..2)]) + | q1 : int(1..2)]), + and([and([x_ExplicitVarSizeWithFlags_Flags[q1, q3] = false -> x_ExplicitVarSizeWithFlags_Values[q1, q3] = 1 + | q3 : int(1..3)]) + | q1 : int(1..2)]), + and([and([x_ExplicitVarSizeWithFlags_Flags[q1, q4 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q1, q4] + | q4 : int(1..2)]) + | q1 : int(1..2)]), + and([and([x_ExplicitVarSizeWithDummy[q7, q8] < x_ExplicitVarSizeWithDummy[q7, q8 + 1] \/ + x_ExplicitVarSizeWithDummy[q7, q8] = 4 + | q8 : int(1..2)]) + | q7 : int(1..2)]), + and([and([x_ExplicitVarSizeWithDummy[q7, q9] = 4 -> x_ExplicitVarSizeWithDummy[q7, q9 + 1] = 4 | q9 : int(1..2)]) + | q7 : int(1..2)]), + and([and([x_ExplicitVarSizeWithDummy[q12, q15] != 4 -> + or([x_ExplicitVarSizeWithFlags_Flags[q12, q17] /\ + x_ExplicitVarSizeWithFlags_Values[q12, q17] = x_ExplicitVarSizeWithDummy[q12, q15] + | q17 : int(1..3)]) + | q15 : int(1..3)]) + /\ + and([x_ExplicitVarSizeWithFlags_Flags[q12, q19] -> + or([x_ExplicitVarSizeWithDummy[q12, q21] != 4 /\ + x_ExplicitVarSizeWithDummy[q12, q21] = x_ExplicitVarSizeWithFlags_Values[q12, q19] + | q21 : int(1..3)]) + | q19 : int(1..3)]) + | q12 : int(1..2)]) + diff --git a/tests/exhaustive/basic/matrix_of_set_02/expected/model_4_3-solution000001.solution b/tests/exhaustive/basic/matrix_of_set_02/expected/model_4_3-solution000001.solution new file mode 100644 index 0000000000..af7c1da5d8 --- /dev/null +++ b/tests/exhaustive/basic/matrix_of_set_02/expected/model_4_3-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be [{}, {}; int(1..2)] diff --git a/tests/exhaustive/basic/matrix_of_set_02/expected/model_4_3-solution000002.solution b/tests/exhaustive/basic/matrix_of_set_02/expected/model_4_3-solution000002.solution new file mode 100644 index 0000000000..0b1f00f1a5 --- /dev/null +++ b/tests/exhaustive/basic/matrix_of_set_02/expected/model_4_3-solution000002.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be [{}, {2}; int(1..2)] +$ Visualisation for x +$ +$ 2 + diff --git a/tests/exhaustive/basic/matrix_of_set_02/expected/model_4_3-solution000003.solution b/tests/exhaustive/basic/matrix_of_set_02/expected/model_4_3-solution000003.solution new file mode 100644 index 0000000000..cbfa586d38 --- /dev/null +++ b/tests/exhaustive/basic/matrix_of_set_02/expected/model_4_3-solution000003.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be [{2}, {}; int(1..2)] +$ Visualisation for x +$ 2 +$ + diff --git a/tests/exhaustive/basic/matrix_of_set_02/expected/model_4_3-solution000004.solution b/tests/exhaustive/basic/matrix_of_set_02/expected/model_4_3-solution000004.solution new file mode 100644 index 0000000000..a392d5bbea --- /dev/null +++ b/tests/exhaustive/basic/matrix_of_set_02/expected/model_4_3-solution000004.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be [{2}, {2}; int(1..2)] +$ Visualisation for x +$ 2 +$ 2 + diff --git a/tests/exhaustive/basic/matrix_of_set_02/expected/model_4_3.eprime b/tests/exhaustive/basic/matrix_of_set_02/expected/model_4_3.eprime new file mode 100644 index 0000000000..a67d88de35 --- /dev/null +++ b/tests/exhaustive/basic/matrix_of_set_02/expected/model_4_3.eprime @@ -0,0 +1,42 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..2), int(1..3)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..2), int(1..3)] of int(1..3) +find x_ExplicitVarSizeWithMarker_Marker: matrix indexed by [int(1..2)] of int(0..3) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..2), int(1..3)] of int(1..3) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_ExplicitVarSizeWithFlags_Flags, + x_ExplicitVarSizeWithFlags_Values] +such that + and([x_ExplicitVarSizeWithFlags_Flags[j, q21] -> x_ExplicitVarSizeWithFlags_Values[j, q21] % 2 = 0 + | j : int(1..2), q21 : int(1..3)]), + and([and([x_ExplicitVarSizeWithFlags_Flags[q1, q2 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1, q2] < x_ExplicitVarSizeWithFlags_Values[q1, q2 + 1] + | q2 : int(1..2)]) + | q1 : int(1..2)]), + and([and([x_ExplicitVarSizeWithFlags_Flags[q1, q3] = false -> x_ExplicitVarSizeWithFlags_Values[q1, q3] = 1 + | q3 : int(1..3)]) + | q1 : int(1..2)]), + and([and([x_ExplicitVarSizeWithFlags_Flags[q1, q4 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q1, q4] + | q4 : int(1..2)]) + | q1 : int(1..2)]), + and([and([q8 + 1 <= x_ExplicitVarSizeWithMarker_Marker[q7] -> + x_ExplicitVarSizeWithMarker_Values[q7, q8] < x_ExplicitVarSizeWithMarker_Values[q7, q8 + 1] + | q8 : int(1..2)]) + | q7 : int(1..2)]), + and([and([q9 > x_ExplicitVarSizeWithMarker_Marker[q7] -> x_ExplicitVarSizeWithMarker_Values[q7, q9] = 1 + | q9 : int(1..3)]) + | q7 : int(1..2)]), + and([and([q14 <= x_ExplicitVarSizeWithMarker_Marker[q11] -> + or([x_ExplicitVarSizeWithFlags_Flags[q11, q16] /\ + x_ExplicitVarSizeWithFlags_Values[q11, q16] = x_ExplicitVarSizeWithMarker_Values[q11, q14] + | q16 : int(1..3)]) + | q14 : int(1..3)]) + /\ + and([x_ExplicitVarSizeWithFlags_Flags[q11, q18] -> + or([q20 <= x_ExplicitVarSizeWithMarker_Marker[q11] /\ + x_ExplicitVarSizeWithMarker_Values[q11, q20] = x_ExplicitVarSizeWithFlags_Values[q11, q18] + | q20 : int(1..3)]) + | q18 : int(1..3)]) + | q11 : int(1..2)]) + diff --git a/tests/exhaustive/basic/matrix_of_set_02/expected/model_4_4-solution000001.solution b/tests/exhaustive/basic/matrix_of_set_02/expected/model_4_4-solution000001.solution new file mode 100644 index 0000000000..af7c1da5d8 --- /dev/null +++ b/tests/exhaustive/basic/matrix_of_set_02/expected/model_4_4-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be [{}, {}; int(1..2)] diff --git a/tests/exhaustive/basic/matrix_of_set_02/expected/model_4_4-solution000002.solution b/tests/exhaustive/basic/matrix_of_set_02/expected/model_4_4-solution000002.solution new file mode 100644 index 0000000000..0b1f00f1a5 --- /dev/null +++ b/tests/exhaustive/basic/matrix_of_set_02/expected/model_4_4-solution000002.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be [{}, {2}; int(1..2)] +$ Visualisation for x +$ +$ 2 + diff --git a/tests/exhaustive/basic/matrix_of_set_02/expected/model_4_4-solution000003.solution b/tests/exhaustive/basic/matrix_of_set_02/expected/model_4_4-solution000003.solution new file mode 100644 index 0000000000..cbfa586d38 --- /dev/null +++ b/tests/exhaustive/basic/matrix_of_set_02/expected/model_4_4-solution000003.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be [{2}, {}; int(1..2)] +$ Visualisation for x +$ 2 +$ + diff --git a/tests/exhaustive/basic/matrix_of_set_02/expected/model_4_4-solution000004.solution b/tests/exhaustive/basic/matrix_of_set_02/expected/model_4_4-solution000004.solution new file mode 100644 index 0000000000..a392d5bbea --- /dev/null +++ b/tests/exhaustive/basic/matrix_of_set_02/expected/model_4_4-solution000004.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be [{2}, {2}; int(1..2)] +$ Visualisation for x +$ 2 +$ 2 + diff --git a/tests/exhaustive/basic/matrix_of_set_02/expected/model_4_4.eprime b/tests/exhaustive/basic/matrix_of_set_02/expected/model_4_4.eprime new file mode 100644 index 0000000000..641fab2f7f --- /dev/null +++ b/tests/exhaustive/basic/matrix_of_set_02/expected/model_4_4.eprime @@ -0,0 +1,19 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..2), int(1..3)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..2), int(1..3)] of int(1..3) +branching on [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values] +such that + and([x_ExplicitVarSizeWithFlags_Flags[j, q7] -> x_ExplicitVarSizeWithFlags_Values[j, q7] % 2 = 0 + | j : int(1..2), q7 : int(1..3)]), + and([and([x_ExplicitVarSizeWithFlags_Flags[q1, q2 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1, q2] < x_ExplicitVarSizeWithFlags_Values[q1, q2 + 1] + | q2 : int(1..2)]) + | q1 : int(1..2)]), + and([and([x_ExplicitVarSizeWithFlags_Flags[q1, q3] = false -> x_ExplicitVarSizeWithFlags_Values[q1, q3] = 1 + | q3 : int(1..3)]) + | q1 : int(1..2)]), + and([and([x_ExplicitVarSizeWithFlags_Flags[q1, q4 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q1, q4] + | q4 : int(1..2)]) + | q1 : int(1..2)]) + diff --git a/tests/exhaustive/basic/matrix_of_set_03_2d/expected/model_1_1-solution000001.solution b/tests/exhaustive/basic/matrix_of_set_03_2d/expected/model_1_1-solution000001.solution new file mode 100644 index 0000000000..88e783b8b0 --- /dev/null +++ b/tests/exhaustive/basic/matrix_of_set_03_2d/expected/model_1_1-solution000001.solution @@ -0,0 +1,13 @@ +language Essence 1.3 + +letting x be [[{2}, {2}, {2}; int(1..3)], [{2}, {2}, {2}; int(1..3)]; int(1..2)] +$ Visualisation for x +$ 2 +$ 2 +$ 2 +$ +$ 2 +$ 2 +$ 2 +$ + diff --git a/tests/exhaustive/basic/matrix_of_set_03_2d/expected/model_1_1.eprime b/tests/exhaustive/basic/matrix_of_set_03_2d/expected/model_1_1.eprime new file mode 100644 index 0000000000..93e46c5fc0 --- /dev/null +++ b/tests/exhaustive/basic/matrix_of_set_03_2d/expected/model_1_1.eprime @@ -0,0 +1,8 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1..2), int(1..3), int(1..3)] of bool +branching on [x_Occurrence] +such that + and([x_Occurrence[j1, j2, i] -> i % 2 = 0 | j1 : int(1..2), j2 : int(1..3), i : int(1..3)]), + and([and([1 <= sum([toInt(x_Occurrence[q1, q2, q3]) | q3 : int(1..3)]) | q2 : int(1..3)]) | q1 : int(1..2)]) + diff --git a/tests/exhaustive/basic/matrix_of_set_03_2d/expected/model_1_2-solution000001.solution b/tests/exhaustive/basic/matrix_of_set_03_2d/expected/model_1_2-solution000001.solution new file mode 100644 index 0000000000..88e783b8b0 --- /dev/null +++ b/tests/exhaustive/basic/matrix_of_set_03_2d/expected/model_1_2-solution000001.solution @@ -0,0 +1,13 @@ +language Essence 1.3 + +letting x be [[{2}, {2}, {2}; int(1..3)], [{2}, {2}, {2}; int(1..3)]; int(1..2)] +$ Visualisation for x +$ 2 +$ 2 +$ 2 +$ +$ 2 +$ 2 +$ 2 +$ + diff --git a/tests/exhaustive/basic/matrix_of_set_03_2d/expected/model_1_2.eprime b/tests/exhaustive/basic/matrix_of_set_03_2d/expected/model_1_2.eprime new file mode 100644 index 0000000000..d190146044 --- /dev/null +++ b/tests/exhaustive/basic/matrix_of_set_03_2d/expected/model_1_2.eprime @@ -0,0 +1,30 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1..2), int(1..3), int(1..3)] of bool +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..2), int(1..3), int(1..3)] of int(1..4) +branching on [x_ExplicitVarSizeWithDummy, x_Occurrence] +such that + and([x_Occurrence[j1, j2, i] -> i % 2 = 0 | j1 : int(1..2), j2 : int(1..3), i : int(1..3)]), + and([and([1 <= sum([toInt(x_Occurrence[q1, q2, q3]) | q3 : int(1..3)]) | q2 : int(1..3)]) | q1 : int(1..2)]), + and([and([and([x_ExplicitVarSizeWithDummy[q4, q5, q6] < x_ExplicitVarSizeWithDummy[q4, q5, q6 + 1] \/ + x_ExplicitVarSizeWithDummy[q4, q5, q6] = 4 + | q6 : int(1..2)]) + | q5 : int(1..3)]) + | q4 : int(1..2)]), + and([and([and([x_ExplicitVarSizeWithDummy[q4, q5, q7] = 4 -> x_ExplicitVarSizeWithDummy[q4, q5, q7 + 1] = 4 + | q7 : int(1..2)]) + | q5 : int(1..3)]) + | q4 : int(1..2)]), + and([and([1 <= sum([toInt(x_ExplicitVarSizeWithDummy[q4, q5, q8] != 4) | q8 : int(1..3)]) | q5 : int(1..3)]) + | q4 : int(1..2)]), + and([and([and([x_ExplicitVarSizeWithDummy[q10, q12, q15] != 4 -> + x_Occurrence[q10, q12, x_ExplicitVarSizeWithDummy[q10, q12, q15]] + | q15 : int(1..3)]) + /\ + and([x_Occurrence[q10, q12, q16] -> + or([x_ExplicitVarSizeWithDummy[q10, q12, q18] != 4 /\ x_ExplicitVarSizeWithDummy[q10, q12, q18] = q16 + | q18 : int(1..3)]) + | q16 : int(1..3)]) + | q12 : int(1..3)]) + | q10 : int(1..2)]) + diff --git a/tests/exhaustive/basic/matrix_of_set_03_2d/expected/model_1_3-solution000001.solution b/tests/exhaustive/basic/matrix_of_set_03_2d/expected/model_1_3-solution000001.solution new file mode 100644 index 0000000000..88e783b8b0 --- /dev/null +++ b/tests/exhaustive/basic/matrix_of_set_03_2d/expected/model_1_3-solution000001.solution @@ -0,0 +1,13 @@ +language Essence 1.3 + +letting x be [[{2}, {2}, {2}; int(1..3)], [{2}, {2}, {2}; int(1..3)]; int(1..2)] +$ Visualisation for x +$ 2 +$ 2 +$ 2 +$ +$ 2 +$ 2 +$ 2 +$ + diff --git a/tests/exhaustive/basic/matrix_of_set_03_2d/expected/model_1_3.eprime b/tests/exhaustive/basic/matrix_of_set_03_2d/expected/model_1_3.eprime new file mode 100644 index 0000000000..bf9afdb1e3 --- /dev/null +++ b/tests/exhaustive/basic/matrix_of_set_03_2d/expected/model_1_3.eprime @@ -0,0 +1,31 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1..2), int(1..3), int(1..3)] of bool +find x_ExplicitVarSizeWithMarker_Marker: matrix indexed by [int(1..2), int(1..3)] of int(0..3) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..2), int(1..3), int(1..3)] of int(1..3) +branching on [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_Occurrence] +such that + and([x_Occurrence[j1, j2, i] -> i % 2 = 0 | j1 : int(1..2), j2 : int(1..3), i : int(1..3)]), + and([and([1 <= sum([toInt(x_Occurrence[q1, q2, q3]) | q3 : int(1..3)]) | q2 : int(1..3)]) | q1 : int(1..2)]), + and([and([and([q6 + 1 <= x_ExplicitVarSizeWithMarker_Marker[q4, q5] -> + x_ExplicitVarSizeWithMarker_Values[q4, q5, q6] < x_ExplicitVarSizeWithMarker_Values[q4, q5, q6 + 1] + | q6 : int(1..2)]) + | q5 : int(1..3)]) + | q4 : int(1..2)]), + and([and([and([q7 > x_ExplicitVarSizeWithMarker_Marker[q4, q5] -> x_ExplicitVarSizeWithMarker_Values[q4, q5, q7] = 1 + | q7 : int(1..3)]) + | q5 : int(1..3)]) + | q4 : int(1..2)]), + and([and([1 <= x_ExplicitVarSizeWithMarker_Marker[q4, q5] | q5 : int(1..3)]) | q4 : int(1..2)]), + and([and([and([q14 <= x_ExplicitVarSizeWithMarker_Marker[q9, q11] -> + x_Occurrence[q9, q11, x_ExplicitVarSizeWithMarker_Values[q9, q11, q14]] + | q14 : int(1..3)]) + /\ + and([x_Occurrence[q9, q11, q15] -> + or([q17 <= x_ExplicitVarSizeWithMarker_Marker[q9, q11] /\ + x_ExplicitVarSizeWithMarker_Values[q9, q11, q17] = q15 + | q17 : int(1..3)]) + | q15 : int(1..3)]) + | q11 : int(1..3)]) + | q9 : int(1..2)]) + diff --git a/tests/exhaustive/basic/matrix_of_set_03_2d/expected/model_1_4-solution000001.solution b/tests/exhaustive/basic/matrix_of_set_03_2d/expected/model_1_4-solution000001.solution new file mode 100644 index 0000000000..88e783b8b0 --- /dev/null +++ b/tests/exhaustive/basic/matrix_of_set_03_2d/expected/model_1_4-solution000001.solution @@ -0,0 +1,13 @@ +language Essence 1.3 + +letting x be [[{2}, {2}, {2}; int(1..3)], [{2}, {2}, {2}; int(1..3)]; int(1..2)] +$ Visualisation for x +$ 2 +$ 2 +$ 2 +$ +$ 2 +$ 2 +$ 2 +$ + diff --git a/tests/exhaustive/basic/matrix_of_set_03_2d/expected/model_1_4.eprime b/tests/exhaustive/basic/matrix_of_set_03_2d/expected/model_1_4.eprime new file mode 100644 index 0000000000..39b0762f3c --- /dev/null +++ b/tests/exhaustive/basic/matrix_of_set_03_2d/expected/model_1_4.eprime @@ -0,0 +1,37 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1..2), int(1..3), int(1..3)] of bool +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..2), int(1..3), int(1..3)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..2), int(1..3), int(1..3)] of int(1..3) +branching on [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_Occurrence] +such that + and([x_Occurrence[j1, j2, i] -> i % 2 = 0 | j1 : int(1..2), j2 : int(1..3), i : int(1..3)]), + and([and([1 <= sum([toInt(x_Occurrence[q1, q2, q3]) | q3 : int(1..3)]) | q2 : int(1..3)]) | q1 : int(1..2)]), + and([and([and([x_ExplicitVarSizeWithFlags_Flags[q4, q5, q6 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q4, q5, q6] < x_ExplicitVarSizeWithFlags_Values[q4, q5, q6 + 1] + | q6 : int(1..2)]) + | q5 : int(1..3)]) + | q4 : int(1..2)]), + and([and([and([x_ExplicitVarSizeWithFlags_Flags[q4, q5, q7] = false -> + x_ExplicitVarSizeWithFlags_Values[q4, q5, q7] = 1 + | q7 : int(1..3)]) + | q5 : int(1..3)]) + | q4 : int(1..2)]), + and([and([and([x_ExplicitVarSizeWithFlags_Flags[q4, q5, q8 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q4, q5, q8] + | q8 : int(1..2)]) + | q5 : int(1..3)]) + | q4 : int(1..2)]), + and([and([1 <= sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q4, q5, q9]) | q9 : int(1..3)]) | q5 : int(1..3)]) + | q4 : int(1..2)]), + and([and([and([x_ExplicitVarSizeWithFlags_Flags[q11, q13, q16] -> + x_Occurrence[q11, q13, x_ExplicitVarSizeWithFlags_Values[q11, q13, q16]] + | q16 : int(1..3)]) + /\ + and([x_Occurrence[q11, q13, q17] -> + or([x_ExplicitVarSizeWithFlags_Flags[q11, q13, q19] /\ + x_ExplicitVarSizeWithFlags_Values[q11, q13, q19] = q17 + | q19 : int(1..3)]) + | q17 : int(1..3)]) + | q13 : int(1..3)]) + | q11 : int(1..2)]) + diff --git a/tests/exhaustive/basic/matrix_of_set_03_2d/expected/model_2_1-solution000001.solution b/tests/exhaustive/basic/matrix_of_set_03_2d/expected/model_2_1-solution000001.solution new file mode 100644 index 0000000000..88e783b8b0 --- /dev/null +++ b/tests/exhaustive/basic/matrix_of_set_03_2d/expected/model_2_1-solution000001.solution @@ -0,0 +1,13 @@ +language Essence 1.3 + +letting x be [[{2}, {2}, {2}; int(1..3)], [{2}, {2}, {2}; int(1..3)]; int(1..2)] +$ Visualisation for x +$ 2 +$ 2 +$ 2 +$ +$ 2 +$ 2 +$ 2 +$ + diff --git a/tests/exhaustive/basic/matrix_of_set_03_2d/expected/model_2_1.eprime b/tests/exhaustive/basic/matrix_of_set_03_2d/expected/model_2_1.eprime new file mode 100644 index 0000000000..930a9b9b07 --- /dev/null +++ b/tests/exhaustive/basic/matrix_of_set_03_2d/expected/model_2_1.eprime @@ -0,0 +1,31 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..2), int(1..3), int(1..3)] of int(1..4) +find x_Occurrence: matrix indexed by [int(1..2), int(1..3), int(1..3)] of bool +branching on [x_Occurrence, x_ExplicitVarSizeWithDummy] +such that + and([x_ExplicitVarSizeWithDummy[j1, j2, q19] != 4 -> x_ExplicitVarSizeWithDummy[j1, j2, q19] % 2 = 0 + | j1 : int(1..2), j2 : int(1..3), q19 : int(1..3)]), + and([and([and([x_ExplicitVarSizeWithDummy[q1, q2, q3] < x_ExplicitVarSizeWithDummy[q1, q2, q3 + 1] \/ + x_ExplicitVarSizeWithDummy[q1, q2, q3] = 4 + | q3 : int(1..2)]) + | q2 : int(1..3)]) + | q1 : int(1..2)]), + and([and([and([x_ExplicitVarSizeWithDummy[q1, q2, q4] = 4 -> x_ExplicitVarSizeWithDummy[q1, q2, q4 + 1] = 4 + | q4 : int(1..2)]) + | q2 : int(1..3)]) + | q1 : int(1..2)]), + and([and([1 <= sum([toInt(x_ExplicitVarSizeWithDummy[q1, q2, q5] != 4) | q5 : int(1..3)]) | q2 : int(1..3)]) + | q1 : int(1..2)]), + and([and([1 <= sum([toInt(x_Occurrence[q7, q8, q9]) | q9 : int(1..3)]) | q8 : int(1..3)]) | q7 : int(1..2)]), + and([and([and([x_Occurrence[q10, q12, q14] -> + or([x_ExplicitVarSizeWithDummy[q10, q12, q16] != 4 /\ x_ExplicitVarSizeWithDummy[q10, q12, q16] = q14 + | q16 : int(1..3)]) + | q14 : int(1..3)]) + /\ + and([x_ExplicitVarSizeWithDummy[q10, q12, q18] != 4 -> + x_Occurrence[q10, q12, x_ExplicitVarSizeWithDummy[q10, q12, q18]] + | q18 : int(1..3)]) + | q12 : int(1..3)]) + | q10 : int(1..2)]) + diff --git a/tests/exhaustive/basic/matrix_of_set_03_2d/expected/model_2_2-solution000001.solution b/tests/exhaustive/basic/matrix_of_set_03_2d/expected/model_2_2-solution000001.solution new file mode 100644 index 0000000000..88e783b8b0 --- /dev/null +++ b/tests/exhaustive/basic/matrix_of_set_03_2d/expected/model_2_2-solution000001.solution @@ -0,0 +1,13 @@ +language Essence 1.3 + +letting x be [[{2}, {2}, {2}; int(1..3)], [{2}, {2}, {2}; int(1..3)]; int(1..2)] +$ Visualisation for x +$ 2 +$ 2 +$ 2 +$ +$ 2 +$ 2 +$ 2 +$ + diff --git a/tests/exhaustive/basic/matrix_of_set_03_2d/expected/model_2_2.eprime b/tests/exhaustive/basic/matrix_of_set_03_2d/expected/model_2_2.eprime new file mode 100644 index 0000000000..e236ad9239 --- /dev/null +++ b/tests/exhaustive/basic/matrix_of_set_03_2d/expected/model_2_2.eprime @@ -0,0 +1,19 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..2), int(1..3), int(1..3)] of int(1..4) +branching on [x_ExplicitVarSizeWithDummy] +such that + and([x_ExplicitVarSizeWithDummy[j1, j2, q7] != 4 -> x_ExplicitVarSizeWithDummy[j1, j2, q7] % 2 = 0 + | j1 : int(1..2), j2 : int(1..3), q7 : int(1..3)]), + and([and([and([x_ExplicitVarSizeWithDummy[q1, q2, q3] < x_ExplicitVarSizeWithDummy[q1, q2, q3 + 1] \/ + x_ExplicitVarSizeWithDummy[q1, q2, q3] = 4 + | q3 : int(1..2)]) + | q2 : int(1..3)]) + | q1 : int(1..2)]), + and([and([and([x_ExplicitVarSizeWithDummy[q1, q2, q4] = 4 -> x_ExplicitVarSizeWithDummy[q1, q2, q4 + 1] = 4 + | q4 : int(1..2)]) + | q2 : int(1..3)]) + | q1 : int(1..2)]), + and([and([1 <= sum([toInt(x_ExplicitVarSizeWithDummy[q1, q2, q5] != 4) | q5 : int(1..3)]) | q2 : int(1..3)]) + | q1 : int(1..2)]) + diff --git a/tests/exhaustive/basic/matrix_of_set_03_2d/expected/model_2_3-solution000001.solution b/tests/exhaustive/basic/matrix_of_set_03_2d/expected/model_2_3-solution000001.solution new file mode 100644 index 0000000000..88e783b8b0 --- /dev/null +++ b/tests/exhaustive/basic/matrix_of_set_03_2d/expected/model_2_3-solution000001.solution @@ -0,0 +1,13 @@ +language Essence 1.3 + +letting x be [[{2}, {2}, {2}; int(1..3)], [{2}, {2}, {2}; int(1..3)]; int(1..2)] +$ Visualisation for x +$ 2 +$ 2 +$ 2 +$ +$ 2 +$ 2 +$ 2 +$ + diff --git a/tests/exhaustive/basic/matrix_of_set_03_2d/expected/model_2_3.eprime b/tests/exhaustive/basic/matrix_of_set_03_2d/expected/model_2_3.eprime new file mode 100644 index 0000000000..7920954488 --- /dev/null +++ b/tests/exhaustive/basic/matrix_of_set_03_2d/expected/model_2_3.eprime @@ -0,0 +1,45 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..2), int(1..3), int(1..3)] of int(1..4) +find x_ExplicitVarSizeWithMarker_Marker: matrix indexed by [int(1..2), int(1..3)] of int(0..3) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..2), int(1..3), int(1..3)] of int(1..3) +branching on [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_ExplicitVarSizeWithDummy] +such that + and([x_ExplicitVarSizeWithDummy[j1, j2, q24] != 4 -> x_ExplicitVarSizeWithDummy[j1, j2, q24] % 2 = 0 + | j1 : int(1..2), j2 : int(1..3), q24 : int(1..3)]), + and([and([and([x_ExplicitVarSizeWithDummy[q1, q2, q3] < x_ExplicitVarSizeWithDummy[q1, q2, q3 + 1] \/ + x_ExplicitVarSizeWithDummy[q1, q2, q3] = 4 + | q3 : int(1..2)]) + | q2 : int(1..3)]) + | q1 : int(1..2)]), + and([and([and([x_ExplicitVarSizeWithDummy[q1, q2, q4] = 4 -> x_ExplicitVarSizeWithDummy[q1, q2, q4 + 1] = 4 + | q4 : int(1..2)]) + | q2 : int(1..3)]) + | q1 : int(1..2)]), + and([and([1 <= sum([toInt(x_ExplicitVarSizeWithDummy[q1, q2, q5] != 4) | q5 : int(1..3)]) | q2 : int(1..3)]) + | q1 : int(1..2)]), + and([and([and([q9 + 1 <= x_ExplicitVarSizeWithMarker_Marker[q7, q8] -> + x_ExplicitVarSizeWithMarker_Values[q7, q8, q9] < x_ExplicitVarSizeWithMarker_Values[q7, q8, q9 + 1] + | q9 : int(1..2)]) + | q8 : int(1..3)]) + | q7 : int(1..2)]), + and([and([and([q10 > x_ExplicitVarSizeWithMarker_Marker[q7, q8] -> + x_ExplicitVarSizeWithMarker_Values[q7, q8, q10] = 1 + | q10 : int(1..3)]) + | q8 : int(1..3)]) + | q7 : int(1..2)]), + and([and([1 <= x_ExplicitVarSizeWithMarker_Marker[q7, q8] | q8 : int(1..3)]) | q7 : int(1..2)]), + and([and([and([q17 <= x_ExplicitVarSizeWithMarker_Marker[q12, q14] -> + or([x_ExplicitVarSizeWithDummy[q12, q14, q19] != 4 /\ + x_ExplicitVarSizeWithDummy[q12, q14, q19] = x_ExplicitVarSizeWithMarker_Values[q12, q14, q17] + | q19 : int(1..3)]) + | q17 : int(1..3)]) + /\ + and([x_ExplicitVarSizeWithDummy[q12, q14, q21] != 4 -> + or([q23 <= x_ExplicitVarSizeWithMarker_Marker[q12, q14] /\ + x_ExplicitVarSizeWithMarker_Values[q12, q14, q23] = x_ExplicitVarSizeWithDummy[q12, q14, q21] + | q23 : int(1..3)]) + | q21 : int(1..3)]) + | q14 : int(1..3)]) + | q12 : int(1..2)]) + diff --git a/tests/exhaustive/basic/matrix_of_set_03_2d/expected/model_2_4-solution000001.solution b/tests/exhaustive/basic/matrix_of_set_03_2d/expected/model_2_4-solution000001.solution new file mode 100644 index 0000000000..88e783b8b0 --- /dev/null +++ b/tests/exhaustive/basic/matrix_of_set_03_2d/expected/model_2_4-solution000001.solution @@ -0,0 +1,13 @@ +language Essence 1.3 + +letting x be [[{2}, {2}, {2}; int(1..3)], [{2}, {2}, {2}; int(1..3)]; int(1..2)] +$ Visualisation for x +$ 2 +$ 2 +$ 2 +$ +$ 2 +$ 2 +$ 2 +$ + diff --git a/tests/exhaustive/basic/matrix_of_set_03_2d/expected/model_2_4.eprime b/tests/exhaustive/basic/matrix_of_set_03_2d/expected/model_2_4.eprime new file mode 100644 index 0000000000..7ea793896c --- /dev/null +++ b/tests/exhaustive/basic/matrix_of_set_03_2d/expected/model_2_4.eprime @@ -0,0 +1,50 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..2), int(1..3), int(1..3)] of int(1..4) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..2), int(1..3), int(1..3)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..2), int(1..3), int(1..3)] of int(1..3) +branching on [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_ExplicitVarSizeWithDummy] +such that + and([x_ExplicitVarSizeWithDummy[j1, j2, q26] != 4 -> x_ExplicitVarSizeWithDummy[j1, j2, q26] % 2 = 0 + | j1 : int(1..2), j2 : int(1..3), q26 : int(1..3)]), + and([and([and([x_ExplicitVarSizeWithDummy[q1, q2, q3] < x_ExplicitVarSizeWithDummy[q1, q2, q3 + 1] \/ + x_ExplicitVarSizeWithDummy[q1, q2, q3] = 4 + | q3 : int(1..2)]) + | q2 : int(1..3)]) + | q1 : int(1..2)]), + and([and([and([x_ExplicitVarSizeWithDummy[q1, q2, q4] = 4 -> x_ExplicitVarSizeWithDummy[q1, q2, q4 + 1] = 4 + | q4 : int(1..2)]) + | q2 : int(1..3)]) + | q1 : int(1..2)]), + and([and([1 <= sum([toInt(x_ExplicitVarSizeWithDummy[q1, q2, q5] != 4) | q5 : int(1..3)]) | q2 : int(1..3)]) + | q1 : int(1..2)]), + and([and([and([x_ExplicitVarSizeWithFlags_Flags[q7, q8, q9 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q7, q8, q9] < x_ExplicitVarSizeWithFlags_Values[q7, q8, q9 + 1] + | q9 : int(1..2)]) + | q8 : int(1..3)]) + | q7 : int(1..2)]), + and([and([and([x_ExplicitVarSizeWithFlags_Flags[q7, q8, q10] = false -> + x_ExplicitVarSizeWithFlags_Values[q7, q8, q10] = 1 + | q10 : int(1..3)]) + | q8 : int(1..3)]) + | q7 : int(1..2)]), + and([and([and([x_ExplicitVarSizeWithFlags_Flags[q7, q8, q11 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q7, q8, q11] + | q11 : int(1..2)]) + | q8 : int(1..3)]) + | q7 : int(1..2)]), + and([and([1 <= sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q7, q8, q12]) | q12 : int(1..3)]) | q8 : int(1..3)]) + | q7 : int(1..2)]), + and([and([and([x_ExplicitVarSizeWithFlags_Flags[q14, q16, q19] -> + or([x_ExplicitVarSizeWithDummy[q14, q16, q21] != 4 /\ + x_ExplicitVarSizeWithDummy[q14, q16, q21] = x_ExplicitVarSizeWithFlags_Values[q14, q16, q19] + | q21 : int(1..3)]) + | q19 : int(1..3)]) + /\ + and([x_ExplicitVarSizeWithDummy[q14, q16, q23] != 4 -> + or([x_ExplicitVarSizeWithFlags_Flags[q14, q16, q25] /\ + x_ExplicitVarSizeWithFlags_Values[q14, q16, q25] = x_ExplicitVarSizeWithDummy[q14, q16, q23] + | q25 : int(1..3)]) + | q23 : int(1..3)]) + | q16 : int(1..3)]) + | q14 : int(1..2)]) + diff --git a/tests/exhaustive/basic/matrix_of_set_03_2d/expected/model_3_1-solution000001.solution b/tests/exhaustive/basic/matrix_of_set_03_2d/expected/model_3_1-solution000001.solution new file mode 100644 index 0000000000..88e783b8b0 --- /dev/null +++ b/tests/exhaustive/basic/matrix_of_set_03_2d/expected/model_3_1-solution000001.solution @@ -0,0 +1,13 @@ +language Essence 1.3 + +letting x be [[{2}, {2}, {2}; int(1..3)], [{2}, {2}, {2}; int(1..3)]; int(1..2)] +$ Visualisation for x +$ 2 +$ 2 +$ 2 +$ +$ 2 +$ 2 +$ 2 +$ + diff --git a/tests/exhaustive/basic/matrix_of_set_03_2d/expected/model_3_1.eprime b/tests/exhaustive/basic/matrix_of_set_03_2d/expected/model_3_1.eprime new file mode 100644 index 0000000000..8512304454 --- /dev/null +++ b/tests/exhaustive/basic/matrix_of_set_03_2d/expected/model_3_1.eprime @@ -0,0 +1,32 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: matrix indexed by [int(1..2), int(1..3)] of int(0..3) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..2), int(1..3), int(1..3)] of int(1..3) +find x_Occurrence: matrix indexed by [int(1..2), int(1..3), int(1..3)] of bool +branching on [x_Occurrence, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values] +such that + and([q18 <= x_ExplicitVarSizeWithMarker_Marker[j1, j2] -> x_ExplicitVarSizeWithMarker_Values[j1, j2, q18] % 2 = 0 + | j1 : int(1..2), j2 : int(1..3), q18 : int(1..3)]), + and([and([and([q3 + 1 <= x_ExplicitVarSizeWithMarker_Marker[q1, q2] -> + x_ExplicitVarSizeWithMarker_Values[q1, q2, q3] < x_ExplicitVarSizeWithMarker_Values[q1, q2, q3 + 1] + | q3 : int(1..2)]) + | q2 : int(1..3)]) + | q1 : int(1..2)]), + and([and([and([q4 > x_ExplicitVarSizeWithMarker_Marker[q1, q2] -> x_ExplicitVarSizeWithMarker_Values[q1, q2, q4] = 1 + | q4 : int(1..3)]) + | q2 : int(1..3)]) + | q1 : int(1..2)]), + and([and([1 <= x_ExplicitVarSizeWithMarker_Marker[q1, q2] | q2 : int(1..3)]) | q1 : int(1..2)]), + and([and([1 <= sum([toInt(x_Occurrence[q6, q7, q8]) | q8 : int(1..3)]) | q7 : int(1..3)]) | q6 : int(1..2)]), + and([and([and([x_Occurrence[q9, q11, q13] -> + or([q15 <= x_ExplicitVarSizeWithMarker_Marker[q9, q11] /\ + x_ExplicitVarSizeWithMarker_Values[q9, q11, q15] = q13 + | q15 : int(1..3)]) + | q13 : int(1..3)]) + /\ + and([q17 <= x_ExplicitVarSizeWithMarker_Marker[q9, q11] -> + x_Occurrence[q9, q11, x_ExplicitVarSizeWithMarker_Values[q9, q11, q17]] + | q17 : int(1..3)]) + | q11 : int(1..3)]) + | q9 : int(1..2)]) + diff --git a/tests/exhaustive/basic/matrix_of_set_03_2d/expected/model_3_2-solution000001.solution b/tests/exhaustive/basic/matrix_of_set_03_2d/expected/model_3_2-solution000001.solution new file mode 100644 index 0000000000..88e783b8b0 --- /dev/null +++ b/tests/exhaustive/basic/matrix_of_set_03_2d/expected/model_3_2-solution000001.solution @@ -0,0 +1,13 @@ +language Essence 1.3 + +letting x be [[{2}, {2}, {2}; int(1..3)], [{2}, {2}, {2}; int(1..3)]; int(1..2)] +$ Visualisation for x +$ 2 +$ 2 +$ 2 +$ +$ 2 +$ 2 +$ 2 +$ + diff --git a/tests/exhaustive/basic/matrix_of_set_03_2d/expected/model_3_2.eprime b/tests/exhaustive/basic/matrix_of_set_03_2d/expected/model_3_2.eprime new file mode 100644 index 0000000000..1d07948b63 --- /dev/null +++ b/tests/exhaustive/basic/matrix_of_set_03_2d/expected/model_3_2.eprime @@ -0,0 +1,44 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: matrix indexed by [int(1..2), int(1..3)] of int(0..3) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..2), int(1..3), int(1..3)] of int(1..3) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..2), int(1..3), int(1..3)] of int(1..4) +branching on [x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values] +such that + and([q24 <= x_ExplicitVarSizeWithMarker_Marker[j1, j2] -> x_ExplicitVarSizeWithMarker_Values[j1, j2, q24] % 2 = 0 + | j1 : int(1..2), j2 : int(1..3), q24 : int(1..3)]), + and([and([and([q3 + 1 <= x_ExplicitVarSizeWithMarker_Marker[q1, q2] -> + x_ExplicitVarSizeWithMarker_Values[q1, q2, q3] < x_ExplicitVarSizeWithMarker_Values[q1, q2, q3 + 1] + | q3 : int(1..2)]) + | q2 : int(1..3)]) + | q1 : int(1..2)]), + and([and([and([q4 > x_ExplicitVarSizeWithMarker_Marker[q1, q2] -> x_ExplicitVarSizeWithMarker_Values[q1, q2, q4] = 1 + | q4 : int(1..3)]) + | q2 : int(1..3)]) + | q1 : int(1..2)]), + and([and([1 <= x_ExplicitVarSizeWithMarker_Marker[q1, q2] | q2 : int(1..3)]) | q1 : int(1..2)]), + and([and([and([x_ExplicitVarSizeWithDummy[q6, q7, q8] < x_ExplicitVarSizeWithDummy[q6, q7, q8 + 1] \/ + x_ExplicitVarSizeWithDummy[q6, q7, q8] = 4 + | q8 : int(1..2)]) + | q7 : int(1..3)]) + | q6 : int(1..2)]), + and([and([and([x_ExplicitVarSizeWithDummy[q6, q7, q9] = 4 -> x_ExplicitVarSizeWithDummy[q6, q7, q9 + 1] = 4 + | q9 : int(1..2)]) + | q7 : int(1..3)]) + | q6 : int(1..2)]), + and([and([1 <= sum([toInt(x_ExplicitVarSizeWithDummy[q6, q7, q10] != 4) | q10 : int(1..3)]) | q7 : int(1..3)]) + | q6 : int(1..2)]), + and([and([and([x_ExplicitVarSizeWithDummy[q12, q14, q17] != 4 -> + or([q19 <= x_ExplicitVarSizeWithMarker_Marker[q12, q14] /\ + x_ExplicitVarSizeWithMarker_Values[q12, q14, q19] = x_ExplicitVarSizeWithDummy[q12, q14, q17] + | q19 : int(1..3)]) + | q17 : int(1..3)]) + /\ + and([q21 <= x_ExplicitVarSizeWithMarker_Marker[q12, q14] -> + or([x_ExplicitVarSizeWithDummy[q12, q14, q23] != 4 /\ + x_ExplicitVarSizeWithDummy[q12, q14, q23] = x_ExplicitVarSizeWithMarker_Values[q12, q14, q21] + | q23 : int(1..3)]) + | q21 : int(1..3)]) + | q14 : int(1..3)]) + | q12 : int(1..2)]) + diff --git a/tests/exhaustive/basic/matrix_of_set_03_2d/expected/model_3_3-solution000001.solution b/tests/exhaustive/basic/matrix_of_set_03_2d/expected/model_3_3-solution000001.solution new file mode 100644 index 0000000000..88e783b8b0 --- /dev/null +++ b/tests/exhaustive/basic/matrix_of_set_03_2d/expected/model_3_3-solution000001.solution @@ -0,0 +1,13 @@ +language Essence 1.3 + +letting x be [[{2}, {2}, {2}; int(1..3)], [{2}, {2}, {2}; int(1..3)]; int(1..2)] +$ Visualisation for x +$ 2 +$ 2 +$ 2 +$ +$ 2 +$ 2 +$ 2 +$ + diff --git a/tests/exhaustive/basic/matrix_of_set_03_2d/expected/model_3_3.eprime b/tests/exhaustive/basic/matrix_of_set_03_2d/expected/model_3_3.eprime new file mode 100644 index 0000000000..470bd34100 --- /dev/null +++ b/tests/exhaustive/basic/matrix_of_set_03_2d/expected/model_3_3.eprime @@ -0,0 +1,19 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: matrix indexed by [int(1..2), int(1..3)] of int(0..3) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..2), int(1..3), int(1..3)] of int(1..3) +branching on [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values] +such that + and([q6 <= x_ExplicitVarSizeWithMarker_Marker[j1, j2] -> x_ExplicitVarSizeWithMarker_Values[j1, j2, q6] % 2 = 0 + | j1 : int(1..2), j2 : int(1..3), q6 : int(1..3)]), + and([and([and([q3 + 1 <= x_ExplicitVarSizeWithMarker_Marker[q1, q2] -> + x_ExplicitVarSizeWithMarker_Values[q1, q2, q3] < x_ExplicitVarSizeWithMarker_Values[q1, q2, q3 + 1] + | q3 : int(1..2)]) + | q2 : int(1..3)]) + | q1 : int(1..2)]), + and([and([and([q4 > x_ExplicitVarSizeWithMarker_Marker[q1, q2] -> x_ExplicitVarSizeWithMarker_Values[q1, q2, q4] = 1 + | q4 : int(1..3)]) + | q2 : int(1..3)]) + | q1 : int(1..2)]), + and([and([1 <= x_ExplicitVarSizeWithMarker_Marker[q1, q2] | q2 : int(1..3)]) | q1 : int(1..2)]) + diff --git a/tests/exhaustive/basic/matrix_of_set_03_2d/expected/model_3_4-solution000001.solution b/tests/exhaustive/basic/matrix_of_set_03_2d/expected/model_3_4-solution000001.solution new file mode 100644 index 0000000000..88e783b8b0 --- /dev/null +++ b/tests/exhaustive/basic/matrix_of_set_03_2d/expected/model_3_4-solution000001.solution @@ -0,0 +1,13 @@ +language Essence 1.3 + +letting x be [[{2}, {2}, {2}; int(1..3)], [{2}, {2}, {2}; int(1..3)]; int(1..2)] +$ Visualisation for x +$ 2 +$ 2 +$ 2 +$ +$ 2 +$ 2 +$ 2 +$ + diff --git a/tests/exhaustive/basic/matrix_of_set_03_2d/expected/model_3_4.eprime b/tests/exhaustive/basic/matrix_of_set_03_2d/expected/model_3_4.eprime new file mode 100644 index 0000000000..3685e9f034 --- /dev/null +++ b/tests/exhaustive/basic/matrix_of_set_03_2d/expected/model_3_4.eprime @@ -0,0 +1,54 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: matrix indexed by [int(1..2), int(1..3)] of int(0..3) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..2), int(1..3), int(1..3)] of int(1..3) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..2), int(1..3), int(1..3)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..2), int(1..3), int(1..3)] of int(1..3) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_ExplicitVarSizeWithMarker_Marker, + x_ExplicitVarSizeWithMarker_Values] +such that + and([q25 <= x_ExplicitVarSizeWithMarker_Marker[j1, j2] -> x_ExplicitVarSizeWithMarker_Values[j1, j2, q25] % 2 = 0 + | j1 : int(1..2), j2 : int(1..3), q25 : int(1..3)]), + and([and([and([q3 + 1 <= x_ExplicitVarSizeWithMarker_Marker[q1, q2] -> + x_ExplicitVarSizeWithMarker_Values[q1, q2, q3] < x_ExplicitVarSizeWithMarker_Values[q1, q2, q3 + 1] + | q3 : int(1..2)]) + | q2 : int(1..3)]) + | q1 : int(1..2)]), + and([and([and([q4 > x_ExplicitVarSizeWithMarker_Marker[q1, q2] -> x_ExplicitVarSizeWithMarker_Values[q1, q2, q4] = 1 + | q4 : int(1..3)]) + | q2 : int(1..3)]) + | q1 : int(1..2)]), + and([and([1 <= x_ExplicitVarSizeWithMarker_Marker[q1, q2] | q2 : int(1..3)]) | q1 : int(1..2)]), + and([and([and([x_ExplicitVarSizeWithFlags_Flags[q6, q7, q8 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q6, q7, q8] < x_ExplicitVarSizeWithFlags_Values[q6, q7, q8 + 1] + | q8 : int(1..2)]) + | q7 : int(1..3)]) + | q6 : int(1..2)]), + and([and([and([x_ExplicitVarSizeWithFlags_Flags[q6, q7, q9] = false -> + x_ExplicitVarSizeWithFlags_Values[q6, q7, q9] = 1 + | q9 : int(1..3)]) + | q7 : int(1..3)]) + | q6 : int(1..2)]), + and([and([and([x_ExplicitVarSizeWithFlags_Flags[q6, q7, q10 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q6, q7, q10] + | q10 : int(1..2)]) + | q7 : int(1..3)]) + | q6 : int(1..2)]), + and([and([1 <= sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q6, q7, q11]) | q11 : int(1..3)]) | q7 : int(1..3)]) + | q6 : int(1..2)]), + and([and([and([x_ExplicitVarSizeWithFlags_Flags[q13, q15, q18] -> + or([q20 <= x_ExplicitVarSizeWithMarker_Marker[q13, q15] /\ + x_ExplicitVarSizeWithMarker_Values[q13, q15, q20] = + x_ExplicitVarSizeWithFlags_Values[q13, q15, q18] + | q20 : int(1..3)]) + | q18 : int(1..3)]) + /\ + and([q22 <= x_ExplicitVarSizeWithMarker_Marker[q13, q15] -> + or([x_ExplicitVarSizeWithFlags_Flags[q13, q15, q24] /\ + x_ExplicitVarSizeWithFlags_Values[q13, q15, q24] = + x_ExplicitVarSizeWithMarker_Values[q13, q15, q22] + | q24 : int(1..3)]) + | q22 : int(1..3)]) + | q15 : int(1..3)]) + | q13 : int(1..2)]) + diff --git a/tests/exhaustive/basic/matrix_of_set_03_2d/expected/model_4_1-solution000001.solution b/tests/exhaustive/basic/matrix_of_set_03_2d/expected/model_4_1-solution000001.solution new file mode 100644 index 0000000000..88e783b8b0 --- /dev/null +++ b/tests/exhaustive/basic/matrix_of_set_03_2d/expected/model_4_1-solution000001.solution @@ -0,0 +1,13 @@ +language Essence 1.3 + +letting x be [[{2}, {2}, {2}; int(1..3)], [{2}, {2}, {2}; int(1..3)]; int(1..2)] +$ Visualisation for x +$ 2 +$ 2 +$ 2 +$ +$ 2 +$ 2 +$ 2 +$ + diff --git a/tests/exhaustive/basic/matrix_of_set_03_2d/expected/model_4_1.eprime b/tests/exhaustive/basic/matrix_of_set_03_2d/expected/model_4_1.eprime new file mode 100644 index 0000000000..af1e5066df --- /dev/null +++ b/tests/exhaustive/basic/matrix_of_set_03_2d/expected/model_4_1.eprime @@ -0,0 +1,38 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..2), int(1..3), int(1..3)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..2), int(1..3), int(1..3)] of int(1..3) +find x_Occurrence: matrix indexed by [int(1..2), int(1..3), int(1..3)] of bool +branching on [x_Occurrence, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values] +such that + and([x_ExplicitVarSizeWithFlags_Flags[j1, j2, q20] -> x_ExplicitVarSizeWithFlags_Values[j1, j2, q20] % 2 = 0 + | j1 : int(1..2), j2 : int(1..3), q20 : int(1..3)]), + and([and([and([x_ExplicitVarSizeWithFlags_Flags[q1, q2, q3 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1, q2, q3] < x_ExplicitVarSizeWithFlags_Values[q1, q2, q3 + 1] + | q3 : int(1..2)]) + | q2 : int(1..3)]) + | q1 : int(1..2)]), + and([and([and([x_ExplicitVarSizeWithFlags_Flags[q1, q2, q4] = false -> + x_ExplicitVarSizeWithFlags_Values[q1, q2, q4] = 1 + | q4 : int(1..3)]) + | q2 : int(1..3)]) + | q1 : int(1..2)]), + and([and([and([x_ExplicitVarSizeWithFlags_Flags[q1, q2, q5 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q1, q2, q5] + | q5 : int(1..2)]) + | q2 : int(1..3)]) + | q1 : int(1..2)]), + and([and([1 <= sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q1, q2, q6]) | q6 : int(1..3)]) | q2 : int(1..3)]) + | q1 : int(1..2)]), + and([and([1 <= sum([toInt(x_Occurrence[q8, q9, q10]) | q10 : int(1..3)]) | q9 : int(1..3)]) | q8 : int(1..2)]), + and([and([and([x_Occurrence[q11, q13, q15] -> + or([x_ExplicitVarSizeWithFlags_Flags[q11, q13, q17] /\ + x_ExplicitVarSizeWithFlags_Values[q11, q13, q17] = q15 + | q17 : int(1..3)]) + | q15 : int(1..3)]) + /\ + and([x_ExplicitVarSizeWithFlags_Flags[q11, q13, q19] -> + x_Occurrence[q11, q13, x_ExplicitVarSizeWithFlags_Values[q11, q13, q19]] + | q19 : int(1..3)]) + | q13 : int(1..3)]) + | q11 : int(1..2)]) + diff --git a/tests/exhaustive/basic/matrix_of_set_03_2d/expected/model_4_2-solution000001.solution b/tests/exhaustive/basic/matrix_of_set_03_2d/expected/model_4_2-solution000001.solution new file mode 100644 index 0000000000..88e783b8b0 --- /dev/null +++ b/tests/exhaustive/basic/matrix_of_set_03_2d/expected/model_4_2-solution000001.solution @@ -0,0 +1,13 @@ +language Essence 1.3 + +letting x be [[{2}, {2}, {2}; int(1..3)], [{2}, {2}, {2}; int(1..3)]; int(1..2)] +$ Visualisation for x +$ 2 +$ 2 +$ 2 +$ +$ 2 +$ 2 +$ 2 +$ + diff --git a/tests/exhaustive/basic/matrix_of_set_03_2d/expected/model_4_2.eprime b/tests/exhaustive/basic/matrix_of_set_03_2d/expected/model_4_2.eprime new file mode 100644 index 0000000000..18fd6c5c2f --- /dev/null +++ b/tests/exhaustive/basic/matrix_of_set_03_2d/expected/model_4_2.eprime @@ -0,0 +1,50 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..2), int(1..3), int(1..3)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..2), int(1..3), int(1..3)] of int(1..3) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..2), int(1..3), int(1..3)] of int(1..4) +branching on [x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values] +such that + and([x_ExplicitVarSizeWithFlags_Flags[j1, j2, q26] -> x_ExplicitVarSizeWithFlags_Values[j1, j2, q26] % 2 = 0 + | j1 : int(1..2), j2 : int(1..3), q26 : int(1..3)]), + and([and([and([x_ExplicitVarSizeWithFlags_Flags[q1, q2, q3 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1, q2, q3] < x_ExplicitVarSizeWithFlags_Values[q1, q2, q3 + 1] + | q3 : int(1..2)]) + | q2 : int(1..3)]) + | q1 : int(1..2)]), + and([and([and([x_ExplicitVarSizeWithFlags_Flags[q1, q2, q4] = false -> + x_ExplicitVarSizeWithFlags_Values[q1, q2, q4] = 1 + | q4 : int(1..3)]) + | q2 : int(1..3)]) + | q1 : int(1..2)]), + and([and([and([x_ExplicitVarSizeWithFlags_Flags[q1, q2, q5 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q1, q2, q5] + | q5 : int(1..2)]) + | q2 : int(1..3)]) + | q1 : int(1..2)]), + and([and([1 <= sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q1, q2, q6]) | q6 : int(1..3)]) | q2 : int(1..3)]) + | q1 : int(1..2)]), + and([and([and([x_ExplicitVarSizeWithDummy[q8, q9, q10] < x_ExplicitVarSizeWithDummy[q8, q9, q10 + 1] \/ + x_ExplicitVarSizeWithDummy[q8, q9, q10] = 4 + | q10 : int(1..2)]) + | q9 : int(1..3)]) + | q8 : int(1..2)]), + and([and([and([x_ExplicitVarSizeWithDummy[q8, q9, q11] = 4 -> x_ExplicitVarSizeWithDummy[q8, q9, q11 + 1] = 4 + | q11 : int(1..2)]) + | q9 : int(1..3)]) + | q8 : int(1..2)]), + and([and([1 <= sum([toInt(x_ExplicitVarSizeWithDummy[q8, q9, q12] != 4) | q12 : int(1..3)]) | q9 : int(1..3)]) + | q8 : int(1..2)]), + and([and([and([x_ExplicitVarSizeWithDummy[q14, q16, q19] != 4 -> + or([x_ExplicitVarSizeWithFlags_Flags[q14, q16, q21] /\ + x_ExplicitVarSizeWithFlags_Values[q14, q16, q21] = x_ExplicitVarSizeWithDummy[q14, q16, q19] + | q21 : int(1..3)]) + | q19 : int(1..3)]) + /\ + and([x_ExplicitVarSizeWithFlags_Flags[q14, q16, q23] -> + or([x_ExplicitVarSizeWithDummy[q14, q16, q25] != 4 /\ + x_ExplicitVarSizeWithDummy[q14, q16, q25] = x_ExplicitVarSizeWithFlags_Values[q14, q16, q23] + | q25 : int(1..3)]) + | q23 : int(1..3)]) + | q16 : int(1..3)]) + | q14 : int(1..2)]) + diff --git a/tests/exhaustive/basic/matrix_of_set_03_2d/expected/model_4_3-solution000001.solution b/tests/exhaustive/basic/matrix_of_set_03_2d/expected/model_4_3-solution000001.solution new file mode 100644 index 0000000000..88e783b8b0 --- /dev/null +++ b/tests/exhaustive/basic/matrix_of_set_03_2d/expected/model_4_3-solution000001.solution @@ -0,0 +1,13 @@ +language Essence 1.3 + +letting x be [[{2}, {2}, {2}; int(1..3)], [{2}, {2}, {2}; int(1..3)]; int(1..2)] +$ Visualisation for x +$ 2 +$ 2 +$ 2 +$ +$ 2 +$ 2 +$ 2 +$ + diff --git a/tests/exhaustive/basic/matrix_of_set_03_2d/expected/model_4_3.eprime b/tests/exhaustive/basic/matrix_of_set_03_2d/expected/model_4_3.eprime new file mode 100644 index 0000000000..0716f2019d --- /dev/null +++ b/tests/exhaustive/basic/matrix_of_set_03_2d/expected/model_4_3.eprime @@ -0,0 +1,55 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..2), int(1..3), int(1..3)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..2), int(1..3), int(1..3)] of int(1..3) +find x_ExplicitVarSizeWithMarker_Marker: matrix indexed by [int(1..2), int(1..3)] of int(0..3) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..2), int(1..3), int(1..3)] of int(1..3) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_ExplicitVarSizeWithFlags_Flags, + x_ExplicitVarSizeWithFlags_Values] +such that + and([x_ExplicitVarSizeWithFlags_Flags[j1, j2, q25] -> x_ExplicitVarSizeWithFlags_Values[j1, j2, q25] % 2 = 0 + | j1 : int(1..2), j2 : int(1..3), q25 : int(1..3)]), + and([and([and([x_ExplicitVarSizeWithFlags_Flags[q1, q2, q3 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1, q2, q3] < x_ExplicitVarSizeWithFlags_Values[q1, q2, q3 + 1] + | q3 : int(1..2)]) + | q2 : int(1..3)]) + | q1 : int(1..2)]), + and([and([and([x_ExplicitVarSizeWithFlags_Flags[q1, q2, q4] = false -> + x_ExplicitVarSizeWithFlags_Values[q1, q2, q4] = 1 + | q4 : int(1..3)]) + | q2 : int(1..3)]) + | q1 : int(1..2)]), + and([and([and([x_ExplicitVarSizeWithFlags_Flags[q1, q2, q5 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q1, q2, q5] + | q5 : int(1..2)]) + | q2 : int(1..3)]) + | q1 : int(1..2)]), + and([and([1 <= sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q1, q2, q6]) | q6 : int(1..3)]) | q2 : int(1..3)]) + | q1 : int(1..2)]), + and([and([and([q10 + 1 <= x_ExplicitVarSizeWithMarker_Marker[q8, q9] -> + x_ExplicitVarSizeWithMarker_Values[q8, q9, q10] < x_ExplicitVarSizeWithMarker_Values[q8, q9, q10 + 1] + | q10 : int(1..2)]) + | q9 : int(1..3)]) + | q8 : int(1..2)]), + and([and([and([q11 > x_ExplicitVarSizeWithMarker_Marker[q8, q9] -> + x_ExplicitVarSizeWithMarker_Values[q8, q9, q11] = 1 + | q11 : int(1..3)]) + | q9 : int(1..3)]) + | q8 : int(1..2)]), + and([and([1 <= x_ExplicitVarSizeWithMarker_Marker[q8, q9] | q9 : int(1..3)]) | q8 : int(1..2)]), + and([and([and([q18 <= x_ExplicitVarSizeWithMarker_Marker[q13, q15] -> + or([x_ExplicitVarSizeWithFlags_Flags[q13, q15, q20] /\ + x_ExplicitVarSizeWithFlags_Values[q13, q15, q20] = + x_ExplicitVarSizeWithMarker_Values[q13, q15, q18] + | q20 : int(1..3)]) + | q18 : int(1..3)]) + /\ + and([x_ExplicitVarSizeWithFlags_Flags[q13, q15, q22] -> + or([q24 <= x_ExplicitVarSizeWithMarker_Marker[q13, q15] /\ + x_ExplicitVarSizeWithMarker_Values[q13, q15, q24] = + x_ExplicitVarSizeWithFlags_Values[q13, q15, q22] + | q24 : int(1..3)]) + | q22 : int(1..3)]) + | q15 : int(1..3)]) + | q13 : int(1..2)]) + diff --git a/tests/exhaustive/basic/matrix_of_set_03_2d/expected/model_4_4-solution000001.solution b/tests/exhaustive/basic/matrix_of_set_03_2d/expected/model_4_4-solution000001.solution new file mode 100644 index 0000000000..88e783b8b0 --- /dev/null +++ b/tests/exhaustive/basic/matrix_of_set_03_2d/expected/model_4_4-solution000001.solution @@ -0,0 +1,13 @@ +language Essence 1.3 + +letting x be [[{2}, {2}, {2}; int(1..3)], [{2}, {2}, {2}; int(1..3)]; int(1..2)] +$ Visualisation for x +$ 2 +$ 2 +$ 2 +$ +$ 2 +$ 2 +$ 2 +$ + diff --git a/tests/exhaustive/basic/matrix_of_set_03_2d/expected/model_4_4.eprime b/tests/exhaustive/basic/matrix_of_set_03_2d/expected/model_4_4.eprime new file mode 100644 index 0000000000..a9f5c660d9 --- /dev/null +++ b/tests/exhaustive/basic/matrix_of_set_03_2d/expected/model_4_4.eprime @@ -0,0 +1,25 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..2), int(1..3), int(1..3)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..2), int(1..3), int(1..3)] of int(1..3) +branching on [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values] +such that + and([x_ExplicitVarSizeWithFlags_Flags[j1, j2, q8] -> x_ExplicitVarSizeWithFlags_Values[j1, j2, q8] % 2 = 0 + | j1 : int(1..2), j2 : int(1..3), q8 : int(1..3)]), + and([and([and([x_ExplicitVarSizeWithFlags_Flags[q1, q2, q3 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1, q2, q3] < x_ExplicitVarSizeWithFlags_Values[q1, q2, q3 + 1] + | q3 : int(1..2)]) + | q2 : int(1..3)]) + | q1 : int(1..2)]), + and([and([and([x_ExplicitVarSizeWithFlags_Flags[q1, q2, q4] = false -> + x_ExplicitVarSizeWithFlags_Values[q1, q2, q4] = 1 + | q4 : int(1..3)]) + | q2 : int(1..3)]) + | q1 : int(1..2)]), + and([and([and([x_ExplicitVarSizeWithFlags_Flags[q1, q2, q5 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q1, q2, q5] + | q5 : int(1..2)]) + | q2 : int(1..3)]) + | q1 : int(1..2)]), + and([and([1 <= sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q1, q2, q6]) | q6 : int(1..3)]) | q2 : int(1..3)]) + | q1 : int(1..2)]) + diff --git a/tests/exhaustive/basic/matrix_of_set_04_2dLit/expected/model_1_1_1_1-solution000001.solution b/tests/exhaustive/basic/matrix_of_set_04_2dLit/expected/model_1_1_1_1-solution000001.solution new file mode 100644 index 0000000000..908faf0601 --- /dev/null +++ b/tests/exhaustive/basic/matrix_of_set_04_2dLit/expected/model_1_1_1_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting a be {2} +letting b be {2} diff --git a/tests/exhaustive/basic/matrix_of_set_04_2dLit/expected/model_1_1_1_2-solution000001.solution b/tests/exhaustive/basic/matrix_of_set_04_2dLit/expected/model_1_1_1_2-solution000001.solution new file mode 100644 index 0000000000..908faf0601 --- /dev/null +++ b/tests/exhaustive/basic/matrix_of_set_04_2dLit/expected/model_1_1_1_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting a be {2} +letting b be {2} diff --git a/tests/exhaustive/basic/matrix_of_set_04_2dLit/expected/model_1_1_2_1-solution000001.solution b/tests/exhaustive/basic/matrix_of_set_04_2dLit/expected/model_1_1_2_1-solution000001.solution new file mode 100644 index 0000000000..908faf0601 --- /dev/null +++ b/tests/exhaustive/basic/matrix_of_set_04_2dLit/expected/model_1_1_2_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting a be {2} +letting b be {2} diff --git a/tests/exhaustive/basic/matrix_of_set_04_2dLit/expected/model_1_1_2_2-solution000001.solution b/tests/exhaustive/basic/matrix_of_set_04_2dLit/expected/model_1_1_2_2-solution000001.solution new file mode 100644 index 0000000000..908faf0601 --- /dev/null +++ b/tests/exhaustive/basic/matrix_of_set_04_2dLit/expected/model_1_1_2_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting a be {2} +letting b be {2} diff --git a/tests/exhaustive/basic/matrix_of_set_04_2dLit/expected/model_1_2_1_1-solution000001.solution b/tests/exhaustive/basic/matrix_of_set_04_2dLit/expected/model_1_2_1_1-solution000001.solution new file mode 100644 index 0000000000..908faf0601 --- /dev/null +++ b/tests/exhaustive/basic/matrix_of_set_04_2dLit/expected/model_1_2_1_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting a be {2} +letting b be {2} diff --git a/tests/exhaustive/basic/matrix_of_set_04_2dLit/expected/model_1_2_1_2-solution000001.solution b/tests/exhaustive/basic/matrix_of_set_04_2dLit/expected/model_1_2_1_2-solution000001.solution new file mode 100644 index 0000000000..908faf0601 --- /dev/null +++ b/tests/exhaustive/basic/matrix_of_set_04_2dLit/expected/model_1_2_1_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting a be {2} +letting b be {2} diff --git a/tests/exhaustive/basic/matrix_of_set_04_2dLit/expected/model_1_2_2_1-solution000001.solution b/tests/exhaustive/basic/matrix_of_set_04_2dLit/expected/model_1_2_2_1-solution000001.solution new file mode 100644 index 0000000000..908faf0601 --- /dev/null +++ b/tests/exhaustive/basic/matrix_of_set_04_2dLit/expected/model_1_2_2_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting a be {2} +letting b be {2} diff --git a/tests/exhaustive/basic/matrix_of_set_04_2dLit/expected/model_1_2_2_2-solution000001.solution b/tests/exhaustive/basic/matrix_of_set_04_2dLit/expected/model_1_2_2_2-solution000001.solution new file mode 100644 index 0000000000..908faf0601 --- /dev/null +++ b/tests/exhaustive/basic/matrix_of_set_04_2dLit/expected/model_1_2_2_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting a be {2} +letting b be {2} diff --git a/tests/exhaustive/basic/matrix_of_set_04_2dLit/expected/model_2_1_1_1-solution000001.solution b/tests/exhaustive/basic/matrix_of_set_04_2dLit/expected/model_2_1_1_1-solution000001.solution new file mode 100644 index 0000000000..908faf0601 --- /dev/null +++ b/tests/exhaustive/basic/matrix_of_set_04_2dLit/expected/model_2_1_1_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting a be {2} +letting b be {2} diff --git a/tests/exhaustive/basic/matrix_of_set_04_2dLit/expected/model_2_1_1_2-solution000001.solution b/tests/exhaustive/basic/matrix_of_set_04_2dLit/expected/model_2_1_1_2-solution000001.solution new file mode 100644 index 0000000000..908faf0601 --- /dev/null +++ b/tests/exhaustive/basic/matrix_of_set_04_2dLit/expected/model_2_1_1_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting a be {2} +letting b be {2} diff --git a/tests/exhaustive/basic/matrix_of_set_04_2dLit/expected/model_2_1_2_1-solution000001.solution b/tests/exhaustive/basic/matrix_of_set_04_2dLit/expected/model_2_1_2_1-solution000001.solution new file mode 100644 index 0000000000..908faf0601 --- /dev/null +++ b/tests/exhaustive/basic/matrix_of_set_04_2dLit/expected/model_2_1_2_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting a be {2} +letting b be {2} diff --git a/tests/exhaustive/basic/matrix_of_set_04_2dLit/expected/model_2_1_2_2-solution000001.solution b/tests/exhaustive/basic/matrix_of_set_04_2dLit/expected/model_2_1_2_2-solution000001.solution new file mode 100644 index 0000000000..908faf0601 --- /dev/null +++ b/tests/exhaustive/basic/matrix_of_set_04_2dLit/expected/model_2_1_2_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting a be {2} +letting b be {2} diff --git a/tests/exhaustive/basic/matrix_of_set_04_2dLit/expected/model_2_2_1_1-solution000001.solution b/tests/exhaustive/basic/matrix_of_set_04_2dLit/expected/model_2_2_1_1-solution000001.solution new file mode 100644 index 0000000000..908faf0601 --- /dev/null +++ b/tests/exhaustive/basic/matrix_of_set_04_2dLit/expected/model_2_2_1_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting a be {2} +letting b be {2} diff --git a/tests/exhaustive/basic/matrix_of_set_04_2dLit/expected/model_2_2_1_1.eprime.orig b/tests/exhaustive/basic/matrix_of_set_04_2dLit/expected/model_2_2_1_1.eprime.orig deleted file mode 100644 index 0779c860d2..0000000000 --- a/tests/exhaustive/basic/matrix_of_set_04_2dLit/expected/model_2_2_1_1.eprime.orig +++ /dev/null @@ -1,28 +0,0 @@ -language ESSENCE' 1.0 - -find a_Occurrence: matrix indexed by [int(1..3)] of bool -find a_Explicit: matrix indexed by [int(1)] of int(1..3) -find b_Occurrence: matrix indexed by [int(1..3)] of bool -find b_Explicit: matrix indexed by [int(1)] of int(1..3) -branching on [a_Explicit, a_Occurrence, b_Explicit, b_Occurrence] -such that -<<<<<<< HEAD:tests/exhaustive/basic/matrix_of_set_04_2dLit/expected/model_2_2_1_1.eprime.orig - a_Explicit[1] % 2 = 0, - b_Explicit[1] % 2 = 0, - 1 = sum([toInt(a_Occurrence[q5]) | q5 : int(1..3)]), - and([a_Occurrence[q14] -> a_Explicit[1] = q14 | q14 : int(1..3)]), - a_Occurrence[a_Explicit[1]], - 1 = sum([toInt(b_Occurrence[q6]) | q6 : int(1..3)]), - and([b_Occurrence[q7] -> b_Explicit[1] = q7 | q7 : int(1..3)]), - b_Occurrence[b_Explicit[1]] -======= - and([a_Occurrence[i] -> i % 2 = 0 | j1 : int(1..2), j2 : int(1..3), i : int(1..3), 2 = j2, 1 = j1]), - and([b_Occurrence[i] -> i % 2 = 0 | j1 : int(1..2), j2 : int(1..3), i : int(1..3), 3 = j2, 2 = j1]), - 1 = sum([toInt(a_Occurrence[q1]) | q1 : int(1..3)]), - 1 = sum([toInt(b_Occurrence[q2]) | q2 : int(1..3)]), - a_Occurrence[a_Explicit[1]], - and([a_Occurrence[q7] -> a_Explicit[1] = q7 | q7 : int(1..3)]), - b_Occurrence[b_Explicit[1]], - and([b_Occurrence[q14] -> b_Explicit[1] = q14 | q14 : int(1..3)]) ->>>>>>> main:tests/exhaustive/basic/matrix_of_set_05_2dLit/expected/model_2_2_1_1.eprime - diff --git a/tests/exhaustive/basic/matrix_of_set_04_2dLit/expected/model_2_2_1_2-solution000001.solution b/tests/exhaustive/basic/matrix_of_set_04_2dLit/expected/model_2_2_1_2-solution000001.solution new file mode 100644 index 0000000000..908faf0601 --- /dev/null +++ b/tests/exhaustive/basic/matrix_of_set_04_2dLit/expected/model_2_2_1_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting a be {2} +letting b be {2} diff --git a/tests/exhaustive/basic/matrix_of_set_04_2dLit/expected/model_2_2_2_1-solution000001.solution b/tests/exhaustive/basic/matrix_of_set_04_2dLit/expected/model_2_2_2_1-solution000001.solution new file mode 100644 index 0000000000..908faf0601 --- /dev/null +++ b/tests/exhaustive/basic/matrix_of_set_04_2dLit/expected/model_2_2_2_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting a be {2} +letting b be {2} diff --git a/tests/exhaustive/basic/matrix_of_set_04_2dLit/expected/model_2_2_2_2-solution000001.solution b/tests/exhaustive/basic/matrix_of_set_04_2dLit/expected/model_2_2_2_2-solution000001.solution new file mode 100644 index 0000000000..908faf0601 --- /dev/null +++ b/tests/exhaustive/basic/matrix_of_set_04_2dLit/expected/model_2_2_2_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting a be {2} +letting b be {2} diff --git a/tests/exhaustive/basic/matrix_of_set_05_2dLit/expected/model_1_1_1_1-solution000001.solution b/tests/exhaustive/basic/matrix_of_set_05_2dLit/expected/model_1_1_1_1-solution000001.solution new file mode 100644 index 0000000000..908faf0601 --- /dev/null +++ b/tests/exhaustive/basic/matrix_of_set_05_2dLit/expected/model_1_1_1_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting a be {2} +letting b be {2} diff --git a/tests/exhaustive/basic/matrix_of_set_05_2dLit/expected/model_1_1_1_2-solution000001.solution b/tests/exhaustive/basic/matrix_of_set_05_2dLit/expected/model_1_1_1_2-solution000001.solution new file mode 100644 index 0000000000..908faf0601 --- /dev/null +++ b/tests/exhaustive/basic/matrix_of_set_05_2dLit/expected/model_1_1_1_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting a be {2} +letting b be {2} diff --git a/tests/exhaustive/basic/matrix_of_set_05_2dLit/expected/model_1_1_2_1-solution000001.solution b/tests/exhaustive/basic/matrix_of_set_05_2dLit/expected/model_1_1_2_1-solution000001.solution new file mode 100644 index 0000000000..908faf0601 --- /dev/null +++ b/tests/exhaustive/basic/matrix_of_set_05_2dLit/expected/model_1_1_2_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting a be {2} +letting b be {2} diff --git a/tests/exhaustive/basic/matrix_of_set_05_2dLit/expected/model_1_1_2_2-solution000001.solution b/tests/exhaustive/basic/matrix_of_set_05_2dLit/expected/model_1_1_2_2-solution000001.solution new file mode 100644 index 0000000000..908faf0601 --- /dev/null +++ b/tests/exhaustive/basic/matrix_of_set_05_2dLit/expected/model_1_1_2_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting a be {2} +letting b be {2} diff --git a/tests/exhaustive/basic/matrix_of_set_05_2dLit/expected/model_1_2_1_1-solution000001.solution b/tests/exhaustive/basic/matrix_of_set_05_2dLit/expected/model_1_2_1_1-solution000001.solution new file mode 100644 index 0000000000..908faf0601 --- /dev/null +++ b/tests/exhaustive/basic/matrix_of_set_05_2dLit/expected/model_1_2_1_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting a be {2} +letting b be {2} diff --git a/tests/exhaustive/basic/matrix_of_set_05_2dLit/expected/model_1_2_1_2-solution000001.solution b/tests/exhaustive/basic/matrix_of_set_05_2dLit/expected/model_1_2_1_2-solution000001.solution new file mode 100644 index 0000000000..908faf0601 --- /dev/null +++ b/tests/exhaustive/basic/matrix_of_set_05_2dLit/expected/model_1_2_1_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting a be {2} +letting b be {2} diff --git a/tests/exhaustive/basic/matrix_of_set_05_2dLit/expected/model_1_2_2_1-solution000001.solution b/tests/exhaustive/basic/matrix_of_set_05_2dLit/expected/model_1_2_2_1-solution000001.solution new file mode 100644 index 0000000000..908faf0601 --- /dev/null +++ b/tests/exhaustive/basic/matrix_of_set_05_2dLit/expected/model_1_2_2_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting a be {2} +letting b be {2} diff --git a/tests/exhaustive/basic/matrix_of_set_05_2dLit/expected/model_1_2_2_2-solution000001.solution b/tests/exhaustive/basic/matrix_of_set_05_2dLit/expected/model_1_2_2_2-solution000001.solution new file mode 100644 index 0000000000..908faf0601 --- /dev/null +++ b/tests/exhaustive/basic/matrix_of_set_05_2dLit/expected/model_1_2_2_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting a be {2} +letting b be {2} diff --git a/tests/exhaustive/basic/matrix_of_set_05_2dLit/expected/model_2_1_1_1-solution000001.solution b/tests/exhaustive/basic/matrix_of_set_05_2dLit/expected/model_2_1_1_1-solution000001.solution new file mode 100644 index 0000000000..908faf0601 --- /dev/null +++ b/tests/exhaustive/basic/matrix_of_set_05_2dLit/expected/model_2_1_1_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting a be {2} +letting b be {2} diff --git a/tests/exhaustive/basic/matrix_of_set_05_2dLit/expected/model_2_1_1_2-solution000001.solution b/tests/exhaustive/basic/matrix_of_set_05_2dLit/expected/model_2_1_1_2-solution000001.solution new file mode 100644 index 0000000000..908faf0601 --- /dev/null +++ b/tests/exhaustive/basic/matrix_of_set_05_2dLit/expected/model_2_1_1_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting a be {2} +letting b be {2} diff --git a/tests/exhaustive/basic/matrix_of_set_05_2dLit/expected/model_2_1_2_1-solution000001.solution b/tests/exhaustive/basic/matrix_of_set_05_2dLit/expected/model_2_1_2_1-solution000001.solution new file mode 100644 index 0000000000..908faf0601 --- /dev/null +++ b/tests/exhaustive/basic/matrix_of_set_05_2dLit/expected/model_2_1_2_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting a be {2} +letting b be {2} diff --git a/tests/exhaustive/basic/matrix_of_set_05_2dLit/expected/model_2_1_2_2-solution000001.solution b/tests/exhaustive/basic/matrix_of_set_05_2dLit/expected/model_2_1_2_2-solution000001.solution new file mode 100644 index 0000000000..908faf0601 --- /dev/null +++ b/tests/exhaustive/basic/matrix_of_set_05_2dLit/expected/model_2_1_2_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting a be {2} +letting b be {2} diff --git a/tests/exhaustive/basic/matrix_of_set_05_2dLit/expected/model_2_2_1_1-solution000001.solution b/tests/exhaustive/basic/matrix_of_set_05_2dLit/expected/model_2_2_1_1-solution000001.solution new file mode 100644 index 0000000000..908faf0601 --- /dev/null +++ b/tests/exhaustive/basic/matrix_of_set_05_2dLit/expected/model_2_2_1_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting a be {2} +letting b be {2} diff --git a/tests/exhaustive/basic/matrix_of_set_05_2dLit/expected/model_2_2_1_1.eprime b/tests/exhaustive/basic/matrix_of_set_05_2dLit/expected/model_2_2_1_1.eprime new file mode 100644 index 0000000000..ffecec8aba --- /dev/null +++ b/tests/exhaustive/basic/matrix_of_set_05_2dLit/expected/model_2_2_1_1.eprime @@ -0,0 +1,17 @@ +language ESSENCE' 1.0 + +find a_Occurrence: matrix indexed by [int(1..3)] of bool +find a_Explicit: matrix indexed by [int(1)] of int(1..3) +find b_Occurrence: matrix indexed by [int(1..3)] of bool +find b_Explicit: matrix indexed by [int(1)] of int(1..3) +branching on [a_Explicit, a_Occurrence, b_Explicit, b_Occurrence] +such that + and([a_Occurrence[i] -> i % 2 = 0 | j1 : int(1..2), j2 : int(1..3), i : int(1..3), 2 = j2, 1 = j1]), + and([b_Occurrence[i] -> i % 2 = 0 | j1 : int(1..2), j2 : int(1..3), i : int(1..3), 3 = j2, 2 = j1]), + 1 = sum([toInt(a_Occurrence[q1]) | q1 : int(1..3)]), + 1 = sum([toInt(b_Occurrence[q2]) | q2 : int(1..3)]), + a_Occurrence[a_Explicit[1]], + and([a_Occurrence[q7] -> a_Explicit[1] = q7 | q7 : int(1..3)]), + b_Occurrence[b_Explicit[1]], + and([b_Occurrence[q14] -> b_Explicit[1] = q14 | q14 : int(1..3)]) + diff --git a/tests/exhaustive/basic/matrix_of_set_05_2dLit/expected/model_2_2_1_2-solution000001.solution b/tests/exhaustive/basic/matrix_of_set_05_2dLit/expected/model_2_2_1_2-solution000001.solution new file mode 100644 index 0000000000..908faf0601 --- /dev/null +++ b/tests/exhaustive/basic/matrix_of_set_05_2dLit/expected/model_2_2_1_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting a be {2} +letting b be {2} diff --git a/tests/exhaustive/basic/matrix_of_set_05_2dLit/expected/model_2_2_2_1-solution000001.solution b/tests/exhaustive/basic/matrix_of_set_05_2dLit/expected/model_2_2_2_1-solution000001.solution new file mode 100644 index 0000000000..908faf0601 --- /dev/null +++ b/tests/exhaustive/basic/matrix_of_set_05_2dLit/expected/model_2_2_2_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting a be {2} +letting b be {2} diff --git a/tests/exhaustive/basic/matrix_of_set_05_2dLit/expected/model_2_2_2_2-solution000001.solution b/tests/exhaustive/basic/matrix_of_set_05_2dLit/expected/model_2_2_2_2-solution000001.solution new file mode 100644 index 0000000000..908faf0601 --- /dev/null +++ b/tests/exhaustive/basic/matrix_of_set_05_2dLit/expected/model_2_2_2_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting a be {2} +letting b be {2} diff --git a/tests/exhaustive/basic/mset01_find/expected/model_1.eprime b/tests/exhaustive/basic/mset01_find/expected/model_1.eprime index 9116445f09..3794f0e9f2 100644 --- a/tests/exhaustive/basic/mset01_find/expected/model_1.eprime +++ b/tests/exhaustive/basic/mset01_find/expected/model_1.eprime @@ -4,8 +4,7 @@ find x_ExplicitWithFlags_Flags: matrix indexed by [int(1..4)] of int(0..2) find x_ExplicitWithFlags_Values: matrix indexed by [int(1..4)] of int(1..2) branching on [x_ExplicitWithFlags_Flags, x_ExplicitWithFlags_Values] such that - and([x_ExplicitWithFlags_Flags[q1 + 1] > 0 -> - [x_ExplicitWithFlags_Values[q1]; int(1)] 0 -> x_ExplicitWithFlags_Values[q1] < x_ExplicitWithFlags_Values[q1 + 1] | q1 : int(1..3)]), and([x_ExplicitWithFlags_Flags[q2] = 0 -> x_ExplicitWithFlags_Values[q2] = 1 | q2 : int(1..4)]), and([x_ExplicitWithFlags_Flags[q3 + 1] > 0 -> x_ExplicitWithFlags_Flags[q3] > 0 | q3 : int(1..3)]), diff --git a/tests/exhaustive/basic/mset01_find/expected/model_2.eprime b/tests/exhaustive/basic/mset01_find/expected/model_2.eprime index 49768a43b8..622b9c2da2 100644 --- a/tests/exhaustive/basic/mset01_find/expected/model_2.eprime +++ b/tests/exhaustive/basic/mset01_find/expected/model_2.eprime @@ -5,7 +5,7 @@ find x_ExplicitWithRepetition_Values: matrix indexed by [int(1..4)] of int(1..2) branching on [x_ExplicitWithRepetition_Flag, x_ExplicitWithRepetition_Values] such that and([q1 + 1 <= x_ExplicitWithRepetition_Flag -> - [x_ExplicitWithRepetition_Values[q1]; int(1)] <=lex [x_ExplicitWithRepetition_Values[q1 + 1]; int(1)] + x_ExplicitWithRepetition_Values[q1] <= x_ExplicitWithRepetition_Values[q1 + 1] | q1 : int(1..3)]), and([q2 > x_ExplicitWithRepetition_Flag -> x_ExplicitWithRepetition_Values[q2] = 1 | q2 : int(1..4)]), and([q4 <= x_ExplicitWithRepetition_Flag -> diff --git a/tests/exhaustive/basic/mset01_param/expected/model_1_1-param1-solution000001.solution b/tests/exhaustive/basic/mset01_param/expected/model_1_1-param1-solution000001.solution new file mode 100644 index 0000000000..3fc3fafe52 --- /dev/null +++ b/tests/exhaustive/basic/mset01_param/expected/model_1_1-param1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be mset() diff --git a/tests/exhaustive/basic/mset01_param/expected/model_1_1-param1.eprime-param b/tests/exhaustive/basic/mset01_param/expected/model_1_1-param1.eprime-param new file mode 100644 index 0000000000..62e729a0fe --- /dev/null +++ b/tests/exhaustive/basic/mset01_param/expected/model_1_1-param1.eprime-param @@ -0,0 +1,5 @@ +language ESSENCE' 1.0 + +letting g_ExplicitWithFlags_Flags be ([] : `matrix indexed by [int()] of bool`) +letting g_ExplicitWithFlags_Values be ([] : `matrix indexed by [int()] of int`) +letting fin1 be 0 diff --git a/tests/exhaustive/basic/mset01_param/expected/model_1_1-param4-solution000001.solution b/tests/exhaustive/basic/mset01_param/expected/model_1_1-param4-solution000001.solution new file mode 100644 index 0000000000..43c40d1c6b --- /dev/null +++ b/tests/exhaustive/basic/mset01_param/expected/model_1_1-param4-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be mset(1, 2) diff --git a/tests/exhaustive/basic/mset01_param/expected/model_1_1-param4.eprime-param b/tests/exhaustive/basic/mset01_param/expected/model_1_1-param4.eprime-param new file mode 100644 index 0000000000..f1da505f58 --- /dev/null +++ b/tests/exhaustive/basic/mset01_param/expected/model_1_1-param4.eprime-param @@ -0,0 +1,5 @@ +language ESSENCE' 1.0 + +letting g_ExplicitWithFlags_Flags be [1, 1; int(1..2)] +letting g_ExplicitWithFlags_Values be [1, 2; int(1..2)] +letting fin1 be 2 diff --git a/tests/exhaustive/basic/mset01_param/expected/model_1_1-param7-solution000001.solution b/tests/exhaustive/basic/mset01_param/expected/model_1_1-param7-solution000001.solution new file mode 100644 index 0000000000..06be1e3b32 --- /dev/null +++ b/tests/exhaustive/basic/mset01_param/expected/model_1_1-param7-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be mset(2, 2) diff --git a/tests/exhaustive/basic/mset01_param/expected/model_1_1-param7.eprime-param b/tests/exhaustive/basic/mset01_param/expected/model_1_1-param7.eprime-param new file mode 100644 index 0000000000..468cfba281 --- /dev/null +++ b/tests/exhaustive/basic/mset01_param/expected/model_1_1-param7.eprime-param @@ -0,0 +1,5 @@ +language ESSENCE' 1.0 + +letting g_ExplicitWithFlags_Flags be [2, 0; int(1..2)] +letting g_ExplicitWithFlags_Values be [2, 1; int(1..2)] +letting fin1 be 2 diff --git a/tests/exhaustive/basic/mset01_param/expected/model_1_2-param1-solution000001.solution b/tests/exhaustive/basic/mset01_param/expected/model_1_2-param1-solution000001.solution new file mode 100644 index 0000000000..3fc3fafe52 --- /dev/null +++ b/tests/exhaustive/basic/mset01_param/expected/model_1_2-param1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be mset() diff --git a/tests/exhaustive/basic/mset01_param/expected/model_1_2-param1.eprime-param b/tests/exhaustive/basic/mset01_param/expected/model_1_2-param1.eprime-param new file mode 100644 index 0000000000..62e729a0fe --- /dev/null +++ b/tests/exhaustive/basic/mset01_param/expected/model_1_2-param1.eprime-param @@ -0,0 +1,5 @@ +language ESSENCE' 1.0 + +letting g_ExplicitWithFlags_Flags be ([] : `matrix indexed by [int()] of bool`) +letting g_ExplicitWithFlags_Values be ([] : `matrix indexed by [int()] of int`) +letting fin1 be 0 diff --git a/tests/exhaustive/basic/mset01_param/expected/model_1_2-param4-solution000001.solution b/tests/exhaustive/basic/mset01_param/expected/model_1_2-param4-solution000001.solution new file mode 100644 index 0000000000..43c40d1c6b --- /dev/null +++ b/tests/exhaustive/basic/mset01_param/expected/model_1_2-param4-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be mset(1, 2) diff --git a/tests/exhaustive/basic/mset01_param/expected/model_1_2-param4.eprime-param b/tests/exhaustive/basic/mset01_param/expected/model_1_2-param4.eprime-param new file mode 100644 index 0000000000..f1da505f58 --- /dev/null +++ b/tests/exhaustive/basic/mset01_param/expected/model_1_2-param4.eprime-param @@ -0,0 +1,5 @@ +language ESSENCE' 1.0 + +letting g_ExplicitWithFlags_Flags be [1, 1; int(1..2)] +letting g_ExplicitWithFlags_Values be [1, 2; int(1..2)] +letting fin1 be 2 diff --git a/tests/exhaustive/basic/mset01_param/expected/model_1_2-param7-solution000001.solution b/tests/exhaustive/basic/mset01_param/expected/model_1_2-param7-solution000001.solution new file mode 100644 index 0000000000..06be1e3b32 --- /dev/null +++ b/tests/exhaustive/basic/mset01_param/expected/model_1_2-param7-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be mset(2, 2) diff --git a/tests/exhaustive/basic/mset01_param/expected/model_1_2-param7.eprime-param b/tests/exhaustive/basic/mset01_param/expected/model_1_2-param7.eprime-param new file mode 100644 index 0000000000..468cfba281 --- /dev/null +++ b/tests/exhaustive/basic/mset01_param/expected/model_1_2-param7.eprime-param @@ -0,0 +1,5 @@ +language ESSENCE' 1.0 + +letting g_ExplicitWithFlags_Flags be [2, 0; int(1..2)] +letting g_ExplicitWithFlags_Values be [2, 1; int(1..2)] +letting fin1 be 2 diff --git a/tests/exhaustive/basic/mset01_param/expected/model_1_3-param1-solution000001.solution b/tests/exhaustive/basic/mset01_param/expected/model_1_3-param1-solution000001.solution new file mode 100644 index 0000000000..3fc3fafe52 --- /dev/null +++ b/tests/exhaustive/basic/mset01_param/expected/model_1_3-param1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be mset() diff --git a/tests/exhaustive/basic/mset01_param/expected/model_1_3-param1.eprime-param b/tests/exhaustive/basic/mset01_param/expected/model_1_3-param1.eprime-param new file mode 100644 index 0000000000..62e729a0fe --- /dev/null +++ b/tests/exhaustive/basic/mset01_param/expected/model_1_3-param1.eprime-param @@ -0,0 +1,5 @@ +language ESSENCE' 1.0 + +letting g_ExplicitWithFlags_Flags be ([] : `matrix indexed by [int()] of bool`) +letting g_ExplicitWithFlags_Values be ([] : `matrix indexed by [int()] of int`) +letting fin1 be 0 diff --git a/tests/exhaustive/basic/mset01_param/expected/model_1_3-param4-solution000001.solution b/tests/exhaustive/basic/mset01_param/expected/model_1_3-param4-solution000001.solution new file mode 100644 index 0000000000..43c40d1c6b --- /dev/null +++ b/tests/exhaustive/basic/mset01_param/expected/model_1_3-param4-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be mset(1, 2) diff --git a/tests/exhaustive/basic/mset01_param/expected/model_1_3-param4.eprime-param b/tests/exhaustive/basic/mset01_param/expected/model_1_3-param4.eprime-param new file mode 100644 index 0000000000..f1da505f58 --- /dev/null +++ b/tests/exhaustive/basic/mset01_param/expected/model_1_3-param4.eprime-param @@ -0,0 +1,5 @@ +language ESSENCE' 1.0 + +letting g_ExplicitWithFlags_Flags be [1, 1; int(1..2)] +letting g_ExplicitWithFlags_Values be [1, 2; int(1..2)] +letting fin1 be 2 diff --git a/tests/exhaustive/basic/mset01_param/expected/model_1_3-param7-solution000001.solution b/tests/exhaustive/basic/mset01_param/expected/model_1_3-param7-solution000001.solution new file mode 100644 index 0000000000..06be1e3b32 --- /dev/null +++ b/tests/exhaustive/basic/mset01_param/expected/model_1_3-param7-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be mset(2, 2) diff --git a/tests/exhaustive/basic/mset01_param/expected/model_1_3-param7.eprime-param b/tests/exhaustive/basic/mset01_param/expected/model_1_3-param7.eprime-param new file mode 100644 index 0000000000..468cfba281 --- /dev/null +++ b/tests/exhaustive/basic/mset01_param/expected/model_1_3-param7.eprime-param @@ -0,0 +1,5 @@ +language ESSENCE' 1.0 + +letting g_ExplicitWithFlags_Flags be [2, 0; int(1..2)] +letting g_ExplicitWithFlags_Values be [2, 1; int(1..2)] +letting fin1 be 2 diff --git a/tests/exhaustive/basic/mset01_param/expected/model_2_1-param1-solution000001.solution b/tests/exhaustive/basic/mset01_param/expected/model_2_1-param1-solution000001.solution new file mode 100644 index 0000000000..3fc3fafe52 --- /dev/null +++ b/tests/exhaustive/basic/mset01_param/expected/model_2_1-param1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be mset() diff --git a/tests/exhaustive/basic/mset01_param/expected/model_2_1-param1.eprime-param b/tests/exhaustive/basic/mset01_param/expected/model_2_1-param1.eprime-param new file mode 100644 index 0000000000..62e729a0fe --- /dev/null +++ b/tests/exhaustive/basic/mset01_param/expected/model_2_1-param1.eprime-param @@ -0,0 +1,5 @@ +language ESSENCE' 1.0 + +letting g_ExplicitWithFlags_Flags be ([] : `matrix indexed by [int()] of bool`) +letting g_ExplicitWithFlags_Values be ([] : `matrix indexed by [int()] of int`) +letting fin1 be 0 diff --git a/tests/exhaustive/basic/mset01_param/expected/model_2_1-param4-solution000001.solution b/tests/exhaustive/basic/mset01_param/expected/model_2_1-param4-solution000001.solution new file mode 100644 index 0000000000..43c40d1c6b --- /dev/null +++ b/tests/exhaustive/basic/mset01_param/expected/model_2_1-param4-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be mset(1, 2) diff --git a/tests/exhaustive/basic/mset01_param/expected/model_2_1-param4.eprime-param b/tests/exhaustive/basic/mset01_param/expected/model_2_1-param4.eprime-param new file mode 100644 index 0000000000..f1da505f58 --- /dev/null +++ b/tests/exhaustive/basic/mset01_param/expected/model_2_1-param4.eprime-param @@ -0,0 +1,5 @@ +language ESSENCE' 1.0 + +letting g_ExplicitWithFlags_Flags be [1, 1; int(1..2)] +letting g_ExplicitWithFlags_Values be [1, 2; int(1..2)] +letting fin1 be 2 diff --git a/tests/exhaustive/basic/mset01_param/expected/model_2_1-param7-solution000001.solution b/tests/exhaustive/basic/mset01_param/expected/model_2_1-param7-solution000001.solution new file mode 100644 index 0000000000..06be1e3b32 --- /dev/null +++ b/tests/exhaustive/basic/mset01_param/expected/model_2_1-param7-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be mset(2, 2) diff --git a/tests/exhaustive/basic/mset01_param/expected/model_2_1-param7.eprime-param b/tests/exhaustive/basic/mset01_param/expected/model_2_1-param7.eprime-param new file mode 100644 index 0000000000..468cfba281 --- /dev/null +++ b/tests/exhaustive/basic/mset01_param/expected/model_2_1-param7.eprime-param @@ -0,0 +1,5 @@ +language ESSENCE' 1.0 + +letting g_ExplicitWithFlags_Flags be [2, 0; int(1..2)] +letting g_ExplicitWithFlags_Values be [2, 1; int(1..2)] +letting fin1 be 2 diff --git a/tests/exhaustive/basic/mset01_param/expected/model_2_2-param1-solution000001.solution b/tests/exhaustive/basic/mset01_param/expected/model_2_2-param1-solution000001.solution new file mode 100644 index 0000000000..3fc3fafe52 --- /dev/null +++ b/tests/exhaustive/basic/mset01_param/expected/model_2_2-param1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be mset() diff --git a/tests/exhaustive/basic/mset01_param/expected/model_2_2-param1.eprime-param b/tests/exhaustive/basic/mset01_param/expected/model_2_2-param1.eprime-param new file mode 100644 index 0000000000..62e729a0fe --- /dev/null +++ b/tests/exhaustive/basic/mset01_param/expected/model_2_2-param1.eprime-param @@ -0,0 +1,5 @@ +language ESSENCE' 1.0 + +letting g_ExplicitWithFlags_Flags be ([] : `matrix indexed by [int()] of bool`) +letting g_ExplicitWithFlags_Values be ([] : `matrix indexed by [int()] of int`) +letting fin1 be 0 diff --git a/tests/exhaustive/basic/mset01_param/expected/model_2_2-param4-solution000001.solution b/tests/exhaustive/basic/mset01_param/expected/model_2_2-param4-solution000001.solution new file mode 100644 index 0000000000..43c40d1c6b --- /dev/null +++ b/tests/exhaustive/basic/mset01_param/expected/model_2_2-param4-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be mset(1, 2) diff --git a/tests/exhaustive/basic/mset01_param/expected/model_2_2-param4.eprime-param b/tests/exhaustive/basic/mset01_param/expected/model_2_2-param4.eprime-param new file mode 100644 index 0000000000..f1da505f58 --- /dev/null +++ b/tests/exhaustive/basic/mset01_param/expected/model_2_2-param4.eprime-param @@ -0,0 +1,5 @@ +language ESSENCE' 1.0 + +letting g_ExplicitWithFlags_Flags be [1, 1; int(1..2)] +letting g_ExplicitWithFlags_Values be [1, 2; int(1..2)] +letting fin1 be 2 diff --git a/tests/exhaustive/basic/mset01_param/expected/model_2_2-param7-solution000001.solution b/tests/exhaustive/basic/mset01_param/expected/model_2_2-param7-solution000001.solution new file mode 100644 index 0000000000..06be1e3b32 --- /dev/null +++ b/tests/exhaustive/basic/mset01_param/expected/model_2_2-param7-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be mset(2, 2) diff --git a/tests/exhaustive/basic/mset01_param/expected/model_2_2-param7.eprime-param b/tests/exhaustive/basic/mset01_param/expected/model_2_2-param7.eprime-param new file mode 100644 index 0000000000..468cfba281 --- /dev/null +++ b/tests/exhaustive/basic/mset01_param/expected/model_2_2-param7.eprime-param @@ -0,0 +1,5 @@ +language ESSENCE' 1.0 + +letting g_ExplicitWithFlags_Flags be [2, 0; int(1..2)] +letting g_ExplicitWithFlags_Values be [2, 1; int(1..2)] +letting fin1 be 2 diff --git a/tests/exhaustive/basic/mset01_param/expected/model_2_2.eprime b/tests/exhaustive/basic/mset01_param/expected/model_2_2.eprime new file mode 100644 index 0000000000..a7170a2566 --- /dev/null +++ b/tests/exhaustive/basic/mset01_param/expected/model_2_2.eprime @@ -0,0 +1,37 @@ +language ESSENCE' 1.0 + +given fin1: int +given g_ExplicitWithFlags_Flags: matrix indexed by [int(1..fin1)] of int(0..2) +given g_ExplicitWithFlags_Values: matrix indexed by [int(1..fin1)] of int(1..2) +find x_ExplicitWithRepetition_Flag: int(0..4) +find x_ExplicitWithRepetition_Values: matrix indexed by [int(1..4)] of int(1..2) +branching on [x_ExplicitWithRepetition_Flag, x_ExplicitWithRepetition_Values] +such that + and([sum([g_ExplicitWithFlags_Flags[q10] + | q10 : int(1..fin1), g_ExplicitWithFlags_Values[q10] = g_ExplicitWithFlags_Values[q9]]) + = + sum([toInt(q12 <= x_ExplicitWithRepetition_Flag) * + catchUndef(toInt(x_ExplicitWithRepetition_Values[q12] = g_ExplicitWithFlags_Values[q9]), 0) + | q12 : int(1..4)]) + | q9 : int(1..fin1), g_ExplicitWithFlags_Flags[q9] > 0]), + and([q13 <= x_ExplicitWithRepetition_Flag -> + sum([toInt(g_ExplicitWithFlags_Values[q14] = x_ExplicitWithRepetition_Values[q13]) * + catchUndef(g_ExplicitWithFlags_Flags[q14], 0) + | q14 : int(1..fin1)]) + = + sum([toInt(q16 <= x_ExplicitWithRepetition_Flag) * + catchUndef(toInt(x_ExplicitWithRepetition_Values[q16] = x_ExplicitWithRepetition_Values[q13]), 0) + | q16 : int(1..4)]) + | q13 : int(1..4)]), + and([q1 + 1 <= x_ExplicitWithRepetition_Flag -> + x_ExplicitWithRepetition_Values[q1] <= x_ExplicitWithRepetition_Values[q1 + 1] + | q1 : int(1..3)]), + and([q2 > x_ExplicitWithRepetition_Flag -> x_ExplicitWithRepetition_Values[q2] = 1 | q2 : int(1..4)]), + and([q4 <= x_ExplicitWithRepetition_Flag -> + sum([toInt(q7 <= x_ExplicitWithRepetition_Flag) * + catchUndef(toInt(x_ExplicitWithRepetition_Values[q7] = x_ExplicitWithRepetition_Values[q4]), 0) + | q7 : int(1..4)]) + <= 2 + | q4 : int(1..4)]), + x_ExplicitWithRepetition_Flag <= 4 + diff --git a/tests/exhaustive/basic/mset01_param/expected/model_2_3-param1-solution000001.solution b/tests/exhaustive/basic/mset01_param/expected/model_2_3-param1-solution000001.solution new file mode 100644 index 0000000000..3fc3fafe52 --- /dev/null +++ b/tests/exhaustive/basic/mset01_param/expected/model_2_3-param1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be mset() diff --git a/tests/exhaustive/basic/mset01_param/expected/model_2_3-param1.eprime-param b/tests/exhaustive/basic/mset01_param/expected/model_2_3-param1.eprime-param new file mode 100644 index 0000000000..62e729a0fe --- /dev/null +++ b/tests/exhaustive/basic/mset01_param/expected/model_2_3-param1.eprime-param @@ -0,0 +1,5 @@ +language ESSENCE' 1.0 + +letting g_ExplicitWithFlags_Flags be ([] : `matrix indexed by [int()] of bool`) +letting g_ExplicitWithFlags_Values be ([] : `matrix indexed by [int()] of int`) +letting fin1 be 0 diff --git a/tests/exhaustive/basic/mset01_param/expected/model_2_3-param4-solution000001.solution b/tests/exhaustive/basic/mset01_param/expected/model_2_3-param4-solution000001.solution new file mode 100644 index 0000000000..43c40d1c6b --- /dev/null +++ b/tests/exhaustive/basic/mset01_param/expected/model_2_3-param4-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be mset(1, 2) diff --git a/tests/exhaustive/basic/mset01_param/expected/model_2_3-param4.eprime-param b/tests/exhaustive/basic/mset01_param/expected/model_2_3-param4.eprime-param new file mode 100644 index 0000000000..f1da505f58 --- /dev/null +++ b/tests/exhaustive/basic/mset01_param/expected/model_2_3-param4.eprime-param @@ -0,0 +1,5 @@ +language ESSENCE' 1.0 + +letting g_ExplicitWithFlags_Flags be [1, 1; int(1..2)] +letting g_ExplicitWithFlags_Values be [1, 2; int(1..2)] +letting fin1 be 2 diff --git a/tests/exhaustive/basic/mset01_param/expected/model_2_3-param7-solution000001.solution b/tests/exhaustive/basic/mset01_param/expected/model_2_3-param7-solution000001.solution new file mode 100644 index 0000000000..06be1e3b32 --- /dev/null +++ b/tests/exhaustive/basic/mset01_param/expected/model_2_3-param7-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be mset(2, 2) diff --git a/tests/exhaustive/basic/mset01_param/expected/model_2_3-param7.eprime-param b/tests/exhaustive/basic/mset01_param/expected/model_2_3-param7.eprime-param new file mode 100644 index 0000000000..468cfba281 --- /dev/null +++ b/tests/exhaustive/basic/mset01_param/expected/model_2_3-param7.eprime-param @@ -0,0 +1,5 @@ +language ESSENCE' 1.0 + +letting g_ExplicitWithFlags_Flags be [2, 0; int(1..2)] +letting g_ExplicitWithFlags_Values be [2, 1; int(1..2)] +letting fin1 be 2 diff --git a/tests/exhaustive/basic/mset01_param/expected/model_2_3.eprime b/tests/exhaustive/basic/mset01_param/expected/model_2_3.eprime new file mode 100644 index 0000000000..333e369e13 --- /dev/null +++ b/tests/exhaustive/basic/mset01_param/expected/model_2_3.eprime @@ -0,0 +1,51 @@ +language ESSENCE' 1.0 + +given fin1: int +given g_ExplicitWithFlags_Flags: matrix indexed by [int(1..fin1)] of int(0..2) +given g_ExplicitWithFlags_Values: matrix indexed by [int(1..fin1)] of int(1..2) +find x_ExplicitWithRepetition_Flag: int(0..4) +find x_ExplicitWithRepetition_Values: matrix indexed by [int(1..4)] of int(1..2) +find x_MOccurrence: matrix indexed by [int(1..2)] of int(0..2) +branching on [x_MOccurrence, x_ExplicitWithRepetition_Flag, x_ExplicitWithRepetition_Values] +such that + and([sum([g_ExplicitWithFlags_Flags[q18] + | q18 : int(1..fin1), g_ExplicitWithFlags_Values[q18] = g_ExplicitWithFlags_Values[q17]]) + = + sum([toInt(q20 <= x_ExplicitWithRepetition_Flag) * + catchUndef(toInt(x_ExplicitWithRepetition_Values[q20] = g_ExplicitWithFlags_Values[q17]), 0) + | q20 : int(1..4)]) + | q17 : int(1..fin1), g_ExplicitWithFlags_Flags[q17] > 0]), + and([q21 <= x_ExplicitWithRepetition_Flag -> + sum([toInt(g_ExplicitWithFlags_Values[q22] = x_ExplicitWithRepetition_Values[q21]) * + catchUndef(g_ExplicitWithFlags_Flags[q22], 0) + | q22 : int(1..fin1)]) + = + sum([toInt(q24 <= x_ExplicitWithRepetition_Flag) * + catchUndef(toInt(x_ExplicitWithRepetition_Values[q24] = x_ExplicitWithRepetition_Values[q21]), 0) + | q24 : int(1..4)]) + | q21 : int(1..4)]), + and([q1 + 1 <= x_ExplicitWithRepetition_Flag -> + x_ExplicitWithRepetition_Values[q1] <= x_ExplicitWithRepetition_Values[q1 + 1] + | q1 : int(1..3)]), + and([q2 > x_ExplicitWithRepetition_Flag -> x_ExplicitWithRepetition_Values[q2] = 1 | q2 : int(1..4)]), + and([q4 <= x_ExplicitWithRepetition_Flag -> + sum([toInt(q7 <= x_ExplicitWithRepetition_Flag) * + catchUndef(toInt(x_ExplicitWithRepetition_Values[q7] = x_ExplicitWithRepetition_Values[q4]), 0) + | q7 : int(1..4)]) + <= 2 + | q4 : int(1..4)]), + x_ExplicitWithRepetition_Flag <= 4, + sum([x_MOccurrence[q8] | q8 : int(1..2)]) <= 4, + and([x_MOccurrence[q10] > 0 -> + x_MOccurrence[q10] = + sum([toInt(q12 <= x_ExplicitWithRepetition_Flag) * + catchUndef(toInt(x_ExplicitWithRepetition_Values[q12] = q10), 0) + | q12 : int(1..4)]) + | q10 : int(1..2)]), + and([q13 <= x_ExplicitWithRepetition_Flag -> + x_MOccurrence[x_ExplicitWithRepetition_Values[q13]] = + sum([toInt(q15 <= x_ExplicitWithRepetition_Flag) * + catchUndef(toInt(x_ExplicitWithRepetition_Values[q15] = x_ExplicitWithRepetition_Values[q13]), 0) + | q15 : int(1..4)]) + | q13 : int(1..4)]) + diff --git a/tests/exhaustive/basic/mset01_param/expected/model_3_1-param1-solution000001.solution b/tests/exhaustive/basic/mset01_param/expected/model_3_1-param1-solution000001.solution new file mode 100644 index 0000000000..3fc3fafe52 --- /dev/null +++ b/tests/exhaustive/basic/mset01_param/expected/model_3_1-param1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be mset() diff --git a/tests/exhaustive/basic/mset01_param/expected/model_3_1-param1.eprime-param b/tests/exhaustive/basic/mset01_param/expected/model_3_1-param1.eprime-param new file mode 100644 index 0000000000..62e729a0fe --- /dev/null +++ b/tests/exhaustive/basic/mset01_param/expected/model_3_1-param1.eprime-param @@ -0,0 +1,5 @@ +language ESSENCE' 1.0 + +letting g_ExplicitWithFlags_Flags be ([] : `matrix indexed by [int()] of bool`) +letting g_ExplicitWithFlags_Values be ([] : `matrix indexed by [int()] of int`) +letting fin1 be 0 diff --git a/tests/exhaustive/basic/mset01_param/expected/model_3_1-param4-solution000001.solution b/tests/exhaustive/basic/mset01_param/expected/model_3_1-param4-solution000001.solution new file mode 100644 index 0000000000..43c40d1c6b --- /dev/null +++ b/tests/exhaustive/basic/mset01_param/expected/model_3_1-param4-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be mset(1, 2) diff --git a/tests/exhaustive/basic/mset01_param/expected/model_3_1-param4.eprime-param b/tests/exhaustive/basic/mset01_param/expected/model_3_1-param4.eprime-param new file mode 100644 index 0000000000..f1da505f58 --- /dev/null +++ b/tests/exhaustive/basic/mset01_param/expected/model_3_1-param4.eprime-param @@ -0,0 +1,5 @@ +language ESSENCE' 1.0 + +letting g_ExplicitWithFlags_Flags be [1, 1; int(1..2)] +letting g_ExplicitWithFlags_Values be [1, 2; int(1..2)] +letting fin1 be 2 diff --git a/tests/exhaustive/basic/mset01_param/expected/model_3_1-param7-solution000001.solution b/tests/exhaustive/basic/mset01_param/expected/model_3_1-param7-solution000001.solution new file mode 100644 index 0000000000..06be1e3b32 --- /dev/null +++ b/tests/exhaustive/basic/mset01_param/expected/model_3_1-param7-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be mset(2, 2) diff --git a/tests/exhaustive/basic/mset01_param/expected/model_3_1-param7.eprime-param b/tests/exhaustive/basic/mset01_param/expected/model_3_1-param7.eprime-param new file mode 100644 index 0000000000..468cfba281 --- /dev/null +++ b/tests/exhaustive/basic/mset01_param/expected/model_3_1-param7.eprime-param @@ -0,0 +1,5 @@ +language ESSENCE' 1.0 + +letting g_ExplicitWithFlags_Flags be [2, 0; int(1..2)] +letting g_ExplicitWithFlags_Values be [2, 1; int(1..2)] +letting fin1 be 2 diff --git a/tests/exhaustive/basic/mset01_param/expected/model_3_2-param1-solution000001.solution b/tests/exhaustive/basic/mset01_param/expected/model_3_2-param1-solution000001.solution new file mode 100644 index 0000000000..3fc3fafe52 --- /dev/null +++ b/tests/exhaustive/basic/mset01_param/expected/model_3_2-param1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be mset() diff --git a/tests/exhaustive/basic/mset01_param/expected/model_3_2-param1.eprime-param b/tests/exhaustive/basic/mset01_param/expected/model_3_2-param1.eprime-param new file mode 100644 index 0000000000..62e729a0fe --- /dev/null +++ b/tests/exhaustive/basic/mset01_param/expected/model_3_2-param1.eprime-param @@ -0,0 +1,5 @@ +language ESSENCE' 1.0 + +letting g_ExplicitWithFlags_Flags be ([] : `matrix indexed by [int()] of bool`) +letting g_ExplicitWithFlags_Values be ([] : `matrix indexed by [int()] of int`) +letting fin1 be 0 diff --git a/tests/exhaustive/basic/mset01_param/expected/model_3_2-param4-solution000001.solution b/tests/exhaustive/basic/mset01_param/expected/model_3_2-param4-solution000001.solution new file mode 100644 index 0000000000..43c40d1c6b --- /dev/null +++ b/tests/exhaustive/basic/mset01_param/expected/model_3_2-param4-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be mset(1, 2) diff --git a/tests/exhaustive/basic/mset01_param/expected/model_3_2-param4.eprime-param b/tests/exhaustive/basic/mset01_param/expected/model_3_2-param4.eprime-param new file mode 100644 index 0000000000..f1da505f58 --- /dev/null +++ b/tests/exhaustive/basic/mset01_param/expected/model_3_2-param4.eprime-param @@ -0,0 +1,5 @@ +language ESSENCE' 1.0 + +letting g_ExplicitWithFlags_Flags be [1, 1; int(1..2)] +letting g_ExplicitWithFlags_Values be [1, 2; int(1..2)] +letting fin1 be 2 diff --git a/tests/exhaustive/basic/mset01_param/expected/model_3_2-param7-solution000001.solution b/tests/exhaustive/basic/mset01_param/expected/model_3_2-param7-solution000001.solution new file mode 100644 index 0000000000..06be1e3b32 --- /dev/null +++ b/tests/exhaustive/basic/mset01_param/expected/model_3_2-param7-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be mset(2, 2) diff --git a/tests/exhaustive/basic/mset01_param/expected/model_3_2-param7.eprime-param b/tests/exhaustive/basic/mset01_param/expected/model_3_2-param7.eprime-param new file mode 100644 index 0000000000..468cfba281 --- /dev/null +++ b/tests/exhaustive/basic/mset01_param/expected/model_3_2-param7.eprime-param @@ -0,0 +1,5 @@ +language ESSENCE' 1.0 + +letting g_ExplicitWithFlags_Flags be [2, 0; int(1..2)] +letting g_ExplicitWithFlags_Values be [2, 1; int(1..2)] +letting fin1 be 2 diff --git a/tests/exhaustive/basic/mset01_param/expected/model_3_2.eprime b/tests/exhaustive/basic/mset01_param/expected/model_3_2.eprime new file mode 100644 index 0000000000..40b69ccf3d --- /dev/null +++ b/tests/exhaustive/basic/mset01_param/expected/model_3_2.eprime @@ -0,0 +1,43 @@ +language ESSENCE' 1.0 + +given fin1: int +given g_ExplicitWithFlags_Flags: matrix indexed by [int(1..fin1)] of int(0..2) +given g_ExplicitWithFlags_Values: matrix indexed by [int(1..fin1)] of int(1..2) +find x_MOccurrence: matrix indexed by [int(1..2)] of int(0..2) +find x_ExplicitWithRepetition_Flag: int(0..4) +find x_ExplicitWithRepetition_Values: matrix indexed by [int(1..4)] of int(1..2) +branching on [x_ExplicitWithRepetition_Flag, x_ExplicitWithRepetition_Values, x_MOccurrence] +such that + and([sum([g_ExplicitWithFlags_Flags[q18] + | q18 : int(1..fin1), g_ExplicitWithFlags_Values[q18] = g_ExplicitWithFlags_Values[q17]]) + = x_MOccurrence[g_ExplicitWithFlags_Values[q17]] + | q17 : int(1..fin1), g_ExplicitWithFlags_Flags[q17] > 0]), + and([x_MOccurrence[q19] > 0 -> + sum([g_ExplicitWithFlags_Flags[q20] | q20 : int(1..fin1), g_ExplicitWithFlags_Values[q20] = q19]) = + x_MOccurrence[q19] + | q19 : int(1..2)]), + sum([x_MOccurrence[q1] | q1 : int(1..2)]) <= 4, + and([q2 + 1 <= x_ExplicitWithRepetition_Flag -> + x_ExplicitWithRepetition_Values[q2] <= x_ExplicitWithRepetition_Values[q2 + 1] + | q2 : int(1..3)]), + and([q3 > x_ExplicitWithRepetition_Flag -> x_ExplicitWithRepetition_Values[q3] = 1 | q3 : int(1..4)]), + and([q5 <= x_ExplicitWithRepetition_Flag -> + sum([toInt(q8 <= x_ExplicitWithRepetition_Flag) * + catchUndef(toInt(x_ExplicitWithRepetition_Values[q8] = x_ExplicitWithRepetition_Values[q5]), 0) + | q8 : int(1..4)]) + <= 2 + | q5 : int(1..4)]), + x_ExplicitWithRepetition_Flag <= 4, + and([q10 <= x_ExplicitWithRepetition_Flag -> + sum([toInt(q12 <= x_ExplicitWithRepetition_Flag) * + catchUndef(toInt(x_ExplicitWithRepetition_Values[q12] = x_ExplicitWithRepetition_Values[q10]), 0) + | q12 : int(1..4)]) + = x_MOccurrence[x_ExplicitWithRepetition_Values[q10]] + | q10 : int(1..4)]), + and([x_MOccurrence[q13] > 0 -> + sum([toInt(q15 <= x_ExplicitWithRepetition_Flag) * + catchUndef(toInt(x_ExplicitWithRepetition_Values[q15] = q13), 0) + | q15 : int(1..4)]) + = x_MOccurrence[q13] + | q13 : int(1..2)]) + diff --git a/tests/exhaustive/basic/mset01_param/expected/model_3_3-param1-solution000001.solution b/tests/exhaustive/basic/mset01_param/expected/model_3_3-param1-solution000001.solution new file mode 100644 index 0000000000..3fc3fafe52 --- /dev/null +++ b/tests/exhaustive/basic/mset01_param/expected/model_3_3-param1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be mset() diff --git a/tests/exhaustive/basic/mset01_param/expected/model_3_3-param1.eprime-param b/tests/exhaustive/basic/mset01_param/expected/model_3_3-param1.eprime-param new file mode 100644 index 0000000000..62e729a0fe --- /dev/null +++ b/tests/exhaustive/basic/mset01_param/expected/model_3_3-param1.eprime-param @@ -0,0 +1,5 @@ +language ESSENCE' 1.0 + +letting g_ExplicitWithFlags_Flags be ([] : `matrix indexed by [int()] of bool`) +letting g_ExplicitWithFlags_Values be ([] : `matrix indexed by [int()] of int`) +letting fin1 be 0 diff --git a/tests/exhaustive/basic/mset01_param/expected/model_3_3-param4-solution000001.solution b/tests/exhaustive/basic/mset01_param/expected/model_3_3-param4-solution000001.solution new file mode 100644 index 0000000000..43c40d1c6b --- /dev/null +++ b/tests/exhaustive/basic/mset01_param/expected/model_3_3-param4-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be mset(1, 2) diff --git a/tests/exhaustive/basic/mset01_param/expected/model_3_3-param4.eprime-param b/tests/exhaustive/basic/mset01_param/expected/model_3_3-param4.eprime-param new file mode 100644 index 0000000000..f1da505f58 --- /dev/null +++ b/tests/exhaustive/basic/mset01_param/expected/model_3_3-param4.eprime-param @@ -0,0 +1,5 @@ +language ESSENCE' 1.0 + +letting g_ExplicitWithFlags_Flags be [1, 1; int(1..2)] +letting g_ExplicitWithFlags_Values be [1, 2; int(1..2)] +letting fin1 be 2 diff --git a/tests/exhaustive/basic/mset01_param/expected/model_3_3-param7-solution000001.solution b/tests/exhaustive/basic/mset01_param/expected/model_3_3-param7-solution000001.solution new file mode 100644 index 0000000000..06be1e3b32 --- /dev/null +++ b/tests/exhaustive/basic/mset01_param/expected/model_3_3-param7-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be mset(2, 2) diff --git a/tests/exhaustive/basic/mset01_param/expected/model_3_3-param7.eprime-param b/tests/exhaustive/basic/mset01_param/expected/model_3_3-param7.eprime-param new file mode 100644 index 0000000000..468cfba281 --- /dev/null +++ b/tests/exhaustive/basic/mset01_param/expected/model_3_3-param7.eprime-param @@ -0,0 +1,5 @@ +language ESSENCE' 1.0 + +letting g_ExplicitWithFlags_Flags be [2, 0; int(1..2)] +letting g_ExplicitWithFlags_Values be [2, 1; int(1..2)] +letting fin1 be 2 diff --git a/tests/exhaustive/basic/mset01_param/expected/model_3_3.eprime b/tests/exhaustive/basic/mset01_param/expected/model_3_3.eprime new file mode 100644 index 0000000000..c7c31d20ea --- /dev/null +++ b/tests/exhaustive/basic/mset01_param/expected/model_3_3.eprime @@ -0,0 +1,18 @@ +language ESSENCE' 1.0 + +given fin1: int +given g_ExplicitWithFlags_Flags: matrix indexed by [int(1..fin1)] of int(0..2) +given g_ExplicitWithFlags_Values: matrix indexed by [int(1..fin1)] of int(1..2) +find x_MOccurrence: matrix indexed by [int(1..2)] of int(0..2) +branching on [x_MOccurrence] +such that + and([sum([g_ExplicitWithFlags_Flags[q4] + | q4 : int(1..fin1), g_ExplicitWithFlags_Values[q4] = g_ExplicitWithFlags_Values[q3]]) + = x_MOccurrence[g_ExplicitWithFlags_Values[q3]] + | q3 : int(1..fin1), g_ExplicitWithFlags_Flags[q3] > 0]), + and([x_MOccurrence[q5] > 0 -> + sum([g_ExplicitWithFlags_Flags[q6] | q6 : int(1..fin1), g_ExplicitWithFlags_Values[q6] = q5]) = + x_MOccurrence[q5] + | q5 : int(1..2)]), + sum([x_MOccurrence[q1] | q1 : int(1..2)]) <= 4 + diff --git a/tests/exhaustive/basic/mset02/expected/model_1.eprime b/tests/exhaustive/basic/mset02/expected/model_1.eprime index 39f9ff47d1..ff48e4e65b 100644 --- a/tests/exhaustive/basic/mset02/expected/model_1.eprime +++ b/tests/exhaustive/basic/mset02/expected/model_1.eprime @@ -4,8 +4,7 @@ find x_ExplicitWithFlags_Flags: matrix indexed by [int(1..4)] of int(0..4) find x_ExplicitWithFlags_Values: matrix indexed by [int(1..4)] of int(1..2) branching on [x_ExplicitWithFlags_Flags, x_ExplicitWithFlags_Values] such that - and([x_ExplicitWithFlags_Flags[q1 + 1] > 0 -> - [x_ExplicitWithFlags_Values[q1]; int(1)] 0 -> x_ExplicitWithFlags_Values[q1] < x_ExplicitWithFlags_Values[q1 + 1] | q1 : int(1..3)]), and([x_ExplicitWithFlags_Flags[q2] = 0 -> x_ExplicitWithFlags_Values[q2] = 1 | q2 : int(1..4)]), and([x_ExplicitWithFlags_Flags[q3 + 1] > 0 -> x_ExplicitWithFlags_Flags[q3] > 0 | q3 : int(1..3)]), diff --git a/tests/exhaustive/basic/mset02/expected/model_2.eprime b/tests/exhaustive/basic/mset02/expected/model_2.eprime index 239b853358..cc0afc5588 100644 --- a/tests/exhaustive/basic/mset02/expected/model_2.eprime +++ b/tests/exhaustive/basic/mset02/expected/model_2.eprime @@ -5,7 +5,7 @@ find x_ExplicitWithRepetition_Values: matrix indexed by [int(1..4)] of int(1..2) branching on [x_ExplicitWithRepetition_Flag, x_ExplicitWithRepetition_Values] such that and([q1 + 1 <= x_ExplicitWithRepetition_Flag -> - [x_ExplicitWithRepetition_Values[q1]; int(1)] <=lex [x_ExplicitWithRepetition_Values[q1 + 1]; int(1)] + x_ExplicitWithRepetition_Values[q1] <= x_ExplicitWithRepetition_Values[q1 + 1] | q1 : int(1..3)]), and([q2 > x_ExplicitWithRepetition_Flag -> x_ExplicitWithRepetition_Values[q2] = 1 | q2 : int(1..4)]), x_ExplicitWithRepetition_Flag <= 4 diff --git a/tests/exhaustive/basic/mset03_1/expected/model_1.eprime b/tests/exhaustive/basic/mset03_1/expected/model_1.eprime index 4c87dce0a5..c1f542f07a 100644 --- a/tests/exhaustive/basic/mset03_1/expected/model_1.eprime +++ b/tests/exhaustive/basic/mset03_1/expected/model_1.eprime @@ -4,8 +4,7 @@ find x_ExplicitWithFlags_Flags: matrix indexed by [int(1..4)] of int(0..2) find x_ExplicitWithFlags_Values: matrix indexed by [int(1..4)] of int(1..2) branching on [x_ExplicitWithFlags_Flags, x_ExplicitWithFlags_Values] such that - and([x_ExplicitWithFlags_Flags[q1 + 1] > 0 -> - [x_ExplicitWithFlags_Values[q1]; int(1)] 0 -> x_ExplicitWithFlags_Values[q1] < x_ExplicitWithFlags_Values[q1 + 1] | q1 : int(1..3)]), and([x_ExplicitWithFlags_Flags[q2] = 0 -> x_ExplicitWithFlags_Values[q2] = 1 | q2 : int(1..4)]), and([x_ExplicitWithFlags_Flags[q3 + 1] > 0 -> x_ExplicitWithFlags_Flags[q3] > 0 | q3 : int(1..3)]) diff --git a/tests/exhaustive/basic/mset03_1/expected/model_2.eprime b/tests/exhaustive/basic/mset03_1/expected/model_2.eprime index 31ae843509..44cf254dca 100644 --- a/tests/exhaustive/basic/mset03_1/expected/model_2.eprime +++ b/tests/exhaustive/basic/mset03_1/expected/model_2.eprime @@ -5,7 +5,7 @@ find x_ExplicitWithRepetition_Values: matrix indexed by [int(1..4)] of int(1..2) branching on [x_ExplicitWithRepetition_Flag, x_ExplicitWithRepetition_Values] such that and([q1 + 1 <= x_ExplicitWithRepetition_Flag -> - [x_ExplicitWithRepetition_Values[q1]; int(1)] <=lex [x_ExplicitWithRepetition_Values[q1 + 1]; int(1)] + x_ExplicitWithRepetition_Values[q1] <= x_ExplicitWithRepetition_Values[q1 + 1] | q1 : int(1..3)]), and([q2 > x_ExplicitWithRepetition_Flag -> x_ExplicitWithRepetition_Values[q2] = 1 | q2 : int(1..4)]), and([q4 <= x_ExplicitWithRepetition_Flag -> diff --git a/tests/exhaustive/basic/mset03_2/expected/model_1.eprime b/tests/exhaustive/basic/mset03_2/expected/model_1.eprime index 246464053e..53f85ab769 100644 --- a/tests/exhaustive/basic/mset03_2/expected/model_1.eprime +++ b/tests/exhaustive/basic/mset03_2/expected/model_1.eprime @@ -4,8 +4,7 @@ find x_ExplicitWithFlags_Flags: matrix indexed by [int(1..6)] of int(0..2) find x_ExplicitWithFlags_Values: matrix indexed by [int(1..6)] of int(1..3) branching on [x_ExplicitWithFlags_Flags, x_ExplicitWithFlags_Values] such that - and([x_ExplicitWithFlags_Flags[q1 + 1] > 0 -> - [x_ExplicitWithFlags_Values[q1]; int(1)] 0 -> x_ExplicitWithFlags_Values[q1] < x_ExplicitWithFlags_Values[q1 + 1] | q1 : int(1..5)]), and([x_ExplicitWithFlags_Flags[q2] = 0 -> x_ExplicitWithFlags_Values[q2] = 1 | q2 : int(1..6)]), and([x_ExplicitWithFlags_Flags[q3 + 1] > 0 -> x_ExplicitWithFlags_Flags[q3] > 0 | q3 : int(1..5)]) diff --git a/tests/exhaustive/basic/mset03_2/expected/model_2.eprime b/tests/exhaustive/basic/mset03_2/expected/model_2.eprime index bc7fd246d0..55d05e3479 100644 --- a/tests/exhaustive/basic/mset03_2/expected/model_2.eprime +++ b/tests/exhaustive/basic/mset03_2/expected/model_2.eprime @@ -5,7 +5,7 @@ find x_ExplicitWithRepetition_Values: matrix indexed by [int(1..6)] of int(1..3) branching on [x_ExplicitWithRepetition_Flag, x_ExplicitWithRepetition_Values] such that and([q1 + 1 <= x_ExplicitWithRepetition_Flag -> - [x_ExplicitWithRepetition_Values[q1]; int(1)] <=lex [x_ExplicitWithRepetition_Values[q1 + 1]; int(1)] + x_ExplicitWithRepetition_Values[q1] <= x_ExplicitWithRepetition_Values[q1 + 1] | q1 : int(1..5)]), and([q2 > x_ExplicitWithRepetition_Flag -> x_ExplicitWithRepetition_Values[q2] = 1 | q2 : int(1..6)]), and([q4 <= x_ExplicitWithRepetition_Flag -> diff --git a/tests/exhaustive/basic/mset04/expected/model_1.eprime b/tests/exhaustive/basic/mset04/expected/model_1.eprime index 20b79160e3..d76b344480 100644 --- a/tests/exhaustive/basic/mset04/expected/model_1.eprime +++ b/tests/exhaustive/basic/mset04/expected/model_1.eprime @@ -4,8 +4,7 @@ find x_ExplicitWithFlags_Flags: matrix indexed by [int(1..4)] of int(0..2) find x_ExplicitWithFlags_Values: matrix indexed by [int(1..4)] of int(1..2) branching on [x_ExplicitWithFlags_Flags, x_ExplicitWithFlags_Values] such that - and([x_ExplicitWithFlags_Flags[q1 + 1] > 0 -> - [x_ExplicitWithFlags_Values[q1]; int(1)] 0 -> x_ExplicitWithFlags_Values[q1] < x_ExplicitWithFlags_Values[q1 + 1] | q1 : int(1..3)]), and([x_ExplicitWithFlags_Flags[q2] = 0 -> x_ExplicitWithFlags_Values[q2] = 1 | q2 : int(1..4)]), and([x_ExplicitWithFlags_Flags[q3 + 1] > 0 -> x_ExplicitWithFlags_Flags[q3] > 0 | q3 : int(1..3)]), diff --git a/tests/exhaustive/basic/mset04/expected/model_2.eprime b/tests/exhaustive/basic/mset04/expected/model_2.eprime index bd0c3f362b..3c59a6b6a4 100644 --- a/tests/exhaustive/basic/mset04/expected/model_2.eprime +++ b/tests/exhaustive/basic/mset04/expected/model_2.eprime @@ -4,8 +4,7 @@ find x_ExplicitWithRepetition_Flag: int(4) find x_ExplicitWithRepetition_Values: matrix indexed by [int(1..4)] of int(1..2) branching on [x_ExplicitWithRepetition_Flag, x_ExplicitWithRepetition_Values] such that - and([[x_ExplicitWithRepetition_Values[q1]; int(1)] <=lex [x_ExplicitWithRepetition_Values[q1 + 1]; int(1)] - | q1 : int(1..3), q1 + 1 <= 4]), + and([x_ExplicitWithRepetition_Values[q1] <= x_ExplicitWithRepetition_Values[q1 + 1] | q1 : int(1..3), q1 + 1 <= 4]), and([sum([toInt(x_ExplicitWithRepetition_Values[q7] = x_ExplicitWithRepetition_Values[q4]) | q7 : int(1..4), q7 <= 4]) <= 2 diff --git a/tests/exhaustive/basic/mset05/expected/model_1.eprime b/tests/exhaustive/basic/mset05/expected/model_1.eprime index 2f37ebea0e..3b3d46b40e 100644 --- a/tests/exhaustive/basic/mset05/expected/model_1.eprime +++ b/tests/exhaustive/basic/mset05/expected/model_1.eprime @@ -4,8 +4,7 @@ find x_ExplicitWithFlags_Flags: matrix indexed by [int(1..4)] of int(0..2) find x_ExplicitWithFlags_Values: matrix indexed by [int(1..4)] of int(1..2) branching on [x_ExplicitWithFlags_Flags, x_ExplicitWithFlags_Values] such that - and([x_ExplicitWithFlags_Flags[q1 + 1] > 0 -> - [x_ExplicitWithFlags_Values[q1]; int(1)] 0 -> x_ExplicitWithFlags_Values[q1] < x_ExplicitWithFlags_Values[q1 + 1] | q1 : int(1..3)]), and([x_ExplicitWithFlags_Flags[q2] = 0 -> x_ExplicitWithFlags_Values[q2] = 1 | q2 : int(1..4)]), and([x_ExplicitWithFlags_Flags[q3 + 1] > 0 -> x_ExplicitWithFlags_Flags[q3] > 0 | q3 : int(1..3)]), diff --git a/tests/exhaustive/basic/mset05/expected/model_2.eprime b/tests/exhaustive/basic/mset05/expected/model_2.eprime index 1ecab17108..f1a0aec2a6 100644 --- a/tests/exhaustive/basic/mset05/expected/model_2.eprime +++ b/tests/exhaustive/basic/mset05/expected/model_2.eprime @@ -5,7 +5,7 @@ find x_ExplicitWithRepetition_Values: matrix indexed by [int(1..4)] of int(1..2) branching on [x_ExplicitWithRepetition_Flag, x_ExplicitWithRepetition_Values] such that and([q1 + 1 <= x_ExplicitWithRepetition_Flag -> - [x_ExplicitWithRepetition_Values[q1]; int(1)] <=lex [x_ExplicitWithRepetition_Values[q1 + 1]; int(1)] + x_ExplicitWithRepetition_Values[q1] <= x_ExplicitWithRepetition_Values[q1 + 1] | q1 : int(1..3)]), and([q2 > x_ExplicitWithRepetition_Flag -> x_ExplicitWithRepetition_Values[q2] = 1 | q2 : int(1..4)]), and([q4 <= x_ExplicitWithRepetition_Flag -> diff --git a/tests/exhaustive/basic/mset06_1/expected/model_1.eprime b/tests/exhaustive/basic/mset06_1/expected/model_1.eprime index 28efae43f7..a7ddaa7601 100644 --- a/tests/exhaustive/basic/mset06_1/expected/model_1.eprime +++ b/tests/exhaustive/basic/mset06_1/expected/model_1.eprime @@ -4,8 +4,7 @@ find x_ExplicitWithFlags_Flags: matrix indexed by [int(1..4)] of int(0..2) find x_ExplicitWithFlags_Values: matrix indexed by [int(1..4)] of int(1..2) branching on [x_ExplicitWithFlags_Flags, x_ExplicitWithFlags_Values] such that - and([x_ExplicitWithFlags_Flags[q1 + 1] > 0 -> - [x_ExplicitWithFlags_Values[q1]; int(1)] 0 -> x_ExplicitWithFlags_Values[q1] < x_ExplicitWithFlags_Values[q1 + 1] | q1 : int(1..3)]), and([x_ExplicitWithFlags_Flags[q2] = 0 -> x_ExplicitWithFlags_Values[q2] = 1 | q2 : int(1..4)]), and([x_ExplicitWithFlags_Flags[q3 + 1] > 0 -> x_ExplicitWithFlags_Flags[q3] > 0 | q3 : int(1..3)]), diff --git a/tests/exhaustive/basic/mset06_1/expected/model_2.eprime b/tests/exhaustive/basic/mset06_1/expected/model_2.eprime index ab84402fe5..9cb4a4bdb7 100644 --- a/tests/exhaustive/basic/mset06_1/expected/model_2.eprime +++ b/tests/exhaustive/basic/mset06_1/expected/model_2.eprime @@ -5,7 +5,7 @@ find x_ExplicitWithRepetition_Values: matrix indexed by [int(1..4)] of int(1..2) branching on [x_ExplicitWithRepetition_Flag, x_ExplicitWithRepetition_Values] such that and([q1 + 1 <= x_ExplicitWithRepetition_Flag -> - [x_ExplicitWithRepetition_Values[q1]; int(1)] <=lex [x_ExplicitWithRepetition_Values[q1 + 1]; int(1)] + x_ExplicitWithRepetition_Values[q1] <= x_ExplicitWithRepetition_Values[q1 + 1] | q1 : int(1..3)]), and([q2 > x_ExplicitWithRepetition_Flag -> x_ExplicitWithRepetition_Values[q2] = 1 | q2 : int(1..4)]), and([sum([toInt(q9 <= x_ExplicitWithRepetition_Flag) * diff --git a/tests/exhaustive/basic/mset06_2/expected/model_1.eprime b/tests/exhaustive/basic/mset06_2/expected/model_1.eprime index 6cfb201e7a..6490528eb8 100644 --- a/tests/exhaustive/basic/mset06_2/expected/model_1.eprime +++ b/tests/exhaustive/basic/mset06_2/expected/model_1.eprime @@ -4,8 +4,7 @@ find x_ExplicitWithFlags_Flags: matrix indexed by [int(1..12)] of int(0..3) find x_ExplicitWithFlags_Values: matrix indexed by [int(1..12)] of int(1..4) branching on [x_ExplicitWithFlags_Flags, x_ExplicitWithFlags_Values] such that - and([x_ExplicitWithFlags_Flags[q1 + 1] > 0 -> - [x_ExplicitWithFlags_Values[q1]; int(1)] 0 -> x_ExplicitWithFlags_Values[q1] < x_ExplicitWithFlags_Values[q1 + 1] | q1 : int(1..11)]), and([x_ExplicitWithFlags_Flags[q2] = 0 -> x_ExplicitWithFlags_Values[q2] = 1 | q2 : int(1..12)]), and([x_ExplicitWithFlags_Flags[q3 + 1] > 0 -> x_ExplicitWithFlags_Flags[q3] > 0 | q3 : int(1..11)]), diff --git a/tests/exhaustive/basic/mset06_2/expected/model_2.eprime b/tests/exhaustive/basic/mset06_2/expected/model_2.eprime index ecf21db30b..1f852a8511 100644 --- a/tests/exhaustive/basic/mset06_2/expected/model_2.eprime +++ b/tests/exhaustive/basic/mset06_2/expected/model_2.eprime @@ -5,7 +5,7 @@ find x_ExplicitWithRepetition_Values: matrix indexed by [int(1..12)] of int(1..4 branching on [x_ExplicitWithRepetition_Flag, x_ExplicitWithRepetition_Values] such that and([q1 + 1 <= x_ExplicitWithRepetition_Flag -> - [x_ExplicitWithRepetition_Values[q1]; int(1)] <=lex [x_ExplicitWithRepetition_Values[q1 + 1]; int(1)] + x_ExplicitWithRepetition_Values[q1] <= x_ExplicitWithRepetition_Values[q1 + 1] | q1 : int(1..11)]), and([q2 > x_ExplicitWithRepetition_Flag -> x_ExplicitWithRepetition_Values[q2] = 1 | q2 : int(1..12)]), and([sum([toInt(q9 <= x_ExplicitWithRepetition_Flag) * diff --git a/tests/exhaustive/basic/mset07/expected/model_1.eprime b/tests/exhaustive/basic/mset07/expected/model_1.eprime index e625813276..74dbb62a4a 100644 --- a/tests/exhaustive/basic/mset07/expected/model_1.eprime +++ b/tests/exhaustive/basic/mset07/expected/model_1.eprime @@ -5,8 +5,7 @@ find x_ExplicitWithFlags_Flags: matrix indexed by [int(1..2)] of int(0..2) find x_ExplicitWithFlags_Values: matrix indexed by [int(1..2)] of int(1..a) branching on [x_ExplicitWithFlags_Flags, x_ExplicitWithFlags_Values] such that - x_ExplicitWithFlags_Flags[2] > 0 -> - [x_ExplicitWithFlags_Values[1]; int(1)] 0 -> x_ExplicitWithFlags_Values[1] < x_ExplicitWithFlags_Values[2], and([x_ExplicitWithFlags_Flags[q2] = 0 -> x_ExplicitWithFlags_Values[q2] = 1 | q2 : int(1..2)]), x_ExplicitWithFlags_Flags[2] > 0 -> x_ExplicitWithFlags_Flags[1] > 0, 2 = sum([x_ExplicitWithFlags_Flags[q6] | q6 : int(1..2)]) diff --git a/tests/exhaustive/basic/mset07/expected/model_2.eprime b/tests/exhaustive/basic/mset07/expected/model_2.eprime index c2b0c8db50..0c20d756ee 100644 --- a/tests/exhaustive/basic/mset07/expected/model_2.eprime +++ b/tests/exhaustive/basic/mset07/expected/model_2.eprime @@ -4,5 +4,5 @@ given a: int find x_ExplicitWithRepetition_Flag: int(2) find x_ExplicitWithRepetition_Values: matrix indexed by [int(1..2)] of int(1..a) branching on [x_ExplicitWithRepetition_Flag, x_ExplicitWithRepetition_Values] -such that [x_ExplicitWithRepetition_Values[1]; int(1)] <=lex [x_ExplicitWithRepetition_Values[2]; int(1)] +such that x_ExplicitWithRepetition_Values[1] <= x_ExplicitWithRepetition_Values[2] diff --git a/tests/exhaustive/basic/name-reuse/expected/model_1_1-solution000001.solution b/tests/exhaustive/basic/name-reuse/expected/model_1_1-solution000001.solution new file mode 100644 index 0000000000..d4f1477569 --- /dev/null +++ b/tests/exhaustive/basic/name-reuse/expected/model_1_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting conjure_aux1 be 1 +letting s be {3} diff --git a/tests/exhaustive/basic/name-reuse/expected/model_1_1-solution000002.solution b/tests/exhaustive/basic/name-reuse/expected/model_1_1-solution000002.solution new file mode 100644 index 0000000000..ab91f42e83 --- /dev/null +++ b/tests/exhaustive/basic/name-reuse/expected/model_1_1-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting conjure_aux1 be 1 +letting s be {3, 4} diff --git a/tests/exhaustive/basic/name-reuse/expected/model_1_1.eprime b/tests/exhaustive/basic/name-reuse/expected/model_1_1.eprime new file mode 100644 index 0000000000..225fffebc9 --- /dev/null +++ b/tests/exhaustive/basic/name-reuse/expected/model_1_1.eprime @@ -0,0 +1,13 @@ +language ESSENCE' 1.0 + +find conjure_aux1: int(1) +find s_Occurrence: matrix indexed by [int(1..4)] of bool +find conjure_aux2: int(1..4) +branching on [conjure_aux1, s_Occurrence] +such that + and([s_Occurrence[q2] -> q2 >= conjure_aux2 | q2 : int(1..4)]), + sum([toInt(s_Occurrence[q2]) | q2 : int(1..4)]) > 0 -> or([s_Occurrence[q2] /\ q2 = conjure_aux2 | q2 : int(1..4)]), + sum([toInt(s_Occurrence[q2]) | q2 : int(1..4)]) = 0 -> conjure_aux2 = 1, + conjure_aux2 = 3, + sum([toInt(s_Occurrence[q2]) | q2 : int(1..4)]) > 0 + diff --git a/tests/exhaustive/basic/name-reuse/expected/model_1_2-solution000001.solution b/tests/exhaustive/basic/name-reuse/expected/model_1_2-solution000001.solution new file mode 100644 index 0000000000..ab91f42e83 --- /dev/null +++ b/tests/exhaustive/basic/name-reuse/expected/model_1_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting conjure_aux1 be 1 +letting s be {3, 4} diff --git a/tests/exhaustive/basic/name-reuse/expected/model_1_2-solution000002.solution b/tests/exhaustive/basic/name-reuse/expected/model_1_2-solution000002.solution new file mode 100644 index 0000000000..d4f1477569 --- /dev/null +++ b/tests/exhaustive/basic/name-reuse/expected/model_1_2-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting conjure_aux1 be 1 +letting s be {3} diff --git a/tests/exhaustive/basic/name-reuse/expected/model_1_2.eprime b/tests/exhaustive/basic/name-reuse/expected/model_1_2.eprime new file mode 100644 index 0000000000..1aaa5e2e02 --- /dev/null +++ b/tests/exhaustive/basic/name-reuse/expected/model_1_2.eprime @@ -0,0 +1,22 @@ +language ESSENCE' 1.0 + +find conjure_aux1: int(1) +find s_Occurrence: matrix indexed by [int(1..4)] of bool +find s_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +find conjure_aux2: int(1..4) +branching on [conjure_aux1, s_ExplicitVarSizeWithDummy, s_Occurrence] +such that + and([s_Occurrence[q11] -> q11 >= conjure_aux2 | q11 : int(1..4)]), + sum([toInt(s_Occurrence[q11]) | q11 : int(1..4)]) > 0 -> + or([s_Occurrence[q11] /\ q11 = conjure_aux2 | q11 : int(1..4)]), + sum([toInt(s_Occurrence[q11]) | q11 : int(1..4)]) = 0 -> conjure_aux2 = 1, + conjure_aux2 = 3, + sum([toInt(s_Occurrence[q11]) | q11 : int(1..4)]) > 0, + and([s_ExplicitVarSizeWithDummy[q2] < s_ExplicitVarSizeWithDummy[q2 + 1] \/ s_ExplicitVarSizeWithDummy[q2] = 5 + | q2 : int(1..3)]), + and([s_ExplicitVarSizeWithDummy[q3] = 5 -> s_ExplicitVarSizeWithDummy[q3 + 1] = 5 | q3 : int(1..3)]), + and([s_ExplicitVarSizeWithDummy[q7] != 5 -> s_Occurrence[s_ExplicitVarSizeWithDummy[q7]] | q7 : int(1..4)]), + and([s_Occurrence[q8] -> + or([s_ExplicitVarSizeWithDummy[q10] != 5 /\ s_ExplicitVarSizeWithDummy[q10] = q8 | q10 : int(1..4)]) + | q8 : int(1..4)]) + diff --git a/tests/exhaustive/basic/name-reuse/expected/model_1_3-solution000001.solution b/tests/exhaustive/basic/name-reuse/expected/model_1_3-solution000001.solution new file mode 100644 index 0000000000..d4f1477569 --- /dev/null +++ b/tests/exhaustive/basic/name-reuse/expected/model_1_3-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting conjure_aux1 be 1 +letting s be {3} diff --git a/tests/exhaustive/basic/name-reuse/expected/model_1_3-solution000002.solution b/tests/exhaustive/basic/name-reuse/expected/model_1_3-solution000002.solution new file mode 100644 index 0000000000..ab91f42e83 --- /dev/null +++ b/tests/exhaustive/basic/name-reuse/expected/model_1_3-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting conjure_aux1 be 1 +letting s be {3, 4} diff --git a/tests/exhaustive/basic/name-reuse/expected/model_1_3.eprime b/tests/exhaustive/basic/name-reuse/expected/model_1_3.eprime new file mode 100644 index 0000000000..90ed8b70f3 --- /dev/null +++ b/tests/exhaustive/basic/name-reuse/expected/model_1_3.eprime @@ -0,0 +1,25 @@ +language ESSENCE' 1.0 + +find conjure_aux1: int(1) +find s_Occurrence: matrix indexed by [int(1..4)] of bool +find s_ExplicitVarSizeWithMarker_Marker: int(0..4) +find s_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +find conjure_aux2: int(1..4) +branching on [conjure_aux1, s_ExplicitVarSizeWithMarker_Marker, s_ExplicitVarSizeWithMarker_Values, s_Occurrence] +such that + and([s_Occurrence[q10] -> q10 >= conjure_aux2 | q10 : int(1..4)]), + sum([toInt(s_Occurrence[q10]) | q10 : int(1..4)]) > 0 -> + or([s_Occurrence[q10] /\ q10 = conjure_aux2 | q10 : int(1..4)]), + sum([toInt(s_Occurrence[q10]) | q10 : int(1..4)]) = 0 -> conjure_aux2 = 1, + conjure_aux2 = 3, + sum([toInt(s_Occurrence[q10]) | q10 : int(1..4)]) > 0, + and([q2 + 1 <= s_ExplicitVarSizeWithMarker_Marker -> + s_ExplicitVarSizeWithMarker_Values[q2] < s_ExplicitVarSizeWithMarker_Values[q2 + 1] + | q2 : int(1..3)]), + and([q3 > s_ExplicitVarSizeWithMarker_Marker -> s_ExplicitVarSizeWithMarker_Values[q3] = 1 | q3 : int(1..4)]), + and([q6 <= s_ExplicitVarSizeWithMarker_Marker -> s_Occurrence[s_ExplicitVarSizeWithMarker_Values[q6]] + | q6 : int(1..4)]), + and([s_Occurrence[q7] -> + or([q9 <= s_ExplicitVarSizeWithMarker_Marker /\ s_ExplicitVarSizeWithMarker_Values[q9] = q7 | q9 : int(1..4)]) + | q7 : int(1..4)]) + diff --git a/tests/exhaustive/basic/name-reuse/expected/model_1_4-solution000001.solution b/tests/exhaustive/basic/name-reuse/expected/model_1_4-solution000001.solution new file mode 100644 index 0000000000..d4f1477569 --- /dev/null +++ b/tests/exhaustive/basic/name-reuse/expected/model_1_4-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting conjure_aux1 be 1 +letting s be {3} diff --git a/tests/exhaustive/basic/name-reuse/expected/model_1_4-solution000002.solution b/tests/exhaustive/basic/name-reuse/expected/model_1_4-solution000002.solution new file mode 100644 index 0000000000..ab91f42e83 --- /dev/null +++ b/tests/exhaustive/basic/name-reuse/expected/model_1_4-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting conjure_aux1 be 1 +letting s be {3, 4} diff --git a/tests/exhaustive/basic/name-reuse/expected/model_1_4.eprime b/tests/exhaustive/basic/name-reuse/expected/model_1_4.eprime new file mode 100644 index 0000000000..f0a2271016 --- /dev/null +++ b/tests/exhaustive/basic/name-reuse/expected/model_1_4.eprime @@ -0,0 +1,25 @@ +language ESSENCE' 1.0 + +find conjure_aux1: int(1) +find s_Occurrence: matrix indexed by [int(1..4)] of bool +find s_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find s_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +find conjure_aux2: int(1..4) +branching on [conjure_aux1, s_ExplicitVarSizeWithFlags_Flags, s_ExplicitVarSizeWithFlags_Values, s_Occurrence] +such that + and([s_Occurrence[q12] -> q12 >= conjure_aux2 | q12 : int(1..4)]), + sum([toInt(s_Occurrence[q12]) | q12 : int(1..4)]) > 0 -> + or([s_Occurrence[q12] /\ q12 = conjure_aux2 | q12 : int(1..4)]), + sum([toInt(s_Occurrence[q12]) | q12 : int(1..4)]) = 0 -> conjure_aux2 = 1, + conjure_aux2 = 3, + sum([toInt(s_Occurrence[q12]) | q12 : int(1..4)]) > 0, + and([s_ExplicitVarSizeWithFlags_Flags[q2 + 1] -> + s_ExplicitVarSizeWithFlags_Values[q2] < s_ExplicitVarSizeWithFlags_Values[q2 + 1] + | q2 : int(1..3)]), + and([s_ExplicitVarSizeWithFlags_Flags[q3] = false -> s_ExplicitVarSizeWithFlags_Values[q3] = 1 | q3 : int(1..4)]), + and([s_ExplicitVarSizeWithFlags_Flags[q4 + 1] -> s_ExplicitVarSizeWithFlags_Flags[q4] | q4 : int(1..3)]), + and([s_ExplicitVarSizeWithFlags_Flags[q8] -> s_Occurrence[s_ExplicitVarSizeWithFlags_Values[q8]] | q8 : int(1..4)]), + and([s_Occurrence[q9] -> + or([s_ExplicitVarSizeWithFlags_Flags[q11] /\ s_ExplicitVarSizeWithFlags_Values[q11] = q9 | q11 : int(1..4)]) + | q9 : int(1..4)]) + diff --git a/tests/exhaustive/basic/name-reuse/expected/model_2_1-solution000001.solution b/tests/exhaustive/basic/name-reuse/expected/model_2_1-solution000001.solution new file mode 100644 index 0000000000..d4f1477569 --- /dev/null +++ b/tests/exhaustive/basic/name-reuse/expected/model_2_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting conjure_aux1 be 1 +letting s be {3} diff --git a/tests/exhaustive/basic/name-reuse/expected/model_2_1-solution000002.solution b/tests/exhaustive/basic/name-reuse/expected/model_2_1-solution000002.solution new file mode 100644 index 0000000000..ab91f42e83 --- /dev/null +++ b/tests/exhaustive/basic/name-reuse/expected/model_2_1-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting conjure_aux1 be 1 +letting s be {3, 4} diff --git a/tests/exhaustive/basic/name-reuse/expected/model_2_1.eprime b/tests/exhaustive/basic/name-reuse/expected/model_2_1.eprime new file mode 100644 index 0000000000..7abd51269f --- /dev/null +++ b/tests/exhaustive/basic/name-reuse/expected/model_2_1.eprime @@ -0,0 +1,22 @@ +language ESSENCE' 1.0 + +find conjure_aux1: int(1) +find s_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +find s_Occurrence: matrix indexed by [int(1..4)] of bool +find conjure_aux2: int(1..5) +branching on [conjure_aux1, s_Occurrence, s_ExplicitVarSizeWithDummy] +such that + and([s_ExplicitVarSizeWithDummy[q7] != 5 -> s_ExplicitVarSizeWithDummy[q7] >= conjure_aux2 | q7 : int(1..4)]), + sum([toInt(s_ExplicitVarSizeWithDummy[q7] != 5) | q7 : int(1..4)]) > 0 -> + or([s_ExplicitVarSizeWithDummy[q7] != 5 /\ s_ExplicitVarSizeWithDummy[q7] = conjure_aux2 | q7 : int(1..4)]), + sum([toInt(s_ExplicitVarSizeWithDummy[q7] != 5) | q7 : int(1..4)]) = 0 -> conjure_aux2 = 1, + conjure_aux2 = 3, + sum([toInt(s_ExplicitVarSizeWithDummy[q7] != 5) | q7 : int(1..4)]) > 0, + and([s_ExplicitVarSizeWithDummy[q1] < s_ExplicitVarSizeWithDummy[q1 + 1] \/ s_ExplicitVarSizeWithDummy[q1] = 5 + | q1 : int(1..3)]), + and([s_ExplicitVarSizeWithDummy[q2] = 5 -> s_ExplicitVarSizeWithDummy[q2 + 1] = 5 | q2 : int(1..3)]), + and([s_Occurrence[q8] -> + or([s_ExplicitVarSizeWithDummy[q10] != 5 /\ s_ExplicitVarSizeWithDummy[q10] = q8 | q10 : int(1..4)]) + | q8 : int(1..4)]), + and([s_ExplicitVarSizeWithDummy[q12] != 5 -> s_Occurrence[s_ExplicitVarSizeWithDummy[q12]] | q12 : int(1..4)]) + diff --git a/tests/exhaustive/basic/name-reuse/expected/model_2_2-solution000001.solution b/tests/exhaustive/basic/name-reuse/expected/model_2_2-solution000001.solution new file mode 100644 index 0000000000..ab91f42e83 --- /dev/null +++ b/tests/exhaustive/basic/name-reuse/expected/model_2_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting conjure_aux1 be 1 +letting s be {3, 4} diff --git a/tests/exhaustive/basic/name-reuse/expected/model_2_2-solution000002.solution b/tests/exhaustive/basic/name-reuse/expected/model_2_2-solution000002.solution new file mode 100644 index 0000000000..d4f1477569 --- /dev/null +++ b/tests/exhaustive/basic/name-reuse/expected/model_2_2-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting conjure_aux1 be 1 +letting s be {3} diff --git a/tests/exhaustive/basic/name-reuse/expected/model_2_2.eprime b/tests/exhaustive/basic/name-reuse/expected/model_2_2.eprime new file mode 100644 index 0000000000..706b338fed --- /dev/null +++ b/tests/exhaustive/basic/name-reuse/expected/model_2_2.eprime @@ -0,0 +1,17 @@ +language ESSENCE' 1.0 + +find conjure_aux1: int(1) +find s_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +find conjure_aux2: int(1..5) +branching on [conjure_aux1, s_ExplicitVarSizeWithDummy] +such that + and([s_ExplicitVarSizeWithDummy[q6] != 5 -> s_ExplicitVarSizeWithDummy[q6] >= conjure_aux2 | q6 : int(1..4)]), + sum([toInt(s_ExplicitVarSizeWithDummy[q6] != 5) | q6 : int(1..4)]) > 0 -> + or([s_ExplicitVarSizeWithDummy[q6] != 5 /\ s_ExplicitVarSizeWithDummy[q6] = conjure_aux2 | q6 : int(1..4)]), + sum([toInt(s_ExplicitVarSizeWithDummy[q6] != 5) | q6 : int(1..4)]) = 0 -> conjure_aux2 = 1, + conjure_aux2 = 3, + sum([toInt(s_ExplicitVarSizeWithDummy[q6] != 5) | q6 : int(1..4)]) > 0, + and([s_ExplicitVarSizeWithDummy[q1] < s_ExplicitVarSizeWithDummy[q1 + 1] \/ s_ExplicitVarSizeWithDummy[q1] = 5 + | q1 : int(1..3)]), + and([s_ExplicitVarSizeWithDummy[q2] = 5 -> s_ExplicitVarSizeWithDummy[q2 + 1] = 5 | q2 : int(1..3)]) + diff --git a/tests/exhaustive/basic/name-reuse/expected/model_2_3-solution000001.solution b/tests/exhaustive/basic/name-reuse/expected/model_2_3-solution000001.solution new file mode 100644 index 0000000000..d4f1477569 --- /dev/null +++ b/tests/exhaustive/basic/name-reuse/expected/model_2_3-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting conjure_aux1 be 1 +letting s be {3} diff --git a/tests/exhaustive/basic/name-reuse/expected/model_2_3-solution000002.solution b/tests/exhaustive/basic/name-reuse/expected/model_2_3-solution000002.solution new file mode 100644 index 0000000000..ab91f42e83 --- /dev/null +++ b/tests/exhaustive/basic/name-reuse/expected/model_2_3-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting conjure_aux1 be 1 +letting s be {3, 4} diff --git a/tests/exhaustive/basic/name-reuse/expected/model_2_3.eprime b/tests/exhaustive/basic/name-reuse/expected/model_2_3.eprime new file mode 100644 index 0000000000..91c6277604 --- /dev/null +++ b/tests/exhaustive/basic/name-reuse/expected/model_2_3.eprime @@ -0,0 +1,34 @@ +language ESSENCE' 1.0 + +find conjure_aux1: int(1) +find s_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +find s_ExplicitVarSizeWithMarker_Marker: int(0..4) +find s_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +find conjure_aux2: int(1..5) +branching on + [conjure_aux1, s_ExplicitVarSizeWithMarker_Marker, s_ExplicitVarSizeWithMarker_Values, s_ExplicitVarSizeWithDummy] +such that + and([s_ExplicitVarSizeWithDummy[q17] != 5 -> s_ExplicitVarSizeWithDummy[q17] >= conjure_aux2 | q17 : int(1..4)]), + sum([toInt(s_ExplicitVarSizeWithDummy[q17] != 5) | q17 : int(1..4)]) > 0 -> + or([s_ExplicitVarSizeWithDummy[q17] != 5 /\ s_ExplicitVarSizeWithDummy[q17] = conjure_aux2 | q17 : int(1..4)]), + sum([toInt(s_ExplicitVarSizeWithDummy[q17] != 5) | q17 : int(1..4)]) = 0 -> conjure_aux2 = 1, + conjure_aux2 = 3, + sum([toInt(s_ExplicitVarSizeWithDummy[q17] != 5) | q17 : int(1..4)]) > 0, + and([s_ExplicitVarSizeWithDummy[q1] < s_ExplicitVarSizeWithDummy[q1 + 1] \/ s_ExplicitVarSizeWithDummy[q1] = 5 + | q1 : int(1..3)]), + and([s_ExplicitVarSizeWithDummy[q2] = 5 -> s_ExplicitVarSizeWithDummy[q2 + 1] = 5 | q2 : int(1..3)]), + and([q5 + 1 <= s_ExplicitVarSizeWithMarker_Marker -> + s_ExplicitVarSizeWithMarker_Values[q5] < s_ExplicitVarSizeWithMarker_Values[q5 + 1] + | q5 : int(1..3)]), + and([q6 > s_ExplicitVarSizeWithMarker_Marker -> s_ExplicitVarSizeWithMarker_Values[q6] = 1 | q6 : int(1..4)]), + and([q9 <= s_ExplicitVarSizeWithMarker_Marker -> + or([s_ExplicitVarSizeWithDummy[q11] != 5 /\ + s_ExplicitVarSizeWithDummy[q11] = s_ExplicitVarSizeWithMarker_Values[q9] + | q11 : int(1..4)]) + | q9 : int(1..4)]), + and([s_ExplicitVarSizeWithDummy[q13] != 5 -> + or([q15 <= s_ExplicitVarSizeWithMarker_Marker /\ + s_ExplicitVarSizeWithMarker_Values[q15] = s_ExplicitVarSizeWithDummy[q13] + | q15 : int(1..4)]) + | q13 : int(1..4)]) + diff --git a/tests/exhaustive/basic/name-reuse/expected/model_2_4-solution000001.solution b/tests/exhaustive/basic/name-reuse/expected/model_2_4-solution000001.solution new file mode 100644 index 0000000000..d4f1477569 --- /dev/null +++ b/tests/exhaustive/basic/name-reuse/expected/model_2_4-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting conjure_aux1 be 1 +letting s be {3} diff --git a/tests/exhaustive/basic/name-reuse/expected/model_2_4-solution000002.solution b/tests/exhaustive/basic/name-reuse/expected/model_2_4-solution000002.solution new file mode 100644 index 0000000000..ab91f42e83 --- /dev/null +++ b/tests/exhaustive/basic/name-reuse/expected/model_2_4-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting conjure_aux1 be 1 +letting s be {3, 4} diff --git a/tests/exhaustive/basic/name-reuse/expected/model_2_4.eprime b/tests/exhaustive/basic/name-reuse/expected/model_2_4.eprime new file mode 100644 index 0000000000..a42a0dabce --- /dev/null +++ b/tests/exhaustive/basic/name-reuse/expected/model_2_4.eprime @@ -0,0 +1,35 @@ +language ESSENCE' 1.0 + +find conjure_aux1: int(1) +find s_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +find s_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find s_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +find conjure_aux2: int(1..5) +branching on + [conjure_aux1, s_ExplicitVarSizeWithFlags_Flags, s_ExplicitVarSizeWithFlags_Values, s_ExplicitVarSizeWithDummy] +such that + and([s_ExplicitVarSizeWithDummy[q19] != 5 -> s_ExplicitVarSizeWithDummy[q19] >= conjure_aux2 | q19 : int(1..4)]), + sum([toInt(s_ExplicitVarSizeWithDummy[q19] != 5) | q19 : int(1..4)]) > 0 -> + or([s_ExplicitVarSizeWithDummy[q19] != 5 /\ s_ExplicitVarSizeWithDummy[q19] = conjure_aux2 | q19 : int(1..4)]), + sum([toInt(s_ExplicitVarSizeWithDummy[q19] != 5) | q19 : int(1..4)]) = 0 -> conjure_aux2 = 1, + conjure_aux2 = 3, + sum([toInt(s_ExplicitVarSizeWithDummy[q19] != 5) | q19 : int(1..4)]) > 0, + and([s_ExplicitVarSizeWithDummy[q1] < s_ExplicitVarSizeWithDummy[q1 + 1] \/ s_ExplicitVarSizeWithDummy[q1] = 5 + | q1 : int(1..3)]), + and([s_ExplicitVarSizeWithDummy[q2] = 5 -> s_ExplicitVarSizeWithDummy[q2 + 1] = 5 | q2 : int(1..3)]), + and([s_ExplicitVarSizeWithFlags_Flags[q5 + 1] -> + s_ExplicitVarSizeWithFlags_Values[q5] < s_ExplicitVarSizeWithFlags_Values[q5 + 1] + | q5 : int(1..3)]), + and([s_ExplicitVarSizeWithFlags_Flags[q6] = false -> s_ExplicitVarSizeWithFlags_Values[q6] = 1 | q6 : int(1..4)]), + and([s_ExplicitVarSizeWithFlags_Flags[q7 + 1] -> s_ExplicitVarSizeWithFlags_Flags[q7] | q7 : int(1..3)]), + and([s_ExplicitVarSizeWithFlags_Flags[q11] -> + or([s_ExplicitVarSizeWithDummy[q13] != 5 /\ + s_ExplicitVarSizeWithDummy[q13] = s_ExplicitVarSizeWithFlags_Values[q11] + | q13 : int(1..4)]) + | q11 : int(1..4)]), + and([s_ExplicitVarSizeWithDummy[q15] != 5 -> + or([s_ExplicitVarSizeWithFlags_Flags[q17] /\ + s_ExplicitVarSizeWithFlags_Values[q17] = s_ExplicitVarSizeWithDummy[q15] + | q17 : int(1..4)]) + | q15 : int(1..4)]) + diff --git a/tests/exhaustive/basic/name-reuse/expected/model_3_1-solution000001.solution b/tests/exhaustive/basic/name-reuse/expected/model_3_1-solution000001.solution new file mode 100644 index 0000000000..d4f1477569 --- /dev/null +++ b/tests/exhaustive/basic/name-reuse/expected/model_3_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting conjure_aux1 be 1 +letting s be {3} diff --git a/tests/exhaustive/basic/name-reuse/expected/model_3_1-solution000002.solution b/tests/exhaustive/basic/name-reuse/expected/model_3_1-solution000002.solution new file mode 100644 index 0000000000..ab91f42e83 --- /dev/null +++ b/tests/exhaustive/basic/name-reuse/expected/model_3_1-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting conjure_aux1 be 1 +letting s be {3, 4} diff --git a/tests/exhaustive/basic/name-reuse/expected/model_3_1.eprime b/tests/exhaustive/basic/name-reuse/expected/model_3_1.eprime new file mode 100644 index 0000000000..0f6a2844e2 --- /dev/null +++ b/tests/exhaustive/basic/name-reuse/expected/model_3_1.eprime @@ -0,0 +1,27 @@ +language ESSENCE' 1.0 + +find conjure_aux1: int(1) +find s_ExplicitVarSizeWithMarker_Marker: int(0..4) +find s_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +find s_Occurrence: matrix indexed by [int(1..4)] of bool +find conjure_aux2: int(1..4) +branching on [conjure_aux1, s_Occurrence, s_ExplicitVarSizeWithMarker_Marker, s_ExplicitVarSizeWithMarker_Values] +such that + and([q6 <= s_ExplicitVarSizeWithMarker_Marker -> s_ExplicitVarSizeWithMarker_Values[q6] >= conjure_aux2 + | q6 : int(1..4)]), + sum([toInt(q6 <= s_ExplicitVarSizeWithMarker_Marker) | q6 : int(1..4)]) > 0 -> + or([q6 <= s_ExplicitVarSizeWithMarker_Marker /\ s_ExplicitVarSizeWithMarker_Values[q6] = conjure_aux2 + | q6 : int(1..4)]), + sum([toInt(q6 <= s_ExplicitVarSizeWithMarker_Marker) | q6 : int(1..4)]) = 0 -> conjure_aux2 = 1, + conjure_aux2 = 3, + sum([toInt(q6 <= s_ExplicitVarSizeWithMarker_Marker) | q6 : int(1..4)]) > 0, + and([q1 + 1 <= s_ExplicitVarSizeWithMarker_Marker -> + s_ExplicitVarSizeWithMarker_Values[q1] < s_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..3)]), + and([q2 > s_ExplicitVarSizeWithMarker_Marker -> s_ExplicitVarSizeWithMarker_Values[q2] = 1 | q2 : int(1..4)]), + and([s_Occurrence[q7] -> + or([q9 <= s_ExplicitVarSizeWithMarker_Marker /\ s_ExplicitVarSizeWithMarker_Values[q9] = q7 | q9 : int(1..4)]) + | q7 : int(1..4)]), + and([q11 <= s_ExplicitVarSizeWithMarker_Marker -> s_Occurrence[s_ExplicitVarSizeWithMarker_Values[q11]] + | q11 : int(1..4)]) + diff --git a/tests/exhaustive/basic/name-reuse/expected/model_3_2-solution000001.solution b/tests/exhaustive/basic/name-reuse/expected/model_3_2-solution000001.solution new file mode 100644 index 0000000000..ab91f42e83 --- /dev/null +++ b/tests/exhaustive/basic/name-reuse/expected/model_3_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting conjure_aux1 be 1 +letting s be {3, 4} diff --git a/tests/exhaustive/basic/name-reuse/expected/model_3_2-solution000002.solution b/tests/exhaustive/basic/name-reuse/expected/model_3_2-solution000002.solution new file mode 100644 index 0000000000..d4f1477569 --- /dev/null +++ b/tests/exhaustive/basic/name-reuse/expected/model_3_2-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting conjure_aux1 be 1 +letting s be {3} diff --git a/tests/exhaustive/basic/name-reuse/expected/model_3_2.eprime b/tests/exhaustive/basic/name-reuse/expected/model_3_2.eprime new file mode 100644 index 0000000000..ae3b9a8a9d --- /dev/null +++ b/tests/exhaustive/basic/name-reuse/expected/model_3_2.eprime @@ -0,0 +1,36 @@ +language ESSENCE' 1.0 + +find conjure_aux1: int(1) +find s_ExplicitVarSizeWithMarker_Marker: int(0..4) +find s_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +find s_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +find conjure_aux2: int(1..4) +branching on + [conjure_aux1, s_ExplicitVarSizeWithDummy, s_ExplicitVarSizeWithMarker_Marker, s_ExplicitVarSizeWithMarker_Values] +such that + and([q17 <= s_ExplicitVarSizeWithMarker_Marker -> s_ExplicitVarSizeWithMarker_Values[q17] >= conjure_aux2 + | q17 : int(1..4)]), + sum([toInt(q17 <= s_ExplicitVarSizeWithMarker_Marker) | q17 : int(1..4)]) > 0 -> + or([q17 <= s_ExplicitVarSizeWithMarker_Marker /\ s_ExplicitVarSizeWithMarker_Values[q17] = conjure_aux2 + | q17 : int(1..4)]), + sum([toInt(q17 <= s_ExplicitVarSizeWithMarker_Marker) | q17 : int(1..4)]) = 0 -> conjure_aux2 = 1, + conjure_aux2 = 3, + sum([toInt(q17 <= s_ExplicitVarSizeWithMarker_Marker) | q17 : int(1..4)]) > 0, + and([q1 + 1 <= s_ExplicitVarSizeWithMarker_Marker -> + s_ExplicitVarSizeWithMarker_Values[q1] < s_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..3)]), + and([q2 > s_ExplicitVarSizeWithMarker_Marker -> s_ExplicitVarSizeWithMarker_Values[q2] = 1 | q2 : int(1..4)]), + and([s_ExplicitVarSizeWithDummy[q4] < s_ExplicitVarSizeWithDummy[q4 + 1] \/ s_ExplicitVarSizeWithDummy[q4] = 5 + | q4 : int(1..3)]), + and([s_ExplicitVarSizeWithDummy[q5] = 5 -> s_ExplicitVarSizeWithDummy[q5 + 1] = 5 | q5 : int(1..3)]), + and([s_ExplicitVarSizeWithDummy[q9] != 5 -> + or([q11 <= s_ExplicitVarSizeWithMarker_Marker /\ + s_ExplicitVarSizeWithMarker_Values[q11] = s_ExplicitVarSizeWithDummy[q9] + | q11 : int(1..4)]) + | q9 : int(1..4)]), + and([q13 <= s_ExplicitVarSizeWithMarker_Marker -> + or([s_ExplicitVarSizeWithDummy[q15] != 5 /\ + s_ExplicitVarSizeWithDummy[q15] = s_ExplicitVarSizeWithMarker_Values[q13] + | q15 : int(1..4)]) + | q13 : int(1..4)]) + diff --git a/tests/exhaustive/basic/name-reuse/expected/model_3_3-solution000001.solution b/tests/exhaustive/basic/name-reuse/expected/model_3_3-solution000001.solution new file mode 100644 index 0000000000..d4f1477569 --- /dev/null +++ b/tests/exhaustive/basic/name-reuse/expected/model_3_3-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting conjure_aux1 be 1 +letting s be {3} diff --git a/tests/exhaustive/basic/name-reuse/expected/model_3_3-solution000002.solution b/tests/exhaustive/basic/name-reuse/expected/model_3_3-solution000002.solution new file mode 100644 index 0000000000..ab91f42e83 --- /dev/null +++ b/tests/exhaustive/basic/name-reuse/expected/model_3_3-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting conjure_aux1 be 1 +letting s be {3, 4} diff --git a/tests/exhaustive/basic/name-reuse/expected/model_3_3.eprime b/tests/exhaustive/basic/name-reuse/expected/model_3_3.eprime new file mode 100644 index 0000000000..ce6a4c6421 --- /dev/null +++ b/tests/exhaustive/basic/name-reuse/expected/model_3_3.eprime @@ -0,0 +1,21 @@ +language ESSENCE' 1.0 + +find conjure_aux1: int(1) +find s_ExplicitVarSizeWithMarker_Marker: int(0..4) +find s_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +find conjure_aux2: int(1..4) +branching on [conjure_aux1, s_ExplicitVarSizeWithMarker_Marker, s_ExplicitVarSizeWithMarker_Values] +such that + and([q5 <= s_ExplicitVarSizeWithMarker_Marker -> s_ExplicitVarSizeWithMarker_Values[q5] >= conjure_aux2 + | q5 : int(1..4)]), + sum([toInt(q5 <= s_ExplicitVarSizeWithMarker_Marker) | q5 : int(1..4)]) > 0 -> + or([q5 <= s_ExplicitVarSizeWithMarker_Marker /\ s_ExplicitVarSizeWithMarker_Values[q5] = conjure_aux2 + | q5 : int(1..4)]), + sum([toInt(q5 <= s_ExplicitVarSizeWithMarker_Marker) | q5 : int(1..4)]) = 0 -> conjure_aux2 = 1, + conjure_aux2 = 3, + sum([toInt(q5 <= s_ExplicitVarSizeWithMarker_Marker) | q5 : int(1..4)]) > 0, + and([q1 + 1 <= s_ExplicitVarSizeWithMarker_Marker -> + s_ExplicitVarSizeWithMarker_Values[q1] < s_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..3)]), + and([q2 > s_ExplicitVarSizeWithMarker_Marker -> s_ExplicitVarSizeWithMarker_Values[q2] = 1 | q2 : int(1..4)]) + diff --git a/tests/exhaustive/basic/name-reuse/expected/model_3_4-solution000001.solution b/tests/exhaustive/basic/name-reuse/expected/model_3_4-solution000001.solution new file mode 100644 index 0000000000..d4f1477569 --- /dev/null +++ b/tests/exhaustive/basic/name-reuse/expected/model_3_4-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting conjure_aux1 be 1 +letting s be {3} diff --git a/tests/exhaustive/basic/name-reuse/expected/model_3_4-solution000002.solution b/tests/exhaustive/basic/name-reuse/expected/model_3_4-solution000002.solution new file mode 100644 index 0000000000..ab91f42e83 --- /dev/null +++ b/tests/exhaustive/basic/name-reuse/expected/model_3_4-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting conjure_aux1 be 1 +letting s be {3, 4} diff --git a/tests/exhaustive/basic/name-reuse/expected/model_3_4.eprime b/tests/exhaustive/basic/name-reuse/expected/model_3_4.eprime new file mode 100644 index 0000000000..a98bd89235 --- /dev/null +++ b/tests/exhaustive/basic/name-reuse/expected/model_3_4.eprime @@ -0,0 +1,40 @@ +language ESSENCE' 1.0 + +find conjure_aux1: int(1) +find s_ExplicitVarSizeWithMarker_Marker: int(0..4) +find s_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +find s_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find s_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +find conjure_aux2: int(1..4) +branching on + [conjure_aux1, s_ExplicitVarSizeWithFlags_Flags, s_ExplicitVarSizeWithFlags_Values, + s_ExplicitVarSizeWithMarker_Marker, s_ExplicitVarSizeWithMarker_Values] +such that + and([q18 <= s_ExplicitVarSizeWithMarker_Marker -> s_ExplicitVarSizeWithMarker_Values[q18] >= conjure_aux2 + | q18 : int(1..4)]), + sum([toInt(q18 <= s_ExplicitVarSizeWithMarker_Marker) | q18 : int(1..4)]) > 0 -> + or([q18 <= s_ExplicitVarSizeWithMarker_Marker /\ s_ExplicitVarSizeWithMarker_Values[q18] = conjure_aux2 + | q18 : int(1..4)]), + sum([toInt(q18 <= s_ExplicitVarSizeWithMarker_Marker) | q18 : int(1..4)]) = 0 -> conjure_aux2 = 1, + conjure_aux2 = 3, + sum([toInt(q18 <= s_ExplicitVarSizeWithMarker_Marker) | q18 : int(1..4)]) > 0, + and([q1 + 1 <= s_ExplicitVarSizeWithMarker_Marker -> + s_ExplicitVarSizeWithMarker_Values[q1] < s_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..3)]), + and([q2 > s_ExplicitVarSizeWithMarker_Marker -> s_ExplicitVarSizeWithMarker_Values[q2] = 1 | q2 : int(1..4)]), + and([s_ExplicitVarSizeWithFlags_Flags[q4 + 1] -> + s_ExplicitVarSizeWithFlags_Values[q4] < s_ExplicitVarSizeWithFlags_Values[q4 + 1] + | q4 : int(1..3)]), + and([s_ExplicitVarSizeWithFlags_Flags[q5] = false -> s_ExplicitVarSizeWithFlags_Values[q5] = 1 | q5 : int(1..4)]), + and([s_ExplicitVarSizeWithFlags_Flags[q6 + 1] -> s_ExplicitVarSizeWithFlags_Flags[q6] | q6 : int(1..3)]), + and([s_ExplicitVarSizeWithFlags_Flags[q10] -> + or([q12 <= s_ExplicitVarSizeWithMarker_Marker /\ + s_ExplicitVarSizeWithMarker_Values[q12] = s_ExplicitVarSizeWithFlags_Values[q10] + | q12 : int(1..4)]) + | q10 : int(1..4)]), + and([q14 <= s_ExplicitVarSizeWithMarker_Marker -> + or([s_ExplicitVarSizeWithFlags_Flags[q16] /\ + s_ExplicitVarSizeWithFlags_Values[q16] = s_ExplicitVarSizeWithMarker_Values[q14] + | q16 : int(1..4)]) + | q14 : int(1..4)]) + diff --git a/tests/exhaustive/basic/name-reuse/expected/model_4_1-solution000001.solution b/tests/exhaustive/basic/name-reuse/expected/model_4_1-solution000001.solution new file mode 100644 index 0000000000..d4f1477569 --- /dev/null +++ b/tests/exhaustive/basic/name-reuse/expected/model_4_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting conjure_aux1 be 1 +letting s be {3} diff --git a/tests/exhaustive/basic/name-reuse/expected/model_4_1-solution000002.solution b/tests/exhaustive/basic/name-reuse/expected/model_4_1-solution000002.solution new file mode 100644 index 0000000000..ab91f42e83 --- /dev/null +++ b/tests/exhaustive/basic/name-reuse/expected/model_4_1-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting conjure_aux1 be 1 +letting s be {3, 4} diff --git a/tests/exhaustive/basic/name-reuse/expected/model_4_1.eprime b/tests/exhaustive/basic/name-reuse/expected/model_4_1.eprime new file mode 100644 index 0000000000..598929e0aa --- /dev/null +++ b/tests/exhaustive/basic/name-reuse/expected/model_4_1.eprime @@ -0,0 +1,28 @@ +language ESSENCE' 1.0 + +find conjure_aux1: int(1) +find s_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find s_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +find s_Occurrence: matrix indexed by [int(1..4)] of bool +find conjure_aux2: int(1..4) +branching on [conjure_aux1, s_Occurrence, s_ExplicitVarSizeWithFlags_Flags, s_ExplicitVarSizeWithFlags_Values] +such that + and([s_ExplicitVarSizeWithFlags_Flags[q13] -> s_ExplicitVarSizeWithFlags_Values[q13] >= conjure_aux2 + | q13 : int(1..4)]), + sum([toInt(s_ExplicitVarSizeWithFlags_Flags[q13]) | q13 : int(1..4)]) > 0 -> + or([s_ExplicitVarSizeWithFlags_Flags[q13] /\ s_ExplicitVarSizeWithFlags_Values[q13] = conjure_aux2 + | q13 : int(1..4)]), + sum([toInt(s_ExplicitVarSizeWithFlags_Flags[q13]) | q13 : int(1..4)]) = 0 -> conjure_aux2 = 1, + conjure_aux2 = 3, + sum([toInt(s_ExplicitVarSizeWithFlags_Flags[q13]) | q13 : int(1..4)]) > 0, + and([s_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + s_ExplicitVarSizeWithFlags_Values[q1] < s_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..3)]), + and([s_ExplicitVarSizeWithFlags_Flags[q2] = false -> s_ExplicitVarSizeWithFlags_Values[q2] = 1 | q2 : int(1..4)]), + and([s_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> s_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..3)]), + and([s_Occurrence[q7] -> + or([s_ExplicitVarSizeWithFlags_Flags[q9] /\ s_ExplicitVarSizeWithFlags_Values[q9] = q7 | q9 : int(1..4)]) + | q7 : int(1..4)]), + and([s_ExplicitVarSizeWithFlags_Flags[q11] -> s_Occurrence[s_ExplicitVarSizeWithFlags_Values[q11]] + | q11 : int(1..4)]) + diff --git a/tests/exhaustive/basic/name-reuse/expected/model_4_2-solution000001.solution b/tests/exhaustive/basic/name-reuse/expected/model_4_2-solution000001.solution new file mode 100644 index 0000000000..ab91f42e83 --- /dev/null +++ b/tests/exhaustive/basic/name-reuse/expected/model_4_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting conjure_aux1 be 1 +letting s be {3, 4} diff --git a/tests/exhaustive/basic/name-reuse/expected/model_4_2-solution000002.solution b/tests/exhaustive/basic/name-reuse/expected/model_4_2-solution000002.solution new file mode 100644 index 0000000000..d4f1477569 --- /dev/null +++ b/tests/exhaustive/basic/name-reuse/expected/model_4_2-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting conjure_aux1 be 1 +letting s be {3} diff --git a/tests/exhaustive/basic/name-reuse/expected/model_4_2.eprime b/tests/exhaustive/basic/name-reuse/expected/model_4_2.eprime new file mode 100644 index 0000000000..41f3fb08cd --- /dev/null +++ b/tests/exhaustive/basic/name-reuse/expected/model_4_2.eprime @@ -0,0 +1,37 @@ +language ESSENCE' 1.0 + +find conjure_aux1: int(1) +find s_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find s_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +find s_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +find conjure_aux2: int(1..4) +branching on + [conjure_aux1, s_ExplicitVarSizeWithDummy, s_ExplicitVarSizeWithFlags_Flags, s_ExplicitVarSizeWithFlags_Values] +such that + and([s_ExplicitVarSizeWithFlags_Flags[q19] -> s_ExplicitVarSizeWithFlags_Values[q19] >= conjure_aux2 + | q19 : int(1..4)]), + sum([toInt(s_ExplicitVarSizeWithFlags_Flags[q19]) | q19 : int(1..4)]) > 0 -> + or([s_ExplicitVarSizeWithFlags_Flags[q19] /\ s_ExplicitVarSizeWithFlags_Values[q19] = conjure_aux2 + | q19 : int(1..4)]), + sum([toInt(s_ExplicitVarSizeWithFlags_Flags[q19]) | q19 : int(1..4)]) = 0 -> conjure_aux2 = 1, + conjure_aux2 = 3, + sum([toInt(s_ExplicitVarSizeWithFlags_Flags[q19]) | q19 : int(1..4)]) > 0, + and([s_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + s_ExplicitVarSizeWithFlags_Values[q1] < s_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..3)]), + and([s_ExplicitVarSizeWithFlags_Flags[q2] = false -> s_ExplicitVarSizeWithFlags_Values[q2] = 1 | q2 : int(1..4)]), + and([s_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> s_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..3)]), + and([s_ExplicitVarSizeWithDummy[q6] < s_ExplicitVarSizeWithDummy[q6 + 1] \/ s_ExplicitVarSizeWithDummy[q6] = 5 + | q6 : int(1..3)]), + and([s_ExplicitVarSizeWithDummy[q7] = 5 -> s_ExplicitVarSizeWithDummy[q7 + 1] = 5 | q7 : int(1..3)]), + and([s_ExplicitVarSizeWithDummy[q11] != 5 -> + or([s_ExplicitVarSizeWithFlags_Flags[q13] /\ + s_ExplicitVarSizeWithFlags_Values[q13] = s_ExplicitVarSizeWithDummy[q11] + | q13 : int(1..4)]) + | q11 : int(1..4)]), + and([s_ExplicitVarSizeWithFlags_Flags[q15] -> + or([s_ExplicitVarSizeWithDummy[q17] != 5 /\ + s_ExplicitVarSizeWithDummy[q17] = s_ExplicitVarSizeWithFlags_Values[q15] + | q17 : int(1..4)]) + | q15 : int(1..4)]) + diff --git a/tests/exhaustive/basic/name-reuse/expected/model_4_3-solution000001.solution b/tests/exhaustive/basic/name-reuse/expected/model_4_3-solution000001.solution new file mode 100644 index 0000000000..d4f1477569 --- /dev/null +++ b/tests/exhaustive/basic/name-reuse/expected/model_4_3-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting conjure_aux1 be 1 +letting s be {3} diff --git a/tests/exhaustive/basic/name-reuse/expected/model_4_3-solution000002.solution b/tests/exhaustive/basic/name-reuse/expected/model_4_3-solution000002.solution new file mode 100644 index 0000000000..ab91f42e83 --- /dev/null +++ b/tests/exhaustive/basic/name-reuse/expected/model_4_3-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting conjure_aux1 be 1 +letting s be {3, 4} diff --git a/tests/exhaustive/basic/name-reuse/expected/model_4_3.eprime b/tests/exhaustive/basic/name-reuse/expected/model_4_3.eprime new file mode 100644 index 0000000000..36aeadc30e --- /dev/null +++ b/tests/exhaustive/basic/name-reuse/expected/model_4_3.eprime @@ -0,0 +1,40 @@ +language ESSENCE' 1.0 + +find conjure_aux1: int(1) +find s_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find s_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +find s_ExplicitVarSizeWithMarker_Marker: int(0..4) +find s_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +find conjure_aux2: int(1..4) +branching on + [conjure_aux1, s_ExplicitVarSizeWithMarker_Marker, s_ExplicitVarSizeWithMarker_Values, + s_ExplicitVarSizeWithFlags_Flags, s_ExplicitVarSizeWithFlags_Values] +such that + and([s_ExplicitVarSizeWithFlags_Flags[q18] -> s_ExplicitVarSizeWithFlags_Values[q18] >= conjure_aux2 + | q18 : int(1..4)]), + sum([toInt(s_ExplicitVarSizeWithFlags_Flags[q18]) | q18 : int(1..4)]) > 0 -> + or([s_ExplicitVarSizeWithFlags_Flags[q18] /\ s_ExplicitVarSizeWithFlags_Values[q18] = conjure_aux2 + | q18 : int(1..4)]), + sum([toInt(s_ExplicitVarSizeWithFlags_Flags[q18]) | q18 : int(1..4)]) = 0 -> conjure_aux2 = 1, + conjure_aux2 = 3, + sum([toInt(s_ExplicitVarSizeWithFlags_Flags[q18]) | q18 : int(1..4)]) > 0, + and([s_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + s_ExplicitVarSizeWithFlags_Values[q1] < s_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..3)]), + and([s_ExplicitVarSizeWithFlags_Flags[q2] = false -> s_ExplicitVarSizeWithFlags_Values[q2] = 1 | q2 : int(1..4)]), + and([s_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> s_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..3)]), + and([q6 + 1 <= s_ExplicitVarSizeWithMarker_Marker -> + s_ExplicitVarSizeWithMarker_Values[q6] < s_ExplicitVarSizeWithMarker_Values[q6 + 1] + | q6 : int(1..3)]), + and([q7 > s_ExplicitVarSizeWithMarker_Marker -> s_ExplicitVarSizeWithMarker_Values[q7] = 1 | q7 : int(1..4)]), + and([q10 <= s_ExplicitVarSizeWithMarker_Marker -> + or([s_ExplicitVarSizeWithFlags_Flags[q12] /\ + s_ExplicitVarSizeWithFlags_Values[q12] = s_ExplicitVarSizeWithMarker_Values[q10] + | q12 : int(1..4)]) + | q10 : int(1..4)]), + and([s_ExplicitVarSizeWithFlags_Flags[q14] -> + or([q16 <= s_ExplicitVarSizeWithMarker_Marker /\ + s_ExplicitVarSizeWithMarker_Values[q16] = s_ExplicitVarSizeWithFlags_Values[q14] + | q16 : int(1..4)]) + | q14 : int(1..4)]) + diff --git a/tests/exhaustive/basic/name-reuse/expected/model_4_4-solution000001.solution b/tests/exhaustive/basic/name-reuse/expected/model_4_4-solution000001.solution new file mode 100644 index 0000000000..d4f1477569 --- /dev/null +++ b/tests/exhaustive/basic/name-reuse/expected/model_4_4-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting conjure_aux1 be 1 +letting s be {3} diff --git a/tests/exhaustive/basic/name-reuse/expected/model_4_4-solution000002.solution b/tests/exhaustive/basic/name-reuse/expected/model_4_4-solution000002.solution new file mode 100644 index 0000000000..ab91f42e83 --- /dev/null +++ b/tests/exhaustive/basic/name-reuse/expected/model_4_4-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting conjure_aux1 be 1 +letting s be {3, 4} diff --git a/tests/exhaustive/basic/name-reuse/expected/model_4_4.eprime b/tests/exhaustive/basic/name-reuse/expected/model_4_4.eprime new file mode 100644 index 0000000000..1347ac40de --- /dev/null +++ b/tests/exhaustive/basic/name-reuse/expected/model_4_4.eprime @@ -0,0 +1,21 @@ +language ESSENCE' 1.0 + +find conjure_aux1: int(1) +find s_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find s_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +find conjure_aux2: int(1..4) +branching on [conjure_aux1, s_ExplicitVarSizeWithFlags_Flags, s_ExplicitVarSizeWithFlags_Values] +such that + and([s_ExplicitVarSizeWithFlags_Flags[q7] -> s_ExplicitVarSizeWithFlags_Values[q7] >= conjure_aux2 + | q7 : int(1..4)]), + sum([toInt(s_ExplicitVarSizeWithFlags_Flags[q7]) | q7 : int(1..4)]) > 0 -> + or([s_ExplicitVarSizeWithFlags_Flags[q7] /\ s_ExplicitVarSizeWithFlags_Values[q7] = conjure_aux2 | q7 : int(1..4)]), + sum([toInt(s_ExplicitVarSizeWithFlags_Flags[q7]) | q7 : int(1..4)]) = 0 -> conjure_aux2 = 1, + conjure_aux2 = 3, + sum([toInt(s_ExplicitVarSizeWithFlags_Flags[q7]) | q7 : int(1..4)]) > 0, + and([s_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + s_ExplicitVarSizeWithFlags_Values[q1] < s_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..3)]), + and([s_ExplicitVarSizeWithFlags_Flags[q2] = false -> s_ExplicitVarSizeWithFlags_Values[q2] = 1 | q2 : int(1..4)]), + and([s_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> s_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..3)]) + diff --git a/tests/exhaustive/basic/partition_01/expected/model_2.eprime b/tests/exhaustive/basic/partition_01/expected/model_2.eprime index 950eec8576..b893233802 100644 --- a/tests/exhaustive/basic/partition_01/expected/model_2.eprime +++ b/tests/exhaustive/basic/partition_01/expected/model_2.eprime @@ -3,22 +3,8 @@ language ESSENCE' 1.0 find x_PartitionAsSet_ExplicitR2_Occurrence: matrix indexed by [int(1..2), int(3..8)] of bool branching on [x_PartitionAsSet_ExplicitR2_Occurrence] such that -<<<<<<< HEAD - allDiff([x_PartitionAsSet_ExplicitR3_Explicit[q12, q13] | q12 : int(1..2), q13 : int(1..3)]), - [x_PartitionAsSet_ExplicitR3_Explicit[1, q9] | q9 : int(1..3)] >>>>>> master - | q6 : int(1..2)]) - | q5 : int(1..2)]) -======= and([1 = sum([toInt(x_PartitionAsSet_ExplicitR2_Occurrence[q11, q1]) | q11 : int(1..2)]) | q1 : int(3..8)]), [-toInt(x_PartitionAsSet_ExplicitR2_Occurrence[1, q8]) | q8 : int(3..8)] >>>>>> main diff --git a/tests/exhaustive/basic/partition_01/expected/model_2.eprime.orig b/tests/exhaustive/basic/partition_01/expected/model_2.eprime.orig deleted file mode 100644 index 829c1f84a8..0000000000 --- a/tests/exhaustive/basic/partition_01/expected/model_2.eprime.orig +++ /dev/null @@ -1,17 +0,0 @@ -language ESSENCE' 1.0 - -find x_PartitionAsSet_ExplicitR3_Explicit: matrix indexed by [int(1..2), int(1..3)] of int(3..8) -branching on [x_PartitionAsSet_ExplicitR3_Explicit] -such that - allDiff([x_PartitionAsSet_ExplicitR3_Explicit[q12, q13] | q12 : int(1..2), q13 : int(1..3)]), - [x_PartitionAsSet_ExplicitR3_Explicit[1, q9] | q9 : int(1..3)] >>>>>> master - | q6 : int(1..2)]) - | q5 : int(1..2)]) - diff --git a/tests/exhaustive/basic/partition_02/expected/model_2.eprime b/tests/exhaustive/basic/partition_02/expected/model_2.eprime index 121146805d..61cba91532 100644 --- a/tests/exhaustive/basic/partition_02/expected/model_2.eprime +++ b/tests/exhaustive/basic/partition_02/expected/model_2.eprime @@ -14,8 +14,8 @@ such that | q26 : int(1..2)]), [x_PartitionAsSet_ExplicitR6_ExplicitVarSizeWithDummy[1, q13] | q13 : int(1..6)] - [x_PartitionAsSet_ExplicitR5_ExplicitVarSizeWithMarker_Values[q7, q8]; int(1)] x_PartitionAsSet_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q7] -> diff --git a/tests/exhaustive/basic/partition_03/expected/model_2.eprime b/tests/exhaustive/basic/partition_03/expected/model_2.eprime index 5bf41d80ca..44120a17bf 100644 --- a/tests/exhaustive/basic/partition_03/expected/model_2.eprime +++ b/tests/exhaustive/basic/partition_03/expected/model_2.eprime @@ -18,17 +18,9 @@ such that and([q5 > x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Marker -> and([x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence[q5, q11] = false | q11 : int(1..6)]) | q5 : int(1..6)]), -<<<<<<< HEAD - x_PartitionAsSet_ExplicitVarSizeWithMarkerR3_Marker <= 6, - and([q6 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR3_Marker -> - and([[x_PartitionAsSet_ExplicitVarSizeWithMarkerR3_Values_Explicit[q6, q7]; int(1)] 3 = sum([toInt(x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence[q6, q7]) | q7 : int(1..6)]) ->>>>>>> main | q6 : int(1..6)]), 6 = sum([toInt(q12 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Marker) * 3 | q12 : int(1..6)]) diff --git a/tests/exhaustive/basic/partition_05_1/expected/model_1-solution000001.solution b/tests/exhaustive/basic/partition_05_1/expected/model_1-solution000001.solution new file mode 100644 index 0000000000..b616543ee7 --- /dev/null +++ b/tests/exhaustive/basic/partition_05_1/expected/model_1-solution000001.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be partition({1, 3}, {2, 4}) +$ Visualisation for x +$ 1 3 +$ 2 4 + diff --git a/tests/exhaustive/basic/partition_05_1/expected/model_1.eprime.orig b/tests/exhaustive/basic/partition_05_1/expected/model_1.eprime.orig deleted file mode 100644 index ca7650b80c..0000000000 --- a/tests/exhaustive/basic/partition_05_1/expected/model_1.eprime.orig +++ /dev/null @@ -1,48 +0,0 @@ -language ESSENCE' 1.0 - -find x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Marker: int(0..4) -find x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence: matrix indexed by [int(1..4), int(1..4)] of bool -branching on - [x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Marker, - x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence] -such that - or([q27 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Marker /\ - (x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence[q27, 1] /\ - x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence[q27, 3]) - | q27 : int(1..4)]), - and([q33 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Marker -> - !(x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence[q33, 1] /\ - x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence[q33, 2]) - | q33 : int(1..4)]), - and([1 = - sum([toInt(q16 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Marker /\ - x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence[q16, q1]) - | q16 : int(1..4)]) - | q1 : int(1..4)]), - and([q17 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Marker /\ - q18 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Marker - -> - sum([toInt(x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence[q17, q19]) | q19 : int(1..4)]) = - sum([toInt(x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence[q18, q20]) | q20 : int(1..4)]) - | q17 : int(1..4), q18 : int(1..4)]), - and([q21 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Marker -> - sum([toInt(x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence[q21, q22]) | q22 : int(1..4)]) >= 1 - | q21 : int(1..4)]), - and([q6 + 1 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Marker -> - [-toInt(x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence[q6, q11]) | q11 : int(1..4)] x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Marker -> - and([x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence[q7, q13] = false | q13 : int(1..4)]) - | q7 : int(1..4)]), - x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Marker <= 4, - and([q8 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Marker -> - sum([toInt(x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence[q8, q9]) | q9 : int(1..4)]) <= 4 - | q8 : int(1..4)]), - 4 = - sum([toInt(q14 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Marker) * - catchUndef(sum([toInt(x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence[q14, q15]) - | q15 : int(1..4)]), - 0) - | q14 : int(1..4)]) - diff --git a/tests/exhaustive/basic/partition_05_1/expected/model_2-solution000001.solution b/tests/exhaustive/basic/partition_05_1/expected/model_2-solution000001.solution new file mode 100644 index 0000000000..b616543ee7 --- /dev/null +++ b/tests/exhaustive/basic/partition_05_1/expected/model_2-solution000001.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be partition({1, 3}, {2, 4}) +$ Visualisation for x +$ 1 3 +$ 2 4 + diff --git a/tests/exhaustive/basic/partition_05_1/expected/model_2.eprime.orig b/tests/exhaustive/basic/partition_05_1/expected/model_2.eprime.orig deleted file mode 100644 index ede6ceb3a9..0000000000 --- a/tests/exhaustive/basic/partition_05_1/expected/model_2.eprime.orig +++ /dev/null @@ -1,83 +0,0 @@ -language ESSENCE' 1.0 - -find x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker: int(0..4) -find x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy: - matrix indexed by [int(1..4), int(1..4)] of int(1..5) -branching on - [x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker, - x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy] -such that - or([q35 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker /\ - (or([x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q35, q38] != 5 /\ - x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q35, q38] = 1 - | q38 : int(1..4)]) - /\ - or([x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q35, q40] != 5 /\ - x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q35, q40] = 3 - | q40 : int(1..4)])) - | q35 : int(1..4)]), - and([q45 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker -> - !(or([x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q45, q48] != 5 /\ - x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q45, q48] = 1 - | q48 : int(1..4)]) - /\ - or([x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q45, q50] != 5 /\ - x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q45, q50] = 2 - | q50 : int(1..4)])) - | q45 : int(1..4)]), - alldifferent_except([toInt(q20 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker /\ - x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q20, q21] != - 5) - * - catchUndef(x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy - [q20, q21], - 0) - | q20 : int(1..4), q21 : int(1..4)], - 0), - and([q22 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker /\ - q23 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker - -> - sum([toInt(x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q22, q25] != 5) - | q25 : int(1..4)]) - = - sum([toInt(x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q23, q27] != 5) - | q27 : int(1..4)]) - | q22 : int(1..4), q23 : int(1..4)]), - and([q28 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker -> - sum([toInt(x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q28, q30] != 5) - | q30 : int(1..4)]) - >= 1 - | q28 : int(1..4)]), - and([q6 + 1 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker -> - [x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q6, q14] | q14 : int(1..4)] x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker -> - and([x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q7, q19] = 1 - | q19 : int(1..4)]) - | q7 : int(1..4)]), - x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker <= 4, - and([q8 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker -> - and([x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q8, q9] < - x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q8, q9 + 1] - \/ x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q8, q9] = 5 - | q9 : int(1..3)]) - | q8 : int(1..4)]), - and([q8 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker -> - and([x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q8, q10] = 5 -> - x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q8, q10 + 1] = 5 - | q10 : int(1..3)]) - | q8 : int(1..4)]), - and([q8 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker -> - sum([toInt(x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q8, q11] != 5) - | q11 : int(1..4)]) - <= 4 - | q8 : int(1..4)]), - 4 = - sum([toInt(q16 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker) * - catchUndef(sum([toInt(x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q16, q18] != - 5) - | q18 : int(1..4)]), - 0) - | q16 : int(1..4)]) - diff --git a/tests/exhaustive/basic/partition_05_1/expected/model_3-solution000001.solution b/tests/exhaustive/basic/partition_05_1/expected/model_3-solution000001.solution new file mode 100644 index 0000000000..b616543ee7 --- /dev/null +++ b/tests/exhaustive/basic/partition_05_1/expected/model_3-solution000001.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be partition({1, 3}, {2, 4}) +$ Visualisation for x +$ 1 3 +$ 2 4 + diff --git a/tests/exhaustive/basic/partition_05_1/expected/model_3.eprime.orig b/tests/exhaustive/basic/partition_05_1/expected/model_3.eprime.orig deleted file mode 100644 index c6e82e3987..0000000000 --- a/tests/exhaustive/basic/partition_05_1/expected/model_3.eprime.orig +++ /dev/null @@ -1,86 +0,0 @@ -language ESSENCE' 1.0 - -find x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker: int(0..4) -find x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker: - matrix indexed by [int(1..4)] of int(0..4) -find x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values: - matrix indexed by [int(1..4), int(1..4)] of int(1..4) -branching on - [x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker, - x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker, - x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values] -such that - or([q26 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker /\ - (or([q29 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q26] /\ - x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q26, q29] = 1 - | q29 : int(1..4)]) - /\ - or([q31 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q26] /\ - x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q26, q31] = 3 - | q31 : int(1..4)])) - | q26 : int(1..4)]), - and([q36 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker -> - !(or([q39 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q36] /\ - x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q36, q39] = 1 - | q39 : int(1..4)]) - /\ - or([q41 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q36] /\ - x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q36, q41] = 2 - | q41 : int(1..4)])) - | q36 : int(1..4)]), - alldifferent_except([toInt(q17 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker /\ - q18 <= - x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker - [q17]) - * - catchUndef(x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values - [q17, q18], - 0) - | q17 : int(1..4), q18 : int(1..4)], - 0), - and([q19 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker /\ - q20 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker - -> - x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q19] = - x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q20] - | q19 : int(1..4), q20 : int(1..4)]), - and([q21 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker -> - x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q21] >= 1 - | q21 : int(1..4)]), - and([q6 + 1 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker -> - flatten([[x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q6]; int(1)], - [x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q6, q13] - | q13 : int(1..4)]; - int(1..2)]) - x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker -> - x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q7] = 0 /\ - and([x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q7, q16] = 1 - | q16 : int(1..4)]) - | q7 : int(1..4)]), - x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker <= 4, - and([q8 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker -> - and([q9 + 1 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q8] -> - x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q8, q9] < - x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q8, q9 + 1] - | q9 : int(1..3)]) - | q8 : int(1..4)]), - and([q8 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker -> - and([q10 > x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q8] -> - x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q8, q10] = 1 - | q10 : int(1..4)]) - | q8 : int(1..4)]), - and([q8 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker -> - x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q8] <= 4 - | q8 : int(1..4)]), - 4 = - sum([toInt(q15 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker) * - catchUndef(x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q15], 0) - | q15 : int(1..4)]) - diff --git a/tests/exhaustive/basic/partition_05_1/expected/model_4-solution000001.solution b/tests/exhaustive/basic/partition_05_1/expected/model_4-solution000001.solution new file mode 100644 index 0000000000..b616543ee7 --- /dev/null +++ b/tests/exhaustive/basic/partition_05_1/expected/model_4-solution000001.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be partition({1, 3}, {2, 4}) +$ Visualisation for x +$ 1 3 +$ 2 4 + diff --git a/tests/exhaustive/basic/partition_05_1/expected/model_4.eprime.orig b/tests/exhaustive/basic/partition_05_1/expected/model_4.eprime.orig deleted file mode 100644 index 667deed4b3..0000000000 --- a/tests/exhaustive/basic/partition_05_1/expected/model_4.eprime.orig +++ /dev/null @@ -1,40 +0,0 @@ -language ESSENCE' 1.0 - -find x_PartitionOccurrence_NumParts: int(1..4) -find x_PartitionOccurrence_WhichPart: matrix indexed by [int(1..4)] of int(1..4) -find x_PartitionOccurrence_PartSizes: matrix indexed by [int(1..4)] of int(0..4) -find x_PartitionOccurrence_FirstIndex: matrix indexed by [int(1..4)] of int(1..4) -branching on - [x_PartitionOccurrence_NumParts, x_PartitionOccurrence_WhichPart, x_PartitionOccurrence_PartSizes, - x_PartitionOccurrence_FirstIndex] -such that - or([q15 <= x_PartitionOccurrence_NumParts /\ - (or([x_PartitionOccurrence_WhichPart[q19] = q15 /\ q19 = 1 | q19 : int(1..4)]) /\ - or([x_PartitionOccurrence_WhichPart[q21] = q15 /\ q21 = 3 | q21 : int(1..4)])) - | q15 : int(1..4)]), - and([q25 <= x_PartitionOccurrence_NumParts -> - !(or([x_PartitionOccurrence_WhichPart[q29] = q25 /\ q29 = 1 | q29 : int(1..4)]) /\ - or([x_PartitionOccurrence_WhichPart[q31] = q25 /\ q31 = 2 | q31 : int(1..4)])) - | q25 : int(1..4)]), - and([q1 <= x_PartitionOccurrence_NumParts -> x_PartitionOccurrence_PartSizes[q1] <= 4 | q1 : int(1..4)]), - and([q1 > x_PartitionOccurrence_NumParts -> x_PartitionOccurrence_PartSizes[q1] = 0 | q1 : int(1..4)]), - x_PartitionOccurrence_NumParts <= 4, - and([q2 <= x_PartitionOccurrence_NumParts -> or([x_PartitionOccurrence_WhichPart[q3] = q2 | q3 : int(1..4)]) - | q2 : int(3..4)]), - and([q4 <= x_PartitionOccurrence_NumParts -> - x_PartitionOccurrence_PartSizes[q4 - 1] = x_PartitionOccurrence_PartSizes[q4] - | q4 : int(2..4)]), - x_PartitionOccurrence_NumParts = max([x_PartitionOccurrence_WhichPart[q5] | q5 : int(1..4)]), - and([x_PartitionOccurrence_PartSizes[q6] = sum([toInt(x_PartitionOccurrence_WhichPart[q7] = q6) | q7 : int(1..4)]) - | q6 : int(1..4)]), - and([q8 <= x_PartitionOccurrence_NumParts -> - and([x_PartitionOccurrence_WhichPart[q9] = q8 -> x_PartitionOccurrence_FirstIndex[q8] <= q9 | q9 : int(1..4)]) - | q8 : int(1..4)]), - and([q8 <= x_PartitionOccurrence_NumParts -> - or([x_PartitionOccurrence_WhichPart[q9] = q8 /\ x_PartitionOccurrence_FirstIndex[q8] = q9 | q9 : int(1..4)]) - | q8 : int(1..4)]), - and([q8 > x_PartitionOccurrence_NumParts -> x_PartitionOccurrence_FirstIndex[q8] = 1 | q8 : int(1..4)]), - and([q10 <= x_PartitionOccurrence_NumParts /\ q11 <= x_PartitionOccurrence_NumParts -> - (q10 < q11 <-> x_PartitionOccurrence_FirstIndex[q10] < x_PartitionOccurrence_FirstIndex[q11]) - | q10 : int(1..4), q11 : int(1..4)]) - diff --git a/tests/exhaustive/basic/partition_05_2/expected/model_1-solution000001.solution b/tests/exhaustive/basic/partition_05_2/expected/model_1-solution000001.solution new file mode 100644 index 0000000000..b616543ee7 --- /dev/null +++ b/tests/exhaustive/basic/partition_05_2/expected/model_1-solution000001.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be partition({1, 3}, {2, 4}) +$ Visualisation for x +$ 1 3 +$ 2 4 + diff --git a/tests/exhaustive/basic/partition_05_2/expected/model_1.eprime.orig b/tests/exhaustive/basic/partition_05_2/expected/model_1.eprime.orig deleted file mode 100644 index 6265b3fc3d..0000000000 --- a/tests/exhaustive/basic/partition_05_2/expected/model_1.eprime.orig +++ /dev/null @@ -1,78 +0,0 @@ -language ESSENCE' 1.0 - -find x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Marker: int(0..4) -find x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence: matrix indexed by [int(1..4), int(1..4)] of bool -branching on - [x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Marker, - x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence] -such that - and([and([q27 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Marker, - x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence[q27, 2], - x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence[q27, q25]; - int(1..3)]) - -> 4 = q25 \/ 2 = q25 - | q27 : int(1..4), q25 : int(1..4)]), - or([and([q34 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Marker, - x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence[q34, 2], - x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence[q34, q32]; - int(1..3)]) - /\ q32 = 4 - | q34 : int(1..4), q32 : int(1..4)]), - or([and([q39 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Marker, - x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence[q39, 2], - x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence[q39, q37]; - int(1..3)]) - /\ q37 = 2 - | q39 : int(1..4), q37 : int(1..4)]), - and([q44 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Marker /\ - x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence[q44, q42] - -> or([1 = q42, 2 = q42, 3 = q42, 4 = q42; int(1..4)]) - | q44 : int(1..4), q42 : int(1..4)]), - or([q51 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Marker /\ - x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence[q51, q49] - /\ q49 = 1 - | q51 : int(1..4), q49 : int(1..4)]), - or([q56 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Marker /\ - x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence[q56, q54] - /\ q54 = 2 - | q56 : int(1..4), q54 : int(1..4)]), - or([q61 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Marker /\ - x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence[q61, q59] - /\ q59 = 3 - | q61 : int(1..4), q59 : int(1..4)]), - or([q66 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Marker /\ - x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence[q66, q64] - /\ q64 = 4 - | q66 : int(1..4), q64 : int(1..4)]), - and([1 = - sum([toInt(q16 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Marker /\ - x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence[q16, q1]) - | q16 : int(1..4)]) - | q1 : int(1..4)]), - and([q17 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Marker /\ - q18 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Marker - -> - sum([toInt(x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence[q17, q19]) | q19 : int(1..4)]) = - sum([toInt(x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence[q18, q20]) | q20 : int(1..4)]) - | q17 : int(1..4), q18 : int(1..4)]), - and([q21 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Marker -> - sum([toInt(x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence[q21, q22]) | q22 : int(1..4)]) >= 1 - | q21 : int(1..4)]), - and([q6 + 1 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Marker -> - [-toInt(x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence[q6, q11]) | q11 : int(1..4)] x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Marker -> - and([x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence[q7, q13] = false | q13 : int(1..4)]) - | q7 : int(1..4)]), - x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Marker <= 4, - and([q8 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Marker -> - sum([toInt(x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence[q8, q9]) | q9 : int(1..4)]) <= 4 - | q8 : int(1..4)]), - 4 = - sum([toInt(q14 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Marker) * - catchUndef(sum([toInt(x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence[q14, q15]) - | q15 : int(1..4)]), - 0) - | q14 : int(1..4)]) - diff --git a/tests/exhaustive/basic/partition_05_2/expected/model_2-solution000001.solution b/tests/exhaustive/basic/partition_05_2/expected/model_2-solution000001.solution new file mode 100644 index 0000000000..b616543ee7 --- /dev/null +++ b/tests/exhaustive/basic/partition_05_2/expected/model_2-solution000001.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be partition({1, 3}, {2, 4}) +$ Visualisation for x +$ 1 3 +$ 2 4 + diff --git a/tests/exhaustive/basic/partition_05_2/expected/model_2.eprime.orig b/tests/exhaustive/basic/partition_05_2/expected/model_2.eprime.orig deleted file mode 100644 index 559aefda7e..0000000000 --- a/tests/exhaustive/basic/partition_05_2/expected/model_2.eprime.orig +++ /dev/null @@ -1,116 +0,0 @@ -language ESSENCE' 1.0 - -find x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker: int(0..4) -find x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy: - matrix indexed by [int(1..4), int(1..4)] of int(1..5) -branching on - [x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker, - x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy] -such that - and([and([q35 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker, - or([x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q35, q39] != 5 /\ - x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q35, q39] = 2 - | q39 : int(1..4)]), - x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q35, q36] != 5; - int(1..3)]) - -> - 4 = x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q35, q36] \/ - 2 = x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q35, q36] - | q35 : int(1..4), q36 : int(1..4)]), - or([and([q45 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker, - or([x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q45, q48] != 5 /\ - x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q45, q48] = 2 - | q48 : int(1..4)]), - x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q45, q46] != 5; - int(1..3)]) - /\ x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q45, q46] = 4 - | q45 : int(1..4), q46 : int(1..4)]), - or([and([q53 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker, - or([x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q53, q56] != 5 /\ - x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q53, q56] = 2 - | q56 : int(1..4)]), - x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q53, q54] != 5; - int(1..3)]) - /\ x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q53, q54] = 2 - | q53 : int(1..4), q54 : int(1..4)]), - and([q61 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker /\ - x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q61, q62] != 5 - -> - or([1 = x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q61, q62], - 2 = x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q61, q62], - 3 = x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q61, q62], - 4 = x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q61, q62]; - int(1..4)]) - | q61 : int(1..4), q62 : int(1..4)]), - or([q69 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker /\ - x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q69, q70] != 5 - /\ x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q69, q70] = 1 - | q69 : int(1..4), q70 : int(1..4)]), - or([q75 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker /\ - x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q75, q76] != 5 - /\ x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q75, q76] = 2 - | q75 : int(1..4), q76 : int(1..4)]), - or([q81 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker /\ - x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q81, q82] != 5 - /\ x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q81, q82] = 3 - | q81 : int(1..4), q82 : int(1..4)]), - or([q87 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker /\ - x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q87, q88] != 5 - /\ x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q87, q88] = 4 - | q87 : int(1..4), q88 : int(1..4)]), - alldifferent_except([toInt(q20 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker /\ - x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q20, q21] != - 5) - * - catchUndef(x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy - [q20, q21], - 0) - | q20 : int(1..4), q21 : int(1..4)], - 0), - and([q22 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker /\ - q23 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker - -> - sum([toInt(x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q22, q25] != 5) - | q25 : int(1..4)]) - = - sum([toInt(x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q23, q27] != 5) - | q27 : int(1..4)]) - | q22 : int(1..4), q23 : int(1..4)]), - and([q28 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker -> - sum([toInt(x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q28, q30] != 5) - | q30 : int(1..4)]) - >= 1 - | q28 : int(1..4)]), - and([q6 + 1 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker -> - [x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q6, q14] | q14 : int(1..4)] x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker -> - and([x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q7, q19] = 1 - | q19 : int(1..4)]) - | q7 : int(1..4)]), - x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker <= 4, - and([q8 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker -> - and([x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q8, q9] < - x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q8, q9 + 1] - \/ x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q8, q9] = 5 - | q9 : int(1..3)]) - | q8 : int(1..4)]), - and([q8 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker -> - and([x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q8, q10] = 5 -> - x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q8, q10 + 1] = 5 - | q10 : int(1..3)]) - | q8 : int(1..4)]), - and([q8 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker -> - sum([toInt(x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q8, q11] != 5) - | q11 : int(1..4)]) - <= 4 - | q8 : int(1..4)]), - 4 = - sum([toInt(q16 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker) * - catchUndef(sum([toInt(x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q16, q18] != - 5) - | q18 : int(1..4)]), - 0) - | q16 : int(1..4)]) - diff --git a/tests/exhaustive/basic/partition_05_2/expected/model_3-solution000001.solution b/tests/exhaustive/basic/partition_05_2/expected/model_3-solution000001.solution new file mode 100644 index 0000000000..b616543ee7 --- /dev/null +++ b/tests/exhaustive/basic/partition_05_2/expected/model_3-solution000001.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be partition({1, 3}, {2, 4}) +$ Visualisation for x +$ 1 3 +$ 2 4 + diff --git a/tests/exhaustive/basic/partition_05_2/expected/model_3.eprime.orig b/tests/exhaustive/basic/partition_05_2/expected/model_3.eprime.orig deleted file mode 100644 index 263daeb090..0000000000 --- a/tests/exhaustive/basic/partition_05_2/expected/model_3.eprime.orig +++ /dev/null @@ -1,119 +0,0 @@ -language ESSENCE' 1.0 - -find x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker: int(0..4) -find x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker: - matrix indexed by [int(1..4)] of int(0..4) -find x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values: - matrix indexed by [int(1..4), int(1..4)] of int(1..4) -branching on - [x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker, - x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker, - x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values] -such that - and([and([q26 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker, - or([q30 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q26] /\ - x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q26, q30] = 2 - | q30 : int(1..4)]), - q27 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q26]; - int(1..3)]) - -> - 4 = x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q26, q27] \/ - 2 = x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q26, q27] - | q26 : int(1..4), q27 : int(1..4)]), - or([and([q36 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker, - or([q39 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q36] /\ - x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q36, q39] = 2 - | q39 : int(1..4)]), - q37 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q36]; - int(1..3)]) - /\ x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q36, q37] = 4 - | q36 : int(1..4), q37 : int(1..4)]), - or([and([q44 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker, - or([q47 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q44] /\ - x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q44, q47] = 2 - | q47 : int(1..4)]), - q45 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q44]; - int(1..3)]) - /\ x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q44, q45] = 2 - | q44 : int(1..4), q45 : int(1..4)]), - and([q52 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker /\ - q53 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q52] - -> - or([1 = x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q52, q53], - 2 = x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q52, q53], - 3 = x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q52, q53], - 4 = x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q52, q53]; - int(1..4)]) - | q52 : int(1..4), q53 : int(1..4)]), - or([q60 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker /\ - q61 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q60] - /\ x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q60, q61] = 1 - | q60 : int(1..4), q61 : int(1..4)]), - or([q66 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker /\ - q67 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q66] - /\ x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q66, q67] = 2 - | q66 : int(1..4), q67 : int(1..4)]), - or([q72 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker /\ - q73 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q72] - /\ x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q72, q73] = 3 - | q72 : int(1..4), q73 : int(1..4)]), - or([q78 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker /\ - q79 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q78] - /\ x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q78, q79] = 4 - | q78 : int(1..4), q79 : int(1..4)]), - alldifferent_except([toInt(q17 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker /\ - q18 <= - x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker - [q17]) - * - catchUndef(x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values - [q17, q18], - 0) - | q17 : int(1..4), q18 : int(1..4)], - 0), - and([q19 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker /\ - q20 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker - -> - x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q19] = - x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q20] - | q19 : int(1..4), q20 : int(1..4)]), - and([q21 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker -> - x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q21] >= 1 - | q21 : int(1..4)]), - and([q6 + 1 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker -> - flatten([[x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q6]; int(1)], - [x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q6, q13] - | q13 : int(1..4)]; - int(1..2)]) - x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker -> - x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q7] = 0 /\ - and([x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q7, q16] = 1 - | q16 : int(1..4)]) - | q7 : int(1..4)]), - x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker <= 4, - and([q8 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker -> - and([q9 + 1 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q8] -> - x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q8, q9] < - x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q8, q9 + 1] - | q9 : int(1..3)]) - | q8 : int(1..4)]), - and([q8 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker -> - and([q10 > x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q8] -> - x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q8, q10] = 1 - | q10 : int(1..4)]) - | q8 : int(1..4)]), - and([q8 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker -> - x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q8] <= 4 - | q8 : int(1..4)]), - 4 = - sum([toInt(q15 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker) * - catchUndef(x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q15], 0) - | q15 : int(1..4)]) - diff --git a/tests/exhaustive/basic/partition_05_2/expected/model_4-solution000001.solution b/tests/exhaustive/basic/partition_05_2/expected/model_4-solution000001.solution new file mode 100644 index 0000000000..b616543ee7 --- /dev/null +++ b/tests/exhaustive/basic/partition_05_2/expected/model_4-solution000001.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be partition({1, 3}, {2, 4}) +$ Visualisation for x +$ 1 3 +$ 2 4 + diff --git a/tests/exhaustive/basic/partition_05_2/expected/model_4.eprime.orig b/tests/exhaustive/basic/partition_05_2/expected/model_4.eprime.orig deleted file mode 100644 index f37aa5dd69..0000000000 --- a/tests/exhaustive/basic/partition_05_2/expected/model_4.eprime.orig +++ /dev/null @@ -1,61 +0,0 @@ -language ESSENCE' 1.0 - -find x_PartitionOccurrence_NumParts: int(1..4) -find x_PartitionOccurrence_WhichPart: matrix indexed by [int(1..4)] of int(1..4) -find x_PartitionOccurrence_PartSizes: matrix indexed by [int(1..4)] of int(0..4) -find x_PartitionOccurrence_FirstIndex: matrix indexed by [int(1..4)] of int(1..4) -branching on - [x_PartitionOccurrence_NumParts, x_PartitionOccurrence_WhichPart, x_PartitionOccurrence_PartSizes, - x_PartitionOccurrence_FirstIndex] -such that - and([and([q15 <= x_PartitionOccurrence_NumParts, - or([x_PartitionOccurrence_WhichPart[q20] = q15 /\ q20 = 2 | q20 : int(1..4)]), - x_PartitionOccurrence_WhichPart[q17] = q15; - int(1..3)]) - -> 4 = q17 \/ 2 = q17 - | q15 : int(1..4), q17 : int(1..4)]), - or([and([q25 <= x_PartitionOccurrence_NumParts, - or([x_PartitionOccurrence_WhichPart[q29] = q25 /\ q29 = 2 | q29 : int(1..4)]), - x_PartitionOccurrence_WhichPart[q27] = q25; - int(1..3)]) - /\ q27 = 4 - | q25 : int(1..4), q27 : int(1..4)]), - or([and([q33 <= x_PartitionOccurrence_NumParts, - or([x_PartitionOccurrence_WhichPart[q37] = q33 /\ q37 = 2 | q37 : int(1..4)]), - x_PartitionOccurrence_WhichPart[q35] = q33; - int(1..3)]) - /\ q35 = 2 - | q33 : int(1..4), q35 : int(1..4)]), - and([q41 <= x_PartitionOccurrence_NumParts /\ x_PartitionOccurrence_WhichPart[q43] = q41 -> - or([1 = q43, 2 = q43, 3 = q43, 4 = q43; int(1..4)]) - | q41 : int(1..4), q43 : int(1..4)]), - or([q49 <= x_PartitionOccurrence_NumParts /\ x_PartitionOccurrence_WhichPart[q51] = q49 /\ q51 = 1 - | q49 : int(1..4), q51 : int(1..4)]), - or([q55 <= x_PartitionOccurrence_NumParts /\ x_PartitionOccurrence_WhichPart[q57] = q55 /\ q57 = 2 - | q55 : int(1..4), q57 : int(1..4)]), - or([q61 <= x_PartitionOccurrence_NumParts /\ x_PartitionOccurrence_WhichPart[q63] = q61 /\ q63 = 3 - | q61 : int(1..4), q63 : int(1..4)]), - or([q67 <= x_PartitionOccurrence_NumParts /\ x_PartitionOccurrence_WhichPart[q69] = q67 /\ q69 = 4 - | q67 : int(1..4), q69 : int(1..4)]), - and([q1 <= x_PartitionOccurrence_NumParts -> x_PartitionOccurrence_PartSizes[q1] <= 4 | q1 : int(1..4)]), - and([q1 > x_PartitionOccurrence_NumParts -> x_PartitionOccurrence_PartSizes[q1] = 0 | q1 : int(1..4)]), - x_PartitionOccurrence_NumParts <= 4, - and([q2 <= x_PartitionOccurrence_NumParts -> or([x_PartitionOccurrence_WhichPart[q3] = q2 | q3 : int(1..4)]) - | q2 : int(3..4)]), - and([q4 <= x_PartitionOccurrence_NumParts -> - x_PartitionOccurrence_PartSizes[q4 - 1] = x_PartitionOccurrence_PartSizes[q4] - | q4 : int(2..4)]), - x_PartitionOccurrence_NumParts = max([x_PartitionOccurrence_WhichPart[q5] | q5 : int(1..4)]), - and([x_PartitionOccurrence_PartSizes[q6] = sum([toInt(x_PartitionOccurrence_WhichPart[q7] = q6) | q7 : int(1..4)]) - | q6 : int(1..4)]), - and([q8 <= x_PartitionOccurrence_NumParts -> - and([x_PartitionOccurrence_WhichPart[q9] = q8 -> x_PartitionOccurrence_FirstIndex[q8] <= q9 | q9 : int(1..4)]) - | q8 : int(1..4)]), - and([q8 <= x_PartitionOccurrence_NumParts -> - or([x_PartitionOccurrence_WhichPart[q9] = q8 /\ x_PartitionOccurrence_FirstIndex[q8] = q9 | q9 : int(1..4)]) - | q8 : int(1..4)]), - and([q8 > x_PartitionOccurrence_NumParts -> x_PartitionOccurrence_FirstIndex[q8] = 1 | q8 : int(1..4)]), - and([q10 <= x_PartitionOccurrence_NumParts /\ q11 <= x_PartitionOccurrence_NumParts -> - (q10 < q11 <-> x_PartitionOccurrence_FirstIndex[q10] < x_PartitionOccurrence_FirstIndex[q11]) - | q10 : int(1..4), q11 : int(1..4)]) - diff --git a/tests/exhaustive/basic/partition_06/expected/model_1_1-solution000001.solution b/tests/exhaustive/basic/partition_06/expected/model_1_1-solution000001.solution new file mode 100644 index 0000000000..8d196199c8 --- /dev/null +++ b/tests/exhaustive/basic/partition_06/expected/model_1_1-solution000001.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be partition({1, 4}, {2, 3}) +$ Visualisation for x +$ 1 4 +$ 2 3 + diff --git a/tests/exhaustive/basic/partition_06/expected/model_1_1-solution000002.solution b/tests/exhaustive/basic/partition_06/expected/model_1_1-solution000002.solution new file mode 100644 index 0000000000..b616543ee7 --- /dev/null +++ b/tests/exhaustive/basic/partition_06/expected/model_1_1-solution000002.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be partition({1, 3}, {2, 4}) +$ Visualisation for x +$ 1 3 +$ 2 4 + diff --git a/tests/exhaustive/basic/partition_06/expected/model_1_1-solution000003.solution b/tests/exhaustive/basic/partition_06/expected/model_1_1-solution000003.solution new file mode 100644 index 0000000000..bdecd9ce5b --- /dev/null +++ b/tests/exhaustive/basic/partition_06/expected/model_1_1-solution000003.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be partition({1, 2}, {3, 4}) +$ Visualisation for x +$ 1 2 +$ 3 4 + diff --git a/tests/exhaustive/basic/partition_06/expected/model_1_1.eprime b/tests/exhaustive/basic/partition_06/expected/model_1_1.eprime new file mode 100644 index 0000000000..0185996261 --- /dev/null +++ b/tests/exhaustive/basic/partition_06/expected/model_1_1.eprime @@ -0,0 +1,37 @@ +language ESSENCE' 1.0 + +find x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Marker: int(0..4) +find x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence: matrix indexed by [int(1..4), int(1..4)] of bool +branching on + [x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Marker, + x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence] +such that + and([q18 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Marker -> + sum([toInt(x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence[q18, q19]) | q19 : int(1..4)]) = 2 + | q18 : int(1..4)]), + and([1 = + sum([toInt(q14 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Marker /\ + x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence[q14, q1]) + | q14 : int(1..4)]) + | q1 : int(1..4)]), + and([q15 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Marker -> + sum([toInt(x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence[q15, q16]) | q16 : int(1..4)]) >= 1 + | q15 : int(1..4)]), + and([q4 + 1 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Marker -> + [-toInt(x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence[q4, q9]) | q9 : int(1..4)] x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Marker -> + and([x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence[q5, q11] = false | q11 : int(1..4)]) + | q5 : int(1..4)]), + x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Marker <= 4, + and([q6 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Marker -> + sum([toInt(x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence[q6, q7]) | q7 : int(1..4)]) <= 4 + | q6 : int(1..4)]), + 4 = + sum([toInt(q12 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Marker) * + catchUndef(sum([toInt(x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence[q12, q13]) + | q13 : int(1..4)]), + 0) + | q12 : int(1..4)]) + diff --git a/tests/exhaustive/basic/partition_06/expected/model_1_2-solution000001.solution b/tests/exhaustive/basic/partition_06/expected/model_1_2-solution000001.solution new file mode 100644 index 0000000000..bdecd9ce5b --- /dev/null +++ b/tests/exhaustive/basic/partition_06/expected/model_1_2-solution000001.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be partition({1, 2}, {3, 4}) +$ Visualisation for x +$ 1 2 +$ 3 4 + diff --git a/tests/exhaustive/basic/partition_06/expected/model_1_2-solution000002.solution b/tests/exhaustive/basic/partition_06/expected/model_1_2-solution000002.solution new file mode 100644 index 0000000000..b616543ee7 --- /dev/null +++ b/tests/exhaustive/basic/partition_06/expected/model_1_2-solution000002.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be partition({1, 3}, {2, 4}) +$ Visualisation for x +$ 1 3 +$ 2 4 + diff --git a/tests/exhaustive/basic/partition_06/expected/model_1_2-solution000003.solution b/tests/exhaustive/basic/partition_06/expected/model_1_2-solution000003.solution new file mode 100644 index 0000000000..8d196199c8 --- /dev/null +++ b/tests/exhaustive/basic/partition_06/expected/model_1_2-solution000003.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be partition({1, 4}, {2, 3}) +$ Visualisation for x +$ 1 4 +$ 2 3 + diff --git a/tests/exhaustive/basic/partition_06/expected/model_1_2.eprime b/tests/exhaustive/basic/partition_06/expected/model_1_2.eprime new file mode 100644 index 0000000000..337e8fc3c9 --- /dev/null +++ b/tests/exhaustive/basic/partition_06/expected/model_1_2.eprime @@ -0,0 +1,116 @@ +language ESSENCE' 1.0 + +find x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Marker: int(0..4) +find x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence: matrix indexed by [int(1..4), int(1..4)] of bool +find x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker: int(0..4) +find x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy: + matrix indexed by [int(1..4), int(1..4)] of int(1..5) +branching on + [x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker, + x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy, + x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Marker, + x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence] +such that + and([q55 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Marker -> + sum([toInt(x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence[q55, q56]) | q56 : int(1..4)]) = 2 + | q55 : int(1..4)]), + and([1 = + sum([toInt(q52 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Marker /\ + x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence[q52, q1]) + | q52 : int(1..4)]) + | q1 : int(1..4)]), + and([q57 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Marker -> + sum([toInt(x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence[q57, q58]) | q58 : int(1..4)]) >= 1 + | q57 : int(1..4)]), + and([q4 + 1 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Marker -> + [-toInt(x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence[q4, q9]) | q9 : int(1..4)] x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Marker -> + and([x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence[q5, q11] = false | q11 : int(1..4)]) + | q5 : int(1..4)]), + x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Marker <= 4, + and([q6 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Marker -> + sum([toInt(x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence[q6, q7]) | q7 : int(1..4)]) <= 4 + | q6 : int(1..4)]), + 4 = + sum([toInt(q12 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Marker) * + catchUndef(sum([toInt(x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence[q12, q13]) + | q13 : int(1..4)]), + 0) + | q12 : int(1..4)]), + alldifferent_except([toInt(q59 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker /\ + x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q59, q60] != + 5) + * + catchUndef(x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy + [q59, q60], + 0) + | q59 : int(1..4), q60 : int(1..4)], + 0), + and([q61 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker -> + sum([toInt(x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q61, q63] != 5) + | q63 : int(1..4)]) + >= 1 + | q61 : int(1..4)]), + and([q17 + 1 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker -> + [x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q17, q25] | q25 : int(1..4)] x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker -> + and([x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q18, q53] = 1 + | q53 : int(1..4)]) + | q18 : int(1..4)]), + x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker <= 4, + and([q19 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker -> + and([x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q19, q20] < + x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q19, q20 + 1] + \/ x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q19, q20] = 5 + | q20 : int(1..3)]) + | q19 : int(1..4)]), + and([q19 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker -> + and([x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q19, q21] = 5 -> + x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q19, q21 + 1] = 5 + | q21 : int(1..3)]) + | q19 : int(1..4)]), + and([q19 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker -> + sum([toInt(x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q19, q22] != 5) + | q22 : int(1..4)]) + <= 4 + | q19 : int(1..4)]), + 4 = + sum([toInt(q27 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker) * + catchUndef(sum([toInt(x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q27, q29] != + 5) + | q29 : int(1..4)]), + 0) + | q27 : int(1..4)]), + and([q32 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker -> + or([q35 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Marker /\ + (and([x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence[q35, q36] -> + or([x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q32, q38] != 5 /\ + x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q32, q38] = q36 + | q38 : int(1..4)]) + | q36 : int(1..4)]) + /\ + and([x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q32, q40] != 5 -> + x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence + [q35, x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q32, q40]] + | q40 : int(1..4)])) + | q35 : int(1..4)]) + | q32 : int(1..4)]), + and([q43 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Marker -> + or([q46 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker /\ + (and([x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q46, q48] != 5 -> + x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence + [q43, x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q46, q48]] + | q48 : int(1..4)]) + /\ + and([x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence[q43, q49] -> + or([x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q46, q51] != 5 /\ + x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q46, q51] = q49 + | q51 : int(1..4)]) + | q49 : int(1..4)])) + | q46 : int(1..4)]) + | q43 : int(1..4)]) + diff --git a/tests/exhaustive/basic/partition_06/expected/model_1_3-solution000001.solution b/tests/exhaustive/basic/partition_06/expected/model_1_3-solution000001.solution new file mode 100644 index 0000000000..bdecd9ce5b --- /dev/null +++ b/tests/exhaustive/basic/partition_06/expected/model_1_3-solution000001.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be partition({1, 2}, {3, 4}) +$ Visualisation for x +$ 1 2 +$ 3 4 + diff --git a/tests/exhaustive/basic/partition_06/expected/model_1_3-solution000002.solution b/tests/exhaustive/basic/partition_06/expected/model_1_3-solution000002.solution new file mode 100644 index 0000000000..b616543ee7 --- /dev/null +++ b/tests/exhaustive/basic/partition_06/expected/model_1_3-solution000002.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be partition({1, 3}, {2, 4}) +$ Visualisation for x +$ 1 3 +$ 2 4 + diff --git a/tests/exhaustive/basic/partition_06/expected/model_1_3-solution000003.solution b/tests/exhaustive/basic/partition_06/expected/model_1_3-solution000003.solution new file mode 100644 index 0000000000..8d196199c8 --- /dev/null +++ b/tests/exhaustive/basic/partition_06/expected/model_1_3-solution000003.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be partition({1, 4}, {2, 3}) +$ Visualisation for x +$ 1 4 +$ 2 3 + diff --git a/tests/exhaustive/basic/partition_06/expected/model_1_3.eprime.orig b/tests/exhaustive/basic/partition_06/expected/model_1_3.eprime.orig deleted file mode 100644 index 777ff6324f..0000000000 --- a/tests/exhaustive/basic/partition_06/expected/model_1_3.eprime.orig +++ /dev/null @@ -1,126 +0,0 @@ -language ESSENCE' 1.0 - -find x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Marker: int(0..4) -find x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence: matrix indexed by [int(1..4), int(1..4)] of bool -find x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker: int(0..4) -find x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker: - matrix indexed by [int(1..4)] of int(0..4) -find x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values: - matrix indexed by [int(1..4), int(1..4)] of int(1..4) -branching on - [x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker, - x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker, - x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values, - x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Marker, - x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence] -such that - and([q52 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Marker -> - sum([toInt(x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence[q52, q53]) | q53 : int(1..4)]) = 2 - | q52 : int(1..4)]), - and([1 = - sum([toInt(q49 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Marker /\ - x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence[q49, q1]) - | q49 : int(1..4)]) - | q1 : int(1..4)]), - and([q54 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Marker -> - sum([toInt(x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence[q54, q55]) | q55 : int(1..4)]) >= 1 - | q54 : int(1..4)]), - and([q4 + 1 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Marker -> - [-toInt(x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence[q4, q9]) | q9 : int(1..4)] x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Marker -> - and([x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence[q5, q11] = false | q11 : int(1..4)]) - | q5 : int(1..4)]), - x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Marker <= 4, - and([q6 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Marker -> - sum([toInt(x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence[q6, q7]) | q7 : int(1..4)]) <= 4 - | q6 : int(1..4)]), - 4 = - sum([toInt(q12 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Marker) * - catchUndef(sum([toInt(x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence[q12, q13]) - | q13 : int(1..4)]), - 0) - | q12 : int(1..4)]), - alldifferent_except([toInt(q56 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker /\ - q57 <= - x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker - [q56]) - * - catchUndef(x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values - [q56, q57], - 0) - | q56 : int(1..4), q57 : int(1..4)], - 0), - and([q58 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker -> - x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q58] >= 1 - | q58 : int(1..4)]), - and([q17 + 1 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker -> - flatten([[x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q17]; int(1)], - [x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q17, q24] - | q24 : int(1..4)]; - int(1..2)]) - x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker -> - x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q18] = 0 /\ - and([x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q18, q50] = 1 - | q50 : int(1..4)]) - | q18 : int(1..4)]), - x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker <= 4, - and([q19 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker -> - and([q20 + 1 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q19] -> - x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q19, q20] < - x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q19, q20 + 1] - | q20 : int(1..3)]) - | q19 : int(1..4)]), - and([q19 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker -> - and([q21 > x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q19] -> - x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q19, q21] = 1 - | q21 : int(1..4)]) - | q19 : int(1..4)]), - and([q19 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker -> - x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q19] <= 4 - | q19 : int(1..4)]), - 4 = - sum([toInt(q26 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker) * - catchUndef(x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q26], 0) - | q26 : int(1..4)]), - and([q29 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker -> - or([q32 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Marker /\ - (and([x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence[q32, q33] -> - or([q35 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q29] - /\ - x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q29, q35] = - q33 | q35 : int(1..4)]) - | q33 : int(1..4)]) - /\ - and([q37 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q29] -> - x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence - [q32, - x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q29, q37]] - | q37 : int(1..4)])) - | q32 : int(1..4)]) - | q29 : int(1..4)]), - and([q40 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Marker -> - or([q43 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker /\ - (and([q45 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q43] -> - x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence - [q40, - x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q43, q45]] - | q45 : int(1..4)]) - /\ - and([x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence[q40, q46] -> - or([q48 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q43] - /\ - x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q43, q48] = - q46 | q48 : int(1..4)]) - | q46 : int(1..4)])) - | q43 : int(1..4)]) - | q40 : int(1..4)]) - diff --git a/tests/exhaustive/basic/partition_06/expected/model_1_4-solution000001.solution b/tests/exhaustive/basic/partition_06/expected/model_1_4-solution000001.solution new file mode 100644 index 0000000000..bdecd9ce5b --- /dev/null +++ b/tests/exhaustive/basic/partition_06/expected/model_1_4-solution000001.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be partition({1, 2}, {3, 4}) +$ Visualisation for x +$ 1 2 +$ 3 4 + diff --git a/tests/exhaustive/basic/partition_06/expected/model_1_4-solution000002.solution b/tests/exhaustive/basic/partition_06/expected/model_1_4-solution000002.solution new file mode 100644 index 0000000000..b616543ee7 --- /dev/null +++ b/tests/exhaustive/basic/partition_06/expected/model_1_4-solution000002.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be partition({1, 3}, {2, 4}) +$ Visualisation for x +$ 1 3 +$ 2 4 + diff --git a/tests/exhaustive/basic/partition_06/expected/model_1_4-solution000003.solution b/tests/exhaustive/basic/partition_06/expected/model_1_4-solution000003.solution new file mode 100644 index 0000000000..8d196199c8 --- /dev/null +++ b/tests/exhaustive/basic/partition_06/expected/model_1_4-solution000003.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be partition({1, 4}, {2, 3}) +$ Visualisation for x +$ 1 4 +$ 2 3 + diff --git a/tests/exhaustive/basic/partition_06/expected/model_1_4.eprime b/tests/exhaustive/basic/partition_06/expected/model_1_4.eprime new file mode 100644 index 0000000000..fe7ae25188 --- /dev/null +++ b/tests/exhaustive/basic/partition_06/expected/model_1_4.eprime @@ -0,0 +1,85 @@ +language ESSENCE' 1.0 + +find x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Marker: int(0..4) +find x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence: matrix indexed by [int(1..4), int(1..4)] of bool +find x_PartitionOccurrence_NumParts: int(1..4) +find x_PartitionOccurrence_WhichPart: matrix indexed by [int(1..4)] of int(1..4) +find x_PartitionOccurrence_PartSizes: matrix indexed by [int(1..4)] of int(0..4) +find x_PartitionOccurrence_FirstIndex: matrix indexed by [int(1..4)] of int(1..4) +branching on + [x_PartitionOccurrence_NumParts, x_PartitionOccurrence_WhichPart, x_PartitionOccurrence_PartSizes, + x_PartitionOccurrence_FirstIndex, x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Marker, + x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence] +such that + and([q48 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Marker -> + sum([toInt(x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence[q48, q49]) | q49 : int(1..4)]) = 2 + | q48 : int(1..4)]), + and([1 = + sum([toInt(q24 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Marker /\ + x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence[q24, q1]) + | q24 : int(1..4)]) + | q1 : int(1..4)]), + and([q50 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Marker -> + sum([toInt(x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence[q50, q51]) | q51 : int(1..4)]) >= 1 + | q50 : int(1..4)]), + and([q4 + 1 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Marker -> + [-toInt(x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence[q4, q9]) | q9 : int(1..4)] x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Marker -> + and([x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence[q5, q11] = false | q11 : int(1..4)]) + | q5 : int(1..4)]), + x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Marker <= 4, + and([q6 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Marker -> + sum([toInt(x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence[q6, q7]) | q7 : int(1..4)]) <= 4 + | q6 : int(1..4)]), + 4 = + sum([toInt(q12 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Marker) * + catchUndef(sum([toInt(x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence[q12, q13]) + | q13 : int(1..4)]), + 0) + | q12 : int(1..4)]), + and([q14 <= x_PartitionOccurrence_NumParts -> x_PartitionOccurrence_PartSizes[q14] <= 4 | q14 : int(1..4)]), + and([q14 > x_PartitionOccurrence_NumParts -> x_PartitionOccurrence_PartSizes[q14] = 0 | q14 : int(1..4)]), + x_PartitionOccurrence_NumParts <= 4, + and([q15 <= x_PartitionOccurrence_NumParts -> or([x_PartitionOccurrence_WhichPart[q16] = q15 | q16 : int(1..4)]) + | q15 : int(3..4)]), + x_PartitionOccurrence_NumParts = max([x_PartitionOccurrence_WhichPart[q17] | q17 : int(1..4)]), + and([x_PartitionOccurrence_PartSizes[q18] = + sum([toInt(x_PartitionOccurrence_WhichPart[q19] = q18) | q19 : int(1..4)]) + | q18 : int(1..4)]), + and([q20 <= x_PartitionOccurrence_NumParts -> + and([x_PartitionOccurrence_WhichPart[q21] = q20 -> x_PartitionOccurrence_FirstIndex[q20] <= q21 + | q21 : int(1..4)]) + | q20 : int(1..4)]), + and([q20 <= x_PartitionOccurrence_NumParts -> + or([x_PartitionOccurrence_WhichPart[q21] = q20 /\ x_PartitionOccurrence_FirstIndex[q20] = q21 + | q21 : int(1..4)]) + | q20 : int(1..4)]), + and([q20 > x_PartitionOccurrence_NumParts -> x_PartitionOccurrence_FirstIndex[q20] = 1 | q20 : int(1..4)]), + and([q22 <= x_PartitionOccurrence_NumParts /\ q23 <= x_PartitionOccurrence_NumParts -> + (q22 < q23 <-> x_PartitionOccurrence_FirstIndex[q22] < x_PartitionOccurrence_FirstIndex[q23]) + | q22 : int(1..4), q23 : int(1..4)]), + and([q26 <= x_PartitionOccurrence_NumParts -> + or([q30 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Marker /\ + (and([x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence[q30, q31] -> + or([x_PartitionOccurrence_WhichPart[q33] = q26 /\ q33 = q31 | q33 : int(1..4)]) + | q31 : int(1..4)]) + /\ + and([x_PartitionOccurrence_WhichPart[q35] = q26 -> + x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence[q30, q35] + | q35 : int(1..4)])) + | q30 : int(1..4)]) + | q26 : int(1..4)]), + and([q38 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Marker -> + or([q40 <= x_PartitionOccurrence_NumParts /\ + (and([x_PartitionOccurrence_WhichPart[q43] = q40 -> + x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence[q38, q43] + | q43 : int(1..4)]) + /\ + and([x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence[q38, q44] -> + or([x_PartitionOccurrence_WhichPart[q46] = q40 /\ q46 = q44 | q46 : int(1..4)]) + | q44 : int(1..4)])) + | q40 : int(1..4)]) + | q38 : int(1..4)]) + diff --git a/tests/exhaustive/basic/partition_06/expected/model_2_1-solution000001.solution b/tests/exhaustive/basic/partition_06/expected/model_2_1-solution000001.solution new file mode 100644 index 0000000000..8d196199c8 --- /dev/null +++ b/tests/exhaustive/basic/partition_06/expected/model_2_1-solution000001.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be partition({1, 4}, {2, 3}) +$ Visualisation for x +$ 1 4 +$ 2 3 + diff --git a/tests/exhaustive/basic/partition_06/expected/model_2_1-solution000002.solution b/tests/exhaustive/basic/partition_06/expected/model_2_1-solution000002.solution new file mode 100644 index 0000000000..b616543ee7 --- /dev/null +++ b/tests/exhaustive/basic/partition_06/expected/model_2_1-solution000002.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be partition({1, 3}, {2, 4}) +$ Visualisation for x +$ 1 3 +$ 2 4 + diff --git a/tests/exhaustive/basic/partition_06/expected/model_2_1-solution000003.solution b/tests/exhaustive/basic/partition_06/expected/model_2_1-solution000003.solution new file mode 100644 index 0000000000..bdecd9ce5b --- /dev/null +++ b/tests/exhaustive/basic/partition_06/expected/model_2_1-solution000003.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be partition({1, 2}, {3, 4}) +$ Visualisation for x +$ 1 2 +$ 3 4 + diff --git a/tests/exhaustive/basic/partition_06/expected/model_2_1.eprime b/tests/exhaustive/basic/partition_06/expected/model_2_1.eprime new file mode 100644 index 0000000000..8f0bcabfd6 --- /dev/null +++ b/tests/exhaustive/basic/partition_06/expected/model_2_1.eprime @@ -0,0 +1,117 @@ +language ESSENCE' 1.0 + +find x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker: int(0..4) +find x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy: + matrix indexed by [int(1..4), int(1..4)] of int(1..5) +find x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Marker: int(0..4) +find x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence: matrix indexed by [int(1..4), int(1..4)] of bool +branching on + [x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Marker, + x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence, + x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker, + x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy] +such that + and([q57 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker -> + sum([toInt(x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q57, q59] != 5) + | q59 : int(1..4)]) + = 2 | q57 : int(1..4)]), + alldifferent_except([toInt(q60 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker /\ + x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q60, q61] != + 5) + * + catchUndef(x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy + [q60, q61], + 0) + | q60 : int(1..4), q61 : int(1..4)], + 0), + and([q62 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker -> + sum([toInt(x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q62, q64] != 5) + | q64 : int(1..4)]) + >= 1 + | q62 : int(1..4)]), + and([q4 + 1 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker -> + [x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q4, q12] | q12 : int(1..4)] x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker -> + and([x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q5, q52] = 1 + | q52 : int(1..4)]) + | q5 : int(1..4)]), + x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker <= 4, + and([q6 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker -> + and([x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q6, q7] < + x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q6, q7 + 1] + \/ x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q6, q7] = 5 + | q7 : int(1..3)]) + | q6 : int(1..4)]), + and([q6 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker -> + and([x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q6, q8] = 5 -> + x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q6, q8 + 1] = 5 + | q8 : int(1..3)]) + | q6 : int(1..4)]), + and([q6 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker -> + sum([toInt(x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q6, q9] != 5) + | q9 : int(1..4)]) + <= 4 + | q6 : int(1..4)]), + 4 = + sum([toInt(q14 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker) * + catchUndef(sum([toInt(x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q14, q16] != + 5) + | q16 : int(1..4)]), + 0) + | q14 : int(1..4)]), + and([1 = + sum([toInt(q53 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Marker /\ + x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence[q53, q17]) + | q53 : int(1..4)]) + | q17 : int(1..4)]), + and([q54 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Marker -> + sum([toInt(x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence[q54, q55]) | q55 : int(1..4)]) >= 1 + | q54 : int(1..4)]), + and([q20 + 1 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Marker -> + [-toInt(x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence[q20, q25]) | q25 : int(1..4)] x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Marker -> + and([x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence[q21, q27] = false | q27 : int(1..4)]) + | q21 : int(1..4)]), + x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Marker <= 4, + and([q22 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Marker -> + sum([toInt(x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence[q22, q23]) | q23 : int(1..4)]) <= 4 + | q22 : int(1..4)]), + 4 = + sum([toInt(q28 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Marker) * + catchUndef(sum([toInt(x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence[q28, q29]) + | q29 : int(1..4)]), + 0) + | q28 : int(1..4)]), + and([q32 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Marker -> + or([q35 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker /\ + (and([x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q35, q37] != 5 -> + x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence + [q32, x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q35, q37]] + | q37 : int(1..4)]) + /\ + and([x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence[q32, q38] -> + or([x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q35, q40] != 5 /\ + x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q35, q40] = q38 + | q40 : int(1..4)]) + | q38 : int(1..4)])) + | q35 : int(1..4)]) + | q32 : int(1..4)]), + and([q43 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker -> + or([q46 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Marker /\ + (and([x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence[q46, q47] -> + or([x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q43, q49] != 5 /\ + x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q43, q49] = q47 + | q49 : int(1..4)]) + | q47 : int(1..4)]) + /\ + and([x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q43, q51] != 5 -> + x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence + [q46, x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q43, q51]] + | q51 : int(1..4)])) + | q46 : int(1..4)]) + | q43 : int(1..4)]) + diff --git a/tests/exhaustive/basic/partition_06/expected/model_2_2-solution000001.solution b/tests/exhaustive/basic/partition_06/expected/model_2_2-solution000001.solution new file mode 100644 index 0000000000..bdecd9ce5b --- /dev/null +++ b/tests/exhaustive/basic/partition_06/expected/model_2_2-solution000001.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be partition({1, 2}, {3, 4}) +$ Visualisation for x +$ 1 2 +$ 3 4 + diff --git a/tests/exhaustive/basic/partition_06/expected/model_2_2-solution000002.solution b/tests/exhaustive/basic/partition_06/expected/model_2_2-solution000002.solution new file mode 100644 index 0000000000..b616543ee7 --- /dev/null +++ b/tests/exhaustive/basic/partition_06/expected/model_2_2-solution000002.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be partition({1, 3}, {2, 4}) +$ Visualisation for x +$ 1 3 +$ 2 4 + diff --git a/tests/exhaustive/basic/partition_06/expected/model_2_2-solution000003.solution b/tests/exhaustive/basic/partition_06/expected/model_2_2-solution000003.solution new file mode 100644 index 0000000000..8d196199c8 --- /dev/null +++ b/tests/exhaustive/basic/partition_06/expected/model_2_2-solution000003.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be partition({1, 4}, {2, 3}) +$ Visualisation for x +$ 1 4 +$ 2 3 + diff --git a/tests/exhaustive/basic/partition_06/expected/model_2_2.eprime b/tests/exhaustive/basic/partition_06/expected/model_2_2.eprime new file mode 100644 index 0000000000..4220a0f519 --- /dev/null +++ b/tests/exhaustive/basic/partition_06/expected/model_2_2.eprime @@ -0,0 +1,60 @@ +language ESSENCE' 1.0 + +find x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker: int(0..4) +find x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy: + matrix indexed by [int(1..4), int(1..4)] of int(1..5) +branching on + [x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker, + x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy] +such that + and([q19 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker -> + sum([toInt(x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q19, q21] != 5) + | q21 : int(1..4)]) + = 2 | q19 : int(1..4)]), + alldifferent_except([toInt(q22 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker /\ + x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q22, q23] != + 5) + * + catchUndef(x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy + [q22, q23], + 0) + | q22 : int(1..4), q23 : int(1..4)], + 0), + and([q24 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker -> + sum([toInt(x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q24, q26] != 5) + | q26 : int(1..4)]) + >= 1 + | q24 : int(1..4)]), + and([q4 + 1 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker -> + [x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q4, q12] | q12 : int(1..4)] x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker -> + and([x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q5, q17] = 1 + | q17 : int(1..4)]) + | q5 : int(1..4)]), + x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker <= 4, + and([q6 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker -> + and([x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q6, q7] < + x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q6, q7 + 1] + \/ x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q6, q7] = 5 + | q7 : int(1..3)]) + | q6 : int(1..4)]), + and([q6 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker -> + and([x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q6, q8] = 5 -> + x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q6, q8 + 1] = 5 + | q8 : int(1..3)]) + | q6 : int(1..4)]), + and([q6 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker -> + sum([toInt(x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q6, q9] != 5) + | q9 : int(1..4)]) + <= 4 + | q6 : int(1..4)]), + 4 = + sum([toInt(q14 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker) * + catchUndef(sum([toInt(x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q14, q16] != + 5) + | q16 : int(1..4)]), + 0) + | q14 : int(1..4)]) + diff --git a/tests/exhaustive/basic/partition_06/expected/model_2_3-solution000001.solution b/tests/exhaustive/basic/partition_06/expected/model_2_3-solution000001.solution new file mode 100644 index 0000000000..bdecd9ce5b --- /dev/null +++ b/tests/exhaustive/basic/partition_06/expected/model_2_3-solution000001.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be partition({1, 2}, {3, 4}) +$ Visualisation for x +$ 1 2 +$ 3 4 + diff --git a/tests/exhaustive/basic/partition_06/expected/model_2_3-solution000002.solution b/tests/exhaustive/basic/partition_06/expected/model_2_3-solution000002.solution new file mode 100644 index 0000000000..b616543ee7 --- /dev/null +++ b/tests/exhaustive/basic/partition_06/expected/model_2_3-solution000002.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be partition({1, 3}, {2, 4}) +$ Visualisation for x +$ 1 3 +$ 2 4 + diff --git a/tests/exhaustive/basic/partition_06/expected/model_2_3-solution000003.solution b/tests/exhaustive/basic/partition_06/expected/model_2_3-solution000003.solution new file mode 100644 index 0000000000..8d196199c8 --- /dev/null +++ b/tests/exhaustive/basic/partition_06/expected/model_2_3-solution000003.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be partition({1, 4}, {2, 3}) +$ Visualisation for x +$ 1 4 +$ 2 3 + diff --git a/tests/exhaustive/basic/partition_06/expected/model_2_3.eprime.orig b/tests/exhaustive/basic/partition_06/expected/model_2_3.eprime.orig deleted file mode 100644 index 5d89c386f7..0000000000 --- a/tests/exhaustive/basic/partition_06/expected/model_2_3.eprime.orig +++ /dev/null @@ -1,153 +0,0 @@ -language ESSENCE' 1.0 - -find x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker: int(0..4) -find x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy: - matrix indexed by [int(1..4), int(1..4)] of int(1..5) -find x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker: int(0..4) -find x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker: - matrix indexed by [int(1..4)] of int(0..4) -find x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values: - matrix indexed by [int(1..4), int(1..4)] of int(1..4) -branching on - [x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker, - x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker, - x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values, - x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker, - x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy] -such that - and([q61 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker -> - sum([toInt(x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q61, q63] != 5) - | q63 : int(1..4)]) - = 2 | q61 : int(1..4)]), - alldifferent_except([toInt(q64 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker /\ - x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q64, q65] != - 5) - * - catchUndef(x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy - [q64, q65], - 0) - | q64 : int(1..4), q65 : int(1..4)], - 0), - and([q66 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker -> - sum([toInt(x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q66, q68] != 5) - | q68 : int(1..4)]) - >= 1 - | q66 : int(1..4)]), - and([q4 + 1 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker -> - [x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q4, q12] | q12 : int(1..4)] x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker -> - and([x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q5, q58] = 1 - | q58 : int(1..4)]) - | q5 : int(1..4)]), - x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker <= 4, - and([q6 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker -> - and([x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q6, q7] < - x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q6, q7 + 1] - \/ x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q6, q7] = 5 - | q7 : int(1..3)]) - | q6 : int(1..4)]), - and([q6 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker -> - and([x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q6, q8] = 5 -> - x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q6, q8 + 1] = 5 - | q8 : int(1..3)]) - | q6 : int(1..4)]), - and([q6 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker -> - sum([toInt(x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q6, q9] != 5) - | q9 : int(1..4)]) - <= 4 - | q6 : int(1..4)]), - 4 = - sum([toInt(q14 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker) * - catchUndef(sum([toInt(x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q14, q16] != - 5) - | q16 : int(1..4)]), - 0) - | q14 : int(1..4)]), - alldifferent_except([toInt(q69 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker /\ - q70 <= - x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker - [q69]) - * - catchUndef(x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values - [q69, q70], - 0) - | q69 : int(1..4), q70 : int(1..4)], - 0), - and([q71 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker -> - x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q71] >= 1 - | q71 : int(1..4)]), - and([q20 + 1 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker -> - flatten([[x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q20]; int(1)], - [x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q20, q27] - | q27 : int(1..4)]; - int(1..2)]) - x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker -> - x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q21] = 0 /\ - and([x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q21, q59] = 1 - | q59 : int(1..4)]) - | q21 : int(1..4)]), - x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker <= 4, - and([q22 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker -> - and([q23 + 1 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q22] -> - x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q22, q23] < - x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q22, q23 + 1] - | q23 : int(1..3)]) - | q22 : int(1..4)]), - and([q22 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker -> - and([q24 > x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q22] -> - x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q22, q24] = 1 - | q24 : int(1..4)]) - | q22 : int(1..4)]), - and([q22 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker -> - x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q22] <= 4 - | q22 : int(1..4)]), - 4 = - sum([toInt(q29 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker) * - catchUndef(x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q29], 0) - | q29 : int(1..4)]), - and([q32 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker -> - or([q35 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker /\ - (and([x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q35, q37] != 5 -> - or([q39 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q32] - /\ - x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q32, q39] = - x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q35, q37] - | q39 : int(1..4)]) - | q37 : int(1..4)]) - /\ - and([q41 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q32] -> - or([x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q35, q43] != 5 /\ - x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q35, q43] = - x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q32, q41] - | q43 : int(1..4)]) - | q41 : int(1..4)])) - | q35 : int(1..4)]) - | q32 : int(1..4)]), - and([q46 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker -> - or([q49 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker /\ - (and([q51 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q49] -> - or([x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q46, q53] != 5 /\ - x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q46, q53] = - x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q49, q51] - | q53 : int(1..4)]) - | q51 : int(1..4)]) - /\ - and([x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q46, q55] != 5 -> - or([q57 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q49] - /\ - x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q49, q57] = - x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q46, q55] - | q57 : int(1..4)]) - | q55 : int(1..4)])) - | q49 : int(1..4)]) - | q46 : int(1..4)]) - diff --git a/tests/exhaustive/basic/partition_06/expected/model_2_4-solution000001.solution b/tests/exhaustive/basic/partition_06/expected/model_2_4-solution000001.solution new file mode 100644 index 0000000000..bdecd9ce5b --- /dev/null +++ b/tests/exhaustive/basic/partition_06/expected/model_2_4-solution000001.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be partition({1, 2}, {3, 4}) +$ Visualisation for x +$ 1 2 +$ 3 4 + diff --git a/tests/exhaustive/basic/partition_06/expected/model_2_4-solution000002.solution b/tests/exhaustive/basic/partition_06/expected/model_2_4-solution000002.solution new file mode 100644 index 0000000000..b616543ee7 --- /dev/null +++ b/tests/exhaustive/basic/partition_06/expected/model_2_4-solution000002.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be partition({1, 3}, {2, 4}) +$ Visualisation for x +$ 1 3 +$ 2 4 + diff --git a/tests/exhaustive/basic/partition_06/expected/model_2_4-solution000003.solution b/tests/exhaustive/basic/partition_06/expected/model_2_4-solution000003.solution new file mode 100644 index 0000000000..8d196199c8 --- /dev/null +++ b/tests/exhaustive/basic/partition_06/expected/model_2_4-solution000003.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be partition({1, 4}, {2, 3}) +$ Visualisation for x +$ 1 4 +$ 2 3 + diff --git a/tests/exhaustive/basic/partition_06/expected/model_2_4.eprime b/tests/exhaustive/basic/partition_06/expected/model_2_4.eprime new file mode 100644 index 0000000000..bbbd3ba3be --- /dev/null +++ b/tests/exhaustive/basic/partition_06/expected/model_2_4.eprime @@ -0,0 +1,116 @@ +language ESSENCE' 1.0 + +find x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker: int(0..4) +find x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy: + matrix indexed by [int(1..4), int(1..4)] of int(1..5) +find x_PartitionOccurrence_NumParts: int(1..4) +find x_PartitionOccurrence_WhichPart: matrix indexed by [int(1..4)] of int(1..4) +find x_PartitionOccurrence_PartSizes: matrix indexed by [int(1..4)] of int(0..4) +find x_PartitionOccurrence_FirstIndex: matrix indexed by [int(1..4)] of int(1..4) +branching on + [x_PartitionOccurrence_NumParts, x_PartitionOccurrence_WhichPart, x_PartitionOccurrence_PartSizes, + x_PartitionOccurrence_FirstIndex, x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker, + x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy] +such that + and([q57 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker -> + sum([toInt(x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q57, q59] != 5) + | q59 : int(1..4)]) + = 2 | q57 : int(1..4)]), + alldifferent_except([toInt(q60 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker /\ + x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q60, q61] != + 5) + * + catchUndef(x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy + [q60, q61], + 0) + | q60 : int(1..4), q61 : int(1..4)], + 0), + and([q62 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker -> + sum([toInt(x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q62, q64] != 5) + | q64 : int(1..4)]) + >= 1 + | q62 : int(1..4)]), + and([q4 + 1 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker -> + [x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q4, q12] | q12 : int(1..4)] x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker -> + and([x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q5, q27] = 1 + | q27 : int(1..4)]) + | q5 : int(1..4)]), + x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker <= 4, + and([q6 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker -> + and([x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q6, q7] < + x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q6, q7 + 1] + \/ x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q6, q7] = 5 + | q7 : int(1..3)]) + | q6 : int(1..4)]), + and([q6 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker -> + and([x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q6, q8] = 5 -> + x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q6, q8 + 1] = 5 + | q8 : int(1..3)]) + | q6 : int(1..4)]), + and([q6 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker -> + sum([toInt(x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q6, q9] != 5) + | q9 : int(1..4)]) + <= 4 + | q6 : int(1..4)]), + 4 = + sum([toInt(q14 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker) * + catchUndef(sum([toInt(x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q14, q16] != + 5) + | q16 : int(1..4)]), + 0) + | q14 : int(1..4)]), + and([q17 <= x_PartitionOccurrence_NumParts -> x_PartitionOccurrence_PartSizes[q17] <= 4 | q17 : int(1..4)]), + and([q17 > x_PartitionOccurrence_NumParts -> x_PartitionOccurrence_PartSizes[q17] = 0 | q17 : int(1..4)]), + x_PartitionOccurrence_NumParts <= 4, + and([q18 <= x_PartitionOccurrence_NumParts -> or([x_PartitionOccurrence_WhichPart[q19] = q18 | q19 : int(1..4)]) + | q18 : int(3..4)]), + x_PartitionOccurrence_NumParts = max([x_PartitionOccurrence_WhichPart[q20] | q20 : int(1..4)]), + and([x_PartitionOccurrence_PartSizes[q21] = + sum([toInt(x_PartitionOccurrence_WhichPart[q22] = q21) | q22 : int(1..4)]) + | q21 : int(1..4)]), + and([q23 <= x_PartitionOccurrence_NumParts -> + and([x_PartitionOccurrence_WhichPart[q24] = q23 -> x_PartitionOccurrence_FirstIndex[q23] <= q24 + | q24 : int(1..4)]) + | q23 : int(1..4)]), + and([q23 <= x_PartitionOccurrence_NumParts -> + or([x_PartitionOccurrence_WhichPart[q24] = q23 /\ x_PartitionOccurrence_FirstIndex[q23] = q24 + | q24 : int(1..4)]) + | q23 : int(1..4)]), + and([q23 > x_PartitionOccurrence_NumParts -> x_PartitionOccurrence_FirstIndex[q23] = 1 | q23 : int(1..4)]), + and([q25 <= x_PartitionOccurrence_NumParts /\ q26 <= x_PartitionOccurrence_NumParts -> + (q25 < q26 <-> x_PartitionOccurrence_FirstIndex[q25] < x_PartitionOccurrence_FirstIndex[q26]) + | q25 : int(1..4), q26 : int(1..4)]), + and([q29 <= x_PartitionOccurrence_NumParts -> + or([q33 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker /\ + (and([x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q33, q35] != 5 -> + or([x_PartitionOccurrence_WhichPart[q37] = q29 /\ + q37 = x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q33, q35] + | q37 : int(1..4)]) + | q35 : int(1..4)]) + /\ + and([x_PartitionOccurrence_WhichPart[q39] = q29 -> + or([x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q33, q41] != 5 /\ + x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q33, q41] = q39 + | q41 : int(1..4)]) + | q39 : int(1..4)])) + | q33 : int(1..4)]) + | q29 : int(1..4)]), + and([q44 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker -> + or([q46 <= x_PartitionOccurrence_NumParts /\ + (and([x_PartitionOccurrence_WhichPart[q49] = q46 -> + or([x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q44, q51] != 5 /\ + x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q44, q51] = q49 + | q51 : int(1..4)]) + | q49 : int(1..4)]) + /\ + and([x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q44, q53] != 5 -> + or([x_PartitionOccurrence_WhichPart[q55] = q46 /\ + q55 = x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q44, q53] + | q55 : int(1..4)]) + | q53 : int(1..4)])) + | q46 : int(1..4)]) + | q44 : int(1..4)]) + diff --git a/tests/exhaustive/basic/partition_06/expected/model_3_1-solution000001.solution b/tests/exhaustive/basic/partition_06/expected/model_3_1-solution000001.solution new file mode 100644 index 0000000000..8d196199c8 --- /dev/null +++ b/tests/exhaustive/basic/partition_06/expected/model_3_1-solution000001.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be partition({1, 4}, {2, 3}) +$ Visualisation for x +$ 1 4 +$ 2 3 + diff --git a/tests/exhaustive/basic/partition_06/expected/model_3_1-solution000002.solution b/tests/exhaustive/basic/partition_06/expected/model_3_1-solution000002.solution new file mode 100644 index 0000000000..b616543ee7 --- /dev/null +++ b/tests/exhaustive/basic/partition_06/expected/model_3_1-solution000002.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be partition({1, 3}, {2, 4}) +$ Visualisation for x +$ 1 3 +$ 2 4 + diff --git a/tests/exhaustive/basic/partition_06/expected/model_3_1-solution000003.solution b/tests/exhaustive/basic/partition_06/expected/model_3_1-solution000003.solution new file mode 100644 index 0000000000..bdecd9ce5b --- /dev/null +++ b/tests/exhaustive/basic/partition_06/expected/model_3_1-solution000003.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be partition({1, 2}, {3, 4}) +$ Visualisation for x +$ 1 2 +$ 3 4 + diff --git a/tests/exhaustive/basic/partition_06/expected/model_3_1.eprime.orig b/tests/exhaustive/basic/partition_06/expected/model_3_1.eprime.orig deleted file mode 100644 index 22b58118fa..0000000000 --- a/tests/exhaustive/basic/partition_06/expected/model_3_1.eprime.orig +++ /dev/null @@ -1,126 +0,0 @@ -language ESSENCE' 1.0 - -find x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker: int(0..4) -find x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker: - matrix indexed by [int(1..4)] of int(0..4) -find x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values: - matrix indexed by [int(1..4), int(1..4)] of int(1..4) -find x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Marker: int(0..4) -find x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence: matrix indexed by [int(1..4), int(1..4)] of bool -branching on - [x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Marker, - x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence, - x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker, - x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker, - x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values] -such that - and([q54 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker -> - x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q54] = 2 - | q54 : int(1..4)]), - alldifferent_except([toInt(q55 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker /\ - q56 <= - x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker - [q55]) - * - catchUndef(x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values - [q55, q56], - 0) - | q55 : int(1..4), q56 : int(1..4)], - 0), - and([q57 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker -> - x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q57] >= 1 - | q57 : int(1..4)]), - and([q4 + 1 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker -> - flatten([[x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q4]; int(1)], - [x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q4, q11] - | q11 : int(1..4)]; - int(1..2)]) - x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker -> - x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q5] = 0 /\ - and([x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q5, q49] = 1 - | q49 : int(1..4)]) - | q5 : int(1..4)]), - x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker <= 4, - and([q6 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker -> - and([q7 + 1 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q6] -> - x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q6, q7] < - x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q6, q7 + 1] - | q7 : int(1..3)]) - | q6 : int(1..4)]), - and([q6 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker -> - and([q8 > x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q6] -> - x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q6, q8] = 1 - | q8 : int(1..4)]) - | q6 : int(1..4)]), - and([q6 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker -> - x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q6] <= 4 - | q6 : int(1..4)]), - 4 = - sum([toInt(q13 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker) * - catchUndef(x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q13], 0) - | q13 : int(1..4)]), - and([1 = - sum([toInt(q50 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Marker /\ - x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence[q50, q14]) - | q50 : int(1..4)]) - | q14 : int(1..4)]), - and([q51 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Marker -> - sum([toInt(x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence[q51, q52]) | q52 : int(1..4)]) >= 1 - | q51 : int(1..4)]), - and([q17 + 1 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Marker -> - [-toInt(x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence[q17, q22]) | q22 : int(1..4)] x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Marker -> - and([x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence[q18, q24] = false | q24 : int(1..4)]) - | q18 : int(1..4)]), - x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Marker <= 4, - and([q19 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Marker -> - sum([toInt(x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence[q19, q20]) | q20 : int(1..4)]) <= 4 - | q19 : int(1..4)]), - 4 = - sum([toInt(q25 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Marker) * - catchUndef(sum([toInt(x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence[q25, q26]) - | q26 : int(1..4)]), - 0) - | q25 : int(1..4)]), - and([q29 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Marker -> - or([q32 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker /\ - (and([q34 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q32] -> - x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence - [q29, - x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q32, q34]] - | q34 : int(1..4)]) - /\ - and([x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence[q29, q35] -> - or([q37 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q32] - /\ - x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q32, q37] = - q35 | q37 : int(1..4)]) - | q35 : int(1..4)])) - | q32 : int(1..4)]) - | q29 : int(1..4)]), - and([q40 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker -> - or([q43 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Marker /\ - (and([x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence[q43, q44] -> - or([q46 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q40] - /\ - x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q40, q46] = - q44 | q46 : int(1..4)]) - | q44 : int(1..4)]) - /\ - and([q48 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q40] -> - x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence - [q43, - x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q40, q48]] - | q48 : int(1..4)])) - | q43 : int(1..4)]) - | q40 : int(1..4)]) - diff --git a/tests/exhaustive/basic/partition_06/expected/model_3_2-solution000001.solution b/tests/exhaustive/basic/partition_06/expected/model_3_2-solution000001.solution new file mode 100644 index 0000000000..bdecd9ce5b --- /dev/null +++ b/tests/exhaustive/basic/partition_06/expected/model_3_2-solution000001.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be partition({1, 2}, {3, 4}) +$ Visualisation for x +$ 1 2 +$ 3 4 + diff --git a/tests/exhaustive/basic/partition_06/expected/model_3_2-solution000002.solution b/tests/exhaustive/basic/partition_06/expected/model_3_2-solution000002.solution new file mode 100644 index 0000000000..b616543ee7 --- /dev/null +++ b/tests/exhaustive/basic/partition_06/expected/model_3_2-solution000002.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be partition({1, 3}, {2, 4}) +$ Visualisation for x +$ 1 3 +$ 2 4 + diff --git a/tests/exhaustive/basic/partition_06/expected/model_3_2-solution000003.solution b/tests/exhaustive/basic/partition_06/expected/model_3_2-solution000003.solution new file mode 100644 index 0000000000..8d196199c8 --- /dev/null +++ b/tests/exhaustive/basic/partition_06/expected/model_3_2-solution000003.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be partition({1, 4}, {2, 3}) +$ Visualisation for x +$ 1 4 +$ 2 3 + diff --git a/tests/exhaustive/basic/partition_06/expected/model_3_2.eprime.orig b/tests/exhaustive/basic/partition_06/expected/model_3_2.eprime.orig deleted file mode 100644 index 933cc936fc..0000000000 --- a/tests/exhaustive/basic/partition_06/expected/model_3_2.eprime.orig +++ /dev/null @@ -1,152 +0,0 @@ -language ESSENCE' 1.0 - -find x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker: int(0..4) -find x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker: - matrix indexed by [int(1..4)] of int(0..4) -find x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values: - matrix indexed by [int(1..4), int(1..4)] of int(1..4) -find x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker: int(0..4) -find x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy: - matrix indexed by [int(1..4), int(1..4)] of int(1..5) -branching on - [x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker, - x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy, - x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker, - x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker, - x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values] -such that - and([q61 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker -> - x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q61] = 2 - | q61 : int(1..4)]), - alldifferent_except([toInt(q62 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker /\ - q63 <= - x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker - [q62]) - * - catchUndef(x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values - [q62, q63], - 0) - | q62 : int(1..4), q63 : int(1..4)], - 0), - and([q64 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker -> - x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q64] >= 1 - | q64 : int(1..4)]), - and([q4 + 1 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker -> - flatten([[x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q4]; int(1)], - [x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q4, q11] - | q11 : int(1..4)]; - int(1..2)]) - x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker -> - x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q5] = 0 /\ - and([x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q5, q58] = 1 - | q58 : int(1..4)]) - | q5 : int(1..4)]), - x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker <= 4, - and([q6 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker -> - and([q7 + 1 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q6] -> - x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q6, q7] < - x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q6, q7 + 1] - | q7 : int(1..3)]) - | q6 : int(1..4)]), - and([q6 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker -> - and([q8 > x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q6] -> - x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q6, q8] = 1 - | q8 : int(1..4)]) - | q6 : int(1..4)]), - and([q6 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker -> - x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q6] <= 4 - | q6 : int(1..4)]), - 4 = - sum([toInt(q13 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker) * - catchUndef(x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q13], 0) - | q13 : int(1..4)]), - alldifferent_except([toInt(q65 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker /\ - x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q65, q66] != - 5) - * - catchUndef(x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy - [q65, q66], - 0) - | q65 : int(1..4), q66 : int(1..4)], - 0), - and([q67 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker -> - sum([toInt(x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q67, q69] != 5) - | q69 : int(1..4)]) - >= 1 - | q67 : int(1..4)]), - and([q17 + 1 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker -> - [x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q17, q25] | q25 : int(1..4)] x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker -> - and([x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q18, q59] = 1 - | q59 : int(1..4)]) - | q18 : int(1..4)]), - x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker <= 4, - and([q19 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker -> - and([x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q19, q20] < - x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q19, q20 + 1] - \/ x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q19, q20] = 5 - | q20 : int(1..3)]) - | q19 : int(1..4)]), - and([q19 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker -> - and([x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q19, q21] = 5 -> - x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q19, q21 + 1] = 5 - | q21 : int(1..3)]) - | q19 : int(1..4)]), - and([q19 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker -> - sum([toInt(x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q19, q22] != 5) - | q22 : int(1..4)]) - <= 4 - | q19 : int(1..4)]), - 4 = - sum([toInt(q27 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker) * - catchUndef(sum([toInt(x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q27, q29] != - 5) - | q29 : int(1..4)]), - 0) - | q27 : int(1..4)]), - and([q32 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker -> - or([q35 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker /\ - (and([q37 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q35] -> - or([x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q32, q39] != 5 /\ - x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q32, q39] = - x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q35, q37] - | q39 : int(1..4)]) - | q37 : int(1..4)]) - /\ - and([x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q32, q41] != 5 -> - or([q43 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q35] - /\ - x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q35, q43] = - x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q32, q41] - | q43 : int(1..4)]) - | q41 : int(1..4)])) - | q35 : int(1..4)]) - | q32 : int(1..4)]), - and([q46 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker -> - or([q49 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker /\ - (and([x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q49, q51] != 5 -> - or([q53 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q46] - /\ - x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q46, q53] = - x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q49, q51] - | q53 : int(1..4)]) - | q51 : int(1..4)]) - /\ - and([q55 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q46] -> - or([x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q49, q57] != 5 /\ - x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q49, q57] = - x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q46, q55] - | q57 : int(1..4)]) - | q55 : int(1..4)])) - | q49 : int(1..4)]) - | q46 : int(1..4)]) - diff --git a/tests/exhaustive/basic/partition_06/expected/model_3_3-solution000001.solution b/tests/exhaustive/basic/partition_06/expected/model_3_3-solution000001.solution new file mode 100644 index 0000000000..bdecd9ce5b --- /dev/null +++ b/tests/exhaustive/basic/partition_06/expected/model_3_3-solution000001.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be partition({1, 2}, {3, 4}) +$ Visualisation for x +$ 1 2 +$ 3 4 + diff --git a/tests/exhaustive/basic/partition_06/expected/model_3_3-solution000002.solution b/tests/exhaustive/basic/partition_06/expected/model_3_3-solution000002.solution new file mode 100644 index 0000000000..b616543ee7 --- /dev/null +++ b/tests/exhaustive/basic/partition_06/expected/model_3_3-solution000002.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be partition({1, 3}, {2, 4}) +$ Visualisation for x +$ 1 3 +$ 2 4 + diff --git a/tests/exhaustive/basic/partition_06/expected/model_3_3-solution000003.solution b/tests/exhaustive/basic/partition_06/expected/model_3_3-solution000003.solution new file mode 100644 index 0000000000..8d196199c8 --- /dev/null +++ b/tests/exhaustive/basic/partition_06/expected/model_3_3-solution000003.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be partition({1, 4}, {2, 3}) +$ Visualisation for x +$ 1 4 +$ 2 3 + diff --git a/tests/exhaustive/basic/partition_06/expected/model_3_3.eprime.orig b/tests/exhaustive/basic/partition_06/expected/model_3_3.eprime.orig deleted file mode 100644 index 91a23d8bc7..0000000000 --- a/tests/exhaustive/basic/partition_06/expected/model_3_3.eprime.orig +++ /dev/null @@ -1,65 +0,0 @@ -language ESSENCE' 1.0 - -find x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker: int(0..4) -find x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker: - matrix indexed by [int(1..4)] of int(0..4) -find x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values: - matrix indexed by [int(1..4), int(1..4)] of int(1..4) -branching on - [x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker, - x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker, - x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values] -such that - and([q16 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker -> - x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q16] = 2 - | q16 : int(1..4)]), - alldifferent_except([toInt(q17 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker /\ - q18 <= - x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker - [q17]) - * - catchUndef(x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values - [q17, q18], - 0) - | q17 : int(1..4), q18 : int(1..4)], - 0), - and([q19 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker -> - x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q19] >= 1 - | q19 : int(1..4)]), - and([q4 + 1 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker -> - flatten([[x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q4]; int(1)], - [x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q4, q11] - | q11 : int(1..4)]; - int(1..2)]) - x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker -> - x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q5] = 0 /\ - and([x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q5, q14] = 1 - | q14 : int(1..4)]) - | q5 : int(1..4)]), - x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker <= 4, - and([q6 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker -> - and([q7 + 1 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q6] -> - x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q6, q7] < - x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q6, q7 + 1] - | q7 : int(1..3)]) - | q6 : int(1..4)]), - and([q6 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker -> - and([q8 > x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q6] -> - x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q6, q8] = 1 - | q8 : int(1..4)]) - | q6 : int(1..4)]), - and([q6 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker -> - x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q6] <= 4 - | q6 : int(1..4)]), - 4 = - sum([toInt(q13 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker) * - catchUndef(x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q13], 0) - | q13 : int(1..4)]) - diff --git a/tests/exhaustive/basic/partition_06/expected/model_3_4-solution000001.solution b/tests/exhaustive/basic/partition_06/expected/model_3_4-solution000001.solution new file mode 100644 index 0000000000..bdecd9ce5b --- /dev/null +++ b/tests/exhaustive/basic/partition_06/expected/model_3_4-solution000001.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be partition({1, 2}, {3, 4}) +$ Visualisation for x +$ 1 2 +$ 3 4 + diff --git a/tests/exhaustive/basic/partition_06/expected/model_3_4-solution000002.solution b/tests/exhaustive/basic/partition_06/expected/model_3_4-solution000002.solution new file mode 100644 index 0000000000..b616543ee7 --- /dev/null +++ b/tests/exhaustive/basic/partition_06/expected/model_3_4-solution000002.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be partition({1, 3}, {2, 4}) +$ Visualisation for x +$ 1 3 +$ 2 4 + diff --git a/tests/exhaustive/basic/partition_06/expected/model_3_4-solution000003.solution b/tests/exhaustive/basic/partition_06/expected/model_3_4-solution000003.solution new file mode 100644 index 0000000000..8d196199c8 --- /dev/null +++ b/tests/exhaustive/basic/partition_06/expected/model_3_4-solution000003.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be partition({1, 4}, {2, 3}) +$ Visualisation for x +$ 1 4 +$ 2 3 + diff --git a/tests/exhaustive/basic/partition_06/expected/model_3_4.eprime.orig b/tests/exhaustive/basic/partition_06/expected/model_3_4.eprime.orig deleted file mode 100644 index 8a20b60fc0..0000000000 --- a/tests/exhaustive/basic/partition_06/expected/model_3_4.eprime.orig +++ /dev/null @@ -1,125 +0,0 @@ -language ESSENCE' 1.0 - -find x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker: int(0..4) -find x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker: - matrix indexed by [int(1..4)] of int(0..4) -find x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values: - matrix indexed by [int(1..4), int(1..4)] of int(1..4) -find x_PartitionOccurrence_NumParts: int(1..4) -find x_PartitionOccurrence_WhichPart: matrix indexed by [int(1..4)] of int(1..4) -find x_PartitionOccurrence_PartSizes: matrix indexed by [int(1..4)] of int(0..4) -find x_PartitionOccurrence_FirstIndex: matrix indexed by [int(1..4)] of int(1..4) -branching on - [x_PartitionOccurrence_NumParts, x_PartitionOccurrence_WhichPart, x_PartitionOccurrence_PartSizes, - x_PartitionOccurrence_FirstIndex, x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker, - x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker, - x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values] -such that - and([q54 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker -> - x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q54] = 2 - | q54 : int(1..4)]), - alldifferent_except([toInt(q55 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker /\ - q56 <= - x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker - [q55]) - * - catchUndef(x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values - [q55, q56], - 0) - | q55 : int(1..4), q56 : int(1..4)], - 0), - and([q57 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker -> - x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q57] >= 1 - | q57 : int(1..4)]), - and([q4 + 1 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker -> - flatten([[x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q4]; int(1)], - [x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q4, q11] - | q11 : int(1..4)]; - int(1..2)]) - x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker -> - x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q5] = 0 /\ - and([x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q5, q24] = 1 - | q24 : int(1..4)]) - | q5 : int(1..4)]), - x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker <= 4, - and([q6 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker -> - and([q7 + 1 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q6] -> - x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q6, q7] < - x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q6, q7 + 1] - | q7 : int(1..3)]) - | q6 : int(1..4)]), - and([q6 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker -> - and([q8 > x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q6] -> - x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q6, q8] = 1 - | q8 : int(1..4)]) - | q6 : int(1..4)]), - and([q6 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker -> - x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q6] <= 4 - | q6 : int(1..4)]), - 4 = - sum([toInt(q13 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker) * - catchUndef(x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q13], 0) - | q13 : int(1..4)]), - and([q14 <= x_PartitionOccurrence_NumParts -> x_PartitionOccurrence_PartSizes[q14] <= 4 | q14 : int(1..4)]), - and([q14 > x_PartitionOccurrence_NumParts -> x_PartitionOccurrence_PartSizes[q14] = 0 | q14 : int(1..4)]), - x_PartitionOccurrence_NumParts <= 4, - and([q15 <= x_PartitionOccurrence_NumParts -> or([x_PartitionOccurrence_WhichPart[q16] = q15 | q16 : int(1..4)]) - | q15 : int(3..4)]), - x_PartitionOccurrence_NumParts = max([x_PartitionOccurrence_WhichPart[q17] | q17 : int(1..4)]), - and([x_PartitionOccurrence_PartSizes[q18] = - sum([toInt(x_PartitionOccurrence_WhichPart[q19] = q18) | q19 : int(1..4)]) - | q18 : int(1..4)]), - and([q20 <= x_PartitionOccurrence_NumParts -> - and([x_PartitionOccurrence_WhichPart[q21] = q20 -> x_PartitionOccurrence_FirstIndex[q20] <= q21 - | q21 : int(1..4)]) - | q20 : int(1..4)]), - and([q20 <= x_PartitionOccurrence_NumParts -> - or([x_PartitionOccurrence_WhichPart[q21] = q20 /\ x_PartitionOccurrence_FirstIndex[q20] = q21 - | q21 : int(1..4)]) - | q20 : int(1..4)]), - and([q20 > x_PartitionOccurrence_NumParts -> x_PartitionOccurrence_FirstIndex[q20] = 1 | q20 : int(1..4)]), - and([q22 <= x_PartitionOccurrence_NumParts /\ q23 <= x_PartitionOccurrence_NumParts -> - (q22 < q23 <-> x_PartitionOccurrence_FirstIndex[q22] < x_PartitionOccurrence_FirstIndex[q23]) - | q22 : int(1..4), q23 : int(1..4)]), - and([q26 <= x_PartitionOccurrence_NumParts -> - or([q30 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker /\ - (and([q32 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q30] -> - or([x_PartitionOccurrence_WhichPart[q34] = q26 /\ - q34 = - x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q30, q32] - | q34 : int(1..4)]) - | q32 : int(1..4)]) - /\ - and([x_PartitionOccurrence_WhichPart[q36] = q26 -> - or([q38 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q30] - /\ - x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q30, q38] = - q36 | q38 : int(1..4)]) - | q36 : int(1..4)])) - | q30 : int(1..4)]) - | q26 : int(1..4)]), - and([q41 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker -> - or([q43 <= x_PartitionOccurrence_NumParts /\ - (and([x_PartitionOccurrence_WhichPart[q46] = q43 -> - or([q48 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q41] - /\ - x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q41, q48] = - q46 | q48 : int(1..4)]) - | q46 : int(1..4)]) - /\ - and([q50 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q41] -> - or([x_PartitionOccurrence_WhichPart[q52] = q43 /\ - q52 = - x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q41, q50] - | q52 : int(1..4)]) - | q50 : int(1..4)])) - | q43 : int(1..4)]) - | q41 : int(1..4)]) - diff --git a/tests/exhaustive/basic/partition_06/expected/model_4_1-solution000001.solution b/tests/exhaustive/basic/partition_06/expected/model_4_1-solution000001.solution new file mode 100644 index 0000000000..8d196199c8 --- /dev/null +++ b/tests/exhaustive/basic/partition_06/expected/model_4_1-solution000001.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be partition({1, 4}, {2, 3}) +$ Visualisation for x +$ 1 4 +$ 2 3 + diff --git a/tests/exhaustive/basic/partition_06/expected/model_4_1-solution000002.solution b/tests/exhaustive/basic/partition_06/expected/model_4_1-solution000002.solution new file mode 100644 index 0000000000..b616543ee7 --- /dev/null +++ b/tests/exhaustive/basic/partition_06/expected/model_4_1-solution000002.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be partition({1, 3}, {2, 4}) +$ Visualisation for x +$ 1 3 +$ 2 4 + diff --git a/tests/exhaustive/basic/partition_06/expected/model_4_1-solution000003.solution b/tests/exhaustive/basic/partition_06/expected/model_4_1-solution000003.solution new file mode 100644 index 0000000000..bdecd9ce5b --- /dev/null +++ b/tests/exhaustive/basic/partition_06/expected/model_4_1-solution000003.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be partition({1, 2}, {3, 4}) +$ Visualisation for x +$ 1 2 +$ 3 4 + diff --git a/tests/exhaustive/basic/partition_06/expected/model_4_1.eprime b/tests/exhaustive/basic/partition_06/expected/model_4_1.eprime new file mode 100644 index 0000000000..7b16b63344 --- /dev/null +++ b/tests/exhaustive/basic/partition_06/expected/model_4_1.eprime @@ -0,0 +1,82 @@ +language ESSENCE' 1.0 + +find x_PartitionOccurrence_NumParts: int(1..4) +find x_PartitionOccurrence_WhichPart: matrix indexed by [int(1..4)] of int(1..4) +find x_PartitionOccurrence_PartSizes: matrix indexed by [int(1..4)] of int(0..4) +find x_PartitionOccurrence_FirstIndex: matrix indexed by [int(1..4)] of int(1..4) +find x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Marker: int(0..4) +find x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence: matrix indexed by [int(1..4), int(1..4)] of bool +branching on + [x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Marker, + x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence, x_PartitionOccurrence_NumParts, + x_PartitionOccurrence_WhichPart, x_PartitionOccurrence_PartSizes, x_PartitionOccurrence_FirstIndex] +such that + and([q49 <= x_PartitionOccurrence_NumParts -> + sum([toInt(x_PartitionOccurrence_WhichPart[q52] = q49) | q52 : int(1..4)]) = 2 + | q49 : int(1..4)]), + and([q1 <= x_PartitionOccurrence_NumParts -> x_PartitionOccurrence_PartSizes[q1] <= 4 | q1 : int(1..4)]), + and([q1 > x_PartitionOccurrence_NumParts -> x_PartitionOccurrence_PartSizes[q1] = 0 | q1 : int(1..4)]), + x_PartitionOccurrence_NumParts <= 4, + and([q2 <= x_PartitionOccurrence_NumParts -> or([x_PartitionOccurrence_WhichPart[q3] = q2 | q3 : int(1..4)]) + | q2 : int(3..4)]), + x_PartitionOccurrence_NumParts = max([x_PartitionOccurrence_WhichPart[q4] | q4 : int(1..4)]), + and([x_PartitionOccurrence_PartSizes[q5] = sum([toInt(x_PartitionOccurrence_WhichPart[q6] = q5) | q6 : int(1..4)]) + | q5 : int(1..4)]), + and([q7 <= x_PartitionOccurrence_NumParts -> + and([x_PartitionOccurrence_WhichPart[q8] = q7 -> x_PartitionOccurrence_FirstIndex[q7] <= q8 | q8 : int(1..4)]) + | q7 : int(1..4)]), + and([q7 <= x_PartitionOccurrence_NumParts -> + or([x_PartitionOccurrence_WhichPart[q8] = q7 /\ x_PartitionOccurrence_FirstIndex[q7] = q8 | q8 : int(1..4)]) + | q7 : int(1..4)]), + and([q7 > x_PartitionOccurrence_NumParts -> x_PartitionOccurrence_FirstIndex[q7] = 1 | q7 : int(1..4)]), + and([q9 <= x_PartitionOccurrence_NumParts /\ q10 <= x_PartitionOccurrence_NumParts -> + (q9 < q10 <-> x_PartitionOccurrence_FirstIndex[q9] < x_PartitionOccurrence_FirstIndex[q10]) + | q9 : int(1..4), q10 : int(1..4)]), + and([1 = + sum([toInt(q46 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Marker /\ + x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence[q46, q11]) + | q46 : int(1..4)]) + | q11 : int(1..4)]), + and([q47 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Marker -> + sum([toInt(x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence[q47, q48]) | q48 : int(1..4)]) >= 1 + | q47 : int(1..4)]), + and([q14 + 1 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Marker -> + [-toInt(x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence[q14, q19]) | q19 : int(1..4)] x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Marker -> + and([x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence[q15, q21] = false | q21 : int(1..4)]) + | q15 : int(1..4)]), + x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Marker <= 4, + and([q16 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Marker -> + sum([toInt(x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence[q16, q17]) | q17 : int(1..4)]) <= 4 + | q16 : int(1..4)]), + 4 = + sum([toInt(q22 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Marker) * + catchUndef(sum([toInt(x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence[q22, q23]) + | q23 : int(1..4)]), + 0) + | q22 : int(1..4)]), + and([q26 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Marker -> + or([q28 <= x_PartitionOccurrence_NumParts /\ + (and([x_PartitionOccurrence_WhichPart[q31] = q28 -> + x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence[q26, q31] + | q31 : int(1..4)]) + /\ + and([x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence[q26, q32] -> + or([x_PartitionOccurrence_WhichPart[q34] = q28 /\ q34 = q32 | q34 : int(1..4)]) + | q32 : int(1..4)])) + | q28 : int(1..4)]) + | q26 : int(1..4)]), + and([q36 <= x_PartitionOccurrence_NumParts -> + or([q40 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Marker /\ + (and([x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence[q40, q41] -> + or([x_PartitionOccurrence_WhichPart[q43] = q36 /\ q43 = q41 | q43 : int(1..4)]) + | q41 : int(1..4)]) + /\ + and([x_PartitionOccurrence_WhichPart[q45] = q36 -> + x_PartitionAsSet_ExplicitVarSizeWithMarkerR2_Values_Occurrence[q40, q45] + | q45 : int(1..4)])) + | q40 : int(1..4)]) + | q36 : int(1..4)]) + diff --git a/tests/exhaustive/basic/partition_06/expected/model_4_2-solution000001.solution b/tests/exhaustive/basic/partition_06/expected/model_4_2-solution000001.solution new file mode 100644 index 0000000000..bdecd9ce5b --- /dev/null +++ b/tests/exhaustive/basic/partition_06/expected/model_4_2-solution000001.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be partition({1, 2}, {3, 4}) +$ Visualisation for x +$ 1 2 +$ 3 4 + diff --git a/tests/exhaustive/basic/partition_06/expected/model_4_2-solution000002.solution b/tests/exhaustive/basic/partition_06/expected/model_4_2-solution000002.solution new file mode 100644 index 0000000000..b616543ee7 --- /dev/null +++ b/tests/exhaustive/basic/partition_06/expected/model_4_2-solution000002.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be partition({1, 3}, {2, 4}) +$ Visualisation for x +$ 1 3 +$ 2 4 + diff --git a/tests/exhaustive/basic/partition_06/expected/model_4_2-solution000003.solution b/tests/exhaustive/basic/partition_06/expected/model_4_2-solution000003.solution new file mode 100644 index 0000000000..8d196199c8 --- /dev/null +++ b/tests/exhaustive/basic/partition_06/expected/model_4_2-solution000003.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be partition({1, 4}, {2, 3}) +$ Visualisation for x +$ 1 4 +$ 2 3 + diff --git a/tests/exhaustive/basic/partition_06/expected/model_4_2.eprime b/tests/exhaustive/basic/partition_06/expected/model_4_2.eprime new file mode 100644 index 0000000000..7413ed3262 --- /dev/null +++ b/tests/exhaustive/basic/partition_06/expected/model_4_2.eprime @@ -0,0 +1,112 @@ +language ESSENCE' 1.0 + +find x_PartitionOccurrence_NumParts: int(1..4) +find x_PartitionOccurrence_WhichPart: matrix indexed by [int(1..4)] of int(1..4) +find x_PartitionOccurrence_PartSizes: matrix indexed by [int(1..4)] of int(0..4) +find x_PartitionOccurrence_FirstIndex: matrix indexed by [int(1..4)] of int(1..4) +find x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker: int(0..4) +find x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy: + matrix indexed by [int(1..4), int(1..4)] of int(1..5) +branching on + [x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker, + x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy, x_PartitionOccurrence_NumParts, + x_PartitionOccurrence_WhichPart, x_PartitionOccurrence_PartSizes, x_PartitionOccurrence_FirstIndex] +such that + and([q56 <= x_PartitionOccurrence_NumParts -> + sum([toInt(x_PartitionOccurrence_WhichPart[q59] = q56) | q59 : int(1..4)]) = 2 + | q56 : int(1..4)]), + and([q1 <= x_PartitionOccurrence_NumParts -> x_PartitionOccurrence_PartSizes[q1] <= 4 | q1 : int(1..4)]), + and([q1 > x_PartitionOccurrence_NumParts -> x_PartitionOccurrence_PartSizes[q1] = 0 | q1 : int(1..4)]), + x_PartitionOccurrence_NumParts <= 4, + and([q2 <= x_PartitionOccurrence_NumParts -> or([x_PartitionOccurrence_WhichPart[q3] = q2 | q3 : int(1..4)]) + | q2 : int(3..4)]), + x_PartitionOccurrence_NumParts = max([x_PartitionOccurrence_WhichPart[q4] | q4 : int(1..4)]), + and([x_PartitionOccurrence_PartSizes[q5] = sum([toInt(x_PartitionOccurrence_WhichPart[q6] = q5) | q6 : int(1..4)]) + | q5 : int(1..4)]), + and([q7 <= x_PartitionOccurrence_NumParts -> + and([x_PartitionOccurrence_WhichPart[q8] = q7 -> x_PartitionOccurrence_FirstIndex[q7] <= q8 | q8 : int(1..4)]) + | q7 : int(1..4)]), + and([q7 <= x_PartitionOccurrence_NumParts -> + or([x_PartitionOccurrence_WhichPart[q8] = q7 /\ x_PartitionOccurrence_FirstIndex[q7] = q8 | q8 : int(1..4)]) + | q7 : int(1..4)]), + and([q7 > x_PartitionOccurrence_NumParts -> x_PartitionOccurrence_FirstIndex[q7] = 1 | q7 : int(1..4)]), + and([q9 <= x_PartitionOccurrence_NumParts /\ q10 <= x_PartitionOccurrence_NumParts -> + (q9 < q10 <-> x_PartitionOccurrence_FirstIndex[q9] < x_PartitionOccurrence_FirstIndex[q10]) + | q9 : int(1..4), q10 : int(1..4)]), + alldifferent_except([toInt(q60 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker /\ + x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q60, q61] != + 5) + * + catchUndef(x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy + [q60, q61], + 0) + | q60 : int(1..4), q61 : int(1..4)], + 0), + and([q62 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker -> + sum([toInt(x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q62, q64] != 5) + | q64 : int(1..4)]) + >= 1 + | q62 : int(1..4)]), + and([q14 + 1 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker -> + [x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q14, q22] | q22 : int(1..4)] x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker -> + and([x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q15, q55] = 1 + | q55 : int(1..4)]) + | q15 : int(1..4)]), + x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker <= 4, + and([q16 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker -> + and([x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q16, q17] < + x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q16, q17 + 1] + \/ x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q16, q17] = 5 + | q17 : int(1..3)]) + | q16 : int(1..4)]), + and([q16 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker -> + and([x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q16, q18] = 5 -> + x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q16, q18 + 1] = 5 + | q18 : int(1..3)]) + | q16 : int(1..4)]), + and([q16 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker -> + sum([toInt(x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q16, q19] != 5) + | q19 : int(1..4)]) + <= 4 + | q16 : int(1..4)]), + 4 = + sum([toInt(q24 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker) * + catchUndef(sum([toInt(x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q24, q26] != + 5) + | q26 : int(1..4)]), + 0) + | q24 : int(1..4)]), + and([q29 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker -> + or([q31 <= x_PartitionOccurrence_NumParts /\ + (and([x_PartitionOccurrence_WhichPart[q34] = q31 -> + or([x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q29, q36] != 5 /\ + x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q29, q36] = q34 + | q36 : int(1..4)]) + | q34 : int(1..4)]) + /\ + and([x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q29, q38] != 5 -> + or([x_PartitionOccurrence_WhichPart[q40] = q31 /\ + q40 = x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q29, q38] + | q40 : int(1..4)]) + | q38 : int(1..4)])) + | q31 : int(1..4)]) + | q29 : int(1..4)]), + and([q42 <= x_PartitionOccurrence_NumParts -> + or([q46 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Marker /\ + (and([x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q46, q48] != 5 -> + or([x_PartitionOccurrence_WhichPart[q50] = q42 /\ + q50 = x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q46, q48] + | q50 : int(1..4)]) + | q48 : int(1..4)]) + /\ + and([x_PartitionOccurrence_WhichPart[q52] = q42 -> + or([x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q46, q54] != 5 /\ + x_PartitionAsSet_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q46, q54] = q52 + | q54 : int(1..4)]) + | q52 : int(1..4)])) + | q46 : int(1..4)]) + | q42 : int(1..4)]) + diff --git a/tests/exhaustive/basic/partition_06/expected/model_4_3-solution000001.solution b/tests/exhaustive/basic/partition_06/expected/model_4_3-solution000001.solution new file mode 100644 index 0000000000..bdecd9ce5b --- /dev/null +++ b/tests/exhaustive/basic/partition_06/expected/model_4_3-solution000001.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be partition({1, 2}, {3, 4}) +$ Visualisation for x +$ 1 2 +$ 3 4 + diff --git a/tests/exhaustive/basic/partition_06/expected/model_4_3-solution000002.solution b/tests/exhaustive/basic/partition_06/expected/model_4_3-solution000002.solution new file mode 100644 index 0000000000..b616543ee7 --- /dev/null +++ b/tests/exhaustive/basic/partition_06/expected/model_4_3-solution000002.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be partition({1, 3}, {2, 4}) +$ Visualisation for x +$ 1 3 +$ 2 4 + diff --git a/tests/exhaustive/basic/partition_06/expected/model_4_3-solution000003.solution b/tests/exhaustive/basic/partition_06/expected/model_4_3-solution000003.solution new file mode 100644 index 0000000000..8d196199c8 --- /dev/null +++ b/tests/exhaustive/basic/partition_06/expected/model_4_3-solution000003.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be partition({1, 4}, {2, 3}) +$ Visualisation for x +$ 1 4 +$ 2 3 + diff --git a/tests/exhaustive/basic/partition_06/expected/model_4_3.eprime.orig b/tests/exhaustive/basic/partition_06/expected/model_4_3.eprime.orig deleted file mode 100644 index a855ea9d5c..0000000000 --- a/tests/exhaustive/basic/partition_06/expected/model_4_3.eprime.orig +++ /dev/null @@ -1,123 +0,0 @@ -language ESSENCE' 1.0 - -find x_PartitionOccurrence_NumParts: int(1..4) -find x_PartitionOccurrence_WhichPart: matrix indexed by [int(1..4)] of int(1..4) -find x_PartitionOccurrence_PartSizes: matrix indexed by [int(1..4)] of int(0..4) -find x_PartitionOccurrence_FirstIndex: matrix indexed by [int(1..4)] of int(1..4) -find x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker: int(0..4) -find x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker: - matrix indexed by [int(1..4)] of int(0..4) -find x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values: - matrix indexed by [int(1..4), int(1..4)] of int(1..4) -branching on - [x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker, - x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker, - x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values, - x_PartitionOccurrence_NumParts, x_PartitionOccurrence_WhichPart, x_PartitionOccurrence_PartSizes, - x_PartitionOccurrence_FirstIndex] -such that - and([q53 <= x_PartitionOccurrence_NumParts -> - sum([toInt(x_PartitionOccurrence_WhichPart[q56] = q53) | q56 : int(1..4)]) = 2 - | q53 : int(1..4)]), - and([q1 <= x_PartitionOccurrence_NumParts -> x_PartitionOccurrence_PartSizes[q1] <= 4 | q1 : int(1..4)]), - and([q1 > x_PartitionOccurrence_NumParts -> x_PartitionOccurrence_PartSizes[q1] = 0 | q1 : int(1..4)]), - x_PartitionOccurrence_NumParts <= 4, - and([q2 <= x_PartitionOccurrence_NumParts -> or([x_PartitionOccurrence_WhichPart[q3] = q2 | q3 : int(1..4)]) - | q2 : int(3..4)]), - x_PartitionOccurrence_NumParts = max([x_PartitionOccurrence_WhichPart[q4] | q4 : int(1..4)]), - and([x_PartitionOccurrence_PartSizes[q5] = sum([toInt(x_PartitionOccurrence_WhichPart[q6] = q5) | q6 : int(1..4)]) - | q5 : int(1..4)]), - and([q7 <= x_PartitionOccurrence_NumParts -> - and([x_PartitionOccurrence_WhichPart[q8] = q7 -> x_PartitionOccurrence_FirstIndex[q7] <= q8 | q8 : int(1..4)]) - | q7 : int(1..4)]), - and([q7 <= x_PartitionOccurrence_NumParts -> - or([x_PartitionOccurrence_WhichPart[q8] = q7 /\ x_PartitionOccurrence_FirstIndex[q7] = q8 | q8 : int(1..4)]) - | q7 : int(1..4)]), - and([q7 > x_PartitionOccurrence_NumParts -> x_PartitionOccurrence_FirstIndex[q7] = 1 | q7 : int(1..4)]), - and([q9 <= x_PartitionOccurrence_NumParts /\ q10 <= x_PartitionOccurrence_NumParts -> - (q9 < q10 <-> x_PartitionOccurrence_FirstIndex[q9] < x_PartitionOccurrence_FirstIndex[q10]) - | q9 : int(1..4), q10 : int(1..4)]), - alldifferent_except([toInt(q57 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker /\ - q58 <= - x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker - [q57]) - * - catchUndef(x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values - [q57, q58], - 0) - | q57 : int(1..4), q58 : int(1..4)], - 0), - and([q59 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker -> - x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q59] >= 1 - | q59 : int(1..4)]), - and([q14 + 1 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker -> - flatten([[x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q14]; int(1)], - [x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q14, q21] - | q21 : int(1..4)]; - int(1..2)]) - x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker -> - x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q15] = 0 /\ - and([x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q15, q52] = 1 - | q52 : int(1..4)]) - | q15 : int(1..4)]), - x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker <= 4, - and([q16 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker -> - and([q17 + 1 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q16] -> - x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q16, q17] < - x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q16, q17 + 1] - | q17 : int(1..3)]) - | q16 : int(1..4)]), - and([q16 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker -> - and([q18 > x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q16] -> - x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q16, q18] = 1 - | q18 : int(1..4)]) - | q16 : int(1..4)]), - and([q16 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker -> - x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q16] <= 4 - | q16 : int(1..4)]), - 4 = - sum([toInt(q23 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker) * - catchUndef(x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q23], 0) - | q23 : int(1..4)]), - and([q26 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker -> - or([q28 <= x_PartitionOccurrence_NumParts /\ - (and([x_PartitionOccurrence_WhichPart[q31] = q28 -> - or([q33 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q26] - /\ - x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q26, q33] = - q31 | q33 : int(1..4)]) - | q31 : int(1..4)]) - /\ - and([q35 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q26] -> - or([x_PartitionOccurrence_WhichPart[q37] = q28 /\ - q37 = - x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q26, q35] - | q37 : int(1..4)]) - | q35 : int(1..4)])) - | q28 : int(1..4)]) - | q26 : int(1..4)]), - and([q39 <= x_PartitionOccurrence_NumParts -> - or([q43 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Marker /\ - (and([q45 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q43] -> - or([x_PartitionOccurrence_WhichPart[q47] = q39 /\ - q47 = - x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q43, q45] - | q47 : int(1..4)]) - | q45 : int(1..4)]) - /\ - and([x_PartitionOccurrence_WhichPart[q49] = q39 -> - or([q51 <= x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q43] - /\ - x_PartitionAsSet_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q43, q51] = - q49 | q51 : int(1..4)]) - | q49 : int(1..4)])) - | q43 : int(1..4)]) - | q39 : int(1..4)]) - diff --git a/tests/exhaustive/basic/partition_06/expected/model_4_4-solution000001.solution b/tests/exhaustive/basic/partition_06/expected/model_4_4-solution000001.solution new file mode 100644 index 0000000000..bdecd9ce5b --- /dev/null +++ b/tests/exhaustive/basic/partition_06/expected/model_4_4-solution000001.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be partition({1, 2}, {3, 4}) +$ Visualisation for x +$ 1 2 +$ 3 4 + diff --git a/tests/exhaustive/basic/partition_06/expected/model_4_4-solution000002.solution b/tests/exhaustive/basic/partition_06/expected/model_4_4-solution000002.solution new file mode 100644 index 0000000000..b616543ee7 --- /dev/null +++ b/tests/exhaustive/basic/partition_06/expected/model_4_4-solution000002.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be partition({1, 3}, {2, 4}) +$ Visualisation for x +$ 1 3 +$ 2 4 + diff --git a/tests/exhaustive/basic/partition_06/expected/model_4_4-solution000003.solution b/tests/exhaustive/basic/partition_06/expected/model_4_4-solution000003.solution new file mode 100644 index 0000000000..8d196199c8 --- /dev/null +++ b/tests/exhaustive/basic/partition_06/expected/model_4_4-solution000003.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be partition({1, 4}, {2, 3}) +$ Visualisation for x +$ 1 4 +$ 2 3 + diff --git a/tests/exhaustive/basic/partition_06/expected/model_4_4.eprime b/tests/exhaustive/basic/partition_06/expected/model_4_4.eprime new file mode 100644 index 0000000000..6be4048cce --- /dev/null +++ b/tests/exhaustive/basic/partition_06/expected/model_4_4.eprime @@ -0,0 +1,32 @@ +language ESSENCE' 1.0 + +find x_PartitionOccurrence_NumParts: int(1..4) +find x_PartitionOccurrence_WhichPart: matrix indexed by [int(1..4)] of int(1..4) +find x_PartitionOccurrence_PartSizes: matrix indexed by [int(1..4)] of int(0..4) +find x_PartitionOccurrence_FirstIndex: matrix indexed by [int(1..4)] of int(1..4) +branching on + [x_PartitionOccurrence_NumParts, x_PartitionOccurrence_WhichPart, x_PartitionOccurrence_PartSizes, + x_PartitionOccurrence_FirstIndex] +such that + and([q11 <= x_PartitionOccurrence_NumParts -> + sum([toInt(x_PartitionOccurrence_WhichPart[q14] = q11) | q14 : int(1..4)]) = 2 + | q11 : int(1..4)]), + and([q1 <= x_PartitionOccurrence_NumParts -> x_PartitionOccurrence_PartSizes[q1] <= 4 | q1 : int(1..4)]), + and([q1 > x_PartitionOccurrence_NumParts -> x_PartitionOccurrence_PartSizes[q1] = 0 | q1 : int(1..4)]), + x_PartitionOccurrence_NumParts <= 4, + and([q2 <= x_PartitionOccurrence_NumParts -> or([x_PartitionOccurrence_WhichPart[q3] = q2 | q3 : int(1..4)]) + | q2 : int(3..4)]), + x_PartitionOccurrence_NumParts = max([x_PartitionOccurrence_WhichPart[q4] | q4 : int(1..4)]), + and([x_PartitionOccurrence_PartSizes[q5] = sum([toInt(x_PartitionOccurrence_WhichPart[q6] = q5) | q6 : int(1..4)]) + | q5 : int(1..4)]), + and([q7 <= x_PartitionOccurrence_NumParts -> + and([x_PartitionOccurrence_WhichPart[q8] = q7 -> x_PartitionOccurrence_FirstIndex[q7] <= q8 | q8 : int(1..4)]) + | q7 : int(1..4)]), + and([q7 <= x_PartitionOccurrence_NumParts -> + or([x_PartitionOccurrence_WhichPart[q8] = q7 /\ x_PartitionOccurrence_FirstIndex[q7] = q8 | q8 : int(1..4)]) + | q7 : int(1..4)]), + and([q7 > x_PartitionOccurrence_NumParts -> x_PartitionOccurrence_FirstIndex[q7] = 1 | q7 : int(1..4)]), + and([q9 <= x_PartitionOccurrence_NumParts /\ q10 <= x_PartitionOccurrence_NumParts -> + (q9 < q10 <-> x_PartitionOccurrence_FirstIndex[q9] < x_PartitionOccurrence_FirstIndex[q10]) + | q9 : int(1..4), q10 : int(1..4)]) + diff --git a/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_1_1-p-solution000001.solution b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_1_1-p-solution000001.solution new file mode 100644 index 0000000000..991fac89aa --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_1_1-p-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {2, 4} diff --git a/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_1_1-p-solution000002.solution b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_1_1-p-solution000002.solution new file mode 100644 index 0000000000..8dddb3b359 --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_1_1-p-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {2, 3} diff --git a/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_1_1-p-solution000003.solution b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_1_1-p-solution000003.solution new file mode 100644 index 0000000000..be06a54735 --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_1_1-p-solution000003.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 4} diff --git a/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_1_1-p-solution000004.solution b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_1_1-p-solution000004.solution new file mode 100644 index 0000000000..a28b6d6203 --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_1_1-p-solution000004.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 3} diff --git a/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_1_1-p-solution000005.solution b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_1_1-p-solution000005.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_1_1-p-solution000005.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_1_1-p-solution000006.solution b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_1_1-p-solution000006.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_1_1-p-solution000006.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_1_1-p.eprime-param b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_1_1-p.eprime-param new file mode 100644 index 0000000000..7d6b9721c5 --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_1_1-p.eprime-param @@ -0,0 +1,5 @@ +language ESSENCE' 1.0 + +letting n be 2 +letting a be 1 +letting b be 4 diff --git a/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_1_1.eprime b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_1_1.eprime new file mode 100644 index 0000000000..029d9f718f --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_1_1.eprime @@ -0,0 +1,20 @@ +language ESSENCE' 1.0 + +given n: int +given a: int +given b: int +find x_Occurrence: matrix indexed by [int(a..b)] of bool +branching on [x_Occurrence] +such that + and([and([x_Occurrence[t_ExplicitVarSizeWithDummy[q7]] + | q7 : int(1..1 + (b - a)), t_ExplicitVarSizeWithDummy[q7] != b + 1]) + -> + sum([t_ExplicitVarSizeWithDummy[q8] | q8 : int(1..1 + (b - a)), t_ExplicitVarSizeWithDummy[q8] != b + 1]) <= 6 + | t_ExplicitVarSizeWithDummy : matrix indexed by [int(1..1 + (b - a))] of int(a..b + 1), + and([t_ExplicitVarSizeWithDummy[q2] < t_ExplicitVarSizeWithDummy[q2 + 1] \/ + t_ExplicitVarSizeWithDummy[q2] = b + 1 + | q2 : int(1..1 + (b - a) - 1)]), + and([t_ExplicitVarSizeWithDummy[q3] = b + 1 -> t_ExplicitVarSizeWithDummy[q3 + 1] = b + 1 + | q3 : int(1..1 + (b - a) - 1)])]), + n <= sum([toInt(x_Occurrence[q1]) | q1 : int(a..b)]) + diff --git a/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_1_2-p-solution000001.solution b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_1_2-p-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_1_2-p-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_1_2-p-solution000002.solution b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_1_2-p-solution000002.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_1_2-p-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_1_2-p-solution000003.solution b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_1_2-p-solution000003.solution new file mode 100644 index 0000000000..a28b6d6203 --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_1_2-p-solution000003.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 3} diff --git a/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_1_2-p-solution000004.solution b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_1_2-p-solution000004.solution new file mode 100644 index 0000000000..be06a54735 --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_1_2-p-solution000004.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 4} diff --git a/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_1_2-p-solution000005.solution b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_1_2-p-solution000005.solution new file mode 100644 index 0000000000..8dddb3b359 --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_1_2-p-solution000005.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {2, 3} diff --git a/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_1_2-p-solution000006.solution b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_1_2-p-solution000006.solution new file mode 100644 index 0000000000..991fac89aa --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_1_2-p-solution000006.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {2, 4} diff --git a/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_1_2-p.eprime-param b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_1_2-p.eprime-param new file mode 100644 index 0000000000..7d6b9721c5 --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_1_2-p.eprime-param @@ -0,0 +1,5 @@ +language ESSENCE' 1.0 + +letting n be 2 +letting a be 1 +letting b be 4 diff --git a/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_1_2.eprime b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_1_2.eprime new file mode 100644 index 0000000000..2334196ec8 --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_1_2.eprime @@ -0,0 +1,32 @@ +language ESSENCE' 1.0 + +given n: int +given a: int +given b: int +find x_Occurrence: matrix indexed by [int(a..b)] of bool +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..1 + (b - a))] of int(a..b + 1) +branching on [x_ExplicitVarSizeWithDummy, x_Occurrence] +such that + and([and([x_Occurrence[t_ExplicitVarSizeWithDummy[q16]] + | q16 : int(1..1 + (b - a)), t_ExplicitVarSizeWithDummy[q16] != b + 1]) + -> + sum([t_ExplicitVarSizeWithDummy[q17] | q17 : int(1..1 + (b - a)), t_ExplicitVarSizeWithDummy[q17] != b + 1]) <= + 6 | t_ExplicitVarSizeWithDummy : matrix indexed by [int(1..1 + (b - a))] of int(a..b + 1), + and([t_ExplicitVarSizeWithDummy[q11] < t_ExplicitVarSizeWithDummy[q11 + 1] \/ + t_ExplicitVarSizeWithDummy[q11] = b + 1 + | q11 : int(1..1 + (b - a) - 1)]), + and([t_ExplicitVarSizeWithDummy[q12] = b + 1 -> t_ExplicitVarSizeWithDummy[q12 + 1] = b + 1 + | q12 : int(1..1 + (b - a) - 1)])]), + n <= sum([toInt(x_Occurrence[q1]) | q1 : int(a..b)]), + and([x_ExplicitVarSizeWithDummy[q2] < x_ExplicitVarSizeWithDummy[q2 + 1] \/ x_ExplicitVarSizeWithDummy[q2] = b + 1 + | q2 : int(1..1 + (b - a) - 1)]), + and([x_ExplicitVarSizeWithDummy[q3] = b + 1 -> x_ExplicitVarSizeWithDummy[q3 + 1] = b + 1 + | q3 : int(1..1 + (b - a) - 1)]), + n <= sum([toInt(x_ExplicitVarSizeWithDummy[q4] != b + 1) | q4 : int(1..1 + (b - a))]), + and([x_ExplicitVarSizeWithDummy[q7] != b + 1 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q7]] + | q7 : int(1..1 + (b - a))]), + and([x_Occurrence[q8] -> + or([x_ExplicitVarSizeWithDummy[q10] != b + 1 /\ x_ExplicitVarSizeWithDummy[q10] = q8 + | q10 : int(1..1 + (b - a))]) + | q8 : int(a..b)]) + diff --git a/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_1_3-p-solution000001.solution b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_1_3-p-solution000001.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_1_3-p-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_1_3-p-solution000002.solution b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_1_3-p-solution000002.solution new file mode 100644 index 0000000000..a28b6d6203 --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_1_3-p-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 3} diff --git a/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_1_3-p-solution000003.solution b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_1_3-p-solution000003.solution new file mode 100644 index 0000000000..be06a54735 --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_1_3-p-solution000003.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 4} diff --git a/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_1_3-p-solution000004.solution b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_1_3-p-solution000004.solution new file mode 100644 index 0000000000..8dddb3b359 --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_1_3-p-solution000004.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {2, 3} diff --git a/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_1_3-p-solution000005.solution b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_1_3-p-solution000005.solution new file mode 100644 index 0000000000..991fac89aa --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_1_3-p-solution000005.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {2, 4} diff --git a/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_1_3-p-solution000006.solution b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_1_3-p-solution000006.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_1_3-p-solution000006.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_1_3-p.eprime-param b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_1_3-p.eprime-param new file mode 100644 index 0000000000..7d6b9721c5 --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_1_3-p.eprime-param @@ -0,0 +1,5 @@ +language ESSENCE' 1.0 + +letting n be 2 +letting a be 1 +letting b be 4 diff --git a/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_1_3.eprime b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_1_3.eprime new file mode 100644 index 0000000000..d44b8ab518 --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_1_3.eprime @@ -0,0 +1,34 @@ +language ESSENCE' 1.0 + +given n: int +given a: int +given b: int +find x_Occurrence: matrix indexed by [int(a..b)] of bool +find x_ExplicitVarSizeWithMarker_Marker: int(0..1 + (b - a)) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..1 + (b - a))] of int(a..b) +branching on [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_Occurrence] +such that + and([and([x_Occurrence[t_ExplicitVarSizeWithDummy[q15]] + | q15 : int(1..1 + (b - a)), t_ExplicitVarSizeWithDummy[q15] != b + 1]) + -> + sum([t_ExplicitVarSizeWithDummy[q16] | q16 : int(1..1 + (b - a)), t_ExplicitVarSizeWithDummy[q16] != b + 1]) <= + 6 | t_ExplicitVarSizeWithDummy : matrix indexed by [int(1..1 + (b - a))] of int(a..b + 1), + and([t_ExplicitVarSizeWithDummy[q10] < t_ExplicitVarSizeWithDummy[q10 + 1] \/ + t_ExplicitVarSizeWithDummy[q10] = b + 1 + | q10 : int(1..1 + (b - a) - 1)]), + and([t_ExplicitVarSizeWithDummy[q11] = b + 1 -> t_ExplicitVarSizeWithDummy[q11 + 1] = b + 1 + | q11 : int(1..1 + (b - a) - 1)])]), + n <= sum([toInt(x_Occurrence[q1]) | q1 : int(a..b)]), + and([q2 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q2] < x_ExplicitVarSizeWithMarker_Values[q2 + 1] + | q2 : int(1..1 + (b - a) - 1)]), + and([q3 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q3] = a + | q3 : int(1..1 + (b - a))]), + n <= x_ExplicitVarSizeWithMarker_Marker, + and([q6 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q6]] + | q6 : int(1..1 + (b - a))]), + and([x_Occurrence[q7] -> + or([q9 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q9] = q7 + | q9 : int(1..1 + (b - a))]) + | q7 : int(a..b)]) + diff --git a/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_1_4-p-solution000001.solution b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_1_4-p-solution000001.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_1_4-p-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_1_4-p-solution000002.solution b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_1_4-p-solution000002.solution new file mode 100644 index 0000000000..a28b6d6203 --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_1_4-p-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 3} diff --git a/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_1_4-p-solution000003.solution b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_1_4-p-solution000003.solution new file mode 100644 index 0000000000..be06a54735 --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_1_4-p-solution000003.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 4} diff --git a/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_1_4-p-solution000004.solution b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_1_4-p-solution000004.solution new file mode 100644 index 0000000000..8dddb3b359 --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_1_4-p-solution000004.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {2, 3} diff --git a/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_1_4-p-solution000005.solution b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_1_4-p-solution000005.solution new file mode 100644 index 0000000000..991fac89aa --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_1_4-p-solution000005.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {2, 4} diff --git a/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_1_4-p-solution000006.solution b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_1_4-p-solution000006.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_1_4-p-solution000006.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_1_4-p.eprime-param b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_1_4-p.eprime-param new file mode 100644 index 0000000000..7d6b9721c5 --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_1_4-p.eprime-param @@ -0,0 +1,5 @@ +language ESSENCE' 1.0 + +letting n be 2 +letting a be 1 +letting b be 4 diff --git a/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_1_4.eprime b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_1_4.eprime new file mode 100644 index 0000000000..c5a3851fe1 --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_1_4.eprime @@ -0,0 +1,36 @@ +language ESSENCE' 1.0 + +given n: int +given a: int +given b: int +find x_Occurrence: matrix indexed by [int(a..b)] of bool +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..1 + (b - a))] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..1 + (b - a))] of int(a..b) +branching on [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_Occurrence] +such that + and([and([x_Occurrence[t_ExplicitVarSizeWithDummy[q17]] + | q17 : int(1..1 + (b - a)), t_ExplicitVarSizeWithDummy[q17] != b + 1]) + -> + sum([t_ExplicitVarSizeWithDummy[q18] | q18 : int(1..1 + (b - a)), t_ExplicitVarSizeWithDummy[q18] != b + 1]) <= + 6 | t_ExplicitVarSizeWithDummy : matrix indexed by [int(1..1 + (b - a))] of int(a..b + 1), + and([t_ExplicitVarSizeWithDummy[q12] < t_ExplicitVarSizeWithDummy[q12 + 1] \/ + t_ExplicitVarSizeWithDummy[q12] = b + 1 + | q12 : int(1..1 + (b - a) - 1)]), + and([t_ExplicitVarSizeWithDummy[q13] = b + 1 -> t_ExplicitVarSizeWithDummy[q13 + 1] = b + 1 + | q13 : int(1..1 + (b - a) - 1)])]), + n <= sum([toInt(x_Occurrence[q1]) | q1 : int(a..b)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q2] < x_ExplicitVarSizeWithFlags_Values[q2 + 1] + | q2 : int(1..1 + (b - a) - 1)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3] = false -> x_ExplicitVarSizeWithFlags_Values[q3] = a + | q3 : int(1..1 + (b - a))]), + and([x_ExplicitVarSizeWithFlags_Flags[q4 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q4] + | q4 : int(1..1 + (b - a) - 1)]), + n <= sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q5]) | q5 : int(1..1 + (b - a))]), + and([x_ExplicitVarSizeWithFlags_Flags[q8] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q8]] + | q8 : int(1..1 + (b - a))]), + and([x_Occurrence[q9] -> + or([x_ExplicitVarSizeWithFlags_Flags[q11] /\ x_ExplicitVarSizeWithFlags_Values[q11] = q9 + | q11 : int(1..1 + (b - a))]) + | q9 : int(a..b)]) + diff --git a/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_2_1-p-solution000001.solution b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_2_1-p-solution000001.solution new file mode 100644 index 0000000000..991fac89aa --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_2_1-p-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {2, 4} diff --git a/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_2_1-p-solution000002.solution b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_2_1-p-solution000002.solution new file mode 100644 index 0000000000..8dddb3b359 --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_2_1-p-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {2, 3} diff --git a/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_2_1-p-solution000003.solution b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_2_1-p-solution000003.solution new file mode 100644 index 0000000000..be06a54735 --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_2_1-p-solution000003.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 4} diff --git a/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_2_1-p-solution000004.solution b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_2_1-p-solution000004.solution new file mode 100644 index 0000000000..a28b6d6203 --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_2_1-p-solution000004.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 3} diff --git a/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_2_1-p-solution000005.solution b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_2_1-p-solution000005.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_2_1-p-solution000005.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_2_1-p-solution000006.solution b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_2_1-p-solution000006.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_2_1-p-solution000006.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_2_1-p.eprime-param b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_2_1-p.eprime-param new file mode 100644 index 0000000000..7d6b9721c5 --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_2_1-p.eprime-param @@ -0,0 +1,5 @@ +language ESSENCE' 1.0 + +letting n be 2 +letting a be 1 +letting b be 4 diff --git a/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_2_1.eprime b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_2_1.eprime new file mode 100644 index 0000000000..6a88075ca6 --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_2_1.eprime @@ -0,0 +1,33 @@ +language ESSENCE' 1.0 + +given n: int +given a: int +given b: int +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..1 + (b - a))] of int(a..b + 1) +find x_Occurrence: matrix indexed by [int(a..b)] of bool +branching on [x_Occurrence, x_ExplicitVarSizeWithDummy] +such that + and([and([or([x_ExplicitVarSizeWithDummy[q18] != b + 1 /\ + x_ExplicitVarSizeWithDummy[q18] = t_ExplicitVarSizeWithDummy[q16] + | q18 : int(1..1 + (b - a))]) + | q16 : int(1..1 + (b - a)), t_ExplicitVarSizeWithDummy[q16] != b + 1]) + -> + sum([t_ExplicitVarSizeWithDummy[q19] | q19 : int(1..1 + (b - a)), t_ExplicitVarSizeWithDummy[q19] != b + 1]) <= + 6 | t_ExplicitVarSizeWithDummy : matrix indexed by [int(1..1 + (b - a))] of int(a..b + 1), + and([t_ExplicitVarSizeWithDummy[q11] < t_ExplicitVarSizeWithDummy[q11 + 1] \/ + t_ExplicitVarSizeWithDummy[q11] = b + 1 + | q11 : int(1..1 + (b - a) - 1)]), + and([t_ExplicitVarSizeWithDummy[q12] = b + 1 -> t_ExplicitVarSizeWithDummy[q12 + 1] = b + 1 + | q12 : int(1..1 + (b - a) - 1)])]), + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = b + 1 + | q1 : int(1..1 + (b - a) - 1)]), + and([x_ExplicitVarSizeWithDummy[q2] = b + 1 -> x_ExplicitVarSizeWithDummy[q2 + 1] = b + 1 + | q2 : int(1..1 + (b - a) - 1)]), + n <= sum([toInt(x_ExplicitVarSizeWithDummy[q3] != b + 1) | q3 : int(1..1 + (b - a))]), + n <= sum([toInt(x_Occurrence[q5]) | q5 : int(a..b)]), + and([x_Occurrence[q6] -> + or([x_ExplicitVarSizeWithDummy[q8] != b + 1 /\ x_ExplicitVarSizeWithDummy[q8] = q6 | q8 : int(1..1 + (b - a))]) + | q6 : int(a..b)]), + and([x_ExplicitVarSizeWithDummy[q10] != b + 1 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q10]] + | q10 : int(1..1 + (b - a))]) + diff --git a/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_2_2-p-solution000001.solution b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_2_2-p-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_2_2-p-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_2_2-p-solution000002.solution b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_2_2-p-solution000002.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_2_2-p-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_2_2-p-solution000003.solution b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_2_2-p-solution000003.solution new file mode 100644 index 0000000000..a28b6d6203 --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_2_2-p-solution000003.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 3} diff --git a/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_2_2-p-solution000004.solution b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_2_2-p-solution000004.solution new file mode 100644 index 0000000000..be06a54735 --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_2_2-p-solution000004.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 4} diff --git a/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_2_2-p-solution000005.solution b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_2_2-p-solution000005.solution new file mode 100644 index 0000000000..8dddb3b359 --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_2_2-p-solution000005.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {2, 3} diff --git a/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_2_2-p-solution000006.solution b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_2_2-p-solution000006.solution new file mode 100644 index 0000000000..991fac89aa --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_2_2-p-solution000006.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {2, 4} diff --git a/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_2_2-p.eprime-param b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_2_2-p.eprime-param new file mode 100644 index 0000000000..7d6b9721c5 --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_2_2-p.eprime-param @@ -0,0 +1,5 @@ +language ESSENCE' 1.0 + +letting n be 2 +letting a be 1 +letting b be 4 diff --git a/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_2_2.eprime b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_2_2.eprime new file mode 100644 index 0000000000..f4dd241cca --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_2_2.eprime @@ -0,0 +1,26 @@ +language ESSENCE' 1.0 + +given n: int +given a: int +given b: int +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..1 + (b - a))] of int(a..b + 1) +branching on [x_ExplicitVarSizeWithDummy] +such that + and([and([or([x_ExplicitVarSizeWithDummy[q12] != b + 1 /\ + x_ExplicitVarSizeWithDummy[q12] = t_ExplicitVarSizeWithDummy[q10] + | q12 : int(1..1 + (b - a))]) + | q10 : int(1..1 + (b - a)), t_ExplicitVarSizeWithDummy[q10] != b + 1]) + -> + sum([t_ExplicitVarSizeWithDummy[q13] | q13 : int(1..1 + (b - a)), t_ExplicitVarSizeWithDummy[q13] != b + 1]) <= + 6 | t_ExplicitVarSizeWithDummy : matrix indexed by [int(1..1 + (b - a))] of int(a..b + 1), + and([t_ExplicitVarSizeWithDummy[q5] < t_ExplicitVarSizeWithDummy[q5 + 1] \/ + t_ExplicitVarSizeWithDummy[q5] = b + 1 + | q5 : int(1..1 + (b - a) - 1)]), + and([t_ExplicitVarSizeWithDummy[q6] = b + 1 -> t_ExplicitVarSizeWithDummy[q6 + 1] = b + 1 + | q6 : int(1..1 + (b - a) - 1)])]), + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = b + 1 + | q1 : int(1..1 + (b - a) - 1)]), + and([x_ExplicitVarSizeWithDummy[q2] = b + 1 -> x_ExplicitVarSizeWithDummy[q2 + 1] = b + 1 + | q2 : int(1..1 + (b - a) - 1)]), + n <= sum([toInt(x_ExplicitVarSizeWithDummy[q3] != b + 1) | q3 : int(1..1 + (b - a))]) + diff --git a/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_2_3-p-solution000001.solution b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_2_3-p-solution000001.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_2_3-p-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_2_3-p-solution000002.solution b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_2_3-p-solution000002.solution new file mode 100644 index 0000000000..a28b6d6203 --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_2_3-p-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 3} diff --git a/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_2_3-p-solution000003.solution b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_2_3-p-solution000003.solution new file mode 100644 index 0000000000..be06a54735 --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_2_3-p-solution000003.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 4} diff --git a/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_2_3-p-solution000004.solution b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_2_3-p-solution000004.solution new file mode 100644 index 0000000000..8dddb3b359 --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_2_3-p-solution000004.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {2, 3} diff --git a/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_2_3-p-solution000005.solution b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_2_3-p-solution000005.solution new file mode 100644 index 0000000000..991fac89aa --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_2_3-p-solution000005.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {2, 4} diff --git a/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_2_3-p-solution000006.solution b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_2_3-p-solution000006.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_2_3-p-solution000006.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_2_3-p.eprime-param b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_2_3-p.eprime-param new file mode 100644 index 0000000000..7d6b9721c5 --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_2_3-p.eprime-param @@ -0,0 +1,5 @@ +language ESSENCE' 1.0 + +letting n be 2 +letting a be 1 +letting b be 4 diff --git a/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_2_3.eprime b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_2_3.eprime new file mode 100644 index 0000000000..92c80b9133 --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_2_3.eprime @@ -0,0 +1,44 @@ +language ESSENCE' 1.0 + +given n: int +given a: int +given b: int +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..1 + (b - a))] of int(a..b + 1) +find x_ExplicitVarSizeWithMarker_Marker: int(0..1 + (b - a)) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..1 + (b - a))] of int(a..b) +branching on [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_ExplicitVarSizeWithDummy] +such that + and([and([or([x_ExplicitVarSizeWithDummy[q23] != b + 1 /\ + x_ExplicitVarSizeWithDummy[q23] = t_ExplicitVarSizeWithDummy[q21] + | q23 : int(1..1 + (b - a))]) + | q21 : int(1..1 + (b - a)), t_ExplicitVarSizeWithDummy[q21] != b + 1]) + -> + sum([t_ExplicitVarSizeWithDummy[q24] | q24 : int(1..1 + (b - a)), t_ExplicitVarSizeWithDummy[q24] != b + 1]) <= + 6 | t_ExplicitVarSizeWithDummy : matrix indexed by [int(1..1 + (b - a))] of int(a..b + 1), + and([t_ExplicitVarSizeWithDummy[q16] < t_ExplicitVarSizeWithDummy[q16 + 1] \/ + t_ExplicitVarSizeWithDummy[q16] = b + 1 + | q16 : int(1..1 + (b - a) - 1)]), + and([t_ExplicitVarSizeWithDummy[q17] = b + 1 -> t_ExplicitVarSizeWithDummy[q17 + 1] = b + 1 + | q17 : int(1..1 + (b - a) - 1)])]), + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = b + 1 + | q1 : int(1..1 + (b - a) - 1)]), + and([x_ExplicitVarSizeWithDummy[q2] = b + 1 -> x_ExplicitVarSizeWithDummy[q2 + 1] = b + 1 + | q2 : int(1..1 + (b - a) - 1)]), + n <= sum([toInt(x_ExplicitVarSizeWithDummy[q3] != b + 1) | q3 : int(1..1 + (b - a))]), + and([q5 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q5] < x_ExplicitVarSizeWithMarker_Values[q5 + 1] + | q5 : int(1..1 + (b - a) - 1)]), + and([q6 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q6] = a + | q6 : int(1..1 + (b - a))]), + n <= x_ExplicitVarSizeWithMarker_Marker, + and([q9 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q11] != b + 1 /\ + x_ExplicitVarSizeWithDummy[q11] = x_ExplicitVarSizeWithMarker_Values[q9] + | q11 : int(1..1 + (b - a))]) + | q9 : int(1..1 + (b - a))]), + and([x_ExplicitVarSizeWithDummy[q13] != b + 1 -> + or([q15 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q15] = x_ExplicitVarSizeWithDummy[q13] + | q15 : int(1..1 + (b - a))]) + | q13 : int(1..1 + (b - a))]) + diff --git a/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_2_4-p-solution000001.solution b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_2_4-p-solution000001.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_2_4-p-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_2_4-p-solution000002.solution b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_2_4-p-solution000002.solution new file mode 100644 index 0000000000..a28b6d6203 --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_2_4-p-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 3} diff --git a/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_2_4-p-solution000003.solution b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_2_4-p-solution000003.solution new file mode 100644 index 0000000000..be06a54735 --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_2_4-p-solution000003.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 4} diff --git a/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_2_4-p-solution000004.solution b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_2_4-p-solution000004.solution new file mode 100644 index 0000000000..8dddb3b359 --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_2_4-p-solution000004.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {2, 3} diff --git a/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_2_4-p-solution000005.solution b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_2_4-p-solution000005.solution new file mode 100644 index 0000000000..991fac89aa --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_2_4-p-solution000005.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {2, 4} diff --git a/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_2_4-p-solution000006.solution b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_2_4-p-solution000006.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_2_4-p-solution000006.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_2_4-p.eprime-param b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_2_4-p.eprime-param new file mode 100644 index 0000000000..7d6b9721c5 --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_2_4-p.eprime-param @@ -0,0 +1,5 @@ +language ESSENCE' 1.0 + +letting n be 2 +letting a be 1 +letting b be 4 diff --git a/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_2_4.eprime b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_2_4.eprime new file mode 100644 index 0000000000..4b598c63b3 --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_2_4.eprime @@ -0,0 +1,46 @@ +language ESSENCE' 1.0 + +given n: int +given a: int +given b: int +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..1 + (b - a))] of int(a..b + 1) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..1 + (b - a))] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..1 + (b - a))] of int(a..b) +branching on [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_ExplicitVarSizeWithDummy] +such that + and([and([or([x_ExplicitVarSizeWithDummy[q25] != b + 1 /\ + x_ExplicitVarSizeWithDummy[q25] = t_ExplicitVarSizeWithDummy[q23] + | q25 : int(1..1 + (b - a))]) + | q23 : int(1..1 + (b - a)), t_ExplicitVarSizeWithDummy[q23] != b + 1]) + -> + sum([t_ExplicitVarSizeWithDummy[q26] | q26 : int(1..1 + (b - a)), t_ExplicitVarSizeWithDummy[q26] != b + 1]) <= + 6 | t_ExplicitVarSizeWithDummy : matrix indexed by [int(1..1 + (b - a))] of int(a..b + 1), + and([t_ExplicitVarSizeWithDummy[q18] < t_ExplicitVarSizeWithDummy[q18 + 1] \/ + t_ExplicitVarSizeWithDummy[q18] = b + 1 + | q18 : int(1..1 + (b - a) - 1)]), + and([t_ExplicitVarSizeWithDummy[q19] = b + 1 -> t_ExplicitVarSizeWithDummy[q19 + 1] = b + 1 + | q19 : int(1..1 + (b - a) - 1)])]), + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = b + 1 + | q1 : int(1..1 + (b - a) - 1)]), + and([x_ExplicitVarSizeWithDummy[q2] = b + 1 -> x_ExplicitVarSizeWithDummy[q2 + 1] = b + 1 + | q2 : int(1..1 + (b - a) - 1)]), + n <= sum([toInt(x_ExplicitVarSizeWithDummy[q3] != b + 1) | q3 : int(1..1 + (b - a))]), + and([x_ExplicitVarSizeWithFlags_Flags[q5 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q5] < x_ExplicitVarSizeWithFlags_Values[q5 + 1] + | q5 : int(1..1 + (b - a) - 1)]), + and([x_ExplicitVarSizeWithFlags_Flags[q6] = false -> x_ExplicitVarSizeWithFlags_Values[q6] = a + | q6 : int(1..1 + (b - a))]), + and([x_ExplicitVarSizeWithFlags_Flags[q7 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q7] + | q7 : int(1..1 + (b - a) - 1)]), + n <= sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q8]) | q8 : int(1..1 + (b - a))]), + and([x_ExplicitVarSizeWithFlags_Flags[q11] -> + or([x_ExplicitVarSizeWithDummy[q13] != b + 1 /\ + x_ExplicitVarSizeWithDummy[q13] = x_ExplicitVarSizeWithFlags_Values[q11] + | q13 : int(1..1 + (b - a))]) + | q11 : int(1..1 + (b - a))]), + and([x_ExplicitVarSizeWithDummy[q15] != b + 1 -> + or([x_ExplicitVarSizeWithFlags_Flags[q17] /\ + x_ExplicitVarSizeWithFlags_Values[q17] = x_ExplicitVarSizeWithDummy[q15] + | q17 : int(1..1 + (b - a))]) + | q15 : int(1..1 + (b - a))]) + diff --git a/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_3_1-p-solution000001.solution b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_3_1-p-solution000001.solution new file mode 100644 index 0000000000..991fac89aa --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_3_1-p-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {2, 4} diff --git a/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_3_1-p-solution000002.solution b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_3_1-p-solution000002.solution new file mode 100644 index 0000000000..8dddb3b359 --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_3_1-p-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {2, 3} diff --git a/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_3_1-p-solution000003.solution b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_3_1-p-solution000003.solution new file mode 100644 index 0000000000..be06a54735 --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_3_1-p-solution000003.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 4} diff --git a/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_3_1-p-solution000004.solution b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_3_1-p-solution000004.solution new file mode 100644 index 0000000000..a28b6d6203 --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_3_1-p-solution000004.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 3} diff --git a/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_3_1-p-solution000005.solution b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_3_1-p-solution000005.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_3_1-p-solution000005.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_3_1-p-solution000006.solution b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_3_1-p-solution000006.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_3_1-p-solution000006.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_3_1-p.eprime-param b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_3_1-p.eprime-param new file mode 100644 index 0000000000..7d6b9721c5 --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_3_1-p.eprime-param @@ -0,0 +1,5 @@ +language ESSENCE' 1.0 + +letting n be 2 +letting a be 1 +letting b be 4 diff --git a/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_3_1.eprime b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_3_1.eprime new file mode 100644 index 0000000000..00361f80a7 --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_3_1.eprime @@ -0,0 +1,36 @@ +language ESSENCE' 1.0 + +given n: int +given a: int +given b: int +find x_ExplicitVarSizeWithMarker_Marker: int(0..1 + (b - a)) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..1 + (b - a))] of int(a..b) +find x_Occurrence: matrix indexed by [int(a..b)] of bool +branching on [x_Occurrence, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values] +such that + and([and([or([q17 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q17] = t_ExplicitVarSizeWithDummy[q15] + | q17 : int(1..1 + (b - a))]) + | q15 : int(1..1 + (b - a)), t_ExplicitVarSizeWithDummy[q15] != b + 1]) + -> + sum([t_ExplicitVarSizeWithDummy[q18] | q18 : int(1..1 + (b - a)), t_ExplicitVarSizeWithDummy[q18] != b + 1]) <= + 6 | t_ExplicitVarSizeWithDummy : matrix indexed by [int(1..1 + (b - a))] of int(a..b + 1), + and([t_ExplicitVarSizeWithDummy[q10] < t_ExplicitVarSizeWithDummy[q10 + 1] \/ + t_ExplicitVarSizeWithDummy[q10] = b + 1 + | q10 : int(1..1 + (b - a) - 1)]), + and([t_ExplicitVarSizeWithDummy[q11] = b + 1 -> t_ExplicitVarSizeWithDummy[q11 + 1] = b + 1 + | q11 : int(1..1 + (b - a) - 1)])]), + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..1 + (b - a) - 1)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = a + | q2 : int(1..1 + (b - a))]), + n <= x_ExplicitVarSizeWithMarker_Marker, + n <= sum([toInt(x_Occurrence[q4]) | q4 : int(a..b)]), + and([x_Occurrence[q5] -> + or([q7 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q7] = q5 + | q7 : int(1..1 + (b - a))]) + | q5 : int(a..b)]), + and([q9 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q9]] + | q9 : int(1..1 + (b - a))]) + diff --git a/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_3_2-p-solution000001.solution b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_3_2-p-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_3_2-p-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_3_2-p-solution000002.solution b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_3_2-p-solution000002.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_3_2-p-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_3_2-p-solution000003.solution b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_3_2-p-solution000003.solution new file mode 100644 index 0000000000..a28b6d6203 --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_3_2-p-solution000003.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 3} diff --git a/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_3_2-p-solution000004.solution b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_3_2-p-solution000004.solution new file mode 100644 index 0000000000..be06a54735 --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_3_2-p-solution000004.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 4} diff --git a/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_3_2-p-solution000005.solution b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_3_2-p-solution000005.solution new file mode 100644 index 0000000000..8dddb3b359 --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_3_2-p-solution000005.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {2, 3} diff --git a/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_3_2-p-solution000006.solution b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_3_2-p-solution000006.solution new file mode 100644 index 0000000000..991fac89aa --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_3_2-p-solution000006.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {2, 4} diff --git a/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_3_2-p.eprime-param b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_3_2-p.eprime-param new file mode 100644 index 0000000000..7d6b9721c5 --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_3_2-p.eprime-param @@ -0,0 +1,5 @@ +language ESSENCE' 1.0 + +letting n be 2 +letting a be 1 +letting b be 4 diff --git a/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_3_2.eprime b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_3_2.eprime new file mode 100644 index 0000000000..f071e0ff08 --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_3_2.eprime @@ -0,0 +1,44 @@ +language ESSENCE' 1.0 + +given n: int +given a: int +given b: int +find x_ExplicitVarSizeWithMarker_Marker: int(0..1 + (b - a)) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..1 + (b - a))] of int(a..b) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..1 + (b - a))] of int(a..b + 1) +branching on [x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values] +such that + and([and([or([q23 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q23] = t_ExplicitVarSizeWithDummy[q21] + | q23 : int(1..1 + (b - a))]) + | q21 : int(1..1 + (b - a)), t_ExplicitVarSizeWithDummy[q21] != b + 1]) + -> + sum([t_ExplicitVarSizeWithDummy[q24] | q24 : int(1..1 + (b - a)), t_ExplicitVarSizeWithDummy[q24] != b + 1]) <= + 6 | t_ExplicitVarSizeWithDummy : matrix indexed by [int(1..1 + (b - a))] of int(a..b + 1), + and([t_ExplicitVarSizeWithDummy[q16] < t_ExplicitVarSizeWithDummy[q16 + 1] \/ + t_ExplicitVarSizeWithDummy[q16] = b + 1 + | q16 : int(1..1 + (b - a) - 1)]), + and([t_ExplicitVarSizeWithDummy[q17] = b + 1 -> t_ExplicitVarSizeWithDummy[q17 + 1] = b + 1 + | q17 : int(1..1 + (b - a) - 1)])]), + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..1 + (b - a) - 1)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = a + | q2 : int(1..1 + (b - a))]), + n <= x_ExplicitVarSizeWithMarker_Marker, + and([x_ExplicitVarSizeWithDummy[q4] < x_ExplicitVarSizeWithDummy[q4 + 1] \/ x_ExplicitVarSizeWithDummy[q4] = b + 1 + | q4 : int(1..1 + (b - a) - 1)]), + and([x_ExplicitVarSizeWithDummy[q5] = b + 1 -> x_ExplicitVarSizeWithDummy[q5 + 1] = b + 1 + | q5 : int(1..1 + (b - a) - 1)]), + n <= sum([toInt(x_ExplicitVarSizeWithDummy[q6] != b + 1) | q6 : int(1..1 + (b - a))]), + and([x_ExplicitVarSizeWithDummy[q9] != b + 1 -> + or([q11 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q11] = x_ExplicitVarSizeWithDummy[q9] + | q11 : int(1..1 + (b - a))]) + | q9 : int(1..1 + (b - a))]), + and([q13 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q15] != b + 1 /\ + x_ExplicitVarSizeWithDummy[q15] = x_ExplicitVarSizeWithMarker_Values[q13] + | q15 : int(1..1 + (b - a))]) + | q13 : int(1..1 + (b - a))]) + diff --git a/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_3_3-p-solution000001.solution b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_3_3-p-solution000001.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_3_3-p-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_3_3-p-solution000002.solution b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_3_3-p-solution000002.solution new file mode 100644 index 0000000000..a28b6d6203 --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_3_3-p-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 3} diff --git a/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_3_3-p-solution000003.solution b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_3_3-p-solution000003.solution new file mode 100644 index 0000000000..be06a54735 --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_3_3-p-solution000003.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 4} diff --git a/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_3_3-p-solution000004.solution b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_3_3-p-solution000004.solution new file mode 100644 index 0000000000..8dddb3b359 --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_3_3-p-solution000004.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {2, 3} diff --git a/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_3_3-p-solution000005.solution b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_3_3-p-solution000005.solution new file mode 100644 index 0000000000..991fac89aa --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_3_3-p-solution000005.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {2, 4} diff --git a/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_3_3-p-solution000006.solution b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_3_3-p-solution000006.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_3_3-p-solution000006.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_3_3-p.eprime-param b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_3_3-p.eprime-param new file mode 100644 index 0000000000..7d6b9721c5 --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_3_3-p.eprime-param @@ -0,0 +1,5 @@ +language ESSENCE' 1.0 + +letting n be 2 +letting a be 1 +letting b be 4 diff --git a/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_3_3.eprime b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_3_3.eprime new file mode 100644 index 0000000000..8fa49fbf6d --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_3_3.eprime @@ -0,0 +1,28 @@ +language ESSENCE' 1.0 + +given n: int +given a: int +given b: int +find x_ExplicitVarSizeWithMarker_Marker: int(0..1 + (b - a)) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..1 + (b - a))] of int(a..b) +branching on [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values] +such that + and([and([or([q11 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q11] = t_ExplicitVarSizeWithDummy[q9] + | q11 : int(1..1 + (b - a))]) + | q9 : int(1..1 + (b - a)), t_ExplicitVarSizeWithDummy[q9] != b + 1]) + -> + sum([t_ExplicitVarSizeWithDummy[q12] | q12 : int(1..1 + (b - a)), t_ExplicitVarSizeWithDummy[q12] != b + 1]) <= + 6 | t_ExplicitVarSizeWithDummy : matrix indexed by [int(1..1 + (b - a))] of int(a..b + 1), + and([t_ExplicitVarSizeWithDummy[q4] < t_ExplicitVarSizeWithDummy[q4 + 1] \/ + t_ExplicitVarSizeWithDummy[q4] = b + 1 + | q4 : int(1..1 + (b - a) - 1)]), + and([t_ExplicitVarSizeWithDummy[q5] = b + 1 -> t_ExplicitVarSizeWithDummy[q5 + 1] = b + 1 + | q5 : int(1..1 + (b - a) - 1)])]), + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..1 + (b - a) - 1)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = a + | q2 : int(1..1 + (b - a))]), + n <= x_ExplicitVarSizeWithMarker_Marker + diff --git a/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_3_4-p-solution000001.solution b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_3_4-p-solution000001.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_3_4-p-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_3_4-p-solution000002.solution b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_3_4-p-solution000002.solution new file mode 100644 index 0000000000..a28b6d6203 --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_3_4-p-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 3} diff --git a/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_3_4-p-solution000003.solution b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_3_4-p-solution000003.solution new file mode 100644 index 0000000000..be06a54735 --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_3_4-p-solution000003.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 4} diff --git a/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_3_4-p-solution000004.solution b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_3_4-p-solution000004.solution new file mode 100644 index 0000000000..8dddb3b359 --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_3_4-p-solution000004.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {2, 3} diff --git a/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_3_4-p-solution000005.solution b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_3_4-p-solution000005.solution new file mode 100644 index 0000000000..991fac89aa --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_3_4-p-solution000005.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {2, 4} diff --git a/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_3_4-p-solution000006.solution b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_3_4-p-solution000006.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_3_4-p-solution000006.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_3_4-p.eprime-param b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_3_4-p.eprime-param new file mode 100644 index 0000000000..7d6b9721c5 --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_3_4-p.eprime-param @@ -0,0 +1,5 @@ +language ESSENCE' 1.0 + +letting n be 2 +letting a be 1 +letting b be 4 diff --git a/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_3_4.eprime b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_3_4.eprime new file mode 100644 index 0000000000..bacc7d46b3 --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_3_4.eprime @@ -0,0 +1,50 @@ +language ESSENCE' 1.0 + +given n: int +given a: int +given b: int +find x_ExplicitVarSizeWithMarker_Marker: int(0..1 + (b - a)) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..1 + (b - a))] of int(a..b) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..1 + (b - a))] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..1 + (b - a))] of int(a..b) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_ExplicitVarSizeWithMarker_Marker, + x_ExplicitVarSizeWithMarker_Values] +such that + and([and([or([q24 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q24] = t_ExplicitVarSizeWithDummy[q22] + | q24 : int(1..1 + (b - a))]) + | q22 : int(1..1 + (b - a)), t_ExplicitVarSizeWithDummy[q22] != b + 1]) + -> + sum([t_ExplicitVarSizeWithDummy[q25] | q25 : int(1..1 + (b - a)), t_ExplicitVarSizeWithDummy[q25] != b + 1]) <= + 6 | t_ExplicitVarSizeWithDummy : matrix indexed by [int(1..1 + (b - a))] of int(a..b + 1), + and([t_ExplicitVarSizeWithDummy[q17] < t_ExplicitVarSizeWithDummy[q17 + 1] \/ + t_ExplicitVarSizeWithDummy[q17] = b + 1 + | q17 : int(1..1 + (b - a) - 1)]), + and([t_ExplicitVarSizeWithDummy[q18] = b + 1 -> t_ExplicitVarSizeWithDummy[q18 + 1] = b + 1 + | q18 : int(1..1 + (b - a) - 1)])]), + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..1 + (b - a) - 1)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = a + | q2 : int(1..1 + (b - a))]), + n <= x_ExplicitVarSizeWithMarker_Marker, + and([x_ExplicitVarSizeWithFlags_Flags[q4 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q4] < x_ExplicitVarSizeWithFlags_Values[q4 + 1] + | q4 : int(1..1 + (b - a) - 1)]), + and([x_ExplicitVarSizeWithFlags_Flags[q5] = false -> x_ExplicitVarSizeWithFlags_Values[q5] = a + | q5 : int(1..1 + (b - a))]), + and([x_ExplicitVarSizeWithFlags_Flags[q6 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q6] + | q6 : int(1..1 + (b - a) - 1)]), + n <= sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q7]) | q7 : int(1..1 + (b - a))]), + and([x_ExplicitVarSizeWithFlags_Flags[q10] -> + or([q12 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q12] = x_ExplicitVarSizeWithFlags_Values[q10] + | q12 : int(1..1 + (b - a))]) + | q10 : int(1..1 + (b - a))]), + and([q14 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q16] /\ + x_ExplicitVarSizeWithFlags_Values[q16] = x_ExplicitVarSizeWithMarker_Values[q14] + | q16 : int(1..1 + (b - a))]) + | q14 : int(1..1 + (b - a))]) + diff --git a/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_4_1-p-solution000001.solution b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_4_1-p-solution000001.solution new file mode 100644 index 0000000000..991fac89aa --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_4_1-p-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {2, 4} diff --git a/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_4_1-p-solution000002.solution b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_4_1-p-solution000002.solution new file mode 100644 index 0000000000..8dddb3b359 --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_4_1-p-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {2, 3} diff --git a/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_4_1-p-solution000003.solution b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_4_1-p-solution000003.solution new file mode 100644 index 0000000000..be06a54735 --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_4_1-p-solution000003.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 4} diff --git a/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_4_1-p-solution000004.solution b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_4_1-p-solution000004.solution new file mode 100644 index 0000000000..a28b6d6203 --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_4_1-p-solution000004.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 3} diff --git a/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_4_1-p-solution000005.solution b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_4_1-p-solution000005.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_4_1-p-solution000005.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_4_1-p-solution000006.solution b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_4_1-p-solution000006.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_4_1-p-solution000006.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_4_1-p.eprime-param b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_4_1-p.eprime-param new file mode 100644 index 0000000000..7d6b9721c5 --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_4_1-p.eprime-param @@ -0,0 +1,5 @@ +language ESSENCE' 1.0 + +letting n be 2 +letting a be 1 +letting b be 4 diff --git a/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_4_1.eprime b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_4_1.eprime new file mode 100644 index 0000000000..5b6f7598a4 --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_4_1.eprime @@ -0,0 +1,38 @@ +language ESSENCE' 1.0 + +given n: int +given a: int +given b: int +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..1 + (b - a))] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..1 + (b - a))] of int(a..b) +find x_Occurrence: matrix indexed by [int(a..b)] of bool +branching on [x_Occurrence, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values] +such that + and([and([or([x_ExplicitVarSizeWithFlags_Flags[q19] /\ + x_ExplicitVarSizeWithFlags_Values[q19] = t_ExplicitVarSizeWithDummy[q17] + | q19 : int(1..1 + (b - a))]) + | q17 : int(1..1 + (b - a)), t_ExplicitVarSizeWithDummy[q17] != b + 1]) + -> + sum([t_ExplicitVarSizeWithDummy[q20] | q20 : int(1..1 + (b - a)), t_ExplicitVarSizeWithDummy[q20] != b + 1]) <= + 6 | t_ExplicitVarSizeWithDummy : matrix indexed by [int(1..1 + (b - a))] of int(a..b + 1), + and([t_ExplicitVarSizeWithDummy[q12] < t_ExplicitVarSizeWithDummy[q12 + 1] \/ + t_ExplicitVarSizeWithDummy[q12] = b + 1 + | q12 : int(1..1 + (b - a) - 1)]), + and([t_ExplicitVarSizeWithDummy[q13] = b + 1 -> t_ExplicitVarSizeWithDummy[q13 + 1] = b + 1 + | q13 : int(1..1 + (b - a) - 1)])]), + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..1 + (b - a) - 1)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = a + | q2 : int(1..1 + (b - a))]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] + | q3 : int(1..1 + (b - a) - 1)]), + n <= sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q4]) | q4 : int(1..1 + (b - a))]), + n <= sum([toInt(x_Occurrence[q6]) | q6 : int(a..b)]), + and([x_Occurrence[q7] -> + or([x_ExplicitVarSizeWithFlags_Flags[q9] /\ x_ExplicitVarSizeWithFlags_Values[q9] = q7 + | q9 : int(1..1 + (b - a))]) + | q7 : int(a..b)]), + and([x_ExplicitVarSizeWithFlags_Flags[q11] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q11]] + | q11 : int(1..1 + (b - a))]) + diff --git a/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_4_2-p-solution000001.solution b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_4_2-p-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_4_2-p-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_4_2-p-solution000002.solution b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_4_2-p-solution000002.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_4_2-p-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_4_2-p-solution000003.solution b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_4_2-p-solution000003.solution new file mode 100644 index 0000000000..a28b6d6203 --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_4_2-p-solution000003.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 3} diff --git a/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_4_2-p-solution000004.solution b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_4_2-p-solution000004.solution new file mode 100644 index 0000000000..be06a54735 --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_4_2-p-solution000004.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 4} diff --git a/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_4_2-p-solution000005.solution b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_4_2-p-solution000005.solution new file mode 100644 index 0000000000..8dddb3b359 --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_4_2-p-solution000005.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {2, 3} diff --git a/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_4_2-p-solution000006.solution b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_4_2-p-solution000006.solution new file mode 100644 index 0000000000..991fac89aa --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_4_2-p-solution000006.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {2, 4} diff --git a/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_4_2-p.eprime-param b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_4_2-p.eprime-param new file mode 100644 index 0000000000..7d6b9721c5 --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_4_2-p.eprime-param @@ -0,0 +1,5 @@ +language ESSENCE' 1.0 + +letting n be 2 +letting a be 1 +letting b be 4 diff --git a/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_4_2.eprime b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_4_2.eprime new file mode 100644 index 0000000000..97885f92e5 --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_4_2.eprime @@ -0,0 +1,46 @@ +language ESSENCE' 1.0 + +given n: int +given a: int +given b: int +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..1 + (b - a))] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..1 + (b - a))] of int(a..b) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..1 + (b - a))] of int(a..b + 1) +branching on [x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values] +such that + and([and([or([x_ExplicitVarSizeWithFlags_Flags[q25] /\ + x_ExplicitVarSizeWithFlags_Values[q25] = t_ExplicitVarSizeWithDummy[q23] + | q25 : int(1..1 + (b - a))]) + | q23 : int(1..1 + (b - a)), t_ExplicitVarSizeWithDummy[q23] != b + 1]) + -> + sum([t_ExplicitVarSizeWithDummy[q26] | q26 : int(1..1 + (b - a)), t_ExplicitVarSizeWithDummy[q26] != b + 1]) <= + 6 | t_ExplicitVarSizeWithDummy : matrix indexed by [int(1..1 + (b - a))] of int(a..b + 1), + and([t_ExplicitVarSizeWithDummy[q18] < t_ExplicitVarSizeWithDummy[q18 + 1] \/ + t_ExplicitVarSizeWithDummy[q18] = b + 1 + | q18 : int(1..1 + (b - a) - 1)]), + and([t_ExplicitVarSizeWithDummy[q19] = b + 1 -> t_ExplicitVarSizeWithDummy[q19 + 1] = b + 1 + | q19 : int(1..1 + (b - a) - 1)])]), + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..1 + (b - a) - 1)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = a + | q2 : int(1..1 + (b - a))]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] + | q3 : int(1..1 + (b - a) - 1)]), + n <= sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q4]) | q4 : int(1..1 + (b - a))]), + and([x_ExplicitVarSizeWithDummy[q6] < x_ExplicitVarSizeWithDummy[q6 + 1] \/ x_ExplicitVarSizeWithDummy[q6] = b + 1 + | q6 : int(1..1 + (b - a) - 1)]), + and([x_ExplicitVarSizeWithDummy[q7] = b + 1 -> x_ExplicitVarSizeWithDummy[q7 + 1] = b + 1 + | q7 : int(1..1 + (b - a) - 1)]), + n <= sum([toInt(x_ExplicitVarSizeWithDummy[q8] != b + 1) | q8 : int(1..1 + (b - a))]), + and([x_ExplicitVarSizeWithDummy[q11] != b + 1 -> + or([x_ExplicitVarSizeWithFlags_Flags[q13] /\ + x_ExplicitVarSizeWithFlags_Values[q13] = x_ExplicitVarSizeWithDummy[q11] + | q13 : int(1..1 + (b - a))]) + | q11 : int(1..1 + (b - a))]), + and([x_ExplicitVarSizeWithFlags_Flags[q15] -> + or([x_ExplicitVarSizeWithDummy[q17] != b + 1 /\ + x_ExplicitVarSizeWithDummy[q17] = x_ExplicitVarSizeWithFlags_Values[q15] + | q17 : int(1..1 + (b - a))]) + | q15 : int(1..1 + (b - a))]) + diff --git a/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_4_3-p-solution000001.solution b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_4_3-p-solution000001.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_4_3-p-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_4_3-p-solution000002.solution b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_4_3-p-solution000002.solution new file mode 100644 index 0000000000..a28b6d6203 --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_4_3-p-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 3} diff --git a/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_4_3-p-solution000003.solution b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_4_3-p-solution000003.solution new file mode 100644 index 0000000000..be06a54735 --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_4_3-p-solution000003.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 4} diff --git a/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_4_3-p-solution000004.solution b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_4_3-p-solution000004.solution new file mode 100644 index 0000000000..8dddb3b359 --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_4_3-p-solution000004.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {2, 3} diff --git a/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_4_3-p-solution000005.solution b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_4_3-p-solution000005.solution new file mode 100644 index 0000000000..991fac89aa --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_4_3-p-solution000005.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {2, 4} diff --git a/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_4_3-p-solution000006.solution b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_4_3-p-solution000006.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_4_3-p-solution000006.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_4_3-p.eprime-param b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_4_3-p.eprime-param new file mode 100644 index 0000000000..7d6b9721c5 --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_4_3-p.eprime-param @@ -0,0 +1,5 @@ +language ESSENCE' 1.0 + +letting n be 2 +letting a be 1 +letting b be 4 diff --git a/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_4_3.eprime b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_4_3.eprime new file mode 100644 index 0000000000..60687fba2b --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_4_3.eprime @@ -0,0 +1,50 @@ +language ESSENCE' 1.0 + +given n: int +given a: int +given b: int +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..1 + (b - a))] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..1 + (b - a))] of int(a..b) +find x_ExplicitVarSizeWithMarker_Marker: int(0..1 + (b - a)) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..1 + (b - a))] of int(a..b) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_ExplicitVarSizeWithFlags_Flags, + x_ExplicitVarSizeWithFlags_Values] +such that + and([and([or([x_ExplicitVarSizeWithFlags_Flags[q24] /\ + x_ExplicitVarSizeWithFlags_Values[q24] = t_ExplicitVarSizeWithDummy[q22] + | q24 : int(1..1 + (b - a))]) + | q22 : int(1..1 + (b - a)), t_ExplicitVarSizeWithDummy[q22] != b + 1]) + -> + sum([t_ExplicitVarSizeWithDummy[q25] | q25 : int(1..1 + (b - a)), t_ExplicitVarSizeWithDummy[q25] != b + 1]) <= + 6 | t_ExplicitVarSizeWithDummy : matrix indexed by [int(1..1 + (b - a))] of int(a..b + 1), + and([t_ExplicitVarSizeWithDummy[q17] < t_ExplicitVarSizeWithDummy[q17 + 1] \/ + t_ExplicitVarSizeWithDummy[q17] = b + 1 + | q17 : int(1..1 + (b - a) - 1)]), + and([t_ExplicitVarSizeWithDummy[q18] = b + 1 -> t_ExplicitVarSizeWithDummy[q18 + 1] = b + 1 + | q18 : int(1..1 + (b - a) - 1)])]), + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..1 + (b - a) - 1)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = a + | q2 : int(1..1 + (b - a))]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] + | q3 : int(1..1 + (b - a) - 1)]), + n <= sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q4]) | q4 : int(1..1 + (b - a))]), + and([q6 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q6] < x_ExplicitVarSizeWithMarker_Values[q6 + 1] + | q6 : int(1..1 + (b - a) - 1)]), + and([q7 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q7] = a + | q7 : int(1..1 + (b - a))]), + n <= x_ExplicitVarSizeWithMarker_Marker, + and([q10 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q12] /\ + x_ExplicitVarSizeWithFlags_Values[q12] = x_ExplicitVarSizeWithMarker_Values[q10] + | q12 : int(1..1 + (b - a))]) + | q10 : int(1..1 + (b - a))]), + and([x_ExplicitVarSizeWithFlags_Flags[q14] -> + or([q16 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q16] = x_ExplicitVarSizeWithFlags_Values[q14] + | q16 : int(1..1 + (b - a))]) + | q14 : int(1..1 + (b - a))]) + diff --git a/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_4_4-p-solution000001.solution b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_4_4-p-solution000001.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_4_4-p-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_4_4-p-solution000002.solution b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_4_4-p-solution000002.solution new file mode 100644 index 0000000000..a28b6d6203 --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_4_4-p-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 3} diff --git a/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_4_4-p-solution000003.solution b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_4_4-p-solution000003.solution new file mode 100644 index 0000000000..be06a54735 --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_4_4-p-solution000003.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 4} diff --git a/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_4_4-p-solution000004.solution b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_4_4-p-solution000004.solution new file mode 100644 index 0000000000..8dddb3b359 --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_4_4-p-solution000004.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {2, 3} diff --git a/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_4_4-p-solution000005.solution b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_4_4-p-solution000005.solution new file mode 100644 index 0000000000..991fac89aa --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_4_4-p-solution000005.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {2, 4} diff --git a/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_4_4-p-solution000006.solution b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_4_4-p-solution000006.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_4_4-p-solution000006.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_4_4-p.eprime-param b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_4_4-p.eprime-param new file mode 100644 index 0000000000..7d6b9721c5 --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_4_4-p.eprime-param @@ -0,0 +1,5 @@ +language ESSENCE' 1.0 + +letting n be 2 +letting a be 1 +letting b be 4 diff --git a/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_4_4.eprime b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_4_4.eprime new file mode 100644 index 0000000000..ba348b8892 --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionDirect/expected/model_4_4.eprime @@ -0,0 +1,30 @@ +language ESSENCE' 1.0 + +given n: int +given a: int +given b: int +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..1 + (b - a))] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..1 + (b - a))] of int(a..b) +branching on [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values] +such that + and([and([or([x_ExplicitVarSizeWithFlags_Flags[q13] /\ + x_ExplicitVarSizeWithFlags_Values[q13] = t_ExplicitVarSizeWithDummy[q11] + | q13 : int(1..1 + (b - a))]) + | q11 : int(1..1 + (b - a)), t_ExplicitVarSizeWithDummy[q11] != b + 1]) + -> + sum([t_ExplicitVarSizeWithDummy[q14] | q14 : int(1..1 + (b - a)), t_ExplicitVarSizeWithDummy[q14] != b + 1]) <= + 6 | t_ExplicitVarSizeWithDummy : matrix indexed by [int(1..1 + (b - a))] of int(a..b + 1), + and([t_ExplicitVarSizeWithDummy[q6] < t_ExplicitVarSizeWithDummy[q6 + 1] \/ + t_ExplicitVarSizeWithDummy[q6] = b + 1 + | q6 : int(1..1 + (b - a) - 1)]), + and([t_ExplicitVarSizeWithDummy[q7] = b + 1 -> t_ExplicitVarSizeWithDummy[q7 + 1] = b + 1 + | q7 : int(1..1 + (b - a) - 1)])]), + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..1 + (b - a) - 1)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = a + | q2 : int(1..1 + (b - a))]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] + | q3 : int(1..1 + (b - a) - 1)]), + n <= sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q4]) | q4 : int(1..1 + (b - a))]) + diff --git a/tests/exhaustive/basic/powerSetComprehensionPat/expected/model_1_1-solution000001.solution b/tests/exhaustive/basic/powerSetComprehensionPat/expected/model_1_1-solution000001.solution new file mode 100644 index 0000000000..f1495354fe --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionPat/expected/model_1_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 4, 7} diff --git a/tests/exhaustive/basic/powerSetComprehensionPat/expected/model_1_1.eprime b/tests/exhaustive/basic/powerSetComprehensionPat/expected/model_1_1.eprime new file mode 100644 index 0000000000..b9c9ef2a41 --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionPat/expected/model_1_1.eprime @@ -0,0 +1,8 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1..7)] of bool +branching on [x_Occurrence] +such that + and([x_Occurrence[i] /\ x_Occurrence[j] -> |i - j| >= 3 | i : int(1..7), j : int(1..7), j > i]), + 3 <= sum([toInt(x_Occurrence[q1]) | q1 : int(1..7)]) + diff --git a/tests/exhaustive/basic/powerSetComprehensionPat/expected/model_1_2-solution000001.solution b/tests/exhaustive/basic/powerSetComprehensionPat/expected/model_1_2-solution000001.solution new file mode 100644 index 0000000000..f1495354fe --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionPat/expected/model_1_2-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 4, 7} diff --git a/tests/exhaustive/basic/powerSetComprehensionPat/expected/model_1_2.eprime b/tests/exhaustive/basic/powerSetComprehensionPat/expected/model_1_2.eprime new file mode 100644 index 0000000000..f4555045bf --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionPat/expected/model_1_2.eprime @@ -0,0 +1,17 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1..7)] of bool +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..7)] of int(1..8) +branching on [x_ExplicitVarSizeWithDummy, x_Occurrence] +such that + and([x_Occurrence[i] /\ x_Occurrence[j] -> |i - j| >= 3 | i : int(1..7), j : int(1..7), j > i]), + 3 <= sum([toInt(x_Occurrence[q1]) | q1 : int(1..7)]), + and([x_ExplicitVarSizeWithDummy[q2] < x_ExplicitVarSizeWithDummy[q2 + 1] \/ x_ExplicitVarSizeWithDummy[q2] = 8 + | q2 : int(1..6)]), + and([x_ExplicitVarSizeWithDummy[q3] = 8 -> x_ExplicitVarSizeWithDummy[q3 + 1] = 8 | q3 : int(1..6)]), + 3 <= sum([toInt(x_ExplicitVarSizeWithDummy[q4] != 8) | q4 : int(1..7)]), + and([x_ExplicitVarSizeWithDummy[q7] != 8 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q7]] | q7 : int(1..7)]), + and([x_Occurrence[q8] -> + or([x_ExplicitVarSizeWithDummy[q10] != 8 /\ x_ExplicitVarSizeWithDummy[q10] = q8 | q10 : int(1..7)]) + | q8 : int(1..7)]) + diff --git a/tests/exhaustive/basic/powerSetComprehensionPat/expected/model_1_3-solution000001.solution b/tests/exhaustive/basic/powerSetComprehensionPat/expected/model_1_3-solution000001.solution new file mode 100644 index 0000000000..f1495354fe --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionPat/expected/model_1_3-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 4, 7} diff --git a/tests/exhaustive/basic/powerSetComprehensionPat/expected/model_1_3.eprime b/tests/exhaustive/basic/powerSetComprehensionPat/expected/model_1_3.eprime new file mode 100644 index 0000000000..a9df3b1a89 --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionPat/expected/model_1_3.eprime @@ -0,0 +1,20 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1..7)] of bool +find x_ExplicitVarSizeWithMarker_Marker: int(0..7) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..7)] of int(1..7) +branching on [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_Occurrence] +such that + and([x_Occurrence[i] /\ x_Occurrence[j] -> |i - j| >= 3 | i : int(1..7), j : int(1..7), j > i]), + 3 <= sum([toInt(x_Occurrence[q1]) | q1 : int(1..7)]), + and([q2 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q2] < x_ExplicitVarSizeWithMarker_Values[q2 + 1] + | q2 : int(1..6)]), + and([q3 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q3] = 1 | q3 : int(1..7)]), + 3 <= x_ExplicitVarSizeWithMarker_Marker, + and([q6 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q6]] + | q6 : int(1..7)]), + and([x_Occurrence[q7] -> + or([q9 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q9] = q7 | q9 : int(1..7)]) + | q7 : int(1..7)]) + diff --git a/tests/exhaustive/basic/powerSetComprehensionPat/expected/model_1_4-solution000001.solution b/tests/exhaustive/basic/powerSetComprehensionPat/expected/model_1_4-solution000001.solution new file mode 100644 index 0000000000..f1495354fe --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionPat/expected/model_1_4-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 4, 7} diff --git a/tests/exhaustive/basic/powerSetComprehensionPat/expected/model_1_4.eprime b/tests/exhaustive/basic/powerSetComprehensionPat/expected/model_1_4.eprime new file mode 100644 index 0000000000..f343493acc --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionPat/expected/model_1_4.eprime @@ -0,0 +1,20 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1..7)] of bool +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..7)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..7)] of int(1..7) +branching on [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_Occurrence] +such that + and([x_Occurrence[i] /\ x_Occurrence[j] -> |i - j| >= 3 | i : int(1..7), j : int(1..7), j > i]), + 3 <= sum([toInt(x_Occurrence[q1]) | q1 : int(1..7)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q2] < x_ExplicitVarSizeWithFlags_Values[q2 + 1] + | q2 : int(1..6)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3] = false -> x_ExplicitVarSizeWithFlags_Values[q3] = 1 | q3 : int(1..7)]), + and([x_ExplicitVarSizeWithFlags_Flags[q4 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q4] | q4 : int(1..6)]), + 3 <= sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q5]) | q5 : int(1..7)]), + and([x_ExplicitVarSizeWithFlags_Flags[q8] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q8]] | q8 : int(1..7)]), + and([x_Occurrence[q9] -> + or([x_ExplicitVarSizeWithFlags_Flags[q11] /\ x_ExplicitVarSizeWithFlags_Values[q11] = q9 | q11 : int(1..7)]) + | q9 : int(1..7)]) + diff --git a/tests/exhaustive/basic/powerSetComprehensionPat/expected/model_2_1-solution000001.solution b/tests/exhaustive/basic/powerSetComprehensionPat/expected/model_2_1-solution000001.solution new file mode 100644 index 0000000000..f1495354fe --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionPat/expected/model_2_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 4, 7} diff --git a/tests/exhaustive/basic/powerSetComprehensionPat/expected/model_2_1.eprime b/tests/exhaustive/basic/powerSetComprehensionPat/expected/model_2_1.eprime new file mode 100644 index 0000000000..0f44241558 --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionPat/expected/model_2_1.eprime @@ -0,0 +1,19 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..7)] of int(1..8) +find x_Occurrence: matrix indexed by [int(1..7)] of bool +branching on [x_Occurrence, x_ExplicitVarSizeWithDummy] +such that + and([x_ExplicitVarSizeWithDummy[q11] != 8 /\ x_ExplicitVarSizeWithDummy[q12] != 8 -> + |x_ExplicitVarSizeWithDummy[q11] - x_ExplicitVarSizeWithDummy[q12]| >= 3 + | q11 : int(1..7), q12 : int(1..7), q12 > q11]), + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 8 + | q1 : int(1..6)]), + and([x_ExplicitVarSizeWithDummy[q2] = 8 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 8 | q2 : int(1..6)]), + 3 <= sum([toInt(x_ExplicitVarSizeWithDummy[q3] != 8) | q3 : int(1..7)]), + 3 <= sum([toInt(x_Occurrence[q5]) | q5 : int(1..7)]), + and([x_Occurrence[q6] -> + or([x_ExplicitVarSizeWithDummy[q8] != 8 /\ x_ExplicitVarSizeWithDummy[q8] = q6 | q8 : int(1..7)]) + | q6 : int(1..7)]), + and([x_ExplicitVarSizeWithDummy[q10] != 8 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q10]] | q10 : int(1..7)]) + diff --git a/tests/exhaustive/basic/powerSetComprehensionPat/expected/model_2_2-solution000001.solution b/tests/exhaustive/basic/powerSetComprehensionPat/expected/model_2_2-solution000001.solution new file mode 100644 index 0000000000..f1495354fe --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionPat/expected/model_2_2-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 4, 7} diff --git a/tests/exhaustive/basic/powerSetComprehensionPat/expected/model_2_2.eprime b/tests/exhaustive/basic/powerSetComprehensionPat/expected/model_2_2.eprime new file mode 100644 index 0000000000..4fb1321636 --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionPat/expected/model_2_2.eprime @@ -0,0 +1,13 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..7)] of int(1..8) +branching on [x_ExplicitVarSizeWithDummy] +such that + and([x_ExplicitVarSizeWithDummy[q5] != 8 /\ x_ExplicitVarSizeWithDummy[q6] != 8 -> + |x_ExplicitVarSizeWithDummy[q5] - x_ExplicitVarSizeWithDummy[q6]| >= 3 + | q5 : int(1..7), q6 : int(1..7), q6 > q5]), + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 8 + | q1 : int(1..6)]), + and([x_ExplicitVarSizeWithDummy[q2] = 8 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 8 | q2 : int(1..6)]), + 3 <= sum([toInt(x_ExplicitVarSizeWithDummy[q3] != 8) | q3 : int(1..7)]) + diff --git a/tests/exhaustive/basic/powerSetComprehensionPat/expected/model_2_3-solution000001.solution b/tests/exhaustive/basic/powerSetComprehensionPat/expected/model_2_3-solution000001.solution new file mode 100644 index 0000000000..f1495354fe --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionPat/expected/model_2_3-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 4, 7} diff --git a/tests/exhaustive/basic/powerSetComprehensionPat/expected/model_2_3.eprime b/tests/exhaustive/basic/powerSetComprehensionPat/expected/model_2_3.eprime new file mode 100644 index 0000000000..0c4c4b73d9 --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionPat/expected/model_2_3.eprime @@ -0,0 +1,30 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..7)] of int(1..8) +find x_ExplicitVarSizeWithMarker_Marker: int(0..7) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..7)] of int(1..7) +branching on [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_ExplicitVarSizeWithDummy] +such that + and([x_ExplicitVarSizeWithDummy[q16] != 8 /\ x_ExplicitVarSizeWithDummy[q17] != 8 -> + |x_ExplicitVarSizeWithDummy[q16] - x_ExplicitVarSizeWithDummy[q17]| >= 3 + | q16 : int(1..7), q17 : int(1..7), q17 > q16]), + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 8 + | q1 : int(1..6)]), + and([x_ExplicitVarSizeWithDummy[q2] = 8 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 8 | q2 : int(1..6)]), + 3 <= sum([toInt(x_ExplicitVarSizeWithDummy[q3] != 8) | q3 : int(1..7)]), + and([q5 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q5] < x_ExplicitVarSizeWithMarker_Values[q5 + 1] + | q5 : int(1..6)]), + and([q6 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q6] = 1 | q6 : int(1..7)]), + 3 <= x_ExplicitVarSizeWithMarker_Marker, + and([q9 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q11] != 8 /\ + x_ExplicitVarSizeWithDummy[q11] = x_ExplicitVarSizeWithMarker_Values[q9] + | q11 : int(1..7)]) + | q9 : int(1..7)]), + and([x_ExplicitVarSizeWithDummy[q13] != 8 -> + or([q15 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q15] = x_ExplicitVarSizeWithDummy[q13] + | q15 : int(1..7)]) + | q13 : int(1..7)]) + diff --git a/tests/exhaustive/basic/powerSetComprehensionPat/expected/model_2_4-solution000001.solution b/tests/exhaustive/basic/powerSetComprehensionPat/expected/model_2_4-solution000001.solution new file mode 100644 index 0000000000..f1495354fe --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionPat/expected/model_2_4-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 4, 7} diff --git a/tests/exhaustive/basic/powerSetComprehensionPat/expected/model_2_4.eprime b/tests/exhaustive/basic/powerSetComprehensionPat/expected/model_2_4.eprime new file mode 100644 index 0000000000..dde41e36d9 --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionPat/expected/model_2_4.eprime @@ -0,0 +1,31 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..7)] of int(1..8) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..7)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..7)] of int(1..7) +branching on [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_ExplicitVarSizeWithDummy] +such that + and([x_ExplicitVarSizeWithDummy[q18] != 8 /\ x_ExplicitVarSizeWithDummy[q19] != 8 -> + |x_ExplicitVarSizeWithDummy[q18] - x_ExplicitVarSizeWithDummy[q19]| >= 3 + | q18 : int(1..7), q19 : int(1..7), q19 > q18]), + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 8 + | q1 : int(1..6)]), + and([x_ExplicitVarSizeWithDummy[q2] = 8 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 8 | q2 : int(1..6)]), + 3 <= sum([toInt(x_ExplicitVarSizeWithDummy[q3] != 8) | q3 : int(1..7)]), + and([x_ExplicitVarSizeWithFlags_Flags[q5 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q5] < x_ExplicitVarSizeWithFlags_Values[q5 + 1] + | q5 : int(1..6)]), + and([x_ExplicitVarSizeWithFlags_Flags[q6] = false -> x_ExplicitVarSizeWithFlags_Values[q6] = 1 | q6 : int(1..7)]), + and([x_ExplicitVarSizeWithFlags_Flags[q7 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q7] | q7 : int(1..6)]), + 3 <= sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q8]) | q8 : int(1..7)]), + and([x_ExplicitVarSizeWithFlags_Flags[q11] -> + or([x_ExplicitVarSizeWithDummy[q13] != 8 /\ + x_ExplicitVarSizeWithDummy[q13] = x_ExplicitVarSizeWithFlags_Values[q11] + | q13 : int(1..7)]) + | q11 : int(1..7)]), + and([x_ExplicitVarSizeWithDummy[q15] != 8 -> + or([x_ExplicitVarSizeWithFlags_Flags[q17] /\ + x_ExplicitVarSizeWithFlags_Values[q17] = x_ExplicitVarSizeWithDummy[q15] + | q17 : int(1..7)]) + | q15 : int(1..7)]) + diff --git a/tests/exhaustive/basic/powerSetComprehensionPat/expected/model_3_1-solution000001.solution b/tests/exhaustive/basic/powerSetComprehensionPat/expected/model_3_1-solution000001.solution new file mode 100644 index 0000000000..f1495354fe --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionPat/expected/model_3_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 4, 7} diff --git a/tests/exhaustive/basic/powerSetComprehensionPat/expected/model_3_1.eprime b/tests/exhaustive/basic/powerSetComprehensionPat/expected/model_3_1.eprime new file mode 100644 index 0000000000..8a8eb99ad1 --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionPat/expected/model_3_1.eprime @@ -0,0 +1,22 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..7) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..7)] of int(1..7) +find x_Occurrence: matrix indexed by [int(1..7)] of bool +branching on [x_Occurrence, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values] +such that + and([q10 <= x_ExplicitVarSizeWithMarker_Marker /\ q11 <= x_ExplicitVarSizeWithMarker_Marker -> + |x_ExplicitVarSizeWithMarker_Values[q10] - x_ExplicitVarSizeWithMarker_Values[q11]| >= 3 + | q10 : int(1..7), q11 : int(1..7), q11 > q10]), + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..6)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 1 | q2 : int(1..7)]), + 3 <= x_ExplicitVarSizeWithMarker_Marker, + 3 <= sum([toInt(x_Occurrence[q4]) | q4 : int(1..7)]), + and([x_Occurrence[q5] -> + or([q7 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q7] = q5 | q7 : int(1..7)]) + | q5 : int(1..7)]), + and([q9 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q9]] + | q9 : int(1..7)]) + diff --git a/tests/exhaustive/basic/powerSetComprehensionPat/expected/model_3_2-solution000001.solution b/tests/exhaustive/basic/powerSetComprehensionPat/expected/model_3_2-solution000001.solution new file mode 100644 index 0000000000..f1495354fe --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionPat/expected/model_3_2-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 4, 7} diff --git a/tests/exhaustive/basic/powerSetComprehensionPat/expected/model_3_2.eprime b/tests/exhaustive/basic/powerSetComprehensionPat/expected/model_3_2.eprime new file mode 100644 index 0000000000..dfacb2f87a --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionPat/expected/model_3_2.eprime @@ -0,0 +1,30 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..7) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..7)] of int(1..7) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..7)] of int(1..8) +branching on [x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values] +such that + and([q16 <= x_ExplicitVarSizeWithMarker_Marker /\ q17 <= x_ExplicitVarSizeWithMarker_Marker -> + |x_ExplicitVarSizeWithMarker_Values[q16] - x_ExplicitVarSizeWithMarker_Values[q17]| >= 3 + | q16 : int(1..7), q17 : int(1..7), q17 > q16]), + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..6)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 1 | q2 : int(1..7)]), + 3 <= x_ExplicitVarSizeWithMarker_Marker, + and([x_ExplicitVarSizeWithDummy[q4] < x_ExplicitVarSizeWithDummy[q4 + 1] \/ x_ExplicitVarSizeWithDummy[q4] = 8 + | q4 : int(1..6)]), + and([x_ExplicitVarSizeWithDummy[q5] = 8 -> x_ExplicitVarSizeWithDummy[q5 + 1] = 8 | q5 : int(1..6)]), + 3 <= sum([toInt(x_ExplicitVarSizeWithDummy[q6] != 8) | q6 : int(1..7)]), + and([x_ExplicitVarSizeWithDummy[q9] != 8 -> + or([q11 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q11] = x_ExplicitVarSizeWithDummy[q9] + | q11 : int(1..7)]) + | q9 : int(1..7)]), + and([q13 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q15] != 8 /\ + x_ExplicitVarSizeWithDummy[q15] = x_ExplicitVarSizeWithMarker_Values[q13] + | q15 : int(1..7)]) + | q13 : int(1..7)]) + diff --git a/tests/exhaustive/basic/powerSetComprehensionPat/expected/model_3_3-solution000001.solution b/tests/exhaustive/basic/powerSetComprehensionPat/expected/model_3_3-solution000001.solution new file mode 100644 index 0000000000..f1495354fe --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionPat/expected/model_3_3-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 4, 7} diff --git a/tests/exhaustive/basic/powerSetComprehensionPat/expected/model_3_3.eprime b/tests/exhaustive/basic/powerSetComprehensionPat/expected/model_3_3.eprime new file mode 100644 index 0000000000..a58004f8c5 --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionPat/expected/model_3_3.eprime @@ -0,0 +1,15 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..7) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..7)] of int(1..7) +branching on [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values] +such that + and([q4 <= x_ExplicitVarSizeWithMarker_Marker /\ q5 <= x_ExplicitVarSizeWithMarker_Marker -> + |x_ExplicitVarSizeWithMarker_Values[q4] - x_ExplicitVarSizeWithMarker_Values[q5]| >= 3 + | q4 : int(1..7), q5 : int(1..7), q5 > q4]), + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..6)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 1 | q2 : int(1..7)]), + 3 <= x_ExplicitVarSizeWithMarker_Marker + diff --git a/tests/exhaustive/basic/powerSetComprehensionPat/expected/model_3_4-solution000001.solution b/tests/exhaustive/basic/powerSetComprehensionPat/expected/model_3_4-solution000001.solution new file mode 100644 index 0000000000..f1495354fe --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionPat/expected/model_3_4-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 4, 7} diff --git a/tests/exhaustive/basic/powerSetComprehensionPat/expected/model_3_4.eprime b/tests/exhaustive/basic/powerSetComprehensionPat/expected/model_3_4.eprime new file mode 100644 index 0000000000..0e6666e578 --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionPat/expected/model_3_4.eprime @@ -0,0 +1,35 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..7) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..7)] of int(1..7) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..7)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..7)] of int(1..7) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_ExplicitVarSizeWithMarker_Marker, + x_ExplicitVarSizeWithMarker_Values] +such that + and([q17 <= x_ExplicitVarSizeWithMarker_Marker /\ q18 <= x_ExplicitVarSizeWithMarker_Marker -> + |x_ExplicitVarSizeWithMarker_Values[q17] - x_ExplicitVarSizeWithMarker_Values[q18]| >= 3 + | q17 : int(1..7), q18 : int(1..7), q18 > q17]), + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..6)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 1 | q2 : int(1..7)]), + 3 <= x_ExplicitVarSizeWithMarker_Marker, + and([x_ExplicitVarSizeWithFlags_Flags[q4 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q4] < x_ExplicitVarSizeWithFlags_Values[q4 + 1] + | q4 : int(1..6)]), + and([x_ExplicitVarSizeWithFlags_Flags[q5] = false -> x_ExplicitVarSizeWithFlags_Values[q5] = 1 | q5 : int(1..7)]), + and([x_ExplicitVarSizeWithFlags_Flags[q6 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q6] | q6 : int(1..6)]), + 3 <= sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q7]) | q7 : int(1..7)]), + and([x_ExplicitVarSizeWithFlags_Flags[q10] -> + or([q12 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q12] = x_ExplicitVarSizeWithFlags_Values[q10] + | q12 : int(1..7)]) + | q10 : int(1..7)]), + and([q14 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q16] /\ + x_ExplicitVarSizeWithFlags_Values[q16] = x_ExplicitVarSizeWithMarker_Values[q14] + | q16 : int(1..7)]) + | q14 : int(1..7)]) + diff --git a/tests/exhaustive/basic/powerSetComprehensionPat/expected/model_4_1-solution000001.solution b/tests/exhaustive/basic/powerSetComprehensionPat/expected/model_4_1-solution000001.solution new file mode 100644 index 0000000000..f1495354fe --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionPat/expected/model_4_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 4, 7} diff --git a/tests/exhaustive/basic/powerSetComprehensionPat/expected/model_4_1.eprime b/tests/exhaustive/basic/powerSetComprehensionPat/expected/model_4_1.eprime new file mode 100644 index 0000000000..65f611992a --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionPat/expected/model_4_1.eprime @@ -0,0 +1,23 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..7)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..7)] of int(1..7) +find x_Occurrence: matrix indexed by [int(1..7)] of bool +branching on [x_Occurrence, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values] +such that + and([x_ExplicitVarSizeWithFlags_Flags[q12] /\ x_ExplicitVarSizeWithFlags_Flags[q13] -> + |x_ExplicitVarSizeWithFlags_Values[q12] - x_ExplicitVarSizeWithFlags_Values[q13]| >= 3 + | q12 : int(1..7), q13 : int(1..7), q13 > q12]), + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..6)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 1 | q2 : int(1..7)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..6)]), + 3 <= sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q4]) | q4 : int(1..7)]), + 3 <= sum([toInt(x_Occurrence[q6]) | q6 : int(1..7)]), + and([x_Occurrence[q7] -> + or([x_ExplicitVarSizeWithFlags_Flags[q9] /\ x_ExplicitVarSizeWithFlags_Values[q9] = q7 | q9 : int(1..7)]) + | q7 : int(1..7)]), + and([x_ExplicitVarSizeWithFlags_Flags[q11] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q11]] + | q11 : int(1..7)]) + diff --git a/tests/exhaustive/basic/powerSetComprehensionPat/expected/model_4_2-solution000001.solution b/tests/exhaustive/basic/powerSetComprehensionPat/expected/model_4_2-solution000001.solution new file mode 100644 index 0000000000..f1495354fe --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionPat/expected/model_4_2-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 4, 7} diff --git a/tests/exhaustive/basic/powerSetComprehensionPat/expected/model_4_2.eprime b/tests/exhaustive/basic/powerSetComprehensionPat/expected/model_4_2.eprime new file mode 100644 index 0000000000..ff6745f307 --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionPat/expected/model_4_2.eprime @@ -0,0 +1,31 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..7)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..7)] of int(1..7) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..7)] of int(1..8) +branching on [x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values] +such that + and([x_ExplicitVarSizeWithFlags_Flags[q18] /\ x_ExplicitVarSizeWithFlags_Flags[q19] -> + |x_ExplicitVarSizeWithFlags_Values[q18] - x_ExplicitVarSizeWithFlags_Values[q19]| >= 3 + | q18 : int(1..7), q19 : int(1..7), q19 > q18]), + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..6)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 1 | q2 : int(1..7)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..6)]), + 3 <= sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q4]) | q4 : int(1..7)]), + and([x_ExplicitVarSizeWithDummy[q6] < x_ExplicitVarSizeWithDummy[q6 + 1] \/ x_ExplicitVarSizeWithDummy[q6] = 8 + | q6 : int(1..6)]), + and([x_ExplicitVarSizeWithDummy[q7] = 8 -> x_ExplicitVarSizeWithDummy[q7 + 1] = 8 | q7 : int(1..6)]), + 3 <= sum([toInt(x_ExplicitVarSizeWithDummy[q8] != 8) | q8 : int(1..7)]), + and([x_ExplicitVarSizeWithDummy[q11] != 8 -> + or([x_ExplicitVarSizeWithFlags_Flags[q13] /\ + x_ExplicitVarSizeWithFlags_Values[q13] = x_ExplicitVarSizeWithDummy[q11] + | q13 : int(1..7)]) + | q11 : int(1..7)]), + and([x_ExplicitVarSizeWithFlags_Flags[q15] -> + or([x_ExplicitVarSizeWithDummy[q17] != 8 /\ + x_ExplicitVarSizeWithDummy[q17] = x_ExplicitVarSizeWithFlags_Values[q15] + | q17 : int(1..7)]) + | q15 : int(1..7)]) + diff --git a/tests/exhaustive/basic/powerSetComprehensionPat/expected/model_4_3-solution000001.solution b/tests/exhaustive/basic/powerSetComprehensionPat/expected/model_4_3-solution000001.solution new file mode 100644 index 0000000000..f1495354fe --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionPat/expected/model_4_3-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 4, 7} diff --git a/tests/exhaustive/basic/powerSetComprehensionPat/expected/model_4_3.eprime b/tests/exhaustive/basic/powerSetComprehensionPat/expected/model_4_3.eprime new file mode 100644 index 0000000000..1d7cf573bd --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionPat/expected/model_4_3.eprime @@ -0,0 +1,35 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..7)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..7)] of int(1..7) +find x_ExplicitVarSizeWithMarker_Marker: int(0..7) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..7)] of int(1..7) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_ExplicitVarSizeWithFlags_Flags, + x_ExplicitVarSizeWithFlags_Values] +such that + and([x_ExplicitVarSizeWithFlags_Flags[q17] /\ x_ExplicitVarSizeWithFlags_Flags[q18] -> + |x_ExplicitVarSizeWithFlags_Values[q17] - x_ExplicitVarSizeWithFlags_Values[q18]| >= 3 + | q17 : int(1..7), q18 : int(1..7), q18 > q17]), + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..6)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 1 | q2 : int(1..7)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..6)]), + 3 <= sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q4]) | q4 : int(1..7)]), + and([q6 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q6] < x_ExplicitVarSizeWithMarker_Values[q6 + 1] + | q6 : int(1..6)]), + and([q7 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q7] = 1 | q7 : int(1..7)]), + 3 <= x_ExplicitVarSizeWithMarker_Marker, + and([q10 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q12] /\ + x_ExplicitVarSizeWithFlags_Values[q12] = x_ExplicitVarSizeWithMarker_Values[q10] + | q12 : int(1..7)]) + | q10 : int(1..7)]), + and([x_ExplicitVarSizeWithFlags_Flags[q14] -> + or([q16 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q16] = x_ExplicitVarSizeWithFlags_Values[q14] + | q16 : int(1..7)]) + | q14 : int(1..7)]) + diff --git a/tests/exhaustive/basic/powerSetComprehensionPat/expected/model_4_4-solution000001.solution b/tests/exhaustive/basic/powerSetComprehensionPat/expected/model_4_4-solution000001.solution new file mode 100644 index 0000000000..f1495354fe --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionPat/expected/model_4_4-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 4, 7} diff --git a/tests/exhaustive/basic/powerSetComprehensionPat/expected/model_4_4.eprime b/tests/exhaustive/basic/powerSetComprehensionPat/expected/model_4_4.eprime new file mode 100644 index 0000000000..4d96a6fb8a --- /dev/null +++ b/tests/exhaustive/basic/powerSetComprehensionPat/expected/model_4_4.eprime @@ -0,0 +1,16 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..7)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..7)] of int(1..7) +branching on [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values] +such that + and([x_ExplicitVarSizeWithFlags_Flags[q6] /\ x_ExplicitVarSizeWithFlags_Flags[q7] -> + |x_ExplicitVarSizeWithFlags_Values[q6] - x_ExplicitVarSizeWithFlags_Values[q7]| >= 3 + | q6 : int(1..7), q7 : int(1..7), q7 > q6]), + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..6)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 1 | q2 : int(1..7)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..6)]), + 3 <= sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q4]) | q4 : int(1..7)]) + diff --git a/tests/exhaustive/basic/relation04_param/expected/model_1_1-param4-solution000001.solution b/tests/exhaustive/basic/relation04_param/expected/model_1_1-param4-solution000001.solution new file mode 100644 index 0000000000..547e6d2e7e --- /dev/null +++ b/tests/exhaustive/basic/relation04_param/expected/model_1_1-param4-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting r be relation((3, {2}, 6), (3, {3}, 9)) diff --git a/tests/exhaustive/basic/relation04_param/expected/model_1_1-param4.eprime-param b/tests/exhaustive/basic/relation04_param/expected/model_1_1-param4.eprime-param new file mode 100644 index 0000000000..87708d95a4 --- /dev/null +++ b/tests/exhaustive/basic/relation04_param/expected/model_1_1-param4.eprime-param @@ -0,0 +1,11 @@ +language ESSENCE' 1.0 + +letting a_RelationAsSetR6_ExplicitR6_1 be [3, 3; int(1..2)] +letting a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy be [[2; int(1)], [3; int(1)]; int(1..2)] +$ Visualisation for a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy +$ 2 +$ 3 + +letting a_RelationAsSetR6_ExplicitR6_3 be [6, 9; int(1..2)] +letting fin1 be 2 +letting fin2 be 1 diff --git a/tests/exhaustive/basic/relation04_param/expected/model_1_1.eprime b/tests/exhaustive/basic/relation04_param/expected/model_1_1.eprime new file mode 100644 index 0000000000..2ec04d204d --- /dev/null +++ b/tests/exhaustive/basic/relation04_param/expected/model_1_1.eprime @@ -0,0 +1,70 @@ +language ESSENCE' 1.0 + +given fin1: int +given fin2: int +given a_RelationAsSetR6_ExplicitR6_1: matrix indexed by [int(1..fin1)] of int(1..3) +given a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy: + matrix indexed by [int(1..fin1), int(1..fin2)] of int(2..4) +given a_RelationAsSetR6_ExplicitR6_3: matrix indexed by [int(1..fin1)] of int(4..10) +find r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Marker: int(0..84) +find r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_1: matrix indexed by [int(1..84)] of int(1..3) +find r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_2_Occurrence: + matrix indexed by [int(1..84), int(2..3)] of bool +find r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_3: matrix indexed by [int(1..84)] of int(4..10) +branching on + [r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Marker, r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_1, + r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_2_Occurrence, + r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_3] +such that + and([q9 <= r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Marker -> + or([and([a_RelationAsSetR6_ExplicitR6_1[q11] = r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_1[q9], + and([r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_2_Occurrence + [q9, a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy[q11, q13]] + | q13 : int(1..fin2), + a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy[q11, q13] != 4]) + /\ + and([r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_2_Occurrence[q9, q14] -> + or([a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy[q11, q16] = q14 + | q16 : int(1..fin2), + a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy[q11, q16] != 4]) + | q14 : int(2..3)]), + a_RelationAsSetR6_ExplicitR6_3[q11] = r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_3[q9]; + int(1..3)]) + | q11 : int(1..fin1)]) + | q9 : int(1..84)]), + and([or([q19 <= r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Marker /\ + and([r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_1[q19] = a_RelationAsSetR6_ExplicitR6_1[q17], + and([r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_2_Occurrence[q19, q20] -> + or([a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy[q17, q22] = q20 + | q22 : int(1..fin2), + a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy[q17, q22] != 4]) + | q20 : int(2..3)]) + /\ + and([r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_2_Occurrence + [q19, a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy[q17, q24]] + | q24 : int(1..fin2), + a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy[q17, q24] != 4]), + r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_3[q19] = a_RelationAsSetR6_ExplicitR6_3[q17]; + int(1..3)]) + | q19 : int(1..84)]) + | q17 : int(1..fin1)]), + r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Marker = fin1, + and([q1 + 1 <= r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Marker -> + flatten([[r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_1[q1]; int(1)], + [-toInt(r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_2_Occurrence[q1, q5]) | q5 : int(2..3)], + [r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_3[q1]; int(1)]; + int(1..3)]) + r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Marker -> + and([r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_1[q2] = 1, + and([r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_2_Occurrence[q2, q7] = false | q7 : int(2..3)]), + r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_3[q2] = 4; + int(1..3)]) + | q2 : int(1..84)]) + diff --git a/tests/exhaustive/basic/relation04_param/expected/model_1_2-param4-solution000001.solution b/tests/exhaustive/basic/relation04_param/expected/model_1_2-param4-solution000001.solution new file mode 100644 index 0000000000..547e6d2e7e --- /dev/null +++ b/tests/exhaustive/basic/relation04_param/expected/model_1_2-param4-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting r be relation((3, {2}, 6), (3, {3}, 9)) diff --git a/tests/exhaustive/basic/relation04_param/expected/model_1_2-param4.eprime-param b/tests/exhaustive/basic/relation04_param/expected/model_1_2-param4.eprime-param new file mode 100644 index 0000000000..87708d95a4 --- /dev/null +++ b/tests/exhaustive/basic/relation04_param/expected/model_1_2-param4.eprime-param @@ -0,0 +1,11 @@ +language ESSENCE' 1.0 + +letting a_RelationAsSetR6_ExplicitR6_1 be [3, 3; int(1..2)] +letting a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy be [[2; int(1)], [3; int(1)]; int(1..2)] +$ Visualisation for a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy +$ 2 +$ 3 + +letting a_RelationAsSetR6_ExplicitR6_3 be [6, 9; int(1..2)] +letting fin1 be 2 +letting fin2 be 1 diff --git a/tests/exhaustive/basic/relation04_param/expected/model_1_2.eprime b/tests/exhaustive/basic/relation04_param/expected/model_1_2.eprime new file mode 100644 index 0000000000..2a255134f0 --- /dev/null +++ b/tests/exhaustive/basic/relation04_param/expected/model_1_2.eprime @@ -0,0 +1,152 @@ +language ESSENCE' 1.0 + +given fin1: int +given fin2: int +given a_RelationAsSetR6_ExplicitR6_1: matrix indexed by [int(1..fin1)] of int(1..3) +given a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy: + matrix indexed by [int(1..fin1), int(1..fin2)] of int(2..4) +given a_RelationAsSetR6_ExplicitR6_3: matrix indexed by [int(1..fin1)] of int(4..10) +find r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Marker: int(0..84) +find r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_1: matrix indexed by [int(1..84)] of int(1..3) +find r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_2_Occurrence: + matrix indexed by [int(1..84), int(2..3)] of bool +find r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_3: matrix indexed by [int(1..84)] of int(4..10) +find r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Marker: int(0..84) +find r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_1: matrix indexed by [int(1..84)] of int(1..3) +find r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_2_ExplicitVarSizeWithDummy: + matrix indexed by [int(1..84), int(1..2)] of int(2..4) +find r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_3: matrix indexed by [int(1..84)] of int(4..10) +branching on + [r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Marker, r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_1, + r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_2_ExplicitVarSizeWithDummy, + r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_3, r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Marker, + r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_1, + r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_2_Occurrence, + r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_3] +such that + and([q36 <= r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Marker -> + or([and([a_RelationAsSetR6_ExplicitR6_1[q38] = r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_1[q36], + and([r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_2_Occurrence + [q36, a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy[q38, q40]] + | q40 : int(1..fin2), + a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy[q38, q40] != 4]) + /\ + and([r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_2_Occurrence[q36, q41] -> + or([a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy[q38, q43] = q41 + | q43 : int(1..fin2), + a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy[q38, q43] != 4]) + | q41 : int(2..3)]), + a_RelationAsSetR6_ExplicitR6_3[q38] = r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_3[q36]; + int(1..3)]) + | q38 : int(1..fin1)]) + | q36 : int(1..84)]), + and([or([q46 <= r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Marker /\ + and([r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_1[q46] = a_RelationAsSetR6_ExplicitR6_1[q44], + and([r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_2_Occurrence[q46, q47] -> + or([a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy[q44, q49] = q47 + | q49 : int(1..fin2), + a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy[q44, q49] != 4]) + | q47 : int(2..3)]) + /\ + and([r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_2_Occurrence + [q46, a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy[q44, q51]] + | q51 : int(1..fin2), + a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy[q44, q51] != 4]), + r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_3[q46] = a_RelationAsSetR6_ExplicitR6_3[q44]; + int(1..3)]) + | q46 : int(1..84)]) + | q44 : int(1..fin1)]), + r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Marker = fin1, + and([q1 + 1 <= r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Marker -> + flatten([[r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_1[q1]; int(1)], + [-toInt(r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_2_Occurrence[q1, q5]) | q5 : int(2..3)], + [r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_3[q1]; int(1)]; + int(1..3)]) + r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Marker -> + and([r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_1[q2] = 1, + and([r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_2_Occurrence[q2, q7] = false | q7 : int(2..3)]), + r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_3[q2] = 4; + int(1..3)]) + | q2 : int(1..84)]), + and([q8 + 1 <= r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Marker -> + flatten([[r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_1[q8]; int(1)], + [r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_2_ExplicitVarSizeWithDummy[q8, q15] + | q15 : int(1..2)], + [r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_3[q8]; int(1)]; + int(1..3)]) + r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Marker -> + and([r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_1[q9] = 1, + and([r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_2_ExplicitVarSizeWithDummy[q9, q17] = 2 + | q17 : int(1..2)]), + r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_3[q9] = 4; + int(1..3)]) + | q9 : int(1..84)]), + and([q10 <= r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Marker -> + r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_2_ExplicitVarSizeWithDummy[q10, 1] < + r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_2_ExplicitVarSizeWithDummy[q10, 2] + \/ r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_2_ExplicitVarSizeWithDummy[q10, 1] = 4 + | q10 : int(1..84)]), + and([q10 <= r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Marker -> + (r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_2_ExplicitVarSizeWithDummy[q10, 1] = 4 -> + r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_2_ExplicitVarSizeWithDummy[q10, 2] = 4) + | q10 : int(1..84)]), + and([q19 <= r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Marker -> + or([q21 <= r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Marker /\ + and([r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_1[q21] = + r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_1[q19], + and([r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_2_Occurrence[q21, q22] -> + or([r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_2_ExplicitVarSizeWithDummy[q19, q24] != + 4 + /\ + r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_2_ExplicitVarSizeWithDummy[q19, q24] = + q22 | q24 : int(1..2)]) + | q22 : int(2..3)]) + /\ + and([r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_2_ExplicitVarSizeWithDummy[q19, q26] != 4 -> + r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_2_Occurrence + [q21, + r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_2_ExplicitVarSizeWithDummy[q19, q26]] + | q26 : int(1..2)]), + r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_3[q21] = + r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_3[q19]; + int(1..3)]) + | q21 : int(1..84)]) + | q19 : int(1..84)]), + and([q27 <= r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Marker -> + or([q29 <= r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Marker /\ + and([r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_1[q29] = + r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_1[q27], + and([r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_2_ExplicitVarSizeWithDummy[q29, q31] != 4 -> + r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_2_Occurrence + [q27, + r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_2_ExplicitVarSizeWithDummy[q29, q31]] + | q31 : int(1..2)]) + /\ + and([r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_2_Occurrence[q27, q32] -> + or([r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_2_ExplicitVarSizeWithDummy[q29, q34] != + 4 + /\ + r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_2_ExplicitVarSizeWithDummy[q29, q34] = + q32 | q34 : int(1..2)]) + | q32 : int(2..3)]), + r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_3[q29] = + r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_3[q27]; + int(1..3)]) + | q29 : int(1..84)]) + | q27 : int(1..84)]), + r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Marker = r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Marker + diff --git a/tests/exhaustive/basic/relation04_param/expected/model_1_3-param4-solution000001.solution b/tests/exhaustive/basic/relation04_param/expected/model_1_3-param4-solution000001.solution new file mode 100644 index 0000000000..547e6d2e7e --- /dev/null +++ b/tests/exhaustive/basic/relation04_param/expected/model_1_3-param4-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting r be relation((3, {2}, 6), (3, {3}, 9)) diff --git a/tests/exhaustive/basic/relation04_param/expected/model_1_3-param4.eprime-param b/tests/exhaustive/basic/relation04_param/expected/model_1_3-param4.eprime-param new file mode 100644 index 0000000000..87708d95a4 --- /dev/null +++ b/tests/exhaustive/basic/relation04_param/expected/model_1_3-param4.eprime-param @@ -0,0 +1,11 @@ +language ESSENCE' 1.0 + +letting a_RelationAsSetR6_ExplicitR6_1 be [3, 3; int(1..2)] +letting a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy be [[2; int(1)], [3; int(1)]; int(1..2)] +$ Visualisation for a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy +$ 2 +$ 3 + +letting a_RelationAsSetR6_ExplicitR6_3 be [6, 9; int(1..2)] +letting fin1 be 2 +letting fin2 be 1 diff --git a/tests/exhaustive/basic/relation04_param/expected/model_1_3.eprime.orig b/tests/exhaustive/basic/relation04_param/expected/model_1_3.eprime.orig deleted file mode 100644 index d0d64b442c..0000000000 --- a/tests/exhaustive/basic/relation04_param/expected/model_1_3.eprime.orig +++ /dev/null @@ -1,176 +0,0 @@ -language ESSENCE' 1.0 - -given fin1: int -given fin2: int -given a_RelationAsSetR6_ExplicitR6_1: matrix indexed by [int(1..fin1)] of int(1..3) -given a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy: - matrix indexed by [int(1..fin1), int(1..fin2)] of int(2..4) -given a_RelationAsSetR6_ExplicitR6_3: matrix indexed by [int(1..fin1)] of int(4..10) -find r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Marker: int(0..84) -find r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_1: matrix indexed by [int(1..84)] of int(1..3) -find r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_2_Occurrence: - matrix indexed by [int(1..84), int(2..3)] of bool -find r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_3: matrix indexed by [int(1..84)] of int(4..10) -find r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Marker: int(0..84) -find r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_1: matrix indexed by [int(1..84)] of int(1..3) -find r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Marker: - matrix indexed by [int(1..84)] of int(0..2) -find r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Values: - matrix indexed by [int(1..84), int(1..2)] of int(2..3) -find r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_3: matrix indexed by [int(1..84)] of int(4..10) -branching on - [r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Marker, r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_1, - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Marker, - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Values, - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_3, r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Marker, - r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_1, - r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_2_Occurrence, - r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_3] -such that - and([q35 <= r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Marker -> - or([and([a_RelationAsSetR6_ExplicitR6_1[q37] = r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_1[q35], - and([r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_2_Occurrence - [q35, a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy[q37, q39]] - | q39 : int(1..fin2), - a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy[q37, q39] != 4]) - /\ - and([r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_2_Occurrence[q35, q40] -> - or([a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy[q37, q42] = q40 - | q42 : int(1..fin2), - a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy[q37, q42] != 4]) - | q40 : int(2..3)]), - a_RelationAsSetR6_ExplicitR6_3[q37] = r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_3[q35]; - int(1..3)]) - | q37 : int(1..fin1)]) - | q35 : int(1..84)]), - and([or([q45 <= r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Marker /\ - and([r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_1[q45] = a_RelationAsSetR6_ExplicitR6_1[q43], - and([r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_2_Occurrence[q45, q46] -> - or([a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy[q43, q48] = q46 - | q48 : int(1..fin2), - a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy[q43, q48] != 4]) - | q46 : int(2..3)]) - /\ - and([r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_2_Occurrence - [q45, a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy[q43, q50]] - | q50 : int(1..fin2), - a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy[q43, q50] != 4]), - r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_3[q45] = a_RelationAsSetR6_ExplicitR6_3[q43]; - int(1..3)]) - | q45 : int(1..84)]) - | q43 : int(1..fin1)]), - r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Marker = fin1, - and([q1 + 1 <= r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Marker -> - flatten([[r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_1[q1]; int(1)], - [-toInt(r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_2_Occurrence[q1, q5]) | q5 : int(2..3)], - [r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_3[q1]; int(1)]; - int(1..3)]) - r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Marker -> - and([r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_1[q2] = 1, - and([r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_2_Occurrence[q2, q7] = false | q7 : int(2..3)]), - r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_3[q2] = 4; - int(1..3)]) - | q2 : int(1..84)]), - and([q8 + 1 <= r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Marker -> - flatten([[r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_1[q8]; int(1)], - flatten([[r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Marker[q8]; - int(1)], - [r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Values - [q8, q14] - | q14 : int(1..2)]; - int(1..2)]), - [r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_3[q8]; int(1)]; - int(1..3)]) - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Marker -> - and([r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_1[q9] = 1, - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Marker[q9] = 0 /\ - and([r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Values[q9, q16] = 2 - | q16 : int(1..2)]), - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_3[q9] = 4; - int(1..3)]) - | q9 : int(1..84)]), - and([q10 <= r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Marker -> - (2 <= r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Marker[q10] -> - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Values[q10, 1] < - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Values[q10, 2]) - | q10 : int(1..84)]), - and([q10 <= r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Marker -> - and([q12 > r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Marker[q10] -> - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Values[q10, q12] = 2 - | q12 : int(1..2)]) - | q10 : int(1..84)]), - and([q18 <= r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Marker -> - or([q20 <= r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Marker /\ - and([r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_1[q20] = - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_1[q18], - and([r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_2_Occurrence[q20, q21] -> - or([q23 <= - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Marker[q18] - /\ - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Values - [q18, q23] - = q21 - | q23 : int(1..2)]) - | q21 : int(2..3)]) - /\ - and([q25 <= - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Marker[q18] - -> - r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_2_Occurrence - [q20, - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Values - [q18, q25]] - | q25 : int(1..2)]), - r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_3[q20] = - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_3[q18]; - int(1..3)]) - | q20 : int(1..84)]) - | q18 : int(1..84)]), - and([q26 <= r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Marker -> - or([q28 <= r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Marker /\ - and([r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_1[q28] = - r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_1[q26], - and([q30 <= - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Marker[q28] - -> - r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_2_Occurrence - [q26, - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Values - [q28, q30]] - | q30 : int(1..2)]) - /\ - and([r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_2_Occurrence[q26, q31] -> - or([q33 <= - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Marker[q28] - /\ - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Values - [q28, q33] - = q31 - | q33 : int(1..2)]) - | q31 : int(2..3)]), - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_3[q28] = - r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_3[q26]; - int(1..3)]) - | q28 : int(1..84)]) - | q26 : int(1..84)]), - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Marker = r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Marker - diff --git a/tests/exhaustive/basic/relation04_param/expected/model_1_4-param4-solution000001.solution b/tests/exhaustive/basic/relation04_param/expected/model_1_4-param4-solution000001.solution new file mode 100644 index 0000000000..547e6d2e7e --- /dev/null +++ b/tests/exhaustive/basic/relation04_param/expected/model_1_4-param4-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting r be relation((3, {2}, 6), (3, {3}, 9)) diff --git a/tests/exhaustive/basic/relation04_param/expected/model_1_4-param4.eprime-param b/tests/exhaustive/basic/relation04_param/expected/model_1_4-param4.eprime-param new file mode 100644 index 0000000000..87708d95a4 --- /dev/null +++ b/tests/exhaustive/basic/relation04_param/expected/model_1_4-param4.eprime-param @@ -0,0 +1,11 @@ +language ESSENCE' 1.0 + +letting a_RelationAsSetR6_ExplicitR6_1 be [3, 3; int(1..2)] +letting a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy be [[2; int(1)], [3; int(1)]; int(1..2)] +$ Visualisation for a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy +$ 2 +$ 3 + +letting a_RelationAsSetR6_ExplicitR6_3 be [6, 9; int(1..2)] +letting fin1 be 2 +letting fin2 be 1 diff --git a/tests/exhaustive/basic/relation04_param/expected/model_1_4.eprime b/tests/exhaustive/basic/relation04_param/expected/model_1_4.eprime new file mode 100644 index 0000000000..b140b9955b --- /dev/null +++ b/tests/exhaustive/basic/relation04_param/expected/model_1_4.eprime @@ -0,0 +1,184 @@ +language ESSENCE' 1.0 + +given fin1: int +given fin2: int +given a_RelationAsSetR6_ExplicitR6_1: matrix indexed by [int(1..fin1)] of int(1..3) +given a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy: + matrix indexed by [int(1..fin1), int(1..fin2)] of int(2..4) +given a_RelationAsSetR6_ExplicitR6_3: matrix indexed by [int(1..fin1)] of int(4..10) +find r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Marker: int(0..84) +find r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_1: matrix indexed by [int(1..84)] of int(1..3) +find r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_2_Occurrence: + matrix indexed by [int(1..84), int(2..3)] of bool +find r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_3: matrix indexed by [int(1..84)] of int(4..10) +find r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Marker: int(0..84) +find r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_1: matrix indexed by [int(1..84)] of int(1..3) +find r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Flags: + matrix indexed by [int(1..84), int(1..2)] of bool +find r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Values: + matrix indexed by [int(1..84), int(1..2)] of int(2..3) +find r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_3: matrix indexed by [int(1..84)] of int(4..10) +branching on + [r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Marker, r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_1, + r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Flags, + r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Values, + r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_3, r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Marker, + r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_1, + r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_2_Occurrence, + r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_3] +such that + and([q38 <= r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Marker -> + or([and([a_RelationAsSetR6_ExplicitR6_1[q40] = r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_1[q38], + and([r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_2_Occurrence + [q38, a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy[q40, q42]] + | q42 : int(1..fin2), + a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy[q40, q42] != 4]) + /\ + and([r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_2_Occurrence[q38, q43] -> + or([a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy[q40, q45] = q43 + | q45 : int(1..fin2), + a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy[q40, q45] != 4]) + | q43 : int(2..3)]), + a_RelationAsSetR6_ExplicitR6_3[q40] = r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_3[q38]; + int(1..3)]) + | q40 : int(1..fin1)]) + | q38 : int(1..84)]), + and([or([q48 <= r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Marker /\ + and([r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_1[q48] = a_RelationAsSetR6_ExplicitR6_1[q46], + and([r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_2_Occurrence[q48, q49] -> + or([a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy[q46, q51] = q49 + | q51 : int(1..fin2), + a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy[q46, q51] != 4]) + | q49 : int(2..3)]) + /\ + and([r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_2_Occurrence + [q48, a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy[q46, q53]] + | q53 : int(1..fin2), + a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy[q46, q53] != 4]), + r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_3[q48] = a_RelationAsSetR6_ExplicitR6_3[q46]; + int(1..3)]) + | q48 : int(1..84)]) + | q46 : int(1..fin1)]), + r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Marker = fin1, + and([q1 + 1 <= r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Marker -> + flatten([[r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_1[q1]; int(1)], + [-toInt(r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_2_Occurrence[q1, q5]) | q5 : int(2..3)], + [r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_3[q1]; int(1)]; + int(1..3)]) + r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Marker -> + and([r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_1[q2] = 1, + and([r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_2_Occurrence[q2, q7] = false | q7 : int(2..3)]), + r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_3[q2] = 4; + int(1..3)]) + | q2 : int(1..84)]), + and([q8 + 1 <= r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Marker -> + flatten([[r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_1[q8]; int(1)], + flatten([flatten([[-toInt(r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Flags + [q8, q16]); + int(1)], + [r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Values + [q8, q16]; + int(1)]; + int(1..2)]) + | q16 : int(1..2)]), + [r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_3[q8]; int(1)]; + int(1..3)]) + r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Marker -> + and([r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_1[q9] = 1, + and([r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Flags[q9, q18] = + false + | q18 : int(1..2)]) + /\ + and([r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Values[q9, q19] = 2 + | q19 : int(1..2)]), + r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_3[q9] = 4; + int(1..3)]) + | q9 : int(1..84)]), + and([q10 <= r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Marker -> + (r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Flags[q10, 2] -> + r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Values[q10, 1] < + r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Values[q10, 2]) + | q10 : int(1..84)]), + and([q10 <= r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Marker -> + and([r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Flags[q10, q12] = false -> + r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Values[q10, q12] = 2 + | q12 : int(1..2)]) + | q10 : int(1..84)]), + and([q10 <= r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Marker -> + (r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Flags[q10, 2] -> + r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Flags[q10, 1]) + | q10 : int(1..84)]), + and([q21 <= r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Marker -> + or([q23 <= r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Marker /\ + and([r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_1[q23] = + r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_1[q21], + and([r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_2_Occurrence[q23, q24] -> + or([r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Flags + [q21, q26] + /\ + r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Values + [q21, q26] + = q24 + | q26 : int(1..2)]) + | q24 : int(2..3)]) + /\ + and([r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Flags[q21, q28] + -> + r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_2_Occurrence + [q23, + r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Values + [q21, q28]] + | q28 : int(1..2)]), + r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_3[q23] = + r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_3[q21]; + int(1..3)]) + | q23 : int(1..84)]) + | q21 : int(1..84)]), + and([q29 <= r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Marker -> + or([q31 <= r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Marker /\ + and([r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_1[q31] = + r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_1[q29], + and([r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Flags[q31, q33] + -> + r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_2_Occurrence + [q29, + r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Values + [q31, q33]] + | q33 : int(1..2)]) + /\ + and([r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_2_Occurrence[q29, q34] -> + or([r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Flags + [q31, q36] + /\ + r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Values + [q31, q36] + = q34 + | q36 : int(1..2)]) + | q34 : int(2..3)]), + r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_3[q31] = + r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_3[q29]; + int(1..3)]) + | q31 : int(1..84)]) + | q29 : int(1..84)]), + r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Marker = r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Marker + diff --git a/tests/exhaustive/basic/relation04_param/expected/model_2_1-param4-solution000001.solution b/tests/exhaustive/basic/relation04_param/expected/model_2_1-param4-solution000001.solution new file mode 100644 index 0000000000..547e6d2e7e --- /dev/null +++ b/tests/exhaustive/basic/relation04_param/expected/model_2_1-param4-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting r be relation((3, {2}, 6), (3, {3}, 9)) diff --git a/tests/exhaustive/basic/relation04_param/expected/model_2_1-param4.eprime-param b/tests/exhaustive/basic/relation04_param/expected/model_2_1-param4.eprime-param new file mode 100644 index 0000000000..87708d95a4 --- /dev/null +++ b/tests/exhaustive/basic/relation04_param/expected/model_2_1-param4.eprime-param @@ -0,0 +1,11 @@ +language ESSENCE' 1.0 + +letting a_RelationAsSetR6_ExplicitR6_1 be [3, 3; int(1..2)] +letting a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy be [[2; int(1)], [3; int(1)]; int(1..2)] +$ Visualisation for a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy +$ 2 +$ 3 + +letting a_RelationAsSetR6_ExplicitR6_3 be [6, 9; int(1..2)] +letting fin1 be 2 +letting fin2 be 1 diff --git a/tests/exhaustive/basic/relation04_param/expected/model_2_1.eprime b/tests/exhaustive/basic/relation04_param/expected/model_2_1.eprime new file mode 100644 index 0000000000..ca4ced56b2 --- /dev/null +++ b/tests/exhaustive/basic/relation04_param/expected/model_2_1.eprime @@ -0,0 +1,164 @@ +language ESSENCE' 1.0 + +given fin1: int +given fin2: int +given a_RelationAsSetR6_ExplicitR6_1: matrix indexed by [int(1..fin1)] of int(1..3) +given a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy: + matrix indexed by [int(1..fin1), int(1..fin2)] of int(2..4) +given a_RelationAsSetR6_ExplicitR6_3: matrix indexed by [int(1..fin1)] of int(4..10) +find r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Marker: int(0..84) +find r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_1: matrix indexed by [int(1..84)] of int(1..3) +find r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_2_ExplicitVarSizeWithDummy: + matrix indexed by [int(1..84), int(1..2)] of int(2..4) +find r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_3: matrix indexed by [int(1..84)] of int(4..10) +find r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Marker: int(0..84) +find r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_1: matrix indexed by [int(1..84)] of int(1..3) +find r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_2_Occurrence: + matrix indexed by [int(1..84), int(2..3)] of bool +find r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_3: matrix indexed by [int(1..84)] of int(4..10) +branching on + [r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Marker, r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_1, + r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_2_Occurrence, + r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_3, r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Marker, + r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_1, + r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_2_ExplicitVarSizeWithDummy, + r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_3] +such that + and([q36 <= r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Marker -> + or([and([a_RelationAsSetR6_ExplicitR6_1[q38] = r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_1[q36], + and([or([r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_2_ExplicitVarSizeWithDummy[q36, q42] != + 4 + /\ + r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_2_ExplicitVarSizeWithDummy[q36, q42] = + a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy[q38, q40] + | q42 : int(1..2)]) + | q40 : int(1..fin2), + a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy[q38, q40] != 4]) + /\ + and([r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_2_ExplicitVarSizeWithDummy[q36, q44] != 4 -> + or([a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy[q38, q46] = + r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_2_ExplicitVarSizeWithDummy[q36, q44] + | q46 : int(1..fin2), + a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy[q38, q46] != 4]) + | q44 : int(1..2)]), + a_RelationAsSetR6_ExplicitR6_3[q38] = r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_3[q36]; + int(1..3)]) + | q38 : int(1..fin1)]) + | q36 : int(1..84)]), + and([or([q49 <= r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Marker /\ + and([r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_1[q49] = a_RelationAsSetR6_ExplicitR6_1[q47], + and([r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_2_ExplicitVarSizeWithDummy[q49, q51] != 4 -> + or([a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy[q47, q53] = + r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_2_ExplicitVarSizeWithDummy[q49, q51] + | q53 : int(1..fin2), + a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy[q47, q53] != 4]) + | q51 : int(1..2)]) + /\ + and([or([r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_2_ExplicitVarSizeWithDummy[q49, q57] != + 4 + /\ + r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_2_ExplicitVarSizeWithDummy[q49, q57] = + a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy[q47, q55] + | q57 : int(1..2)]) + | q55 : int(1..fin2), + a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy[q47, q55] != 4]), + r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_3[q49] = a_RelationAsSetR6_ExplicitR6_3[q47]; + int(1..3)]) + | q49 : int(1..84)]) + | q47 : int(1..fin1)]), + r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Marker = fin1, + and([q1 + 1 <= r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Marker -> + flatten([[r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_1[q1]; int(1)], + [r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_2_ExplicitVarSizeWithDummy[q1, q8] + | q8 : int(1..2)], + [r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_3[q1]; int(1)]; + int(1..3)]) + r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Marker -> + and([r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_1[q2] = 1, + and([r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_2_ExplicitVarSizeWithDummy[q2, q10] = 2 + | q10 : int(1..2)]), + r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_3[q2] = 4; + int(1..3)]) + | q2 : int(1..84)]), + and([q3 <= r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Marker -> + r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_2_ExplicitVarSizeWithDummy[q3, 1] < + r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_2_ExplicitVarSizeWithDummy[q3, 2] + \/ r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_2_ExplicitVarSizeWithDummy[q3, 1] = 4 + | q3 : int(1..84)]), + and([q3 <= r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Marker -> + (r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_2_ExplicitVarSizeWithDummy[q3, 1] = 4 -> + r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_2_ExplicitVarSizeWithDummy[q3, 2] = 4) + | q3 : int(1..84)]), + and([q11 + 1 <= r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Marker -> + flatten([[r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_1[q11]; int(1)], + [-toInt(r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_2_Occurrence[q11, q15]) + | q15 : int(2..3)], + [r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_3[q11]; int(1)]; + int(1..3)]) + r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Marker -> + and([r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_1[q12] = 1, + and([r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_2_Occurrence[q12, q17] = false + | q17 : int(2..3)]), + r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_3[q12] = 4; + int(1..3)]) + | q12 : int(1..84)]), + and([q19 <= r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Marker -> + or([q21 <= r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Marker /\ + and([r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_1[q21] = + r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_1[q19], + and([r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_2_ExplicitVarSizeWithDummy[q21, q23] != 4 -> + r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_2_Occurrence + [q19, + r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_2_ExplicitVarSizeWithDummy[q21, q23]] + | q23 : int(1..2)]) + /\ + and([r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_2_Occurrence[q19, q24] -> + or([r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_2_ExplicitVarSizeWithDummy[q21, q26] != + 4 + /\ + r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_2_ExplicitVarSizeWithDummy[q21, q26] = + q24 | q26 : int(1..2)]) + | q24 : int(2..3)]), + r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_3[q21] = + r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_3[q19]; + int(1..3)]) + | q21 : int(1..84)]) + | q19 : int(1..84)]), + and([q27 <= r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Marker -> + or([q29 <= r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Marker /\ + and([r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_1[q29] = + r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_1[q27], + and([r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_2_Occurrence[q29, q30] -> + or([r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_2_ExplicitVarSizeWithDummy[q27, q32] != + 4 + /\ + r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_2_ExplicitVarSizeWithDummy[q27, q32] = + q30 | q32 : int(1..2)]) + | q30 : int(2..3)]) + /\ + and([r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_2_ExplicitVarSizeWithDummy[q27, q34] != 4 -> + r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_2_Occurrence + [q29, + r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_2_ExplicitVarSizeWithDummy[q27, q34]] + | q34 : int(1..2)]), + r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_3[q29] = + r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_3[q27]; + int(1..3)]) + | q29 : int(1..84)]) + | q27 : int(1..84)]), + r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Marker = r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Marker + diff --git a/tests/exhaustive/basic/relation04_param/expected/model_2_2-param4-solution000001.solution b/tests/exhaustive/basic/relation04_param/expected/model_2_2-param4-solution000001.solution new file mode 100644 index 0000000000..547e6d2e7e --- /dev/null +++ b/tests/exhaustive/basic/relation04_param/expected/model_2_2-param4-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting r be relation((3, {2}, 6), (3, {3}, 9)) diff --git a/tests/exhaustive/basic/relation04_param/expected/model_2_2-param4.eprime-param b/tests/exhaustive/basic/relation04_param/expected/model_2_2-param4.eprime-param new file mode 100644 index 0000000000..87708d95a4 --- /dev/null +++ b/tests/exhaustive/basic/relation04_param/expected/model_2_2-param4.eprime-param @@ -0,0 +1,11 @@ +language ESSENCE' 1.0 + +letting a_RelationAsSetR6_ExplicitR6_1 be [3, 3; int(1..2)] +letting a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy be [[2; int(1)], [3; int(1)]; int(1..2)] +$ Visualisation for a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy +$ 2 +$ 3 + +letting a_RelationAsSetR6_ExplicitR6_3 be [6, 9; int(1..2)] +letting fin1 be 2 +letting fin2 be 1 diff --git a/tests/exhaustive/basic/relation04_param/expected/model_2_2.eprime b/tests/exhaustive/basic/relation04_param/expected/model_2_2.eprime new file mode 100644 index 0000000000..bda11c6f36 --- /dev/null +++ b/tests/exhaustive/basic/relation04_param/expected/model_2_2.eprime @@ -0,0 +1,91 @@ +language ESSENCE' 1.0 + +given fin1: int +given fin2: int +given a_RelationAsSetR6_ExplicitR6_1: matrix indexed by [int(1..fin1)] of int(1..3) +given a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy: + matrix indexed by [int(1..fin1), int(1..fin2)] of int(2..4) +given a_RelationAsSetR6_ExplicitR6_3: matrix indexed by [int(1..fin1)] of int(4..10) +find r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Marker: int(0..84) +find r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_1: matrix indexed by [int(1..84)] of int(1..3) +find r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_2_ExplicitVarSizeWithDummy: + matrix indexed by [int(1..84), int(1..2)] of int(2..4) +find r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_3: matrix indexed by [int(1..84)] of int(4..10) +branching on + [r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Marker, r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_1, + r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_2_ExplicitVarSizeWithDummy, + r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_3] +such that + and([q12 <= r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Marker -> + or([and([a_RelationAsSetR6_ExplicitR6_1[q14] = r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_1[q12], + and([or([r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_2_ExplicitVarSizeWithDummy[q12, q18] != + 4 + /\ + r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_2_ExplicitVarSizeWithDummy[q12, q18] = + a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy[q14, q16] + | q18 : int(1..2)]) + | q16 : int(1..fin2), + a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy[q14, q16] != 4]) + /\ + and([r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_2_ExplicitVarSizeWithDummy[q12, q20] != 4 -> + or([a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy[q14, q22] = + r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_2_ExplicitVarSizeWithDummy[q12, q20] + | q22 : int(1..fin2), + a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy[q14, q22] != 4]) + | q20 : int(1..2)]), + a_RelationAsSetR6_ExplicitR6_3[q14] = r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_3[q12]; + int(1..3)]) + | q14 : int(1..fin1)]) + | q12 : int(1..84)]), + and([or([q25 <= r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Marker /\ + and([r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_1[q25] = a_RelationAsSetR6_ExplicitR6_1[q23], + and([r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_2_ExplicitVarSizeWithDummy[q25, q27] != 4 -> + or([a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy[q23, q29] = + r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_2_ExplicitVarSizeWithDummy[q25, q27] + | q29 : int(1..fin2), + a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy[q23, q29] != 4]) + | q27 : int(1..2)]) + /\ + and([or([r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_2_ExplicitVarSizeWithDummy[q25, q33] != + 4 + /\ + r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_2_ExplicitVarSizeWithDummy[q25, q33] = + a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy[q23, q31] + | q33 : int(1..2)]) + | q31 : int(1..fin2), + a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy[q23, q31] != 4]), + r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_3[q25] = a_RelationAsSetR6_ExplicitR6_3[q23]; + int(1..3)]) + | q25 : int(1..84)]) + | q23 : int(1..fin1)]), + r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Marker = fin1, + and([q1 + 1 <= r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Marker -> + flatten([[r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_1[q1]; int(1)], + [r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_2_ExplicitVarSizeWithDummy[q1, q8] + | q8 : int(1..2)], + [r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_3[q1]; int(1)]; + int(1..3)]) + r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Marker -> + and([r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_1[q2] = 1, + and([r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_2_ExplicitVarSizeWithDummy[q2, q10] = 2 + | q10 : int(1..2)]), + r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_3[q2] = 4; + int(1..3)]) + | q2 : int(1..84)]), + and([q3 <= r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Marker -> + r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_2_ExplicitVarSizeWithDummy[q3, 1] < + r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_2_ExplicitVarSizeWithDummy[q3, 2] + \/ r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_2_ExplicitVarSizeWithDummy[q3, 1] = 4 + | q3 : int(1..84)]), + and([q3 <= r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Marker -> + (r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_2_ExplicitVarSizeWithDummy[q3, 1] = 4 -> + r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_2_ExplicitVarSizeWithDummy[q3, 2] = 4) + | q3 : int(1..84)]) + diff --git a/tests/exhaustive/basic/relation04_param/expected/model_2_3-param4-solution000001.solution b/tests/exhaustive/basic/relation04_param/expected/model_2_3-param4-solution000001.solution new file mode 100644 index 0000000000..547e6d2e7e --- /dev/null +++ b/tests/exhaustive/basic/relation04_param/expected/model_2_3-param4-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting r be relation((3, {2}, 6), (3, {3}, 9)) diff --git a/tests/exhaustive/basic/relation04_param/expected/model_2_3-param4.eprime-param b/tests/exhaustive/basic/relation04_param/expected/model_2_3-param4.eprime-param new file mode 100644 index 0000000000..87708d95a4 --- /dev/null +++ b/tests/exhaustive/basic/relation04_param/expected/model_2_3-param4.eprime-param @@ -0,0 +1,11 @@ +language ESSENCE' 1.0 + +letting a_RelationAsSetR6_ExplicitR6_1 be [3, 3; int(1..2)] +letting a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy be [[2; int(1)], [3; int(1)]; int(1..2)] +$ Visualisation for a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy +$ 2 +$ 3 + +letting a_RelationAsSetR6_ExplicitR6_3 be [6, 9; int(1..2)] +letting fin1 be 2 +letting fin2 be 1 diff --git a/tests/exhaustive/basic/relation04_param/expected/model_2_3.eprime.orig b/tests/exhaustive/basic/relation04_param/expected/model_2_3.eprime.orig deleted file mode 100644 index a73716ba56..0000000000 --- a/tests/exhaustive/basic/relation04_param/expected/model_2_3.eprime.orig +++ /dev/null @@ -1,204 +0,0 @@ -language ESSENCE' 1.0 - -given fin1: int -given fin2: int -given a_RelationAsSetR6_ExplicitR6_1: matrix indexed by [int(1..fin1)] of int(1..3) -given a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy: - matrix indexed by [int(1..fin1), int(1..fin2)] of int(2..4) -given a_RelationAsSetR6_ExplicitR6_3: matrix indexed by [int(1..fin1)] of int(4..10) -find r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Marker: int(0..84) -find r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_1: matrix indexed by [int(1..84)] of int(1..3) -find r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_2_ExplicitVarSizeWithDummy: - matrix indexed by [int(1..84), int(1..2)] of int(2..4) -find r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_3: matrix indexed by [int(1..84)] of int(4..10) -find r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Marker: int(0..84) -find r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_1: matrix indexed by [int(1..84)] of int(1..3) -find r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Marker: - matrix indexed by [int(1..84)] of int(0..2) -find r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Values: - matrix indexed by [int(1..84), int(1..2)] of int(2..3) -find r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_3: matrix indexed by [int(1..84)] of int(4..10) -branching on - [r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Marker, r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_1, - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Marker, - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Values, - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_3, r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Marker, - r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_1, - r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_2_ExplicitVarSizeWithDummy, - r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_3] -such that - and([q44 <= r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Marker -> - or([and([a_RelationAsSetR6_ExplicitR6_1[q46] = r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_1[q44], - and([or([r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_2_ExplicitVarSizeWithDummy[q44, q50] != - 4 - /\ - r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_2_ExplicitVarSizeWithDummy[q44, q50] = - a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy[q46, q48] - | q50 : int(1..2)]) - | q48 : int(1..fin2), - a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy[q46, q48] != 4]) - /\ - and([r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_2_ExplicitVarSizeWithDummy[q44, q52] != 4 -> - or([a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy[q46, q54] = - r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_2_ExplicitVarSizeWithDummy[q44, q52] - | q54 : int(1..fin2), - a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy[q46, q54] != 4]) - | q52 : int(1..2)]), - a_RelationAsSetR6_ExplicitR6_3[q46] = r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_3[q44]; - int(1..3)]) - | q46 : int(1..fin1)]) - | q44 : int(1..84)]), - and([or([q57 <= r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Marker /\ - and([r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_1[q57] = a_RelationAsSetR6_ExplicitR6_1[q55], - and([r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_2_ExplicitVarSizeWithDummy[q57, q59] != 4 -> - or([a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy[q55, q61] = - r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_2_ExplicitVarSizeWithDummy[q57, q59] - | q61 : int(1..fin2), - a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy[q55, q61] != 4]) - | q59 : int(1..2)]) - /\ - and([or([r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_2_ExplicitVarSizeWithDummy[q57, q65] != - 4 - /\ - r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_2_ExplicitVarSizeWithDummy[q57, q65] = - a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy[q55, q63] - | q65 : int(1..2)]) - | q63 : int(1..fin2), - a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy[q55, q63] != 4]), - r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_3[q57] = a_RelationAsSetR6_ExplicitR6_3[q55]; - int(1..3)]) - | q57 : int(1..84)]) - | q55 : int(1..fin1)]), - r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Marker = fin1, - and([q1 + 1 <= r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Marker -> - flatten([[r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_1[q1]; int(1)], - [r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_2_ExplicitVarSizeWithDummy[q1, q8] - | q8 : int(1..2)], - [r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_3[q1]; int(1)]; - int(1..3)]) - r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Marker -> - and([r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_1[q2] = 1, - and([r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_2_ExplicitVarSizeWithDummy[q2, q10] = 2 - | q10 : int(1..2)]), - r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_3[q2] = 4; - int(1..3)]) - | q2 : int(1..84)]), - and([q3 <= r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Marker -> - r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_2_ExplicitVarSizeWithDummy[q3, 1] < - r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_2_ExplicitVarSizeWithDummy[q3, 2] - \/ r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_2_ExplicitVarSizeWithDummy[q3, 1] = 4 - | q3 : int(1..84)]), - and([q3 <= r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Marker -> - (r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_2_ExplicitVarSizeWithDummy[q3, 1] = 4 -> - r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_2_ExplicitVarSizeWithDummy[q3, 2] = 4) - | q3 : int(1..84)]), - and([q11 + 1 <= r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Marker -> - flatten([[r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_1[q11]; int(1)], - flatten([[r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Marker - [q11]; - int(1)], - [r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Values - [q11, q17] - | q17 : int(1..2)]; - int(1..2)]), - [r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_3[q11]; int(1)]; - int(1..3)]) - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Marker -> - and([r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_1[q12] = 1, - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Marker[q12] = 0 /\ - and([r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Values[q12, q19] = 2 - | q19 : int(1..2)]), - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_3[q12] = 4; - int(1..3)]) - | q12 : int(1..84)]), - and([q13 <= r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Marker -> - (2 <= r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Marker[q13] -> - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Values[q13, 1] < - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Values[q13, 2]) - | q13 : int(1..84)]), - and([q13 <= r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Marker -> - and([q15 > r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Marker[q13] -> - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Values[q13, q15] = 2 - | q15 : int(1..2)]) - | q13 : int(1..84)]), - and([q21 <= r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Marker -> - or([q23 <= r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Marker /\ - and([r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_1[q23] = - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_1[q21], - and([r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_2_ExplicitVarSizeWithDummy[q23, q25] != 4 -> - or([q27 <= - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Marker[q21] - /\ - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Values - [q21, q27] - = r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_2_ExplicitVarSizeWithDummy[q23, q25] - | q27 : int(1..2)]) - | q25 : int(1..2)]) - /\ - and([q29 <= - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Marker[q21] - -> - or([r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_2_ExplicitVarSizeWithDummy[q23, q31] != - 4 - /\ - r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_2_ExplicitVarSizeWithDummy[q23, q31] = - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Values - [q21, q29] - | q31 : int(1..2)]) - | q29 : int(1..2)]), - r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_3[q23] = - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_3[q21]; - int(1..3)]) - | q23 : int(1..84)]) - | q21 : int(1..84)]), - and([q32 <= r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Marker -> - or([q34 <= r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Marker /\ - and([r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_1[q34] = - r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_1[q32], - and([q36 <= - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Marker[q34] - -> - or([r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_2_ExplicitVarSizeWithDummy[q32, q38] != - 4 - /\ - r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_2_ExplicitVarSizeWithDummy[q32, q38] = - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Values - [q34, q36] - | q38 : int(1..2)]) - | q36 : int(1..2)]) - /\ - and([r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_2_ExplicitVarSizeWithDummy[q32, q40] != 4 -> - or([q42 <= - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Marker[q34] - /\ - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Values - [q34, q42] - = r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_2_ExplicitVarSizeWithDummy[q32, q40] - | q42 : int(1..2)]) - | q40 : int(1..2)]), - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_3[q34] = - r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_3[q32]; - int(1..3)]) - | q34 : int(1..84)]) - | q32 : int(1..84)]), - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Marker = r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Marker - diff --git a/tests/exhaustive/basic/relation04_param/expected/model_2_4-param4-solution000001.solution b/tests/exhaustive/basic/relation04_param/expected/model_2_4-param4-solution000001.solution new file mode 100644 index 0000000000..547e6d2e7e --- /dev/null +++ b/tests/exhaustive/basic/relation04_param/expected/model_2_4-param4-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting r be relation((3, {2}, 6), (3, {3}, 9)) diff --git a/tests/exhaustive/basic/relation04_param/expected/model_2_4-param4.eprime-param b/tests/exhaustive/basic/relation04_param/expected/model_2_4-param4.eprime-param new file mode 100644 index 0000000000..87708d95a4 --- /dev/null +++ b/tests/exhaustive/basic/relation04_param/expected/model_2_4-param4.eprime-param @@ -0,0 +1,11 @@ +language ESSENCE' 1.0 + +letting a_RelationAsSetR6_ExplicitR6_1 be [3, 3; int(1..2)] +letting a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy be [[2; int(1)], [3; int(1)]; int(1..2)] +$ Visualisation for a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy +$ 2 +$ 3 + +letting a_RelationAsSetR6_ExplicitR6_3 be [6, 9; int(1..2)] +letting fin1 be 2 +letting fin2 be 1 diff --git a/tests/exhaustive/basic/relation04_param/expected/model_2_4.eprime b/tests/exhaustive/basic/relation04_param/expected/model_2_4.eprime new file mode 100644 index 0000000000..9f13f2adc7 --- /dev/null +++ b/tests/exhaustive/basic/relation04_param/expected/model_2_4.eprime @@ -0,0 +1,211 @@ +language ESSENCE' 1.0 + +given fin1: int +given fin2: int +given a_RelationAsSetR6_ExplicitR6_1: matrix indexed by [int(1..fin1)] of int(1..3) +given a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy: + matrix indexed by [int(1..fin1), int(1..fin2)] of int(2..4) +given a_RelationAsSetR6_ExplicitR6_3: matrix indexed by [int(1..fin1)] of int(4..10) +find r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Marker: int(0..84) +find r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_1: matrix indexed by [int(1..84)] of int(1..3) +find r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_2_ExplicitVarSizeWithDummy: + matrix indexed by [int(1..84), int(1..2)] of int(2..4) +find r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_3: matrix indexed by [int(1..84)] of int(4..10) +find r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Marker: int(0..84) +find r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_1: matrix indexed by [int(1..84)] of int(1..3) +find r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Flags: + matrix indexed by [int(1..84), int(1..2)] of bool +find r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Values: + matrix indexed by [int(1..84), int(1..2)] of int(2..3) +find r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_3: matrix indexed by [int(1..84)] of int(4..10) +branching on + [r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Marker, r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_1, + r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Flags, + r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Values, + r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_3, r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Marker, + r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_1, + r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_2_ExplicitVarSizeWithDummy, + r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_3] +such that + and([q47 <= r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Marker -> + or([and([a_RelationAsSetR6_ExplicitR6_1[q49] = r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_1[q47], + and([or([r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_2_ExplicitVarSizeWithDummy[q47, q53] != + 4 + /\ + r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_2_ExplicitVarSizeWithDummy[q47, q53] = + a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy[q49, q51] + | q53 : int(1..2)]) + | q51 : int(1..fin2), + a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy[q49, q51] != 4]) + /\ + and([r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_2_ExplicitVarSizeWithDummy[q47, q55] != 4 -> + or([a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy[q49, q57] = + r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_2_ExplicitVarSizeWithDummy[q47, q55] + | q57 : int(1..fin2), + a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy[q49, q57] != 4]) + | q55 : int(1..2)]), + a_RelationAsSetR6_ExplicitR6_3[q49] = r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_3[q47]; + int(1..3)]) + | q49 : int(1..fin1)]) + | q47 : int(1..84)]), + and([or([q60 <= r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Marker /\ + and([r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_1[q60] = a_RelationAsSetR6_ExplicitR6_1[q58], + and([r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_2_ExplicitVarSizeWithDummy[q60, q62] != 4 -> + or([a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy[q58, q64] = + r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_2_ExplicitVarSizeWithDummy[q60, q62] + | q64 : int(1..fin2), + a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy[q58, q64] != 4]) + | q62 : int(1..2)]) + /\ + and([or([r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_2_ExplicitVarSizeWithDummy[q60, q68] != + 4 + /\ + r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_2_ExplicitVarSizeWithDummy[q60, q68] = + a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy[q58, q66] + | q68 : int(1..2)]) + | q66 : int(1..fin2), + a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy[q58, q66] != 4]), + r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_3[q60] = a_RelationAsSetR6_ExplicitR6_3[q58]; + int(1..3)]) + | q60 : int(1..84)]) + | q58 : int(1..fin1)]), + r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Marker = fin1, + and([q1 + 1 <= r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Marker -> + flatten([[r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_1[q1]; int(1)], + [r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_2_ExplicitVarSizeWithDummy[q1, q8] + | q8 : int(1..2)], + [r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_3[q1]; int(1)]; + int(1..3)]) + r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Marker -> + and([r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_1[q2] = 1, + and([r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_2_ExplicitVarSizeWithDummy[q2, q10] = 2 + | q10 : int(1..2)]), + r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_3[q2] = 4; + int(1..3)]) + | q2 : int(1..84)]), + and([q3 <= r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Marker -> + r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_2_ExplicitVarSizeWithDummy[q3, 1] < + r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_2_ExplicitVarSizeWithDummy[q3, 2] + \/ r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_2_ExplicitVarSizeWithDummy[q3, 1] = 4 + | q3 : int(1..84)]), + and([q3 <= r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Marker -> + (r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_2_ExplicitVarSizeWithDummy[q3, 1] = 4 -> + r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_2_ExplicitVarSizeWithDummy[q3, 2] = 4) + | q3 : int(1..84)]), + and([q11 + 1 <= r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Marker -> + flatten([[r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_1[q11]; int(1)], + flatten([flatten([[-toInt(r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Flags + [q11, q19]); + int(1)], + [r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Values + [q11, q19]; + int(1)]; + int(1..2)]) + | q19 : int(1..2)]), + [r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_3[q11]; int(1)]; + int(1..3)]) + r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Marker -> + and([r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_1[q12] = 1, + and([r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Flags[q12, q21] = + false + | q21 : int(1..2)]) + /\ + and([r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Values[q12, q22] = 2 + | q22 : int(1..2)]), + r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_3[q12] = 4; + int(1..3)]) + | q12 : int(1..84)]), + and([q13 <= r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Marker -> + (r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Flags[q13, 2] -> + r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Values[q13, 1] < + r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Values[q13, 2]) + | q13 : int(1..84)]), + and([q13 <= r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Marker -> + and([r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Flags[q13, q15] = false -> + r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Values[q13, q15] = 2 + | q15 : int(1..2)]) + | q13 : int(1..84)]), + and([q13 <= r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Marker -> + (r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Flags[q13, 2] -> + r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Flags[q13, 1]) + | q13 : int(1..84)]), + and([q24 <= r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Marker -> + or([q26 <= r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Marker /\ + and([r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_1[q26] = + r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_1[q24], + and([r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_2_ExplicitVarSizeWithDummy[q26, q28] != 4 -> + or([r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Flags + [q24, q30] + /\ + r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Values + [q24, q30] + = r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_2_ExplicitVarSizeWithDummy[q26, q28] + | q30 : int(1..2)]) + | q28 : int(1..2)]) + /\ + and([r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Flags[q24, q32] + -> + or([r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_2_ExplicitVarSizeWithDummy[q26, q34] != + 4 + /\ + r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_2_ExplicitVarSizeWithDummy[q26, q34] = + r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Values + [q24, q32] + | q34 : int(1..2)]) + | q32 : int(1..2)]), + r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_3[q26] = + r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_3[q24]; + int(1..3)]) + | q26 : int(1..84)]) + | q24 : int(1..84)]), + and([q35 <= r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Marker -> + or([q37 <= r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Marker /\ + and([r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_1[q37] = + r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_1[q35], + and([r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Flags[q37, q39] + -> + or([r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_2_ExplicitVarSizeWithDummy[q35, q41] != + 4 + /\ + r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_2_ExplicitVarSizeWithDummy[q35, q41] = + r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Values + [q37, q39] + | q41 : int(1..2)]) + | q39 : int(1..2)]) + /\ + and([r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_2_ExplicitVarSizeWithDummy[q35, q43] != 4 -> + or([r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Flags + [q37, q45] + /\ + r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Values + [q37, q45] + = r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_2_ExplicitVarSizeWithDummy[q35, q43] + | q45 : int(1..2)]) + | q43 : int(1..2)]), + r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_3[q37] = + r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_3[q35]; + int(1..3)]) + | q37 : int(1..84)]) + | q35 : int(1..84)]), + r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Marker = r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Marker + diff --git a/tests/exhaustive/basic/relation04_param/expected/model_3_1-param4-solution000001.solution b/tests/exhaustive/basic/relation04_param/expected/model_3_1-param4-solution000001.solution new file mode 100644 index 0000000000..547e6d2e7e --- /dev/null +++ b/tests/exhaustive/basic/relation04_param/expected/model_3_1-param4-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting r be relation((3, {2}, 6), (3, {3}, 9)) diff --git a/tests/exhaustive/basic/relation04_param/expected/model_3_1-param4.eprime-param b/tests/exhaustive/basic/relation04_param/expected/model_3_1-param4.eprime-param new file mode 100644 index 0000000000..87708d95a4 --- /dev/null +++ b/tests/exhaustive/basic/relation04_param/expected/model_3_1-param4.eprime-param @@ -0,0 +1,11 @@ +language ESSENCE' 1.0 + +letting a_RelationAsSetR6_ExplicitR6_1 be [3, 3; int(1..2)] +letting a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy be [[2; int(1)], [3; int(1)]; int(1..2)] +$ Visualisation for a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy +$ 2 +$ 3 + +letting a_RelationAsSetR6_ExplicitR6_3 be [6, 9; int(1..2)] +letting fin1 be 2 +letting fin2 be 1 diff --git a/tests/exhaustive/basic/relation04_param/expected/model_3_1.eprime.orig b/tests/exhaustive/basic/relation04_param/expected/model_3_1.eprime.orig deleted file mode 100644 index e8bce5f5e1..0000000000 --- a/tests/exhaustive/basic/relation04_param/expected/model_3_1.eprime.orig +++ /dev/null @@ -1,196 +0,0 @@ -language ESSENCE' 1.0 - -given fin1: int -given fin2: int -given a_RelationAsSetR6_ExplicitR6_1: matrix indexed by [int(1..fin1)] of int(1..3) -given a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy: - matrix indexed by [int(1..fin1), int(1..fin2)] of int(2..4) -given a_RelationAsSetR6_ExplicitR6_3: matrix indexed by [int(1..fin1)] of int(4..10) -find r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Marker: int(0..84) -find r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_1: matrix indexed by [int(1..84)] of int(1..3) -find r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Marker: - matrix indexed by [int(1..84)] of int(0..2) -find r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Values: - matrix indexed by [int(1..84), int(1..2)] of int(2..3) -find r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_3: matrix indexed by [int(1..84)] of int(4..10) -find r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Marker: int(0..84) -find r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_1: matrix indexed by [int(1..84)] of int(1..3) -find r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_2_Occurrence: - matrix indexed by [int(1..84), int(2..3)] of bool -find r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_3: matrix indexed by [int(1..84)] of int(4..10) -branching on - [r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Marker, r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_1, - r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_2_Occurrence, - r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_3, r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Marker, - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_1, - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Marker, - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Values, - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_3] -such that - and([q35 <= r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Marker -> - or([and([a_RelationAsSetR6_ExplicitR6_1[q37] = r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_1[q35], - and([or([q41 <= - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Marker[q35] - /\ - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Values - [q35, q41] - = a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy[q37, q39] - | q41 : int(1..2)]) - | q39 : int(1..fin2), - a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy[q37, q39] != 4]) - /\ - and([q43 <= - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Marker[q35] - -> - or([a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy[q37, q45] = - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Values - [q35, q43] - | q45 : int(1..fin2), - a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy[q37, q45] != 4]) - | q43 : int(1..2)]), - a_RelationAsSetR6_ExplicitR6_3[q37] = r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_3[q35]; - int(1..3)]) - | q37 : int(1..fin1)]) - | q35 : int(1..84)]), - and([or([q48 <= r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Marker /\ - and([r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_1[q48] = a_RelationAsSetR6_ExplicitR6_1[q46], - and([q50 <= - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Marker[q48] - -> - or([a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy[q46, q52] = - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Values - [q48, q50] - | q52 : int(1..fin2), - a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy[q46, q52] != 4]) - | q50 : int(1..2)]) - /\ - and([or([q56 <= - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Marker[q48] - /\ - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Values - [q48, q56] - = a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy[q46, q54] - | q56 : int(1..2)]) - | q54 : int(1..fin2), - a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy[q46, q54] != 4]), - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_3[q48] = a_RelationAsSetR6_ExplicitR6_3[q46]; - int(1..3)]) - | q48 : int(1..84)]) - | q46 : int(1..fin1)]), - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Marker = fin1, - and([q1 + 1 <= r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Marker -> - flatten([[r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_1[q1]; int(1)], - flatten([[r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Marker[q1]; - int(1)], - [r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Values - [q1, q7] - | q7 : int(1..2)]; - int(1..2)]), - [r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_3[q1]; int(1)]; - int(1..3)]) - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Marker -> - and([r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_1[q2] = 1, - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Marker[q2] = 0 /\ - and([r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Values[q2, q9] = 2 - | q9 : int(1..2)]), - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_3[q2] = 4; - int(1..3)]) - | q2 : int(1..84)]), - and([q3 <= r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Marker -> - (2 <= r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Marker[q3] -> - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Values[q3, 1] < - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Values[q3, 2]) - | q3 : int(1..84)]), - and([q3 <= r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Marker -> - and([q5 > r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Marker[q3] -> - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Values[q3, q5] = 2 - | q5 : int(1..2)]) - | q3 : int(1..84)]), - and([q10 + 1 <= r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Marker -> - flatten([[r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_1[q10]; int(1)], - [-toInt(r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_2_Occurrence[q10, q14]) - | q14 : int(2..3)], - [r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_3[q10]; int(1)]; - int(1..3)]) - r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Marker -> - and([r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_1[q11] = 1, - and([r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_2_Occurrence[q11, q16] = false - | q16 : int(2..3)]), - r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_3[q11] = 4; - int(1..3)]) - | q11 : int(1..84)]), - and([q18 <= r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Marker -> - or([q20 <= r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Marker /\ - and([r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_1[q20] = - r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_1[q18], - and([q22 <= - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Marker[q20] - -> - r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_2_Occurrence - [q18, - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Values - [q20, q22]] - | q22 : int(1..2)]) - /\ - and([r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_2_Occurrence[q18, q23] -> - or([q25 <= - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Marker[q20] - /\ - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Values - [q20, q25] - = q23 - | q25 : int(1..2)]) - | q23 : int(2..3)]), - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_3[q20] = - r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_3[q18]; - int(1..3)]) - | q20 : int(1..84)]) - | q18 : int(1..84)]), - and([q26 <= r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Marker -> - or([q28 <= r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Marker /\ - and([r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_1[q28] = - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_1[q26], - and([r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_2_Occurrence[q28, q29] -> - or([q31 <= - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Marker[q26] - /\ - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Values - [q26, q31] - = q29 - | q31 : int(1..2)]) - | q29 : int(2..3)]) - /\ - and([q33 <= - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Marker[q26] - -> - r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_2_Occurrence - [q28, - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Values - [q26, q33]] - | q33 : int(1..2)]), - r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_3[q28] = - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_3[q26]; - int(1..3)]) - | q28 : int(1..84)]) - | q26 : int(1..84)]), - r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Marker = r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Marker - diff --git a/tests/exhaustive/basic/relation04_param/expected/model_3_2-param4-solution000001.solution b/tests/exhaustive/basic/relation04_param/expected/model_3_2-param4-solution000001.solution new file mode 100644 index 0000000000..547e6d2e7e --- /dev/null +++ b/tests/exhaustive/basic/relation04_param/expected/model_3_2-param4-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting r be relation((3, {2}, 6), (3, {3}, 9)) diff --git a/tests/exhaustive/basic/relation04_param/expected/model_3_2-param4.eprime-param b/tests/exhaustive/basic/relation04_param/expected/model_3_2-param4.eprime-param new file mode 100644 index 0000000000..87708d95a4 --- /dev/null +++ b/tests/exhaustive/basic/relation04_param/expected/model_3_2-param4.eprime-param @@ -0,0 +1,11 @@ +language ESSENCE' 1.0 + +letting a_RelationAsSetR6_ExplicitR6_1 be [3, 3; int(1..2)] +letting a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy be [[2; int(1)], [3; int(1)]; int(1..2)] +$ Visualisation for a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy +$ 2 +$ 3 + +letting a_RelationAsSetR6_ExplicitR6_3 be [6, 9; int(1..2)] +letting fin1 be 2 +letting fin2 be 1 diff --git a/tests/exhaustive/basic/relation04_param/expected/model_3_2.eprime.orig b/tests/exhaustive/basic/relation04_param/expected/model_3_2.eprime.orig deleted file mode 100644 index a248f3fbe6..0000000000 --- a/tests/exhaustive/basic/relation04_param/expected/model_3_2.eprime.orig +++ /dev/null @@ -1,211 +0,0 @@ -language ESSENCE' 1.0 - -given fin1: int -given fin2: int -given a_RelationAsSetR6_ExplicitR6_1: matrix indexed by [int(1..fin1)] of int(1..3) -given a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy: - matrix indexed by [int(1..fin1), int(1..fin2)] of int(2..4) -given a_RelationAsSetR6_ExplicitR6_3: matrix indexed by [int(1..fin1)] of int(4..10) -find r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Marker: int(0..84) -find r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_1: matrix indexed by [int(1..84)] of int(1..3) -find r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Marker: - matrix indexed by [int(1..84)] of int(0..2) -find r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Values: - matrix indexed by [int(1..84), int(1..2)] of int(2..3) -find r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_3: matrix indexed by [int(1..84)] of int(4..10) -find r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Marker: int(0..84) -find r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_1: matrix indexed by [int(1..84)] of int(1..3) -find r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_2_ExplicitVarSizeWithDummy: - matrix indexed by [int(1..84), int(1..2)] of int(2..4) -find r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_3: matrix indexed by [int(1..84)] of int(4..10) -branching on - [r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Marker, r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_1, - r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_2_ExplicitVarSizeWithDummy, - r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_3, r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Marker, - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_1, - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Marker, - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Values, - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_3] -such that - and([q44 <= r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Marker -> - or([and([a_RelationAsSetR6_ExplicitR6_1[q46] = r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_1[q44], - and([or([q50 <= - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Marker[q44] - /\ - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Values - [q44, q50] - = a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy[q46, q48] - | q50 : int(1..2)]) - | q48 : int(1..fin2), - a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy[q46, q48] != 4]) - /\ - and([q52 <= - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Marker[q44] - -> - or([a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy[q46, q54] = - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Values - [q44, q52] - | q54 : int(1..fin2), - a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy[q46, q54] != 4]) - | q52 : int(1..2)]), - a_RelationAsSetR6_ExplicitR6_3[q46] = r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_3[q44]; - int(1..3)]) - | q46 : int(1..fin1)]) - | q44 : int(1..84)]), - and([or([q57 <= r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Marker /\ - and([r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_1[q57] = a_RelationAsSetR6_ExplicitR6_1[q55], - and([q59 <= - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Marker[q57] - -> - or([a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy[q55, q61] = - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Values - [q57, q59] - | q61 : int(1..fin2), - a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy[q55, q61] != 4]) - | q59 : int(1..2)]) - /\ - and([or([q65 <= - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Marker[q57] - /\ - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Values - [q57, q65] - = a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy[q55, q63] - | q65 : int(1..2)]) - | q63 : int(1..fin2), - a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy[q55, q63] != 4]), - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_3[q57] = a_RelationAsSetR6_ExplicitR6_3[q55]; - int(1..3)]) - | q57 : int(1..84)]) - | q55 : int(1..fin1)]), - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Marker = fin1, - and([q1 + 1 <= r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Marker -> - flatten([[r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_1[q1]; int(1)], - flatten([[r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Marker[q1]; - int(1)], - [r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Values - [q1, q7] - | q7 : int(1..2)]; - int(1..2)]), - [r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_3[q1]; int(1)]; - int(1..3)]) - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Marker -> - and([r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_1[q2] = 1, - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Marker[q2] = 0 /\ - and([r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Values[q2, q9] = 2 - | q9 : int(1..2)]), - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_3[q2] = 4; - int(1..3)]) - | q2 : int(1..84)]), - and([q3 <= r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Marker -> - (2 <= r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Marker[q3] -> - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Values[q3, 1] < - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Values[q3, 2]) - | q3 : int(1..84)]), - and([q3 <= r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Marker -> - and([q5 > r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Marker[q3] -> - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Values[q3, q5] = 2 - | q5 : int(1..2)]) - | q3 : int(1..84)]), - and([q10 + 1 <= r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Marker -> - flatten([[r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_1[q10]; int(1)], - [r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_2_ExplicitVarSizeWithDummy[q10, q17] - | q17 : int(1..2)], - [r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_3[q10]; int(1)]; - int(1..3)]) - r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Marker -> - and([r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_1[q11] = 1, - and([r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_2_ExplicitVarSizeWithDummy[q11, q19] = 2 - | q19 : int(1..2)]), - r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_3[q11] = 4; - int(1..3)]) - | q11 : int(1..84)]), - and([q12 <= r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Marker -> - r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_2_ExplicitVarSizeWithDummy[q12, 1] < - r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_2_ExplicitVarSizeWithDummy[q12, 2] - \/ r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_2_ExplicitVarSizeWithDummy[q12, 1] = 4 - | q12 : int(1..84)]), - and([q12 <= r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Marker -> - (r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_2_ExplicitVarSizeWithDummy[q12, 1] = 4 -> - r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_2_ExplicitVarSizeWithDummy[q12, 2] = 4) - | q12 : int(1..84)]), - and([q21 <= r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Marker -> - or([q23 <= r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Marker /\ - and([r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_1[q23] = - r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_1[q21], - and([q25 <= - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Marker[q23] - -> - or([r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_2_ExplicitVarSizeWithDummy[q21, q27] != - 4 - /\ - r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_2_ExplicitVarSizeWithDummy[q21, q27] = - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Values - [q23, q25] - | q27 : int(1..2)]) - | q25 : int(1..2)]) - /\ - and([r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_2_ExplicitVarSizeWithDummy[q21, q29] != 4 -> - or([q31 <= - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Marker[q23] - /\ - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Values - [q23, q31] - = r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_2_ExplicitVarSizeWithDummy[q21, q29] - | q31 : int(1..2)]) - | q29 : int(1..2)]), - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_3[q23] = - r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_3[q21]; - int(1..3)]) - | q23 : int(1..84)]) - | q21 : int(1..84)]), - and([q32 <= r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Marker -> - or([q34 <= r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Marker /\ - and([r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_1[q34] = - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_1[q32], - and([r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_2_ExplicitVarSizeWithDummy[q34, q36] != 4 -> - or([q38 <= - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Marker[q32] - /\ - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Values - [q32, q38] - = r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_2_ExplicitVarSizeWithDummy[q34, q36] - | q38 : int(1..2)]) - | q36 : int(1..2)]) - /\ - and([q40 <= - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Marker[q32] - -> - or([r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_2_ExplicitVarSizeWithDummy[q34, q42] != - 4 - /\ - r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_2_ExplicitVarSizeWithDummy[q34, q42] = - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Values - [q32, q40] - | q42 : int(1..2)]) - | q40 : int(1..2)]), - r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_3[q34] = - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_3[q32]; - int(1..3)]) - | q34 : int(1..84)]) - | q32 : int(1..84)]), - r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Marker = r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Marker - diff --git a/tests/exhaustive/basic/relation04_param/expected/model_3_3-param4-solution000001.solution b/tests/exhaustive/basic/relation04_param/expected/model_3_3-param4-solution000001.solution new file mode 100644 index 0000000000..547e6d2e7e --- /dev/null +++ b/tests/exhaustive/basic/relation04_param/expected/model_3_3-param4-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting r be relation((3, {2}, 6), (3, {3}, 9)) diff --git a/tests/exhaustive/basic/relation04_param/expected/model_3_3-param4.eprime-param b/tests/exhaustive/basic/relation04_param/expected/model_3_3-param4.eprime-param new file mode 100644 index 0000000000..87708d95a4 --- /dev/null +++ b/tests/exhaustive/basic/relation04_param/expected/model_3_3-param4.eprime-param @@ -0,0 +1,11 @@ +language ESSENCE' 1.0 + +letting a_RelationAsSetR6_ExplicitR6_1 be [3, 3; int(1..2)] +letting a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy be [[2; int(1)], [3; int(1)]; int(1..2)] +$ Visualisation for a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy +$ 2 +$ 3 + +letting a_RelationAsSetR6_ExplicitR6_3 be [6, 9; int(1..2)] +letting fin1 be 2 +letting fin2 be 1 diff --git a/tests/exhaustive/basic/relation04_param/expected/model_3_3.eprime.orig b/tests/exhaustive/basic/relation04_param/expected/model_3_3.eprime.orig deleted file mode 100644 index 54108a9243..0000000000 --- a/tests/exhaustive/basic/relation04_param/expected/model_3_3.eprime.orig +++ /dev/null @@ -1,113 +0,0 @@ -language ESSENCE' 1.0 - -given fin1: int -given fin2: int -given a_RelationAsSetR6_ExplicitR6_1: matrix indexed by [int(1..fin1)] of int(1..3) -given a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy: - matrix indexed by [int(1..fin1), int(1..fin2)] of int(2..4) -given a_RelationAsSetR6_ExplicitR6_3: matrix indexed by [int(1..fin1)] of int(4..10) -find r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Marker: int(0..84) -find r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_1: matrix indexed by [int(1..84)] of int(1..3) -find r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Marker: - matrix indexed by [int(1..84)] of int(0..2) -find r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Values: - matrix indexed by [int(1..84), int(1..2)] of int(2..3) -find r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_3: matrix indexed by [int(1..84)] of int(4..10) -branching on - [r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Marker, r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_1, - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Marker, - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Values, - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_3] -such that - and([q11 <= r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Marker -> - or([and([a_RelationAsSetR6_ExplicitR6_1[q13] = r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_1[q11], - and([or([q17 <= - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Marker[q11] - /\ - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Values - [q11, q17] - = a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy[q13, q15] - | q17 : int(1..2)]) - | q15 : int(1..fin2), - a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy[q13, q15] != 4]) - /\ - and([q19 <= - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Marker[q11] - -> - or([a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy[q13, q21] = - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Values - [q11, q19] - | q21 : int(1..fin2), - a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy[q13, q21] != 4]) - | q19 : int(1..2)]), - a_RelationAsSetR6_ExplicitR6_3[q13] = r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_3[q11]; - int(1..3)]) - | q13 : int(1..fin1)]) - | q11 : int(1..84)]), - and([or([q24 <= r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Marker /\ - and([r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_1[q24] = a_RelationAsSetR6_ExplicitR6_1[q22], - and([q26 <= - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Marker[q24] - -> - or([a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy[q22, q28] = - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Values - [q24, q26] - | q28 : int(1..fin2), - a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy[q22, q28] != 4]) - | q26 : int(1..2)]) - /\ - and([or([q32 <= - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Marker[q24] - /\ - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Values - [q24, q32] - = a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy[q22, q30] - | q32 : int(1..2)]) - | q30 : int(1..fin2), - a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy[q22, q30] != 4]), - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_3[q24] = a_RelationAsSetR6_ExplicitR6_3[q22]; - int(1..3)]) - | q24 : int(1..84)]) - | q22 : int(1..fin1)]), - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Marker = fin1, - and([q1 + 1 <= r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Marker -> - flatten([[r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_1[q1]; int(1)], - flatten([[r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Marker[q1]; - int(1)], - [r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Values - [q1, q7] - | q7 : int(1..2)]; - int(1..2)]), - [r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_3[q1]; int(1)]; - int(1..3)]) - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Marker -> - and([r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_1[q2] = 1, - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Marker[q2] = 0 /\ - and([r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Values[q2, q9] = 2 - | q9 : int(1..2)]), - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_3[q2] = 4; - int(1..3)]) - | q2 : int(1..84)]), - and([q3 <= r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Marker -> - (2 <= r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Marker[q3] -> - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Values[q3, 1] < - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Values[q3, 2]) - | q3 : int(1..84)]), - and([q3 <= r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Marker -> - and([q5 > r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Marker[q3] -> - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Values[q3, q5] = 2 - | q5 : int(1..2)]) - | q3 : int(1..84)]) - diff --git a/tests/exhaustive/basic/relation04_param/expected/model_3_4-param4-solution000001.solution b/tests/exhaustive/basic/relation04_param/expected/model_3_4-param4-solution000001.solution new file mode 100644 index 0000000000..547e6d2e7e --- /dev/null +++ b/tests/exhaustive/basic/relation04_param/expected/model_3_4-param4-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting r be relation((3, {2}, 6), (3, {3}, 9)) diff --git a/tests/exhaustive/basic/relation04_param/expected/model_3_4-param4.eprime-param b/tests/exhaustive/basic/relation04_param/expected/model_3_4-param4.eprime-param new file mode 100644 index 0000000000..87708d95a4 --- /dev/null +++ b/tests/exhaustive/basic/relation04_param/expected/model_3_4-param4.eprime-param @@ -0,0 +1,11 @@ +language ESSENCE' 1.0 + +letting a_RelationAsSetR6_ExplicitR6_1 be [3, 3; int(1..2)] +letting a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy be [[2; int(1)], [3; int(1)]; int(1..2)] +$ Visualisation for a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy +$ 2 +$ 3 + +letting a_RelationAsSetR6_ExplicitR6_3 be [6, 9; int(1..2)] +letting fin1 be 2 +letting fin2 be 1 diff --git a/tests/exhaustive/basic/relation04_param/expected/model_3_4.eprime.orig b/tests/exhaustive/basic/relation04_param/expected/model_3_4.eprime.orig deleted file mode 100644 index fecc76d420..0000000000 --- a/tests/exhaustive/basic/relation04_param/expected/model_3_4.eprime.orig +++ /dev/null @@ -1,245 +0,0 @@ -language ESSENCE' 1.0 - -given fin1: int -given fin2: int -given a_RelationAsSetR6_ExplicitR6_1: matrix indexed by [int(1..fin1)] of int(1..3) -given a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy: - matrix indexed by [int(1..fin1), int(1..fin2)] of int(2..4) -given a_RelationAsSetR6_ExplicitR6_3: matrix indexed by [int(1..fin1)] of int(4..10) -find r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Marker: int(0..84) -find r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_1: matrix indexed by [int(1..84)] of int(1..3) -find r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Marker: - matrix indexed by [int(1..84)] of int(0..2) -find r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Values: - matrix indexed by [int(1..84), int(1..2)] of int(2..3) -find r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_3: matrix indexed by [int(1..84)] of int(4..10) -find r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Marker: int(0..84) -find r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_1: matrix indexed by [int(1..84)] of int(1..3) -find r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Flags: - matrix indexed by [int(1..84), int(1..2)] of bool -find r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Values: - matrix indexed by [int(1..84), int(1..2)] of int(2..3) -find r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_3: matrix indexed by [int(1..84)] of int(4..10) -branching on - [r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Marker, r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_1, - r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Flags, - r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Values, - r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_3, r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Marker, - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_1, - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Marker, - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Values, - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_3] -such that - and([q46 <= r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Marker -> - or([and([a_RelationAsSetR6_ExplicitR6_1[q48] = r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_1[q46], - and([or([q52 <= - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Marker[q46] - /\ - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Values - [q46, q52] - = a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy[q48, q50] - | q52 : int(1..2)]) - | q50 : int(1..fin2), - a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy[q48, q50] != 4]) - /\ - and([q54 <= - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Marker[q46] - -> - or([a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy[q48, q56] = - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Values - [q46, q54] - | q56 : int(1..fin2), - a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy[q48, q56] != 4]) - | q54 : int(1..2)]), - a_RelationAsSetR6_ExplicitR6_3[q48] = r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_3[q46]; - int(1..3)]) - | q48 : int(1..fin1)]) - | q46 : int(1..84)]), - and([or([q59 <= r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Marker /\ - and([r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_1[q59] = a_RelationAsSetR6_ExplicitR6_1[q57], - and([q61 <= - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Marker[q59] - -> - or([a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy[q57, q63] = - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Values - [q59, q61] - | q63 : int(1..fin2), - a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy[q57, q63] != 4]) - | q61 : int(1..2)]) - /\ - and([or([q67 <= - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Marker[q59] - /\ - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Values - [q59, q67] - = a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy[q57, q65] - | q67 : int(1..2)]) - | q65 : int(1..fin2), - a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy[q57, q65] != 4]), - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_3[q59] = a_RelationAsSetR6_ExplicitR6_3[q57]; - int(1..3)]) - | q59 : int(1..84)]) - | q57 : int(1..fin1)]), - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Marker = fin1, - and([q1 + 1 <= r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Marker -> - flatten([[r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_1[q1]; int(1)], - flatten([[r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Marker[q1]; - int(1)], - [r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Values - [q1, q7] - | q7 : int(1..2)]; - int(1..2)]), - [r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_3[q1]; int(1)]; - int(1..3)]) - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Marker -> - and([r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_1[q2] = 1, - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Marker[q2] = 0 /\ - and([r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Values[q2, q9] = 2 - | q9 : int(1..2)]), - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_3[q2] = 4; - int(1..3)]) - | q2 : int(1..84)]), - and([q3 <= r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Marker -> - (2 <= r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Marker[q3] -> - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Values[q3, 1] < - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Values[q3, 2]) - | q3 : int(1..84)]), - and([q3 <= r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Marker -> - and([q5 > r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Marker[q3] -> - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Values[q3, q5] = 2 - | q5 : int(1..2)]) - | q3 : int(1..84)]), - and([q10 + 1 <= r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Marker -> - flatten([[r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_1[q10]; int(1)], - flatten([flatten([[-toInt(r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Flags - [q10, q18]); - int(1)], - [r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Values - [q10, q18]; - int(1)]; - int(1..2)]) - | q18 : int(1..2)]), - [r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_3[q10]; int(1)]; - int(1..3)]) - r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Marker -> - and([r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_1[q11] = 1, - and([r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Flags[q11, q20] = - false - | q20 : int(1..2)]) - /\ - and([r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Values[q11, q21] = 2 - | q21 : int(1..2)]), - r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_3[q11] = 4; - int(1..3)]) - | q11 : int(1..84)]), - and([q12 <= r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Marker -> - (r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Flags[q12, 2] -> - r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Values[q12, 1] < - r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Values[q12, 2]) - | q12 : int(1..84)]), - and([q12 <= r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Marker -> - and([r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Flags[q12, q14] = false -> - r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Values[q12, q14] = 2 - | q14 : int(1..2)]) - | q12 : int(1..84)]), - and([q12 <= r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Marker -> - (r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Flags[q12, 2] -> - r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Flags[q12, 1]) - | q12 : int(1..84)]), - and([q23 <= r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Marker -> - or([q25 <= r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Marker /\ - and([r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_1[q25] = - r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_1[q23], - and([q27 <= - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Marker[q25] - -> - or([r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Flags - [q23, q29] - /\ - r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Values - [q23, q29] - = - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Values - [q25, q27] - | q29 : int(1..2)]) - | q27 : int(1..2)]) - /\ - and([r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Flags[q23, q31] - -> - or([q33 <= - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Marker[q25] - /\ - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Values - [q25, q33] - = - r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Values - [q23, q31] - | q33 : int(1..2)]) - | q31 : int(1..2)]), - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_3[q25] = - r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_3[q23]; - int(1..3)]) - | q25 : int(1..84)]) - | q23 : int(1..84)]), - and([q34 <= r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Marker -> - or([q36 <= r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Marker /\ - and([r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_1[q36] = - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_1[q34], - and([r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Flags[q36, q38] - -> - or([q40 <= - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Marker[q34] - /\ - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Values - [q34, q40] - = - r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Values - [q36, q38] - | q40 : int(1..2)]) - | q38 : int(1..2)]) - /\ - and([q42 <= - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Marker[q34] - -> - or([r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Flags - [q36, q44] - /\ - r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Values - [q36, q44] - = - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Values - [q34, q42] - | q44 : int(1..2)]) - | q42 : int(1..2)]), - r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_3[q36] = - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_3[q34]; - int(1..3)]) - | q36 : int(1..84)]) - | q34 : int(1..84)]), - r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Marker = r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Marker - diff --git a/tests/exhaustive/basic/relation04_param/expected/model_4_1-param4-solution000001.solution b/tests/exhaustive/basic/relation04_param/expected/model_4_1-param4-solution000001.solution new file mode 100644 index 0000000000..547e6d2e7e --- /dev/null +++ b/tests/exhaustive/basic/relation04_param/expected/model_4_1-param4-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting r be relation((3, {2}, 6), (3, {3}, 9)) diff --git a/tests/exhaustive/basic/relation04_param/expected/model_4_1-param4.eprime-param b/tests/exhaustive/basic/relation04_param/expected/model_4_1-param4.eprime-param new file mode 100644 index 0000000000..87708d95a4 --- /dev/null +++ b/tests/exhaustive/basic/relation04_param/expected/model_4_1-param4.eprime-param @@ -0,0 +1,11 @@ +language ESSENCE' 1.0 + +letting a_RelationAsSetR6_ExplicitR6_1 be [3, 3; int(1..2)] +letting a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy be [[2; int(1)], [3; int(1)]; int(1..2)] +$ Visualisation for a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy +$ 2 +$ 3 + +letting a_RelationAsSetR6_ExplicitR6_3 be [6, 9; int(1..2)] +letting fin1 be 2 +letting fin2 be 1 diff --git a/tests/exhaustive/basic/relation04_param/expected/model_4_1.eprime b/tests/exhaustive/basic/relation04_param/expected/model_4_1.eprime new file mode 100644 index 0000000000..6539c4f97f --- /dev/null +++ b/tests/exhaustive/basic/relation04_param/expected/model_4_1.eprime @@ -0,0 +1,202 @@ +language ESSENCE' 1.0 + +given fin1: int +given fin2: int +given a_RelationAsSetR6_ExplicitR6_1: matrix indexed by [int(1..fin1)] of int(1..3) +given a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy: + matrix indexed by [int(1..fin1), int(1..fin2)] of int(2..4) +given a_RelationAsSetR6_ExplicitR6_3: matrix indexed by [int(1..fin1)] of int(4..10) +find r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Marker: int(0..84) +find r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_1: matrix indexed by [int(1..84)] of int(1..3) +find r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Flags: + matrix indexed by [int(1..84), int(1..2)] of bool +find r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Values: + matrix indexed by [int(1..84), int(1..2)] of int(2..3) +find r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_3: matrix indexed by [int(1..84)] of int(4..10) +find r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Marker: int(0..84) +find r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_1: matrix indexed by [int(1..84)] of int(1..3) +find r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_2_Occurrence: + matrix indexed by [int(1..84), int(2..3)] of bool +find r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_3: matrix indexed by [int(1..84)] of int(4..10) +branching on + [r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Marker, r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_1, + r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_2_Occurrence, + r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_3, r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Marker, + r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_1, + r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Flags, + r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Values, + r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_3] +such that + and([q38 <= r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Marker -> + or([and([a_RelationAsSetR6_ExplicitR6_1[q40] = r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_1[q38], + and([or([r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Flags + [q38, q44] + /\ + r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Values + [q38, q44] + = a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy[q40, q42] + | q44 : int(1..2)]) + | q42 : int(1..fin2), + a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy[q40, q42] != 4]) + /\ + and([r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Flags[q38, q46] + -> + or([a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy[q40, q48] = + r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Values + [q38, q46] + | q48 : int(1..fin2), + a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy[q40, q48] != 4]) + | q46 : int(1..2)]), + a_RelationAsSetR6_ExplicitR6_3[q40] = r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_3[q38]; + int(1..3)]) + | q40 : int(1..fin1)]) + | q38 : int(1..84)]), + and([or([q51 <= r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Marker /\ + and([r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_1[q51] = a_RelationAsSetR6_ExplicitR6_1[q49], + and([r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Flags[q51, q53] + -> + or([a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy[q49, q55] = + r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Values + [q51, q53] + | q55 : int(1..fin2), + a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy[q49, q55] != 4]) + | q53 : int(1..2)]) + /\ + and([or([r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Flags + [q51, q59] + /\ + r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Values + [q51, q59] + = a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy[q49, q57] + | q59 : int(1..2)]) + | q57 : int(1..fin2), + a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy[q49, q57] != 4]), + r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_3[q51] = a_RelationAsSetR6_ExplicitR6_3[q49]; + int(1..3)]) + | q51 : int(1..84)]) + | q49 : int(1..fin1)]), + r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Marker = fin1, + and([q1 + 1 <= r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Marker -> + flatten([[r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_1[q1]; int(1)], + flatten([flatten([[-toInt(r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Flags + [q1, q9]); + int(1)], + [r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Values + [q1, q9]; + int(1)]; + int(1..2)]) + | q9 : int(1..2)]), + [r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_3[q1]; int(1)]; + int(1..3)]) + r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Marker -> + and([r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_1[q2] = 1, + and([r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Flags[q2, q11] = + false + | q11 : int(1..2)]) + /\ + and([r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Values[q2, q12] = 2 + | q12 : int(1..2)]), + r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_3[q2] = 4; + int(1..3)]) + | q2 : int(1..84)]), + and([q3 <= r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Marker -> + (r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Flags[q3, 2] -> + r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Values[q3, 1] < + r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Values[q3, 2]) + | q3 : int(1..84)]), + and([q3 <= r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Marker -> + and([r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Flags[q3, q5] = false -> + r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Values[q3, q5] = 2 + | q5 : int(1..2)]) + | q3 : int(1..84)]), + and([q3 <= r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Marker -> + (r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Flags[q3, 2] -> + r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Flags[q3, 1]) + | q3 : int(1..84)]), + and([q13 + 1 <= r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Marker -> + flatten([[r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_1[q13]; int(1)], + [-toInt(r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_2_Occurrence[q13, q17]) + | q17 : int(2..3)], + [r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_3[q13]; int(1)]; + int(1..3)]) + r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Marker -> + and([r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_1[q14] = 1, + and([r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_2_Occurrence[q14, q19] = false + | q19 : int(2..3)]), + r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_3[q14] = 4; + int(1..3)]) + | q14 : int(1..84)]), + and([q21 <= r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Marker -> + or([q23 <= r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Marker /\ + and([r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_1[q23] = + r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_1[q21], + and([r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Flags[q23, q25] + -> + r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_2_Occurrence + [q21, + r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Values + [q23, q25]] + | q25 : int(1..2)]) + /\ + and([r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_2_Occurrence[q21, q26] -> + or([r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Flags + [q23, q28] + /\ + r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Values + [q23, q28] + = q26 + | q28 : int(1..2)]) + | q26 : int(2..3)]), + r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_3[q23] = + r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_3[q21]; + int(1..3)]) + | q23 : int(1..84)]) + | q21 : int(1..84)]), + and([q29 <= r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Marker -> + or([q31 <= r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Marker /\ + and([r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_1[q31] = + r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_1[q29], + and([r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_2_Occurrence[q31, q32] -> + or([r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Flags + [q29, q34] + /\ + r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Values + [q29, q34] + = q32 + | q34 : int(1..2)]) + | q32 : int(2..3)]) + /\ + and([r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Flags[q29, q36] + -> + r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_2_Occurrence + [q31, + r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Values + [q29, q36]] + | q36 : int(1..2)]), + r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_3[q31] = + r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_3[q29]; + int(1..3)]) + | q31 : int(1..84)]) + | q29 : int(1..84)]), + r_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Marker = r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Marker + diff --git a/tests/exhaustive/basic/relation04_param/expected/model_4_2-param4-solution000001.solution b/tests/exhaustive/basic/relation04_param/expected/model_4_2-param4-solution000001.solution new file mode 100644 index 0000000000..547e6d2e7e --- /dev/null +++ b/tests/exhaustive/basic/relation04_param/expected/model_4_2-param4-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting r be relation((3, {2}, 6), (3, {3}, 9)) diff --git a/tests/exhaustive/basic/relation04_param/expected/model_4_2-param4.eprime-param b/tests/exhaustive/basic/relation04_param/expected/model_4_2-param4.eprime-param new file mode 100644 index 0000000000..87708d95a4 --- /dev/null +++ b/tests/exhaustive/basic/relation04_param/expected/model_4_2-param4.eprime-param @@ -0,0 +1,11 @@ +language ESSENCE' 1.0 + +letting a_RelationAsSetR6_ExplicitR6_1 be [3, 3; int(1..2)] +letting a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy be [[2; int(1)], [3; int(1)]; int(1..2)] +$ Visualisation for a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy +$ 2 +$ 3 + +letting a_RelationAsSetR6_ExplicitR6_3 be [6, 9; int(1..2)] +letting fin1 be 2 +letting fin2 be 1 diff --git a/tests/exhaustive/basic/relation04_param/expected/model_4_2.eprime b/tests/exhaustive/basic/relation04_param/expected/model_4_2.eprime new file mode 100644 index 0000000000..d76b74b4f4 --- /dev/null +++ b/tests/exhaustive/basic/relation04_param/expected/model_4_2.eprime @@ -0,0 +1,217 @@ +language ESSENCE' 1.0 + +given fin1: int +given fin2: int +given a_RelationAsSetR6_ExplicitR6_1: matrix indexed by [int(1..fin1)] of int(1..3) +given a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy: + matrix indexed by [int(1..fin1), int(1..fin2)] of int(2..4) +given a_RelationAsSetR6_ExplicitR6_3: matrix indexed by [int(1..fin1)] of int(4..10) +find r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Marker: int(0..84) +find r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_1: matrix indexed by [int(1..84)] of int(1..3) +find r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Flags: + matrix indexed by [int(1..84), int(1..2)] of bool +find r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Values: + matrix indexed by [int(1..84), int(1..2)] of int(2..3) +find r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_3: matrix indexed by [int(1..84)] of int(4..10) +find r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Marker: int(0..84) +find r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_1: matrix indexed by [int(1..84)] of int(1..3) +find r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_2_ExplicitVarSizeWithDummy: + matrix indexed by [int(1..84), int(1..2)] of int(2..4) +find r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_3: matrix indexed by [int(1..84)] of int(4..10) +branching on + [r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Marker, r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_1, + r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_2_ExplicitVarSizeWithDummy, + r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_3, r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Marker, + r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_1, + r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Flags, + r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Values, + r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_3] +such that + and([q47 <= r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Marker -> + or([and([a_RelationAsSetR6_ExplicitR6_1[q49] = r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_1[q47], + and([or([r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Flags + [q47, q53] + /\ + r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Values + [q47, q53] + = a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy[q49, q51] + | q53 : int(1..2)]) + | q51 : int(1..fin2), + a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy[q49, q51] != 4]) + /\ + and([r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Flags[q47, q55] + -> + or([a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy[q49, q57] = + r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Values + [q47, q55] + | q57 : int(1..fin2), + a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy[q49, q57] != 4]) + | q55 : int(1..2)]), + a_RelationAsSetR6_ExplicitR6_3[q49] = r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_3[q47]; + int(1..3)]) + | q49 : int(1..fin1)]) + | q47 : int(1..84)]), + and([or([q60 <= r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Marker /\ + and([r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_1[q60] = a_RelationAsSetR6_ExplicitR6_1[q58], + and([r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Flags[q60, q62] + -> + or([a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy[q58, q64] = + r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Values + [q60, q62] + | q64 : int(1..fin2), + a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy[q58, q64] != 4]) + | q62 : int(1..2)]) + /\ + and([or([r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Flags + [q60, q68] + /\ + r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Values + [q60, q68] + = a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy[q58, q66] + | q68 : int(1..2)]) + | q66 : int(1..fin2), + a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy[q58, q66] != 4]), + r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_3[q60] = a_RelationAsSetR6_ExplicitR6_3[q58]; + int(1..3)]) + | q60 : int(1..84)]) + | q58 : int(1..fin1)]), + r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Marker = fin1, + and([q1 + 1 <= r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Marker -> + flatten([[r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_1[q1]; int(1)], + flatten([flatten([[-toInt(r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Flags + [q1, q9]); + int(1)], + [r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Values + [q1, q9]; + int(1)]; + int(1..2)]) + | q9 : int(1..2)]), + [r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_3[q1]; int(1)]; + int(1..3)]) + r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Marker -> + and([r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_1[q2] = 1, + and([r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Flags[q2, q11] = + false + | q11 : int(1..2)]) + /\ + and([r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Values[q2, q12] = 2 + | q12 : int(1..2)]), + r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_3[q2] = 4; + int(1..3)]) + | q2 : int(1..84)]), + and([q3 <= r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Marker -> + (r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Flags[q3, 2] -> + r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Values[q3, 1] < + r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Values[q3, 2]) + | q3 : int(1..84)]), + and([q3 <= r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Marker -> + and([r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Flags[q3, q5] = false -> + r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Values[q3, q5] = 2 + | q5 : int(1..2)]) + | q3 : int(1..84)]), + and([q3 <= r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Marker -> + (r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Flags[q3, 2] -> + r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Flags[q3, 1]) + | q3 : int(1..84)]), + and([q13 + 1 <= r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Marker -> + flatten([[r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_1[q13]; int(1)], + [r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_2_ExplicitVarSizeWithDummy[q13, q20] + | q20 : int(1..2)], + [r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_3[q13]; int(1)]; + int(1..3)]) + r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Marker -> + and([r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_1[q14] = 1, + and([r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_2_ExplicitVarSizeWithDummy[q14, q22] = 2 + | q22 : int(1..2)]), + r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_3[q14] = 4; + int(1..3)]) + | q14 : int(1..84)]), + and([q15 <= r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Marker -> + r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_2_ExplicitVarSizeWithDummy[q15, 1] < + r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_2_ExplicitVarSizeWithDummy[q15, 2] + \/ r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_2_ExplicitVarSizeWithDummy[q15, 1] = 4 + | q15 : int(1..84)]), + and([q15 <= r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Marker -> + (r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_2_ExplicitVarSizeWithDummy[q15, 1] = 4 -> + r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_2_ExplicitVarSizeWithDummy[q15, 2] = 4) + | q15 : int(1..84)]), + and([q24 <= r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Marker -> + or([q26 <= r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Marker /\ + and([r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_1[q26] = + r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_1[q24], + and([r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Flags[q26, q28] + -> + or([r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_2_ExplicitVarSizeWithDummy[q24, q30] != + 4 + /\ + r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_2_ExplicitVarSizeWithDummy[q24, q30] = + r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Values + [q26, q28] + | q30 : int(1..2)]) + | q28 : int(1..2)]) + /\ + and([r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_2_ExplicitVarSizeWithDummy[q24, q32] != 4 -> + or([r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Flags + [q26, q34] + /\ + r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Values + [q26, q34] + = r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_2_ExplicitVarSizeWithDummy[q24, q32] + | q34 : int(1..2)]) + | q32 : int(1..2)]), + r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_3[q26] = + r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_3[q24]; + int(1..3)]) + | q26 : int(1..84)]) + | q24 : int(1..84)]), + and([q35 <= r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Marker -> + or([q37 <= r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Marker /\ + and([r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_1[q37] = + r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_1[q35], + and([r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_2_ExplicitVarSizeWithDummy[q37, q39] != 4 -> + or([r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Flags + [q35, q41] + /\ + r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Values + [q35, q41] + = r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_2_ExplicitVarSizeWithDummy[q37, q39] + | q41 : int(1..2)]) + | q39 : int(1..2)]) + /\ + and([r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Flags[q35, q43] + -> + or([r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_2_ExplicitVarSizeWithDummy[q37, q45] != + 4 + /\ + r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_2_ExplicitVarSizeWithDummy[q37, q45] = + r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Values + [q35, q43] + | q45 : int(1..2)]) + | q43 : int(1..2)]), + r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Values_3[q37] = + r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_3[q35]; + int(1..3)]) + | q37 : int(1..84)]) + | q35 : int(1..84)]), + r_RelationAsSetR6_ExplicitVarSizeWithMarkerR6_Marker = r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Marker + diff --git a/tests/exhaustive/basic/relation04_param/expected/model_4_3-param4-solution000001.solution b/tests/exhaustive/basic/relation04_param/expected/model_4_3-param4-solution000001.solution new file mode 100644 index 0000000000..547e6d2e7e --- /dev/null +++ b/tests/exhaustive/basic/relation04_param/expected/model_4_3-param4-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting r be relation((3, {2}, 6), (3, {3}, 9)) diff --git a/tests/exhaustive/basic/relation04_param/expected/model_4_3-param4.eprime-param b/tests/exhaustive/basic/relation04_param/expected/model_4_3-param4.eprime-param new file mode 100644 index 0000000000..87708d95a4 --- /dev/null +++ b/tests/exhaustive/basic/relation04_param/expected/model_4_3-param4.eprime-param @@ -0,0 +1,11 @@ +language ESSENCE' 1.0 + +letting a_RelationAsSetR6_ExplicitR6_1 be [3, 3; int(1..2)] +letting a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy be [[2; int(1)], [3; int(1)]; int(1..2)] +$ Visualisation for a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy +$ 2 +$ 3 + +letting a_RelationAsSetR6_ExplicitR6_3 be [6, 9; int(1..2)] +letting fin1 be 2 +letting fin2 be 1 diff --git a/tests/exhaustive/basic/relation04_param/expected/model_4_3.eprime.orig b/tests/exhaustive/basic/relation04_param/expected/model_4_3.eprime.orig deleted file mode 100644 index f535969c32..0000000000 --- a/tests/exhaustive/basic/relation04_param/expected/model_4_3.eprime.orig +++ /dev/null @@ -1,244 +0,0 @@ -language ESSENCE' 1.0 - -given fin1: int -given fin2: int -given a_RelationAsSetR6_ExplicitR6_1: matrix indexed by [int(1..fin1)] of int(1..3) -given a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy: - matrix indexed by [int(1..fin1), int(1..fin2)] of int(2..4) -given a_RelationAsSetR6_ExplicitR6_3: matrix indexed by [int(1..fin1)] of int(4..10) -find r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Marker: int(0..84) -find r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_1: matrix indexed by [int(1..84)] of int(1..3) -find r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Flags: - matrix indexed by [int(1..84), int(1..2)] of bool -find r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Values: - matrix indexed by [int(1..84), int(1..2)] of int(2..3) -find r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_3: matrix indexed by [int(1..84)] of int(4..10) -find r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Marker: int(0..84) -find r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_1: matrix indexed by [int(1..84)] of int(1..3) -find r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Marker: - matrix indexed by [int(1..84)] of int(0..2) -find r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Values: - matrix indexed by [int(1..84), int(1..2)] of int(2..3) -find r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_3: matrix indexed by [int(1..84)] of int(4..10) -branching on - [r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Marker, r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_1, - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Marker, - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Values, - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_3, r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Marker, - r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_1, - r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Flags, - r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Values, - r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_3] -such that - and([q46 <= r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Marker -> - or([and([a_RelationAsSetR6_ExplicitR6_1[q48] = r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_1[q46], - and([or([r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Flags - [q46, q52] - /\ - r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Values - [q46, q52] - = a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy[q48, q50] - | q52 : int(1..2)]) - | q50 : int(1..fin2), - a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy[q48, q50] != 4]) - /\ - and([r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Flags[q46, q54] - -> - or([a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy[q48, q56] = - r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Values - [q46, q54] - | q56 : int(1..fin2), - a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy[q48, q56] != 4]) - | q54 : int(1..2)]), - a_RelationAsSetR6_ExplicitR6_3[q48] = r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_3[q46]; - int(1..3)]) - | q48 : int(1..fin1)]) - | q46 : int(1..84)]), - and([or([q59 <= r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Marker /\ - and([r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_1[q59] = a_RelationAsSetR6_ExplicitR6_1[q57], - and([r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Flags[q59, q61] - -> - or([a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy[q57, q63] = - r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Values - [q59, q61] - | q63 : int(1..fin2), - a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy[q57, q63] != 4]) - | q61 : int(1..2)]) - /\ - and([or([r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Flags - [q59, q67] - /\ - r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Values - [q59, q67] - = a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy[q57, q65] - | q67 : int(1..2)]) - | q65 : int(1..fin2), - a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy[q57, q65] != 4]), - r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_3[q59] = a_RelationAsSetR6_ExplicitR6_3[q57]; - int(1..3)]) - | q59 : int(1..84)]) - | q57 : int(1..fin1)]), - r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Marker = fin1, - and([q1 + 1 <= r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Marker -> - flatten([[r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_1[q1]; int(1)], - flatten([flatten([[-toInt(r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Flags - [q1, q9]); - int(1)], - [r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Values - [q1, q9]; - int(1)]; - int(1..2)]) - | q9 : int(1..2)]), - [r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_3[q1]; int(1)]; - int(1..3)]) - r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Marker -> - and([r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_1[q2] = 1, - and([r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Flags[q2, q11] = - false - | q11 : int(1..2)]) - /\ - and([r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Values[q2, q12] = 2 - | q12 : int(1..2)]), - r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_3[q2] = 4; - int(1..3)]) - | q2 : int(1..84)]), - and([q3 <= r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Marker -> - (r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Flags[q3, 2] -> - r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Values[q3, 1] < - r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Values[q3, 2]) - | q3 : int(1..84)]), - and([q3 <= r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Marker -> - and([r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Flags[q3, q5] = false -> - r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Values[q3, q5] = 2 - | q5 : int(1..2)]) - | q3 : int(1..84)]), - and([q3 <= r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Marker -> - (r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Flags[q3, 2] -> - r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Flags[q3, 1]) - | q3 : int(1..84)]), - and([q13 + 1 <= r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Marker -> - flatten([[r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_1[q13]; int(1)], - flatten([[r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Marker - [q13]; - int(1)], - [r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Values - [q13, q19] - | q19 : int(1..2)]; - int(1..2)]), - [r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_3[q13]; int(1)]; - int(1..3)]) - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Marker -> - and([r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_1[q14] = 1, - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Marker[q14] = 0 /\ - and([r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Values[q14, q21] = 2 - | q21 : int(1..2)]), - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_3[q14] = 4; - int(1..3)]) - | q14 : int(1..84)]), - and([q15 <= r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Marker -> - (2 <= r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Marker[q15] -> - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Values[q15, 1] < - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Values[q15, 2]) - | q15 : int(1..84)]), - and([q15 <= r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Marker -> - and([q17 > r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Marker[q15] -> - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Values[q15, q17] = 2 - | q17 : int(1..2)]) - | q15 : int(1..84)]), - and([q23 <= r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Marker -> - or([q25 <= r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Marker /\ - and([r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_1[q25] = - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_1[q23], - and([r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Flags[q25, q27] - -> - or([q29 <= - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Marker[q23] - /\ - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Values - [q23, q29] - = - r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Values - [q25, q27] - | q29 : int(1..2)]) - | q27 : int(1..2)]) - /\ - and([q31 <= - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Marker[q23] - -> - or([r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Flags - [q25, q33] - /\ - r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Values - [q25, q33] - = - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Values - [q23, q31] - | q33 : int(1..2)]) - | q31 : int(1..2)]), - r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_3[q25] = - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_3[q23]; - int(1..3)]) - | q25 : int(1..84)]) - | q23 : int(1..84)]), - and([q34 <= r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Marker -> - or([q36 <= r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Marker /\ - and([r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_1[q36] = - r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_1[q34], - and([q38 <= - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Marker[q36] - -> - or([r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Flags - [q34, q40] - /\ - r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Values - [q34, q40] - = - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Values - [q36, q38] - | q40 : int(1..2)]) - | q38 : int(1..2)]) - /\ - and([r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Flags[q34, q42] - -> - or([q44 <= - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Marker[q36] - /\ - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_2_ExplicitVarSizeWithMarker_Values - [q36, q44] - = - r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Values - [q34, q42] - | q44 : int(1..2)]) - | q42 : int(1..2)]), - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Values_3[q36] = - r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_3[q34]; - int(1..3)]) - | q36 : int(1..84)]) - | q34 : int(1..84)]), - r_RelationAsSetR5_ExplicitVarSizeWithMarkerR5_Marker = r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Marker - diff --git a/tests/exhaustive/basic/relation04_param/expected/model_4_4-param4-solution000001.solution b/tests/exhaustive/basic/relation04_param/expected/model_4_4-param4-solution000001.solution new file mode 100644 index 0000000000..547e6d2e7e --- /dev/null +++ b/tests/exhaustive/basic/relation04_param/expected/model_4_4-param4-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting r be relation((3, {2}, 6), (3, {3}, 9)) diff --git a/tests/exhaustive/basic/relation04_param/expected/model_4_4-param4.eprime-param b/tests/exhaustive/basic/relation04_param/expected/model_4_4-param4.eprime-param new file mode 100644 index 0000000000..87708d95a4 --- /dev/null +++ b/tests/exhaustive/basic/relation04_param/expected/model_4_4-param4.eprime-param @@ -0,0 +1,11 @@ +language ESSENCE' 1.0 + +letting a_RelationAsSetR6_ExplicitR6_1 be [3, 3; int(1..2)] +letting a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy be [[2; int(1)], [3; int(1)]; int(1..2)] +$ Visualisation for a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy +$ 2 +$ 3 + +letting a_RelationAsSetR6_ExplicitR6_3 be [6, 9; int(1..2)] +letting fin1 be 2 +letting fin2 be 1 diff --git a/tests/exhaustive/basic/relation04_param/expected/model_4_4.eprime b/tests/exhaustive/basic/relation04_param/expected/model_4_4.eprime new file mode 100644 index 0000000000..e4cbdf3e64 --- /dev/null +++ b/tests/exhaustive/basic/relation04_param/expected/model_4_4.eprime @@ -0,0 +1,121 @@ +language ESSENCE' 1.0 + +given fin1: int +given fin2: int +given a_RelationAsSetR6_ExplicitR6_1: matrix indexed by [int(1..fin1)] of int(1..3) +given a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy: + matrix indexed by [int(1..fin1), int(1..fin2)] of int(2..4) +given a_RelationAsSetR6_ExplicitR6_3: matrix indexed by [int(1..fin1)] of int(4..10) +find r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Marker: int(0..84) +find r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_1: matrix indexed by [int(1..84)] of int(1..3) +find r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Flags: + matrix indexed by [int(1..84), int(1..2)] of bool +find r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Values: + matrix indexed by [int(1..84), int(1..2)] of int(2..3) +find r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_3: matrix indexed by [int(1..84)] of int(4..10) +branching on + [r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Marker, r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_1, + r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Flags, + r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Values, + r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_3] +such that + and([q14 <= r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Marker -> + or([and([a_RelationAsSetR6_ExplicitR6_1[q16] = r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_1[q14], + and([or([r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Flags + [q14, q20] + /\ + r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Values + [q14, q20] + = a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy[q16, q18] + | q20 : int(1..2)]) + | q18 : int(1..fin2), + a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy[q16, q18] != 4]) + /\ + and([r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Flags[q14, q22] + -> + or([a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy[q16, q24] = + r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Values + [q14, q22] + | q24 : int(1..fin2), + a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy[q16, q24] != 4]) + | q22 : int(1..2)]), + a_RelationAsSetR6_ExplicitR6_3[q16] = r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_3[q14]; + int(1..3)]) + | q16 : int(1..fin1)]) + | q14 : int(1..84)]), + and([or([q27 <= r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Marker /\ + and([r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_1[q27] = a_RelationAsSetR6_ExplicitR6_1[q25], + and([r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Flags[q27, q29] + -> + or([a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy[q25, q31] = + r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Values + [q27, q29] + | q31 : int(1..fin2), + a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy[q25, q31] != 4]) + | q29 : int(1..2)]) + /\ + and([or([r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Flags + [q27, q35] + /\ + r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Values + [q27, q35] + = a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy[q25, q33] + | q35 : int(1..2)]) + | q33 : int(1..fin2), + a_RelationAsSetR6_ExplicitR6_2_ExplicitVarSizeWithDummy[q25, q33] != 4]), + r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_3[q27] = a_RelationAsSetR6_ExplicitR6_3[q25]; + int(1..3)]) + | q27 : int(1..84)]) + | q25 : int(1..fin1)]), + r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Marker = fin1, + and([q1 + 1 <= r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Marker -> + flatten([[r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_1[q1]; int(1)], + flatten([flatten([[-toInt(r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Flags + [q1, q9]); + int(1)], + [r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Values + [q1, q9]; + int(1)]; + int(1..2)]) + | q9 : int(1..2)]), + [r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_3[q1]; int(1)]; + int(1..3)]) + r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Marker -> + and([r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_1[q2] = 1, + and([r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Flags[q2, q11] = + false + | q11 : int(1..2)]) + /\ + and([r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Values[q2, q12] = 2 + | q12 : int(1..2)]), + r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_3[q2] = 4; + int(1..3)]) + | q2 : int(1..84)]), + and([q3 <= r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Marker -> + (r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Flags[q3, 2] -> + r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Values[q3, 1] < + r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Values[q3, 2]) + | q3 : int(1..84)]), + and([q3 <= r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Marker -> + and([r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Flags[q3, q5] = false -> + r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Values[q3, q5] = 2 + | q5 : int(1..2)]) + | q3 : int(1..84)]), + and([q3 <= r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Marker -> + (r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Flags[q3, 2] -> + r_RelationAsSetR4_ExplicitVarSizeWithMarkerR4_Values_2_ExplicitVarSizeWithFlags_Flags[q3, 1]) + | q3 : int(1..84)]) + diff --git a/tests/exhaustive/basic/relation05_set_fixed_direct/expected/model_2.eprime b/tests/exhaustive/basic/relation05_set_fixed_direct/expected/model_2.eprime index 35f582c602..cdd331bb1d 100644 --- a/tests/exhaustive/basic/relation05_set_fixed_direct/expected/model_2.eprime +++ b/tests/exhaustive/basic/relation05_set_fixed_direct/expected/model_2.eprime @@ -12,11 +12,5 @@ such that [-toInt(x_RelationAsSetR2_ExplicitR2_2_Occurrence[q1 + 1, q5]) | q5 : int(1..3)]; int(1..2)]) | q1 : int(1..3)]), -<<<<<<< HEAD - and([[x_RelationAsSetR3_ExplicitR3_2_Explicit[q2, 1]; int(1)] >>>>>> main diff --git a/tests/exhaustive/basic/relation05_set_fixed_setty/expected/model_2.eprime b/tests/exhaustive/basic/relation05_set_fixed_setty/expected/model_2.eprime index 1f7af37e2a..f35ec39261 100644 --- a/tests/exhaustive/basic/relation05_set_fixed_setty/expected/model_2.eprime +++ b/tests/exhaustive/basic/relation05_set_fixed_setty/expected/model_2.eprime @@ -10,9 +10,5 @@ such that flatten([[x_ExplicitR2_1[q1 + 1]; int(1)], [-toInt(x_ExplicitR2_2_Occurrence[q1 + 1, q5]) | q5 : int(1..3)]; int(1..2)]) | q1 : int(1..3)]), -<<<<<<< HEAD - and([[x_ExplicitR3_2_Explicit[q2, 1]; int(1)] >>>>>> main diff --git a/tests/exhaustive/basic/relation06_set_bounded_direct/expected/model_2.eprime b/tests/exhaustive/basic/relation06_set_bounded_direct/expected/model_2.eprime index bb7be86392..5c9f630e85 100644 --- a/tests/exhaustive/basic/relation06_set_bounded_direct/expected/model_2.eprime +++ b/tests/exhaustive/basic/relation06_set_bounded_direct/expected/model_2.eprime @@ -21,17 +21,9 @@ such that x_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_1[q2] = 1 /\ and([x_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_2_Occurrence[q2, q7] = false | q7 : int(1..3)]) | q2 : int(1..3)]), -<<<<<<< HEAD - 2 <= x_RelationAsSetR3_ExplicitVarSizeWithMarkerR3_Marker, - x_RelationAsSetR3_ExplicitVarSizeWithMarkerR3_Marker <= 3, - and([q3 <= x_RelationAsSetR3_ExplicitVarSizeWithMarkerR3_Marker -> - [x_RelationAsSetR3_ExplicitVarSizeWithMarkerR3_Values_2_Explicit[q3, 1]; int(1)] 2 = sum([toInt(x_RelationAsSetR2_ExplicitVarSizeWithMarkerR2_Values_2_Occurrence[q3, q4]) | q4 : int(1..3)]) ->>>>>>> main | q3 : int(1..3)]) diff --git a/tests/exhaustive/basic/relation06_set_bounded_setty/expected/model_2.eprime b/tests/exhaustive/basic/relation06_set_bounded_setty/expected/model_2.eprime index d1349cf0d0..2a175b772c 100644 --- a/tests/exhaustive/basic/relation06_set_bounded_setty/expected/model_2.eprime +++ b/tests/exhaustive/basic/relation06_set_bounded_setty/expected/model_2.eprime @@ -20,17 +20,9 @@ such that x_ExplicitVarSizeWithMarkerR2_Values_1[q2] = 1 /\ and([x_ExplicitVarSizeWithMarkerR2_Values_2_Occurrence[q2, q7] = false | q7 : int(1..3)]) | q2 : int(1..3)]), -<<<<<<< HEAD - 2 <= x_ExplicitVarSizeWithMarkerR3_Marker, - x_ExplicitVarSizeWithMarkerR3_Marker <= 3, - and([q3 <= x_ExplicitVarSizeWithMarkerR3_Marker -> - [x_ExplicitVarSizeWithMarkerR3_Values_2_Explicit[q3, 1]; int(1)] 2 = sum([toInt(x_ExplicitVarSizeWithMarkerR2_Values_2_Occurrence[q3, q4]) | q4 : int(1..3)]) ->>>>>>> main | q3 : int(1..3)]) diff --git a/tests/exhaustive/basic/relation06_set_bounded_setty/expected/model_4.eprime b/tests/exhaustive/basic/relation06_set_bounded_setty/expected/model_4.eprime index 4f317c83dc..ef02aab680 100644 --- a/tests/exhaustive/basic/relation06_set_bounded_setty/expected/model_4.eprime +++ b/tests/exhaustive/basic/relation06_set_bounded_setty/expected/model_4.eprime @@ -20,19 +20,10 @@ such that x_ExplicitVarSizeWithFlagsR2_Values_1[q2] = 1 /\ and([x_ExplicitVarSizeWithFlagsR2_Values_2_Occurrence[q2, q9] = false | q9 : int(1..3)]) | q2 : int(1..3)]), -<<<<<<< HEAD - and([x_ExplicitVarSizeWithFlagsR3_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlagsR3_Flags[q3] | q3 : int(1..2)]), - 2 <= sum([toInt(x_ExplicitVarSizeWithFlagsR3_Flags[q4]) | q4 : int(1..3)]), - sum([toInt(x_ExplicitVarSizeWithFlagsR3_Flags[q4]) | q4 : int(1..3)]) <= 3, - and([x_ExplicitVarSizeWithFlagsR3_Flags[q5] -> - [x_ExplicitVarSizeWithFlagsR3_Values_2_Explicit[q5, 1]; int(1)] x_ExplicitVarSizeWithFlagsR2_Flags[q3] | q3 : int(1..2)]), 2 <= sum([toInt(x_ExplicitVarSizeWithFlagsR2_Flags[q4]) | q4 : int(1..3)]), sum([toInt(x_ExplicitVarSizeWithFlagsR2_Flags[q4]) | q4 : int(1..3)]) <= 3, and([x_ExplicitVarSizeWithFlagsR2_Flags[q5] -> 2 = sum([toInt(x_ExplicitVarSizeWithFlagsR2_Values_2_Occurrence[q5, q6]) | q6 : int(1..3)]) ->>>>>>> main | q5 : int(1..3)]) diff --git a/tests/exhaustive/basic/sequence_injective_01/expected/model.eprime b/tests/exhaustive/basic/sequence_injective_01/expected/model.eprime index c8d80819ad..6b789c1341 100644 --- a/tests/exhaustive/basic/sequence_injective_01/expected/model.eprime +++ b/tests/exhaustive/basic/sequence_injective_01/expected/model.eprime @@ -7,5 +7,5 @@ branching on [f_ExplicitBounded_Length, f_ExplicitBounded_Values_1, f_ExplicitBo such that and([f_ExplicitBounded_Values_1[q1] != f_ExplicitBounded_Values_1[q2] \/ f_ExplicitBounded_Values_2[q1] != f_ExplicitBounded_Values_2[q2] - | q1 : int(1..2), q2 : int(1..2), [q1; int(1)] f_ExplicitBounded_Values_1[q2] != f_ExplicitBounded_Values_1[q3] \/ f_ExplicitBounded_Values_2[q2] != f_ExplicitBounded_Values_2[q3] - | q2 : int(1..2), q3 : int(1..2), [q2; int(1)] >>>>>> main diff --git a/tests/exhaustive/basic/set01_2/expected/model_1_2.eprime b/tests/exhaustive/basic/set01_2/expected/model_1_2.eprime index e944088997..560304aacd 100644 --- a/tests/exhaustive/basic/set01_2/expected/model_1_2.eprime +++ b/tests/exhaustive/basic/set01_2/expected/model_1_2.eprime @@ -4,17 +4,9 @@ find x_Explicit: matrix indexed by [int(1..2)] of int(1..3) find x_Occurrence: matrix indexed by [int(1..3)] of bool branching on [x_Occurrence, x_Explicit] such that -<<<<<<< HEAD - and([x_Occurrence[i] | i : int(1..2)]), - 2 = sum([toInt(x_Occurrence[q1]) | q1 : int(1..3)]), - [x_Explicit[1]; int(1)] or([x_Explicit[q8] = q6 | q8 : int(1..2)]) | q6 : int(1..3)]) -======= and([or([x_Explicit[q10] = i | q10 : int(1..2)]) | i : int(1..2)]), x_Explicit[1] < x_Explicit[2], 2 = sum([toInt(x_Occurrence[q3]) | q3 : int(1..3)]), and([x_Occurrence[q4] -> or([x_Explicit[q6] = q4 | q6 : int(1..2)]) | q4 : int(1..3)]), and([x_Occurrence[x_Explicit[q8]] | q8 : int(1..2)]) ->>>>>>> main diff --git a/tests/exhaustive/basic/set01_2/expected/model_2_1.eprime b/tests/exhaustive/basic/set01_2/expected/model_2_1.eprime index 7b0834eddc..d0220e3ef9 100644 --- a/tests/exhaustive/basic/set01_2/expected/model_2_1.eprime +++ b/tests/exhaustive/basic/set01_2/expected/model_2_1.eprime @@ -4,17 +4,9 @@ find x_Occurrence: matrix indexed by [int(1..3)] of bool find x_Explicit: matrix indexed by [int(1..2)] of int(1..3) branching on [x_Explicit, x_Occurrence] such that -<<<<<<< HEAD - and([or([x_Explicit[q10] = i | q10 : int(1..2)]) | i : int(1..2)]), - [x_Explicit[1]; int(1)] or([x_Explicit[q6] = q4 | q6 : int(1..2)]) | q4 : int(1..3)]), - and([x_Occurrence[x_Explicit[q8]] | q8 : int(1..2)]) -======= and([x_Occurrence[i] | i : int(1..2)]), 2 = sum([toInt(x_Occurrence[q1]) | q1 : int(1..3)]), x_Explicit[1] < x_Explicit[2], and([x_Occurrence[x_Explicit[q5]] | q5 : int(1..2)]), and([x_Occurrence[q6] -> or([x_Explicit[q8] = q6 | q8 : int(1..2)]) | q6 : int(1..3)]) ->>>>>>> main diff --git a/tests/exhaustive/basic/set01_2/expected/model_2_2.eprime b/tests/exhaustive/basic/set01_2/expected/model_2_2.eprime index ba601dd7d5..e83e48b7e4 100644 --- a/tests/exhaustive/basic/set01_2/expected/model_2_2.eprime +++ b/tests/exhaustive/basic/set01_2/expected/model_2_2.eprime @@ -3,11 +3,6 @@ language ESSENCE' 1.0 find x_Occurrence: matrix indexed by [int(1..3)] of bool branching on [x_Occurrence] such that -<<<<<<< HEAD - and([or([x_Explicit[q4] = i | q4 : int(1..2)]) | i : int(1..2)]), - [x_Explicit[1]; int(1)] >>>>>> main diff --git a/tests/exhaustive/basic/set01_3/expected/model_1_2.eprime b/tests/exhaustive/basic/set01_3/expected/model_1_2.eprime index e944088997..560304aacd 100644 --- a/tests/exhaustive/basic/set01_3/expected/model_1_2.eprime +++ b/tests/exhaustive/basic/set01_3/expected/model_1_2.eprime @@ -4,17 +4,9 @@ find x_Explicit: matrix indexed by [int(1..2)] of int(1..3) find x_Occurrence: matrix indexed by [int(1..3)] of bool branching on [x_Occurrence, x_Explicit] such that -<<<<<<< HEAD - and([x_Occurrence[i] | i : int(1..2)]), - 2 = sum([toInt(x_Occurrence[q1]) | q1 : int(1..3)]), - [x_Explicit[1]; int(1)] or([x_Explicit[q8] = q6 | q8 : int(1..2)]) | q6 : int(1..3)]) -======= and([or([x_Explicit[q10] = i | q10 : int(1..2)]) | i : int(1..2)]), x_Explicit[1] < x_Explicit[2], 2 = sum([toInt(x_Occurrence[q3]) | q3 : int(1..3)]), and([x_Occurrence[q4] -> or([x_Explicit[q6] = q4 | q6 : int(1..2)]) | q4 : int(1..3)]), and([x_Occurrence[x_Explicit[q8]] | q8 : int(1..2)]) ->>>>>>> main diff --git a/tests/exhaustive/basic/set01_3/expected/model_2_1.eprime b/tests/exhaustive/basic/set01_3/expected/model_2_1.eprime index 7b0834eddc..d0220e3ef9 100644 --- a/tests/exhaustive/basic/set01_3/expected/model_2_1.eprime +++ b/tests/exhaustive/basic/set01_3/expected/model_2_1.eprime @@ -4,17 +4,9 @@ find x_Occurrence: matrix indexed by [int(1..3)] of bool find x_Explicit: matrix indexed by [int(1..2)] of int(1..3) branching on [x_Explicit, x_Occurrence] such that -<<<<<<< HEAD - and([or([x_Explicit[q10] = i | q10 : int(1..2)]) | i : int(1..2)]), - [x_Explicit[1]; int(1)] or([x_Explicit[q6] = q4 | q6 : int(1..2)]) | q4 : int(1..3)]), - and([x_Occurrence[x_Explicit[q8]] | q8 : int(1..2)]) -======= and([x_Occurrence[i] | i : int(1..2)]), 2 = sum([toInt(x_Occurrence[q1]) | q1 : int(1..3)]), x_Explicit[1] < x_Explicit[2], and([x_Occurrence[x_Explicit[q5]] | q5 : int(1..2)]), and([x_Occurrence[q6] -> or([x_Explicit[q8] = q6 | q8 : int(1..2)]) | q6 : int(1..3)]) ->>>>>>> main diff --git a/tests/exhaustive/basic/set01_3/expected/model_2_2.eprime b/tests/exhaustive/basic/set01_3/expected/model_2_2.eprime index ba601dd7d5..e83e48b7e4 100644 --- a/tests/exhaustive/basic/set01_3/expected/model_2_2.eprime +++ b/tests/exhaustive/basic/set01_3/expected/model_2_2.eprime @@ -3,11 +3,6 @@ language ESSENCE' 1.0 find x_Occurrence: matrix indexed by [int(1..3)] of bool branching on [x_Occurrence] such that -<<<<<<< HEAD - and([or([x_Explicit[q4] = i | q4 : int(1..2)]) | i : int(1..2)]), - [x_Explicit[1]; int(1)] >>>>>> main diff --git a/tests/exhaustive/basic/set02/expected/model_1_2.eprime b/tests/exhaustive/basic/set02/expected/model_1_2.eprime index f551eb02e0..0434a4ad13 100644 --- a/tests/exhaustive/basic/set02/expected/model_1_2.eprime +++ b/tests/exhaustive/basic/set02/expected/model_1_2.eprime @@ -4,17 +4,9 @@ find x_Explicit: matrix indexed by [int(1..2)] of int(1..3) find x_Occurrence: matrix indexed by [int(1..3)] of bool branching on [x_Occurrence, x_Explicit] such that -<<<<<<< HEAD - x_Occurrence[1], - 2 = sum([toInt(x_Occurrence[q1]) | q1 : int(1..3)]), - [x_Explicit[1]; int(1)] or([x_Explicit[q8] = q6 | q8 : int(1..2)]) | q6 : int(1..3)]) -======= or([x_Explicit[q10] = 1 | q10 : int(1..2)]), x_Explicit[1] < x_Explicit[2], 2 = sum([toInt(x_Occurrence[q3]) | q3 : int(1..3)]), and([x_Occurrence[q4] -> or([x_Explicit[q6] = q4 | q6 : int(1..2)]) | q4 : int(1..3)]), and([x_Occurrence[x_Explicit[q8]] | q8 : int(1..2)]) ->>>>>>> main diff --git a/tests/exhaustive/basic/set02/expected/model_2_1.eprime b/tests/exhaustive/basic/set02/expected/model_2_1.eprime index db500dda0f..4fe89c0a58 100644 --- a/tests/exhaustive/basic/set02/expected/model_2_1.eprime +++ b/tests/exhaustive/basic/set02/expected/model_2_1.eprime @@ -4,17 +4,9 @@ find x_Occurrence: matrix indexed by [int(1..3)] of bool find x_Explicit: matrix indexed by [int(1..2)] of int(1..3) branching on [x_Explicit, x_Occurrence] such that -<<<<<<< HEAD - or([x_Explicit[q10] = 1 | q10 : int(1..2)]), - [x_Explicit[1]; int(1)] or([x_Explicit[q6] = q4 | q6 : int(1..2)]) | q4 : int(1..3)]), - and([x_Occurrence[x_Explicit[q8]] | q8 : int(1..2)]) -======= x_Occurrence[1], 2 = sum([toInt(x_Occurrence[q1]) | q1 : int(1..3)]), x_Explicit[1] < x_Explicit[2], and([x_Occurrence[x_Explicit[q5]] | q5 : int(1..2)]), and([x_Occurrence[q6] -> or([x_Explicit[q8] = q6 | q8 : int(1..2)]) | q6 : int(1..3)]) ->>>>>>> main diff --git a/tests/exhaustive/basic/set02/expected/model_2_2.eprime b/tests/exhaustive/basic/set02/expected/model_2_2.eprime index 7294fc8d3b..7fddcb8930 100644 --- a/tests/exhaustive/basic/set02/expected/model_2_2.eprime +++ b/tests/exhaustive/basic/set02/expected/model_2_2.eprime @@ -3,11 +3,6 @@ language ESSENCE' 1.0 find x_Occurrence: matrix indexed by [int(1..3)] of bool branching on [x_Occurrence] such that -<<<<<<< HEAD - or([x_Explicit[q4] = 1 | q4 : int(1..2)]), - [x_Explicit[1]; int(1)] >>>>>> main diff --git a/tests/exhaustive/basic/set03/expected/model_1_1-solution000001.solution b/tests/exhaustive/basic/set03/expected/model_1_1-solution000001.solution new file mode 100644 index 0000000000..de5cc861ad --- /dev/null +++ b/tests/exhaustive/basic/set03/expected/model_1_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1} diff --git a/tests/exhaustive/basic/set03/expected/model_1_1-solution000002.solution b/tests/exhaustive/basic/set03/expected/model_1_1-solution000002.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/set03/expected/model_1_1-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/set03/expected/model_1_1.eprime b/tests/exhaustive/basic/set03/expected/model_1_1.eprime new file mode 100644 index 0000000000..16b384a5f6 --- /dev/null +++ b/tests/exhaustive/basic/set03/expected/model_1_1.eprime @@ -0,0 +1,8 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1..2)] of bool +branching on [x_Occurrence] +such that + x_Occurrence[1], + sum([toInt(x_Occurrence[q1]) | q1 : int(1..2)]) <= 2 + diff --git a/tests/exhaustive/basic/set03/expected/model_1_2-solution000001.solution b/tests/exhaustive/basic/set03/expected/model_1_2-solution000001.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/set03/expected/model_1_2-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/set03/expected/model_1_2-solution000002.solution b/tests/exhaustive/basic/set03/expected/model_1_2-solution000002.solution new file mode 100644 index 0000000000..de5cc861ad --- /dev/null +++ b/tests/exhaustive/basic/set03/expected/model_1_2-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1} diff --git a/tests/exhaustive/basic/set03/expected/model_1_2.eprime b/tests/exhaustive/basic/set03/expected/model_1_2.eprime new file mode 100644 index 0000000000..8e12c0f3a2 --- /dev/null +++ b/tests/exhaustive/basic/set03/expected/model_1_2.eprime @@ -0,0 +1,16 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1..2)] of bool +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..2)] of int(1..3) +branching on [x_ExplicitVarSizeWithDummy, x_Occurrence] +such that + x_Occurrence[1], + sum([toInt(x_Occurrence[q1]) | q1 : int(1..2)]) <= 2, + x_ExplicitVarSizeWithDummy[1] < x_ExplicitVarSizeWithDummy[2] \/ x_ExplicitVarSizeWithDummy[1] = 3, + x_ExplicitVarSizeWithDummy[1] = 3 -> x_ExplicitVarSizeWithDummy[2] = 3, + sum([toInt(x_ExplicitVarSizeWithDummy[q4] != 3) | q4 : int(1..2)]) <= 2, + and([x_ExplicitVarSizeWithDummy[q7] != 3 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q7]] | q7 : int(1..2)]), + and([x_Occurrence[q8] -> + or([x_ExplicitVarSizeWithDummy[q10] != 3 /\ x_ExplicitVarSizeWithDummy[q10] = q8 | q10 : int(1..2)]) + | q8 : int(1..2)]) + diff --git a/tests/exhaustive/basic/set03/expected/model_1_3-solution000001.solution b/tests/exhaustive/basic/set03/expected/model_1_3-solution000001.solution new file mode 100644 index 0000000000..de5cc861ad --- /dev/null +++ b/tests/exhaustive/basic/set03/expected/model_1_3-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1} diff --git a/tests/exhaustive/basic/set03/expected/model_1_3-solution000002.solution b/tests/exhaustive/basic/set03/expected/model_1_3-solution000002.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/set03/expected/model_1_3-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/set03/expected/model_1_3.eprime b/tests/exhaustive/basic/set03/expected/model_1_3.eprime new file mode 100644 index 0000000000..6fb9afa1ba --- /dev/null +++ b/tests/exhaustive/basic/set03/expected/model_1_3.eprime @@ -0,0 +1,19 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1..2)] of bool +find x_ExplicitVarSizeWithMarker_Marker: int(0..2) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..2)] of int(1..2) +branching on [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_Occurrence] +such that + x_Occurrence[1], + sum([toInt(x_Occurrence[q1]) | q1 : int(1..2)]) <= 2, + 2 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[1] < x_ExplicitVarSizeWithMarker_Values[2], + and([q3 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q3] = 1 | q3 : int(1..2)]), + x_ExplicitVarSizeWithMarker_Marker <= 2, + and([q6 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q6]] + | q6 : int(1..2)]), + and([x_Occurrence[q7] -> + or([q9 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q9] = q7 | q9 : int(1..2)]) + | q7 : int(1..2)]) + diff --git a/tests/exhaustive/basic/set03/expected/model_1_4-solution000001.solution b/tests/exhaustive/basic/set03/expected/model_1_4-solution000001.solution new file mode 100644 index 0000000000..de5cc861ad --- /dev/null +++ b/tests/exhaustive/basic/set03/expected/model_1_4-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1} diff --git a/tests/exhaustive/basic/set03/expected/model_1_4-solution000002.solution b/tests/exhaustive/basic/set03/expected/model_1_4-solution000002.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/set03/expected/model_1_4-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/set03/expected/model_1_4.eprime b/tests/exhaustive/basic/set03/expected/model_1_4.eprime new file mode 100644 index 0000000000..6301346892 --- /dev/null +++ b/tests/exhaustive/basic/set03/expected/model_1_4.eprime @@ -0,0 +1,18 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1..2)] of bool +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..2)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..2)] of int(1..2) +branching on [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_Occurrence] +such that + x_Occurrence[1], + sum([toInt(x_Occurrence[q1]) | q1 : int(1..2)]) <= 2, + x_ExplicitVarSizeWithFlags_Flags[2] -> x_ExplicitVarSizeWithFlags_Values[1] < x_ExplicitVarSizeWithFlags_Values[2], + and([x_ExplicitVarSizeWithFlags_Flags[q3] = false -> x_ExplicitVarSizeWithFlags_Values[q3] = 1 | q3 : int(1..2)]), + x_ExplicitVarSizeWithFlags_Flags[2] -> x_ExplicitVarSizeWithFlags_Flags[1], + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q5]) | q5 : int(1..2)]) <= 2, + and([x_ExplicitVarSizeWithFlags_Flags[q8] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q8]] | q8 : int(1..2)]), + and([x_Occurrence[q9] -> + or([x_ExplicitVarSizeWithFlags_Flags[q11] /\ x_ExplicitVarSizeWithFlags_Values[q11] = q9 | q11 : int(1..2)]) + | q9 : int(1..2)]) + diff --git a/tests/exhaustive/basic/set03/expected/model_2_1-solution000001.solution b/tests/exhaustive/basic/set03/expected/model_2_1-solution000001.solution new file mode 100644 index 0000000000..de5cc861ad --- /dev/null +++ b/tests/exhaustive/basic/set03/expected/model_2_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1} diff --git a/tests/exhaustive/basic/set03/expected/model_2_1-solution000002.solution b/tests/exhaustive/basic/set03/expected/model_2_1-solution000002.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/set03/expected/model_2_1-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/set03/expected/model_2_1.eprime b/tests/exhaustive/basic/set03/expected/model_2_1.eprime new file mode 100644 index 0000000000..b209f517b3 --- /dev/null +++ b/tests/exhaustive/basic/set03/expected/model_2_1.eprime @@ -0,0 +1,16 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..2)] of int(1..3) +find x_Occurrence: matrix indexed by [int(1..2)] of bool +branching on [x_Occurrence, x_ExplicitVarSizeWithDummy] +such that + or([x_ExplicitVarSizeWithDummy[q12] != 3 /\ x_ExplicitVarSizeWithDummy[q12] = 1 | q12 : int(1..2)]), + x_ExplicitVarSizeWithDummy[1] < x_ExplicitVarSizeWithDummy[2] \/ x_ExplicitVarSizeWithDummy[1] = 3, + x_ExplicitVarSizeWithDummy[1] = 3 -> x_ExplicitVarSizeWithDummy[2] = 3, + sum([toInt(x_ExplicitVarSizeWithDummy[q3] != 3) | q3 : int(1..2)]) <= 2, + sum([toInt(x_Occurrence[q5]) | q5 : int(1..2)]) <= 2, + and([x_Occurrence[q6] -> + or([x_ExplicitVarSizeWithDummy[q8] != 3 /\ x_ExplicitVarSizeWithDummy[q8] = q6 | q8 : int(1..2)]) + | q6 : int(1..2)]), + and([x_ExplicitVarSizeWithDummy[q10] != 3 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q10]] | q10 : int(1..2)]) + diff --git a/tests/exhaustive/basic/set03/expected/model_2_2-solution000001.solution b/tests/exhaustive/basic/set03/expected/model_2_2-solution000001.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/set03/expected/model_2_2-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/set03/expected/model_2_2-solution000002.solution b/tests/exhaustive/basic/set03/expected/model_2_2-solution000002.solution new file mode 100644 index 0000000000..de5cc861ad --- /dev/null +++ b/tests/exhaustive/basic/set03/expected/model_2_2-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1} diff --git a/tests/exhaustive/basic/set03/expected/model_2_2.eprime b/tests/exhaustive/basic/set03/expected/model_2_2.eprime new file mode 100644 index 0000000000..99d5e5a575 --- /dev/null +++ b/tests/exhaustive/basic/set03/expected/model_2_2.eprime @@ -0,0 +1,10 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..2)] of int(1..3) +branching on [x_ExplicitVarSizeWithDummy] +such that + or([x_ExplicitVarSizeWithDummy[q6] != 3 /\ x_ExplicitVarSizeWithDummy[q6] = 1 | q6 : int(1..2)]), + x_ExplicitVarSizeWithDummy[1] < x_ExplicitVarSizeWithDummy[2] \/ x_ExplicitVarSizeWithDummy[1] = 3, + x_ExplicitVarSizeWithDummy[1] = 3 -> x_ExplicitVarSizeWithDummy[2] = 3, + sum([toInt(x_ExplicitVarSizeWithDummy[q3] != 3) | q3 : int(1..2)]) <= 2 + diff --git a/tests/exhaustive/basic/set03/expected/model_2_3-solution000001.solution b/tests/exhaustive/basic/set03/expected/model_2_3-solution000001.solution new file mode 100644 index 0000000000..de5cc861ad --- /dev/null +++ b/tests/exhaustive/basic/set03/expected/model_2_3-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1} diff --git a/tests/exhaustive/basic/set03/expected/model_2_3-solution000002.solution b/tests/exhaustive/basic/set03/expected/model_2_3-solution000002.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/set03/expected/model_2_3-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/set03/expected/model_2_3.eprime b/tests/exhaustive/basic/set03/expected/model_2_3.eprime new file mode 100644 index 0000000000..94cefde44a --- /dev/null +++ b/tests/exhaustive/basic/set03/expected/model_2_3.eprime @@ -0,0 +1,26 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..2)] of int(1..3) +find x_ExplicitVarSizeWithMarker_Marker: int(0..2) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..2)] of int(1..2) +branching on [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_ExplicitVarSizeWithDummy] +such that + or([x_ExplicitVarSizeWithDummy[q17] != 3 /\ x_ExplicitVarSizeWithDummy[q17] = 1 | q17 : int(1..2)]), + x_ExplicitVarSizeWithDummy[1] < x_ExplicitVarSizeWithDummy[2] \/ x_ExplicitVarSizeWithDummy[1] = 3, + x_ExplicitVarSizeWithDummy[1] = 3 -> x_ExplicitVarSizeWithDummy[2] = 3, + sum([toInt(x_ExplicitVarSizeWithDummy[q3] != 3) | q3 : int(1..2)]) <= 2, + 2 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[1] < x_ExplicitVarSizeWithMarker_Values[2], + and([q6 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q6] = 1 | q6 : int(1..2)]), + x_ExplicitVarSizeWithMarker_Marker <= 2, + and([q9 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q11] != 3 /\ + x_ExplicitVarSizeWithDummy[q11] = x_ExplicitVarSizeWithMarker_Values[q9] + | q11 : int(1..2)]) + | q9 : int(1..2)]), + and([x_ExplicitVarSizeWithDummy[q13] != 3 -> + or([q15 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q15] = x_ExplicitVarSizeWithDummy[q13] + | q15 : int(1..2)]) + | q13 : int(1..2)]) + diff --git a/tests/exhaustive/basic/set03/expected/model_2_4-solution000001.solution b/tests/exhaustive/basic/set03/expected/model_2_4-solution000001.solution new file mode 100644 index 0000000000..de5cc861ad --- /dev/null +++ b/tests/exhaustive/basic/set03/expected/model_2_4-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1} diff --git a/tests/exhaustive/basic/set03/expected/model_2_4-solution000002.solution b/tests/exhaustive/basic/set03/expected/model_2_4-solution000002.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/set03/expected/model_2_4-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/set03/expected/model_2_4.eprime b/tests/exhaustive/basic/set03/expected/model_2_4.eprime new file mode 100644 index 0000000000..3b3251ce37 --- /dev/null +++ b/tests/exhaustive/basic/set03/expected/model_2_4.eprime @@ -0,0 +1,26 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..2)] of int(1..3) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..2)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..2)] of int(1..2) +branching on [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_ExplicitVarSizeWithDummy] +such that + or([x_ExplicitVarSizeWithDummy[q19] != 3 /\ x_ExplicitVarSizeWithDummy[q19] = 1 | q19 : int(1..2)]), + x_ExplicitVarSizeWithDummy[1] < x_ExplicitVarSizeWithDummy[2] \/ x_ExplicitVarSizeWithDummy[1] = 3, + x_ExplicitVarSizeWithDummy[1] = 3 -> x_ExplicitVarSizeWithDummy[2] = 3, + sum([toInt(x_ExplicitVarSizeWithDummy[q3] != 3) | q3 : int(1..2)]) <= 2, + x_ExplicitVarSizeWithFlags_Flags[2] -> x_ExplicitVarSizeWithFlags_Values[1] < x_ExplicitVarSizeWithFlags_Values[2], + and([x_ExplicitVarSizeWithFlags_Flags[q6] = false -> x_ExplicitVarSizeWithFlags_Values[q6] = 1 | q6 : int(1..2)]), + x_ExplicitVarSizeWithFlags_Flags[2] -> x_ExplicitVarSizeWithFlags_Flags[1], + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q8]) | q8 : int(1..2)]) <= 2, + and([x_ExplicitVarSizeWithFlags_Flags[q11] -> + or([x_ExplicitVarSizeWithDummy[q13] != 3 /\ + x_ExplicitVarSizeWithDummy[q13] = x_ExplicitVarSizeWithFlags_Values[q11] + | q13 : int(1..2)]) + | q11 : int(1..2)]), + and([x_ExplicitVarSizeWithDummy[q15] != 3 -> + or([x_ExplicitVarSizeWithFlags_Flags[q17] /\ + x_ExplicitVarSizeWithFlags_Values[q17] = x_ExplicitVarSizeWithDummy[q15] + | q17 : int(1..2)]) + | q15 : int(1..2)]) + diff --git a/tests/exhaustive/basic/set03/expected/model_3_1-solution000001.solution b/tests/exhaustive/basic/set03/expected/model_3_1-solution000001.solution new file mode 100644 index 0000000000..de5cc861ad --- /dev/null +++ b/tests/exhaustive/basic/set03/expected/model_3_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1} diff --git a/tests/exhaustive/basic/set03/expected/model_3_1-solution000002.solution b/tests/exhaustive/basic/set03/expected/model_3_1-solution000002.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/set03/expected/model_3_1-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/set03/expected/model_3_1.eprime b/tests/exhaustive/basic/set03/expected/model_3_1.eprime new file mode 100644 index 0000000000..fe211d2c59 --- /dev/null +++ b/tests/exhaustive/basic/set03/expected/model_3_1.eprime @@ -0,0 +1,19 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..2) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..2)] of int(1..2) +find x_Occurrence: matrix indexed by [int(1..2)] of bool +branching on [x_Occurrence, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values] +such that + or([q11 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q11] = 1 | q11 : int(1..2)]), + 2 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[1] < x_ExplicitVarSizeWithMarker_Values[2], + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 1 | q2 : int(1..2)]), + x_ExplicitVarSizeWithMarker_Marker <= 2, + sum([toInt(x_Occurrence[q4]) | q4 : int(1..2)]) <= 2, + and([x_Occurrence[q5] -> + or([q7 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q7] = q5 | q7 : int(1..2)]) + | q5 : int(1..2)]), + and([q9 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q9]] + | q9 : int(1..2)]) + diff --git a/tests/exhaustive/basic/set03/expected/model_3_2-solution000001.solution b/tests/exhaustive/basic/set03/expected/model_3_2-solution000001.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/set03/expected/model_3_2-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/set03/expected/model_3_2-solution000002.solution b/tests/exhaustive/basic/set03/expected/model_3_2-solution000002.solution new file mode 100644 index 0000000000..de5cc861ad --- /dev/null +++ b/tests/exhaustive/basic/set03/expected/model_3_2-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1} diff --git a/tests/exhaustive/basic/set03/expected/model_3_2.eprime b/tests/exhaustive/basic/set03/expected/model_3_2.eprime new file mode 100644 index 0000000000..f1ac7634ba --- /dev/null +++ b/tests/exhaustive/basic/set03/expected/model_3_2.eprime @@ -0,0 +1,26 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..2) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..2)] of int(1..2) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..2)] of int(1..3) +branching on [x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values] +such that + or([q17 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q17] = 1 | q17 : int(1..2)]), + 2 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[1] < x_ExplicitVarSizeWithMarker_Values[2], + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 1 | q2 : int(1..2)]), + x_ExplicitVarSizeWithMarker_Marker <= 2, + x_ExplicitVarSizeWithDummy[1] < x_ExplicitVarSizeWithDummy[2] \/ x_ExplicitVarSizeWithDummy[1] = 3, + x_ExplicitVarSizeWithDummy[1] = 3 -> x_ExplicitVarSizeWithDummy[2] = 3, + sum([toInt(x_ExplicitVarSizeWithDummy[q6] != 3) | q6 : int(1..2)]) <= 2, + and([x_ExplicitVarSizeWithDummy[q9] != 3 -> + or([q11 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q11] = x_ExplicitVarSizeWithDummy[q9] + | q11 : int(1..2)]) + | q9 : int(1..2)]), + and([q13 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q15] != 3 /\ + x_ExplicitVarSizeWithDummy[q15] = x_ExplicitVarSizeWithMarker_Values[q13] + | q15 : int(1..2)]) + | q13 : int(1..2)]) + diff --git a/tests/exhaustive/basic/set03/expected/model_3_3-solution000001.solution b/tests/exhaustive/basic/set03/expected/model_3_3-solution000001.solution new file mode 100644 index 0000000000..de5cc861ad --- /dev/null +++ b/tests/exhaustive/basic/set03/expected/model_3_3-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1} diff --git a/tests/exhaustive/basic/set03/expected/model_3_3-solution000002.solution b/tests/exhaustive/basic/set03/expected/model_3_3-solution000002.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/set03/expected/model_3_3-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/set03/expected/model_3_3.eprime b/tests/exhaustive/basic/set03/expected/model_3_3.eprime new file mode 100644 index 0000000000..aebac4895f --- /dev/null +++ b/tests/exhaustive/basic/set03/expected/model_3_3.eprime @@ -0,0 +1,12 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..2) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..2)] of int(1..2) +branching on [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values] +such that + or([q5 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q5] = 1 | q5 : int(1..2)]), + 2 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[1] < x_ExplicitVarSizeWithMarker_Values[2], + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 1 | q2 : int(1..2)]), + x_ExplicitVarSizeWithMarker_Marker <= 2 + diff --git a/tests/exhaustive/basic/set03/expected/model_3_4-solution000001.solution b/tests/exhaustive/basic/set03/expected/model_3_4-solution000001.solution new file mode 100644 index 0000000000..de5cc861ad --- /dev/null +++ b/tests/exhaustive/basic/set03/expected/model_3_4-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1} diff --git a/tests/exhaustive/basic/set03/expected/model_3_4-solution000002.solution b/tests/exhaustive/basic/set03/expected/model_3_4-solution000002.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/set03/expected/model_3_4-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/set03/expected/model_3_4.eprime b/tests/exhaustive/basic/set03/expected/model_3_4.eprime new file mode 100644 index 0000000000..c839c9c5b8 --- /dev/null +++ b/tests/exhaustive/basic/set03/expected/model_3_4.eprime @@ -0,0 +1,30 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..2) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..2)] of int(1..2) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..2)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..2)] of int(1..2) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_ExplicitVarSizeWithMarker_Marker, + x_ExplicitVarSizeWithMarker_Values] +such that + or([q18 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q18] = 1 | q18 : int(1..2)]), + 2 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[1] < x_ExplicitVarSizeWithMarker_Values[2], + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 1 | q2 : int(1..2)]), + x_ExplicitVarSizeWithMarker_Marker <= 2, + x_ExplicitVarSizeWithFlags_Flags[2] -> x_ExplicitVarSizeWithFlags_Values[1] < x_ExplicitVarSizeWithFlags_Values[2], + and([x_ExplicitVarSizeWithFlags_Flags[q5] = false -> x_ExplicitVarSizeWithFlags_Values[q5] = 1 | q5 : int(1..2)]), + x_ExplicitVarSizeWithFlags_Flags[2] -> x_ExplicitVarSizeWithFlags_Flags[1], + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q7]) | q7 : int(1..2)]) <= 2, + and([x_ExplicitVarSizeWithFlags_Flags[q10] -> + or([q12 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q12] = x_ExplicitVarSizeWithFlags_Values[q10] + | q12 : int(1..2)]) + | q10 : int(1..2)]), + and([q14 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q16] /\ + x_ExplicitVarSizeWithFlags_Values[q16] = x_ExplicitVarSizeWithMarker_Values[q14] + | q16 : int(1..2)]) + | q14 : int(1..2)]) + diff --git a/tests/exhaustive/basic/set03/expected/model_4_1-solution000001.solution b/tests/exhaustive/basic/set03/expected/model_4_1-solution000001.solution new file mode 100644 index 0000000000..de5cc861ad --- /dev/null +++ b/tests/exhaustive/basic/set03/expected/model_4_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1} diff --git a/tests/exhaustive/basic/set03/expected/model_4_1-solution000002.solution b/tests/exhaustive/basic/set03/expected/model_4_1-solution000002.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/set03/expected/model_4_1-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/set03/expected/model_4_1.eprime b/tests/exhaustive/basic/set03/expected/model_4_1.eprime new file mode 100644 index 0000000000..248c3e3b42 --- /dev/null +++ b/tests/exhaustive/basic/set03/expected/model_4_1.eprime @@ -0,0 +1,19 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..2)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..2)] of int(1..2) +find x_Occurrence: matrix indexed by [int(1..2)] of bool +branching on [x_Occurrence, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values] +such that + or([x_ExplicitVarSizeWithFlags_Flags[q13] /\ x_ExplicitVarSizeWithFlags_Values[q13] = 1 | q13 : int(1..2)]), + x_ExplicitVarSizeWithFlags_Flags[2] -> x_ExplicitVarSizeWithFlags_Values[1] < x_ExplicitVarSizeWithFlags_Values[2], + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 1 | q2 : int(1..2)]), + x_ExplicitVarSizeWithFlags_Flags[2] -> x_ExplicitVarSizeWithFlags_Flags[1], + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q4]) | q4 : int(1..2)]) <= 2, + sum([toInt(x_Occurrence[q6]) | q6 : int(1..2)]) <= 2, + and([x_Occurrence[q7] -> + or([x_ExplicitVarSizeWithFlags_Flags[q9] /\ x_ExplicitVarSizeWithFlags_Values[q9] = q7 | q9 : int(1..2)]) + | q7 : int(1..2)]), + and([x_ExplicitVarSizeWithFlags_Flags[q11] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q11]] + | q11 : int(1..2)]) + diff --git a/tests/exhaustive/basic/set03/expected/model_4_2-solution000001.solution b/tests/exhaustive/basic/set03/expected/model_4_2-solution000001.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/set03/expected/model_4_2-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/set03/expected/model_4_2-solution000002.solution b/tests/exhaustive/basic/set03/expected/model_4_2-solution000002.solution new file mode 100644 index 0000000000..de5cc861ad --- /dev/null +++ b/tests/exhaustive/basic/set03/expected/model_4_2-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1} diff --git a/tests/exhaustive/basic/set03/expected/model_4_2.eprime b/tests/exhaustive/basic/set03/expected/model_4_2.eprime new file mode 100644 index 0000000000..ab8292a451 --- /dev/null +++ b/tests/exhaustive/basic/set03/expected/model_4_2.eprime @@ -0,0 +1,26 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..2)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..2)] of int(1..2) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..2)] of int(1..3) +branching on [x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values] +such that + or([x_ExplicitVarSizeWithFlags_Flags[q19] /\ x_ExplicitVarSizeWithFlags_Values[q19] = 1 | q19 : int(1..2)]), + x_ExplicitVarSizeWithFlags_Flags[2] -> x_ExplicitVarSizeWithFlags_Values[1] < x_ExplicitVarSizeWithFlags_Values[2], + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 1 | q2 : int(1..2)]), + x_ExplicitVarSizeWithFlags_Flags[2] -> x_ExplicitVarSizeWithFlags_Flags[1], + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q4]) | q4 : int(1..2)]) <= 2, + x_ExplicitVarSizeWithDummy[1] < x_ExplicitVarSizeWithDummy[2] \/ x_ExplicitVarSizeWithDummy[1] = 3, + x_ExplicitVarSizeWithDummy[1] = 3 -> x_ExplicitVarSizeWithDummy[2] = 3, + sum([toInt(x_ExplicitVarSizeWithDummy[q8] != 3) | q8 : int(1..2)]) <= 2, + and([x_ExplicitVarSizeWithDummy[q11] != 3 -> + or([x_ExplicitVarSizeWithFlags_Flags[q13] /\ + x_ExplicitVarSizeWithFlags_Values[q13] = x_ExplicitVarSizeWithDummy[q11] + | q13 : int(1..2)]) + | q11 : int(1..2)]), + and([x_ExplicitVarSizeWithFlags_Flags[q15] -> + or([x_ExplicitVarSizeWithDummy[q17] != 3 /\ + x_ExplicitVarSizeWithDummy[q17] = x_ExplicitVarSizeWithFlags_Values[q15] + | q17 : int(1..2)]) + | q15 : int(1..2)]) + diff --git a/tests/exhaustive/basic/set03/expected/model_4_3-solution000001.solution b/tests/exhaustive/basic/set03/expected/model_4_3-solution000001.solution new file mode 100644 index 0000000000..de5cc861ad --- /dev/null +++ b/tests/exhaustive/basic/set03/expected/model_4_3-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1} diff --git a/tests/exhaustive/basic/set03/expected/model_4_3-solution000002.solution b/tests/exhaustive/basic/set03/expected/model_4_3-solution000002.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/set03/expected/model_4_3-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/set03/expected/model_4_3.eprime b/tests/exhaustive/basic/set03/expected/model_4_3.eprime new file mode 100644 index 0000000000..3a1cb29286 --- /dev/null +++ b/tests/exhaustive/basic/set03/expected/model_4_3.eprime @@ -0,0 +1,30 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..2)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..2)] of int(1..2) +find x_ExplicitVarSizeWithMarker_Marker: int(0..2) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..2)] of int(1..2) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_ExplicitVarSizeWithFlags_Flags, + x_ExplicitVarSizeWithFlags_Values] +such that + or([x_ExplicitVarSizeWithFlags_Flags[q18] /\ x_ExplicitVarSizeWithFlags_Values[q18] = 1 | q18 : int(1..2)]), + x_ExplicitVarSizeWithFlags_Flags[2] -> x_ExplicitVarSizeWithFlags_Values[1] < x_ExplicitVarSizeWithFlags_Values[2], + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 1 | q2 : int(1..2)]), + x_ExplicitVarSizeWithFlags_Flags[2] -> x_ExplicitVarSizeWithFlags_Flags[1], + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q4]) | q4 : int(1..2)]) <= 2, + 2 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[1] < x_ExplicitVarSizeWithMarker_Values[2], + and([q7 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q7] = 1 | q7 : int(1..2)]), + x_ExplicitVarSizeWithMarker_Marker <= 2, + and([q10 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q12] /\ + x_ExplicitVarSizeWithFlags_Values[q12] = x_ExplicitVarSizeWithMarker_Values[q10] + | q12 : int(1..2)]) + | q10 : int(1..2)]), + and([x_ExplicitVarSizeWithFlags_Flags[q14] -> + or([q16 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q16] = x_ExplicitVarSizeWithFlags_Values[q14] + | q16 : int(1..2)]) + | q14 : int(1..2)]) + diff --git a/tests/exhaustive/basic/set03/expected/model_4_4-solution000001.solution b/tests/exhaustive/basic/set03/expected/model_4_4-solution000001.solution new file mode 100644 index 0000000000..de5cc861ad --- /dev/null +++ b/tests/exhaustive/basic/set03/expected/model_4_4-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1} diff --git a/tests/exhaustive/basic/set03/expected/model_4_4-solution000002.solution b/tests/exhaustive/basic/set03/expected/model_4_4-solution000002.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/set03/expected/model_4_4-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/set03/expected/model_4_4.eprime b/tests/exhaustive/basic/set03/expected/model_4_4.eprime new file mode 100644 index 0000000000..ec9b61f711 --- /dev/null +++ b/tests/exhaustive/basic/set03/expected/model_4_4.eprime @@ -0,0 +1,12 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..2)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..2)] of int(1..2) +branching on [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values] +such that + or([x_ExplicitVarSizeWithFlags_Flags[q7] /\ x_ExplicitVarSizeWithFlags_Values[q7] = 1 | q7 : int(1..2)]), + x_ExplicitVarSizeWithFlags_Flags[2] -> x_ExplicitVarSizeWithFlags_Values[1] < x_ExplicitVarSizeWithFlags_Values[2], + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 1 | q2 : int(1..2)]), + x_ExplicitVarSizeWithFlags_Flags[2] -> x_ExplicitVarSizeWithFlags_Flags[1], + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q4]) | q4 : int(1..2)]) <= 2 + diff --git a/tests/exhaustive/basic/set04/expected/model_1_1_1-solution000001.solution b/tests/exhaustive/basic/set04/expected/model_1_1_1-solution000001.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_1_1_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/set04/expected/model_1_1_1-solution000002.solution b/tests/exhaustive/basic/set04/expected/model_1_1_1-solution000002.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_1_1_1-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set04/expected/model_1_1_1.eprime b/tests/exhaustive/basic/set04/expected/model_1_1_1.eprime new file mode 100644 index 0000000000..758eeb2d3a --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_1_1_1.eprime @@ -0,0 +1,9 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1..3)] of bool +branching on [x_Occurrence] +such that + x_Occurrence[1], + x_Occurrence[2], + sum([toInt(x_Occurrence[q1]) | q1 : int(1..3)]) <= 3 + diff --git a/tests/exhaustive/basic/set04/expected/model_1_1_2-solution000001.solution b/tests/exhaustive/basic/set04/expected/model_1_1_2-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_1_1_2-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set04/expected/model_1_1_2-solution000002.solution b/tests/exhaustive/basic/set04/expected/model_1_1_2-solution000002.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_1_1_2-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/set04/expected/model_1_1_2.eprime b/tests/exhaustive/basic/set04/expected/model_1_1_2.eprime new file mode 100644 index 0000000000..f368f0ac5a --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_1_1_2.eprime @@ -0,0 +1,18 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1..3)] of bool +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..3)] of int(1..4) +branching on [x_ExplicitVarSizeWithDummy, x_Occurrence] +such that + x_Occurrence[1], + x_Occurrence[2], + sum([toInt(x_Occurrence[q1]) | q1 : int(1..3)]) <= 3, + and([x_ExplicitVarSizeWithDummy[q2] < x_ExplicitVarSizeWithDummy[q2 + 1] \/ x_ExplicitVarSizeWithDummy[q2] = 4 + | q2 : int(1..2)]), + and([x_ExplicitVarSizeWithDummy[q3] = 4 -> x_ExplicitVarSizeWithDummy[q3 + 1] = 4 | q3 : int(1..2)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q4] != 4) | q4 : int(1..3)]) <= 3, + and([x_ExplicitVarSizeWithDummy[q7] != 4 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q7]] | q7 : int(1..3)]), + and([x_Occurrence[q8] -> + or([x_ExplicitVarSizeWithDummy[q10] != 4 /\ x_ExplicitVarSizeWithDummy[q10] = q8 | q10 : int(1..3)]) + | q8 : int(1..3)]) + diff --git a/tests/exhaustive/basic/set04/expected/model_1_1_3-solution000001.solution b/tests/exhaustive/basic/set04/expected/model_1_1_3-solution000001.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_1_1_3-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/set04/expected/model_1_1_3-solution000002.solution b/tests/exhaustive/basic/set04/expected/model_1_1_3-solution000002.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_1_1_3-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set04/expected/model_1_1_3.eprime b/tests/exhaustive/basic/set04/expected/model_1_1_3.eprime new file mode 100644 index 0000000000..2eabb913cf --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_1_1_3.eprime @@ -0,0 +1,21 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1..3)] of bool +find x_ExplicitVarSizeWithMarker_Marker: int(0..3) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..3)] of int(1..3) +branching on [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_Occurrence] +such that + x_Occurrence[1], + x_Occurrence[2], + sum([toInt(x_Occurrence[q1]) | q1 : int(1..3)]) <= 3, + and([q2 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q2] < x_ExplicitVarSizeWithMarker_Values[q2 + 1] + | q2 : int(1..2)]), + and([q3 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q3] = 1 | q3 : int(1..3)]), + x_ExplicitVarSizeWithMarker_Marker <= 3, + and([q6 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q6]] + | q6 : int(1..3)]), + and([x_Occurrence[q7] -> + or([q9 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q9] = q7 | q9 : int(1..3)]) + | q7 : int(1..3)]) + diff --git a/tests/exhaustive/basic/set04/expected/model_1_1_4-solution000001.solution b/tests/exhaustive/basic/set04/expected/model_1_1_4-solution000001.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_1_1_4-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/set04/expected/model_1_1_4-solution000002.solution b/tests/exhaustive/basic/set04/expected/model_1_1_4-solution000002.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_1_1_4-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set04/expected/model_1_1_4.eprime b/tests/exhaustive/basic/set04/expected/model_1_1_4.eprime new file mode 100644 index 0000000000..ab61dc16a9 --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_1_1_4.eprime @@ -0,0 +1,21 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1..3)] of bool +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..3)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..3)] of int(1..3) +branching on [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_Occurrence] +such that + x_Occurrence[1], + x_Occurrence[2], + sum([toInt(x_Occurrence[q1]) | q1 : int(1..3)]) <= 3, + and([x_ExplicitVarSizeWithFlags_Flags[q2 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q2] < x_ExplicitVarSizeWithFlags_Values[q2 + 1] + | q2 : int(1..2)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3] = false -> x_ExplicitVarSizeWithFlags_Values[q3] = 1 | q3 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q4 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q4] | q4 : int(1..2)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q5]) | q5 : int(1..3)]) <= 3, + and([x_ExplicitVarSizeWithFlags_Flags[q8] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q8]] | q8 : int(1..3)]), + and([x_Occurrence[q9] -> + or([x_ExplicitVarSizeWithFlags_Flags[q11] /\ x_ExplicitVarSizeWithFlags_Values[q11] = q9 | q11 : int(1..3)]) + | q9 : int(1..3)]) + diff --git a/tests/exhaustive/basic/set04/expected/model_1_2_1-solution000001.solution b/tests/exhaustive/basic/set04/expected/model_1_2_1-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_1_2_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set04/expected/model_1_2_1-solution000002.solution b/tests/exhaustive/basic/set04/expected/model_1_2_1-solution000002.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_1_2_1-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/set04/expected/model_1_2_1.eprime b/tests/exhaustive/basic/set04/expected/model_1_2_1.eprime new file mode 100644 index 0000000000..f3b700efaf --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_1_2_1.eprime @@ -0,0 +1,18 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1..3)] of bool +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..3)] of int(1..4) +branching on [x_ExplicitVarSizeWithDummy, x_Occurrence] +such that + x_Occurrence[1], + or([x_ExplicitVarSizeWithDummy[q12] != 4 /\ x_ExplicitVarSizeWithDummy[q12] = 2 | q12 : int(1..3)]), + sum([toInt(x_Occurrence[q1]) | q1 : int(1..3)]) <= 3, + and([x_ExplicitVarSizeWithDummy[q2] < x_ExplicitVarSizeWithDummy[q2 + 1] \/ x_ExplicitVarSizeWithDummy[q2] = 4 + | q2 : int(1..2)]), + and([x_ExplicitVarSizeWithDummy[q3] = 4 -> x_ExplicitVarSizeWithDummy[q3 + 1] = 4 | q3 : int(1..2)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q4] != 4) | q4 : int(1..3)]) <= 3, + and([x_ExplicitVarSizeWithDummy[q7] != 4 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q7]] | q7 : int(1..3)]), + and([x_Occurrence[q8] -> + or([x_ExplicitVarSizeWithDummy[q10] != 4 /\ x_ExplicitVarSizeWithDummy[q10] = q8 | q10 : int(1..3)]) + | q8 : int(1..3)]) + diff --git a/tests/exhaustive/basic/set04/expected/model_1_2_3-solution000001.solution b/tests/exhaustive/basic/set04/expected/model_1_2_3-solution000001.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_1_2_3-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/set04/expected/model_1_2_3-solution000002.solution b/tests/exhaustive/basic/set04/expected/model_1_2_3-solution000002.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_1_2_3-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set04/expected/model_1_2_3.eprime b/tests/exhaustive/basic/set04/expected/model_1_2_3.eprime new file mode 100644 index 0000000000..72080d2343 --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_1_2_3.eprime @@ -0,0 +1,42 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1..3)] of bool +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..3)] of int(1..4) +find x_ExplicitVarSizeWithMarker_Marker: int(0..3) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..3)] of int(1..3) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_Occurrence, x_ExplicitVarSizeWithDummy] +such that + x_Occurrence[1], + or([x_ExplicitVarSizeWithDummy[q28] != 4 /\ x_ExplicitVarSizeWithDummy[q28] = 2 | q28 : int(1..3)]), + sum([toInt(x_Occurrence[q1]) | q1 : int(1..3)]) <= 3, + and([x_ExplicitVarSizeWithDummy[q2] < x_ExplicitVarSizeWithDummy[q2 + 1] \/ x_ExplicitVarSizeWithDummy[q2] = 4 + | q2 : int(1..2)]), + and([x_ExplicitVarSizeWithDummy[q3] = 4 -> x_ExplicitVarSizeWithDummy[q3 + 1] = 4 | q3 : int(1..2)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q4] != 4) | q4 : int(1..3)]) <= 3, + and([x_ExplicitVarSizeWithDummy[q7] != 4 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q7]] | q7 : int(1..3)]), + and([x_Occurrence[q8] -> + or([x_ExplicitVarSizeWithDummy[q10] != 4 /\ x_ExplicitVarSizeWithDummy[q10] = q8 | q10 : int(1..3)]) + | q8 : int(1..3)]), + and([q11 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q11] < x_ExplicitVarSizeWithMarker_Values[q11 + 1] + | q11 : int(1..2)]), + and([q12 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q12] = 1 | q12 : int(1..3)]), + x_ExplicitVarSizeWithMarker_Marker <= 3, + and([q15 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q15]] + | q15 : int(1..3)]), + and([x_Occurrence[q16] -> + or([q18 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q18] = q16 + | q18 : int(1..3)]) + | q16 : int(1..3)]), + and([q20 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q22] != 4 /\ + x_ExplicitVarSizeWithDummy[q22] = x_ExplicitVarSizeWithMarker_Values[q20] + | q22 : int(1..3)]) + | q20 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q24] != 4 -> + or([q26 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q26] = x_ExplicitVarSizeWithDummy[q24] + | q26 : int(1..3)]) + | q24 : int(1..3)]) + diff --git a/tests/exhaustive/basic/set04/expected/model_1_2_4-solution000001.solution b/tests/exhaustive/basic/set04/expected/model_1_2_4-solution000001.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_1_2_4-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/set04/expected/model_1_2_4-solution000002.solution b/tests/exhaustive/basic/set04/expected/model_1_2_4-solution000002.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_1_2_4-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set04/expected/model_1_2_4.eprime b/tests/exhaustive/basic/set04/expected/model_1_2_4.eprime new file mode 100644 index 0000000000..245f216d5c --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_1_2_4.eprime @@ -0,0 +1,43 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1..3)] of bool +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..3)] of int(1..4) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..3)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..3)] of int(1..3) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_Occurrence, x_ExplicitVarSizeWithDummy] +such that + x_Occurrence[1], + or([x_ExplicitVarSizeWithDummy[q30] != 4 /\ x_ExplicitVarSizeWithDummy[q30] = 2 | q30 : int(1..3)]), + sum([toInt(x_Occurrence[q1]) | q1 : int(1..3)]) <= 3, + and([x_ExplicitVarSizeWithDummy[q2] < x_ExplicitVarSizeWithDummy[q2 + 1] \/ x_ExplicitVarSizeWithDummy[q2] = 4 + | q2 : int(1..2)]), + and([x_ExplicitVarSizeWithDummy[q3] = 4 -> x_ExplicitVarSizeWithDummy[q3 + 1] = 4 | q3 : int(1..2)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q4] != 4) | q4 : int(1..3)]) <= 3, + and([x_ExplicitVarSizeWithDummy[q7] != 4 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q7]] | q7 : int(1..3)]), + and([x_Occurrence[q8] -> + or([x_ExplicitVarSizeWithDummy[q10] != 4 /\ x_ExplicitVarSizeWithDummy[q10] = q8 | q10 : int(1..3)]) + | q8 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q11 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q11] < x_ExplicitVarSizeWithFlags_Values[q11 + 1] + | q11 : int(1..2)]), + and([x_ExplicitVarSizeWithFlags_Flags[q12] = false -> x_ExplicitVarSizeWithFlags_Values[q12] = 1 + | q12 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q13 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q13] | q13 : int(1..2)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q14]) | q14 : int(1..3)]) <= 3, + and([x_ExplicitVarSizeWithFlags_Flags[q17] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q17]] + | q17 : int(1..3)]), + and([x_Occurrence[q18] -> + or([x_ExplicitVarSizeWithFlags_Flags[q20] /\ x_ExplicitVarSizeWithFlags_Values[q20] = q18 | q20 : int(1..3)]) + | q18 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q22] -> + or([x_ExplicitVarSizeWithDummy[q24] != 4 /\ + x_ExplicitVarSizeWithDummy[q24] = x_ExplicitVarSizeWithFlags_Values[q22] + | q24 : int(1..3)]) + | q22 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q26] != 4 -> + or([x_ExplicitVarSizeWithFlags_Flags[q28] /\ + x_ExplicitVarSizeWithFlags_Values[q28] = x_ExplicitVarSizeWithDummy[q26] + | q28 : int(1..3)]) + | q26 : int(1..3)]) + diff --git a/tests/exhaustive/basic/set04/expected/model_1_3_1-solution000001.solution b/tests/exhaustive/basic/set04/expected/model_1_3_1-solution000001.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_1_3_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/set04/expected/model_1_3_1-solution000002.solution b/tests/exhaustive/basic/set04/expected/model_1_3_1-solution000002.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_1_3_1-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set04/expected/model_1_3_1.eprime b/tests/exhaustive/basic/set04/expected/model_1_3_1.eprime new file mode 100644 index 0000000000..567ac8830a --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_1_3_1.eprime @@ -0,0 +1,21 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1..3)] of bool +find x_ExplicitVarSizeWithMarker_Marker: int(0..3) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..3)] of int(1..3) +branching on [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_Occurrence] +such that + x_Occurrence[1], + or([q11 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q11] = 2 | q11 : int(1..3)]), + sum([toInt(x_Occurrence[q1]) | q1 : int(1..3)]) <= 3, + and([q2 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q2] < x_ExplicitVarSizeWithMarker_Values[q2 + 1] + | q2 : int(1..2)]), + and([q3 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q3] = 1 | q3 : int(1..3)]), + x_ExplicitVarSizeWithMarker_Marker <= 3, + and([q6 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q6]] + | q6 : int(1..3)]), + and([x_Occurrence[q7] -> + or([q9 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q9] = q7 | q9 : int(1..3)]) + | q7 : int(1..3)]) + diff --git a/tests/exhaustive/basic/set04/expected/model_1_3_2-solution000001.solution b/tests/exhaustive/basic/set04/expected/model_1_3_2-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_1_3_2-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set04/expected/model_1_3_2-solution000002.solution b/tests/exhaustive/basic/set04/expected/model_1_3_2-solution000002.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_1_3_2-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/set04/expected/model_1_3_2.eprime b/tests/exhaustive/basic/set04/expected/model_1_3_2.eprime new file mode 100644 index 0000000000..8afee978bf --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_1_3_2.eprime @@ -0,0 +1,41 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1..3)] of bool +find x_ExplicitVarSizeWithMarker_Marker: int(0..3) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..3)] of int(1..3) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..3)] of int(1..4) +branching on + [x_ExplicitVarSizeWithDummy, x_Occurrence, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values] +such that + x_Occurrence[1], + or([q28 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q28] = 2 | q28 : int(1..3)]), + sum([toInt(x_Occurrence[q1]) | q1 : int(1..3)]) <= 3, + and([q2 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q2] < x_ExplicitVarSizeWithMarker_Values[q2 + 1] + | q2 : int(1..2)]), + and([q3 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q3] = 1 | q3 : int(1..3)]), + x_ExplicitVarSizeWithMarker_Marker <= 3, + and([q6 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q6]] + | q6 : int(1..3)]), + and([x_Occurrence[q7] -> + or([q9 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q9] = q7 | q9 : int(1..3)]) + | q7 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q10] < x_ExplicitVarSizeWithDummy[q10 + 1] \/ x_ExplicitVarSizeWithDummy[q10] = 4 + | q10 : int(1..2)]), + and([x_ExplicitVarSizeWithDummy[q11] = 4 -> x_ExplicitVarSizeWithDummy[q11 + 1] = 4 | q11 : int(1..2)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q12] != 4) | q12 : int(1..3)]) <= 3, + and([x_ExplicitVarSizeWithDummy[q15] != 4 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q15]] | q15 : int(1..3)]), + and([x_Occurrence[q16] -> + or([x_ExplicitVarSizeWithDummy[q18] != 4 /\ x_ExplicitVarSizeWithDummy[q18] = q16 | q18 : int(1..3)]) + | q16 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q20] != 4 -> + or([q22 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q22] = x_ExplicitVarSizeWithDummy[q20] + | q22 : int(1..3)]) + | q20 : int(1..3)]), + and([q24 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q26] != 4 /\ + x_ExplicitVarSizeWithDummy[q26] = x_ExplicitVarSizeWithMarker_Values[q24] + | q26 : int(1..3)]) + | q24 : int(1..3)]) + diff --git a/tests/exhaustive/basic/set04/expected/model_1_3_4-solution000001.solution b/tests/exhaustive/basic/set04/expected/model_1_3_4-solution000001.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_1_3_4-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/set04/expected/model_1_3_4-solution000002.solution b/tests/exhaustive/basic/set04/expected/model_1_3_4-solution000002.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_1_3_4-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set04/expected/model_1_3_4.eprime b/tests/exhaustive/basic/set04/expected/model_1_3_4.eprime new file mode 100644 index 0000000000..6d2bd5ff5b --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_1_3_4.eprime @@ -0,0 +1,47 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1..3)] of bool +find x_ExplicitVarSizeWithMarker_Marker: int(0..3) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..3)] of int(1..3) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..3)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..3)] of int(1..3) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_Occurrence, + x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values] +such that + x_Occurrence[1], + or([q29 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q29] = 2 | q29 : int(1..3)]), + sum([toInt(x_Occurrence[q1]) | q1 : int(1..3)]) <= 3, + and([q2 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q2] < x_ExplicitVarSizeWithMarker_Values[q2 + 1] + | q2 : int(1..2)]), + and([q3 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q3] = 1 | q3 : int(1..3)]), + x_ExplicitVarSizeWithMarker_Marker <= 3, + and([q6 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q6]] + | q6 : int(1..3)]), + and([x_Occurrence[q7] -> + or([q9 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q9] = q7 | q9 : int(1..3)]) + | q7 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q10 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q10] < x_ExplicitVarSizeWithFlags_Values[q10 + 1] + | q10 : int(1..2)]), + and([x_ExplicitVarSizeWithFlags_Flags[q11] = false -> x_ExplicitVarSizeWithFlags_Values[q11] = 1 + | q11 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q12 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q12] | q12 : int(1..2)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q13]) | q13 : int(1..3)]) <= 3, + and([x_ExplicitVarSizeWithFlags_Flags[q16] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q16]] + | q16 : int(1..3)]), + and([x_Occurrence[q17] -> + or([x_ExplicitVarSizeWithFlags_Flags[q19] /\ x_ExplicitVarSizeWithFlags_Values[q19] = q17 | q19 : int(1..3)]) + | q17 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q21] -> + or([q23 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q23] = x_ExplicitVarSizeWithFlags_Values[q21] + | q23 : int(1..3)]) + | q21 : int(1..3)]), + and([q25 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q27] /\ + x_ExplicitVarSizeWithFlags_Values[q27] = x_ExplicitVarSizeWithMarker_Values[q25] + | q27 : int(1..3)]) + | q25 : int(1..3)]) + diff --git a/tests/exhaustive/basic/set04/expected/model_1_4_1-solution000001.solution b/tests/exhaustive/basic/set04/expected/model_1_4_1-solution000001.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_1_4_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/set04/expected/model_1_4_1-solution000002.solution b/tests/exhaustive/basic/set04/expected/model_1_4_1-solution000002.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_1_4_1-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set04/expected/model_1_4_1.eprime b/tests/exhaustive/basic/set04/expected/model_1_4_1.eprime new file mode 100644 index 0000000000..5915d91c83 --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_1_4_1.eprime @@ -0,0 +1,21 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1..3)] of bool +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..3)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..3)] of int(1..3) +branching on [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_Occurrence] +such that + x_Occurrence[1], + or([x_ExplicitVarSizeWithFlags_Flags[q13] /\ x_ExplicitVarSizeWithFlags_Values[q13] = 2 | q13 : int(1..3)]), + sum([toInt(x_Occurrence[q1]) | q1 : int(1..3)]) <= 3, + and([x_ExplicitVarSizeWithFlags_Flags[q2 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q2] < x_ExplicitVarSizeWithFlags_Values[q2 + 1] + | q2 : int(1..2)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3] = false -> x_ExplicitVarSizeWithFlags_Values[q3] = 1 | q3 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q4 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q4] | q4 : int(1..2)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q5]) | q5 : int(1..3)]) <= 3, + and([x_ExplicitVarSizeWithFlags_Flags[q8] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q8]] | q8 : int(1..3)]), + and([x_Occurrence[q9] -> + or([x_ExplicitVarSizeWithFlags_Flags[q11] /\ x_ExplicitVarSizeWithFlags_Values[q11] = q9 | q11 : int(1..3)]) + | q9 : int(1..3)]) + diff --git a/tests/exhaustive/basic/set04/expected/model_1_4_2-solution000001.solution b/tests/exhaustive/basic/set04/expected/model_1_4_2-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_1_4_2-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set04/expected/model_1_4_2-solution000002.solution b/tests/exhaustive/basic/set04/expected/model_1_4_2-solution000002.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_1_4_2-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/set04/expected/model_1_4_2.eprime b/tests/exhaustive/basic/set04/expected/model_1_4_2.eprime new file mode 100644 index 0000000000..2b37e1dd5a --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_1_4_2.eprime @@ -0,0 +1,41 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1..3)] of bool +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..3)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..3)] of int(1..3) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..3)] of int(1..4) +branching on + [x_ExplicitVarSizeWithDummy, x_Occurrence, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values] +such that + x_Occurrence[1], + or([x_ExplicitVarSizeWithFlags_Flags[q30] /\ x_ExplicitVarSizeWithFlags_Values[q30] = 2 | q30 : int(1..3)]), + sum([toInt(x_Occurrence[q1]) | q1 : int(1..3)]) <= 3, + and([x_ExplicitVarSizeWithFlags_Flags[q2 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q2] < x_ExplicitVarSizeWithFlags_Values[q2 + 1] + | q2 : int(1..2)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3] = false -> x_ExplicitVarSizeWithFlags_Values[q3] = 1 | q3 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q4 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q4] | q4 : int(1..2)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q5]) | q5 : int(1..3)]) <= 3, + and([x_ExplicitVarSizeWithFlags_Flags[q8] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q8]] | q8 : int(1..3)]), + and([x_Occurrence[q9] -> + or([x_ExplicitVarSizeWithFlags_Flags[q11] /\ x_ExplicitVarSizeWithFlags_Values[q11] = q9 | q11 : int(1..3)]) + | q9 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q12] < x_ExplicitVarSizeWithDummy[q12 + 1] \/ x_ExplicitVarSizeWithDummy[q12] = 4 + | q12 : int(1..2)]), + and([x_ExplicitVarSizeWithDummy[q13] = 4 -> x_ExplicitVarSizeWithDummy[q13 + 1] = 4 | q13 : int(1..2)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q14] != 4) | q14 : int(1..3)]) <= 3, + and([x_ExplicitVarSizeWithDummy[q17] != 4 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q17]] | q17 : int(1..3)]), + and([x_Occurrence[q18] -> + or([x_ExplicitVarSizeWithDummy[q20] != 4 /\ x_ExplicitVarSizeWithDummy[q20] = q18 | q20 : int(1..3)]) + | q18 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q22] != 4 -> + or([x_ExplicitVarSizeWithFlags_Flags[q24] /\ + x_ExplicitVarSizeWithFlags_Values[q24] = x_ExplicitVarSizeWithDummy[q22] + | q24 : int(1..3)]) + | q22 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q26] -> + or([x_ExplicitVarSizeWithDummy[q28] != 4 /\ + x_ExplicitVarSizeWithDummy[q28] = x_ExplicitVarSizeWithFlags_Values[q26] + | q28 : int(1..3)]) + | q26 : int(1..3)]) + diff --git a/tests/exhaustive/basic/set04/expected/model_1_4_3-solution000001.solution b/tests/exhaustive/basic/set04/expected/model_1_4_3-solution000001.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_1_4_3-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/set04/expected/model_1_4_3-solution000002.solution b/tests/exhaustive/basic/set04/expected/model_1_4_3-solution000002.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_1_4_3-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set04/expected/model_1_4_3.eprime b/tests/exhaustive/basic/set04/expected/model_1_4_3.eprime new file mode 100644 index 0000000000..df30a96b17 --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_1_4_3.eprime @@ -0,0 +1,46 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1..3)] of bool +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..3)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..3)] of int(1..3) +find x_ExplicitVarSizeWithMarker_Marker: int(0..3) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..3)] of int(1..3) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_Occurrence, + x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values] +such that + x_Occurrence[1], + or([x_ExplicitVarSizeWithFlags_Flags[q29] /\ x_ExplicitVarSizeWithFlags_Values[q29] = 2 | q29 : int(1..3)]), + sum([toInt(x_Occurrence[q1]) | q1 : int(1..3)]) <= 3, + and([x_ExplicitVarSizeWithFlags_Flags[q2 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q2] < x_ExplicitVarSizeWithFlags_Values[q2 + 1] + | q2 : int(1..2)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3] = false -> x_ExplicitVarSizeWithFlags_Values[q3] = 1 | q3 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q4 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q4] | q4 : int(1..2)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q5]) | q5 : int(1..3)]) <= 3, + and([x_ExplicitVarSizeWithFlags_Flags[q8] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q8]] | q8 : int(1..3)]), + and([x_Occurrence[q9] -> + or([x_ExplicitVarSizeWithFlags_Flags[q11] /\ x_ExplicitVarSizeWithFlags_Values[q11] = q9 | q11 : int(1..3)]) + | q9 : int(1..3)]), + and([q12 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q12] < x_ExplicitVarSizeWithMarker_Values[q12 + 1] + | q12 : int(1..2)]), + and([q13 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q13] = 1 | q13 : int(1..3)]), + x_ExplicitVarSizeWithMarker_Marker <= 3, + and([q16 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q16]] + | q16 : int(1..3)]), + and([x_Occurrence[q17] -> + or([q19 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q19] = q17 + | q19 : int(1..3)]) + | q17 : int(1..3)]), + and([q21 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q23] /\ + x_ExplicitVarSizeWithFlags_Values[q23] = x_ExplicitVarSizeWithMarker_Values[q21] + | q23 : int(1..3)]) + | q21 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q25] -> + or([q27 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q27] = x_ExplicitVarSizeWithFlags_Values[q25] + | q27 : int(1..3)]) + | q25 : int(1..3)]) + diff --git a/tests/exhaustive/basic/set04/expected/model_2_1_1-solution000001.solution b/tests/exhaustive/basic/set04/expected/model_2_1_1-solution000001.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_2_1_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/set04/expected/model_2_1_1-solution000002.solution b/tests/exhaustive/basic/set04/expected/model_2_1_1-solution000002.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_2_1_1-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set04/expected/model_2_1_1.eprime b/tests/exhaustive/basic/set04/expected/model_2_1_1.eprime new file mode 100644 index 0000000000..3f095c1e18 --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_2_1_1.eprime @@ -0,0 +1,18 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..3)] of int(1..4) +find x_Occurrence: matrix indexed by [int(1..3)] of bool +branching on [x_Occurrence, x_ExplicitVarSizeWithDummy] +such that + or([x_ExplicitVarSizeWithDummy[q12] != 4 /\ x_ExplicitVarSizeWithDummy[q12] = 1 | q12 : int(1..3)]), + x_Occurrence[2], + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 4 + | q1 : int(1..2)]), + and([x_ExplicitVarSizeWithDummy[q2] = 4 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 4 | q2 : int(1..2)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q3] != 4) | q3 : int(1..3)]) <= 3, + sum([toInt(x_Occurrence[q5]) | q5 : int(1..3)]) <= 3, + and([x_Occurrence[q6] -> + or([x_ExplicitVarSizeWithDummy[q8] != 4 /\ x_ExplicitVarSizeWithDummy[q8] = q6 | q8 : int(1..3)]) + | q6 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q10] != 4 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q10]] | q10 : int(1..3)]) + diff --git a/tests/exhaustive/basic/set04/expected/model_2_1_3-solution000001.solution b/tests/exhaustive/basic/set04/expected/model_2_1_3-solution000001.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_2_1_3-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/set04/expected/model_2_1_3-solution000002.solution b/tests/exhaustive/basic/set04/expected/model_2_1_3-solution000002.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_2_1_3-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set04/expected/model_2_1_3.eprime b/tests/exhaustive/basic/set04/expected/model_2_1_3.eprime new file mode 100644 index 0000000000..c0e6fb3f20 --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_2_1_3.eprime @@ -0,0 +1,42 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..3)] of int(1..4) +find x_Occurrence: matrix indexed by [int(1..3)] of bool +find x_ExplicitVarSizeWithMarker_Marker: int(0..3) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..3)] of int(1..3) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_ExplicitVarSizeWithDummy, x_Occurrence] +such that + or([x_ExplicitVarSizeWithDummy[q28] != 4 /\ x_ExplicitVarSizeWithDummy[q28] = 1 | q28 : int(1..3)]), + x_Occurrence[2], + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 4 + | q1 : int(1..2)]), + and([x_ExplicitVarSizeWithDummy[q2] = 4 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 4 | q2 : int(1..2)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q3] != 4) | q3 : int(1..3)]) <= 3, + sum([toInt(x_Occurrence[q5]) | q5 : int(1..3)]) <= 3, + and([x_Occurrence[q22] -> + or([x_ExplicitVarSizeWithDummy[q24] != 4 /\ x_ExplicitVarSizeWithDummy[q24] = q22 | q24 : int(1..3)]) + | q22 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q26] != 4 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q26]] | q26 : int(1..3)]), + and([q6 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q6] < x_ExplicitVarSizeWithMarker_Values[q6 + 1] + | q6 : int(1..2)]), + and([q7 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q7] = 1 | q7 : int(1..3)]), + x_ExplicitVarSizeWithMarker_Marker <= 3, + and([q10 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q12] != 4 /\ + x_ExplicitVarSizeWithDummy[q12] = x_ExplicitVarSizeWithMarker_Values[q10] + | q12 : int(1..3)]) + | q10 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q14] != 4 -> + or([q16 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q16] = x_ExplicitVarSizeWithDummy[q14] + | q16 : int(1..3)]) + | q14 : int(1..3)]), + and([q18 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q18]] + | q18 : int(1..3)]), + and([x_Occurrence[q19] -> + or([q21 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q21] = q19 + | q21 : int(1..3)]) + | q19 : int(1..3)]) + diff --git a/tests/exhaustive/basic/set04/expected/model_2_1_4-solution000001.solution b/tests/exhaustive/basic/set04/expected/model_2_1_4-solution000001.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_2_1_4-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/set04/expected/model_2_1_4-solution000002.solution b/tests/exhaustive/basic/set04/expected/model_2_1_4-solution000002.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_2_1_4-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set04/expected/model_2_1_4.eprime b/tests/exhaustive/basic/set04/expected/model_2_1_4.eprime new file mode 100644 index 0000000000..5636e1d31f --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_2_1_4.eprime @@ -0,0 +1,42 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..3)] of int(1..4) +find x_Occurrence: matrix indexed by [int(1..3)] of bool +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..3)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..3)] of int(1..3) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_ExplicitVarSizeWithDummy, x_Occurrence] +such that + or([x_ExplicitVarSizeWithDummy[q30] != 4 /\ x_ExplicitVarSizeWithDummy[q30] = 1 | q30 : int(1..3)]), + x_Occurrence[2], + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 4 + | q1 : int(1..2)]), + and([x_ExplicitVarSizeWithDummy[q2] = 4 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 4 | q2 : int(1..2)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q3] != 4) | q3 : int(1..3)]) <= 3, + sum([toInt(x_Occurrence[q5]) | q5 : int(1..3)]) <= 3, + and([x_Occurrence[q24] -> + or([x_ExplicitVarSizeWithDummy[q26] != 4 /\ x_ExplicitVarSizeWithDummy[q26] = q24 | q26 : int(1..3)]) + | q24 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q28] != 4 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q28]] | q28 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q6 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q6] < x_ExplicitVarSizeWithFlags_Values[q6 + 1] + | q6 : int(1..2)]), + and([x_ExplicitVarSizeWithFlags_Flags[q7] = false -> x_ExplicitVarSizeWithFlags_Values[q7] = 1 | q7 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q8 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q8] | q8 : int(1..2)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q9]) | q9 : int(1..3)]) <= 3, + and([x_ExplicitVarSizeWithFlags_Flags[q12] -> + or([x_ExplicitVarSizeWithDummy[q14] != 4 /\ + x_ExplicitVarSizeWithDummy[q14] = x_ExplicitVarSizeWithFlags_Values[q12] + | q14 : int(1..3)]) + | q12 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q16] != 4 -> + or([x_ExplicitVarSizeWithFlags_Flags[q18] /\ + x_ExplicitVarSizeWithFlags_Values[q18] = x_ExplicitVarSizeWithDummy[q16] + | q18 : int(1..3)]) + | q16 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q20] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q20]] + | q20 : int(1..3)]), + and([x_Occurrence[q21] -> + or([x_ExplicitVarSizeWithFlags_Flags[q23] /\ x_ExplicitVarSizeWithFlags_Values[q23] = q21 | q23 : int(1..3)]) + | q21 : int(1..3)]) + diff --git a/tests/exhaustive/basic/set04/expected/model_2_2_1-solution000001.solution b/tests/exhaustive/basic/set04/expected/model_2_2_1-solution000001.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_2_2_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/set04/expected/model_2_2_1-solution000002.solution b/tests/exhaustive/basic/set04/expected/model_2_2_1-solution000002.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_2_2_1-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set04/expected/model_2_2_1.eprime b/tests/exhaustive/basic/set04/expected/model_2_2_1.eprime new file mode 100644 index 0000000000..ab9e099117 --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_2_2_1.eprime @@ -0,0 +1,18 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..3)] of int(1..4) +find x_Occurrence: matrix indexed by [int(1..3)] of bool +branching on [x_Occurrence, x_ExplicitVarSizeWithDummy] +such that + or([x_ExplicitVarSizeWithDummy[q12] != 4 /\ x_ExplicitVarSizeWithDummy[q12] = 1 | q12 : int(1..3)]), + or([x_ExplicitVarSizeWithDummy[q14] != 4 /\ x_ExplicitVarSizeWithDummy[q14] = 2 | q14 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 4 + | q1 : int(1..2)]), + and([x_ExplicitVarSizeWithDummy[q2] = 4 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 4 | q2 : int(1..2)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q3] != 4) | q3 : int(1..3)]) <= 3, + sum([toInt(x_Occurrence[q5]) | q5 : int(1..3)]) <= 3, + and([x_Occurrence[q6] -> + or([x_ExplicitVarSizeWithDummy[q8] != 4 /\ x_ExplicitVarSizeWithDummy[q8] = q6 | q8 : int(1..3)]) + | q6 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q10] != 4 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q10]] | q10 : int(1..3)]) + diff --git a/tests/exhaustive/basic/set04/expected/model_2_2_2-solution000001.solution b/tests/exhaustive/basic/set04/expected/model_2_2_2-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_2_2_2-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set04/expected/model_2_2_2-solution000002.solution b/tests/exhaustive/basic/set04/expected/model_2_2_2-solution000002.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_2_2_2-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/set04/expected/model_2_2_2.eprime b/tests/exhaustive/basic/set04/expected/model_2_2_2.eprime new file mode 100644 index 0000000000..6f4df0cbd5 --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_2_2_2.eprime @@ -0,0 +1,12 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..3)] of int(1..4) +branching on [x_ExplicitVarSizeWithDummy] +such that + or([x_ExplicitVarSizeWithDummy[q6] != 4 /\ x_ExplicitVarSizeWithDummy[q6] = 1 | q6 : int(1..3)]), + or([x_ExplicitVarSizeWithDummy[q8] != 4 /\ x_ExplicitVarSizeWithDummy[q8] = 2 | q8 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 4 + | q1 : int(1..2)]), + and([x_ExplicitVarSizeWithDummy[q2] = 4 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 4 | q2 : int(1..2)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q3] != 4) | q3 : int(1..3)]) <= 3 + diff --git a/tests/exhaustive/basic/set04/expected/model_2_2_3-solution000001.solution b/tests/exhaustive/basic/set04/expected/model_2_2_3-solution000001.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_2_2_3-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/set04/expected/model_2_2_3-solution000002.solution b/tests/exhaustive/basic/set04/expected/model_2_2_3-solution000002.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_2_2_3-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set04/expected/model_2_2_3.eprime b/tests/exhaustive/basic/set04/expected/model_2_2_3.eprime new file mode 100644 index 0000000000..047d06d041 --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_2_2_3.eprime @@ -0,0 +1,29 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..3)] of int(1..4) +find x_ExplicitVarSizeWithMarker_Marker: int(0..3) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..3)] of int(1..3) +branching on [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_ExplicitVarSizeWithDummy] +such that + or([x_ExplicitVarSizeWithDummy[q17] != 4 /\ x_ExplicitVarSizeWithDummy[q17] = 1 | q17 : int(1..3)]), + or([x_ExplicitVarSizeWithDummy[q19] != 4 /\ x_ExplicitVarSizeWithDummy[q19] = 2 | q19 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 4 + | q1 : int(1..2)]), + and([x_ExplicitVarSizeWithDummy[q2] = 4 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 4 | q2 : int(1..2)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q3] != 4) | q3 : int(1..3)]) <= 3, + and([q5 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q5] < x_ExplicitVarSizeWithMarker_Values[q5 + 1] + | q5 : int(1..2)]), + and([q6 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q6] = 1 | q6 : int(1..3)]), + x_ExplicitVarSizeWithMarker_Marker <= 3, + and([q9 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q11] != 4 /\ + x_ExplicitVarSizeWithDummy[q11] = x_ExplicitVarSizeWithMarker_Values[q9] + | q11 : int(1..3)]) + | q9 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q13] != 4 -> + or([q15 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q15] = x_ExplicitVarSizeWithDummy[q13] + | q15 : int(1..3)]) + | q13 : int(1..3)]) + diff --git a/tests/exhaustive/basic/set04/expected/model_2_2_4-solution000001.solution b/tests/exhaustive/basic/set04/expected/model_2_2_4-solution000001.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_2_2_4-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/set04/expected/model_2_2_4-solution000002.solution b/tests/exhaustive/basic/set04/expected/model_2_2_4-solution000002.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_2_2_4-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set04/expected/model_2_2_4.eprime b/tests/exhaustive/basic/set04/expected/model_2_2_4.eprime new file mode 100644 index 0000000000..05a8f136b6 --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_2_2_4.eprime @@ -0,0 +1,30 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..3)] of int(1..4) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..3)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..3)] of int(1..3) +branching on [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_ExplicitVarSizeWithDummy] +such that + or([x_ExplicitVarSizeWithDummy[q19] != 4 /\ x_ExplicitVarSizeWithDummy[q19] = 1 | q19 : int(1..3)]), + or([x_ExplicitVarSizeWithDummy[q21] != 4 /\ x_ExplicitVarSizeWithDummy[q21] = 2 | q21 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 4 + | q1 : int(1..2)]), + and([x_ExplicitVarSizeWithDummy[q2] = 4 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 4 | q2 : int(1..2)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q3] != 4) | q3 : int(1..3)]) <= 3, + and([x_ExplicitVarSizeWithFlags_Flags[q5 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q5] < x_ExplicitVarSizeWithFlags_Values[q5 + 1] + | q5 : int(1..2)]), + and([x_ExplicitVarSizeWithFlags_Flags[q6] = false -> x_ExplicitVarSizeWithFlags_Values[q6] = 1 | q6 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q7 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q7] | q7 : int(1..2)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q8]) | q8 : int(1..3)]) <= 3, + and([x_ExplicitVarSizeWithFlags_Flags[q11] -> + or([x_ExplicitVarSizeWithDummy[q13] != 4 /\ + x_ExplicitVarSizeWithDummy[q13] = x_ExplicitVarSizeWithFlags_Values[q11] + | q13 : int(1..3)]) + | q11 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q15] != 4 -> + or([x_ExplicitVarSizeWithFlags_Flags[q17] /\ + x_ExplicitVarSizeWithFlags_Values[q17] = x_ExplicitVarSizeWithDummy[q15] + | q17 : int(1..3)]) + | q15 : int(1..3)]) + diff --git a/tests/exhaustive/basic/set04/expected/model_2_3_1-solution000001.solution b/tests/exhaustive/basic/set04/expected/model_2_3_1-solution000001.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_2_3_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/set04/expected/model_2_3_1-solution000002.solution b/tests/exhaustive/basic/set04/expected/model_2_3_1-solution000002.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_2_3_1-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set04/expected/model_2_3_1.eprime b/tests/exhaustive/basic/set04/expected/model_2_3_1.eprime new file mode 100644 index 0000000000..9c7150af48 --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_2_3_1.eprime @@ -0,0 +1,42 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..3)] of int(1..4) +find x_ExplicitVarSizeWithMarker_Marker: int(0..3) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..3)] of int(1..3) +find x_Occurrence: matrix indexed by [int(1..3)] of bool +branching on + [x_Occurrence, x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values] +such that + or([x_ExplicitVarSizeWithDummy[q28] != 4 /\ x_ExplicitVarSizeWithDummy[q28] = 1 | q28 : int(1..3)]), + or([q30 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q30] = 2 | q30 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 4 + | q1 : int(1..2)]), + and([x_ExplicitVarSizeWithDummy[q2] = 4 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 4 | q2 : int(1..2)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q3] != 4) | q3 : int(1..3)]) <= 3, + and([q5 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q5] < x_ExplicitVarSizeWithMarker_Values[q5 + 1] + | q5 : int(1..2)]), + and([q6 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q6] = 1 | q6 : int(1..3)]), + x_ExplicitVarSizeWithMarker_Marker <= 3, + and([q9 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q11] != 4 /\ + x_ExplicitVarSizeWithDummy[q11] = x_ExplicitVarSizeWithMarker_Values[q9] + | q11 : int(1..3)]) + | q9 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q13] != 4 -> + or([q15 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q15] = x_ExplicitVarSizeWithDummy[q13] + | q15 : int(1..3)]) + | q13 : int(1..3)]), + sum([toInt(x_Occurrence[q16]) | q16 : int(1..3)]) <= 3, + and([x_Occurrence[q17] -> + or([x_ExplicitVarSizeWithDummy[q19] != 4 /\ x_ExplicitVarSizeWithDummy[q19] = q17 | q19 : int(1..3)]) + | q17 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q21] != 4 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q21]] | q21 : int(1..3)]), + and([x_Occurrence[q22] -> + or([q24 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q24] = q22 + | q24 : int(1..3)]) + | q22 : int(1..3)]), + and([q26 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q26]] + | q26 : int(1..3)]) + diff --git a/tests/exhaustive/basic/set04/expected/model_2_3_2-solution000001.solution b/tests/exhaustive/basic/set04/expected/model_2_3_2-solution000001.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_2_3_2-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/set04/expected/model_2_3_2-solution000002.solution b/tests/exhaustive/basic/set04/expected/model_2_3_2-solution000002.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_2_3_2-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set04/expected/model_2_3_2.eprime b/tests/exhaustive/basic/set04/expected/model_2_3_2.eprime new file mode 100644 index 0000000000..3aa6f1b412 --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_2_3_2.eprime @@ -0,0 +1,29 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..3)] of int(1..4) +find x_ExplicitVarSizeWithMarker_Marker: int(0..3) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..3)] of int(1..3) +branching on [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_ExplicitVarSizeWithDummy] +such that + or([x_ExplicitVarSizeWithDummy[q17] != 4 /\ x_ExplicitVarSizeWithDummy[q17] = 1 | q17 : int(1..3)]), + or([q19 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q19] = 2 | q19 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 4 + | q1 : int(1..2)]), + and([x_ExplicitVarSizeWithDummy[q2] = 4 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 4 | q2 : int(1..2)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q3] != 4) | q3 : int(1..3)]) <= 3, + and([q5 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q5] < x_ExplicitVarSizeWithMarker_Values[q5 + 1] + | q5 : int(1..2)]), + and([q6 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q6] = 1 | q6 : int(1..3)]), + x_ExplicitVarSizeWithMarker_Marker <= 3, + and([q9 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q11] != 4 /\ + x_ExplicitVarSizeWithDummy[q11] = x_ExplicitVarSizeWithMarker_Values[q9] + | q11 : int(1..3)]) + | q9 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q13] != 4 -> + or([q15 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q15] = x_ExplicitVarSizeWithDummy[q13] + | q15 : int(1..3)]) + | q13 : int(1..3)]) + diff --git a/tests/exhaustive/basic/set04/expected/model_2_3_4-solution000001.solution b/tests/exhaustive/basic/set04/expected/model_2_3_4-solution000001.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_2_3_4-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/set04/expected/model_2_3_4-solution000002.solution b/tests/exhaustive/basic/set04/expected/model_2_3_4-solution000002.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_2_3_4-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set04/expected/model_2_3_4.eprime b/tests/exhaustive/basic/set04/expected/model_2_3_4.eprime new file mode 100644 index 0000000000..cc9085b2c5 --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_2_3_4.eprime @@ -0,0 +1,60 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..3)] of int(1..4) +find x_ExplicitVarSizeWithMarker_Marker: int(0..3) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..3)] of int(1..3) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..3)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..3)] of int(1..3) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_ExplicitVarSizeWithDummy, + x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values] +such that + or([x_ExplicitVarSizeWithDummy[q38] != 4 /\ x_ExplicitVarSizeWithDummy[q38] = 1 | q38 : int(1..3)]), + or([q40 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q40] = 2 | q40 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 4 + | q1 : int(1..2)]), + and([x_ExplicitVarSizeWithDummy[q2] = 4 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 4 | q2 : int(1..2)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q3] != 4) | q3 : int(1..3)]) <= 3, + and([q5 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q5] < x_ExplicitVarSizeWithMarker_Values[q5 + 1] + | q5 : int(1..2)]), + and([q6 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q6] = 1 | q6 : int(1..3)]), + x_ExplicitVarSizeWithMarker_Marker <= 3, + and([q9 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q11] != 4 /\ + x_ExplicitVarSizeWithDummy[q11] = x_ExplicitVarSizeWithMarker_Values[q9] + | q11 : int(1..3)]) + | q9 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q13] != 4 -> + or([q15 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q15] = x_ExplicitVarSizeWithDummy[q13] + | q15 : int(1..3)]) + | q13 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q16 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q16] < x_ExplicitVarSizeWithFlags_Values[q16 + 1] + | q16 : int(1..2)]), + and([x_ExplicitVarSizeWithFlags_Flags[q17] = false -> x_ExplicitVarSizeWithFlags_Values[q17] = 1 + | q17 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q18 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q18] | q18 : int(1..2)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q19]) | q19 : int(1..3)]) <= 3, + and([x_ExplicitVarSizeWithFlags_Flags[q22] -> + or([x_ExplicitVarSizeWithDummy[q24] != 4 /\ + x_ExplicitVarSizeWithDummy[q24] = x_ExplicitVarSizeWithFlags_Values[q22] + | q24 : int(1..3)]) + | q22 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q26] != 4 -> + or([x_ExplicitVarSizeWithFlags_Flags[q28] /\ + x_ExplicitVarSizeWithFlags_Values[q28] = x_ExplicitVarSizeWithDummy[q26] + | q28 : int(1..3)]) + | q26 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q30] -> + or([q32 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q32] = x_ExplicitVarSizeWithFlags_Values[q30] + | q32 : int(1..3)]) + | q30 : int(1..3)]), + and([q34 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q36] /\ + x_ExplicitVarSizeWithFlags_Values[q36] = x_ExplicitVarSizeWithMarker_Values[q34] + | q36 : int(1..3)]) + | q34 : int(1..3)]) + diff --git a/tests/exhaustive/basic/set04/expected/model_2_4_1-solution000001.solution b/tests/exhaustive/basic/set04/expected/model_2_4_1-solution000001.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_2_4_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/set04/expected/model_2_4_1-solution000002.solution b/tests/exhaustive/basic/set04/expected/model_2_4_1-solution000002.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_2_4_1-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set04/expected/model_2_4_1.eprime b/tests/exhaustive/basic/set04/expected/model_2_4_1.eprime new file mode 100644 index 0000000000..f56d2aa970 --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_2_4_1.eprime @@ -0,0 +1,42 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..3)] of int(1..4) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..3)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..3)] of int(1..3) +find x_Occurrence: matrix indexed by [int(1..3)] of bool +branching on + [x_Occurrence, x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values] +such that + or([x_ExplicitVarSizeWithDummy[q30] != 4 /\ x_ExplicitVarSizeWithDummy[q30] = 1 | q30 : int(1..3)]), + or([x_ExplicitVarSizeWithFlags_Flags[q32] /\ x_ExplicitVarSizeWithFlags_Values[q32] = 2 | q32 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 4 + | q1 : int(1..2)]), + and([x_ExplicitVarSizeWithDummy[q2] = 4 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 4 | q2 : int(1..2)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q3] != 4) | q3 : int(1..3)]) <= 3, + and([x_ExplicitVarSizeWithFlags_Flags[q5 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q5] < x_ExplicitVarSizeWithFlags_Values[q5 + 1] + | q5 : int(1..2)]), + and([x_ExplicitVarSizeWithFlags_Flags[q6] = false -> x_ExplicitVarSizeWithFlags_Values[q6] = 1 | q6 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q7 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q7] | q7 : int(1..2)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q8]) | q8 : int(1..3)]) <= 3, + and([x_ExplicitVarSizeWithFlags_Flags[q11] -> + or([x_ExplicitVarSizeWithDummy[q13] != 4 /\ + x_ExplicitVarSizeWithDummy[q13] = x_ExplicitVarSizeWithFlags_Values[q11] + | q13 : int(1..3)]) + | q11 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q15] != 4 -> + or([x_ExplicitVarSizeWithFlags_Flags[q17] /\ + x_ExplicitVarSizeWithFlags_Values[q17] = x_ExplicitVarSizeWithDummy[q15] + | q17 : int(1..3)]) + | q15 : int(1..3)]), + sum([toInt(x_Occurrence[q18]) | q18 : int(1..3)]) <= 3, + and([x_Occurrence[q19] -> + or([x_ExplicitVarSizeWithDummy[q21] != 4 /\ x_ExplicitVarSizeWithDummy[q21] = q19 | q21 : int(1..3)]) + | q19 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q23] != 4 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q23]] | q23 : int(1..3)]), + and([x_Occurrence[q24] -> + or([x_ExplicitVarSizeWithFlags_Flags[q26] /\ x_ExplicitVarSizeWithFlags_Values[q26] = q24 | q26 : int(1..3)]) + | q24 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q28] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q28]] + | q28 : int(1..3)]) + diff --git a/tests/exhaustive/basic/set04/expected/model_2_4_2-solution000001.solution b/tests/exhaustive/basic/set04/expected/model_2_4_2-solution000001.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_2_4_2-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/set04/expected/model_2_4_2-solution000002.solution b/tests/exhaustive/basic/set04/expected/model_2_4_2-solution000002.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_2_4_2-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set04/expected/model_2_4_2.eprime b/tests/exhaustive/basic/set04/expected/model_2_4_2.eprime new file mode 100644 index 0000000000..3e7f4a0be3 --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_2_4_2.eprime @@ -0,0 +1,30 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..3)] of int(1..4) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..3)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..3)] of int(1..3) +branching on [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_ExplicitVarSizeWithDummy] +such that + or([x_ExplicitVarSizeWithDummy[q19] != 4 /\ x_ExplicitVarSizeWithDummy[q19] = 1 | q19 : int(1..3)]), + or([x_ExplicitVarSizeWithFlags_Flags[q21] /\ x_ExplicitVarSizeWithFlags_Values[q21] = 2 | q21 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 4 + | q1 : int(1..2)]), + and([x_ExplicitVarSizeWithDummy[q2] = 4 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 4 | q2 : int(1..2)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q3] != 4) | q3 : int(1..3)]) <= 3, + and([x_ExplicitVarSizeWithFlags_Flags[q5 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q5] < x_ExplicitVarSizeWithFlags_Values[q5 + 1] + | q5 : int(1..2)]), + and([x_ExplicitVarSizeWithFlags_Flags[q6] = false -> x_ExplicitVarSizeWithFlags_Values[q6] = 1 | q6 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q7 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q7] | q7 : int(1..2)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q8]) | q8 : int(1..3)]) <= 3, + and([x_ExplicitVarSizeWithFlags_Flags[q11] -> + or([x_ExplicitVarSizeWithDummy[q13] != 4 /\ + x_ExplicitVarSizeWithDummy[q13] = x_ExplicitVarSizeWithFlags_Values[q11] + | q13 : int(1..3)]) + | q11 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q15] != 4 -> + or([x_ExplicitVarSizeWithFlags_Flags[q17] /\ + x_ExplicitVarSizeWithFlags_Values[q17] = x_ExplicitVarSizeWithDummy[q15] + | q17 : int(1..3)]) + | q15 : int(1..3)]) + diff --git a/tests/exhaustive/basic/set04/expected/model_2_4_3-solution000001.solution b/tests/exhaustive/basic/set04/expected/model_2_4_3-solution000001.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_2_4_3-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/set04/expected/model_2_4_3-solution000002.solution b/tests/exhaustive/basic/set04/expected/model_2_4_3-solution000002.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_2_4_3-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set04/expected/model_2_4_3.eprime b/tests/exhaustive/basic/set04/expected/model_2_4_3.eprime new file mode 100644 index 0000000000..71047bdbd3 --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_2_4_3.eprime @@ -0,0 +1,59 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..3)] of int(1..4) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..3)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..3)] of int(1..3) +find x_ExplicitVarSizeWithMarker_Marker: int(0..3) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..3)] of int(1..3) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_ExplicitVarSizeWithDummy, + x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values] +such that + or([x_ExplicitVarSizeWithDummy[q38] != 4 /\ x_ExplicitVarSizeWithDummy[q38] = 1 | q38 : int(1..3)]), + or([x_ExplicitVarSizeWithFlags_Flags[q40] /\ x_ExplicitVarSizeWithFlags_Values[q40] = 2 | q40 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 4 + | q1 : int(1..2)]), + and([x_ExplicitVarSizeWithDummy[q2] = 4 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 4 | q2 : int(1..2)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q3] != 4) | q3 : int(1..3)]) <= 3, + and([x_ExplicitVarSizeWithFlags_Flags[q5 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q5] < x_ExplicitVarSizeWithFlags_Values[q5 + 1] + | q5 : int(1..2)]), + and([x_ExplicitVarSizeWithFlags_Flags[q6] = false -> x_ExplicitVarSizeWithFlags_Values[q6] = 1 | q6 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q7 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q7] | q7 : int(1..2)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q8]) | q8 : int(1..3)]) <= 3, + and([x_ExplicitVarSizeWithFlags_Flags[q11] -> + or([x_ExplicitVarSizeWithDummy[q13] != 4 /\ + x_ExplicitVarSizeWithDummy[q13] = x_ExplicitVarSizeWithFlags_Values[q11] + | q13 : int(1..3)]) + | q11 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q15] != 4 -> + or([x_ExplicitVarSizeWithFlags_Flags[q17] /\ + x_ExplicitVarSizeWithFlags_Values[q17] = x_ExplicitVarSizeWithDummy[q15] + | q17 : int(1..3)]) + | q15 : int(1..3)]), + and([q18 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q18] < x_ExplicitVarSizeWithMarker_Values[q18 + 1] + | q18 : int(1..2)]), + and([q19 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q19] = 1 | q19 : int(1..3)]), + x_ExplicitVarSizeWithMarker_Marker <= 3, + and([q22 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q24] != 4 /\ + x_ExplicitVarSizeWithDummy[q24] = x_ExplicitVarSizeWithMarker_Values[q22] + | q24 : int(1..3)]) + | q22 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q26] != 4 -> + or([q28 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q28] = x_ExplicitVarSizeWithDummy[q26] + | q28 : int(1..3)]) + | q26 : int(1..3)]), + and([q30 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q32] /\ + x_ExplicitVarSizeWithFlags_Values[q32] = x_ExplicitVarSizeWithMarker_Values[q30] + | q32 : int(1..3)]) + | q30 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q34] -> + or([q36 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q36] = x_ExplicitVarSizeWithFlags_Values[q34] + | q36 : int(1..3)]) + | q34 : int(1..3)]) + diff --git a/tests/exhaustive/basic/set04/expected/model_3_1_1-solution000001.solution b/tests/exhaustive/basic/set04/expected/model_3_1_1-solution000001.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_3_1_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/set04/expected/model_3_1_1-solution000002.solution b/tests/exhaustive/basic/set04/expected/model_3_1_1-solution000002.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_3_1_1-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set04/expected/model_3_1_1.eprime b/tests/exhaustive/basic/set04/expected/model_3_1_1.eprime new file mode 100644 index 0000000000..11b75e4c19 --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_3_1_1.eprime @@ -0,0 +1,21 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..3) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..3)] of int(1..3) +find x_Occurrence: matrix indexed by [int(1..3)] of bool +branching on [x_Occurrence, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values] +such that + or([q11 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q11] = 1 | q11 : int(1..3)]), + x_Occurrence[2], + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..2)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 1 | q2 : int(1..3)]), + x_ExplicitVarSizeWithMarker_Marker <= 3, + sum([toInt(x_Occurrence[q4]) | q4 : int(1..3)]) <= 3, + and([x_Occurrence[q5] -> + or([q7 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q7] = q5 | q7 : int(1..3)]) + | q5 : int(1..3)]), + and([q9 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q9]] + | q9 : int(1..3)]) + diff --git a/tests/exhaustive/basic/set04/expected/model_3_1_2-solution000001.solution b/tests/exhaustive/basic/set04/expected/model_3_1_2-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_3_1_2-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set04/expected/model_3_1_2-solution000002.solution b/tests/exhaustive/basic/set04/expected/model_3_1_2-solution000002.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_3_1_2-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/set04/expected/model_3_1_2.eprime b/tests/exhaustive/basic/set04/expected/model_3_1_2.eprime new file mode 100644 index 0000000000..5a6b86cc08 --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_3_1_2.eprime @@ -0,0 +1,42 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..3) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..3)] of int(1..3) +find x_Occurrence: matrix indexed by [int(1..3)] of bool +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..3)] of int(1..4) +branching on + [x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_Occurrence] +such that + or([q28 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q28] = 1 | q28 : int(1..3)]), + x_Occurrence[2], + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..2)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 1 | q2 : int(1..3)]), + x_ExplicitVarSizeWithMarker_Marker <= 3, + sum([toInt(x_Occurrence[q4]) | q4 : int(1..3)]) <= 3, + and([x_Occurrence[q22] -> + or([q24 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q24] = q22 + | q24 : int(1..3)]) + | q22 : int(1..3)]), + and([q26 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q26]] + | q26 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q5] < x_ExplicitVarSizeWithDummy[q5 + 1] \/ x_ExplicitVarSizeWithDummy[q5] = 4 + | q5 : int(1..2)]), + and([x_ExplicitVarSizeWithDummy[q6] = 4 -> x_ExplicitVarSizeWithDummy[q6 + 1] = 4 | q6 : int(1..2)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q7] != 4) | q7 : int(1..3)]) <= 3, + and([x_ExplicitVarSizeWithDummy[q10] != 4 -> + or([q12 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q12] = x_ExplicitVarSizeWithDummy[q10] + | q12 : int(1..3)]) + | q10 : int(1..3)]), + and([q14 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q16] != 4 /\ + x_ExplicitVarSizeWithDummy[q16] = x_ExplicitVarSizeWithMarker_Values[q14] + | q16 : int(1..3)]) + | q14 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q18] != 4 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q18]] | q18 : int(1..3)]), + and([x_Occurrence[q19] -> + or([x_ExplicitVarSizeWithDummy[q21] != 4 /\ x_ExplicitVarSizeWithDummy[q21] = q19 | q21 : int(1..3)]) + | q19 : int(1..3)]) + diff --git a/tests/exhaustive/basic/set04/expected/model_3_1_4-solution000001.solution b/tests/exhaustive/basic/set04/expected/model_3_1_4-solution000001.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_3_1_4-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/set04/expected/model_3_1_4-solution000002.solution b/tests/exhaustive/basic/set04/expected/model_3_1_4-solution000002.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_3_1_4-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set04/expected/model_3_1_4.eprime b/tests/exhaustive/basic/set04/expected/model_3_1_4.eprime new file mode 100644 index 0000000000..d07b3c46b8 --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_3_1_4.eprime @@ -0,0 +1,47 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..3) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..3)] of int(1..3) +find x_Occurrence: matrix indexed by [int(1..3)] of bool +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..3)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..3)] of int(1..3) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_ExplicitVarSizeWithMarker_Marker, + x_ExplicitVarSizeWithMarker_Values, x_Occurrence] +such that + or([q29 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q29] = 1 | q29 : int(1..3)]), + x_Occurrence[2], + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..2)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 1 | q2 : int(1..3)]), + x_ExplicitVarSizeWithMarker_Marker <= 3, + sum([toInt(x_Occurrence[q4]) | q4 : int(1..3)]) <= 3, + and([x_Occurrence[q23] -> + or([q25 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q25] = q23 + | q25 : int(1..3)]) + | q23 : int(1..3)]), + and([q27 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q27]] + | q27 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q5 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q5] < x_ExplicitVarSizeWithFlags_Values[q5 + 1] + | q5 : int(1..2)]), + and([x_ExplicitVarSizeWithFlags_Flags[q6] = false -> x_ExplicitVarSizeWithFlags_Values[q6] = 1 | q6 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q7 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q7] | q7 : int(1..2)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q8]) | q8 : int(1..3)]) <= 3, + and([x_ExplicitVarSizeWithFlags_Flags[q11] -> + or([q13 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q13] = x_ExplicitVarSizeWithFlags_Values[q11] + | q13 : int(1..3)]) + | q11 : int(1..3)]), + and([q15 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q17] /\ + x_ExplicitVarSizeWithFlags_Values[q17] = x_ExplicitVarSizeWithMarker_Values[q15] + | q17 : int(1..3)]) + | q15 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q19] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q19]] + | q19 : int(1..3)]), + and([x_Occurrence[q20] -> + or([x_ExplicitVarSizeWithFlags_Flags[q22] /\ x_ExplicitVarSizeWithFlags_Values[q22] = q20 | q22 : int(1..3)]) + | q20 : int(1..3)]) + diff --git a/tests/exhaustive/basic/set04/expected/model_3_2_1-solution000001.solution b/tests/exhaustive/basic/set04/expected/model_3_2_1-solution000001.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_3_2_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/set04/expected/model_3_2_1-solution000002.solution b/tests/exhaustive/basic/set04/expected/model_3_2_1-solution000002.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_3_2_1-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set04/expected/model_3_2_1.eprime b/tests/exhaustive/basic/set04/expected/model_3_2_1.eprime new file mode 100644 index 0000000000..e22f63bd77 --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_3_2_1.eprime @@ -0,0 +1,42 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..3) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..3)] of int(1..3) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..3)] of int(1..4) +find x_Occurrence: matrix indexed by [int(1..3)] of bool +branching on + [x_Occurrence, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_ExplicitVarSizeWithDummy] +such that + or([q28 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q28] = 1 | q28 : int(1..3)]), + or([x_ExplicitVarSizeWithDummy[q30] != 4 /\ x_ExplicitVarSizeWithDummy[q30] = 2 | q30 : int(1..3)]), + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..2)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 1 | q2 : int(1..3)]), + x_ExplicitVarSizeWithMarker_Marker <= 3, + and([x_ExplicitVarSizeWithDummy[q4] < x_ExplicitVarSizeWithDummy[q4 + 1] \/ x_ExplicitVarSizeWithDummy[q4] = 4 + | q4 : int(1..2)]), + and([x_ExplicitVarSizeWithDummy[q5] = 4 -> x_ExplicitVarSizeWithDummy[q5 + 1] = 4 | q5 : int(1..2)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q6] != 4) | q6 : int(1..3)]) <= 3, + and([x_ExplicitVarSizeWithDummy[q9] != 4 -> + or([q11 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q11] = x_ExplicitVarSizeWithDummy[q9] + | q11 : int(1..3)]) + | q9 : int(1..3)]), + and([q13 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q15] != 4 /\ + x_ExplicitVarSizeWithDummy[q15] = x_ExplicitVarSizeWithMarker_Values[q13] + | q15 : int(1..3)]) + | q13 : int(1..3)]), + sum([toInt(x_Occurrence[q16]) | q16 : int(1..3)]) <= 3, + and([x_Occurrence[q17] -> + or([q19 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q19] = q17 + | q19 : int(1..3)]) + | q17 : int(1..3)]), + and([q21 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q21]] + | q21 : int(1..3)]), + and([x_Occurrence[q22] -> + or([x_ExplicitVarSizeWithDummy[q24] != 4 /\ x_ExplicitVarSizeWithDummy[q24] = q22 | q24 : int(1..3)]) + | q22 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q26] != 4 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q26]] | q26 : int(1..3)]) + diff --git a/tests/exhaustive/basic/set04/expected/model_3_2_2-solution000001.solution b/tests/exhaustive/basic/set04/expected/model_3_2_2-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_3_2_2-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set04/expected/model_3_2_2-solution000002.solution b/tests/exhaustive/basic/set04/expected/model_3_2_2-solution000002.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_3_2_2-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/set04/expected/model_3_2_2.eprime b/tests/exhaustive/basic/set04/expected/model_3_2_2.eprime new file mode 100644 index 0000000000..29d9a0d39b --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_3_2_2.eprime @@ -0,0 +1,29 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..3) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..3)] of int(1..3) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..3)] of int(1..4) +branching on [x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values] +such that + or([q17 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q17] = 1 | q17 : int(1..3)]), + or([x_ExplicitVarSizeWithDummy[q19] != 4 /\ x_ExplicitVarSizeWithDummy[q19] = 2 | q19 : int(1..3)]), + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..2)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 1 | q2 : int(1..3)]), + x_ExplicitVarSizeWithMarker_Marker <= 3, + and([x_ExplicitVarSizeWithDummy[q4] < x_ExplicitVarSizeWithDummy[q4 + 1] \/ x_ExplicitVarSizeWithDummy[q4] = 4 + | q4 : int(1..2)]), + and([x_ExplicitVarSizeWithDummy[q5] = 4 -> x_ExplicitVarSizeWithDummy[q5 + 1] = 4 | q5 : int(1..2)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q6] != 4) | q6 : int(1..3)]) <= 3, + and([x_ExplicitVarSizeWithDummy[q9] != 4 -> + or([q11 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q11] = x_ExplicitVarSizeWithDummy[q9] + | q11 : int(1..3)]) + | q9 : int(1..3)]), + and([q13 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q15] != 4 /\ + x_ExplicitVarSizeWithDummy[q15] = x_ExplicitVarSizeWithMarker_Values[q13] + | q15 : int(1..3)]) + | q13 : int(1..3)]) + diff --git a/tests/exhaustive/basic/set04/expected/model_3_2_4-solution000001.solution b/tests/exhaustive/basic/set04/expected/model_3_2_4-solution000001.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_3_2_4-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/set04/expected/model_3_2_4-solution000002.solution b/tests/exhaustive/basic/set04/expected/model_3_2_4-solution000002.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_3_2_4-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set04/expected/model_3_2_4.eprime b/tests/exhaustive/basic/set04/expected/model_3_2_4.eprime new file mode 100644 index 0000000000..73a3773a1d --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_3_2_4.eprime @@ -0,0 +1,60 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..3) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..3)] of int(1..3) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..3)] of int(1..4) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..3)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..3)] of int(1..3) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_ExplicitVarSizeWithMarker_Marker, + x_ExplicitVarSizeWithMarker_Values, x_ExplicitVarSizeWithDummy] +such that + or([q38 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q38] = 1 | q38 : int(1..3)]), + or([x_ExplicitVarSizeWithDummy[q40] != 4 /\ x_ExplicitVarSizeWithDummy[q40] = 2 | q40 : int(1..3)]), + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..2)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 1 | q2 : int(1..3)]), + x_ExplicitVarSizeWithMarker_Marker <= 3, + and([x_ExplicitVarSizeWithDummy[q4] < x_ExplicitVarSizeWithDummy[q4 + 1] \/ x_ExplicitVarSizeWithDummy[q4] = 4 + | q4 : int(1..2)]), + and([x_ExplicitVarSizeWithDummy[q5] = 4 -> x_ExplicitVarSizeWithDummy[q5 + 1] = 4 | q5 : int(1..2)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q6] != 4) | q6 : int(1..3)]) <= 3, + and([x_ExplicitVarSizeWithDummy[q9] != 4 -> + or([q11 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q11] = x_ExplicitVarSizeWithDummy[q9] + | q11 : int(1..3)]) + | q9 : int(1..3)]), + and([q13 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q15] != 4 /\ + x_ExplicitVarSizeWithDummy[q15] = x_ExplicitVarSizeWithMarker_Values[q13] + | q15 : int(1..3)]) + | q13 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q16 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q16] < x_ExplicitVarSizeWithFlags_Values[q16 + 1] + | q16 : int(1..2)]), + and([x_ExplicitVarSizeWithFlags_Flags[q17] = false -> x_ExplicitVarSizeWithFlags_Values[q17] = 1 + | q17 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q18 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q18] | q18 : int(1..2)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q19]) | q19 : int(1..3)]) <= 3, + and([x_ExplicitVarSizeWithFlags_Flags[q22] -> + or([q24 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q24] = x_ExplicitVarSizeWithFlags_Values[q22] + | q24 : int(1..3)]) + | q22 : int(1..3)]), + and([q26 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q28] /\ + x_ExplicitVarSizeWithFlags_Values[q28] = x_ExplicitVarSizeWithMarker_Values[q26] + | q28 : int(1..3)]) + | q26 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q30] -> + or([x_ExplicitVarSizeWithDummy[q32] != 4 /\ + x_ExplicitVarSizeWithDummy[q32] = x_ExplicitVarSizeWithFlags_Values[q30] + | q32 : int(1..3)]) + | q30 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q34] != 4 -> + or([x_ExplicitVarSizeWithFlags_Flags[q36] /\ + x_ExplicitVarSizeWithFlags_Values[q36] = x_ExplicitVarSizeWithDummy[q34] + | q36 : int(1..3)]) + | q34 : int(1..3)]) + diff --git a/tests/exhaustive/basic/set04/expected/model_3_3_1-solution000001.solution b/tests/exhaustive/basic/set04/expected/model_3_3_1-solution000001.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_3_3_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/set04/expected/model_3_3_1-solution000002.solution b/tests/exhaustive/basic/set04/expected/model_3_3_1-solution000002.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_3_3_1-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set04/expected/model_3_3_1.eprime b/tests/exhaustive/basic/set04/expected/model_3_3_1.eprime new file mode 100644 index 0000000000..2c7c27bef8 --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_3_3_1.eprime @@ -0,0 +1,21 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..3) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..3)] of int(1..3) +find x_Occurrence: matrix indexed by [int(1..3)] of bool +branching on [x_Occurrence, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values] +such that + or([q11 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q11] = 1 | q11 : int(1..3)]), + or([q13 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q13] = 2 | q13 : int(1..3)]), + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..2)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 1 | q2 : int(1..3)]), + x_ExplicitVarSizeWithMarker_Marker <= 3, + sum([toInt(x_Occurrence[q4]) | q4 : int(1..3)]) <= 3, + and([x_Occurrence[q5] -> + or([q7 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q7] = q5 | q7 : int(1..3)]) + | q5 : int(1..3)]), + and([q9 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q9]] + | q9 : int(1..3)]) + diff --git a/tests/exhaustive/basic/set04/expected/model_3_3_2-solution000001.solution b/tests/exhaustive/basic/set04/expected/model_3_3_2-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_3_3_2-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set04/expected/model_3_3_2-solution000002.solution b/tests/exhaustive/basic/set04/expected/model_3_3_2-solution000002.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_3_3_2-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/set04/expected/model_3_3_2.eprime b/tests/exhaustive/basic/set04/expected/model_3_3_2.eprime new file mode 100644 index 0000000000..3b583676e9 --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_3_3_2.eprime @@ -0,0 +1,29 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..3) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..3)] of int(1..3) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..3)] of int(1..4) +branching on [x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values] +such that + or([q17 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q17] = 1 | q17 : int(1..3)]), + or([q19 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q19] = 2 | q19 : int(1..3)]), + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..2)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 1 | q2 : int(1..3)]), + x_ExplicitVarSizeWithMarker_Marker <= 3, + and([x_ExplicitVarSizeWithDummy[q4] < x_ExplicitVarSizeWithDummy[q4 + 1] \/ x_ExplicitVarSizeWithDummy[q4] = 4 + | q4 : int(1..2)]), + and([x_ExplicitVarSizeWithDummy[q5] = 4 -> x_ExplicitVarSizeWithDummy[q5 + 1] = 4 | q5 : int(1..2)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q6] != 4) | q6 : int(1..3)]) <= 3, + and([x_ExplicitVarSizeWithDummy[q9] != 4 -> + or([q11 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q11] = x_ExplicitVarSizeWithDummy[q9] + | q11 : int(1..3)]) + | q9 : int(1..3)]), + and([q13 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q15] != 4 /\ + x_ExplicitVarSizeWithDummy[q15] = x_ExplicitVarSizeWithMarker_Values[q13] + | q15 : int(1..3)]) + | q13 : int(1..3)]) + diff --git a/tests/exhaustive/basic/set04/expected/model_3_3_3-solution000001.solution b/tests/exhaustive/basic/set04/expected/model_3_3_3-solution000001.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_3_3_3-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/set04/expected/model_3_3_3-solution000002.solution b/tests/exhaustive/basic/set04/expected/model_3_3_3-solution000002.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_3_3_3-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set04/expected/model_3_3_3.eprime b/tests/exhaustive/basic/set04/expected/model_3_3_3.eprime new file mode 100644 index 0000000000..ac50cfaa35 --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_3_3_3.eprime @@ -0,0 +1,14 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..3) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..3)] of int(1..3) +branching on [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values] +such that + or([q5 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q5] = 1 | q5 : int(1..3)]), + or([q7 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q7] = 2 | q7 : int(1..3)]), + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..2)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 1 | q2 : int(1..3)]), + x_ExplicitVarSizeWithMarker_Marker <= 3 + diff --git a/tests/exhaustive/basic/set04/expected/model_3_3_4-solution000001.solution b/tests/exhaustive/basic/set04/expected/model_3_3_4-solution000001.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_3_3_4-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/set04/expected/model_3_3_4-solution000002.solution b/tests/exhaustive/basic/set04/expected/model_3_3_4-solution000002.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_3_3_4-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set04/expected/model_3_3_4.eprime b/tests/exhaustive/basic/set04/expected/model_3_3_4.eprime new file mode 100644 index 0000000000..d4336a8b4e --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_3_3_4.eprime @@ -0,0 +1,34 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..3) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..3)] of int(1..3) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..3)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..3)] of int(1..3) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_ExplicitVarSizeWithMarker_Marker, + x_ExplicitVarSizeWithMarker_Values] +such that + or([q18 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q18] = 1 | q18 : int(1..3)]), + or([q20 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q20] = 2 | q20 : int(1..3)]), + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..2)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 1 | q2 : int(1..3)]), + x_ExplicitVarSizeWithMarker_Marker <= 3, + and([x_ExplicitVarSizeWithFlags_Flags[q4 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q4] < x_ExplicitVarSizeWithFlags_Values[q4 + 1] + | q4 : int(1..2)]), + and([x_ExplicitVarSizeWithFlags_Flags[q5] = false -> x_ExplicitVarSizeWithFlags_Values[q5] = 1 | q5 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q6 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q6] | q6 : int(1..2)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q7]) | q7 : int(1..3)]) <= 3, + and([x_ExplicitVarSizeWithFlags_Flags[q10] -> + or([q12 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q12] = x_ExplicitVarSizeWithFlags_Values[q10] + | q12 : int(1..3)]) + | q10 : int(1..3)]), + and([q14 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q16] /\ + x_ExplicitVarSizeWithFlags_Values[q16] = x_ExplicitVarSizeWithMarker_Values[q14] + | q16 : int(1..3)]) + | q14 : int(1..3)]) + diff --git a/tests/exhaustive/basic/set04/expected/model_3_4_1-solution000001.solution b/tests/exhaustive/basic/set04/expected/model_3_4_1-solution000001.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_3_4_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/set04/expected/model_3_4_1-solution000002.solution b/tests/exhaustive/basic/set04/expected/model_3_4_1-solution000002.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_3_4_1-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set04/expected/model_3_4_1.eprime b/tests/exhaustive/basic/set04/expected/model_3_4_1.eprime new file mode 100644 index 0000000000..72055038e8 --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_3_4_1.eprime @@ -0,0 +1,47 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..3) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..3)] of int(1..3) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..3)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..3)] of int(1..3) +find x_Occurrence: matrix indexed by [int(1..3)] of bool +branching on + [x_Occurrence, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, + x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values] +such that + or([q29 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q29] = 1 | q29 : int(1..3)]), + or([x_ExplicitVarSizeWithFlags_Flags[q31] /\ x_ExplicitVarSizeWithFlags_Values[q31] = 2 | q31 : int(1..3)]), + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..2)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 1 | q2 : int(1..3)]), + x_ExplicitVarSizeWithMarker_Marker <= 3, + and([x_ExplicitVarSizeWithFlags_Flags[q4 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q4] < x_ExplicitVarSizeWithFlags_Values[q4 + 1] + | q4 : int(1..2)]), + and([x_ExplicitVarSizeWithFlags_Flags[q5] = false -> x_ExplicitVarSizeWithFlags_Values[q5] = 1 | q5 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q6 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q6] | q6 : int(1..2)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q7]) | q7 : int(1..3)]) <= 3, + and([x_ExplicitVarSizeWithFlags_Flags[q10] -> + or([q12 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q12] = x_ExplicitVarSizeWithFlags_Values[q10] + | q12 : int(1..3)]) + | q10 : int(1..3)]), + and([q14 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q16] /\ + x_ExplicitVarSizeWithFlags_Values[q16] = x_ExplicitVarSizeWithMarker_Values[q14] + | q16 : int(1..3)]) + | q14 : int(1..3)]), + sum([toInt(x_Occurrence[q17]) | q17 : int(1..3)]) <= 3, + and([x_Occurrence[q18] -> + or([q20 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q20] = q18 + | q20 : int(1..3)]) + | q18 : int(1..3)]), + and([q22 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q22]] + | q22 : int(1..3)]), + and([x_Occurrence[q23] -> + or([x_ExplicitVarSizeWithFlags_Flags[q25] /\ x_ExplicitVarSizeWithFlags_Values[q25] = q23 | q25 : int(1..3)]) + | q23 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q27] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q27]] + | q27 : int(1..3)]) + diff --git a/tests/exhaustive/basic/set04/expected/model_3_4_2-solution000001.solution b/tests/exhaustive/basic/set04/expected/model_3_4_2-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_3_4_2-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set04/expected/model_3_4_2-solution000002.solution b/tests/exhaustive/basic/set04/expected/model_3_4_2-solution000002.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_3_4_2-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/set04/expected/model_3_4_2.eprime b/tests/exhaustive/basic/set04/expected/model_3_4_2.eprime new file mode 100644 index 0000000000..3d0a63ab93 --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_3_4_2.eprime @@ -0,0 +1,59 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..3) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..3)] of int(1..3) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..3)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..3)] of int(1..3) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..3)] of int(1..4) +branching on + [x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, + x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values] +such that + or([q38 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q38] = 1 | q38 : int(1..3)]), + or([x_ExplicitVarSizeWithFlags_Flags[q40] /\ x_ExplicitVarSizeWithFlags_Values[q40] = 2 | q40 : int(1..3)]), + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..2)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 1 | q2 : int(1..3)]), + x_ExplicitVarSizeWithMarker_Marker <= 3, + and([x_ExplicitVarSizeWithFlags_Flags[q4 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q4] < x_ExplicitVarSizeWithFlags_Values[q4 + 1] + | q4 : int(1..2)]), + and([x_ExplicitVarSizeWithFlags_Flags[q5] = false -> x_ExplicitVarSizeWithFlags_Values[q5] = 1 | q5 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q6 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q6] | q6 : int(1..2)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q7]) | q7 : int(1..3)]) <= 3, + and([x_ExplicitVarSizeWithFlags_Flags[q10] -> + or([q12 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q12] = x_ExplicitVarSizeWithFlags_Values[q10] + | q12 : int(1..3)]) + | q10 : int(1..3)]), + and([q14 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q16] /\ + x_ExplicitVarSizeWithFlags_Values[q16] = x_ExplicitVarSizeWithMarker_Values[q14] + | q16 : int(1..3)]) + | q14 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q17] < x_ExplicitVarSizeWithDummy[q17 + 1] \/ x_ExplicitVarSizeWithDummy[q17] = 4 + | q17 : int(1..2)]), + and([x_ExplicitVarSizeWithDummy[q18] = 4 -> x_ExplicitVarSizeWithDummy[q18 + 1] = 4 | q18 : int(1..2)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q19] != 4) | q19 : int(1..3)]) <= 3, + and([x_ExplicitVarSizeWithDummy[q22] != 4 -> + or([q24 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q24] = x_ExplicitVarSizeWithDummy[q22] + | q24 : int(1..3)]) + | q22 : int(1..3)]), + and([q26 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q28] != 4 /\ + x_ExplicitVarSizeWithDummy[q28] = x_ExplicitVarSizeWithMarker_Values[q26] + | q28 : int(1..3)]) + | q26 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q30] != 4 -> + or([x_ExplicitVarSizeWithFlags_Flags[q32] /\ + x_ExplicitVarSizeWithFlags_Values[q32] = x_ExplicitVarSizeWithDummy[q30] + | q32 : int(1..3)]) + | q30 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q34] -> + or([x_ExplicitVarSizeWithDummy[q36] != 4 /\ + x_ExplicitVarSizeWithDummy[q36] = x_ExplicitVarSizeWithFlags_Values[q34] + | q36 : int(1..3)]) + | q34 : int(1..3)]) + diff --git a/tests/exhaustive/basic/set04/expected/model_3_4_3-solution000001.solution b/tests/exhaustive/basic/set04/expected/model_3_4_3-solution000001.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_3_4_3-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/set04/expected/model_3_4_3-solution000002.solution b/tests/exhaustive/basic/set04/expected/model_3_4_3-solution000002.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_3_4_3-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set04/expected/model_3_4_3.eprime b/tests/exhaustive/basic/set04/expected/model_3_4_3.eprime new file mode 100644 index 0000000000..0c780bf7c5 --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_3_4_3.eprime @@ -0,0 +1,34 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..3) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..3)] of int(1..3) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..3)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..3)] of int(1..3) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_ExplicitVarSizeWithMarker_Marker, + x_ExplicitVarSizeWithMarker_Values] +such that + or([q18 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q18] = 1 | q18 : int(1..3)]), + or([x_ExplicitVarSizeWithFlags_Flags[q20] /\ x_ExplicitVarSizeWithFlags_Values[q20] = 2 | q20 : int(1..3)]), + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..2)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 1 | q2 : int(1..3)]), + x_ExplicitVarSizeWithMarker_Marker <= 3, + and([x_ExplicitVarSizeWithFlags_Flags[q4 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q4] < x_ExplicitVarSizeWithFlags_Values[q4 + 1] + | q4 : int(1..2)]), + and([x_ExplicitVarSizeWithFlags_Flags[q5] = false -> x_ExplicitVarSizeWithFlags_Values[q5] = 1 | q5 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q6 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q6] | q6 : int(1..2)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q7]) | q7 : int(1..3)]) <= 3, + and([x_ExplicitVarSizeWithFlags_Flags[q10] -> + or([q12 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q12] = x_ExplicitVarSizeWithFlags_Values[q10] + | q12 : int(1..3)]) + | q10 : int(1..3)]), + and([q14 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q16] /\ + x_ExplicitVarSizeWithFlags_Values[q16] = x_ExplicitVarSizeWithMarker_Values[q14] + | q16 : int(1..3)]) + | q14 : int(1..3)]) + diff --git a/tests/exhaustive/basic/set04/expected/model_4_1_1-solution000001.solution b/tests/exhaustive/basic/set04/expected/model_4_1_1-solution000001.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_4_1_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/set04/expected/model_4_1_1-solution000002.solution b/tests/exhaustive/basic/set04/expected/model_4_1_1-solution000002.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_4_1_1-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set04/expected/model_4_1_1.eprime b/tests/exhaustive/basic/set04/expected/model_4_1_1.eprime new file mode 100644 index 0000000000..5e98c11020 --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_4_1_1.eprime @@ -0,0 +1,22 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..3)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..3)] of int(1..3) +find x_Occurrence: matrix indexed by [int(1..3)] of bool +branching on [x_Occurrence, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values] +such that + or([x_ExplicitVarSizeWithFlags_Flags[q13] /\ x_ExplicitVarSizeWithFlags_Values[q13] = 1 | q13 : int(1..3)]), + x_Occurrence[2], + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..2)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 1 | q2 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..2)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q4]) | q4 : int(1..3)]) <= 3, + sum([toInt(x_Occurrence[q6]) | q6 : int(1..3)]) <= 3, + and([x_Occurrence[q7] -> + or([x_ExplicitVarSizeWithFlags_Flags[q9] /\ x_ExplicitVarSizeWithFlags_Values[q9] = q7 | q9 : int(1..3)]) + | q7 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q11] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q11]] + | q11 : int(1..3)]) + diff --git a/tests/exhaustive/basic/set04/expected/model_4_1_2-solution000001.solution b/tests/exhaustive/basic/set04/expected/model_4_1_2-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_4_1_2-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set04/expected/model_4_1_2-solution000002.solution b/tests/exhaustive/basic/set04/expected/model_4_1_2-solution000002.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_4_1_2-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/set04/expected/model_4_1_2.eprime b/tests/exhaustive/basic/set04/expected/model_4_1_2.eprime new file mode 100644 index 0000000000..22076b537b --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_4_1_2.eprime @@ -0,0 +1,42 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..3)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..3)] of int(1..3) +find x_Occurrence: matrix indexed by [int(1..3)] of bool +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..3)] of int(1..4) +branching on + [x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_Occurrence] +such that + or([x_ExplicitVarSizeWithFlags_Flags[q30] /\ x_ExplicitVarSizeWithFlags_Values[q30] = 1 | q30 : int(1..3)]), + x_Occurrence[2], + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..2)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 1 | q2 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..2)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q4]) | q4 : int(1..3)]) <= 3, + sum([toInt(x_Occurrence[q6]) | q6 : int(1..3)]) <= 3, + and([x_Occurrence[q24] -> + or([x_ExplicitVarSizeWithFlags_Flags[q26] /\ x_ExplicitVarSizeWithFlags_Values[q26] = q24 | q26 : int(1..3)]) + | q24 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q28] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q28]] + | q28 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q7] < x_ExplicitVarSizeWithDummy[q7 + 1] \/ x_ExplicitVarSizeWithDummy[q7] = 4 + | q7 : int(1..2)]), + and([x_ExplicitVarSizeWithDummy[q8] = 4 -> x_ExplicitVarSizeWithDummy[q8 + 1] = 4 | q8 : int(1..2)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q9] != 4) | q9 : int(1..3)]) <= 3, + and([x_ExplicitVarSizeWithDummy[q12] != 4 -> + or([x_ExplicitVarSizeWithFlags_Flags[q14] /\ + x_ExplicitVarSizeWithFlags_Values[q14] = x_ExplicitVarSizeWithDummy[q12] + | q14 : int(1..3)]) + | q12 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q16] -> + or([x_ExplicitVarSizeWithDummy[q18] != 4 /\ + x_ExplicitVarSizeWithDummy[q18] = x_ExplicitVarSizeWithFlags_Values[q16] + | q18 : int(1..3)]) + | q16 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q20] != 4 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q20]] | q20 : int(1..3)]), + and([x_Occurrence[q21] -> + or([x_ExplicitVarSizeWithDummy[q23] != 4 /\ x_ExplicitVarSizeWithDummy[q23] = q21 | q23 : int(1..3)]) + | q21 : int(1..3)]) + diff --git a/tests/exhaustive/basic/set04/expected/model_4_1_3-solution000001.solution b/tests/exhaustive/basic/set04/expected/model_4_1_3-solution000001.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_4_1_3-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/set04/expected/model_4_1_3-solution000002.solution b/tests/exhaustive/basic/set04/expected/model_4_1_3-solution000002.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_4_1_3-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set04/expected/model_4_1_3.eprime b/tests/exhaustive/basic/set04/expected/model_4_1_3.eprime new file mode 100644 index 0000000000..c4e74c86f3 --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_4_1_3.eprime @@ -0,0 +1,47 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..3)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..3)] of int(1..3) +find x_Occurrence: matrix indexed by [int(1..3)] of bool +find x_ExplicitVarSizeWithMarker_Marker: int(0..3) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..3)] of int(1..3) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_ExplicitVarSizeWithFlags_Flags, + x_ExplicitVarSizeWithFlags_Values, x_Occurrence] +such that + or([x_ExplicitVarSizeWithFlags_Flags[q29] /\ x_ExplicitVarSizeWithFlags_Values[q29] = 1 | q29 : int(1..3)]), + x_Occurrence[2], + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..2)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 1 | q2 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..2)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q4]) | q4 : int(1..3)]) <= 3, + sum([toInt(x_Occurrence[q6]) | q6 : int(1..3)]) <= 3, + and([x_Occurrence[q23] -> + or([x_ExplicitVarSizeWithFlags_Flags[q25] /\ x_ExplicitVarSizeWithFlags_Values[q25] = q23 | q25 : int(1..3)]) + | q23 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q27] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q27]] + | q27 : int(1..3)]), + and([q7 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q7] < x_ExplicitVarSizeWithMarker_Values[q7 + 1] + | q7 : int(1..2)]), + and([q8 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q8] = 1 | q8 : int(1..3)]), + x_ExplicitVarSizeWithMarker_Marker <= 3, + and([q11 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q13] /\ + x_ExplicitVarSizeWithFlags_Values[q13] = x_ExplicitVarSizeWithMarker_Values[q11] + | q13 : int(1..3)]) + | q11 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q15] -> + or([q17 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q17] = x_ExplicitVarSizeWithFlags_Values[q15] + | q17 : int(1..3)]) + | q15 : int(1..3)]), + and([q19 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q19]] + | q19 : int(1..3)]), + and([x_Occurrence[q20] -> + or([q22 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q22] = q20 + | q22 : int(1..3)]) + | q20 : int(1..3)]) + diff --git a/tests/exhaustive/basic/set04/expected/model_4_2_1-solution000001.solution b/tests/exhaustive/basic/set04/expected/model_4_2_1-solution000001.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_4_2_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/set04/expected/model_4_2_1-solution000002.solution b/tests/exhaustive/basic/set04/expected/model_4_2_1-solution000002.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_4_2_1-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set04/expected/model_4_2_1.eprime b/tests/exhaustive/basic/set04/expected/model_4_2_1.eprime new file mode 100644 index 0000000000..3e4cb54b04 --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_4_2_1.eprime @@ -0,0 +1,42 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..3)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..3)] of int(1..3) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..3)] of int(1..4) +find x_Occurrence: matrix indexed by [int(1..3)] of bool +branching on + [x_Occurrence, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_ExplicitVarSizeWithDummy] +such that + or([x_ExplicitVarSizeWithFlags_Flags[q30] /\ x_ExplicitVarSizeWithFlags_Values[q30] = 1 | q30 : int(1..3)]), + or([x_ExplicitVarSizeWithDummy[q32] != 4 /\ x_ExplicitVarSizeWithDummy[q32] = 2 | q32 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..2)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 1 | q2 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..2)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q4]) | q4 : int(1..3)]) <= 3, + and([x_ExplicitVarSizeWithDummy[q6] < x_ExplicitVarSizeWithDummy[q6 + 1] \/ x_ExplicitVarSizeWithDummy[q6] = 4 + | q6 : int(1..2)]), + and([x_ExplicitVarSizeWithDummy[q7] = 4 -> x_ExplicitVarSizeWithDummy[q7 + 1] = 4 | q7 : int(1..2)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q8] != 4) | q8 : int(1..3)]) <= 3, + and([x_ExplicitVarSizeWithDummy[q11] != 4 -> + or([x_ExplicitVarSizeWithFlags_Flags[q13] /\ + x_ExplicitVarSizeWithFlags_Values[q13] = x_ExplicitVarSizeWithDummy[q11] + | q13 : int(1..3)]) + | q11 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q15] -> + or([x_ExplicitVarSizeWithDummy[q17] != 4 /\ + x_ExplicitVarSizeWithDummy[q17] = x_ExplicitVarSizeWithFlags_Values[q15] + | q17 : int(1..3)]) + | q15 : int(1..3)]), + sum([toInt(x_Occurrence[q18]) | q18 : int(1..3)]) <= 3, + and([x_Occurrence[q19] -> + or([x_ExplicitVarSizeWithFlags_Flags[q21] /\ x_ExplicitVarSizeWithFlags_Values[q21] = q19 | q21 : int(1..3)]) + | q19 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q23] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q23]] + | q23 : int(1..3)]), + and([x_Occurrence[q24] -> + or([x_ExplicitVarSizeWithDummy[q26] != 4 /\ x_ExplicitVarSizeWithDummy[q26] = q24 | q26 : int(1..3)]) + | q24 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q28] != 4 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q28]] | q28 : int(1..3)]) + diff --git a/tests/exhaustive/basic/set04/expected/model_4_2_2-solution000001.solution b/tests/exhaustive/basic/set04/expected/model_4_2_2-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_4_2_2-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set04/expected/model_4_2_2-solution000002.solution b/tests/exhaustive/basic/set04/expected/model_4_2_2-solution000002.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_4_2_2-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/set04/expected/model_4_2_2.eprime b/tests/exhaustive/basic/set04/expected/model_4_2_2.eprime new file mode 100644 index 0000000000..42d1680aae --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_4_2_2.eprime @@ -0,0 +1,30 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..3)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..3)] of int(1..3) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..3)] of int(1..4) +branching on [x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values] +such that + or([x_ExplicitVarSizeWithFlags_Flags[q19] /\ x_ExplicitVarSizeWithFlags_Values[q19] = 1 | q19 : int(1..3)]), + or([x_ExplicitVarSizeWithDummy[q21] != 4 /\ x_ExplicitVarSizeWithDummy[q21] = 2 | q21 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..2)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 1 | q2 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..2)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q4]) | q4 : int(1..3)]) <= 3, + and([x_ExplicitVarSizeWithDummy[q6] < x_ExplicitVarSizeWithDummy[q6 + 1] \/ x_ExplicitVarSizeWithDummy[q6] = 4 + | q6 : int(1..2)]), + and([x_ExplicitVarSizeWithDummy[q7] = 4 -> x_ExplicitVarSizeWithDummy[q7 + 1] = 4 | q7 : int(1..2)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q8] != 4) | q8 : int(1..3)]) <= 3, + and([x_ExplicitVarSizeWithDummy[q11] != 4 -> + or([x_ExplicitVarSizeWithFlags_Flags[q13] /\ + x_ExplicitVarSizeWithFlags_Values[q13] = x_ExplicitVarSizeWithDummy[q11] + | q13 : int(1..3)]) + | q11 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q15] -> + or([x_ExplicitVarSizeWithDummy[q17] != 4 /\ + x_ExplicitVarSizeWithDummy[q17] = x_ExplicitVarSizeWithFlags_Values[q15] + | q17 : int(1..3)]) + | q15 : int(1..3)]) + diff --git a/tests/exhaustive/basic/set04/expected/model_4_2_3-solution000001.solution b/tests/exhaustive/basic/set04/expected/model_4_2_3-solution000001.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_4_2_3-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/set04/expected/model_4_2_3-solution000002.solution b/tests/exhaustive/basic/set04/expected/model_4_2_3-solution000002.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_4_2_3-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set04/expected/model_4_2_3.eprime b/tests/exhaustive/basic/set04/expected/model_4_2_3.eprime new file mode 100644 index 0000000000..01219074fb --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_4_2_3.eprime @@ -0,0 +1,59 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..3)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..3)] of int(1..3) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..3)] of int(1..4) +find x_ExplicitVarSizeWithMarker_Marker: int(0..3) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..3)] of int(1..3) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_ExplicitVarSizeWithFlags_Flags, + x_ExplicitVarSizeWithFlags_Values, x_ExplicitVarSizeWithDummy] +such that + or([x_ExplicitVarSizeWithFlags_Flags[q38] /\ x_ExplicitVarSizeWithFlags_Values[q38] = 1 | q38 : int(1..3)]), + or([x_ExplicitVarSizeWithDummy[q40] != 4 /\ x_ExplicitVarSizeWithDummy[q40] = 2 | q40 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..2)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 1 | q2 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..2)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q4]) | q4 : int(1..3)]) <= 3, + and([x_ExplicitVarSizeWithDummy[q6] < x_ExplicitVarSizeWithDummy[q6 + 1] \/ x_ExplicitVarSizeWithDummy[q6] = 4 + | q6 : int(1..2)]), + and([x_ExplicitVarSizeWithDummy[q7] = 4 -> x_ExplicitVarSizeWithDummy[q7 + 1] = 4 | q7 : int(1..2)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q8] != 4) | q8 : int(1..3)]) <= 3, + and([x_ExplicitVarSizeWithDummy[q11] != 4 -> + or([x_ExplicitVarSizeWithFlags_Flags[q13] /\ + x_ExplicitVarSizeWithFlags_Values[q13] = x_ExplicitVarSizeWithDummy[q11] + | q13 : int(1..3)]) + | q11 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q15] -> + or([x_ExplicitVarSizeWithDummy[q17] != 4 /\ + x_ExplicitVarSizeWithDummy[q17] = x_ExplicitVarSizeWithFlags_Values[q15] + | q17 : int(1..3)]) + | q15 : int(1..3)]), + and([q18 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q18] < x_ExplicitVarSizeWithMarker_Values[q18 + 1] + | q18 : int(1..2)]), + and([q19 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q19] = 1 | q19 : int(1..3)]), + x_ExplicitVarSizeWithMarker_Marker <= 3, + and([q22 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q24] /\ + x_ExplicitVarSizeWithFlags_Values[q24] = x_ExplicitVarSizeWithMarker_Values[q22] + | q24 : int(1..3)]) + | q22 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q26] -> + or([q28 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q28] = x_ExplicitVarSizeWithFlags_Values[q26] + | q28 : int(1..3)]) + | q26 : int(1..3)]), + and([q30 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q32] != 4 /\ + x_ExplicitVarSizeWithDummy[q32] = x_ExplicitVarSizeWithMarker_Values[q30] + | q32 : int(1..3)]) + | q30 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q34] != 4 -> + or([q36 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q36] = x_ExplicitVarSizeWithDummy[q34] + | q36 : int(1..3)]) + | q34 : int(1..3)]) + diff --git a/tests/exhaustive/basic/set04/expected/model_4_3_1-solution000001.solution b/tests/exhaustive/basic/set04/expected/model_4_3_1-solution000001.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_4_3_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/set04/expected/model_4_3_1-solution000002.solution b/tests/exhaustive/basic/set04/expected/model_4_3_1-solution000002.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_4_3_1-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set04/expected/model_4_3_1.eprime b/tests/exhaustive/basic/set04/expected/model_4_3_1.eprime new file mode 100644 index 0000000000..87587667fc --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_4_3_1.eprime @@ -0,0 +1,47 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..3)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..3)] of int(1..3) +find x_ExplicitVarSizeWithMarker_Marker: int(0..3) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..3)] of int(1..3) +find x_Occurrence: matrix indexed by [int(1..3)] of bool +branching on + [x_Occurrence, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, + x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values] +such that + or([x_ExplicitVarSizeWithFlags_Flags[q29] /\ x_ExplicitVarSizeWithFlags_Values[q29] = 1 | q29 : int(1..3)]), + or([q31 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q31] = 2 | q31 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..2)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 1 | q2 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..2)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q4]) | q4 : int(1..3)]) <= 3, + and([q6 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q6] < x_ExplicitVarSizeWithMarker_Values[q6 + 1] + | q6 : int(1..2)]), + and([q7 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q7] = 1 | q7 : int(1..3)]), + x_ExplicitVarSizeWithMarker_Marker <= 3, + and([q10 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q12] /\ + x_ExplicitVarSizeWithFlags_Values[q12] = x_ExplicitVarSizeWithMarker_Values[q10] + | q12 : int(1..3)]) + | q10 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q14] -> + or([q16 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q16] = x_ExplicitVarSizeWithFlags_Values[q14] + | q16 : int(1..3)]) + | q14 : int(1..3)]), + sum([toInt(x_Occurrence[q17]) | q17 : int(1..3)]) <= 3, + and([x_Occurrence[q18] -> + or([x_ExplicitVarSizeWithFlags_Flags[q20] /\ x_ExplicitVarSizeWithFlags_Values[q20] = q18 | q20 : int(1..3)]) + | q18 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q22] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q22]] + | q22 : int(1..3)]), + and([x_Occurrence[q23] -> + or([q25 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q25] = q23 + | q25 : int(1..3)]) + | q23 : int(1..3)]), + and([q27 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q27]] + | q27 : int(1..3)]) + diff --git a/tests/exhaustive/basic/set04/expected/model_4_3_2-solution000001.solution b/tests/exhaustive/basic/set04/expected/model_4_3_2-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_4_3_2-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set04/expected/model_4_3_2-solution000002.solution b/tests/exhaustive/basic/set04/expected/model_4_3_2-solution000002.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_4_3_2-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/set04/expected/model_4_3_2.eprime b/tests/exhaustive/basic/set04/expected/model_4_3_2.eprime new file mode 100644 index 0000000000..8a1052d0da --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_4_3_2.eprime @@ -0,0 +1,59 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..3)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..3)] of int(1..3) +find x_ExplicitVarSizeWithMarker_Marker: int(0..3) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..3)] of int(1..3) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..3)] of int(1..4) +branching on + [x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, + x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values] +such that + or([x_ExplicitVarSizeWithFlags_Flags[q38] /\ x_ExplicitVarSizeWithFlags_Values[q38] = 1 | q38 : int(1..3)]), + or([q40 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q40] = 2 | q40 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..2)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 1 | q2 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..2)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q4]) | q4 : int(1..3)]) <= 3, + and([q6 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q6] < x_ExplicitVarSizeWithMarker_Values[q6 + 1] + | q6 : int(1..2)]), + and([q7 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q7] = 1 | q7 : int(1..3)]), + x_ExplicitVarSizeWithMarker_Marker <= 3, + and([q10 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q12] /\ + x_ExplicitVarSizeWithFlags_Values[q12] = x_ExplicitVarSizeWithMarker_Values[q10] + | q12 : int(1..3)]) + | q10 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q14] -> + or([q16 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q16] = x_ExplicitVarSizeWithFlags_Values[q14] + | q16 : int(1..3)]) + | q14 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q17] < x_ExplicitVarSizeWithDummy[q17 + 1] \/ x_ExplicitVarSizeWithDummy[q17] = 4 + | q17 : int(1..2)]), + and([x_ExplicitVarSizeWithDummy[q18] = 4 -> x_ExplicitVarSizeWithDummy[q18 + 1] = 4 | q18 : int(1..2)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q19] != 4) | q19 : int(1..3)]) <= 3, + and([x_ExplicitVarSizeWithDummy[q22] != 4 -> + or([x_ExplicitVarSizeWithFlags_Flags[q24] /\ + x_ExplicitVarSizeWithFlags_Values[q24] = x_ExplicitVarSizeWithDummy[q22] + | q24 : int(1..3)]) + | q22 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q26] -> + or([x_ExplicitVarSizeWithDummy[q28] != 4 /\ + x_ExplicitVarSizeWithDummy[q28] = x_ExplicitVarSizeWithFlags_Values[q26] + | q28 : int(1..3)]) + | q26 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q30] != 4 -> + or([q32 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q32] = x_ExplicitVarSizeWithDummy[q30] + | q32 : int(1..3)]) + | q30 : int(1..3)]), + and([q34 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q36] != 4 /\ + x_ExplicitVarSizeWithDummy[q36] = x_ExplicitVarSizeWithMarker_Values[q34] + | q36 : int(1..3)]) + | q34 : int(1..3)]) + diff --git a/tests/exhaustive/basic/set04/expected/model_4_3_3-solution000001.solution b/tests/exhaustive/basic/set04/expected/model_4_3_3-solution000001.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_4_3_3-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/set04/expected/model_4_3_3-solution000002.solution b/tests/exhaustive/basic/set04/expected/model_4_3_3-solution000002.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_4_3_3-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set04/expected/model_4_3_3.eprime b/tests/exhaustive/basic/set04/expected/model_4_3_3.eprime new file mode 100644 index 0000000000..50c9eadc30 --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_4_3_3.eprime @@ -0,0 +1,34 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..3)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..3)] of int(1..3) +find x_ExplicitVarSizeWithMarker_Marker: int(0..3) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..3)] of int(1..3) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_ExplicitVarSizeWithFlags_Flags, + x_ExplicitVarSizeWithFlags_Values] +such that + or([x_ExplicitVarSizeWithFlags_Flags[q18] /\ x_ExplicitVarSizeWithFlags_Values[q18] = 1 | q18 : int(1..3)]), + or([q20 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q20] = 2 | q20 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..2)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 1 | q2 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..2)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q4]) | q4 : int(1..3)]) <= 3, + and([q6 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q6] < x_ExplicitVarSizeWithMarker_Values[q6 + 1] + | q6 : int(1..2)]), + and([q7 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q7] = 1 | q7 : int(1..3)]), + x_ExplicitVarSizeWithMarker_Marker <= 3, + and([q10 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q12] /\ + x_ExplicitVarSizeWithFlags_Values[q12] = x_ExplicitVarSizeWithMarker_Values[q10] + | q12 : int(1..3)]) + | q10 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q14] -> + or([q16 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q16] = x_ExplicitVarSizeWithFlags_Values[q14] + | q16 : int(1..3)]) + | q14 : int(1..3)]) + diff --git a/tests/exhaustive/basic/set04/expected/model_4_4_1-solution000001.solution b/tests/exhaustive/basic/set04/expected/model_4_4_1-solution000001.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_4_4_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/set04/expected/model_4_4_1-solution000002.solution b/tests/exhaustive/basic/set04/expected/model_4_4_1-solution000002.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_4_4_1-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set04/expected/model_4_4_1.eprime b/tests/exhaustive/basic/set04/expected/model_4_4_1.eprime new file mode 100644 index 0000000000..1679fe4372 --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_4_4_1.eprime @@ -0,0 +1,22 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..3)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..3)] of int(1..3) +find x_Occurrence: matrix indexed by [int(1..3)] of bool +branching on [x_Occurrence, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values] +such that + or([x_ExplicitVarSizeWithFlags_Flags[q13] /\ x_ExplicitVarSizeWithFlags_Values[q13] = 1 | q13 : int(1..3)]), + or([x_ExplicitVarSizeWithFlags_Flags[q15] /\ x_ExplicitVarSizeWithFlags_Values[q15] = 2 | q15 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..2)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 1 | q2 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..2)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q4]) | q4 : int(1..3)]) <= 3, + sum([toInt(x_Occurrence[q6]) | q6 : int(1..3)]) <= 3, + and([x_Occurrence[q7] -> + or([x_ExplicitVarSizeWithFlags_Flags[q9] /\ x_ExplicitVarSizeWithFlags_Values[q9] = q7 | q9 : int(1..3)]) + | q7 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q11] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q11]] + | q11 : int(1..3)]) + diff --git a/tests/exhaustive/basic/set04/expected/model_4_4_2-solution000001.solution b/tests/exhaustive/basic/set04/expected/model_4_4_2-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_4_4_2-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set04/expected/model_4_4_2-solution000002.solution b/tests/exhaustive/basic/set04/expected/model_4_4_2-solution000002.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_4_4_2-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/set04/expected/model_4_4_2.eprime b/tests/exhaustive/basic/set04/expected/model_4_4_2.eprime new file mode 100644 index 0000000000..41d16504a6 --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_4_4_2.eprime @@ -0,0 +1,30 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..3)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..3)] of int(1..3) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..3)] of int(1..4) +branching on [x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values] +such that + or([x_ExplicitVarSizeWithFlags_Flags[q19] /\ x_ExplicitVarSizeWithFlags_Values[q19] = 1 | q19 : int(1..3)]), + or([x_ExplicitVarSizeWithFlags_Flags[q21] /\ x_ExplicitVarSizeWithFlags_Values[q21] = 2 | q21 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..2)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 1 | q2 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..2)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q4]) | q4 : int(1..3)]) <= 3, + and([x_ExplicitVarSizeWithDummy[q6] < x_ExplicitVarSizeWithDummy[q6 + 1] \/ x_ExplicitVarSizeWithDummy[q6] = 4 + | q6 : int(1..2)]), + and([x_ExplicitVarSizeWithDummy[q7] = 4 -> x_ExplicitVarSizeWithDummy[q7 + 1] = 4 | q7 : int(1..2)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q8] != 4) | q8 : int(1..3)]) <= 3, + and([x_ExplicitVarSizeWithDummy[q11] != 4 -> + or([x_ExplicitVarSizeWithFlags_Flags[q13] /\ + x_ExplicitVarSizeWithFlags_Values[q13] = x_ExplicitVarSizeWithDummy[q11] + | q13 : int(1..3)]) + | q11 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q15] -> + or([x_ExplicitVarSizeWithDummy[q17] != 4 /\ + x_ExplicitVarSizeWithDummy[q17] = x_ExplicitVarSizeWithFlags_Values[q15] + | q17 : int(1..3)]) + | q15 : int(1..3)]) + diff --git a/tests/exhaustive/basic/set04/expected/model_4_4_3-solution000001.solution b/tests/exhaustive/basic/set04/expected/model_4_4_3-solution000001.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_4_4_3-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/set04/expected/model_4_4_3-solution000002.solution b/tests/exhaustive/basic/set04/expected/model_4_4_3-solution000002.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_4_4_3-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set04/expected/model_4_4_3.eprime b/tests/exhaustive/basic/set04/expected/model_4_4_3.eprime new file mode 100644 index 0000000000..6c0162b987 --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_4_4_3.eprime @@ -0,0 +1,34 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..3)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..3)] of int(1..3) +find x_ExplicitVarSizeWithMarker_Marker: int(0..3) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..3)] of int(1..3) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_ExplicitVarSizeWithFlags_Flags, + x_ExplicitVarSizeWithFlags_Values] +such that + or([x_ExplicitVarSizeWithFlags_Flags[q18] /\ x_ExplicitVarSizeWithFlags_Values[q18] = 1 | q18 : int(1..3)]), + or([x_ExplicitVarSizeWithFlags_Flags[q20] /\ x_ExplicitVarSizeWithFlags_Values[q20] = 2 | q20 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..2)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 1 | q2 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..2)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q4]) | q4 : int(1..3)]) <= 3, + and([q6 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q6] < x_ExplicitVarSizeWithMarker_Values[q6 + 1] + | q6 : int(1..2)]), + and([q7 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q7] = 1 | q7 : int(1..3)]), + x_ExplicitVarSizeWithMarker_Marker <= 3, + and([q10 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q12] /\ + x_ExplicitVarSizeWithFlags_Values[q12] = x_ExplicitVarSizeWithMarker_Values[q10] + | q12 : int(1..3)]) + | q10 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q14] -> + or([q16 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q16] = x_ExplicitVarSizeWithFlags_Values[q14] + | q16 : int(1..3)]) + | q14 : int(1..3)]) + diff --git a/tests/exhaustive/basic/set04/expected/model_4_4_4-solution000001.solution b/tests/exhaustive/basic/set04/expected/model_4_4_4-solution000001.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_4_4_4-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/set04/expected/model_4_4_4-solution000002.solution b/tests/exhaustive/basic/set04/expected/model_4_4_4-solution000002.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_4_4_4-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set04/expected/model_4_4_4.eprime b/tests/exhaustive/basic/set04/expected/model_4_4_4.eprime new file mode 100644 index 0000000000..a91619f489 --- /dev/null +++ b/tests/exhaustive/basic/set04/expected/model_4_4_4.eprime @@ -0,0 +1,15 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..3)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..3)] of int(1..3) +branching on [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values] +such that + or([x_ExplicitVarSizeWithFlags_Flags[q7] /\ x_ExplicitVarSizeWithFlags_Values[q7] = 1 | q7 : int(1..3)]), + or([x_ExplicitVarSizeWithFlags_Flags[q9] /\ x_ExplicitVarSizeWithFlags_Values[q9] = 2 | q9 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..2)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 1 | q2 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..2)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q4]) | q4 : int(1..3)]) <= 3 + diff --git a/tests/exhaustive/basic/set05/expected/model_1_1_1-solution000001.solution b/tests/exhaustive/basic/set05/expected/model_1_1_1-solution000001.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_1_1_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/set05/expected/model_1_1_1-solution000002.solution b/tests/exhaustive/basic/set05/expected/model_1_1_1-solution000002.solution new file mode 100644 index 0000000000..fdc0f02f96 --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_1_1_1-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 4} diff --git a/tests/exhaustive/basic/set05/expected/model_1_1_1-solution000003.solution b/tests/exhaustive/basic/set05/expected/model_1_1_1-solution000003.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_1_1_1-solution000003.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set05/expected/model_1_1_1.eprime b/tests/exhaustive/basic/set05/expected/model_1_1_1.eprime new file mode 100644 index 0000000000..3c56114ac2 --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_1_1_1.eprime @@ -0,0 +1,9 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1..4)] of bool +branching on [x_Occurrence] +such that + x_Occurrence[1], + x_Occurrence[2], + sum([toInt(x_Occurrence[q1]) | q1 : int(1..4)]) <= 3 + diff --git a/tests/exhaustive/basic/set05/expected/model_1_1_2-solution000001.solution b/tests/exhaustive/basic/set05/expected/model_1_1_2-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_1_1_2-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set05/expected/model_1_1_2-solution000002.solution b/tests/exhaustive/basic/set05/expected/model_1_1_2-solution000002.solution new file mode 100644 index 0000000000..fdc0f02f96 --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_1_1_2-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 4} diff --git a/tests/exhaustive/basic/set05/expected/model_1_1_2-solution000003.solution b/tests/exhaustive/basic/set05/expected/model_1_1_2-solution000003.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_1_1_2-solution000003.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/set05/expected/model_1_1_2.eprime b/tests/exhaustive/basic/set05/expected/model_1_1_2.eprime new file mode 100644 index 0000000000..17c15fcd6b --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_1_1_2.eprime @@ -0,0 +1,18 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..3)] of int(1..5) +branching on [x_ExplicitVarSizeWithDummy, x_Occurrence] +such that + x_Occurrence[1], + x_Occurrence[2], + sum([toInt(x_Occurrence[q1]) | q1 : int(1..4)]) <= 3, + and([x_ExplicitVarSizeWithDummy[q2] < x_ExplicitVarSizeWithDummy[q2 + 1] \/ x_ExplicitVarSizeWithDummy[q2] = 5 + | q2 : int(1..2)]), + and([x_ExplicitVarSizeWithDummy[q3] = 5 -> x_ExplicitVarSizeWithDummy[q3 + 1] = 5 | q3 : int(1..2)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q4] != 5) | q4 : int(1..3)]) <= 3, + and([x_ExplicitVarSizeWithDummy[q7] != 5 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q7]] | q7 : int(1..3)]), + and([x_Occurrence[q8] -> + or([x_ExplicitVarSizeWithDummy[q10] != 5 /\ x_ExplicitVarSizeWithDummy[q10] = q8 | q10 : int(1..3)]) + | q8 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set05/expected/model_1_1_3-solution000001.solution b/tests/exhaustive/basic/set05/expected/model_1_1_3-solution000001.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_1_1_3-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/set05/expected/model_1_1_3-solution000002.solution b/tests/exhaustive/basic/set05/expected/model_1_1_3-solution000002.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_1_1_3-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set05/expected/model_1_1_3-solution000003.solution b/tests/exhaustive/basic/set05/expected/model_1_1_3-solution000003.solution new file mode 100644 index 0000000000..fdc0f02f96 --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_1_1_3-solution000003.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 4} diff --git a/tests/exhaustive/basic/set05/expected/model_1_1_3.eprime b/tests/exhaustive/basic/set05/expected/model_1_1_3.eprime new file mode 100644 index 0000000000..70361154b0 --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_1_1_3.eprime @@ -0,0 +1,21 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithMarker_Marker: int(0..3) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..3)] of int(1..4) +branching on [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_Occurrence] +such that + x_Occurrence[1], + x_Occurrence[2], + sum([toInt(x_Occurrence[q1]) | q1 : int(1..4)]) <= 3, + and([q2 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q2] < x_ExplicitVarSizeWithMarker_Values[q2 + 1] + | q2 : int(1..2)]), + and([q3 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q3] = 1 | q3 : int(1..3)]), + x_ExplicitVarSizeWithMarker_Marker <= 3, + and([q6 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q6]] + | q6 : int(1..3)]), + and([x_Occurrence[q7] -> + or([q9 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q9] = q7 | q9 : int(1..3)]) + | q7 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set05/expected/model_1_1_4-solution000001.solution b/tests/exhaustive/basic/set05/expected/model_1_1_4-solution000001.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_1_1_4-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/set05/expected/model_1_1_4-solution000002.solution b/tests/exhaustive/basic/set05/expected/model_1_1_4-solution000002.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_1_1_4-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set05/expected/model_1_1_4-solution000003.solution b/tests/exhaustive/basic/set05/expected/model_1_1_4-solution000003.solution new file mode 100644 index 0000000000..fdc0f02f96 --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_1_1_4-solution000003.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 4} diff --git a/tests/exhaustive/basic/set05/expected/model_1_1_4.eprime b/tests/exhaustive/basic/set05/expected/model_1_1_4.eprime new file mode 100644 index 0000000000..42983848f0 --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_1_1_4.eprime @@ -0,0 +1,21 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..3)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..3)] of int(1..4) +branching on [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_Occurrence] +such that + x_Occurrence[1], + x_Occurrence[2], + sum([toInt(x_Occurrence[q1]) | q1 : int(1..4)]) <= 3, + and([x_ExplicitVarSizeWithFlags_Flags[q2 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q2] < x_ExplicitVarSizeWithFlags_Values[q2 + 1] + | q2 : int(1..2)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3] = false -> x_ExplicitVarSizeWithFlags_Values[q3] = 1 | q3 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q4 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q4] | q4 : int(1..2)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q5]) | q5 : int(1..3)]) <= 3, + and([x_ExplicitVarSizeWithFlags_Flags[q8] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q8]] | q8 : int(1..3)]), + and([x_Occurrence[q9] -> + or([x_ExplicitVarSizeWithFlags_Flags[q11] /\ x_ExplicitVarSizeWithFlags_Values[q11] = q9 | q11 : int(1..3)]) + | q9 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set05/expected/model_1_2_1-solution000001.solution b/tests/exhaustive/basic/set05/expected/model_1_2_1-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_1_2_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set05/expected/model_1_2_1-solution000002.solution b/tests/exhaustive/basic/set05/expected/model_1_2_1-solution000002.solution new file mode 100644 index 0000000000..fdc0f02f96 --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_1_2_1-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 4} diff --git a/tests/exhaustive/basic/set05/expected/model_1_2_1-solution000003.solution b/tests/exhaustive/basic/set05/expected/model_1_2_1-solution000003.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_1_2_1-solution000003.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/set05/expected/model_1_2_1.eprime b/tests/exhaustive/basic/set05/expected/model_1_2_1.eprime new file mode 100644 index 0000000000..c5886a217c --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_1_2_1.eprime @@ -0,0 +1,18 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..3)] of int(1..5) +branching on [x_ExplicitVarSizeWithDummy, x_Occurrence] +such that + x_Occurrence[1], + or([x_ExplicitVarSizeWithDummy[q12] != 5 /\ x_ExplicitVarSizeWithDummy[q12] = 2 | q12 : int(1..3)]), + sum([toInt(x_Occurrence[q1]) | q1 : int(1..4)]) <= 3, + and([x_ExplicitVarSizeWithDummy[q2] < x_ExplicitVarSizeWithDummy[q2 + 1] \/ x_ExplicitVarSizeWithDummy[q2] = 5 + | q2 : int(1..2)]), + and([x_ExplicitVarSizeWithDummy[q3] = 5 -> x_ExplicitVarSizeWithDummy[q3 + 1] = 5 | q3 : int(1..2)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q4] != 5) | q4 : int(1..3)]) <= 3, + and([x_ExplicitVarSizeWithDummy[q7] != 5 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q7]] | q7 : int(1..3)]), + and([x_Occurrence[q8] -> + or([x_ExplicitVarSizeWithDummy[q10] != 5 /\ x_ExplicitVarSizeWithDummy[q10] = q8 | q10 : int(1..3)]) + | q8 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set05/expected/model_1_2_3-solution000001.solution b/tests/exhaustive/basic/set05/expected/model_1_2_3-solution000001.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_1_2_3-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/set05/expected/model_1_2_3-solution000002.solution b/tests/exhaustive/basic/set05/expected/model_1_2_3-solution000002.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_1_2_3-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set05/expected/model_1_2_3-solution000003.solution b/tests/exhaustive/basic/set05/expected/model_1_2_3-solution000003.solution new file mode 100644 index 0000000000..fdc0f02f96 --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_1_2_3-solution000003.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 4} diff --git a/tests/exhaustive/basic/set05/expected/model_1_2_3.eprime b/tests/exhaustive/basic/set05/expected/model_1_2_3.eprime new file mode 100644 index 0000000000..2ef8fa28a9 --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_1_2_3.eprime @@ -0,0 +1,42 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..3)] of int(1..5) +find x_ExplicitVarSizeWithMarker_Marker: int(0..3) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..3)] of int(1..4) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_Occurrence, x_ExplicitVarSizeWithDummy] +such that + x_Occurrence[1], + or([x_ExplicitVarSizeWithDummy[q28] != 5 /\ x_ExplicitVarSizeWithDummy[q28] = 2 | q28 : int(1..3)]), + sum([toInt(x_Occurrence[q1]) | q1 : int(1..4)]) <= 3, + and([x_ExplicitVarSizeWithDummy[q2] < x_ExplicitVarSizeWithDummy[q2 + 1] \/ x_ExplicitVarSizeWithDummy[q2] = 5 + | q2 : int(1..2)]), + and([x_ExplicitVarSizeWithDummy[q3] = 5 -> x_ExplicitVarSizeWithDummy[q3 + 1] = 5 | q3 : int(1..2)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q4] != 5) | q4 : int(1..3)]) <= 3, + and([x_ExplicitVarSizeWithDummy[q7] != 5 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q7]] | q7 : int(1..3)]), + and([x_Occurrence[q8] -> + or([x_ExplicitVarSizeWithDummy[q10] != 5 /\ x_ExplicitVarSizeWithDummy[q10] = q8 | q10 : int(1..3)]) + | q8 : int(1..4)]), + and([q11 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q11] < x_ExplicitVarSizeWithMarker_Values[q11 + 1] + | q11 : int(1..2)]), + and([q12 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q12] = 1 | q12 : int(1..3)]), + x_ExplicitVarSizeWithMarker_Marker <= 3, + and([q15 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q15]] + | q15 : int(1..3)]), + and([x_Occurrence[q16] -> + or([q18 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q18] = q16 + | q18 : int(1..3)]) + | q16 : int(1..4)]), + and([q20 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q22] != 5 /\ + x_ExplicitVarSizeWithDummy[q22] = x_ExplicitVarSizeWithMarker_Values[q20] + | q22 : int(1..3)]) + | q20 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q24] != 5 -> + or([q26 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q26] = x_ExplicitVarSizeWithDummy[q24] + | q26 : int(1..3)]) + | q24 : int(1..3)]) + diff --git a/tests/exhaustive/basic/set05/expected/model_1_2_4-solution000001.solution b/tests/exhaustive/basic/set05/expected/model_1_2_4-solution000001.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_1_2_4-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/set05/expected/model_1_2_4-solution000002.solution b/tests/exhaustive/basic/set05/expected/model_1_2_4-solution000002.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_1_2_4-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set05/expected/model_1_2_4-solution000003.solution b/tests/exhaustive/basic/set05/expected/model_1_2_4-solution000003.solution new file mode 100644 index 0000000000..fdc0f02f96 --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_1_2_4-solution000003.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 4} diff --git a/tests/exhaustive/basic/set05/expected/model_1_2_4.eprime b/tests/exhaustive/basic/set05/expected/model_1_2_4.eprime new file mode 100644 index 0000000000..6970c8923c --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_1_2_4.eprime @@ -0,0 +1,43 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..3)] of int(1..5) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..3)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..3)] of int(1..4) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_Occurrence, x_ExplicitVarSizeWithDummy] +such that + x_Occurrence[1], + or([x_ExplicitVarSizeWithDummy[q30] != 5 /\ x_ExplicitVarSizeWithDummy[q30] = 2 | q30 : int(1..3)]), + sum([toInt(x_Occurrence[q1]) | q1 : int(1..4)]) <= 3, + and([x_ExplicitVarSizeWithDummy[q2] < x_ExplicitVarSizeWithDummy[q2 + 1] \/ x_ExplicitVarSizeWithDummy[q2] = 5 + | q2 : int(1..2)]), + and([x_ExplicitVarSizeWithDummy[q3] = 5 -> x_ExplicitVarSizeWithDummy[q3 + 1] = 5 | q3 : int(1..2)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q4] != 5) | q4 : int(1..3)]) <= 3, + and([x_ExplicitVarSizeWithDummy[q7] != 5 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q7]] | q7 : int(1..3)]), + and([x_Occurrence[q8] -> + or([x_ExplicitVarSizeWithDummy[q10] != 5 /\ x_ExplicitVarSizeWithDummy[q10] = q8 | q10 : int(1..3)]) + | q8 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q11 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q11] < x_ExplicitVarSizeWithFlags_Values[q11 + 1] + | q11 : int(1..2)]), + and([x_ExplicitVarSizeWithFlags_Flags[q12] = false -> x_ExplicitVarSizeWithFlags_Values[q12] = 1 + | q12 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q13 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q13] | q13 : int(1..2)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q14]) | q14 : int(1..3)]) <= 3, + and([x_ExplicitVarSizeWithFlags_Flags[q17] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q17]] + | q17 : int(1..3)]), + and([x_Occurrence[q18] -> + or([x_ExplicitVarSizeWithFlags_Flags[q20] /\ x_ExplicitVarSizeWithFlags_Values[q20] = q18 | q20 : int(1..3)]) + | q18 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q22] -> + or([x_ExplicitVarSizeWithDummy[q24] != 5 /\ + x_ExplicitVarSizeWithDummy[q24] = x_ExplicitVarSizeWithFlags_Values[q22] + | q24 : int(1..3)]) + | q22 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q26] != 5 -> + or([x_ExplicitVarSizeWithFlags_Flags[q28] /\ + x_ExplicitVarSizeWithFlags_Values[q28] = x_ExplicitVarSizeWithDummy[q26] + | q28 : int(1..3)]) + | q26 : int(1..3)]) + diff --git a/tests/exhaustive/basic/set05/expected/model_1_3_1-solution000001.solution b/tests/exhaustive/basic/set05/expected/model_1_3_1-solution000001.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_1_3_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/set05/expected/model_1_3_1-solution000002.solution b/tests/exhaustive/basic/set05/expected/model_1_3_1-solution000002.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_1_3_1-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set05/expected/model_1_3_1-solution000003.solution b/tests/exhaustive/basic/set05/expected/model_1_3_1-solution000003.solution new file mode 100644 index 0000000000..fdc0f02f96 --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_1_3_1-solution000003.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 4} diff --git a/tests/exhaustive/basic/set05/expected/model_1_3_1.eprime b/tests/exhaustive/basic/set05/expected/model_1_3_1.eprime new file mode 100644 index 0000000000..79fbdc8209 --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_1_3_1.eprime @@ -0,0 +1,21 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithMarker_Marker: int(0..3) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..3)] of int(1..4) +branching on [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_Occurrence] +such that + x_Occurrence[1], + or([q11 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q11] = 2 | q11 : int(1..3)]), + sum([toInt(x_Occurrence[q1]) | q1 : int(1..4)]) <= 3, + and([q2 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q2] < x_ExplicitVarSizeWithMarker_Values[q2 + 1] + | q2 : int(1..2)]), + and([q3 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q3] = 1 | q3 : int(1..3)]), + x_ExplicitVarSizeWithMarker_Marker <= 3, + and([q6 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q6]] + | q6 : int(1..3)]), + and([x_Occurrence[q7] -> + or([q9 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q9] = q7 | q9 : int(1..3)]) + | q7 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set05/expected/model_1_3_2-solution000001.solution b/tests/exhaustive/basic/set05/expected/model_1_3_2-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_1_3_2-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set05/expected/model_1_3_2-solution000002.solution b/tests/exhaustive/basic/set05/expected/model_1_3_2-solution000002.solution new file mode 100644 index 0000000000..fdc0f02f96 --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_1_3_2-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 4} diff --git a/tests/exhaustive/basic/set05/expected/model_1_3_2-solution000003.solution b/tests/exhaustive/basic/set05/expected/model_1_3_2-solution000003.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_1_3_2-solution000003.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/set05/expected/model_1_3_2.eprime b/tests/exhaustive/basic/set05/expected/model_1_3_2.eprime new file mode 100644 index 0000000000..85dcbc6f16 --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_1_3_2.eprime @@ -0,0 +1,41 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithMarker_Marker: int(0..3) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..3)] of int(1..4) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..3)] of int(1..5) +branching on + [x_ExplicitVarSizeWithDummy, x_Occurrence, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values] +such that + x_Occurrence[1], + or([q28 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q28] = 2 | q28 : int(1..3)]), + sum([toInt(x_Occurrence[q1]) | q1 : int(1..4)]) <= 3, + and([q2 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q2] < x_ExplicitVarSizeWithMarker_Values[q2 + 1] + | q2 : int(1..2)]), + and([q3 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q3] = 1 | q3 : int(1..3)]), + x_ExplicitVarSizeWithMarker_Marker <= 3, + and([q6 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q6]] + | q6 : int(1..3)]), + and([x_Occurrence[q7] -> + or([q9 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q9] = q7 | q9 : int(1..3)]) + | q7 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q10] < x_ExplicitVarSizeWithDummy[q10 + 1] \/ x_ExplicitVarSizeWithDummy[q10] = 5 + | q10 : int(1..2)]), + and([x_ExplicitVarSizeWithDummy[q11] = 5 -> x_ExplicitVarSizeWithDummy[q11 + 1] = 5 | q11 : int(1..2)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q12] != 5) | q12 : int(1..3)]) <= 3, + and([x_ExplicitVarSizeWithDummy[q15] != 5 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q15]] | q15 : int(1..3)]), + and([x_Occurrence[q16] -> + or([x_ExplicitVarSizeWithDummy[q18] != 5 /\ x_ExplicitVarSizeWithDummy[q18] = q16 | q18 : int(1..3)]) + | q16 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q20] != 5 -> + or([q22 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q22] = x_ExplicitVarSizeWithDummy[q20] + | q22 : int(1..3)]) + | q20 : int(1..3)]), + and([q24 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q26] != 5 /\ + x_ExplicitVarSizeWithDummy[q26] = x_ExplicitVarSizeWithMarker_Values[q24] + | q26 : int(1..3)]) + | q24 : int(1..3)]) + diff --git a/tests/exhaustive/basic/set05/expected/model_1_3_4-solution000001.solution b/tests/exhaustive/basic/set05/expected/model_1_3_4-solution000001.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_1_3_4-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/set05/expected/model_1_3_4-solution000002.solution b/tests/exhaustive/basic/set05/expected/model_1_3_4-solution000002.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_1_3_4-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set05/expected/model_1_3_4-solution000003.solution b/tests/exhaustive/basic/set05/expected/model_1_3_4-solution000003.solution new file mode 100644 index 0000000000..fdc0f02f96 --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_1_3_4-solution000003.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 4} diff --git a/tests/exhaustive/basic/set05/expected/model_1_3_4.eprime b/tests/exhaustive/basic/set05/expected/model_1_3_4.eprime new file mode 100644 index 0000000000..5d9c9d1d13 --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_1_3_4.eprime @@ -0,0 +1,47 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithMarker_Marker: int(0..3) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..3)] of int(1..4) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..3)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..3)] of int(1..4) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_Occurrence, + x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values] +such that + x_Occurrence[1], + or([q29 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q29] = 2 | q29 : int(1..3)]), + sum([toInt(x_Occurrence[q1]) | q1 : int(1..4)]) <= 3, + and([q2 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q2] < x_ExplicitVarSizeWithMarker_Values[q2 + 1] + | q2 : int(1..2)]), + and([q3 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q3] = 1 | q3 : int(1..3)]), + x_ExplicitVarSizeWithMarker_Marker <= 3, + and([q6 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q6]] + | q6 : int(1..3)]), + and([x_Occurrence[q7] -> + or([q9 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q9] = q7 | q9 : int(1..3)]) + | q7 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q10 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q10] < x_ExplicitVarSizeWithFlags_Values[q10 + 1] + | q10 : int(1..2)]), + and([x_ExplicitVarSizeWithFlags_Flags[q11] = false -> x_ExplicitVarSizeWithFlags_Values[q11] = 1 + | q11 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q12 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q12] | q12 : int(1..2)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q13]) | q13 : int(1..3)]) <= 3, + and([x_ExplicitVarSizeWithFlags_Flags[q16] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q16]] + | q16 : int(1..3)]), + and([x_Occurrence[q17] -> + or([x_ExplicitVarSizeWithFlags_Flags[q19] /\ x_ExplicitVarSizeWithFlags_Values[q19] = q17 | q19 : int(1..3)]) + | q17 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q21] -> + or([q23 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q23] = x_ExplicitVarSizeWithFlags_Values[q21] + | q23 : int(1..3)]) + | q21 : int(1..3)]), + and([q25 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q27] /\ + x_ExplicitVarSizeWithFlags_Values[q27] = x_ExplicitVarSizeWithMarker_Values[q25] + | q27 : int(1..3)]) + | q25 : int(1..3)]) + diff --git a/tests/exhaustive/basic/set05/expected/model_1_4_1-solution000001.solution b/tests/exhaustive/basic/set05/expected/model_1_4_1-solution000001.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_1_4_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/set05/expected/model_1_4_1-solution000002.solution b/tests/exhaustive/basic/set05/expected/model_1_4_1-solution000002.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_1_4_1-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set05/expected/model_1_4_1-solution000003.solution b/tests/exhaustive/basic/set05/expected/model_1_4_1-solution000003.solution new file mode 100644 index 0000000000..fdc0f02f96 --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_1_4_1-solution000003.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 4} diff --git a/tests/exhaustive/basic/set05/expected/model_1_4_1.eprime b/tests/exhaustive/basic/set05/expected/model_1_4_1.eprime new file mode 100644 index 0000000000..9ede8575b3 --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_1_4_1.eprime @@ -0,0 +1,21 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..3)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..3)] of int(1..4) +branching on [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_Occurrence] +such that + x_Occurrence[1], + or([x_ExplicitVarSizeWithFlags_Flags[q13] /\ x_ExplicitVarSizeWithFlags_Values[q13] = 2 | q13 : int(1..3)]), + sum([toInt(x_Occurrence[q1]) | q1 : int(1..4)]) <= 3, + and([x_ExplicitVarSizeWithFlags_Flags[q2 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q2] < x_ExplicitVarSizeWithFlags_Values[q2 + 1] + | q2 : int(1..2)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3] = false -> x_ExplicitVarSizeWithFlags_Values[q3] = 1 | q3 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q4 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q4] | q4 : int(1..2)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q5]) | q5 : int(1..3)]) <= 3, + and([x_ExplicitVarSizeWithFlags_Flags[q8] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q8]] | q8 : int(1..3)]), + and([x_Occurrence[q9] -> + or([x_ExplicitVarSizeWithFlags_Flags[q11] /\ x_ExplicitVarSizeWithFlags_Values[q11] = q9 | q11 : int(1..3)]) + | q9 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set05/expected/model_1_4_2-solution000001.solution b/tests/exhaustive/basic/set05/expected/model_1_4_2-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_1_4_2-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set05/expected/model_1_4_2-solution000002.solution b/tests/exhaustive/basic/set05/expected/model_1_4_2-solution000002.solution new file mode 100644 index 0000000000..fdc0f02f96 --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_1_4_2-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 4} diff --git a/tests/exhaustive/basic/set05/expected/model_1_4_2-solution000003.solution b/tests/exhaustive/basic/set05/expected/model_1_4_2-solution000003.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_1_4_2-solution000003.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/set05/expected/model_1_4_2.eprime b/tests/exhaustive/basic/set05/expected/model_1_4_2.eprime new file mode 100644 index 0000000000..ee08cbe011 --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_1_4_2.eprime @@ -0,0 +1,41 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..3)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..3)] of int(1..4) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..3)] of int(1..5) +branching on + [x_ExplicitVarSizeWithDummy, x_Occurrence, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values] +such that + x_Occurrence[1], + or([x_ExplicitVarSizeWithFlags_Flags[q30] /\ x_ExplicitVarSizeWithFlags_Values[q30] = 2 | q30 : int(1..3)]), + sum([toInt(x_Occurrence[q1]) | q1 : int(1..4)]) <= 3, + and([x_ExplicitVarSizeWithFlags_Flags[q2 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q2] < x_ExplicitVarSizeWithFlags_Values[q2 + 1] + | q2 : int(1..2)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3] = false -> x_ExplicitVarSizeWithFlags_Values[q3] = 1 | q3 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q4 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q4] | q4 : int(1..2)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q5]) | q5 : int(1..3)]) <= 3, + and([x_ExplicitVarSizeWithFlags_Flags[q8] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q8]] | q8 : int(1..3)]), + and([x_Occurrence[q9] -> + or([x_ExplicitVarSizeWithFlags_Flags[q11] /\ x_ExplicitVarSizeWithFlags_Values[q11] = q9 | q11 : int(1..3)]) + | q9 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q12] < x_ExplicitVarSizeWithDummy[q12 + 1] \/ x_ExplicitVarSizeWithDummy[q12] = 5 + | q12 : int(1..2)]), + and([x_ExplicitVarSizeWithDummy[q13] = 5 -> x_ExplicitVarSizeWithDummy[q13 + 1] = 5 | q13 : int(1..2)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q14] != 5) | q14 : int(1..3)]) <= 3, + and([x_ExplicitVarSizeWithDummy[q17] != 5 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q17]] | q17 : int(1..3)]), + and([x_Occurrence[q18] -> + or([x_ExplicitVarSizeWithDummy[q20] != 5 /\ x_ExplicitVarSizeWithDummy[q20] = q18 | q20 : int(1..3)]) + | q18 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q22] != 5 -> + or([x_ExplicitVarSizeWithFlags_Flags[q24] /\ + x_ExplicitVarSizeWithFlags_Values[q24] = x_ExplicitVarSizeWithDummy[q22] + | q24 : int(1..3)]) + | q22 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q26] -> + or([x_ExplicitVarSizeWithDummy[q28] != 5 /\ + x_ExplicitVarSizeWithDummy[q28] = x_ExplicitVarSizeWithFlags_Values[q26] + | q28 : int(1..3)]) + | q26 : int(1..3)]) + diff --git a/tests/exhaustive/basic/set05/expected/model_1_4_3-solution000001.solution b/tests/exhaustive/basic/set05/expected/model_1_4_3-solution000001.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_1_4_3-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/set05/expected/model_1_4_3-solution000002.solution b/tests/exhaustive/basic/set05/expected/model_1_4_3-solution000002.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_1_4_3-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set05/expected/model_1_4_3-solution000003.solution b/tests/exhaustive/basic/set05/expected/model_1_4_3-solution000003.solution new file mode 100644 index 0000000000..fdc0f02f96 --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_1_4_3-solution000003.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 4} diff --git a/tests/exhaustive/basic/set05/expected/model_1_4_3.eprime b/tests/exhaustive/basic/set05/expected/model_1_4_3.eprime new file mode 100644 index 0000000000..387a3320f5 --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_1_4_3.eprime @@ -0,0 +1,46 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..3)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..3)] of int(1..4) +find x_ExplicitVarSizeWithMarker_Marker: int(0..3) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..3)] of int(1..4) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_Occurrence, + x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values] +such that + x_Occurrence[1], + or([x_ExplicitVarSizeWithFlags_Flags[q29] /\ x_ExplicitVarSizeWithFlags_Values[q29] = 2 | q29 : int(1..3)]), + sum([toInt(x_Occurrence[q1]) | q1 : int(1..4)]) <= 3, + and([x_ExplicitVarSizeWithFlags_Flags[q2 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q2] < x_ExplicitVarSizeWithFlags_Values[q2 + 1] + | q2 : int(1..2)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3] = false -> x_ExplicitVarSizeWithFlags_Values[q3] = 1 | q3 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q4 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q4] | q4 : int(1..2)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q5]) | q5 : int(1..3)]) <= 3, + and([x_ExplicitVarSizeWithFlags_Flags[q8] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q8]] | q8 : int(1..3)]), + and([x_Occurrence[q9] -> + or([x_ExplicitVarSizeWithFlags_Flags[q11] /\ x_ExplicitVarSizeWithFlags_Values[q11] = q9 | q11 : int(1..3)]) + | q9 : int(1..4)]), + and([q12 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q12] < x_ExplicitVarSizeWithMarker_Values[q12 + 1] + | q12 : int(1..2)]), + and([q13 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q13] = 1 | q13 : int(1..3)]), + x_ExplicitVarSizeWithMarker_Marker <= 3, + and([q16 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q16]] + | q16 : int(1..3)]), + and([x_Occurrence[q17] -> + or([q19 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q19] = q17 + | q19 : int(1..3)]) + | q17 : int(1..4)]), + and([q21 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q23] /\ + x_ExplicitVarSizeWithFlags_Values[q23] = x_ExplicitVarSizeWithMarker_Values[q21] + | q23 : int(1..3)]) + | q21 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q25] -> + or([q27 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q27] = x_ExplicitVarSizeWithFlags_Values[q25] + | q27 : int(1..3)]) + | q25 : int(1..3)]) + diff --git a/tests/exhaustive/basic/set05/expected/model_2_1_1-solution000001.solution b/tests/exhaustive/basic/set05/expected/model_2_1_1-solution000001.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_2_1_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/set05/expected/model_2_1_1-solution000002.solution b/tests/exhaustive/basic/set05/expected/model_2_1_1-solution000002.solution new file mode 100644 index 0000000000..fdc0f02f96 --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_2_1_1-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 4} diff --git a/tests/exhaustive/basic/set05/expected/model_2_1_1-solution000003.solution b/tests/exhaustive/basic/set05/expected/model_2_1_1-solution000003.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_2_1_1-solution000003.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set05/expected/model_2_1_1.eprime b/tests/exhaustive/basic/set05/expected/model_2_1_1.eprime new file mode 100644 index 0000000000..6b99e48d14 --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_2_1_1.eprime @@ -0,0 +1,18 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..3)] of int(1..5) +find x_Occurrence: matrix indexed by [int(1..4)] of bool +branching on [x_Occurrence, x_ExplicitVarSizeWithDummy] +such that + or([x_ExplicitVarSizeWithDummy[q12] != 5 /\ x_ExplicitVarSizeWithDummy[q12] = 1 | q12 : int(1..3)]), + x_Occurrence[2], + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 5 + | q1 : int(1..2)]), + and([x_ExplicitVarSizeWithDummy[q2] = 5 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 5 | q2 : int(1..2)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q3] != 5) | q3 : int(1..3)]) <= 3, + sum([toInt(x_Occurrence[q5]) | q5 : int(1..4)]) <= 3, + and([x_Occurrence[q6] -> + or([x_ExplicitVarSizeWithDummy[q8] != 5 /\ x_ExplicitVarSizeWithDummy[q8] = q6 | q8 : int(1..3)]) + | q6 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q10] != 5 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q10]] | q10 : int(1..3)]) + diff --git a/tests/exhaustive/basic/set05/expected/model_2_1_3-solution000001.solution b/tests/exhaustive/basic/set05/expected/model_2_1_3-solution000001.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_2_1_3-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/set05/expected/model_2_1_3-solution000002.solution b/tests/exhaustive/basic/set05/expected/model_2_1_3-solution000002.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_2_1_3-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set05/expected/model_2_1_3-solution000003.solution b/tests/exhaustive/basic/set05/expected/model_2_1_3-solution000003.solution new file mode 100644 index 0000000000..fdc0f02f96 --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_2_1_3-solution000003.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 4} diff --git a/tests/exhaustive/basic/set05/expected/model_2_1_3.eprime b/tests/exhaustive/basic/set05/expected/model_2_1_3.eprime new file mode 100644 index 0000000000..3afbad58c6 --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_2_1_3.eprime @@ -0,0 +1,42 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..3)] of int(1..5) +find x_Occurrence: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithMarker_Marker: int(0..3) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..3)] of int(1..4) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_ExplicitVarSizeWithDummy, x_Occurrence] +such that + or([x_ExplicitVarSizeWithDummy[q28] != 5 /\ x_ExplicitVarSizeWithDummy[q28] = 1 | q28 : int(1..3)]), + x_Occurrence[2], + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 5 + | q1 : int(1..2)]), + and([x_ExplicitVarSizeWithDummy[q2] = 5 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 5 | q2 : int(1..2)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q3] != 5) | q3 : int(1..3)]) <= 3, + sum([toInt(x_Occurrence[q5]) | q5 : int(1..4)]) <= 3, + and([x_Occurrence[q22] -> + or([x_ExplicitVarSizeWithDummy[q24] != 5 /\ x_ExplicitVarSizeWithDummy[q24] = q22 | q24 : int(1..3)]) + | q22 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q26] != 5 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q26]] | q26 : int(1..3)]), + and([q6 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q6] < x_ExplicitVarSizeWithMarker_Values[q6 + 1] + | q6 : int(1..2)]), + and([q7 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q7] = 1 | q7 : int(1..3)]), + x_ExplicitVarSizeWithMarker_Marker <= 3, + and([q10 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q12] != 5 /\ + x_ExplicitVarSizeWithDummy[q12] = x_ExplicitVarSizeWithMarker_Values[q10] + | q12 : int(1..3)]) + | q10 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q14] != 5 -> + or([q16 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q16] = x_ExplicitVarSizeWithDummy[q14] + | q16 : int(1..3)]) + | q14 : int(1..3)]), + and([q18 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q18]] + | q18 : int(1..3)]), + and([x_Occurrence[q19] -> + or([q21 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q21] = q19 + | q21 : int(1..3)]) + | q19 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set05/expected/model_2_1_4-solution000001.solution b/tests/exhaustive/basic/set05/expected/model_2_1_4-solution000001.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_2_1_4-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/set05/expected/model_2_1_4-solution000002.solution b/tests/exhaustive/basic/set05/expected/model_2_1_4-solution000002.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_2_1_4-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set05/expected/model_2_1_4-solution000003.solution b/tests/exhaustive/basic/set05/expected/model_2_1_4-solution000003.solution new file mode 100644 index 0000000000..fdc0f02f96 --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_2_1_4-solution000003.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 4} diff --git a/tests/exhaustive/basic/set05/expected/model_2_1_4.eprime b/tests/exhaustive/basic/set05/expected/model_2_1_4.eprime new file mode 100644 index 0000000000..3cf7e10a32 --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_2_1_4.eprime @@ -0,0 +1,42 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..3)] of int(1..5) +find x_Occurrence: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..3)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..3)] of int(1..4) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_ExplicitVarSizeWithDummy, x_Occurrence] +such that + or([x_ExplicitVarSizeWithDummy[q30] != 5 /\ x_ExplicitVarSizeWithDummy[q30] = 1 | q30 : int(1..3)]), + x_Occurrence[2], + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 5 + | q1 : int(1..2)]), + and([x_ExplicitVarSizeWithDummy[q2] = 5 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 5 | q2 : int(1..2)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q3] != 5) | q3 : int(1..3)]) <= 3, + sum([toInt(x_Occurrence[q5]) | q5 : int(1..4)]) <= 3, + and([x_Occurrence[q24] -> + or([x_ExplicitVarSizeWithDummy[q26] != 5 /\ x_ExplicitVarSizeWithDummy[q26] = q24 | q26 : int(1..3)]) + | q24 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q28] != 5 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q28]] | q28 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q6 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q6] < x_ExplicitVarSizeWithFlags_Values[q6 + 1] + | q6 : int(1..2)]), + and([x_ExplicitVarSizeWithFlags_Flags[q7] = false -> x_ExplicitVarSizeWithFlags_Values[q7] = 1 | q7 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q8 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q8] | q8 : int(1..2)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q9]) | q9 : int(1..3)]) <= 3, + and([x_ExplicitVarSizeWithFlags_Flags[q12] -> + or([x_ExplicitVarSizeWithDummy[q14] != 5 /\ + x_ExplicitVarSizeWithDummy[q14] = x_ExplicitVarSizeWithFlags_Values[q12] + | q14 : int(1..3)]) + | q12 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q16] != 5 -> + or([x_ExplicitVarSizeWithFlags_Flags[q18] /\ + x_ExplicitVarSizeWithFlags_Values[q18] = x_ExplicitVarSizeWithDummy[q16] + | q18 : int(1..3)]) + | q16 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q20] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q20]] + | q20 : int(1..3)]), + and([x_Occurrence[q21] -> + or([x_ExplicitVarSizeWithFlags_Flags[q23] /\ x_ExplicitVarSizeWithFlags_Values[q23] = q21 | q23 : int(1..3)]) + | q21 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set05/expected/model_2_2_1-solution000001.solution b/tests/exhaustive/basic/set05/expected/model_2_2_1-solution000001.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_2_2_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/set05/expected/model_2_2_1-solution000002.solution b/tests/exhaustive/basic/set05/expected/model_2_2_1-solution000002.solution new file mode 100644 index 0000000000..fdc0f02f96 --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_2_2_1-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 4} diff --git a/tests/exhaustive/basic/set05/expected/model_2_2_1-solution000003.solution b/tests/exhaustive/basic/set05/expected/model_2_2_1-solution000003.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_2_2_1-solution000003.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set05/expected/model_2_2_1.eprime b/tests/exhaustive/basic/set05/expected/model_2_2_1.eprime new file mode 100644 index 0000000000..cb17af9c96 --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_2_2_1.eprime @@ -0,0 +1,18 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..3)] of int(1..5) +find x_Occurrence: matrix indexed by [int(1..4)] of bool +branching on [x_Occurrence, x_ExplicitVarSizeWithDummy] +such that + or([x_ExplicitVarSizeWithDummy[q12] != 5 /\ x_ExplicitVarSizeWithDummy[q12] = 1 | q12 : int(1..3)]), + or([x_ExplicitVarSizeWithDummy[q14] != 5 /\ x_ExplicitVarSizeWithDummy[q14] = 2 | q14 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 5 + | q1 : int(1..2)]), + and([x_ExplicitVarSizeWithDummy[q2] = 5 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 5 | q2 : int(1..2)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q3] != 5) | q3 : int(1..3)]) <= 3, + sum([toInt(x_Occurrence[q5]) | q5 : int(1..4)]) <= 3, + and([x_Occurrence[q6] -> + or([x_ExplicitVarSizeWithDummy[q8] != 5 /\ x_ExplicitVarSizeWithDummy[q8] = q6 | q8 : int(1..3)]) + | q6 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q10] != 5 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q10]] | q10 : int(1..3)]) + diff --git a/tests/exhaustive/basic/set05/expected/model_2_2_2-solution000001.solution b/tests/exhaustive/basic/set05/expected/model_2_2_2-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_2_2_2-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set05/expected/model_2_2_2-solution000002.solution b/tests/exhaustive/basic/set05/expected/model_2_2_2-solution000002.solution new file mode 100644 index 0000000000..fdc0f02f96 --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_2_2_2-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 4} diff --git a/tests/exhaustive/basic/set05/expected/model_2_2_2-solution000003.solution b/tests/exhaustive/basic/set05/expected/model_2_2_2-solution000003.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_2_2_2-solution000003.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/set05/expected/model_2_2_2.eprime b/tests/exhaustive/basic/set05/expected/model_2_2_2.eprime new file mode 100644 index 0000000000..4cb7d7d439 --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_2_2_2.eprime @@ -0,0 +1,12 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..3)] of int(1..5) +branching on [x_ExplicitVarSizeWithDummy] +such that + or([x_ExplicitVarSizeWithDummy[q6] != 5 /\ x_ExplicitVarSizeWithDummy[q6] = 1 | q6 : int(1..3)]), + or([x_ExplicitVarSizeWithDummy[q8] != 5 /\ x_ExplicitVarSizeWithDummy[q8] = 2 | q8 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 5 + | q1 : int(1..2)]), + and([x_ExplicitVarSizeWithDummy[q2] = 5 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 5 | q2 : int(1..2)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q3] != 5) | q3 : int(1..3)]) <= 3 + diff --git a/tests/exhaustive/basic/set05/expected/model_2_2_3-solution000001.solution b/tests/exhaustive/basic/set05/expected/model_2_2_3-solution000001.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_2_2_3-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/set05/expected/model_2_2_3-solution000002.solution b/tests/exhaustive/basic/set05/expected/model_2_2_3-solution000002.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_2_2_3-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set05/expected/model_2_2_3-solution000003.solution b/tests/exhaustive/basic/set05/expected/model_2_2_3-solution000003.solution new file mode 100644 index 0000000000..fdc0f02f96 --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_2_2_3-solution000003.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 4} diff --git a/tests/exhaustive/basic/set05/expected/model_2_2_3.eprime b/tests/exhaustive/basic/set05/expected/model_2_2_3.eprime new file mode 100644 index 0000000000..e60bea847e --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_2_2_3.eprime @@ -0,0 +1,29 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..3)] of int(1..5) +find x_ExplicitVarSizeWithMarker_Marker: int(0..3) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..3)] of int(1..4) +branching on [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_ExplicitVarSizeWithDummy] +such that + or([x_ExplicitVarSizeWithDummy[q17] != 5 /\ x_ExplicitVarSizeWithDummy[q17] = 1 | q17 : int(1..3)]), + or([x_ExplicitVarSizeWithDummy[q19] != 5 /\ x_ExplicitVarSizeWithDummy[q19] = 2 | q19 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 5 + | q1 : int(1..2)]), + and([x_ExplicitVarSizeWithDummy[q2] = 5 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 5 | q2 : int(1..2)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q3] != 5) | q3 : int(1..3)]) <= 3, + and([q5 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q5] < x_ExplicitVarSizeWithMarker_Values[q5 + 1] + | q5 : int(1..2)]), + and([q6 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q6] = 1 | q6 : int(1..3)]), + x_ExplicitVarSizeWithMarker_Marker <= 3, + and([q9 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q11] != 5 /\ + x_ExplicitVarSizeWithDummy[q11] = x_ExplicitVarSizeWithMarker_Values[q9] + | q11 : int(1..3)]) + | q9 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q13] != 5 -> + or([q15 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q15] = x_ExplicitVarSizeWithDummy[q13] + | q15 : int(1..3)]) + | q13 : int(1..3)]) + diff --git a/tests/exhaustive/basic/set05/expected/model_2_2_4-solution000001.solution b/tests/exhaustive/basic/set05/expected/model_2_2_4-solution000001.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_2_2_4-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/set05/expected/model_2_2_4-solution000002.solution b/tests/exhaustive/basic/set05/expected/model_2_2_4-solution000002.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_2_2_4-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set05/expected/model_2_2_4-solution000003.solution b/tests/exhaustive/basic/set05/expected/model_2_2_4-solution000003.solution new file mode 100644 index 0000000000..fdc0f02f96 --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_2_2_4-solution000003.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 4} diff --git a/tests/exhaustive/basic/set05/expected/model_2_2_4.eprime b/tests/exhaustive/basic/set05/expected/model_2_2_4.eprime new file mode 100644 index 0000000000..06f804e4d5 --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_2_2_4.eprime @@ -0,0 +1,30 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..3)] of int(1..5) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..3)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..3)] of int(1..4) +branching on [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_ExplicitVarSizeWithDummy] +such that + or([x_ExplicitVarSizeWithDummy[q19] != 5 /\ x_ExplicitVarSizeWithDummy[q19] = 1 | q19 : int(1..3)]), + or([x_ExplicitVarSizeWithDummy[q21] != 5 /\ x_ExplicitVarSizeWithDummy[q21] = 2 | q21 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 5 + | q1 : int(1..2)]), + and([x_ExplicitVarSizeWithDummy[q2] = 5 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 5 | q2 : int(1..2)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q3] != 5) | q3 : int(1..3)]) <= 3, + and([x_ExplicitVarSizeWithFlags_Flags[q5 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q5] < x_ExplicitVarSizeWithFlags_Values[q5 + 1] + | q5 : int(1..2)]), + and([x_ExplicitVarSizeWithFlags_Flags[q6] = false -> x_ExplicitVarSizeWithFlags_Values[q6] = 1 | q6 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q7 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q7] | q7 : int(1..2)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q8]) | q8 : int(1..3)]) <= 3, + and([x_ExplicitVarSizeWithFlags_Flags[q11] -> + or([x_ExplicitVarSizeWithDummy[q13] != 5 /\ + x_ExplicitVarSizeWithDummy[q13] = x_ExplicitVarSizeWithFlags_Values[q11] + | q13 : int(1..3)]) + | q11 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q15] != 5 -> + or([x_ExplicitVarSizeWithFlags_Flags[q17] /\ + x_ExplicitVarSizeWithFlags_Values[q17] = x_ExplicitVarSizeWithDummy[q15] + | q17 : int(1..3)]) + | q15 : int(1..3)]) + diff --git a/tests/exhaustive/basic/set05/expected/model_2_3_1-solution000001.solution b/tests/exhaustive/basic/set05/expected/model_2_3_1-solution000001.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_2_3_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/set05/expected/model_2_3_1-solution000002.solution b/tests/exhaustive/basic/set05/expected/model_2_3_1-solution000002.solution new file mode 100644 index 0000000000..fdc0f02f96 --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_2_3_1-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 4} diff --git a/tests/exhaustive/basic/set05/expected/model_2_3_1-solution000003.solution b/tests/exhaustive/basic/set05/expected/model_2_3_1-solution000003.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_2_3_1-solution000003.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set05/expected/model_2_3_1.eprime b/tests/exhaustive/basic/set05/expected/model_2_3_1.eprime new file mode 100644 index 0000000000..40eab4116d --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_2_3_1.eprime @@ -0,0 +1,42 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..3)] of int(1..5) +find x_ExplicitVarSizeWithMarker_Marker: int(0..3) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..3)] of int(1..4) +find x_Occurrence: matrix indexed by [int(1..4)] of bool +branching on + [x_Occurrence, x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values] +such that + or([x_ExplicitVarSizeWithDummy[q28] != 5 /\ x_ExplicitVarSizeWithDummy[q28] = 1 | q28 : int(1..3)]), + or([q30 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q30] = 2 | q30 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 5 + | q1 : int(1..2)]), + and([x_ExplicitVarSizeWithDummy[q2] = 5 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 5 | q2 : int(1..2)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q3] != 5) | q3 : int(1..3)]) <= 3, + and([q5 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q5] < x_ExplicitVarSizeWithMarker_Values[q5 + 1] + | q5 : int(1..2)]), + and([q6 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q6] = 1 | q6 : int(1..3)]), + x_ExplicitVarSizeWithMarker_Marker <= 3, + and([q9 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q11] != 5 /\ + x_ExplicitVarSizeWithDummy[q11] = x_ExplicitVarSizeWithMarker_Values[q9] + | q11 : int(1..3)]) + | q9 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q13] != 5 -> + or([q15 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q15] = x_ExplicitVarSizeWithDummy[q13] + | q15 : int(1..3)]) + | q13 : int(1..3)]), + sum([toInt(x_Occurrence[q16]) | q16 : int(1..4)]) <= 3, + and([x_Occurrence[q17] -> + or([x_ExplicitVarSizeWithDummy[q19] != 5 /\ x_ExplicitVarSizeWithDummy[q19] = q17 | q19 : int(1..3)]) + | q17 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q21] != 5 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q21]] | q21 : int(1..3)]), + and([x_Occurrence[q22] -> + or([q24 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q24] = q22 + | q24 : int(1..3)]) + | q22 : int(1..4)]), + and([q26 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q26]] + | q26 : int(1..3)]) + diff --git a/tests/exhaustive/basic/set05/expected/model_2_3_2-solution000001.solution b/tests/exhaustive/basic/set05/expected/model_2_3_2-solution000001.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_2_3_2-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/set05/expected/model_2_3_2-solution000002.solution b/tests/exhaustive/basic/set05/expected/model_2_3_2-solution000002.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_2_3_2-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set05/expected/model_2_3_2-solution000003.solution b/tests/exhaustive/basic/set05/expected/model_2_3_2-solution000003.solution new file mode 100644 index 0000000000..fdc0f02f96 --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_2_3_2-solution000003.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 4} diff --git a/tests/exhaustive/basic/set05/expected/model_2_3_2.eprime b/tests/exhaustive/basic/set05/expected/model_2_3_2.eprime new file mode 100644 index 0000000000..9ddf8ddf04 --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_2_3_2.eprime @@ -0,0 +1,29 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..3)] of int(1..5) +find x_ExplicitVarSizeWithMarker_Marker: int(0..3) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..3)] of int(1..4) +branching on [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_ExplicitVarSizeWithDummy] +such that + or([x_ExplicitVarSizeWithDummy[q17] != 5 /\ x_ExplicitVarSizeWithDummy[q17] = 1 | q17 : int(1..3)]), + or([q19 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q19] = 2 | q19 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 5 + | q1 : int(1..2)]), + and([x_ExplicitVarSizeWithDummy[q2] = 5 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 5 | q2 : int(1..2)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q3] != 5) | q3 : int(1..3)]) <= 3, + and([q5 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q5] < x_ExplicitVarSizeWithMarker_Values[q5 + 1] + | q5 : int(1..2)]), + and([q6 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q6] = 1 | q6 : int(1..3)]), + x_ExplicitVarSizeWithMarker_Marker <= 3, + and([q9 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q11] != 5 /\ + x_ExplicitVarSizeWithDummy[q11] = x_ExplicitVarSizeWithMarker_Values[q9] + | q11 : int(1..3)]) + | q9 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q13] != 5 -> + or([q15 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q15] = x_ExplicitVarSizeWithDummy[q13] + | q15 : int(1..3)]) + | q13 : int(1..3)]) + diff --git a/tests/exhaustive/basic/set05/expected/model_2_3_4-solution000001.solution b/tests/exhaustive/basic/set05/expected/model_2_3_4-solution000001.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_2_3_4-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/set05/expected/model_2_3_4-solution000002.solution b/tests/exhaustive/basic/set05/expected/model_2_3_4-solution000002.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_2_3_4-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set05/expected/model_2_3_4-solution000003.solution b/tests/exhaustive/basic/set05/expected/model_2_3_4-solution000003.solution new file mode 100644 index 0000000000..fdc0f02f96 --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_2_3_4-solution000003.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 4} diff --git a/tests/exhaustive/basic/set05/expected/model_2_3_4.eprime b/tests/exhaustive/basic/set05/expected/model_2_3_4.eprime new file mode 100644 index 0000000000..933ef63b6a --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_2_3_4.eprime @@ -0,0 +1,60 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..3)] of int(1..5) +find x_ExplicitVarSizeWithMarker_Marker: int(0..3) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..3)] of int(1..4) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..3)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..3)] of int(1..4) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_ExplicitVarSizeWithDummy, + x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values] +such that + or([x_ExplicitVarSizeWithDummy[q38] != 5 /\ x_ExplicitVarSizeWithDummy[q38] = 1 | q38 : int(1..3)]), + or([q40 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q40] = 2 | q40 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 5 + | q1 : int(1..2)]), + and([x_ExplicitVarSizeWithDummy[q2] = 5 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 5 | q2 : int(1..2)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q3] != 5) | q3 : int(1..3)]) <= 3, + and([q5 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q5] < x_ExplicitVarSizeWithMarker_Values[q5 + 1] + | q5 : int(1..2)]), + and([q6 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q6] = 1 | q6 : int(1..3)]), + x_ExplicitVarSizeWithMarker_Marker <= 3, + and([q9 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q11] != 5 /\ + x_ExplicitVarSizeWithDummy[q11] = x_ExplicitVarSizeWithMarker_Values[q9] + | q11 : int(1..3)]) + | q9 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q13] != 5 -> + or([q15 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q15] = x_ExplicitVarSizeWithDummy[q13] + | q15 : int(1..3)]) + | q13 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q16 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q16] < x_ExplicitVarSizeWithFlags_Values[q16 + 1] + | q16 : int(1..2)]), + and([x_ExplicitVarSizeWithFlags_Flags[q17] = false -> x_ExplicitVarSizeWithFlags_Values[q17] = 1 + | q17 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q18 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q18] | q18 : int(1..2)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q19]) | q19 : int(1..3)]) <= 3, + and([x_ExplicitVarSizeWithFlags_Flags[q22] -> + or([x_ExplicitVarSizeWithDummy[q24] != 5 /\ + x_ExplicitVarSizeWithDummy[q24] = x_ExplicitVarSizeWithFlags_Values[q22] + | q24 : int(1..3)]) + | q22 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q26] != 5 -> + or([x_ExplicitVarSizeWithFlags_Flags[q28] /\ + x_ExplicitVarSizeWithFlags_Values[q28] = x_ExplicitVarSizeWithDummy[q26] + | q28 : int(1..3)]) + | q26 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q30] -> + or([q32 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q32] = x_ExplicitVarSizeWithFlags_Values[q30] + | q32 : int(1..3)]) + | q30 : int(1..3)]), + and([q34 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q36] /\ + x_ExplicitVarSizeWithFlags_Values[q36] = x_ExplicitVarSizeWithMarker_Values[q34] + | q36 : int(1..3)]) + | q34 : int(1..3)]) + diff --git a/tests/exhaustive/basic/set05/expected/model_2_4_1-solution000001.solution b/tests/exhaustive/basic/set05/expected/model_2_4_1-solution000001.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_2_4_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/set05/expected/model_2_4_1-solution000002.solution b/tests/exhaustive/basic/set05/expected/model_2_4_1-solution000002.solution new file mode 100644 index 0000000000..fdc0f02f96 --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_2_4_1-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 4} diff --git a/tests/exhaustive/basic/set05/expected/model_2_4_1-solution000003.solution b/tests/exhaustive/basic/set05/expected/model_2_4_1-solution000003.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_2_4_1-solution000003.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set05/expected/model_2_4_1.eprime b/tests/exhaustive/basic/set05/expected/model_2_4_1.eprime new file mode 100644 index 0000000000..81a9200abd --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_2_4_1.eprime @@ -0,0 +1,42 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..3)] of int(1..5) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..3)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..3)] of int(1..4) +find x_Occurrence: matrix indexed by [int(1..4)] of bool +branching on + [x_Occurrence, x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values] +such that + or([x_ExplicitVarSizeWithDummy[q30] != 5 /\ x_ExplicitVarSizeWithDummy[q30] = 1 | q30 : int(1..3)]), + or([x_ExplicitVarSizeWithFlags_Flags[q32] /\ x_ExplicitVarSizeWithFlags_Values[q32] = 2 | q32 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 5 + | q1 : int(1..2)]), + and([x_ExplicitVarSizeWithDummy[q2] = 5 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 5 | q2 : int(1..2)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q3] != 5) | q3 : int(1..3)]) <= 3, + and([x_ExplicitVarSizeWithFlags_Flags[q5 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q5] < x_ExplicitVarSizeWithFlags_Values[q5 + 1] + | q5 : int(1..2)]), + and([x_ExplicitVarSizeWithFlags_Flags[q6] = false -> x_ExplicitVarSizeWithFlags_Values[q6] = 1 | q6 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q7 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q7] | q7 : int(1..2)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q8]) | q8 : int(1..3)]) <= 3, + and([x_ExplicitVarSizeWithFlags_Flags[q11] -> + or([x_ExplicitVarSizeWithDummy[q13] != 5 /\ + x_ExplicitVarSizeWithDummy[q13] = x_ExplicitVarSizeWithFlags_Values[q11] + | q13 : int(1..3)]) + | q11 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q15] != 5 -> + or([x_ExplicitVarSizeWithFlags_Flags[q17] /\ + x_ExplicitVarSizeWithFlags_Values[q17] = x_ExplicitVarSizeWithDummy[q15] + | q17 : int(1..3)]) + | q15 : int(1..3)]), + sum([toInt(x_Occurrence[q18]) | q18 : int(1..4)]) <= 3, + and([x_Occurrence[q19] -> + or([x_ExplicitVarSizeWithDummy[q21] != 5 /\ x_ExplicitVarSizeWithDummy[q21] = q19 | q21 : int(1..3)]) + | q19 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q23] != 5 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q23]] | q23 : int(1..3)]), + and([x_Occurrence[q24] -> + or([x_ExplicitVarSizeWithFlags_Flags[q26] /\ x_ExplicitVarSizeWithFlags_Values[q26] = q24 | q26 : int(1..3)]) + | q24 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q28] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q28]] + | q28 : int(1..3)]) + diff --git a/tests/exhaustive/basic/set05/expected/model_2_4_2-solution000001.solution b/tests/exhaustive/basic/set05/expected/model_2_4_2-solution000001.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_2_4_2-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/set05/expected/model_2_4_2-solution000002.solution b/tests/exhaustive/basic/set05/expected/model_2_4_2-solution000002.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_2_4_2-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set05/expected/model_2_4_2-solution000003.solution b/tests/exhaustive/basic/set05/expected/model_2_4_2-solution000003.solution new file mode 100644 index 0000000000..fdc0f02f96 --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_2_4_2-solution000003.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 4} diff --git a/tests/exhaustive/basic/set05/expected/model_2_4_2.eprime b/tests/exhaustive/basic/set05/expected/model_2_4_2.eprime new file mode 100644 index 0000000000..c9dd09c7ea --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_2_4_2.eprime @@ -0,0 +1,30 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..3)] of int(1..5) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..3)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..3)] of int(1..4) +branching on [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_ExplicitVarSizeWithDummy] +such that + or([x_ExplicitVarSizeWithDummy[q19] != 5 /\ x_ExplicitVarSizeWithDummy[q19] = 1 | q19 : int(1..3)]), + or([x_ExplicitVarSizeWithFlags_Flags[q21] /\ x_ExplicitVarSizeWithFlags_Values[q21] = 2 | q21 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 5 + | q1 : int(1..2)]), + and([x_ExplicitVarSizeWithDummy[q2] = 5 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 5 | q2 : int(1..2)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q3] != 5) | q3 : int(1..3)]) <= 3, + and([x_ExplicitVarSizeWithFlags_Flags[q5 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q5] < x_ExplicitVarSizeWithFlags_Values[q5 + 1] + | q5 : int(1..2)]), + and([x_ExplicitVarSizeWithFlags_Flags[q6] = false -> x_ExplicitVarSizeWithFlags_Values[q6] = 1 | q6 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q7 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q7] | q7 : int(1..2)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q8]) | q8 : int(1..3)]) <= 3, + and([x_ExplicitVarSizeWithFlags_Flags[q11] -> + or([x_ExplicitVarSizeWithDummy[q13] != 5 /\ + x_ExplicitVarSizeWithDummy[q13] = x_ExplicitVarSizeWithFlags_Values[q11] + | q13 : int(1..3)]) + | q11 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q15] != 5 -> + or([x_ExplicitVarSizeWithFlags_Flags[q17] /\ + x_ExplicitVarSizeWithFlags_Values[q17] = x_ExplicitVarSizeWithDummy[q15] + | q17 : int(1..3)]) + | q15 : int(1..3)]) + diff --git a/tests/exhaustive/basic/set05/expected/model_2_4_3-solution000001.solution b/tests/exhaustive/basic/set05/expected/model_2_4_3-solution000001.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_2_4_3-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/set05/expected/model_2_4_3-solution000002.solution b/tests/exhaustive/basic/set05/expected/model_2_4_3-solution000002.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_2_4_3-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set05/expected/model_2_4_3-solution000003.solution b/tests/exhaustive/basic/set05/expected/model_2_4_3-solution000003.solution new file mode 100644 index 0000000000..fdc0f02f96 --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_2_4_3-solution000003.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 4} diff --git a/tests/exhaustive/basic/set05/expected/model_2_4_3.eprime b/tests/exhaustive/basic/set05/expected/model_2_4_3.eprime new file mode 100644 index 0000000000..b649797fe9 --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_2_4_3.eprime @@ -0,0 +1,59 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..3)] of int(1..5) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..3)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..3)] of int(1..4) +find x_ExplicitVarSizeWithMarker_Marker: int(0..3) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..3)] of int(1..4) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_ExplicitVarSizeWithDummy, + x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values] +such that + or([x_ExplicitVarSizeWithDummy[q38] != 5 /\ x_ExplicitVarSizeWithDummy[q38] = 1 | q38 : int(1..3)]), + or([x_ExplicitVarSizeWithFlags_Flags[q40] /\ x_ExplicitVarSizeWithFlags_Values[q40] = 2 | q40 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 5 + | q1 : int(1..2)]), + and([x_ExplicitVarSizeWithDummy[q2] = 5 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 5 | q2 : int(1..2)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q3] != 5) | q3 : int(1..3)]) <= 3, + and([x_ExplicitVarSizeWithFlags_Flags[q5 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q5] < x_ExplicitVarSizeWithFlags_Values[q5 + 1] + | q5 : int(1..2)]), + and([x_ExplicitVarSizeWithFlags_Flags[q6] = false -> x_ExplicitVarSizeWithFlags_Values[q6] = 1 | q6 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q7 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q7] | q7 : int(1..2)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q8]) | q8 : int(1..3)]) <= 3, + and([x_ExplicitVarSizeWithFlags_Flags[q11] -> + or([x_ExplicitVarSizeWithDummy[q13] != 5 /\ + x_ExplicitVarSizeWithDummy[q13] = x_ExplicitVarSizeWithFlags_Values[q11] + | q13 : int(1..3)]) + | q11 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q15] != 5 -> + or([x_ExplicitVarSizeWithFlags_Flags[q17] /\ + x_ExplicitVarSizeWithFlags_Values[q17] = x_ExplicitVarSizeWithDummy[q15] + | q17 : int(1..3)]) + | q15 : int(1..3)]), + and([q18 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q18] < x_ExplicitVarSizeWithMarker_Values[q18 + 1] + | q18 : int(1..2)]), + and([q19 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q19] = 1 | q19 : int(1..3)]), + x_ExplicitVarSizeWithMarker_Marker <= 3, + and([q22 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q24] != 5 /\ + x_ExplicitVarSizeWithDummy[q24] = x_ExplicitVarSizeWithMarker_Values[q22] + | q24 : int(1..3)]) + | q22 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q26] != 5 -> + or([q28 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q28] = x_ExplicitVarSizeWithDummy[q26] + | q28 : int(1..3)]) + | q26 : int(1..3)]), + and([q30 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q32] /\ + x_ExplicitVarSizeWithFlags_Values[q32] = x_ExplicitVarSizeWithMarker_Values[q30] + | q32 : int(1..3)]) + | q30 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q34] -> + or([q36 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q36] = x_ExplicitVarSizeWithFlags_Values[q34] + | q36 : int(1..3)]) + | q34 : int(1..3)]) + diff --git a/tests/exhaustive/basic/set05/expected/model_3_1_1-solution000001.solution b/tests/exhaustive/basic/set05/expected/model_3_1_1-solution000001.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_3_1_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/set05/expected/model_3_1_1-solution000002.solution b/tests/exhaustive/basic/set05/expected/model_3_1_1-solution000002.solution new file mode 100644 index 0000000000..fdc0f02f96 --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_3_1_1-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 4} diff --git a/tests/exhaustive/basic/set05/expected/model_3_1_1-solution000003.solution b/tests/exhaustive/basic/set05/expected/model_3_1_1-solution000003.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_3_1_1-solution000003.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set05/expected/model_3_1_1.eprime b/tests/exhaustive/basic/set05/expected/model_3_1_1.eprime new file mode 100644 index 0000000000..18b6d63112 --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_3_1_1.eprime @@ -0,0 +1,21 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..3) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..3)] of int(1..4) +find x_Occurrence: matrix indexed by [int(1..4)] of bool +branching on [x_Occurrence, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values] +such that + or([q11 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q11] = 1 | q11 : int(1..3)]), + x_Occurrence[2], + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..2)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 1 | q2 : int(1..3)]), + x_ExplicitVarSizeWithMarker_Marker <= 3, + sum([toInt(x_Occurrence[q4]) | q4 : int(1..4)]) <= 3, + and([x_Occurrence[q5] -> + or([q7 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q7] = q5 | q7 : int(1..3)]) + | q5 : int(1..4)]), + and([q9 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q9]] + | q9 : int(1..3)]) + diff --git a/tests/exhaustive/basic/set05/expected/model_3_1_2-solution000001.solution b/tests/exhaustive/basic/set05/expected/model_3_1_2-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_3_1_2-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set05/expected/model_3_1_2-solution000002.solution b/tests/exhaustive/basic/set05/expected/model_3_1_2-solution000002.solution new file mode 100644 index 0000000000..fdc0f02f96 --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_3_1_2-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 4} diff --git a/tests/exhaustive/basic/set05/expected/model_3_1_2-solution000003.solution b/tests/exhaustive/basic/set05/expected/model_3_1_2-solution000003.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_3_1_2-solution000003.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/set05/expected/model_3_1_2.eprime b/tests/exhaustive/basic/set05/expected/model_3_1_2.eprime new file mode 100644 index 0000000000..56c03f8d80 --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_3_1_2.eprime @@ -0,0 +1,42 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..3) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..3)] of int(1..4) +find x_Occurrence: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..3)] of int(1..5) +branching on + [x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_Occurrence] +such that + or([q28 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q28] = 1 | q28 : int(1..3)]), + x_Occurrence[2], + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..2)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 1 | q2 : int(1..3)]), + x_ExplicitVarSizeWithMarker_Marker <= 3, + sum([toInt(x_Occurrence[q4]) | q4 : int(1..4)]) <= 3, + and([x_Occurrence[q22] -> + or([q24 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q24] = q22 + | q24 : int(1..3)]) + | q22 : int(1..4)]), + and([q26 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q26]] + | q26 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q5] < x_ExplicitVarSizeWithDummy[q5 + 1] \/ x_ExplicitVarSizeWithDummy[q5] = 5 + | q5 : int(1..2)]), + and([x_ExplicitVarSizeWithDummy[q6] = 5 -> x_ExplicitVarSizeWithDummy[q6 + 1] = 5 | q6 : int(1..2)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q7] != 5) | q7 : int(1..3)]) <= 3, + and([x_ExplicitVarSizeWithDummy[q10] != 5 -> + or([q12 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q12] = x_ExplicitVarSizeWithDummy[q10] + | q12 : int(1..3)]) + | q10 : int(1..3)]), + and([q14 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q16] != 5 /\ + x_ExplicitVarSizeWithDummy[q16] = x_ExplicitVarSizeWithMarker_Values[q14] + | q16 : int(1..3)]) + | q14 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q18] != 5 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q18]] | q18 : int(1..3)]), + and([x_Occurrence[q19] -> + or([x_ExplicitVarSizeWithDummy[q21] != 5 /\ x_ExplicitVarSizeWithDummy[q21] = q19 | q21 : int(1..3)]) + | q19 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set05/expected/model_3_1_4-solution000001.solution b/tests/exhaustive/basic/set05/expected/model_3_1_4-solution000001.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_3_1_4-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/set05/expected/model_3_1_4-solution000002.solution b/tests/exhaustive/basic/set05/expected/model_3_1_4-solution000002.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_3_1_4-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set05/expected/model_3_1_4-solution000003.solution b/tests/exhaustive/basic/set05/expected/model_3_1_4-solution000003.solution new file mode 100644 index 0000000000..fdc0f02f96 --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_3_1_4-solution000003.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 4} diff --git a/tests/exhaustive/basic/set05/expected/model_3_1_4.eprime b/tests/exhaustive/basic/set05/expected/model_3_1_4.eprime new file mode 100644 index 0000000000..742dd902aa --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_3_1_4.eprime @@ -0,0 +1,47 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..3) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..3)] of int(1..4) +find x_Occurrence: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..3)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..3)] of int(1..4) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_ExplicitVarSizeWithMarker_Marker, + x_ExplicitVarSizeWithMarker_Values, x_Occurrence] +such that + or([q29 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q29] = 1 | q29 : int(1..3)]), + x_Occurrence[2], + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..2)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 1 | q2 : int(1..3)]), + x_ExplicitVarSizeWithMarker_Marker <= 3, + sum([toInt(x_Occurrence[q4]) | q4 : int(1..4)]) <= 3, + and([x_Occurrence[q23] -> + or([q25 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q25] = q23 + | q25 : int(1..3)]) + | q23 : int(1..4)]), + and([q27 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q27]] + | q27 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q5 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q5] < x_ExplicitVarSizeWithFlags_Values[q5 + 1] + | q5 : int(1..2)]), + and([x_ExplicitVarSizeWithFlags_Flags[q6] = false -> x_ExplicitVarSizeWithFlags_Values[q6] = 1 | q6 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q7 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q7] | q7 : int(1..2)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q8]) | q8 : int(1..3)]) <= 3, + and([x_ExplicitVarSizeWithFlags_Flags[q11] -> + or([q13 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q13] = x_ExplicitVarSizeWithFlags_Values[q11] + | q13 : int(1..3)]) + | q11 : int(1..3)]), + and([q15 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q17] /\ + x_ExplicitVarSizeWithFlags_Values[q17] = x_ExplicitVarSizeWithMarker_Values[q15] + | q17 : int(1..3)]) + | q15 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q19] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q19]] + | q19 : int(1..3)]), + and([x_Occurrence[q20] -> + or([x_ExplicitVarSizeWithFlags_Flags[q22] /\ x_ExplicitVarSizeWithFlags_Values[q22] = q20 | q22 : int(1..3)]) + | q20 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set05/expected/model_3_2_1-solution000001.solution b/tests/exhaustive/basic/set05/expected/model_3_2_1-solution000001.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_3_2_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/set05/expected/model_3_2_1-solution000002.solution b/tests/exhaustive/basic/set05/expected/model_3_2_1-solution000002.solution new file mode 100644 index 0000000000..fdc0f02f96 --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_3_2_1-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 4} diff --git a/tests/exhaustive/basic/set05/expected/model_3_2_1-solution000003.solution b/tests/exhaustive/basic/set05/expected/model_3_2_1-solution000003.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_3_2_1-solution000003.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set05/expected/model_3_2_1.eprime b/tests/exhaustive/basic/set05/expected/model_3_2_1.eprime new file mode 100644 index 0000000000..4d541e34ee --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_3_2_1.eprime @@ -0,0 +1,42 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..3) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..3)] of int(1..4) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..3)] of int(1..5) +find x_Occurrence: matrix indexed by [int(1..4)] of bool +branching on + [x_Occurrence, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_ExplicitVarSizeWithDummy] +such that + or([q28 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q28] = 1 | q28 : int(1..3)]), + or([x_ExplicitVarSizeWithDummy[q30] != 5 /\ x_ExplicitVarSizeWithDummy[q30] = 2 | q30 : int(1..3)]), + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..2)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 1 | q2 : int(1..3)]), + x_ExplicitVarSizeWithMarker_Marker <= 3, + and([x_ExplicitVarSizeWithDummy[q4] < x_ExplicitVarSizeWithDummy[q4 + 1] \/ x_ExplicitVarSizeWithDummy[q4] = 5 + | q4 : int(1..2)]), + and([x_ExplicitVarSizeWithDummy[q5] = 5 -> x_ExplicitVarSizeWithDummy[q5 + 1] = 5 | q5 : int(1..2)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q6] != 5) | q6 : int(1..3)]) <= 3, + and([x_ExplicitVarSizeWithDummy[q9] != 5 -> + or([q11 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q11] = x_ExplicitVarSizeWithDummy[q9] + | q11 : int(1..3)]) + | q9 : int(1..3)]), + and([q13 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q15] != 5 /\ + x_ExplicitVarSizeWithDummy[q15] = x_ExplicitVarSizeWithMarker_Values[q13] + | q15 : int(1..3)]) + | q13 : int(1..3)]), + sum([toInt(x_Occurrence[q16]) | q16 : int(1..4)]) <= 3, + and([x_Occurrence[q17] -> + or([q19 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q19] = q17 + | q19 : int(1..3)]) + | q17 : int(1..4)]), + and([q21 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q21]] + | q21 : int(1..3)]), + and([x_Occurrence[q22] -> + or([x_ExplicitVarSizeWithDummy[q24] != 5 /\ x_ExplicitVarSizeWithDummy[q24] = q22 | q24 : int(1..3)]) + | q22 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q26] != 5 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q26]] | q26 : int(1..3)]) + diff --git a/tests/exhaustive/basic/set05/expected/model_3_2_2-solution000001.solution b/tests/exhaustive/basic/set05/expected/model_3_2_2-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_3_2_2-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set05/expected/model_3_2_2-solution000002.solution b/tests/exhaustive/basic/set05/expected/model_3_2_2-solution000002.solution new file mode 100644 index 0000000000..fdc0f02f96 --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_3_2_2-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 4} diff --git a/tests/exhaustive/basic/set05/expected/model_3_2_2-solution000003.solution b/tests/exhaustive/basic/set05/expected/model_3_2_2-solution000003.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_3_2_2-solution000003.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/set05/expected/model_3_2_2.eprime b/tests/exhaustive/basic/set05/expected/model_3_2_2.eprime new file mode 100644 index 0000000000..aff63a4eef --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_3_2_2.eprime @@ -0,0 +1,29 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..3) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..3)] of int(1..4) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..3)] of int(1..5) +branching on [x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values] +such that + or([q17 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q17] = 1 | q17 : int(1..3)]), + or([x_ExplicitVarSizeWithDummy[q19] != 5 /\ x_ExplicitVarSizeWithDummy[q19] = 2 | q19 : int(1..3)]), + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..2)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 1 | q2 : int(1..3)]), + x_ExplicitVarSizeWithMarker_Marker <= 3, + and([x_ExplicitVarSizeWithDummy[q4] < x_ExplicitVarSizeWithDummy[q4 + 1] \/ x_ExplicitVarSizeWithDummy[q4] = 5 + | q4 : int(1..2)]), + and([x_ExplicitVarSizeWithDummy[q5] = 5 -> x_ExplicitVarSizeWithDummy[q5 + 1] = 5 | q5 : int(1..2)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q6] != 5) | q6 : int(1..3)]) <= 3, + and([x_ExplicitVarSizeWithDummy[q9] != 5 -> + or([q11 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q11] = x_ExplicitVarSizeWithDummy[q9] + | q11 : int(1..3)]) + | q9 : int(1..3)]), + and([q13 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q15] != 5 /\ + x_ExplicitVarSizeWithDummy[q15] = x_ExplicitVarSizeWithMarker_Values[q13] + | q15 : int(1..3)]) + | q13 : int(1..3)]) + diff --git a/tests/exhaustive/basic/set05/expected/model_3_2_4-solution000001.solution b/tests/exhaustive/basic/set05/expected/model_3_2_4-solution000001.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_3_2_4-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/set05/expected/model_3_2_4-solution000002.solution b/tests/exhaustive/basic/set05/expected/model_3_2_4-solution000002.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_3_2_4-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set05/expected/model_3_2_4-solution000003.solution b/tests/exhaustive/basic/set05/expected/model_3_2_4-solution000003.solution new file mode 100644 index 0000000000..fdc0f02f96 --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_3_2_4-solution000003.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 4} diff --git a/tests/exhaustive/basic/set05/expected/model_3_2_4.eprime b/tests/exhaustive/basic/set05/expected/model_3_2_4.eprime new file mode 100644 index 0000000000..ca17b6551d --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_3_2_4.eprime @@ -0,0 +1,60 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..3) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..3)] of int(1..4) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..3)] of int(1..5) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..3)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..3)] of int(1..4) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_ExplicitVarSizeWithMarker_Marker, + x_ExplicitVarSizeWithMarker_Values, x_ExplicitVarSizeWithDummy] +such that + or([q38 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q38] = 1 | q38 : int(1..3)]), + or([x_ExplicitVarSizeWithDummy[q40] != 5 /\ x_ExplicitVarSizeWithDummy[q40] = 2 | q40 : int(1..3)]), + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..2)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 1 | q2 : int(1..3)]), + x_ExplicitVarSizeWithMarker_Marker <= 3, + and([x_ExplicitVarSizeWithDummy[q4] < x_ExplicitVarSizeWithDummy[q4 + 1] \/ x_ExplicitVarSizeWithDummy[q4] = 5 + | q4 : int(1..2)]), + and([x_ExplicitVarSizeWithDummy[q5] = 5 -> x_ExplicitVarSizeWithDummy[q5 + 1] = 5 | q5 : int(1..2)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q6] != 5) | q6 : int(1..3)]) <= 3, + and([x_ExplicitVarSizeWithDummy[q9] != 5 -> + or([q11 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q11] = x_ExplicitVarSizeWithDummy[q9] + | q11 : int(1..3)]) + | q9 : int(1..3)]), + and([q13 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q15] != 5 /\ + x_ExplicitVarSizeWithDummy[q15] = x_ExplicitVarSizeWithMarker_Values[q13] + | q15 : int(1..3)]) + | q13 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q16 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q16] < x_ExplicitVarSizeWithFlags_Values[q16 + 1] + | q16 : int(1..2)]), + and([x_ExplicitVarSizeWithFlags_Flags[q17] = false -> x_ExplicitVarSizeWithFlags_Values[q17] = 1 + | q17 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q18 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q18] | q18 : int(1..2)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q19]) | q19 : int(1..3)]) <= 3, + and([x_ExplicitVarSizeWithFlags_Flags[q22] -> + or([q24 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q24] = x_ExplicitVarSizeWithFlags_Values[q22] + | q24 : int(1..3)]) + | q22 : int(1..3)]), + and([q26 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q28] /\ + x_ExplicitVarSizeWithFlags_Values[q28] = x_ExplicitVarSizeWithMarker_Values[q26] + | q28 : int(1..3)]) + | q26 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q30] -> + or([x_ExplicitVarSizeWithDummy[q32] != 5 /\ + x_ExplicitVarSizeWithDummy[q32] = x_ExplicitVarSizeWithFlags_Values[q30] + | q32 : int(1..3)]) + | q30 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q34] != 5 -> + or([x_ExplicitVarSizeWithFlags_Flags[q36] /\ + x_ExplicitVarSizeWithFlags_Values[q36] = x_ExplicitVarSizeWithDummy[q34] + | q36 : int(1..3)]) + | q34 : int(1..3)]) + diff --git a/tests/exhaustive/basic/set05/expected/model_3_3_1-solution000001.solution b/tests/exhaustive/basic/set05/expected/model_3_3_1-solution000001.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_3_3_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/set05/expected/model_3_3_1-solution000002.solution b/tests/exhaustive/basic/set05/expected/model_3_3_1-solution000002.solution new file mode 100644 index 0000000000..fdc0f02f96 --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_3_3_1-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 4} diff --git a/tests/exhaustive/basic/set05/expected/model_3_3_1-solution000003.solution b/tests/exhaustive/basic/set05/expected/model_3_3_1-solution000003.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_3_3_1-solution000003.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set05/expected/model_3_3_1.eprime b/tests/exhaustive/basic/set05/expected/model_3_3_1.eprime new file mode 100644 index 0000000000..5def062aca --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_3_3_1.eprime @@ -0,0 +1,21 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..3) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..3)] of int(1..4) +find x_Occurrence: matrix indexed by [int(1..4)] of bool +branching on [x_Occurrence, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values] +such that + or([q11 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q11] = 1 | q11 : int(1..3)]), + or([q13 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q13] = 2 | q13 : int(1..3)]), + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..2)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 1 | q2 : int(1..3)]), + x_ExplicitVarSizeWithMarker_Marker <= 3, + sum([toInt(x_Occurrence[q4]) | q4 : int(1..4)]) <= 3, + and([x_Occurrence[q5] -> + or([q7 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q7] = q5 | q7 : int(1..3)]) + | q5 : int(1..4)]), + and([q9 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q9]] + | q9 : int(1..3)]) + diff --git a/tests/exhaustive/basic/set05/expected/model_3_3_2-solution000001.solution b/tests/exhaustive/basic/set05/expected/model_3_3_2-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_3_3_2-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set05/expected/model_3_3_2-solution000002.solution b/tests/exhaustive/basic/set05/expected/model_3_3_2-solution000002.solution new file mode 100644 index 0000000000..fdc0f02f96 --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_3_3_2-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 4} diff --git a/tests/exhaustive/basic/set05/expected/model_3_3_2-solution000003.solution b/tests/exhaustive/basic/set05/expected/model_3_3_2-solution000003.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_3_3_2-solution000003.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/set05/expected/model_3_3_2.eprime b/tests/exhaustive/basic/set05/expected/model_3_3_2.eprime new file mode 100644 index 0000000000..c7e4092e7b --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_3_3_2.eprime @@ -0,0 +1,29 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..3) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..3)] of int(1..4) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..3)] of int(1..5) +branching on [x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values] +such that + or([q17 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q17] = 1 | q17 : int(1..3)]), + or([q19 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q19] = 2 | q19 : int(1..3)]), + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..2)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 1 | q2 : int(1..3)]), + x_ExplicitVarSizeWithMarker_Marker <= 3, + and([x_ExplicitVarSizeWithDummy[q4] < x_ExplicitVarSizeWithDummy[q4 + 1] \/ x_ExplicitVarSizeWithDummy[q4] = 5 + | q4 : int(1..2)]), + and([x_ExplicitVarSizeWithDummy[q5] = 5 -> x_ExplicitVarSizeWithDummy[q5 + 1] = 5 | q5 : int(1..2)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q6] != 5) | q6 : int(1..3)]) <= 3, + and([x_ExplicitVarSizeWithDummy[q9] != 5 -> + or([q11 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q11] = x_ExplicitVarSizeWithDummy[q9] + | q11 : int(1..3)]) + | q9 : int(1..3)]), + and([q13 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q15] != 5 /\ + x_ExplicitVarSizeWithDummy[q15] = x_ExplicitVarSizeWithMarker_Values[q13] + | q15 : int(1..3)]) + | q13 : int(1..3)]) + diff --git a/tests/exhaustive/basic/set05/expected/model_3_3_3-solution000001.solution b/tests/exhaustive/basic/set05/expected/model_3_3_3-solution000001.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_3_3_3-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/set05/expected/model_3_3_3-solution000002.solution b/tests/exhaustive/basic/set05/expected/model_3_3_3-solution000002.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_3_3_3-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set05/expected/model_3_3_3-solution000003.solution b/tests/exhaustive/basic/set05/expected/model_3_3_3-solution000003.solution new file mode 100644 index 0000000000..fdc0f02f96 --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_3_3_3-solution000003.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 4} diff --git a/tests/exhaustive/basic/set05/expected/model_3_3_3.eprime b/tests/exhaustive/basic/set05/expected/model_3_3_3.eprime new file mode 100644 index 0000000000..30415d39e4 --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_3_3_3.eprime @@ -0,0 +1,14 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..3) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..3)] of int(1..4) +branching on [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values] +such that + or([q5 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q5] = 1 | q5 : int(1..3)]), + or([q7 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q7] = 2 | q7 : int(1..3)]), + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..2)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 1 | q2 : int(1..3)]), + x_ExplicitVarSizeWithMarker_Marker <= 3 + diff --git a/tests/exhaustive/basic/set05/expected/model_3_3_4-solution000001.solution b/tests/exhaustive/basic/set05/expected/model_3_3_4-solution000001.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_3_3_4-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/set05/expected/model_3_3_4-solution000002.solution b/tests/exhaustive/basic/set05/expected/model_3_3_4-solution000002.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_3_3_4-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set05/expected/model_3_3_4-solution000003.solution b/tests/exhaustive/basic/set05/expected/model_3_3_4-solution000003.solution new file mode 100644 index 0000000000..fdc0f02f96 --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_3_3_4-solution000003.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 4} diff --git a/tests/exhaustive/basic/set05/expected/model_3_3_4.eprime b/tests/exhaustive/basic/set05/expected/model_3_3_4.eprime new file mode 100644 index 0000000000..5a6f8f4a1f --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_3_3_4.eprime @@ -0,0 +1,34 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..3) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..3)] of int(1..4) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..3)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..3)] of int(1..4) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_ExplicitVarSizeWithMarker_Marker, + x_ExplicitVarSizeWithMarker_Values] +such that + or([q18 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q18] = 1 | q18 : int(1..3)]), + or([q20 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q20] = 2 | q20 : int(1..3)]), + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..2)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 1 | q2 : int(1..3)]), + x_ExplicitVarSizeWithMarker_Marker <= 3, + and([x_ExplicitVarSizeWithFlags_Flags[q4 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q4] < x_ExplicitVarSizeWithFlags_Values[q4 + 1] + | q4 : int(1..2)]), + and([x_ExplicitVarSizeWithFlags_Flags[q5] = false -> x_ExplicitVarSizeWithFlags_Values[q5] = 1 | q5 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q6 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q6] | q6 : int(1..2)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q7]) | q7 : int(1..3)]) <= 3, + and([x_ExplicitVarSizeWithFlags_Flags[q10] -> + or([q12 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q12] = x_ExplicitVarSizeWithFlags_Values[q10] + | q12 : int(1..3)]) + | q10 : int(1..3)]), + and([q14 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q16] /\ + x_ExplicitVarSizeWithFlags_Values[q16] = x_ExplicitVarSizeWithMarker_Values[q14] + | q16 : int(1..3)]) + | q14 : int(1..3)]) + diff --git a/tests/exhaustive/basic/set05/expected/model_3_4_1-solution000001.solution b/tests/exhaustive/basic/set05/expected/model_3_4_1-solution000001.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_3_4_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/set05/expected/model_3_4_1-solution000002.solution b/tests/exhaustive/basic/set05/expected/model_3_4_1-solution000002.solution new file mode 100644 index 0000000000..fdc0f02f96 --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_3_4_1-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 4} diff --git a/tests/exhaustive/basic/set05/expected/model_3_4_1-solution000003.solution b/tests/exhaustive/basic/set05/expected/model_3_4_1-solution000003.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_3_4_1-solution000003.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set05/expected/model_3_4_1.eprime b/tests/exhaustive/basic/set05/expected/model_3_4_1.eprime new file mode 100644 index 0000000000..8aebac7513 --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_3_4_1.eprime @@ -0,0 +1,47 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..3) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..3)] of int(1..4) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..3)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..3)] of int(1..4) +find x_Occurrence: matrix indexed by [int(1..4)] of bool +branching on + [x_Occurrence, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, + x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values] +such that + or([q29 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q29] = 1 | q29 : int(1..3)]), + or([x_ExplicitVarSizeWithFlags_Flags[q31] /\ x_ExplicitVarSizeWithFlags_Values[q31] = 2 | q31 : int(1..3)]), + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..2)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 1 | q2 : int(1..3)]), + x_ExplicitVarSizeWithMarker_Marker <= 3, + and([x_ExplicitVarSizeWithFlags_Flags[q4 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q4] < x_ExplicitVarSizeWithFlags_Values[q4 + 1] + | q4 : int(1..2)]), + and([x_ExplicitVarSizeWithFlags_Flags[q5] = false -> x_ExplicitVarSizeWithFlags_Values[q5] = 1 | q5 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q6 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q6] | q6 : int(1..2)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q7]) | q7 : int(1..3)]) <= 3, + and([x_ExplicitVarSizeWithFlags_Flags[q10] -> + or([q12 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q12] = x_ExplicitVarSizeWithFlags_Values[q10] + | q12 : int(1..3)]) + | q10 : int(1..3)]), + and([q14 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q16] /\ + x_ExplicitVarSizeWithFlags_Values[q16] = x_ExplicitVarSizeWithMarker_Values[q14] + | q16 : int(1..3)]) + | q14 : int(1..3)]), + sum([toInt(x_Occurrence[q17]) | q17 : int(1..4)]) <= 3, + and([x_Occurrence[q18] -> + or([q20 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q20] = q18 + | q20 : int(1..3)]) + | q18 : int(1..4)]), + and([q22 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q22]] + | q22 : int(1..3)]), + and([x_Occurrence[q23] -> + or([x_ExplicitVarSizeWithFlags_Flags[q25] /\ x_ExplicitVarSizeWithFlags_Values[q25] = q23 | q25 : int(1..3)]) + | q23 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q27] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q27]] + | q27 : int(1..3)]) + diff --git a/tests/exhaustive/basic/set05/expected/model_3_4_2-solution000001.solution b/tests/exhaustive/basic/set05/expected/model_3_4_2-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_3_4_2-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set05/expected/model_3_4_2-solution000002.solution b/tests/exhaustive/basic/set05/expected/model_3_4_2-solution000002.solution new file mode 100644 index 0000000000..fdc0f02f96 --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_3_4_2-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 4} diff --git a/tests/exhaustive/basic/set05/expected/model_3_4_2-solution000003.solution b/tests/exhaustive/basic/set05/expected/model_3_4_2-solution000003.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_3_4_2-solution000003.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/set05/expected/model_3_4_2.eprime b/tests/exhaustive/basic/set05/expected/model_3_4_2.eprime new file mode 100644 index 0000000000..5f5f7c970d --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_3_4_2.eprime @@ -0,0 +1,59 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..3) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..3)] of int(1..4) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..3)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..3)] of int(1..4) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..3)] of int(1..5) +branching on + [x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, + x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values] +such that + or([q38 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q38] = 1 | q38 : int(1..3)]), + or([x_ExplicitVarSizeWithFlags_Flags[q40] /\ x_ExplicitVarSizeWithFlags_Values[q40] = 2 | q40 : int(1..3)]), + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..2)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 1 | q2 : int(1..3)]), + x_ExplicitVarSizeWithMarker_Marker <= 3, + and([x_ExplicitVarSizeWithFlags_Flags[q4 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q4] < x_ExplicitVarSizeWithFlags_Values[q4 + 1] + | q4 : int(1..2)]), + and([x_ExplicitVarSizeWithFlags_Flags[q5] = false -> x_ExplicitVarSizeWithFlags_Values[q5] = 1 | q5 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q6 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q6] | q6 : int(1..2)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q7]) | q7 : int(1..3)]) <= 3, + and([x_ExplicitVarSizeWithFlags_Flags[q10] -> + or([q12 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q12] = x_ExplicitVarSizeWithFlags_Values[q10] + | q12 : int(1..3)]) + | q10 : int(1..3)]), + and([q14 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q16] /\ + x_ExplicitVarSizeWithFlags_Values[q16] = x_ExplicitVarSizeWithMarker_Values[q14] + | q16 : int(1..3)]) + | q14 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q17] < x_ExplicitVarSizeWithDummy[q17 + 1] \/ x_ExplicitVarSizeWithDummy[q17] = 5 + | q17 : int(1..2)]), + and([x_ExplicitVarSizeWithDummy[q18] = 5 -> x_ExplicitVarSizeWithDummy[q18 + 1] = 5 | q18 : int(1..2)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q19] != 5) | q19 : int(1..3)]) <= 3, + and([x_ExplicitVarSizeWithDummy[q22] != 5 -> + or([q24 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q24] = x_ExplicitVarSizeWithDummy[q22] + | q24 : int(1..3)]) + | q22 : int(1..3)]), + and([q26 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q28] != 5 /\ + x_ExplicitVarSizeWithDummy[q28] = x_ExplicitVarSizeWithMarker_Values[q26] + | q28 : int(1..3)]) + | q26 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q30] != 5 -> + or([x_ExplicitVarSizeWithFlags_Flags[q32] /\ + x_ExplicitVarSizeWithFlags_Values[q32] = x_ExplicitVarSizeWithDummy[q30] + | q32 : int(1..3)]) + | q30 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q34] -> + or([x_ExplicitVarSizeWithDummy[q36] != 5 /\ + x_ExplicitVarSizeWithDummy[q36] = x_ExplicitVarSizeWithFlags_Values[q34] + | q36 : int(1..3)]) + | q34 : int(1..3)]) + diff --git a/tests/exhaustive/basic/set05/expected/model_3_4_3-solution000001.solution b/tests/exhaustive/basic/set05/expected/model_3_4_3-solution000001.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_3_4_3-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/set05/expected/model_3_4_3-solution000002.solution b/tests/exhaustive/basic/set05/expected/model_3_4_3-solution000002.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_3_4_3-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set05/expected/model_3_4_3-solution000003.solution b/tests/exhaustive/basic/set05/expected/model_3_4_3-solution000003.solution new file mode 100644 index 0000000000..fdc0f02f96 --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_3_4_3-solution000003.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 4} diff --git a/tests/exhaustive/basic/set05/expected/model_3_4_3.eprime b/tests/exhaustive/basic/set05/expected/model_3_4_3.eprime new file mode 100644 index 0000000000..b29a9e6cdd --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_3_4_3.eprime @@ -0,0 +1,34 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..3) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..3)] of int(1..4) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..3)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..3)] of int(1..4) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_ExplicitVarSizeWithMarker_Marker, + x_ExplicitVarSizeWithMarker_Values] +such that + or([q18 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q18] = 1 | q18 : int(1..3)]), + or([x_ExplicitVarSizeWithFlags_Flags[q20] /\ x_ExplicitVarSizeWithFlags_Values[q20] = 2 | q20 : int(1..3)]), + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..2)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 1 | q2 : int(1..3)]), + x_ExplicitVarSizeWithMarker_Marker <= 3, + and([x_ExplicitVarSizeWithFlags_Flags[q4 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q4] < x_ExplicitVarSizeWithFlags_Values[q4 + 1] + | q4 : int(1..2)]), + and([x_ExplicitVarSizeWithFlags_Flags[q5] = false -> x_ExplicitVarSizeWithFlags_Values[q5] = 1 | q5 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q6 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q6] | q6 : int(1..2)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q7]) | q7 : int(1..3)]) <= 3, + and([x_ExplicitVarSizeWithFlags_Flags[q10] -> + or([q12 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q12] = x_ExplicitVarSizeWithFlags_Values[q10] + | q12 : int(1..3)]) + | q10 : int(1..3)]), + and([q14 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q16] /\ + x_ExplicitVarSizeWithFlags_Values[q16] = x_ExplicitVarSizeWithMarker_Values[q14] + | q16 : int(1..3)]) + | q14 : int(1..3)]) + diff --git a/tests/exhaustive/basic/set05/expected/model_4_1_1-solution000001.solution b/tests/exhaustive/basic/set05/expected/model_4_1_1-solution000001.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_4_1_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/set05/expected/model_4_1_1-solution000002.solution b/tests/exhaustive/basic/set05/expected/model_4_1_1-solution000002.solution new file mode 100644 index 0000000000..fdc0f02f96 --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_4_1_1-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 4} diff --git a/tests/exhaustive/basic/set05/expected/model_4_1_1-solution000003.solution b/tests/exhaustive/basic/set05/expected/model_4_1_1-solution000003.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_4_1_1-solution000003.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set05/expected/model_4_1_1.eprime b/tests/exhaustive/basic/set05/expected/model_4_1_1.eprime new file mode 100644 index 0000000000..9358d40bd8 --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_4_1_1.eprime @@ -0,0 +1,22 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..3)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..3)] of int(1..4) +find x_Occurrence: matrix indexed by [int(1..4)] of bool +branching on [x_Occurrence, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values] +such that + or([x_ExplicitVarSizeWithFlags_Flags[q13] /\ x_ExplicitVarSizeWithFlags_Values[q13] = 1 | q13 : int(1..3)]), + x_Occurrence[2], + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..2)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 1 | q2 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..2)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q4]) | q4 : int(1..3)]) <= 3, + sum([toInt(x_Occurrence[q6]) | q6 : int(1..4)]) <= 3, + and([x_Occurrence[q7] -> + or([x_ExplicitVarSizeWithFlags_Flags[q9] /\ x_ExplicitVarSizeWithFlags_Values[q9] = q7 | q9 : int(1..3)]) + | q7 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q11] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q11]] + | q11 : int(1..3)]) + diff --git a/tests/exhaustive/basic/set05/expected/model_4_1_2-solution000001.solution b/tests/exhaustive/basic/set05/expected/model_4_1_2-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_4_1_2-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set05/expected/model_4_1_2-solution000002.solution b/tests/exhaustive/basic/set05/expected/model_4_1_2-solution000002.solution new file mode 100644 index 0000000000..fdc0f02f96 --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_4_1_2-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 4} diff --git a/tests/exhaustive/basic/set05/expected/model_4_1_2-solution000003.solution b/tests/exhaustive/basic/set05/expected/model_4_1_2-solution000003.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_4_1_2-solution000003.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/set05/expected/model_4_1_2.eprime b/tests/exhaustive/basic/set05/expected/model_4_1_2.eprime new file mode 100644 index 0000000000..d279aa617d --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_4_1_2.eprime @@ -0,0 +1,42 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..3)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..3)] of int(1..4) +find x_Occurrence: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..3)] of int(1..5) +branching on + [x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_Occurrence] +such that + or([x_ExplicitVarSizeWithFlags_Flags[q30] /\ x_ExplicitVarSizeWithFlags_Values[q30] = 1 | q30 : int(1..3)]), + x_Occurrence[2], + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..2)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 1 | q2 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..2)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q4]) | q4 : int(1..3)]) <= 3, + sum([toInt(x_Occurrence[q6]) | q6 : int(1..4)]) <= 3, + and([x_Occurrence[q24] -> + or([x_ExplicitVarSizeWithFlags_Flags[q26] /\ x_ExplicitVarSizeWithFlags_Values[q26] = q24 | q26 : int(1..3)]) + | q24 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q28] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q28]] + | q28 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q7] < x_ExplicitVarSizeWithDummy[q7 + 1] \/ x_ExplicitVarSizeWithDummy[q7] = 5 + | q7 : int(1..2)]), + and([x_ExplicitVarSizeWithDummy[q8] = 5 -> x_ExplicitVarSizeWithDummy[q8 + 1] = 5 | q8 : int(1..2)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q9] != 5) | q9 : int(1..3)]) <= 3, + and([x_ExplicitVarSizeWithDummy[q12] != 5 -> + or([x_ExplicitVarSizeWithFlags_Flags[q14] /\ + x_ExplicitVarSizeWithFlags_Values[q14] = x_ExplicitVarSizeWithDummy[q12] + | q14 : int(1..3)]) + | q12 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q16] -> + or([x_ExplicitVarSizeWithDummy[q18] != 5 /\ + x_ExplicitVarSizeWithDummy[q18] = x_ExplicitVarSizeWithFlags_Values[q16] + | q18 : int(1..3)]) + | q16 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q20] != 5 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q20]] | q20 : int(1..3)]), + and([x_Occurrence[q21] -> + or([x_ExplicitVarSizeWithDummy[q23] != 5 /\ x_ExplicitVarSizeWithDummy[q23] = q21 | q23 : int(1..3)]) + | q21 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set05/expected/model_4_1_3-solution000001.solution b/tests/exhaustive/basic/set05/expected/model_4_1_3-solution000001.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_4_1_3-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/set05/expected/model_4_1_3-solution000002.solution b/tests/exhaustive/basic/set05/expected/model_4_1_3-solution000002.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_4_1_3-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set05/expected/model_4_1_3-solution000003.solution b/tests/exhaustive/basic/set05/expected/model_4_1_3-solution000003.solution new file mode 100644 index 0000000000..fdc0f02f96 --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_4_1_3-solution000003.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 4} diff --git a/tests/exhaustive/basic/set05/expected/model_4_1_3.eprime b/tests/exhaustive/basic/set05/expected/model_4_1_3.eprime new file mode 100644 index 0000000000..f773f1d64b --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_4_1_3.eprime @@ -0,0 +1,47 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..3)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..3)] of int(1..4) +find x_Occurrence: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithMarker_Marker: int(0..3) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..3)] of int(1..4) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_ExplicitVarSizeWithFlags_Flags, + x_ExplicitVarSizeWithFlags_Values, x_Occurrence] +such that + or([x_ExplicitVarSizeWithFlags_Flags[q29] /\ x_ExplicitVarSizeWithFlags_Values[q29] = 1 | q29 : int(1..3)]), + x_Occurrence[2], + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..2)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 1 | q2 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..2)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q4]) | q4 : int(1..3)]) <= 3, + sum([toInt(x_Occurrence[q6]) | q6 : int(1..4)]) <= 3, + and([x_Occurrence[q23] -> + or([x_ExplicitVarSizeWithFlags_Flags[q25] /\ x_ExplicitVarSizeWithFlags_Values[q25] = q23 | q25 : int(1..3)]) + | q23 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q27] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q27]] + | q27 : int(1..3)]), + and([q7 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q7] < x_ExplicitVarSizeWithMarker_Values[q7 + 1] + | q7 : int(1..2)]), + and([q8 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q8] = 1 | q8 : int(1..3)]), + x_ExplicitVarSizeWithMarker_Marker <= 3, + and([q11 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q13] /\ + x_ExplicitVarSizeWithFlags_Values[q13] = x_ExplicitVarSizeWithMarker_Values[q11] + | q13 : int(1..3)]) + | q11 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q15] -> + or([q17 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q17] = x_ExplicitVarSizeWithFlags_Values[q15] + | q17 : int(1..3)]) + | q15 : int(1..3)]), + and([q19 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q19]] + | q19 : int(1..3)]), + and([x_Occurrence[q20] -> + or([q22 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q22] = q20 + | q22 : int(1..3)]) + | q20 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set05/expected/model_4_2_1-solution000001.solution b/tests/exhaustive/basic/set05/expected/model_4_2_1-solution000001.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_4_2_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/set05/expected/model_4_2_1-solution000002.solution b/tests/exhaustive/basic/set05/expected/model_4_2_1-solution000002.solution new file mode 100644 index 0000000000..fdc0f02f96 --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_4_2_1-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 4} diff --git a/tests/exhaustive/basic/set05/expected/model_4_2_1-solution000003.solution b/tests/exhaustive/basic/set05/expected/model_4_2_1-solution000003.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_4_2_1-solution000003.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set05/expected/model_4_2_1.eprime b/tests/exhaustive/basic/set05/expected/model_4_2_1.eprime new file mode 100644 index 0000000000..4459490acf --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_4_2_1.eprime @@ -0,0 +1,42 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..3)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..3)] of int(1..4) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..3)] of int(1..5) +find x_Occurrence: matrix indexed by [int(1..4)] of bool +branching on + [x_Occurrence, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_ExplicitVarSizeWithDummy] +such that + or([x_ExplicitVarSizeWithFlags_Flags[q30] /\ x_ExplicitVarSizeWithFlags_Values[q30] = 1 | q30 : int(1..3)]), + or([x_ExplicitVarSizeWithDummy[q32] != 5 /\ x_ExplicitVarSizeWithDummy[q32] = 2 | q32 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..2)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 1 | q2 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..2)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q4]) | q4 : int(1..3)]) <= 3, + and([x_ExplicitVarSizeWithDummy[q6] < x_ExplicitVarSizeWithDummy[q6 + 1] \/ x_ExplicitVarSizeWithDummy[q6] = 5 + | q6 : int(1..2)]), + and([x_ExplicitVarSizeWithDummy[q7] = 5 -> x_ExplicitVarSizeWithDummy[q7 + 1] = 5 | q7 : int(1..2)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q8] != 5) | q8 : int(1..3)]) <= 3, + and([x_ExplicitVarSizeWithDummy[q11] != 5 -> + or([x_ExplicitVarSizeWithFlags_Flags[q13] /\ + x_ExplicitVarSizeWithFlags_Values[q13] = x_ExplicitVarSizeWithDummy[q11] + | q13 : int(1..3)]) + | q11 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q15] -> + or([x_ExplicitVarSizeWithDummy[q17] != 5 /\ + x_ExplicitVarSizeWithDummy[q17] = x_ExplicitVarSizeWithFlags_Values[q15] + | q17 : int(1..3)]) + | q15 : int(1..3)]), + sum([toInt(x_Occurrence[q18]) | q18 : int(1..4)]) <= 3, + and([x_Occurrence[q19] -> + or([x_ExplicitVarSizeWithFlags_Flags[q21] /\ x_ExplicitVarSizeWithFlags_Values[q21] = q19 | q21 : int(1..3)]) + | q19 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q23] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q23]] + | q23 : int(1..3)]), + and([x_Occurrence[q24] -> + or([x_ExplicitVarSizeWithDummy[q26] != 5 /\ x_ExplicitVarSizeWithDummy[q26] = q24 | q26 : int(1..3)]) + | q24 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q28] != 5 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q28]] | q28 : int(1..3)]) + diff --git a/tests/exhaustive/basic/set05/expected/model_4_2_2-solution000001.solution b/tests/exhaustive/basic/set05/expected/model_4_2_2-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_4_2_2-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set05/expected/model_4_2_2-solution000002.solution b/tests/exhaustive/basic/set05/expected/model_4_2_2-solution000002.solution new file mode 100644 index 0000000000..fdc0f02f96 --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_4_2_2-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 4} diff --git a/tests/exhaustive/basic/set05/expected/model_4_2_2-solution000003.solution b/tests/exhaustive/basic/set05/expected/model_4_2_2-solution000003.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_4_2_2-solution000003.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/set05/expected/model_4_2_2.eprime b/tests/exhaustive/basic/set05/expected/model_4_2_2.eprime new file mode 100644 index 0000000000..1fc3837d42 --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_4_2_2.eprime @@ -0,0 +1,30 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..3)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..3)] of int(1..4) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..3)] of int(1..5) +branching on [x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values] +such that + or([x_ExplicitVarSizeWithFlags_Flags[q19] /\ x_ExplicitVarSizeWithFlags_Values[q19] = 1 | q19 : int(1..3)]), + or([x_ExplicitVarSizeWithDummy[q21] != 5 /\ x_ExplicitVarSizeWithDummy[q21] = 2 | q21 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..2)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 1 | q2 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..2)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q4]) | q4 : int(1..3)]) <= 3, + and([x_ExplicitVarSizeWithDummy[q6] < x_ExplicitVarSizeWithDummy[q6 + 1] \/ x_ExplicitVarSizeWithDummy[q6] = 5 + | q6 : int(1..2)]), + and([x_ExplicitVarSizeWithDummy[q7] = 5 -> x_ExplicitVarSizeWithDummy[q7 + 1] = 5 | q7 : int(1..2)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q8] != 5) | q8 : int(1..3)]) <= 3, + and([x_ExplicitVarSizeWithDummy[q11] != 5 -> + or([x_ExplicitVarSizeWithFlags_Flags[q13] /\ + x_ExplicitVarSizeWithFlags_Values[q13] = x_ExplicitVarSizeWithDummy[q11] + | q13 : int(1..3)]) + | q11 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q15] -> + or([x_ExplicitVarSizeWithDummy[q17] != 5 /\ + x_ExplicitVarSizeWithDummy[q17] = x_ExplicitVarSizeWithFlags_Values[q15] + | q17 : int(1..3)]) + | q15 : int(1..3)]) + diff --git a/tests/exhaustive/basic/set05/expected/model_4_2_3-solution000001.solution b/tests/exhaustive/basic/set05/expected/model_4_2_3-solution000001.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_4_2_3-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/set05/expected/model_4_2_3-solution000002.solution b/tests/exhaustive/basic/set05/expected/model_4_2_3-solution000002.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_4_2_3-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set05/expected/model_4_2_3-solution000003.solution b/tests/exhaustive/basic/set05/expected/model_4_2_3-solution000003.solution new file mode 100644 index 0000000000..fdc0f02f96 --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_4_2_3-solution000003.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 4} diff --git a/tests/exhaustive/basic/set05/expected/model_4_2_3.eprime b/tests/exhaustive/basic/set05/expected/model_4_2_3.eprime new file mode 100644 index 0000000000..e3382d275b --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_4_2_3.eprime @@ -0,0 +1,59 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..3)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..3)] of int(1..4) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..3)] of int(1..5) +find x_ExplicitVarSizeWithMarker_Marker: int(0..3) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..3)] of int(1..4) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_ExplicitVarSizeWithFlags_Flags, + x_ExplicitVarSizeWithFlags_Values, x_ExplicitVarSizeWithDummy] +such that + or([x_ExplicitVarSizeWithFlags_Flags[q38] /\ x_ExplicitVarSizeWithFlags_Values[q38] = 1 | q38 : int(1..3)]), + or([x_ExplicitVarSizeWithDummy[q40] != 5 /\ x_ExplicitVarSizeWithDummy[q40] = 2 | q40 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..2)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 1 | q2 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..2)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q4]) | q4 : int(1..3)]) <= 3, + and([x_ExplicitVarSizeWithDummy[q6] < x_ExplicitVarSizeWithDummy[q6 + 1] \/ x_ExplicitVarSizeWithDummy[q6] = 5 + | q6 : int(1..2)]), + and([x_ExplicitVarSizeWithDummy[q7] = 5 -> x_ExplicitVarSizeWithDummy[q7 + 1] = 5 | q7 : int(1..2)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q8] != 5) | q8 : int(1..3)]) <= 3, + and([x_ExplicitVarSizeWithDummy[q11] != 5 -> + or([x_ExplicitVarSizeWithFlags_Flags[q13] /\ + x_ExplicitVarSizeWithFlags_Values[q13] = x_ExplicitVarSizeWithDummy[q11] + | q13 : int(1..3)]) + | q11 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q15] -> + or([x_ExplicitVarSizeWithDummy[q17] != 5 /\ + x_ExplicitVarSizeWithDummy[q17] = x_ExplicitVarSizeWithFlags_Values[q15] + | q17 : int(1..3)]) + | q15 : int(1..3)]), + and([q18 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q18] < x_ExplicitVarSizeWithMarker_Values[q18 + 1] + | q18 : int(1..2)]), + and([q19 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q19] = 1 | q19 : int(1..3)]), + x_ExplicitVarSizeWithMarker_Marker <= 3, + and([q22 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q24] /\ + x_ExplicitVarSizeWithFlags_Values[q24] = x_ExplicitVarSizeWithMarker_Values[q22] + | q24 : int(1..3)]) + | q22 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q26] -> + or([q28 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q28] = x_ExplicitVarSizeWithFlags_Values[q26] + | q28 : int(1..3)]) + | q26 : int(1..3)]), + and([q30 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q32] != 5 /\ + x_ExplicitVarSizeWithDummy[q32] = x_ExplicitVarSizeWithMarker_Values[q30] + | q32 : int(1..3)]) + | q30 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q34] != 5 -> + or([q36 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q36] = x_ExplicitVarSizeWithDummy[q34] + | q36 : int(1..3)]) + | q34 : int(1..3)]) + diff --git a/tests/exhaustive/basic/set05/expected/model_4_3_1-solution000001.solution b/tests/exhaustive/basic/set05/expected/model_4_3_1-solution000001.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_4_3_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/set05/expected/model_4_3_1-solution000002.solution b/tests/exhaustive/basic/set05/expected/model_4_3_1-solution000002.solution new file mode 100644 index 0000000000..fdc0f02f96 --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_4_3_1-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 4} diff --git a/tests/exhaustive/basic/set05/expected/model_4_3_1-solution000003.solution b/tests/exhaustive/basic/set05/expected/model_4_3_1-solution000003.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_4_3_1-solution000003.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set05/expected/model_4_3_1.eprime b/tests/exhaustive/basic/set05/expected/model_4_3_1.eprime new file mode 100644 index 0000000000..1a72db7f80 --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_4_3_1.eprime @@ -0,0 +1,47 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..3)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..3)] of int(1..4) +find x_ExplicitVarSizeWithMarker_Marker: int(0..3) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..3)] of int(1..4) +find x_Occurrence: matrix indexed by [int(1..4)] of bool +branching on + [x_Occurrence, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, + x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values] +such that + or([x_ExplicitVarSizeWithFlags_Flags[q29] /\ x_ExplicitVarSizeWithFlags_Values[q29] = 1 | q29 : int(1..3)]), + or([q31 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q31] = 2 | q31 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..2)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 1 | q2 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..2)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q4]) | q4 : int(1..3)]) <= 3, + and([q6 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q6] < x_ExplicitVarSizeWithMarker_Values[q6 + 1] + | q6 : int(1..2)]), + and([q7 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q7] = 1 | q7 : int(1..3)]), + x_ExplicitVarSizeWithMarker_Marker <= 3, + and([q10 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q12] /\ + x_ExplicitVarSizeWithFlags_Values[q12] = x_ExplicitVarSizeWithMarker_Values[q10] + | q12 : int(1..3)]) + | q10 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q14] -> + or([q16 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q16] = x_ExplicitVarSizeWithFlags_Values[q14] + | q16 : int(1..3)]) + | q14 : int(1..3)]), + sum([toInt(x_Occurrence[q17]) | q17 : int(1..4)]) <= 3, + and([x_Occurrence[q18] -> + or([x_ExplicitVarSizeWithFlags_Flags[q20] /\ x_ExplicitVarSizeWithFlags_Values[q20] = q18 | q20 : int(1..3)]) + | q18 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q22] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q22]] + | q22 : int(1..3)]), + and([x_Occurrence[q23] -> + or([q25 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q25] = q23 + | q25 : int(1..3)]) + | q23 : int(1..4)]), + and([q27 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q27]] + | q27 : int(1..3)]) + diff --git a/tests/exhaustive/basic/set05/expected/model_4_3_2-solution000001.solution b/tests/exhaustive/basic/set05/expected/model_4_3_2-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_4_3_2-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set05/expected/model_4_3_2-solution000002.solution b/tests/exhaustive/basic/set05/expected/model_4_3_2-solution000002.solution new file mode 100644 index 0000000000..fdc0f02f96 --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_4_3_2-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 4} diff --git a/tests/exhaustive/basic/set05/expected/model_4_3_2-solution000003.solution b/tests/exhaustive/basic/set05/expected/model_4_3_2-solution000003.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_4_3_2-solution000003.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/set05/expected/model_4_3_2.eprime b/tests/exhaustive/basic/set05/expected/model_4_3_2.eprime new file mode 100644 index 0000000000..411a506bdc --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_4_3_2.eprime @@ -0,0 +1,59 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..3)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..3)] of int(1..4) +find x_ExplicitVarSizeWithMarker_Marker: int(0..3) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..3)] of int(1..4) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..3)] of int(1..5) +branching on + [x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, + x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values] +such that + or([x_ExplicitVarSizeWithFlags_Flags[q38] /\ x_ExplicitVarSizeWithFlags_Values[q38] = 1 | q38 : int(1..3)]), + or([q40 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q40] = 2 | q40 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..2)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 1 | q2 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..2)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q4]) | q4 : int(1..3)]) <= 3, + and([q6 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q6] < x_ExplicitVarSizeWithMarker_Values[q6 + 1] + | q6 : int(1..2)]), + and([q7 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q7] = 1 | q7 : int(1..3)]), + x_ExplicitVarSizeWithMarker_Marker <= 3, + and([q10 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q12] /\ + x_ExplicitVarSizeWithFlags_Values[q12] = x_ExplicitVarSizeWithMarker_Values[q10] + | q12 : int(1..3)]) + | q10 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q14] -> + or([q16 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q16] = x_ExplicitVarSizeWithFlags_Values[q14] + | q16 : int(1..3)]) + | q14 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q17] < x_ExplicitVarSizeWithDummy[q17 + 1] \/ x_ExplicitVarSizeWithDummy[q17] = 5 + | q17 : int(1..2)]), + and([x_ExplicitVarSizeWithDummy[q18] = 5 -> x_ExplicitVarSizeWithDummy[q18 + 1] = 5 | q18 : int(1..2)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q19] != 5) | q19 : int(1..3)]) <= 3, + and([x_ExplicitVarSizeWithDummy[q22] != 5 -> + or([x_ExplicitVarSizeWithFlags_Flags[q24] /\ + x_ExplicitVarSizeWithFlags_Values[q24] = x_ExplicitVarSizeWithDummy[q22] + | q24 : int(1..3)]) + | q22 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q26] -> + or([x_ExplicitVarSizeWithDummy[q28] != 5 /\ + x_ExplicitVarSizeWithDummy[q28] = x_ExplicitVarSizeWithFlags_Values[q26] + | q28 : int(1..3)]) + | q26 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q30] != 5 -> + or([q32 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q32] = x_ExplicitVarSizeWithDummy[q30] + | q32 : int(1..3)]) + | q30 : int(1..3)]), + and([q34 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q36] != 5 /\ + x_ExplicitVarSizeWithDummy[q36] = x_ExplicitVarSizeWithMarker_Values[q34] + | q36 : int(1..3)]) + | q34 : int(1..3)]) + diff --git a/tests/exhaustive/basic/set05/expected/model_4_3_3-solution000001.solution b/tests/exhaustive/basic/set05/expected/model_4_3_3-solution000001.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_4_3_3-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/set05/expected/model_4_3_3-solution000002.solution b/tests/exhaustive/basic/set05/expected/model_4_3_3-solution000002.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_4_3_3-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set05/expected/model_4_3_3-solution000003.solution b/tests/exhaustive/basic/set05/expected/model_4_3_3-solution000003.solution new file mode 100644 index 0000000000..fdc0f02f96 --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_4_3_3-solution000003.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 4} diff --git a/tests/exhaustive/basic/set05/expected/model_4_3_3.eprime b/tests/exhaustive/basic/set05/expected/model_4_3_3.eprime new file mode 100644 index 0000000000..e1aec900de --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_4_3_3.eprime @@ -0,0 +1,34 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..3)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..3)] of int(1..4) +find x_ExplicitVarSizeWithMarker_Marker: int(0..3) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..3)] of int(1..4) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_ExplicitVarSizeWithFlags_Flags, + x_ExplicitVarSizeWithFlags_Values] +such that + or([x_ExplicitVarSizeWithFlags_Flags[q18] /\ x_ExplicitVarSizeWithFlags_Values[q18] = 1 | q18 : int(1..3)]), + or([q20 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q20] = 2 | q20 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..2)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 1 | q2 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..2)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q4]) | q4 : int(1..3)]) <= 3, + and([q6 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q6] < x_ExplicitVarSizeWithMarker_Values[q6 + 1] + | q6 : int(1..2)]), + and([q7 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q7] = 1 | q7 : int(1..3)]), + x_ExplicitVarSizeWithMarker_Marker <= 3, + and([q10 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q12] /\ + x_ExplicitVarSizeWithFlags_Values[q12] = x_ExplicitVarSizeWithMarker_Values[q10] + | q12 : int(1..3)]) + | q10 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q14] -> + or([q16 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q16] = x_ExplicitVarSizeWithFlags_Values[q14] + | q16 : int(1..3)]) + | q14 : int(1..3)]) + diff --git a/tests/exhaustive/basic/set05/expected/model_4_4_1-solution000001.solution b/tests/exhaustive/basic/set05/expected/model_4_4_1-solution000001.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_4_4_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/set05/expected/model_4_4_1-solution000002.solution b/tests/exhaustive/basic/set05/expected/model_4_4_1-solution000002.solution new file mode 100644 index 0000000000..fdc0f02f96 --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_4_4_1-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 4} diff --git a/tests/exhaustive/basic/set05/expected/model_4_4_1-solution000003.solution b/tests/exhaustive/basic/set05/expected/model_4_4_1-solution000003.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_4_4_1-solution000003.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set05/expected/model_4_4_1.eprime b/tests/exhaustive/basic/set05/expected/model_4_4_1.eprime new file mode 100644 index 0000000000..728004701a --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_4_4_1.eprime @@ -0,0 +1,22 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..3)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..3)] of int(1..4) +find x_Occurrence: matrix indexed by [int(1..4)] of bool +branching on [x_Occurrence, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values] +such that + or([x_ExplicitVarSizeWithFlags_Flags[q13] /\ x_ExplicitVarSizeWithFlags_Values[q13] = 1 | q13 : int(1..3)]), + or([x_ExplicitVarSizeWithFlags_Flags[q15] /\ x_ExplicitVarSizeWithFlags_Values[q15] = 2 | q15 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..2)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 1 | q2 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..2)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q4]) | q4 : int(1..3)]) <= 3, + sum([toInt(x_Occurrence[q6]) | q6 : int(1..4)]) <= 3, + and([x_Occurrence[q7] -> + or([x_ExplicitVarSizeWithFlags_Flags[q9] /\ x_ExplicitVarSizeWithFlags_Values[q9] = q7 | q9 : int(1..3)]) + | q7 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q11] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q11]] + | q11 : int(1..3)]) + diff --git a/tests/exhaustive/basic/set05/expected/model_4_4_2-solution000001.solution b/tests/exhaustive/basic/set05/expected/model_4_4_2-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_4_4_2-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set05/expected/model_4_4_2-solution000002.solution b/tests/exhaustive/basic/set05/expected/model_4_4_2-solution000002.solution new file mode 100644 index 0000000000..fdc0f02f96 --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_4_4_2-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 4} diff --git a/tests/exhaustive/basic/set05/expected/model_4_4_2-solution000003.solution b/tests/exhaustive/basic/set05/expected/model_4_4_2-solution000003.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_4_4_2-solution000003.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/set05/expected/model_4_4_2.eprime b/tests/exhaustive/basic/set05/expected/model_4_4_2.eprime new file mode 100644 index 0000000000..0a5bd5c53a --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_4_4_2.eprime @@ -0,0 +1,30 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..3)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..3)] of int(1..4) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..3)] of int(1..5) +branching on [x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values] +such that + or([x_ExplicitVarSizeWithFlags_Flags[q19] /\ x_ExplicitVarSizeWithFlags_Values[q19] = 1 | q19 : int(1..3)]), + or([x_ExplicitVarSizeWithFlags_Flags[q21] /\ x_ExplicitVarSizeWithFlags_Values[q21] = 2 | q21 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..2)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 1 | q2 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..2)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q4]) | q4 : int(1..3)]) <= 3, + and([x_ExplicitVarSizeWithDummy[q6] < x_ExplicitVarSizeWithDummy[q6 + 1] \/ x_ExplicitVarSizeWithDummy[q6] = 5 + | q6 : int(1..2)]), + and([x_ExplicitVarSizeWithDummy[q7] = 5 -> x_ExplicitVarSizeWithDummy[q7 + 1] = 5 | q7 : int(1..2)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q8] != 5) | q8 : int(1..3)]) <= 3, + and([x_ExplicitVarSizeWithDummy[q11] != 5 -> + or([x_ExplicitVarSizeWithFlags_Flags[q13] /\ + x_ExplicitVarSizeWithFlags_Values[q13] = x_ExplicitVarSizeWithDummy[q11] + | q13 : int(1..3)]) + | q11 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q15] -> + or([x_ExplicitVarSizeWithDummy[q17] != 5 /\ + x_ExplicitVarSizeWithDummy[q17] = x_ExplicitVarSizeWithFlags_Values[q15] + | q17 : int(1..3)]) + | q15 : int(1..3)]) + diff --git a/tests/exhaustive/basic/set05/expected/model_4_4_3-solution000001.solution b/tests/exhaustive/basic/set05/expected/model_4_4_3-solution000001.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_4_4_3-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/set05/expected/model_4_4_3-solution000002.solution b/tests/exhaustive/basic/set05/expected/model_4_4_3-solution000002.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_4_4_3-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set05/expected/model_4_4_3-solution000003.solution b/tests/exhaustive/basic/set05/expected/model_4_4_3-solution000003.solution new file mode 100644 index 0000000000..fdc0f02f96 --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_4_4_3-solution000003.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 4} diff --git a/tests/exhaustive/basic/set05/expected/model_4_4_3.eprime b/tests/exhaustive/basic/set05/expected/model_4_4_3.eprime new file mode 100644 index 0000000000..ac17616362 --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_4_4_3.eprime @@ -0,0 +1,34 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..3)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..3)] of int(1..4) +find x_ExplicitVarSizeWithMarker_Marker: int(0..3) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..3)] of int(1..4) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_ExplicitVarSizeWithFlags_Flags, + x_ExplicitVarSizeWithFlags_Values] +such that + or([x_ExplicitVarSizeWithFlags_Flags[q18] /\ x_ExplicitVarSizeWithFlags_Values[q18] = 1 | q18 : int(1..3)]), + or([x_ExplicitVarSizeWithFlags_Flags[q20] /\ x_ExplicitVarSizeWithFlags_Values[q20] = 2 | q20 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..2)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 1 | q2 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..2)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q4]) | q4 : int(1..3)]) <= 3, + and([q6 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q6] < x_ExplicitVarSizeWithMarker_Values[q6 + 1] + | q6 : int(1..2)]), + and([q7 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q7] = 1 | q7 : int(1..3)]), + x_ExplicitVarSizeWithMarker_Marker <= 3, + and([q10 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q12] /\ + x_ExplicitVarSizeWithFlags_Values[q12] = x_ExplicitVarSizeWithMarker_Values[q10] + | q12 : int(1..3)]) + | q10 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q14] -> + or([q16 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q16] = x_ExplicitVarSizeWithFlags_Values[q14] + | q16 : int(1..3)]) + | q14 : int(1..3)]) + diff --git a/tests/exhaustive/basic/set05/expected/model_4_4_4-solution000001.solution b/tests/exhaustive/basic/set05/expected/model_4_4_4-solution000001.solution new file mode 100644 index 0000000000..f90e0ba18c --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_4_4_4-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2} diff --git a/tests/exhaustive/basic/set05/expected/model_4_4_4-solution000002.solution b/tests/exhaustive/basic/set05/expected/model_4_4_4-solution000002.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_4_4_4-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set05/expected/model_4_4_4-solution000003.solution b/tests/exhaustive/basic/set05/expected/model_4_4_4-solution000003.solution new file mode 100644 index 0000000000..fdc0f02f96 --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_4_4_4-solution000003.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 4} diff --git a/tests/exhaustive/basic/set05/expected/model_4_4_4.eprime b/tests/exhaustive/basic/set05/expected/model_4_4_4.eprime new file mode 100644 index 0000000000..e4489eba01 --- /dev/null +++ b/tests/exhaustive/basic/set05/expected/model_4_4_4.eprime @@ -0,0 +1,15 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..3)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..3)] of int(1..4) +branching on [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values] +such that + or([x_ExplicitVarSizeWithFlags_Flags[q7] /\ x_ExplicitVarSizeWithFlags_Values[q7] = 1 | q7 : int(1..3)]), + or([x_ExplicitVarSizeWithFlags_Flags[q9] /\ x_ExplicitVarSizeWithFlags_Values[q9] = 2 | q9 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..2)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 1 | q2 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..2)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q4]) | q4 : int(1..3)]) <= 3 + diff --git a/tests/exhaustive/basic/set06/expected/model_1_1_1_1-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_1_1_1_1-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_1_1_1_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_1_1_1_1-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_1_1_1_1-solution000002.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_1_1_1_1-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_1_1_1_1.eprime b/tests/exhaustive/basic/set06/expected/model_1_1_1_1.eprime new file mode 100644 index 0000000000..f1447509f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_1_1_1_1.eprime @@ -0,0 +1,10 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1..4)] of bool +branching on [x_Occurrence] +such that + x_Occurrence[1], + x_Occurrence[2], + x_Occurrence[3], + sum([toInt(x_Occurrence[q1]) | q1 : int(1..4)]) <= 4 + diff --git a/tests/exhaustive/basic/set06/expected/model_1_1_1_2-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_1_1_1_2-solution000001.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_1_1_1_2-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_1_1_1_2-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_1_1_1_2-solution000002.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_1_1_1_2-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_1_1_1_2.eprime b/tests/exhaustive/basic/set06/expected/model_1_1_1_2.eprime new file mode 100644 index 0000000000..da7b2486bc --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_1_1_1_2.eprime @@ -0,0 +1,19 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +branching on [x_ExplicitVarSizeWithDummy, x_Occurrence] +such that + x_Occurrence[1], + x_Occurrence[2], + x_Occurrence[3], + sum([toInt(x_Occurrence[q1]) | q1 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithDummy[q2] < x_ExplicitVarSizeWithDummy[q2 + 1] \/ x_ExplicitVarSizeWithDummy[q2] = 5 + | q2 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q3] = 5 -> x_ExplicitVarSizeWithDummy[q3 + 1] = 5 | q3 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q4] != 5) | q4 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithDummy[q7] != 5 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q7]] | q7 : int(1..4)]), + and([x_Occurrence[q8] -> + or([x_ExplicitVarSizeWithDummy[q10] != 5 /\ x_ExplicitVarSizeWithDummy[q10] = q8 | q10 : int(1..4)]) + | q8 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_1_1_1_3-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_1_1_1_3-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_1_1_1_3-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_1_1_1_3-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_1_1_1_3-solution000002.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_1_1_1_3-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_1_1_1_3.eprime b/tests/exhaustive/basic/set06/expected/model_1_1_1_3.eprime new file mode 100644 index 0000000000..d1ee49268b --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_1_1_1_3.eprime @@ -0,0 +1,22 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +branching on [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_Occurrence] +such that + x_Occurrence[1], + x_Occurrence[2], + x_Occurrence[3], + sum([toInt(x_Occurrence[q1]) | q1 : int(1..4)]) <= 4, + and([q2 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q2] < x_ExplicitVarSizeWithMarker_Values[q2 + 1] + | q2 : int(1..3)]), + and([q3 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q3] = 1 | q3 : int(1..4)]), + x_ExplicitVarSizeWithMarker_Marker <= 4, + and([q6 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q6]] + | q6 : int(1..4)]), + and([x_Occurrence[q7] -> + or([q9 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q9] = q7 | q9 : int(1..4)]) + | q7 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_1_1_1_4-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_1_1_1_4-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_1_1_1_4-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_1_1_1_4-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_1_1_1_4-solution000002.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_1_1_1_4-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_1_1_1_4.eprime b/tests/exhaustive/basic/set06/expected/model_1_1_1_4.eprime new file mode 100644 index 0000000000..52a9a6c855 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_1_1_1_4.eprime @@ -0,0 +1,22 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +branching on [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_Occurrence] +such that + x_Occurrence[1], + x_Occurrence[2], + x_Occurrence[3], + sum([toInt(x_Occurrence[q1]) | q1 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithFlags_Flags[q2 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q2] < x_ExplicitVarSizeWithFlags_Values[q2 + 1] + | q2 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3] = false -> x_ExplicitVarSizeWithFlags_Values[q3] = 1 | q3 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q4 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q4] | q4 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q5]) | q5 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithFlags_Flags[q8] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q8]] | q8 : int(1..4)]), + and([x_Occurrence[q9] -> + or([x_ExplicitVarSizeWithFlags_Flags[q11] /\ x_ExplicitVarSizeWithFlags_Values[q11] = q9 | q11 : int(1..4)]) + | q9 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_1_1_2_1-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_1_1_2_1-solution000001.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_1_1_2_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_1_1_2_1-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_1_1_2_1-solution000002.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_1_1_2_1-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_1_1_2_1.eprime b/tests/exhaustive/basic/set06/expected/model_1_1_2_1.eprime new file mode 100644 index 0000000000..f6358320c2 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_1_1_2_1.eprime @@ -0,0 +1,19 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +branching on [x_ExplicitVarSizeWithDummy, x_Occurrence] +such that + x_Occurrence[1], + x_Occurrence[2], + or([x_ExplicitVarSizeWithDummy[q12] != 5 /\ x_ExplicitVarSizeWithDummy[q12] = 3 | q12 : int(1..4)]), + sum([toInt(x_Occurrence[q1]) | q1 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithDummy[q2] < x_ExplicitVarSizeWithDummy[q2 + 1] \/ x_ExplicitVarSizeWithDummy[q2] = 5 + | q2 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q3] = 5 -> x_ExplicitVarSizeWithDummy[q3 + 1] = 5 | q3 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q4] != 5) | q4 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithDummy[q7] != 5 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q7]] | q7 : int(1..4)]), + and([x_Occurrence[q8] -> + or([x_ExplicitVarSizeWithDummy[q10] != 5 /\ x_ExplicitVarSizeWithDummy[q10] = q8 | q10 : int(1..4)]) + | q8 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_1_1_2_3-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_1_1_2_3-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_1_1_2_3-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_1_1_2_3-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_1_1_2_3-solution000002.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_1_1_2_3-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_1_1_2_3.eprime b/tests/exhaustive/basic/set06/expected/model_1_1_2_3.eprime new file mode 100644 index 0000000000..38d4e045e4 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_1_1_2_3.eprime @@ -0,0 +1,43 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_Occurrence, x_ExplicitVarSizeWithDummy] +such that + x_Occurrence[1], + x_Occurrence[2], + or([x_ExplicitVarSizeWithDummy[q28] != 5 /\ x_ExplicitVarSizeWithDummy[q28] = 3 | q28 : int(1..4)]), + sum([toInt(x_Occurrence[q1]) | q1 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithDummy[q2] < x_ExplicitVarSizeWithDummy[q2 + 1] \/ x_ExplicitVarSizeWithDummy[q2] = 5 + | q2 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q3] = 5 -> x_ExplicitVarSizeWithDummy[q3 + 1] = 5 | q3 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q4] != 5) | q4 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithDummy[q7] != 5 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q7]] | q7 : int(1..4)]), + and([x_Occurrence[q8] -> + or([x_ExplicitVarSizeWithDummy[q10] != 5 /\ x_ExplicitVarSizeWithDummy[q10] = q8 | q10 : int(1..4)]) + | q8 : int(1..4)]), + and([q11 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q11] < x_ExplicitVarSizeWithMarker_Values[q11 + 1] + | q11 : int(1..3)]), + and([q12 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q12] = 1 | q12 : int(1..4)]), + x_ExplicitVarSizeWithMarker_Marker <= 4, + and([q15 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q15]] + | q15 : int(1..4)]), + and([x_Occurrence[q16] -> + or([q18 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q18] = q16 + | q18 : int(1..4)]) + | q16 : int(1..4)]), + and([q20 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q22] != 5 /\ + x_ExplicitVarSizeWithDummy[q22] = x_ExplicitVarSizeWithMarker_Values[q20] + | q22 : int(1..4)]) + | q20 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q24] != 5 -> + or([q26 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q26] = x_ExplicitVarSizeWithDummy[q24] + | q26 : int(1..4)]) + | q24 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_1_1_2_4-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_1_1_2_4-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_1_1_2_4-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_1_1_2_4-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_1_1_2_4-solution000002.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_1_1_2_4-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_1_1_2_4.eprime b/tests/exhaustive/basic/set06/expected/model_1_1_2_4.eprime new file mode 100644 index 0000000000..ef4fbb7269 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_1_1_2_4.eprime @@ -0,0 +1,44 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_Occurrence, x_ExplicitVarSizeWithDummy] +such that + x_Occurrence[1], + x_Occurrence[2], + or([x_ExplicitVarSizeWithDummy[q30] != 5 /\ x_ExplicitVarSizeWithDummy[q30] = 3 | q30 : int(1..4)]), + sum([toInt(x_Occurrence[q1]) | q1 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithDummy[q2] < x_ExplicitVarSizeWithDummy[q2 + 1] \/ x_ExplicitVarSizeWithDummy[q2] = 5 + | q2 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q3] = 5 -> x_ExplicitVarSizeWithDummy[q3 + 1] = 5 | q3 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q4] != 5) | q4 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithDummy[q7] != 5 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q7]] | q7 : int(1..4)]), + and([x_Occurrence[q8] -> + or([x_ExplicitVarSizeWithDummy[q10] != 5 /\ x_ExplicitVarSizeWithDummy[q10] = q8 | q10 : int(1..4)]) + | q8 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q11 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q11] < x_ExplicitVarSizeWithFlags_Values[q11 + 1] + | q11 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q12] = false -> x_ExplicitVarSizeWithFlags_Values[q12] = 1 + | q12 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q13 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q13] | q13 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q14]) | q14 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithFlags_Flags[q17] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q17]] + | q17 : int(1..4)]), + and([x_Occurrence[q18] -> + or([x_ExplicitVarSizeWithFlags_Flags[q20] /\ x_ExplicitVarSizeWithFlags_Values[q20] = q18 | q20 : int(1..4)]) + | q18 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q22] -> + or([x_ExplicitVarSizeWithDummy[q24] != 5 /\ + x_ExplicitVarSizeWithDummy[q24] = x_ExplicitVarSizeWithFlags_Values[q22] + | q24 : int(1..4)]) + | q22 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q26] != 5 -> + or([x_ExplicitVarSizeWithFlags_Flags[q28] /\ + x_ExplicitVarSizeWithFlags_Values[q28] = x_ExplicitVarSizeWithDummy[q26] + | q28 : int(1..4)]) + | q26 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_1_1_3_1-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_1_1_3_1-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_1_1_3_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_1_1_3_1-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_1_1_3_1-solution000002.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_1_1_3_1-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_1_1_3_1.eprime b/tests/exhaustive/basic/set06/expected/model_1_1_3_1.eprime new file mode 100644 index 0000000000..70953f52c2 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_1_1_3_1.eprime @@ -0,0 +1,22 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +branching on [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_Occurrence] +such that + x_Occurrence[1], + x_Occurrence[2], + or([q11 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q11] = 3 | q11 : int(1..4)]), + sum([toInt(x_Occurrence[q1]) | q1 : int(1..4)]) <= 4, + and([q2 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q2] < x_ExplicitVarSizeWithMarker_Values[q2 + 1] + | q2 : int(1..3)]), + and([q3 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q3] = 1 | q3 : int(1..4)]), + x_ExplicitVarSizeWithMarker_Marker <= 4, + and([q6 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q6]] + | q6 : int(1..4)]), + and([x_Occurrence[q7] -> + or([q9 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q9] = q7 | q9 : int(1..4)]) + | q7 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_1_1_3_2-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_1_1_3_2-solution000001.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_1_1_3_2-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_1_1_3_2-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_1_1_3_2-solution000002.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_1_1_3_2-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_1_1_3_2.eprime b/tests/exhaustive/basic/set06/expected/model_1_1_3_2.eprime new file mode 100644 index 0000000000..07088141cf --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_1_1_3_2.eprime @@ -0,0 +1,42 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +branching on + [x_ExplicitVarSizeWithDummy, x_Occurrence, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values] +such that + x_Occurrence[1], + x_Occurrence[2], + or([q28 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q28] = 3 | q28 : int(1..4)]), + sum([toInt(x_Occurrence[q1]) | q1 : int(1..4)]) <= 4, + and([q2 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q2] < x_ExplicitVarSizeWithMarker_Values[q2 + 1] + | q2 : int(1..3)]), + and([q3 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q3] = 1 | q3 : int(1..4)]), + x_ExplicitVarSizeWithMarker_Marker <= 4, + and([q6 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q6]] + | q6 : int(1..4)]), + and([x_Occurrence[q7] -> + or([q9 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q9] = q7 | q9 : int(1..4)]) + | q7 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q10] < x_ExplicitVarSizeWithDummy[q10 + 1] \/ x_ExplicitVarSizeWithDummy[q10] = 5 + | q10 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q11] = 5 -> x_ExplicitVarSizeWithDummy[q11 + 1] = 5 | q11 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q12] != 5) | q12 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithDummy[q15] != 5 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q15]] | q15 : int(1..4)]), + and([x_Occurrence[q16] -> + or([x_ExplicitVarSizeWithDummy[q18] != 5 /\ x_ExplicitVarSizeWithDummy[q18] = q16 | q18 : int(1..4)]) + | q16 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q20] != 5 -> + or([q22 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q22] = x_ExplicitVarSizeWithDummy[q20] + | q22 : int(1..4)]) + | q20 : int(1..4)]), + and([q24 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q26] != 5 /\ + x_ExplicitVarSizeWithDummy[q26] = x_ExplicitVarSizeWithMarker_Values[q24] + | q26 : int(1..4)]) + | q24 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_1_1_3_4-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_1_1_3_4-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_1_1_3_4-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_1_1_3_4-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_1_1_3_4-solution000002.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_1_1_3_4-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_1_1_3_4.eprime b/tests/exhaustive/basic/set06/expected/model_1_1_3_4.eprime new file mode 100644 index 0000000000..9e996001f2 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_1_1_3_4.eprime @@ -0,0 +1,48 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_Occurrence, + x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values] +such that + x_Occurrence[1], + x_Occurrence[2], + or([q29 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q29] = 3 | q29 : int(1..4)]), + sum([toInt(x_Occurrence[q1]) | q1 : int(1..4)]) <= 4, + and([q2 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q2] < x_ExplicitVarSizeWithMarker_Values[q2 + 1] + | q2 : int(1..3)]), + and([q3 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q3] = 1 | q3 : int(1..4)]), + x_ExplicitVarSizeWithMarker_Marker <= 4, + and([q6 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q6]] + | q6 : int(1..4)]), + and([x_Occurrence[q7] -> + or([q9 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q9] = q7 | q9 : int(1..4)]) + | q7 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q10 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q10] < x_ExplicitVarSizeWithFlags_Values[q10 + 1] + | q10 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q11] = false -> x_ExplicitVarSizeWithFlags_Values[q11] = 1 + | q11 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q12 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q12] | q12 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q13]) | q13 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithFlags_Flags[q16] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q16]] + | q16 : int(1..4)]), + and([x_Occurrence[q17] -> + or([x_ExplicitVarSizeWithFlags_Flags[q19] /\ x_ExplicitVarSizeWithFlags_Values[q19] = q17 | q19 : int(1..4)]) + | q17 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q21] -> + or([q23 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q23] = x_ExplicitVarSizeWithFlags_Values[q21] + | q23 : int(1..4)]) + | q21 : int(1..4)]), + and([q25 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q27] /\ + x_ExplicitVarSizeWithFlags_Values[q27] = x_ExplicitVarSizeWithMarker_Values[q25] + | q27 : int(1..4)]) + | q25 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_1_1_4_1-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_1_1_4_1-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_1_1_4_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_1_1_4_1-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_1_1_4_1-solution000002.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_1_1_4_1-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_1_1_4_1.eprime b/tests/exhaustive/basic/set06/expected/model_1_1_4_1.eprime new file mode 100644 index 0000000000..2ced4fdbb0 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_1_1_4_1.eprime @@ -0,0 +1,22 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +branching on [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_Occurrence] +such that + x_Occurrence[1], + x_Occurrence[2], + or([x_ExplicitVarSizeWithFlags_Flags[q13] /\ x_ExplicitVarSizeWithFlags_Values[q13] = 3 | q13 : int(1..4)]), + sum([toInt(x_Occurrence[q1]) | q1 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithFlags_Flags[q2 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q2] < x_ExplicitVarSizeWithFlags_Values[q2 + 1] + | q2 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3] = false -> x_ExplicitVarSizeWithFlags_Values[q3] = 1 | q3 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q4 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q4] | q4 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q5]) | q5 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithFlags_Flags[q8] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q8]] | q8 : int(1..4)]), + and([x_Occurrence[q9] -> + or([x_ExplicitVarSizeWithFlags_Flags[q11] /\ x_ExplicitVarSizeWithFlags_Values[q11] = q9 | q11 : int(1..4)]) + | q9 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_1_1_4_2-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_1_1_4_2-solution000001.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_1_1_4_2-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_1_1_4_2-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_1_1_4_2-solution000002.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_1_1_4_2-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_1_1_4_2.eprime b/tests/exhaustive/basic/set06/expected/model_1_1_4_2.eprime new file mode 100644 index 0000000000..faf6fcb130 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_1_1_4_2.eprime @@ -0,0 +1,42 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +branching on + [x_ExplicitVarSizeWithDummy, x_Occurrence, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values] +such that + x_Occurrence[1], + x_Occurrence[2], + or([x_ExplicitVarSizeWithFlags_Flags[q30] /\ x_ExplicitVarSizeWithFlags_Values[q30] = 3 | q30 : int(1..4)]), + sum([toInt(x_Occurrence[q1]) | q1 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithFlags_Flags[q2 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q2] < x_ExplicitVarSizeWithFlags_Values[q2 + 1] + | q2 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3] = false -> x_ExplicitVarSizeWithFlags_Values[q3] = 1 | q3 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q4 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q4] | q4 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q5]) | q5 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithFlags_Flags[q8] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q8]] | q8 : int(1..4)]), + and([x_Occurrence[q9] -> + or([x_ExplicitVarSizeWithFlags_Flags[q11] /\ x_ExplicitVarSizeWithFlags_Values[q11] = q9 | q11 : int(1..4)]) + | q9 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q12] < x_ExplicitVarSizeWithDummy[q12 + 1] \/ x_ExplicitVarSizeWithDummy[q12] = 5 + | q12 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q13] = 5 -> x_ExplicitVarSizeWithDummy[q13 + 1] = 5 | q13 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q14] != 5) | q14 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithDummy[q17] != 5 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q17]] | q17 : int(1..4)]), + and([x_Occurrence[q18] -> + or([x_ExplicitVarSizeWithDummy[q20] != 5 /\ x_ExplicitVarSizeWithDummy[q20] = q18 | q20 : int(1..4)]) + | q18 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q22] != 5 -> + or([x_ExplicitVarSizeWithFlags_Flags[q24] /\ + x_ExplicitVarSizeWithFlags_Values[q24] = x_ExplicitVarSizeWithDummy[q22] + | q24 : int(1..4)]) + | q22 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q26] -> + or([x_ExplicitVarSizeWithDummy[q28] != 5 /\ + x_ExplicitVarSizeWithDummy[q28] = x_ExplicitVarSizeWithFlags_Values[q26] + | q28 : int(1..4)]) + | q26 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_1_1_4_3-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_1_1_4_3-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_1_1_4_3-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_1_1_4_3-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_1_1_4_3-solution000002.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_1_1_4_3-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_1_1_4_3.eprime b/tests/exhaustive/basic/set06/expected/model_1_1_4_3.eprime new file mode 100644 index 0000000000..21bbdced45 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_1_1_4_3.eprime @@ -0,0 +1,47 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_Occurrence, + x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values] +such that + x_Occurrence[1], + x_Occurrence[2], + or([x_ExplicitVarSizeWithFlags_Flags[q29] /\ x_ExplicitVarSizeWithFlags_Values[q29] = 3 | q29 : int(1..4)]), + sum([toInt(x_Occurrence[q1]) | q1 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithFlags_Flags[q2 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q2] < x_ExplicitVarSizeWithFlags_Values[q2 + 1] + | q2 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3] = false -> x_ExplicitVarSizeWithFlags_Values[q3] = 1 | q3 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q4 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q4] | q4 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q5]) | q5 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithFlags_Flags[q8] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q8]] | q8 : int(1..4)]), + and([x_Occurrence[q9] -> + or([x_ExplicitVarSizeWithFlags_Flags[q11] /\ x_ExplicitVarSizeWithFlags_Values[q11] = q9 | q11 : int(1..4)]) + | q9 : int(1..4)]), + and([q12 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q12] < x_ExplicitVarSizeWithMarker_Values[q12 + 1] + | q12 : int(1..3)]), + and([q13 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q13] = 1 | q13 : int(1..4)]), + x_ExplicitVarSizeWithMarker_Marker <= 4, + and([q16 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q16]] + | q16 : int(1..4)]), + and([x_Occurrence[q17] -> + or([q19 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q19] = q17 + | q19 : int(1..4)]) + | q17 : int(1..4)]), + and([q21 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q23] /\ + x_ExplicitVarSizeWithFlags_Values[q23] = x_ExplicitVarSizeWithMarker_Values[q21] + | q23 : int(1..4)]) + | q21 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q25] -> + or([q27 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q27] = x_ExplicitVarSizeWithFlags_Values[q25] + | q27 : int(1..4)]) + | q25 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_1_2_1_1-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_1_2_1_1-solution000001.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_1_2_1_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_1_2_1_1-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_1_2_1_1-solution000002.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_1_2_1_1-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_1_2_1_1.eprime b/tests/exhaustive/basic/set06/expected/model_1_2_1_1.eprime new file mode 100644 index 0000000000..fd00042c48 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_1_2_1_1.eprime @@ -0,0 +1,19 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +branching on [x_ExplicitVarSizeWithDummy, x_Occurrence] +such that + x_Occurrence[1], + or([x_ExplicitVarSizeWithDummy[q12] != 5 /\ x_ExplicitVarSizeWithDummy[q12] = 2 | q12 : int(1..4)]), + x_Occurrence[3], + sum([toInt(x_Occurrence[q1]) | q1 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithDummy[q2] < x_ExplicitVarSizeWithDummy[q2 + 1] \/ x_ExplicitVarSizeWithDummy[q2] = 5 + | q2 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q3] = 5 -> x_ExplicitVarSizeWithDummy[q3 + 1] = 5 | q3 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q4] != 5) | q4 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithDummy[q7] != 5 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q7]] | q7 : int(1..4)]), + and([x_Occurrence[q8] -> + or([x_ExplicitVarSizeWithDummy[q10] != 5 /\ x_ExplicitVarSizeWithDummy[q10] = q8 | q10 : int(1..4)]) + | q8 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_1_2_1_3-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_1_2_1_3-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_1_2_1_3-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_1_2_1_3-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_1_2_1_3-solution000002.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_1_2_1_3-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_1_2_1_3.eprime b/tests/exhaustive/basic/set06/expected/model_1_2_1_3.eprime new file mode 100644 index 0000000000..9cd2a1ceb8 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_1_2_1_3.eprime @@ -0,0 +1,43 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_Occurrence, x_ExplicitVarSizeWithDummy] +such that + x_Occurrence[1], + or([x_ExplicitVarSizeWithDummy[q28] != 5 /\ x_ExplicitVarSizeWithDummy[q28] = 2 | q28 : int(1..4)]), + x_Occurrence[3], + sum([toInt(x_Occurrence[q1]) | q1 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithDummy[q2] < x_ExplicitVarSizeWithDummy[q2 + 1] \/ x_ExplicitVarSizeWithDummy[q2] = 5 + | q2 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q3] = 5 -> x_ExplicitVarSizeWithDummy[q3 + 1] = 5 | q3 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q4] != 5) | q4 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithDummy[q7] != 5 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q7]] | q7 : int(1..4)]), + and([x_Occurrence[q8] -> + or([x_ExplicitVarSizeWithDummy[q10] != 5 /\ x_ExplicitVarSizeWithDummy[q10] = q8 | q10 : int(1..4)]) + | q8 : int(1..4)]), + and([q11 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q11] < x_ExplicitVarSizeWithMarker_Values[q11 + 1] + | q11 : int(1..3)]), + and([q12 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q12] = 1 | q12 : int(1..4)]), + x_ExplicitVarSizeWithMarker_Marker <= 4, + and([q15 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q15]] + | q15 : int(1..4)]), + and([x_Occurrence[q16] -> + or([q18 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q18] = q16 + | q18 : int(1..4)]) + | q16 : int(1..4)]), + and([q20 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q22] != 5 /\ + x_ExplicitVarSizeWithDummy[q22] = x_ExplicitVarSizeWithMarker_Values[q20] + | q22 : int(1..4)]) + | q20 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q24] != 5 -> + or([q26 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q26] = x_ExplicitVarSizeWithDummy[q24] + | q26 : int(1..4)]) + | q24 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_1_2_1_4-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_1_2_1_4-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_1_2_1_4-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_1_2_1_4-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_1_2_1_4-solution000002.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_1_2_1_4-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_1_2_1_4.eprime b/tests/exhaustive/basic/set06/expected/model_1_2_1_4.eprime new file mode 100644 index 0000000000..16ffeaa1a3 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_1_2_1_4.eprime @@ -0,0 +1,44 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_Occurrence, x_ExplicitVarSizeWithDummy] +such that + x_Occurrence[1], + or([x_ExplicitVarSizeWithDummy[q30] != 5 /\ x_ExplicitVarSizeWithDummy[q30] = 2 | q30 : int(1..4)]), + x_Occurrence[3], + sum([toInt(x_Occurrence[q1]) | q1 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithDummy[q2] < x_ExplicitVarSizeWithDummy[q2 + 1] \/ x_ExplicitVarSizeWithDummy[q2] = 5 + | q2 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q3] = 5 -> x_ExplicitVarSizeWithDummy[q3 + 1] = 5 | q3 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q4] != 5) | q4 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithDummy[q7] != 5 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q7]] | q7 : int(1..4)]), + and([x_Occurrence[q8] -> + or([x_ExplicitVarSizeWithDummy[q10] != 5 /\ x_ExplicitVarSizeWithDummy[q10] = q8 | q10 : int(1..4)]) + | q8 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q11 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q11] < x_ExplicitVarSizeWithFlags_Values[q11 + 1] + | q11 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q12] = false -> x_ExplicitVarSizeWithFlags_Values[q12] = 1 + | q12 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q13 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q13] | q13 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q14]) | q14 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithFlags_Flags[q17] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q17]] + | q17 : int(1..4)]), + and([x_Occurrence[q18] -> + or([x_ExplicitVarSizeWithFlags_Flags[q20] /\ x_ExplicitVarSizeWithFlags_Values[q20] = q18 | q20 : int(1..4)]) + | q18 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q22] -> + or([x_ExplicitVarSizeWithDummy[q24] != 5 /\ + x_ExplicitVarSizeWithDummy[q24] = x_ExplicitVarSizeWithFlags_Values[q22] + | q24 : int(1..4)]) + | q22 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q26] != 5 -> + or([x_ExplicitVarSizeWithFlags_Flags[q28] /\ + x_ExplicitVarSizeWithFlags_Values[q28] = x_ExplicitVarSizeWithDummy[q26] + | q28 : int(1..4)]) + | q26 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_1_2_2_1-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_1_2_2_1-solution000001.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_1_2_2_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_1_2_2_1-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_1_2_2_1-solution000002.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_1_2_2_1-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_1_2_2_1.eprime b/tests/exhaustive/basic/set06/expected/model_1_2_2_1.eprime new file mode 100644 index 0000000000..31cd01bf55 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_1_2_2_1.eprime @@ -0,0 +1,19 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +branching on [x_ExplicitVarSizeWithDummy, x_Occurrence] +such that + x_Occurrence[1], + or([x_ExplicitVarSizeWithDummy[q12] != 5 /\ x_ExplicitVarSizeWithDummy[q12] = 2 | q12 : int(1..4)]), + or([x_ExplicitVarSizeWithDummy[q14] != 5 /\ x_ExplicitVarSizeWithDummy[q14] = 3 | q14 : int(1..4)]), + sum([toInt(x_Occurrence[q1]) | q1 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithDummy[q2] < x_ExplicitVarSizeWithDummy[q2 + 1] \/ x_ExplicitVarSizeWithDummy[q2] = 5 + | q2 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q3] = 5 -> x_ExplicitVarSizeWithDummy[q3 + 1] = 5 | q3 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q4] != 5) | q4 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithDummy[q7] != 5 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q7]] | q7 : int(1..4)]), + and([x_Occurrence[q8] -> + or([x_ExplicitVarSizeWithDummy[q10] != 5 /\ x_ExplicitVarSizeWithDummy[q10] = q8 | q10 : int(1..4)]) + | q8 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_1_2_2_3-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_1_2_2_3-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_1_2_2_3-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_1_2_2_3-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_1_2_2_3-solution000002.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_1_2_2_3-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_1_2_2_3.eprime b/tests/exhaustive/basic/set06/expected/model_1_2_2_3.eprime new file mode 100644 index 0000000000..2a7394dd4b --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_1_2_2_3.eprime @@ -0,0 +1,43 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_Occurrence, x_ExplicitVarSizeWithDummy] +such that + x_Occurrence[1], + or([x_ExplicitVarSizeWithDummy[q28] != 5 /\ x_ExplicitVarSizeWithDummy[q28] = 2 | q28 : int(1..4)]), + or([x_ExplicitVarSizeWithDummy[q30] != 5 /\ x_ExplicitVarSizeWithDummy[q30] = 3 | q30 : int(1..4)]), + sum([toInt(x_Occurrence[q1]) | q1 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithDummy[q2] < x_ExplicitVarSizeWithDummy[q2 + 1] \/ x_ExplicitVarSizeWithDummy[q2] = 5 + | q2 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q3] = 5 -> x_ExplicitVarSizeWithDummy[q3 + 1] = 5 | q3 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q4] != 5) | q4 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithDummy[q7] != 5 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q7]] | q7 : int(1..4)]), + and([x_Occurrence[q8] -> + or([x_ExplicitVarSizeWithDummy[q10] != 5 /\ x_ExplicitVarSizeWithDummy[q10] = q8 | q10 : int(1..4)]) + | q8 : int(1..4)]), + and([q11 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q11] < x_ExplicitVarSizeWithMarker_Values[q11 + 1] + | q11 : int(1..3)]), + and([q12 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q12] = 1 | q12 : int(1..4)]), + x_ExplicitVarSizeWithMarker_Marker <= 4, + and([q15 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q15]] + | q15 : int(1..4)]), + and([x_Occurrence[q16] -> + or([q18 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q18] = q16 + | q18 : int(1..4)]) + | q16 : int(1..4)]), + and([q20 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q22] != 5 /\ + x_ExplicitVarSizeWithDummy[q22] = x_ExplicitVarSizeWithMarker_Values[q20] + | q22 : int(1..4)]) + | q20 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q24] != 5 -> + or([q26 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q26] = x_ExplicitVarSizeWithDummy[q24] + | q26 : int(1..4)]) + | q24 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_1_2_2_4-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_1_2_2_4-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_1_2_2_4-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_1_2_2_4-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_1_2_2_4-solution000002.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_1_2_2_4-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_1_2_2_4.eprime b/tests/exhaustive/basic/set06/expected/model_1_2_2_4.eprime new file mode 100644 index 0000000000..cd3be25f64 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_1_2_2_4.eprime @@ -0,0 +1,44 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_Occurrence, x_ExplicitVarSizeWithDummy] +such that + x_Occurrence[1], + or([x_ExplicitVarSizeWithDummy[q30] != 5 /\ x_ExplicitVarSizeWithDummy[q30] = 2 | q30 : int(1..4)]), + or([x_ExplicitVarSizeWithDummy[q32] != 5 /\ x_ExplicitVarSizeWithDummy[q32] = 3 | q32 : int(1..4)]), + sum([toInt(x_Occurrence[q1]) | q1 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithDummy[q2] < x_ExplicitVarSizeWithDummy[q2 + 1] \/ x_ExplicitVarSizeWithDummy[q2] = 5 + | q2 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q3] = 5 -> x_ExplicitVarSizeWithDummy[q3 + 1] = 5 | q3 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q4] != 5) | q4 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithDummy[q7] != 5 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q7]] | q7 : int(1..4)]), + and([x_Occurrence[q8] -> + or([x_ExplicitVarSizeWithDummy[q10] != 5 /\ x_ExplicitVarSizeWithDummy[q10] = q8 | q10 : int(1..4)]) + | q8 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q11 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q11] < x_ExplicitVarSizeWithFlags_Values[q11 + 1] + | q11 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q12] = false -> x_ExplicitVarSizeWithFlags_Values[q12] = 1 + | q12 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q13 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q13] | q13 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q14]) | q14 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithFlags_Flags[q17] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q17]] + | q17 : int(1..4)]), + and([x_Occurrence[q18] -> + or([x_ExplicitVarSizeWithFlags_Flags[q20] /\ x_ExplicitVarSizeWithFlags_Values[q20] = q18 | q20 : int(1..4)]) + | q18 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q22] -> + or([x_ExplicitVarSizeWithDummy[q24] != 5 /\ + x_ExplicitVarSizeWithDummy[q24] = x_ExplicitVarSizeWithFlags_Values[q22] + | q24 : int(1..4)]) + | q22 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q26] != 5 -> + or([x_ExplicitVarSizeWithFlags_Flags[q28] /\ + x_ExplicitVarSizeWithFlags_Values[q28] = x_ExplicitVarSizeWithDummy[q26] + | q28 : int(1..4)]) + | q26 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_1_2_3_1-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_1_2_3_1-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_1_2_3_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_1_2_3_1-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_1_2_3_1-solution000002.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_1_2_3_1-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_1_2_3_1.eprime b/tests/exhaustive/basic/set06/expected/model_1_2_3_1.eprime new file mode 100644 index 0000000000..c6b9ef4264 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_1_2_3_1.eprime @@ -0,0 +1,43 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_Occurrence, x_ExplicitVarSizeWithDummy] +such that + x_Occurrence[1], + or([x_ExplicitVarSizeWithDummy[q28] != 5 /\ x_ExplicitVarSizeWithDummy[q28] = 2 | q28 : int(1..4)]), + or([q30 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q30] = 3 | q30 : int(1..4)]), + sum([toInt(x_Occurrence[q1]) | q1 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithDummy[q2] < x_ExplicitVarSizeWithDummy[q2 + 1] \/ x_ExplicitVarSizeWithDummy[q2] = 5 + | q2 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q3] = 5 -> x_ExplicitVarSizeWithDummy[q3 + 1] = 5 | q3 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q4] != 5) | q4 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithDummy[q7] != 5 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q7]] | q7 : int(1..4)]), + and([x_Occurrence[q8] -> + or([x_ExplicitVarSizeWithDummy[q10] != 5 /\ x_ExplicitVarSizeWithDummy[q10] = q8 | q10 : int(1..4)]) + | q8 : int(1..4)]), + and([q11 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q11] < x_ExplicitVarSizeWithMarker_Values[q11 + 1] + | q11 : int(1..3)]), + and([q12 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q12] = 1 | q12 : int(1..4)]), + x_ExplicitVarSizeWithMarker_Marker <= 4, + and([q15 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q15]] + | q15 : int(1..4)]), + and([x_Occurrence[q16] -> + or([q18 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q18] = q16 + | q18 : int(1..4)]) + | q16 : int(1..4)]), + and([q20 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q22] != 5 /\ + x_ExplicitVarSizeWithDummy[q22] = x_ExplicitVarSizeWithMarker_Values[q20] + | q22 : int(1..4)]) + | q20 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q24] != 5 -> + or([q26 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q26] = x_ExplicitVarSizeWithDummy[q24] + | q26 : int(1..4)]) + | q24 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_1_2_3_4-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_1_2_3_4-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_1_2_3_4-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_1_2_3_4-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_1_2_3_4-solution000002.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_1_2_3_4-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_1_2_3_4.eprime b/tests/exhaustive/basic/set06/expected/model_1_2_3_4.eprime new file mode 100644 index 0000000000..6015b45fb3 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_1_2_3_4.eprime @@ -0,0 +1,78 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_Occurrence, x_ExplicitVarSizeWithDummy, + x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values] +such that + x_Occurrence[1], + or([x_ExplicitVarSizeWithDummy[q54] != 5 /\ x_ExplicitVarSizeWithDummy[q54] = 2 | q54 : int(1..4)]), + or([q56 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q56] = 3 | q56 : int(1..4)]), + sum([toInt(x_Occurrence[q1]) | q1 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithDummy[q2] < x_ExplicitVarSizeWithDummy[q2 + 1] \/ x_ExplicitVarSizeWithDummy[q2] = 5 + | q2 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q3] = 5 -> x_ExplicitVarSizeWithDummy[q3 + 1] = 5 | q3 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q4] != 5) | q4 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithDummy[q7] != 5 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q7]] | q7 : int(1..4)]), + and([x_Occurrence[q8] -> + or([x_ExplicitVarSizeWithDummy[q10] != 5 /\ x_ExplicitVarSizeWithDummy[q10] = q8 | q10 : int(1..4)]) + | q8 : int(1..4)]), + and([q11 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q11] < x_ExplicitVarSizeWithMarker_Values[q11 + 1] + | q11 : int(1..3)]), + and([q12 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q12] = 1 | q12 : int(1..4)]), + x_ExplicitVarSizeWithMarker_Marker <= 4, + and([q15 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q15]] + | q15 : int(1..4)]), + and([x_Occurrence[q16] -> + or([q18 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q18] = q16 + | q18 : int(1..4)]) + | q16 : int(1..4)]), + and([q20 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q22] != 5 /\ + x_ExplicitVarSizeWithDummy[q22] = x_ExplicitVarSizeWithMarker_Values[q20] + | q22 : int(1..4)]) + | q20 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q24] != 5 -> + or([q26 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q26] = x_ExplicitVarSizeWithDummy[q24] + | q26 : int(1..4)]) + | q24 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q27 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q27] < x_ExplicitVarSizeWithFlags_Values[q27 + 1] + | q27 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q28] = false -> x_ExplicitVarSizeWithFlags_Values[q28] = 1 + | q28 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q29 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q29] | q29 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q30]) | q30 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithFlags_Flags[q33] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q33]] + | q33 : int(1..4)]), + and([x_Occurrence[q34] -> + or([x_ExplicitVarSizeWithFlags_Flags[q36] /\ x_ExplicitVarSizeWithFlags_Values[q36] = q34 | q36 : int(1..4)]) + | q34 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q38] -> + or([x_ExplicitVarSizeWithDummy[q40] != 5 /\ + x_ExplicitVarSizeWithDummy[q40] = x_ExplicitVarSizeWithFlags_Values[q38] + | q40 : int(1..4)]) + | q38 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q42] != 5 -> + or([x_ExplicitVarSizeWithFlags_Flags[q44] /\ + x_ExplicitVarSizeWithFlags_Values[q44] = x_ExplicitVarSizeWithDummy[q42] + | q44 : int(1..4)]) + | q42 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q46] -> + or([q48 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q48] = x_ExplicitVarSizeWithFlags_Values[q46] + | q48 : int(1..4)]) + | q46 : int(1..4)]), + and([q50 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q52] /\ + x_ExplicitVarSizeWithFlags_Values[q52] = x_ExplicitVarSizeWithMarker_Values[q50] + | q52 : int(1..4)]) + | q50 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_1_2_4_1-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_1_2_4_1-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_1_2_4_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_1_2_4_1-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_1_2_4_1-solution000002.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_1_2_4_1-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_1_2_4_1.eprime b/tests/exhaustive/basic/set06/expected/model_1_2_4_1.eprime new file mode 100644 index 0000000000..aed016ee53 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_1_2_4_1.eprime @@ -0,0 +1,44 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_Occurrence, x_ExplicitVarSizeWithDummy] +such that + x_Occurrence[1], + or([x_ExplicitVarSizeWithDummy[q30] != 5 /\ x_ExplicitVarSizeWithDummy[q30] = 2 | q30 : int(1..4)]), + or([x_ExplicitVarSizeWithFlags_Flags[q32] /\ x_ExplicitVarSizeWithFlags_Values[q32] = 3 | q32 : int(1..4)]), + sum([toInt(x_Occurrence[q1]) | q1 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithDummy[q2] < x_ExplicitVarSizeWithDummy[q2 + 1] \/ x_ExplicitVarSizeWithDummy[q2] = 5 + | q2 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q3] = 5 -> x_ExplicitVarSizeWithDummy[q3 + 1] = 5 | q3 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q4] != 5) | q4 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithDummy[q7] != 5 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q7]] | q7 : int(1..4)]), + and([x_Occurrence[q8] -> + or([x_ExplicitVarSizeWithDummy[q10] != 5 /\ x_ExplicitVarSizeWithDummy[q10] = q8 | q10 : int(1..4)]) + | q8 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q11 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q11] < x_ExplicitVarSizeWithFlags_Values[q11 + 1] + | q11 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q12] = false -> x_ExplicitVarSizeWithFlags_Values[q12] = 1 + | q12 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q13 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q13] | q13 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q14]) | q14 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithFlags_Flags[q17] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q17]] + | q17 : int(1..4)]), + and([x_Occurrence[q18] -> + or([x_ExplicitVarSizeWithFlags_Flags[q20] /\ x_ExplicitVarSizeWithFlags_Values[q20] = q18 | q20 : int(1..4)]) + | q18 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q22] -> + or([x_ExplicitVarSizeWithDummy[q24] != 5 /\ + x_ExplicitVarSizeWithDummy[q24] = x_ExplicitVarSizeWithFlags_Values[q22] + | q24 : int(1..4)]) + | q22 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q26] != 5 -> + or([x_ExplicitVarSizeWithFlags_Flags[q28] /\ + x_ExplicitVarSizeWithFlags_Values[q28] = x_ExplicitVarSizeWithDummy[q26] + | q28 : int(1..4)]) + | q26 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_1_2_4_3-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_1_2_4_3-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_1_2_4_3-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_1_2_4_3-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_1_2_4_3-solution000002.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_1_2_4_3-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_1_2_4_3.eprime b/tests/exhaustive/basic/set06/expected/model_1_2_4_3.eprime new file mode 100644 index 0000000000..bb79bbed91 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_1_2_4_3.eprime @@ -0,0 +1,78 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_Occurrence, x_ExplicitVarSizeWithDummy, + x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values] +such that + x_Occurrence[1], + or([x_ExplicitVarSizeWithDummy[q54] != 5 /\ x_ExplicitVarSizeWithDummy[q54] = 2 | q54 : int(1..4)]), + or([x_ExplicitVarSizeWithFlags_Flags[q56] /\ x_ExplicitVarSizeWithFlags_Values[q56] = 3 | q56 : int(1..4)]), + sum([toInt(x_Occurrence[q1]) | q1 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithDummy[q2] < x_ExplicitVarSizeWithDummy[q2 + 1] \/ x_ExplicitVarSizeWithDummy[q2] = 5 + | q2 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q3] = 5 -> x_ExplicitVarSizeWithDummy[q3 + 1] = 5 | q3 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q4] != 5) | q4 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithDummy[q7] != 5 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q7]] | q7 : int(1..4)]), + and([x_Occurrence[q8] -> + or([x_ExplicitVarSizeWithDummy[q10] != 5 /\ x_ExplicitVarSizeWithDummy[q10] = q8 | q10 : int(1..4)]) + | q8 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q11 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q11] < x_ExplicitVarSizeWithFlags_Values[q11 + 1] + | q11 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q12] = false -> x_ExplicitVarSizeWithFlags_Values[q12] = 1 + | q12 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q13 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q13] | q13 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q14]) | q14 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithFlags_Flags[q17] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q17]] + | q17 : int(1..4)]), + and([x_Occurrence[q18] -> + or([x_ExplicitVarSizeWithFlags_Flags[q20] /\ x_ExplicitVarSizeWithFlags_Values[q20] = q18 | q20 : int(1..4)]) + | q18 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q22] -> + or([x_ExplicitVarSizeWithDummy[q24] != 5 /\ + x_ExplicitVarSizeWithDummy[q24] = x_ExplicitVarSizeWithFlags_Values[q22] + | q24 : int(1..4)]) + | q22 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q26] != 5 -> + or([x_ExplicitVarSizeWithFlags_Flags[q28] /\ + x_ExplicitVarSizeWithFlags_Values[q28] = x_ExplicitVarSizeWithDummy[q26] + | q28 : int(1..4)]) + | q26 : int(1..4)]), + and([q29 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q29] < x_ExplicitVarSizeWithMarker_Values[q29 + 1] + | q29 : int(1..3)]), + and([q30 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q30] = 1 | q30 : int(1..4)]), + x_ExplicitVarSizeWithMarker_Marker <= 4, + and([q33 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q33]] + | q33 : int(1..4)]), + and([x_Occurrence[q34] -> + or([q36 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q36] = q34 + | q36 : int(1..4)]) + | q34 : int(1..4)]), + and([q38 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q40] != 5 /\ + x_ExplicitVarSizeWithDummy[q40] = x_ExplicitVarSizeWithMarker_Values[q38] + | q40 : int(1..4)]) + | q38 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q42] != 5 -> + or([q44 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q44] = x_ExplicitVarSizeWithDummy[q42] + | q44 : int(1..4)]) + | q42 : int(1..4)]), + and([q46 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q48] /\ + x_ExplicitVarSizeWithFlags_Values[q48] = x_ExplicitVarSizeWithMarker_Values[q46] + | q48 : int(1..4)]) + | q46 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q50] -> + or([q52 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q52] = x_ExplicitVarSizeWithFlags_Values[q50] + | q52 : int(1..4)]) + | q50 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_1_3_1_1-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_1_3_1_1-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_1_3_1_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_1_3_1_1-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_1_3_1_1-solution000002.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_1_3_1_1-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_1_3_1_1.eprime b/tests/exhaustive/basic/set06/expected/model_1_3_1_1.eprime new file mode 100644 index 0000000000..534888a487 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_1_3_1_1.eprime @@ -0,0 +1,22 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +branching on [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_Occurrence] +such that + x_Occurrence[1], + or([q11 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q11] = 2 | q11 : int(1..4)]), + x_Occurrence[3], + sum([toInt(x_Occurrence[q1]) | q1 : int(1..4)]) <= 4, + and([q2 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q2] < x_ExplicitVarSizeWithMarker_Values[q2 + 1] + | q2 : int(1..3)]), + and([q3 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q3] = 1 | q3 : int(1..4)]), + x_ExplicitVarSizeWithMarker_Marker <= 4, + and([q6 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q6]] + | q6 : int(1..4)]), + and([x_Occurrence[q7] -> + or([q9 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q9] = q7 | q9 : int(1..4)]) + | q7 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_1_3_1_2-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_1_3_1_2-solution000001.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_1_3_1_2-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_1_3_1_2-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_1_3_1_2-solution000002.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_1_3_1_2-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_1_3_1_2.eprime b/tests/exhaustive/basic/set06/expected/model_1_3_1_2.eprime new file mode 100644 index 0000000000..3a488b51f2 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_1_3_1_2.eprime @@ -0,0 +1,42 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +branching on + [x_ExplicitVarSizeWithDummy, x_Occurrence, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values] +such that + x_Occurrence[1], + or([q28 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q28] = 2 | q28 : int(1..4)]), + x_Occurrence[3], + sum([toInt(x_Occurrence[q1]) | q1 : int(1..4)]) <= 4, + and([q2 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q2] < x_ExplicitVarSizeWithMarker_Values[q2 + 1] + | q2 : int(1..3)]), + and([q3 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q3] = 1 | q3 : int(1..4)]), + x_ExplicitVarSizeWithMarker_Marker <= 4, + and([q6 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q6]] + | q6 : int(1..4)]), + and([x_Occurrence[q7] -> + or([q9 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q9] = q7 | q9 : int(1..4)]) + | q7 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q10] < x_ExplicitVarSizeWithDummy[q10 + 1] \/ x_ExplicitVarSizeWithDummy[q10] = 5 + | q10 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q11] = 5 -> x_ExplicitVarSizeWithDummy[q11 + 1] = 5 | q11 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q12] != 5) | q12 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithDummy[q15] != 5 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q15]] | q15 : int(1..4)]), + and([x_Occurrence[q16] -> + or([x_ExplicitVarSizeWithDummy[q18] != 5 /\ x_ExplicitVarSizeWithDummy[q18] = q16 | q18 : int(1..4)]) + | q16 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q20] != 5 -> + or([q22 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q22] = x_ExplicitVarSizeWithDummy[q20] + | q22 : int(1..4)]) + | q20 : int(1..4)]), + and([q24 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q26] != 5 /\ + x_ExplicitVarSizeWithDummy[q26] = x_ExplicitVarSizeWithMarker_Values[q24] + | q26 : int(1..4)]) + | q24 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_1_3_1_4-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_1_3_1_4-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_1_3_1_4-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_1_3_1_4-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_1_3_1_4-solution000002.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_1_3_1_4-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_1_3_1_4.eprime b/tests/exhaustive/basic/set06/expected/model_1_3_1_4.eprime new file mode 100644 index 0000000000..c11065ed05 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_1_3_1_4.eprime @@ -0,0 +1,48 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_Occurrence, + x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values] +such that + x_Occurrence[1], + or([q29 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q29] = 2 | q29 : int(1..4)]), + x_Occurrence[3], + sum([toInt(x_Occurrence[q1]) | q1 : int(1..4)]) <= 4, + and([q2 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q2] < x_ExplicitVarSizeWithMarker_Values[q2 + 1] + | q2 : int(1..3)]), + and([q3 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q3] = 1 | q3 : int(1..4)]), + x_ExplicitVarSizeWithMarker_Marker <= 4, + and([q6 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q6]] + | q6 : int(1..4)]), + and([x_Occurrence[q7] -> + or([q9 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q9] = q7 | q9 : int(1..4)]) + | q7 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q10 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q10] < x_ExplicitVarSizeWithFlags_Values[q10 + 1] + | q10 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q11] = false -> x_ExplicitVarSizeWithFlags_Values[q11] = 1 + | q11 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q12 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q12] | q12 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q13]) | q13 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithFlags_Flags[q16] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q16]] + | q16 : int(1..4)]), + and([x_Occurrence[q17] -> + or([x_ExplicitVarSizeWithFlags_Flags[q19] /\ x_ExplicitVarSizeWithFlags_Values[q19] = q17 | q19 : int(1..4)]) + | q17 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q21] -> + or([q23 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q23] = x_ExplicitVarSizeWithFlags_Values[q21] + | q23 : int(1..4)]) + | q21 : int(1..4)]), + and([q25 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q27] /\ + x_ExplicitVarSizeWithFlags_Values[q27] = x_ExplicitVarSizeWithMarker_Values[q25] + | q27 : int(1..4)]) + | q25 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_1_3_2_1-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_1_3_2_1-solution000001.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_1_3_2_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_1_3_2_1-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_1_3_2_1-solution000002.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_1_3_2_1-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_1_3_2_1.eprime b/tests/exhaustive/basic/set06/expected/model_1_3_2_1.eprime new file mode 100644 index 0000000000..1df703b36a --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_1_3_2_1.eprime @@ -0,0 +1,42 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +branching on + [x_ExplicitVarSizeWithDummy, x_Occurrence, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values] +such that + x_Occurrence[1], + or([q28 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q28] = 2 | q28 : int(1..4)]), + or([x_ExplicitVarSizeWithDummy[q30] != 5 /\ x_ExplicitVarSizeWithDummy[q30] = 3 | q30 : int(1..4)]), + sum([toInt(x_Occurrence[q1]) | q1 : int(1..4)]) <= 4, + and([q2 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q2] < x_ExplicitVarSizeWithMarker_Values[q2 + 1] + | q2 : int(1..3)]), + and([q3 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q3] = 1 | q3 : int(1..4)]), + x_ExplicitVarSizeWithMarker_Marker <= 4, + and([q6 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q6]] + | q6 : int(1..4)]), + and([x_Occurrence[q7] -> + or([q9 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q9] = q7 | q9 : int(1..4)]) + | q7 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q10] < x_ExplicitVarSizeWithDummy[q10 + 1] \/ x_ExplicitVarSizeWithDummy[q10] = 5 + | q10 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q11] = 5 -> x_ExplicitVarSizeWithDummy[q11 + 1] = 5 | q11 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q12] != 5) | q12 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithDummy[q15] != 5 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q15]] | q15 : int(1..4)]), + and([x_Occurrence[q16] -> + or([x_ExplicitVarSizeWithDummy[q18] != 5 /\ x_ExplicitVarSizeWithDummy[q18] = q16 | q18 : int(1..4)]) + | q16 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q20] != 5 -> + or([q22 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q22] = x_ExplicitVarSizeWithDummy[q20] + | q22 : int(1..4)]) + | q20 : int(1..4)]), + and([q24 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q26] != 5 /\ + x_ExplicitVarSizeWithDummy[q26] = x_ExplicitVarSizeWithMarker_Values[q24] + | q26 : int(1..4)]) + | q24 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_1_3_2_4-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_1_3_2_4-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_1_3_2_4-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_1_3_2_4-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_1_3_2_4-solution000002.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_1_3_2_4-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_1_3_2_4.eprime b/tests/exhaustive/basic/set06/expected/model_1_3_2_4.eprime new file mode 100644 index 0000000000..d71d427457 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_1_3_2_4.eprime @@ -0,0 +1,77 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_Occurrence, + x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_ExplicitVarSizeWithDummy] +such that + x_Occurrence[1], + or([q54 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q54] = 2 | q54 : int(1..4)]), + or([x_ExplicitVarSizeWithDummy[q56] != 5 /\ x_ExplicitVarSizeWithDummy[q56] = 3 | q56 : int(1..4)]), + sum([toInt(x_Occurrence[q1]) | q1 : int(1..4)]) <= 4, + and([q2 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q2] < x_ExplicitVarSizeWithMarker_Values[q2 + 1] + | q2 : int(1..3)]), + and([q3 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q3] = 1 | q3 : int(1..4)]), + x_ExplicitVarSizeWithMarker_Marker <= 4, + and([q6 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q6]] + | q6 : int(1..4)]), + and([x_Occurrence[q7] -> + or([q9 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q9] = q7 | q9 : int(1..4)]) + | q7 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q10] < x_ExplicitVarSizeWithDummy[q10 + 1] \/ x_ExplicitVarSizeWithDummy[q10] = 5 + | q10 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q11] = 5 -> x_ExplicitVarSizeWithDummy[q11 + 1] = 5 | q11 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q12] != 5) | q12 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithDummy[q15] != 5 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q15]] | q15 : int(1..4)]), + and([x_Occurrence[q16] -> + or([x_ExplicitVarSizeWithDummy[q18] != 5 /\ x_ExplicitVarSizeWithDummy[q18] = q16 | q18 : int(1..4)]) + | q16 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q20] != 5 -> + or([q22 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q22] = x_ExplicitVarSizeWithDummy[q20] + | q22 : int(1..4)]) + | q20 : int(1..4)]), + and([q24 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q26] != 5 /\ + x_ExplicitVarSizeWithDummy[q26] = x_ExplicitVarSizeWithMarker_Values[q24] + | q26 : int(1..4)]) + | q24 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q27 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q27] < x_ExplicitVarSizeWithFlags_Values[q27 + 1] + | q27 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q28] = false -> x_ExplicitVarSizeWithFlags_Values[q28] = 1 + | q28 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q29 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q29] | q29 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q30]) | q30 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithFlags_Flags[q33] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q33]] + | q33 : int(1..4)]), + and([x_Occurrence[q34] -> + or([x_ExplicitVarSizeWithFlags_Flags[q36] /\ x_ExplicitVarSizeWithFlags_Values[q36] = q34 | q36 : int(1..4)]) + | q34 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q38] -> + or([q40 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q40] = x_ExplicitVarSizeWithFlags_Values[q38] + | q40 : int(1..4)]) + | q38 : int(1..4)]), + and([q42 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q44] /\ + x_ExplicitVarSizeWithFlags_Values[q44] = x_ExplicitVarSizeWithMarker_Values[q42] + | q44 : int(1..4)]) + | q42 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q46] -> + or([x_ExplicitVarSizeWithDummy[q48] != 5 /\ + x_ExplicitVarSizeWithDummy[q48] = x_ExplicitVarSizeWithFlags_Values[q46] + | q48 : int(1..4)]) + | q46 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q50] != 5 -> + or([x_ExplicitVarSizeWithFlags_Flags[q52] /\ + x_ExplicitVarSizeWithFlags_Values[q52] = x_ExplicitVarSizeWithDummy[q50] + | q52 : int(1..4)]) + | q50 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_1_3_3_1-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_1_3_3_1-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_1_3_3_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_1_3_3_1-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_1_3_3_1-solution000002.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_1_3_3_1-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_1_3_3_1.eprime b/tests/exhaustive/basic/set06/expected/model_1_3_3_1.eprime new file mode 100644 index 0000000000..10616f2d34 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_1_3_3_1.eprime @@ -0,0 +1,22 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +branching on [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_Occurrence] +such that + x_Occurrence[1], + or([q11 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q11] = 2 | q11 : int(1..4)]), + or([q13 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q13] = 3 | q13 : int(1..4)]), + sum([toInt(x_Occurrence[q1]) | q1 : int(1..4)]) <= 4, + and([q2 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q2] < x_ExplicitVarSizeWithMarker_Values[q2 + 1] + | q2 : int(1..3)]), + and([q3 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q3] = 1 | q3 : int(1..4)]), + x_ExplicitVarSizeWithMarker_Marker <= 4, + and([q6 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q6]] + | q6 : int(1..4)]), + and([x_Occurrence[q7] -> + or([q9 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q9] = q7 | q9 : int(1..4)]) + | q7 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_1_3_3_2-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_1_3_3_2-solution000001.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_1_3_3_2-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_1_3_3_2-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_1_3_3_2-solution000002.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_1_3_3_2-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_1_3_3_2.eprime b/tests/exhaustive/basic/set06/expected/model_1_3_3_2.eprime new file mode 100644 index 0000000000..0a6a65be24 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_1_3_3_2.eprime @@ -0,0 +1,42 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +branching on + [x_ExplicitVarSizeWithDummy, x_Occurrence, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values] +such that + x_Occurrence[1], + or([q28 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q28] = 2 | q28 : int(1..4)]), + or([q30 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q30] = 3 | q30 : int(1..4)]), + sum([toInt(x_Occurrence[q1]) | q1 : int(1..4)]) <= 4, + and([q2 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q2] < x_ExplicitVarSizeWithMarker_Values[q2 + 1] + | q2 : int(1..3)]), + and([q3 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q3] = 1 | q3 : int(1..4)]), + x_ExplicitVarSizeWithMarker_Marker <= 4, + and([q6 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q6]] + | q6 : int(1..4)]), + and([x_Occurrence[q7] -> + or([q9 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q9] = q7 | q9 : int(1..4)]) + | q7 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q10] < x_ExplicitVarSizeWithDummy[q10 + 1] \/ x_ExplicitVarSizeWithDummy[q10] = 5 + | q10 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q11] = 5 -> x_ExplicitVarSizeWithDummy[q11 + 1] = 5 | q11 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q12] != 5) | q12 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithDummy[q15] != 5 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q15]] | q15 : int(1..4)]), + and([x_Occurrence[q16] -> + or([x_ExplicitVarSizeWithDummy[q18] != 5 /\ x_ExplicitVarSizeWithDummy[q18] = q16 | q18 : int(1..4)]) + | q16 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q20] != 5 -> + or([q22 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q22] = x_ExplicitVarSizeWithDummy[q20] + | q22 : int(1..4)]) + | q20 : int(1..4)]), + and([q24 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q26] != 5 /\ + x_ExplicitVarSizeWithDummy[q26] = x_ExplicitVarSizeWithMarker_Values[q24] + | q26 : int(1..4)]) + | q24 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_1_3_3_4-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_1_3_3_4-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_1_3_3_4-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_1_3_3_4-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_1_3_3_4-solution000002.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_1_3_3_4-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_1_3_3_4.eprime b/tests/exhaustive/basic/set06/expected/model_1_3_3_4.eprime new file mode 100644 index 0000000000..0d2728b93c --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_1_3_3_4.eprime @@ -0,0 +1,48 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_Occurrence, + x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values] +such that + x_Occurrence[1], + or([q29 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q29] = 2 | q29 : int(1..4)]), + or([q31 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q31] = 3 | q31 : int(1..4)]), + sum([toInt(x_Occurrence[q1]) | q1 : int(1..4)]) <= 4, + and([q2 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q2] < x_ExplicitVarSizeWithMarker_Values[q2 + 1] + | q2 : int(1..3)]), + and([q3 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q3] = 1 | q3 : int(1..4)]), + x_ExplicitVarSizeWithMarker_Marker <= 4, + and([q6 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q6]] + | q6 : int(1..4)]), + and([x_Occurrence[q7] -> + or([q9 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q9] = q7 | q9 : int(1..4)]) + | q7 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q10 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q10] < x_ExplicitVarSizeWithFlags_Values[q10 + 1] + | q10 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q11] = false -> x_ExplicitVarSizeWithFlags_Values[q11] = 1 + | q11 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q12 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q12] | q12 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q13]) | q13 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithFlags_Flags[q16] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q16]] + | q16 : int(1..4)]), + and([x_Occurrence[q17] -> + or([x_ExplicitVarSizeWithFlags_Flags[q19] /\ x_ExplicitVarSizeWithFlags_Values[q19] = q17 | q19 : int(1..4)]) + | q17 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q21] -> + or([q23 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q23] = x_ExplicitVarSizeWithFlags_Values[q21] + | q23 : int(1..4)]) + | q21 : int(1..4)]), + and([q25 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q27] /\ + x_ExplicitVarSizeWithFlags_Values[q27] = x_ExplicitVarSizeWithMarker_Values[q25] + | q27 : int(1..4)]) + | q25 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_1_3_4_1-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_1_3_4_1-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_1_3_4_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_1_3_4_1-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_1_3_4_1-solution000002.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_1_3_4_1-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_1_3_4_1.eprime b/tests/exhaustive/basic/set06/expected/model_1_3_4_1.eprime new file mode 100644 index 0000000000..73b9732e42 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_1_3_4_1.eprime @@ -0,0 +1,48 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_Occurrence, + x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values] +such that + x_Occurrence[1], + or([q29 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q29] = 2 | q29 : int(1..4)]), + or([x_ExplicitVarSizeWithFlags_Flags[q31] /\ x_ExplicitVarSizeWithFlags_Values[q31] = 3 | q31 : int(1..4)]), + sum([toInt(x_Occurrence[q1]) | q1 : int(1..4)]) <= 4, + and([q2 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q2] < x_ExplicitVarSizeWithMarker_Values[q2 + 1] + | q2 : int(1..3)]), + and([q3 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q3] = 1 | q3 : int(1..4)]), + x_ExplicitVarSizeWithMarker_Marker <= 4, + and([q6 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q6]] + | q6 : int(1..4)]), + and([x_Occurrence[q7] -> + or([q9 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q9] = q7 | q9 : int(1..4)]) + | q7 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q10 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q10] < x_ExplicitVarSizeWithFlags_Values[q10 + 1] + | q10 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q11] = false -> x_ExplicitVarSizeWithFlags_Values[q11] = 1 + | q11 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q12 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q12] | q12 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q13]) | q13 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithFlags_Flags[q16] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q16]] + | q16 : int(1..4)]), + and([x_Occurrence[q17] -> + or([x_ExplicitVarSizeWithFlags_Flags[q19] /\ x_ExplicitVarSizeWithFlags_Values[q19] = q17 | q19 : int(1..4)]) + | q17 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q21] -> + or([q23 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q23] = x_ExplicitVarSizeWithFlags_Values[q21] + | q23 : int(1..4)]) + | q21 : int(1..4)]), + and([q25 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q27] /\ + x_ExplicitVarSizeWithFlags_Values[q27] = x_ExplicitVarSizeWithMarker_Values[q25] + | q27 : int(1..4)]) + | q25 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_1_3_4_2-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_1_3_4_2-solution000001.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_1_3_4_2-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_1_3_4_2-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_1_3_4_2-solution000002.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_1_3_4_2-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_1_3_4_2.eprime b/tests/exhaustive/basic/set06/expected/model_1_3_4_2.eprime new file mode 100644 index 0000000000..1c2efaa35b --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_1_3_4_2.eprime @@ -0,0 +1,77 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +branching on + [x_ExplicitVarSizeWithDummy, x_Occurrence, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, + x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values] +such that + x_Occurrence[1], + or([q54 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q54] = 2 | q54 : int(1..4)]), + or([x_ExplicitVarSizeWithFlags_Flags[q56] /\ x_ExplicitVarSizeWithFlags_Values[q56] = 3 | q56 : int(1..4)]), + sum([toInt(x_Occurrence[q1]) | q1 : int(1..4)]) <= 4, + and([q2 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q2] < x_ExplicitVarSizeWithMarker_Values[q2 + 1] + | q2 : int(1..3)]), + and([q3 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q3] = 1 | q3 : int(1..4)]), + x_ExplicitVarSizeWithMarker_Marker <= 4, + and([q6 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q6]] + | q6 : int(1..4)]), + and([x_Occurrence[q7] -> + or([q9 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q9] = q7 | q9 : int(1..4)]) + | q7 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q10 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q10] < x_ExplicitVarSizeWithFlags_Values[q10 + 1] + | q10 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q11] = false -> x_ExplicitVarSizeWithFlags_Values[q11] = 1 + | q11 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q12 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q12] | q12 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q13]) | q13 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithFlags_Flags[q16] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q16]] + | q16 : int(1..4)]), + and([x_Occurrence[q17] -> + or([x_ExplicitVarSizeWithFlags_Flags[q19] /\ x_ExplicitVarSizeWithFlags_Values[q19] = q17 | q19 : int(1..4)]) + | q17 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q21] -> + or([q23 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q23] = x_ExplicitVarSizeWithFlags_Values[q21] + | q23 : int(1..4)]) + | q21 : int(1..4)]), + and([q25 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q27] /\ + x_ExplicitVarSizeWithFlags_Values[q27] = x_ExplicitVarSizeWithMarker_Values[q25] + | q27 : int(1..4)]) + | q25 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q28] < x_ExplicitVarSizeWithDummy[q28 + 1] \/ x_ExplicitVarSizeWithDummy[q28] = 5 + | q28 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q29] = 5 -> x_ExplicitVarSizeWithDummy[q29 + 1] = 5 | q29 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q30] != 5) | q30 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithDummy[q33] != 5 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q33]] | q33 : int(1..4)]), + and([x_Occurrence[q34] -> + or([x_ExplicitVarSizeWithDummy[q36] != 5 /\ x_ExplicitVarSizeWithDummy[q36] = q34 | q36 : int(1..4)]) + | q34 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q38] != 5 -> + or([q40 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q40] = x_ExplicitVarSizeWithDummy[q38] + | q40 : int(1..4)]) + | q38 : int(1..4)]), + and([q42 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q44] != 5 /\ + x_ExplicitVarSizeWithDummy[q44] = x_ExplicitVarSizeWithMarker_Values[q42] + | q44 : int(1..4)]) + | q42 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q46] != 5 -> + or([x_ExplicitVarSizeWithFlags_Flags[q48] /\ + x_ExplicitVarSizeWithFlags_Values[q48] = x_ExplicitVarSizeWithDummy[q46] + | q48 : int(1..4)]) + | q46 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q50] -> + or([x_ExplicitVarSizeWithDummy[q52] != 5 /\ + x_ExplicitVarSizeWithDummy[q52] = x_ExplicitVarSizeWithFlags_Values[q50] + | q52 : int(1..4)]) + | q50 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_1_4_1_1-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_1_4_1_1-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_1_4_1_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_1_4_1_1-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_1_4_1_1-solution000002.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_1_4_1_1-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_1_4_1_1.eprime b/tests/exhaustive/basic/set06/expected/model_1_4_1_1.eprime new file mode 100644 index 0000000000..d01150a180 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_1_4_1_1.eprime @@ -0,0 +1,22 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +branching on [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_Occurrence] +such that + x_Occurrence[1], + or([x_ExplicitVarSizeWithFlags_Flags[q13] /\ x_ExplicitVarSizeWithFlags_Values[q13] = 2 | q13 : int(1..4)]), + x_Occurrence[3], + sum([toInt(x_Occurrence[q1]) | q1 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithFlags_Flags[q2 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q2] < x_ExplicitVarSizeWithFlags_Values[q2 + 1] + | q2 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3] = false -> x_ExplicitVarSizeWithFlags_Values[q3] = 1 | q3 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q4 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q4] | q4 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q5]) | q5 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithFlags_Flags[q8] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q8]] | q8 : int(1..4)]), + and([x_Occurrence[q9] -> + or([x_ExplicitVarSizeWithFlags_Flags[q11] /\ x_ExplicitVarSizeWithFlags_Values[q11] = q9 | q11 : int(1..4)]) + | q9 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_1_4_1_2-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_1_4_1_2-solution000001.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_1_4_1_2-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_1_4_1_2-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_1_4_1_2-solution000002.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_1_4_1_2-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_1_4_1_2.eprime b/tests/exhaustive/basic/set06/expected/model_1_4_1_2.eprime new file mode 100644 index 0000000000..dd23a21391 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_1_4_1_2.eprime @@ -0,0 +1,42 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +branching on + [x_ExplicitVarSizeWithDummy, x_Occurrence, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values] +such that + x_Occurrence[1], + or([x_ExplicitVarSizeWithFlags_Flags[q30] /\ x_ExplicitVarSizeWithFlags_Values[q30] = 2 | q30 : int(1..4)]), + x_Occurrence[3], + sum([toInt(x_Occurrence[q1]) | q1 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithFlags_Flags[q2 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q2] < x_ExplicitVarSizeWithFlags_Values[q2 + 1] + | q2 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3] = false -> x_ExplicitVarSizeWithFlags_Values[q3] = 1 | q3 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q4 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q4] | q4 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q5]) | q5 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithFlags_Flags[q8] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q8]] | q8 : int(1..4)]), + and([x_Occurrence[q9] -> + or([x_ExplicitVarSizeWithFlags_Flags[q11] /\ x_ExplicitVarSizeWithFlags_Values[q11] = q9 | q11 : int(1..4)]) + | q9 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q12] < x_ExplicitVarSizeWithDummy[q12 + 1] \/ x_ExplicitVarSizeWithDummy[q12] = 5 + | q12 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q13] = 5 -> x_ExplicitVarSizeWithDummy[q13 + 1] = 5 | q13 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q14] != 5) | q14 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithDummy[q17] != 5 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q17]] | q17 : int(1..4)]), + and([x_Occurrence[q18] -> + or([x_ExplicitVarSizeWithDummy[q20] != 5 /\ x_ExplicitVarSizeWithDummy[q20] = q18 | q20 : int(1..4)]) + | q18 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q22] != 5 -> + or([x_ExplicitVarSizeWithFlags_Flags[q24] /\ + x_ExplicitVarSizeWithFlags_Values[q24] = x_ExplicitVarSizeWithDummy[q22] + | q24 : int(1..4)]) + | q22 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q26] -> + or([x_ExplicitVarSizeWithDummy[q28] != 5 /\ + x_ExplicitVarSizeWithDummy[q28] = x_ExplicitVarSizeWithFlags_Values[q26] + | q28 : int(1..4)]) + | q26 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_1_4_1_3-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_1_4_1_3-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_1_4_1_3-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_1_4_1_3-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_1_4_1_3-solution000002.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_1_4_1_3-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_1_4_1_3.eprime b/tests/exhaustive/basic/set06/expected/model_1_4_1_3.eprime new file mode 100644 index 0000000000..a6b5c001d1 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_1_4_1_3.eprime @@ -0,0 +1,47 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_Occurrence, + x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values] +such that + x_Occurrence[1], + or([x_ExplicitVarSizeWithFlags_Flags[q29] /\ x_ExplicitVarSizeWithFlags_Values[q29] = 2 | q29 : int(1..4)]), + x_Occurrence[3], + sum([toInt(x_Occurrence[q1]) | q1 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithFlags_Flags[q2 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q2] < x_ExplicitVarSizeWithFlags_Values[q2 + 1] + | q2 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3] = false -> x_ExplicitVarSizeWithFlags_Values[q3] = 1 | q3 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q4 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q4] | q4 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q5]) | q5 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithFlags_Flags[q8] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q8]] | q8 : int(1..4)]), + and([x_Occurrence[q9] -> + or([x_ExplicitVarSizeWithFlags_Flags[q11] /\ x_ExplicitVarSizeWithFlags_Values[q11] = q9 | q11 : int(1..4)]) + | q9 : int(1..4)]), + and([q12 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q12] < x_ExplicitVarSizeWithMarker_Values[q12 + 1] + | q12 : int(1..3)]), + and([q13 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q13] = 1 | q13 : int(1..4)]), + x_ExplicitVarSizeWithMarker_Marker <= 4, + and([q16 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q16]] + | q16 : int(1..4)]), + and([x_Occurrence[q17] -> + or([q19 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q19] = q17 + | q19 : int(1..4)]) + | q17 : int(1..4)]), + and([q21 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q23] /\ + x_ExplicitVarSizeWithFlags_Values[q23] = x_ExplicitVarSizeWithMarker_Values[q21] + | q23 : int(1..4)]) + | q21 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q25] -> + or([q27 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q27] = x_ExplicitVarSizeWithFlags_Values[q25] + | q27 : int(1..4)]) + | q25 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_1_4_2_1-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_1_4_2_1-solution000001.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_1_4_2_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_1_4_2_1-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_1_4_2_1-solution000002.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_1_4_2_1-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_1_4_2_1.eprime b/tests/exhaustive/basic/set06/expected/model_1_4_2_1.eprime new file mode 100644 index 0000000000..551631d48b --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_1_4_2_1.eprime @@ -0,0 +1,42 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +branching on + [x_ExplicitVarSizeWithDummy, x_Occurrence, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values] +such that + x_Occurrence[1], + or([x_ExplicitVarSizeWithFlags_Flags[q30] /\ x_ExplicitVarSizeWithFlags_Values[q30] = 2 | q30 : int(1..4)]), + or([x_ExplicitVarSizeWithDummy[q32] != 5 /\ x_ExplicitVarSizeWithDummy[q32] = 3 | q32 : int(1..4)]), + sum([toInt(x_Occurrence[q1]) | q1 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithFlags_Flags[q2 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q2] < x_ExplicitVarSizeWithFlags_Values[q2 + 1] + | q2 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3] = false -> x_ExplicitVarSizeWithFlags_Values[q3] = 1 | q3 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q4 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q4] | q4 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q5]) | q5 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithFlags_Flags[q8] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q8]] | q8 : int(1..4)]), + and([x_Occurrence[q9] -> + or([x_ExplicitVarSizeWithFlags_Flags[q11] /\ x_ExplicitVarSizeWithFlags_Values[q11] = q9 | q11 : int(1..4)]) + | q9 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q12] < x_ExplicitVarSizeWithDummy[q12 + 1] \/ x_ExplicitVarSizeWithDummy[q12] = 5 + | q12 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q13] = 5 -> x_ExplicitVarSizeWithDummy[q13 + 1] = 5 | q13 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q14] != 5) | q14 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithDummy[q17] != 5 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q17]] | q17 : int(1..4)]), + and([x_Occurrence[q18] -> + or([x_ExplicitVarSizeWithDummy[q20] != 5 /\ x_ExplicitVarSizeWithDummy[q20] = q18 | q20 : int(1..4)]) + | q18 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q22] != 5 -> + or([x_ExplicitVarSizeWithFlags_Flags[q24] /\ + x_ExplicitVarSizeWithFlags_Values[q24] = x_ExplicitVarSizeWithDummy[q22] + | q24 : int(1..4)]) + | q22 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q26] -> + or([x_ExplicitVarSizeWithDummy[q28] != 5 /\ + x_ExplicitVarSizeWithDummy[q28] = x_ExplicitVarSizeWithFlags_Values[q26] + | q28 : int(1..4)]) + | q26 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_1_4_2_3-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_1_4_2_3-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_1_4_2_3-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_1_4_2_3-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_1_4_2_3-solution000002.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_1_4_2_3-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_1_4_2_3.eprime b/tests/exhaustive/basic/set06/expected/model_1_4_2_3.eprime new file mode 100644 index 0000000000..380d82c5c6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_1_4_2_3.eprime @@ -0,0 +1,76 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_Occurrence, + x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_ExplicitVarSizeWithDummy] +such that + x_Occurrence[1], + or([x_ExplicitVarSizeWithFlags_Flags[q54] /\ x_ExplicitVarSizeWithFlags_Values[q54] = 2 | q54 : int(1..4)]), + or([x_ExplicitVarSizeWithDummy[q56] != 5 /\ x_ExplicitVarSizeWithDummy[q56] = 3 | q56 : int(1..4)]), + sum([toInt(x_Occurrence[q1]) | q1 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithFlags_Flags[q2 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q2] < x_ExplicitVarSizeWithFlags_Values[q2 + 1] + | q2 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3] = false -> x_ExplicitVarSizeWithFlags_Values[q3] = 1 | q3 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q4 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q4] | q4 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q5]) | q5 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithFlags_Flags[q8] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q8]] | q8 : int(1..4)]), + and([x_Occurrence[q9] -> + or([x_ExplicitVarSizeWithFlags_Flags[q11] /\ x_ExplicitVarSizeWithFlags_Values[q11] = q9 | q11 : int(1..4)]) + | q9 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q12] < x_ExplicitVarSizeWithDummy[q12 + 1] \/ x_ExplicitVarSizeWithDummy[q12] = 5 + | q12 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q13] = 5 -> x_ExplicitVarSizeWithDummy[q13 + 1] = 5 | q13 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q14] != 5) | q14 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithDummy[q17] != 5 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q17]] | q17 : int(1..4)]), + and([x_Occurrence[q18] -> + or([x_ExplicitVarSizeWithDummy[q20] != 5 /\ x_ExplicitVarSizeWithDummy[q20] = q18 | q20 : int(1..4)]) + | q18 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q22] != 5 -> + or([x_ExplicitVarSizeWithFlags_Flags[q24] /\ + x_ExplicitVarSizeWithFlags_Values[q24] = x_ExplicitVarSizeWithDummy[q22] + | q24 : int(1..4)]) + | q22 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q26] -> + or([x_ExplicitVarSizeWithDummy[q28] != 5 /\ + x_ExplicitVarSizeWithDummy[q28] = x_ExplicitVarSizeWithFlags_Values[q26] + | q28 : int(1..4)]) + | q26 : int(1..4)]), + and([q29 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q29] < x_ExplicitVarSizeWithMarker_Values[q29 + 1] + | q29 : int(1..3)]), + and([q30 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q30] = 1 | q30 : int(1..4)]), + x_ExplicitVarSizeWithMarker_Marker <= 4, + and([q33 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q33]] + | q33 : int(1..4)]), + and([x_Occurrence[q34] -> + or([q36 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q36] = q34 + | q36 : int(1..4)]) + | q34 : int(1..4)]), + and([q38 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q40] /\ + x_ExplicitVarSizeWithFlags_Values[q40] = x_ExplicitVarSizeWithMarker_Values[q38] + | q40 : int(1..4)]) + | q38 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q42] -> + or([q44 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q44] = x_ExplicitVarSizeWithFlags_Values[q42] + | q44 : int(1..4)]) + | q42 : int(1..4)]), + and([q46 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q48] != 5 /\ + x_ExplicitVarSizeWithDummy[q48] = x_ExplicitVarSizeWithMarker_Values[q46] + | q48 : int(1..4)]) + | q46 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q50] != 5 -> + or([q52 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q52] = x_ExplicitVarSizeWithDummy[q50] + | q52 : int(1..4)]) + | q50 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_1_4_3_1-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_1_4_3_1-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_1_4_3_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_1_4_3_1-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_1_4_3_1-solution000002.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_1_4_3_1-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_1_4_3_1.eprime b/tests/exhaustive/basic/set06/expected/model_1_4_3_1.eprime new file mode 100644 index 0000000000..f88dbdf42f --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_1_4_3_1.eprime @@ -0,0 +1,47 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_Occurrence, + x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values] +such that + x_Occurrence[1], + or([x_ExplicitVarSizeWithFlags_Flags[q29] /\ x_ExplicitVarSizeWithFlags_Values[q29] = 2 | q29 : int(1..4)]), + or([q31 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q31] = 3 | q31 : int(1..4)]), + sum([toInt(x_Occurrence[q1]) | q1 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithFlags_Flags[q2 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q2] < x_ExplicitVarSizeWithFlags_Values[q2 + 1] + | q2 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3] = false -> x_ExplicitVarSizeWithFlags_Values[q3] = 1 | q3 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q4 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q4] | q4 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q5]) | q5 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithFlags_Flags[q8] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q8]] | q8 : int(1..4)]), + and([x_Occurrence[q9] -> + or([x_ExplicitVarSizeWithFlags_Flags[q11] /\ x_ExplicitVarSizeWithFlags_Values[q11] = q9 | q11 : int(1..4)]) + | q9 : int(1..4)]), + and([q12 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q12] < x_ExplicitVarSizeWithMarker_Values[q12 + 1] + | q12 : int(1..3)]), + and([q13 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q13] = 1 | q13 : int(1..4)]), + x_ExplicitVarSizeWithMarker_Marker <= 4, + and([q16 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q16]] + | q16 : int(1..4)]), + and([x_Occurrence[q17] -> + or([q19 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q19] = q17 + | q19 : int(1..4)]) + | q17 : int(1..4)]), + and([q21 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q23] /\ + x_ExplicitVarSizeWithFlags_Values[q23] = x_ExplicitVarSizeWithMarker_Values[q21] + | q23 : int(1..4)]) + | q21 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q25] -> + or([q27 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q27] = x_ExplicitVarSizeWithFlags_Values[q25] + | q27 : int(1..4)]) + | q25 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_1_4_3_2-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_1_4_3_2-solution000001.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_1_4_3_2-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_1_4_3_2-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_1_4_3_2-solution000002.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_1_4_3_2-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_1_4_3_2.eprime b/tests/exhaustive/basic/set06/expected/model_1_4_3_2.eprime new file mode 100644 index 0000000000..708901a3dd --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_1_4_3_2.eprime @@ -0,0 +1,76 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +branching on + [x_ExplicitVarSizeWithDummy, x_Occurrence, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, + x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values] +such that + x_Occurrence[1], + or([x_ExplicitVarSizeWithFlags_Flags[q54] /\ x_ExplicitVarSizeWithFlags_Values[q54] = 2 | q54 : int(1..4)]), + or([q56 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q56] = 3 | q56 : int(1..4)]), + sum([toInt(x_Occurrence[q1]) | q1 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithFlags_Flags[q2 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q2] < x_ExplicitVarSizeWithFlags_Values[q2 + 1] + | q2 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3] = false -> x_ExplicitVarSizeWithFlags_Values[q3] = 1 | q3 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q4 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q4] | q4 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q5]) | q5 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithFlags_Flags[q8] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q8]] | q8 : int(1..4)]), + and([x_Occurrence[q9] -> + or([x_ExplicitVarSizeWithFlags_Flags[q11] /\ x_ExplicitVarSizeWithFlags_Values[q11] = q9 | q11 : int(1..4)]) + | q9 : int(1..4)]), + and([q12 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q12] < x_ExplicitVarSizeWithMarker_Values[q12 + 1] + | q12 : int(1..3)]), + and([q13 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q13] = 1 | q13 : int(1..4)]), + x_ExplicitVarSizeWithMarker_Marker <= 4, + and([q16 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q16]] + | q16 : int(1..4)]), + and([x_Occurrence[q17] -> + or([q19 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q19] = q17 + | q19 : int(1..4)]) + | q17 : int(1..4)]), + and([q21 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q23] /\ + x_ExplicitVarSizeWithFlags_Values[q23] = x_ExplicitVarSizeWithMarker_Values[q21] + | q23 : int(1..4)]) + | q21 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q25] -> + or([q27 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q27] = x_ExplicitVarSizeWithFlags_Values[q25] + | q27 : int(1..4)]) + | q25 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q28] < x_ExplicitVarSizeWithDummy[q28 + 1] \/ x_ExplicitVarSizeWithDummy[q28] = 5 + | q28 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q29] = 5 -> x_ExplicitVarSizeWithDummy[q29 + 1] = 5 | q29 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q30] != 5) | q30 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithDummy[q33] != 5 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q33]] | q33 : int(1..4)]), + and([x_Occurrence[q34] -> + or([x_ExplicitVarSizeWithDummy[q36] != 5 /\ x_ExplicitVarSizeWithDummy[q36] = q34 | q36 : int(1..4)]) + | q34 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q38] != 5 -> + or([x_ExplicitVarSizeWithFlags_Flags[q40] /\ + x_ExplicitVarSizeWithFlags_Values[q40] = x_ExplicitVarSizeWithDummy[q38] + | q40 : int(1..4)]) + | q38 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q42] -> + or([x_ExplicitVarSizeWithDummy[q44] != 5 /\ + x_ExplicitVarSizeWithDummy[q44] = x_ExplicitVarSizeWithFlags_Values[q42] + | q44 : int(1..4)]) + | q42 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q46] != 5 -> + or([q48 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q48] = x_ExplicitVarSizeWithDummy[q46] + | q48 : int(1..4)]) + | q46 : int(1..4)]), + and([q50 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q52] != 5 /\ + x_ExplicitVarSizeWithDummy[q52] = x_ExplicitVarSizeWithMarker_Values[q50] + | q52 : int(1..4)]) + | q50 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_1_4_4_1-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_1_4_4_1-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_1_4_4_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_1_4_4_1-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_1_4_4_1-solution000002.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_1_4_4_1-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_1_4_4_1.eprime b/tests/exhaustive/basic/set06/expected/model_1_4_4_1.eprime new file mode 100644 index 0000000000..3ed6afb03d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_1_4_4_1.eprime @@ -0,0 +1,22 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +branching on [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_Occurrence] +such that + x_Occurrence[1], + or([x_ExplicitVarSizeWithFlags_Flags[q13] /\ x_ExplicitVarSizeWithFlags_Values[q13] = 2 | q13 : int(1..4)]), + or([x_ExplicitVarSizeWithFlags_Flags[q15] /\ x_ExplicitVarSizeWithFlags_Values[q15] = 3 | q15 : int(1..4)]), + sum([toInt(x_Occurrence[q1]) | q1 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithFlags_Flags[q2 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q2] < x_ExplicitVarSizeWithFlags_Values[q2 + 1] + | q2 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3] = false -> x_ExplicitVarSizeWithFlags_Values[q3] = 1 | q3 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q4 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q4] | q4 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q5]) | q5 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithFlags_Flags[q8] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q8]] | q8 : int(1..4)]), + and([x_Occurrence[q9] -> + or([x_ExplicitVarSizeWithFlags_Flags[q11] /\ x_ExplicitVarSizeWithFlags_Values[q11] = q9 | q11 : int(1..4)]) + | q9 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_1_4_4_2-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_1_4_4_2-solution000001.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_1_4_4_2-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_1_4_4_2-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_1_4_4_2-solution000002.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_1_4_4_2-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_1_4_4_2.eprime b/tests/exhaustive/basic/set06/expected/model_1_4_4_2.eprime new file mode 100644 index 0000000000..a5be74d4e9 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_1_4_4_2.eprime @@ -0,0 +1,42 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +branching on + [x_ExplicitVarSizeWithDummy, x_Occurrence, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values] +such that + x_Occurrence[1], + or([x_ExplicitVarSizeWithFlags_Flags[q30] /\ x_ExplicitVarSizeWithFlags_Values[q30] = 2 | q30 : int(1..4)]), + or([x_ExplicitVarSizeWithFlags_Flags[q32] /\ x_ExplicitVarSizeWithFlags_Values[q32] = 3 | q32 : int(1..4)]), + sum([toInt(x_Occurrence[q1]) | q1 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithFlags_Flags[q2 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q2] < x_ExplicitVarSizeWithFlags_Values[q2 + 1] + | q2 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3] = false -> x_ExplicitVarSizeWithFlags_Values[q3] = 1 | q3 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q4 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q4] | q4 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q5]) | q5 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithFlags_Flags[q8] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q8]] | q8 : int(1..4)]), + and([x_Occurrence[q9] -> + or([x_ExplicitVarSizeWithFlags_Flags[q11] /\ x_ExplicitVarSizeWithFlags_Values[q11] = q9 | q11 : int(1..4)]) + | q9 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q12] < x_ExplicitVarSizeWithDummy[q12 + 1] \/ x_ExplicitVarSizeWithDummy[q12] = 5 + | q12 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q13] = 5 -> x_ExplicitVarSizeWithDummy[q13 + 1] = 5 | q13 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q14] != 5) | q14 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithDummy[q17] != 5 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q17]] | q17 : int(1..4)]), + and([x_Occurrence[q18] -> + or([x_ExplicitVarSizeWithDummy[q20] != 5 /\ x_ExplicitVarSizeWithDummy[q20] = q18 | q20 : int(1..4)]) + | q18 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q22] != 5 -> + or([x_ExplicitVarSizeWithFlags_Flags[q24] /\ + x_ExplicitVarSizeWithFlags_Values[q24] = x_ExplicitVarSizeWithDummy[q22] + | q24 : int(1..4)]) + | q22 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q26] -> + or([x_ExplicitVarSizeWithDummy[q28] != 5 /\ + x_ExplicitVarSizeWithDummy[q28] = x_ExplicitVarSizeWithFlags_Values[q26] + | q28 : int(1..4)]) + | q26 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_1_4_4_3-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_1_4_4_3-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_1_4_4_3-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_1_4_4_3-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_1_4_4_3-solution000002.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_1_4_4_3-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_1_4_4_3.eprime b/tests/exhaustive/basic/set06/expected/model_1_4_4_3.eprime new file mode 100644 index 0000000000..8cdcc8bdaa --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_1_4_4_3.eprime @@ -0,0 +1,47 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_Occurrence, + x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values] +such that + x_Occurrence[1], + or([x_ExplicitVarSizeWithFlags_Flags[q29] /\ x_ExplicitVarSizeWithFlags_Values[q29] = 2 | q29 : int(1..4)]), + or([x_ExplicitVarSizeWithFlags_Flags[q31] /\ x_ExplicitVarSizeWithFlags_Values[q31] = 3 | q31 : int(1..4)]), + sum([toInt(x_Occurrence[q1]) | q1 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithFlags_Flags[q2 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q2] < x_ExplicitVarSizeWithFlags_Values[q2 + 1] + | q2 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3] = false -> x_ExplicitVarSizeWithFlags_Values[q3] = 1 | q3 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q4 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q4] | q4 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q5]) | q5 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithFlags_Flags[q8] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q8]] | q8 : int(1..4)]), + and([x_Occurrence[q9] -> + or([x_ExplicitVarSizeWithFlags_Flags[q11] /\ x_ExplicitVarSizeWithFlags_Values[q11] = q9 | q11 : int(1..4)]) + | q9 : int(1..4)]), + and([q12 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q12] < x_ExplicitVarSizeWithMarker_Values[q12 + 1] + | q12 : int(1..3)]), + and([q13 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q13] = 1 | q13 : int(1..4)]), + x_ExplicitVarSizeWithMarker_Marker <= 4, + and([q16 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q16]] + | q16 : int(1..4)]), + and([x_Occurrence[q17] -> + or([q19 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q19] = q17 + | q19 : int(1..4)]) + | q17 : int(1..4)]), + and([q21 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q23] /\ + x_ExplicitVarSizeWithFlags_Values[q23] = x_ExplicitVarSizeWithMarker_Values[q21] + | q23 : int(1..4)]) + | q21 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q25] -> + or([q27 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q27] = x_ExplicitVarSizeWithFlags_Values[q25] + | q27 : int(1..4)]) + | q25 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_2_1_1_1-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_2_1_1_1-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_2_1_1_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_2_1_1_1-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_2_1_1_1-solution000002.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_2_1_1_1-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_2_1_1_1.eprime b/tests/exhaustive/basic/set06/expected/model_2_1_1_1.eprime new file mode 100644 index 0000000000..1f68a56e57 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_2_1_1_1.eprime @@ -0,0 +1,19 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +find x_Occurrence: matrix indexed by [int(1..4)] of bool +branching on [x_Occurrence, x_ExplicitVarSizeWithDummy] +such that + or([x_ExplicitVarSizeWithDummy[q12] != 5 /\ x_ExplicitVarSizeWithDummy[q12] = 1 | q12 : int(1..4)]), + x_Occurrence[2], + x_Occurrence[3], + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 5 + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q2] = 5 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 5 | q2 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q3] != 5) | q3 : int(1..4)]) <= 4, + sum([toInt(x_Occurrence[q5]) | q5 : int(1..4)]) <= 4, + and([x_Occurrence[q6] -> + or([x_ExplicitVarSizeWithDummy[q8] != 5 /\ x_ExplicitVarSizeWithDummy[q8] = q6 | q8 : int(1..4)]) + | q6 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q10] != 5 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q10]] | q10 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_2_1_1_3-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_2_1_1_3-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_2_1_1_3-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_2_1_1_3-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_2_1_1_3-solution000002.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_2_1_1_3-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_2_1_1_3.eprime b/tests/exhaustive/basic/set06/expected/model_2_1_1_3.eprime new file mode 100644 index 0000000000..7a02ca5f86 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_2_1_1_3.eprime @@ -0,0 +1,43 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +find x_Occurrence: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_ExplicitVarSizeWithDummy, x_Occurrence] +such that + or([x_ExplicitVarSizeWithDummy[q28] != 5 /\ x_ExplicitVarSizeWithDummy[q28] = 1 | q28 : int(1..4)]), + x_Occurrence[2], + x_Occurrence[3], + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 5 + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q2] = 5 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 5 | q2 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q3] != 5) | q3 : int(1..4)]) <= 4, + sum([toInt(x_Occurrence[q5]) | q5 : int(1..4)]) <= 4, + and([x_Occurrence[q22] -> + or([x_ExplicitVarSizeWithDummy[q24] != 5 /\ x_ExplicitVarSizeWithDummy[q24] = q22 | q24 : int(1..4)]) + | q22 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q26] != 5 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q26]] | q26 : int(1..4)]), + and([q6 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q6] < x_ExplicitVarSizeWithMarker_Values[q6 + 1] + | q6 : int(1..3)]), + and([q7 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q7] = 1 | q7 : int(1..4)]), + x_ExplicitVarSizeWithMarker_Marker <= 4, + and([q10 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q12] != 5 /\ + x_ExplicitVarSizeWithDummy[q12] = x_ExplicitVarSizeWithMarker_Values[q10] + | q12 : int(1..4)]) + | q10 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q14] != 5 -> + or([q16 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q16] = x_ExplicitVarSizeWithDummy[q14] + | q16 : int(1..4)]) + | q14 : int(1..4)]), + and([q18 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q18]] + | q18 : int(1..4)]), + and([x_Occurrence[q19] -> + or([q21 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q21] = q19 + | q21 : int(1..4)]) + | q19 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_2_1_1_4-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_2_1_1_4-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_2_1_1_4-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_2_1_1_4-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_2_1_1_4-solution000002.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_2_1_1_4-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_2_1_1_4.eprime b/tests/exhaustive/basic/set06/expected/model_2_1_1_4.eprime new file mode 100644 index 0000000000..e966231466 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_2_1_1_4.eprime @@ -0,0 +1,43 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +find x_Occurrence: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_ExplicitVarSizeWithDummy, x_Occurrence] +such that + or([x_ExplicitVarSizeWithDummy[q30] != 5 /\ x_ExplicitVarSizeWithDummy[q30] = 1 | q30 : int(1..4)]), + x_Occurrence[2], + x_Occurrence[3], + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 5 + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q2] = 5 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 5 | q2 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q3] != 5) | q3 : int(1..4)]) <= 4, + sum([toInt(x_Occurrence[q5]) | q5 : int(1..4)]) <= 4, + and([x_Occurrence[q24] -> + or([x_ExplicitVarSizeWithDummy[q26] != 5 /\ x_ExplicitVarSizeWithDummy[q26] = q24 | q26 : int(1..4)]) + | q24 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q28] != 5 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q28]] | q28 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q6 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q6] < x_ExplicitVarSizeWithFlags_Values[q6 + 1] + | q6 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q7] = false -> x_ExplicitVarSizeWithFlags_Values[q7] = 1 | q7 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q8 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q8] | q8 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q9]) | q9 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithFlags_Flags[q12] -> + or([x_ExplicitVarSizeWithDummy[q14] != 5 /\ + x_ExplicitVarSizeWithDummy[q14] = x_ExplicitVarSizeWithFlags_Values[q12] + | q14 : int(1..4)]) + | q12 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q16] != 5 -> + or([x_ExplicitVarSizeWithFlags_Flags[q18] /\ + x_ExplicitVarSizeWithFlags_Values[q18] = x_ExplicitVarSizeWithDummy[q16] + | q18 : int(1..4)]) + | q16 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q20] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q20]] + | q20 : int(1..4)]), + and([x_Occurrence[q21] -> + or([x_ExplicitVarSizeWithFlags_Flags[q23] /\ x_ExplicitVarSizeWithFlags_Values[q23] = q21 | q23 : int(1..4)]) + | q21 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_2_1_2_1-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_2_1_2_1-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_2_1_2_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_2_1_2_1-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_2_1_2_1-solution000002.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_2_1_2_1-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_2_1_2_1.eprime b/tests/exhaustive/basic/set06/expected/model_2_1_2_1.eprime new file mode 100644 index 0000000000..9cfdfdc9c0 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_2_1_2_1.eprime @@ -0,0 +1,19 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +find x_Occurrence: matrix indexed by [int(1..4)] of bool +branching on [x_Occurrence, x_ExplicitVarSizeWithDummy] +such that + or([x_ExplicitVarSizeWithDummy[q14] != 5 /\ x_ExplicitVarSizeWithDummy[q14] = 1 | q14 : int(1..4)]), + x_Occurrence[2], + or([x_ExplicitVarSizeWithDummy[q12] != 5 /\ x_ExplicitVarSizeWithDummy[q12] = 3 | q12 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 5 + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q2] = 5 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 5 | q2 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q3] != 5) | q3 : int(1..4)]) <= 4, + sum([toInt(x_Occurrence[q5]) | q5 : int(1..4)]) <= 4, + and([x_Occurrence[q6] -> + or([x_ExplicitVarSizeWithDummy[q8] != 5 /\ x_ExplicitVarSizeWithDummy[q8] = q6 | q8 : int(1..4)]) + | q6 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q10] != 5 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q10]] | q10 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_2_1_2_3-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_2_1_2_3-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_2_1_2_3-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_2_1_2_3-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_2_1_2_3-solution000002.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_2_1_2_3-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_2_1_2_3.eprime b/tests/exhaustive/basic/set06/expected/model_2_1_2_3.eprime new file mode 100644 index 0000000000..2fe1df7714 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_2_1_2_3.eprime @@ -0,0 +1,43 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +find x_Occurrence: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_ExplicitVarSizeWithDummy, x_Occurrence] +such that + or([x_ExplicitVarSizeWithDummy[q30] != 5 /\ x_ExplicitVarSizeWithDummy[q30] = 1 | q30 : int(1..4)]), + x_Occurrence[2], + or([x_ExplicitVarSizeWithDummy[q28] != 5 /\ x_ExplicitVarSizeWithDummy[q28] = 3 | q28 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 5 + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q2] = 5 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 5 | q2 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q3] != 5) | q3 : int(1..4)]) <= 4, + sum([toInt(x_Occurrence[q5]) | q5 : int(1..4)]) <= 4, + and([x_Occurrence[q22] -> + or([x_ExplicitVarSizeWithDummy[q24] != 5 /\ x_ExplicitVarSizeWithDummy[q24] = q22 | q24 : int(1..4)]) + | q22 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q26] != 5 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q26]] | q26 : int(1..4)]), + and([q6 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q6] < x_ExplicitVarSizeWithMarker_Values[q6 + 1] + | q6 : int(1..3)]), + and([q7 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q7] = 1 | q7 : int(1..4)]), + x_ExplicitVarSizeWithMarker_Marker <= 4, + and([q10 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q12] != 5 /\ + x_ExplicitVarSizeWithDummy[q12] = x_ExplicitVarSizeWithMarker_Values[q10] + | q12 : int(1..4)]) + | q10 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q14] != 5 -> + or([q16 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q16] = x_ExplicitVarSizeWithDummy[q14] + | q16 : int(1..4)]) + | q14 : int(1..4)]), + and([q18 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q18]] + | q18 : int(1..4)]), + and([x_Occurrence[q19] -> + or([q21 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q21] = q19 + | q21 : int(1..4)]) + | q19 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_2_1_2_4-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_2_1_2_4-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_2_1_2_4-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_2_1_2_4-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_2_1_2_4-solution000002.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_2_1_2_4-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_2_1_2_4.eprime b/tests/exhaustive/basic/set06/expected/model_2_1_2_4.eprime new file mode 100644 index 0000000000..36aec49af7 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_2_1_2_4.eprime @@ -0,0 +1,43 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +find x_Occurrence: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_ExplicitVarSizeWithDummy, x_Occurrence] +such that + or([x_ExplicitVarSizeWithDummy[q32] != 5 /\ x_ExplicitVarSizeWithDummy[q32] = 1 | q32 : int(1..4)]), + x_Occurrence[2], + or([x_ExplicitVarSizeWithDummy[q25] != 5 /\ x_ExplicitVarSizeWithDummy[q25] = 3 | q25 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 5 + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q2] = 5 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 5 | q2 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q3] != 5) | q3 : int(1..4)]) <= 4, + sum([toInt(x_Occurrence[q5]) | q5 : int(1..4)]) <= 4, + and([x_Occurrence[q26] -> + or([x_ExplicitVarSizeWithDummy[q28] != 5 /\ x_ExplicitVarSizeWithDummy[q28] = q26 | q28 : int(1..4)]) + | q26 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q30] != 5 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q30]] | q30 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q6 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q6] < x_ExplicitVarSizeWithFlags_Values[q6 + 1] + | q6 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q7] = false -> x_ExplicitVarSizeWithFlags_Values[q7] = 1 | q7 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q8 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q8] | q8 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q9]) | q9 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithFlags_Flags[q12] -> + or([x_ExplicitVarSizeWithDummy[q14] != 5 /\ + x_ExplicitVarSizeWithDummy[q14] = x_ExplicitVarSizeWithFlags_Values[q12] + | q14 : int(1..4)]) + | q12 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q16] != 5 -> + or([x_ExplicitVarSizeWithFlags_Flags[q18] /\ + x_ExplicitVarSizeWithFlags_Values[q18] = x_ExplicitVarSizeWithDummy[q16] + | q18 : int(1..4)]) + | q16 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q20] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q20]] + | q20 : int(1..4)]), + and([x_Occurrence[q21] -> + or([x_ExplicitVarSizeWithFlags_Flags[q23] /\ x_ExplicitVarSizeWithFlags_Values[q23] = q21 | q23 : int(1..4)]) + | q21 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_2_1_3_1-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_2_1_3_1-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_2_1_3_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_2_1_3_1-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_2_1_3_1-solution000002.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_2_1_3_1-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_2_1_3_1.eprime b/tests/exhaustive/basic/set06/expected/model_2_1_3_1.eprime new file mode 100644 index 0000000000..1efc26667b --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_2_1_3_1.eprime @@ -0,0 +1,43 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +find x_Occurrence: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_ExplicitVarSizeWithDummy, x_Occurrence] +such that + or([x_ExplicitVarSizeWithDummy[q30] != 5 /\ x_ExplicitVarSizeWithDummy[q30] = 1 | q30 : int(1..4)]), + x_Occurrence[2], + or([q28 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q28] = 3 | q28 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 5 + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q2] = 5 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 5 | q2 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q3] != 5) | q3 : int(1..4)]) <= 4, + sum([toInt(x_Occurrence[q5]) | q5 : int(1..4)]) <= 4, + and([x_Occurrence[q22] -> + or([x_ExplicitVarSizeWithDummy[q24] != 5 /\ x_ExplicitVarSizeWithDummy[q24] = q22 | q24 : int(1..4)]) + | q22 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q26] != 5 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q26]] | q26 : int(1..4)]), + and([q6 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q6] < x_ExplicitVarSizeWithMarker_Values[q6 + 1] + | q6 : int(1..3)]), + and([q7 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q7] = 1 | q7 : int(1..4)]), + x_ExplicitVarSizeWithMarker_Marker <= 4, + and([q10 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q12] != 5 /\ + x_ExplicitVarSizeWithDummy[q12] = x_ExplicitVarSizeWithMarker_Values[q10] + | q12 : int(1..4)]) + | q10 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q14] != 5 -> + or([q16 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q16] = x_ExplicitVarSizeWithDummy[q14] + | q16 : int(1..4)]) + | q14 : int(1..4)]), + and([q18 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q18]] + | q18 : int(1..4)]), + and([x_Occurrence[q19] -> + or([q21 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q21] = q19 + | q21 : int(1..4)]) + | q19 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_2_1_3_4-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_2_1_3_4-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_2_1_3_4-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_2_1_3_4-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_2_1_3_4-solution000002.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_2_1_3_4-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_2_1_3_4.eprime b/tests/exhaustive/basic/set06/expected/model_2_1_3_4.eprime new file mode 100644 index 0000000000..ced251790b --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_2_1_3_4.eprime @@ -0,0 +1,78 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +find x_Occurrence: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_ExplicitVarSizeWithDummy, x_Occurrence, + x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values] +such that + or([x_ExplicitVarSizeWithDummy[q56] != 5 /\ x_ExplicitVarSizeWithDummy[q56] = 1 | q56 : int(1..4)]), + x_Occurrence[2], + or([q49 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q49] = 3 | q49 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 5 + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q2] = 5 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 5 | q2 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q3] != 5) | q3 : int(1..4)]) <= 4, + sum([toInt(x_Occurrence[q5]) | q5 : int(1..4)]) <= 4, + and([x_Occurrence[q50] -> + or([x_ExplicitVarSizeWithDummy[q52] != 5 /\ x_ExplicitVarSizeWithDummy[q52] = q50 | q52 : int(1..4)]) + | q50 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q54] != 5 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q54]] | q54 : int(1..4)]), + and([q6 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q6] < x_ExplicitVarSizeWithMarker_Values[q6 + 1] + | q6 : int(1..3)]), + and([q7 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q7] = 1 | q7 : int(1..4)]), + x_ExplicitVarSizeWithMarker_Marker <= 4, + and([q10 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q12] != 5 /\ + x_ExplicitVarSizeWithDummy[q12] = x_ExplicitVarSizeWithMarker_Values[q10] + | q12 : int(1..4)]) + | q10 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q14] != 5 -> + or([q16 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q16] = x_ExplicitVarSizeWithDummy[q14] + | q16 : int(1..4)]) + | q14 : int(1..4)]), + and([q18 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q18]] + | q18 : int(1..4)]), + and([x_Occurrence[q19] -> + or([q21 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q21] = q19 + | q21 : int(1..4)]) + | q19 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q22 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q22] < x_ExplicitVarSizeWithFlags_Values[q22 + 1] + | q22 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q23] = false -> x_ExplicitVarSizeWithFlags_Values[q23] = 1 + | q23 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q24 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q24] | q24 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q25]) | q25 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithFlags_Flags[q28] -> + or([x_ExplicitVarSizeWithDummy[q30] != 5 /\ + x_ExplicitVarSizeWithDummy[q30] = x_ExplicitVarSizeWithFlags_Values[q28] + | q30 : int(1..4)]) + | q28 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q32] != 5 -> + or([x_ExplicitVarSizeWithFlags_Flags[q34] /\ + x_ExplicitVarSizeWithFlags_Values[q34] = x_ExplicitVarSizeWithDummy[q32] + | q34 : int(1..4)]) + | q32 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q36] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q36]] + | q36 : int(1..4)]), + and([x_Occurrence[q37] -> + or([x_ExplicitVarSizeWithFlags_Flags[q39] /\ x_ExplicitVarSizeWithFlags_Values[q39] = q37 | q39 : int(1..4)]) + | q37 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q41] -> + or([q43 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q43] = x_ExplicitVarSizeWithFlags_Values[q41] + | q43 : int(1..4)]) + | q41 : int(1..4)]), + and([q45 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q47] /\ + x_ExplicitVarSizeWithFlags_Values[q47] = x_ExplicitVarSizeWithMarker_Values[q45] + | q47 : int(1..4)]) + | q45 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_2_1_4_1-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_2_1_4_1-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_2_1_4_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_2_1_4_1-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_2_1_4_1-solution000002.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_2_1_4_1-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_2_1_4_1.eprime b/tests/exhaustive/basic/set06/expected/model_2_1_4_1.eprime new file mode 100644 index 0000000000..4763aec36a --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_2_1_4_1.eprime @@ -0,0 +1,43 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +find x_Occurrence: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_ExplicitVarSizeWithDummy, x_Occurrence] +such that + or([x_ExplicitVarSizeWithDummy[q32] != 5 /\ x_ExplicitVarSizeWithDummy[q32] = 1 | q32 : int(1..4)]), + x_Occurrence[2], + or([x_ExplicitVarSizeWithFlags_Flags[q25] /\ x_ExplicitVarSizeWithFlags_Values[q25] = 3 | q25 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 5 + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q2] = 5 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 5 | q2 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q3] != 5) | q3 : int(1..4)]) <= 4, + sum([toInt(x_Occurrence[q5]) | q5 : int(1..4)]) <= 4, + and([x_Occurrence[q26] -> + or([x_ExplicitVarSizeWithDummy[q28] != 5 /\ x_ExplicitVarSizeWithDummy[q28] = q26 | q28 : int(1..4)]) + | q26 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q30] != 5 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q30]] | q30 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q6 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q6] < x_ExplicitVarSizeWithFlags_Values[q6 + 1] + | q6 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q7] = false -> x_ExplicitVarSizeWithFlags_Values[q7] = 1 | q7 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q8 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q8] | q8 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q9]) | q9 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithFlags_Flags[q12] -> + or([x_ExplicitVarSizeWithDummy[q14] != 5 /\ + x_ExplicitVarSizeWithDummy[q14] = x_ExplicitVarSizeWithFlags_Values[q12] + | q14 : int(1..4)]) + | q12 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q16] != 5 -> + or([x_ExplicitVarSizeWithFlags_Flags[q18] /\ + x_ExplicitVarSizeWithFlags_Values[q18] = x_ExplicitVarSizeWithDummy[q16] + | q18 : int(1..4)]) + | q16 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q20] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q20]] + | q20 : int(1..4)]), + and([x_Occurrence[q21] -> + or([x_ExplicitVarSizeWithFlags_Flags[q23] /\ x_ExplicitVarSizeWithFlags_Values[q23] = q21 | q23 : int(1..4)]) + | q21 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_2_1_4_3-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_2_1_4_3-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_2_1_4_3-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_2_1_4_3-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_2_1_4_3-solution000002.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_2_1_4_3-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_2_1_4_3.eprime b/tests/exhaustive/basic/set06/expected/model_2_1_4_3.eprime new file mode 100644 index 0000000000..f9660743b6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_2_1_4_3.eprime @@ -0,0 +1,77 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +find x_Occurrence: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_ExplicitVarSizeWithDummy, x_Occurrence, + x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values] +such that + or([x_ExplicitVarSizeWithDummy[q56] != 5 /\ x_ExplicitVarSizeWithDummy[q56] = 1 | q56 : int(1..4)]), + x_Occurrence[2], + or([x_ExplicitVarSizeWithFlags_Flags[q49] /\ x_ExplicitVarSizeWithFlags_Values[q49] = 3 | q49 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 5 + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q2] = 5 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 5 | q2 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q3] != 5) | q3 : int(1..4)]) <= 4, + sum([toInt(x_Occurrence[q5]) | q5 : int(1..4)]) <= 4, + and([x_Occurrence[q50] -> + or([x_ExplicitVarSizeWithDummy[q52] != 5 /\ x_ExplicitVarSizeWithDummy[q52] = q50 | q52 : int(1..4)]) + | q50 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q54] != 5 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q54]] | q54 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q6 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q6] < x_ExplicitVarSizeWithFlags_Values[q6 + 1] + | q6 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q7] = false -> x_ExplicitVarSizeWithFlags_Values[q7] = 1 | q7 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q8 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q8] | q8 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q9]) | q9 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithFlags_Flags[q12] -> + or([x_ExplicitVarSizeWithDummy[q14] != 5 /\ + x_ExplicitVarSizeWithDummy[q14] = x_ExplicitVarSizeWithFlags_Values[q12] + | q14 : int(1..4)]) + | q12 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q16] != 5 -> + or([x_ExplicitVarSizeWithFlags_Flags[q18] /\ + x_ExplicitVarSizeWithFlags_Values[q18] = x_ExplicitVarSizeWithDummy[q16] + | q18 : int(1..4)]) + | q16 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q20] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q20]] + | q20 : int(1..4)]), + and([x_Occurrence[q21] -> + or([x_ExplicitVarSizeWithFlags_Flags[q23] /\ x_ExplicitVarSizeWithFlags_Values[q23] = q21 | q23 : int(1..4)]) + | q21 : int(1..4)]), + and([q24 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q24] < x_ExplicitVarSizeWithMarker_Values[q24 + 1] + | q24 : int(1..3)]), + and([q25 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q25] = 1 | q25 : int(1..4)]), + x_ExplicitVarSizeWithMarker_Marker <= 4, + and([q28 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q30] != 5 /\ + x_ExplicitVarSizeWithDummy[q30] = x_ExplicitVarSizeWithMarker_Values[q28] + | q30 : int(1..4)]) + | q28 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q32] != 5 -> + or([q34 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q34] = x_ExplicitVarSizeWithDummy[q32] + | q34 : int(1..4)]) + | q32 : int(1..4)]), + and([q36 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q36]] + | q36 : int(1..4)]), + and([x_Occurrence[q37] -> + or([q39 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q39] = q37 + | q39 : int(1..4)]) + | q37 : int(1..4)]), + and([q41 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q43] /\ + x_ExplicitVarSizeWithFlags_Values[q43] = x_ExplicitVarSizeWithMarker_Values[q41] + | q43 : int(1..4)]) + | q41 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q45] -> + or([q47 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q47] = x_ExplicitVarSizeWithFlags_Values[q45] + | q47 : int(1..4)]) + | q45 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_2_2_1_1-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_2_2_1_1-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_2_2_1_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_2_2_1_1-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_2_2_1_1-solution000002.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_2_2_1_1-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_2_2_1_1.eprime b/tests/exhaustive/basic/set06/expected/model_2_2_1_1.eprime new file mode 100644 index 0000000000..c05e9cc08f --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_2_2_1_1.eprime @@ -0,0 +1,19 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +find x_Occurrence: matrix indexed by [int(1..4)] of bool +branching on [x_Occurrence, x_ExplicitVarSizeWithDummy] +such that + or([x_ExplicitVarSizeWithDummy[q12] != 5 /\ x_ExplicitVarSizeWithDummy[q12] = 1 | q12 : int(1..4)]), + or([x_ExplicitVarSizeWithDummy[q14] != 5 /\ x_ExplicitVarSizeWithDummy[q14] = 2 | q14 : int(1..4)]), + x_Occurrence[3], + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 5 + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q2] = 5 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 5 | q2 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q3] != 5) | q3 : int(1..4)]) <= 4, + sum([toInt(x_Occurrence[q5]) | q5 : int(1..4)]) <= 4, + and([x_Occurrence[q6] -> + or([x_ExplicitVarSizeWithDummy[q8] != 5 /\ x_ExplicitVarSizeWithDummy[q8] = q6 | q8 : int(1..4)]) + | q6 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q10] != 5 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q10]] | q10 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_2_2_1_3-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_2_2_1_3-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_2_2_1_3-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_2_2_1_3-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_2_2_1_3-solution000002.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_2_2_1_3-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_2_2_1_3.eprime b/tests/exhaustive/basic/set06/expected/model_2_2_1_3.eprime new file mode 100644 index 0000000000..ca46d4ab65 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_2_2_1_3.eprime @@ -0,0 +1,43 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +find x_Occurrence: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_ExplicitVarSizeWithDummy, x_Occurrence] +such that + or([x_ExplicitVarSizeWithDummy[q28] != 5 /\ x_ExplicitVarSizeWithDummy[q28] = 1 | q28 : int(1..4)]), + or([x_ExplicitVarSizeWithDummy[q30] != 5 /\ x_ExplicitVarSizeWithDummy[q30] = 2 | q30 : int(1..4)]), + x_Occurrence[3], + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 5 + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q2] = 5 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 5 | q2 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q3] != 5) | q3 : int(1..4)]) <= 4, + sum([toInt(x_Occurrence[q5]) | q5 : int(1..4)]) <= 4, + and([x_Occurrence[q22] -> + or([x_ExplicitVarSizeWithDummy[q24] != 5 /\ x_ExplicitVarSizeWithDummy[q24] = q22 | q24 : int(1..4)]) + | q22 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q26] != 5 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q26]] | q26 : int(1..4)]), + and([q6 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q6] < x_ExplicitVarSizeWithMarker_Values[q6 + 1] + | q6 : int(1..3)]), + and([q7 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q7] = 1 | q7 : int(1..4)]), + x_ExplicitVarSizeWithMarker_Marker <= 4, + and([q10 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q12] != 5 /\ + x_ExplicitVarSizeWithDummy[q12] = x_ExplicitVarSizeWithMarker_Values[q10] + | q12 : int(1..4)]) + | q10 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q14] != 5 -> + or([q16 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q16] = x_ExplicitVarSizeWithDummy[q14] + | q16 : int(1..4)]) + | q14 : int(1..4)]), + and([q18 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q18]] + | q18 : int(1..4)]), + and([x_Occurrence[q19] -> + or([q21 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q21] = q19 + | q21 : int(1..4)]) + | q19 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_2_2_1_4-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_2_2_1_4-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_2_2_1_4-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_2_2_1_4-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_2_2_1_4-solution000002.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_2_2_1_4-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_2_2_1_4.eprime b/tests/exhaustive/basic/set06/expected/model_2_2_1_4.eprime new file mode 100644 index 0000000000..354ad47498 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_2_2_1_4.eprime @@ -0,0 +1,43 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +find x_Occurrence: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_ExplicitVarSizeWithDummy, x_Occurrence] +such that + or([x_ExplicitVarSizeWithDummy[q30] != 5 /\ x_ExplicitVarSizeWithDummy[q30] = 1 | q30 : int(1..4)]), + or([x_ExplicitVarSizeWithDummy[q32] != 5 /\ x_ExplicitVarSizeWithDummy[q32] = 2 | q32 : int(1..4)]), + x_Occurrence[3], + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 5 + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q2] = 5 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 5 | q2 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q3] != 5) | q3 : int(1..4)]) <= 4, + sum([toInt(x_Occurrence[q5]) | q5 : int(1..4)]) <= 4, + and([x_Occurrence[q24] -> + or([x_ExplicitVarSizeWithDummy[q26] != 5 /\ x_ExplicitVarSizeWithDummy[q26] = q24 | q26 : int(1..4)]) + | q24 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q28] != 5 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q28]] | q28 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q6 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q6] < x_ExplicitVarSizeWithFlags_Values[q6 + 1] + | q6 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q7] = false -> x_ExplicitVarSizeWithFlags_Values[q7] = 1 | q7 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q8 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q8] | q8 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q9]) | q9 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithFlags_Flags[q12] -> + or([x_ExplicitVarSizeWithDummy[q14] != 5 /\ + x_ExplicitVarSizeWithDummy[q14] = x_ExplicitVarSizeWithFlags_Values[q12] + | q14 : int(1..4)]) + | q12 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q16] != 5 -> + or([x_ExplicitVarSizeWithFlags_Flags[q18] /\ + x_ExplicitVarSizeWithFlags_Values[q18] = x_ExplicitVarSizeWithDummy[q16] + | q18 : int(1..4)]) + | q16 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q20] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q20]] + | q20 : int(1..4)]), + and([x_Occurrence[q21] -> + or([x_ExplicitVarSizeWithFlags_Flags[q23] /\ x_ExplicitVarSizeWithFlags_Values[q23] = q21 | q23 : int(1..4)]) + | q21 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_2_2_2_1-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_2_2_2_1-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_2_2_2_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_2_2_2_1-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_2_2_2_1-solution000002.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_2_2_2_1-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_2_2_2_1.eprime b/tests/exhaustive/basic/set06/expected/model_2_2_2_1.eprime new file mode 100644 index 0000000000..4a891ab86b --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_2_2_2_1.eprime @@ -0,0 +1,19 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +find x_Occurrence: matrix indexed by [int(1..4)] of bool +branching on [x_Occurrence, x_ExplicitVarSizeWithDummy] +such that + or([x_ExplicitVarSizeWithDummy[q12] != 5 /\ x_ExplicitVarSizeWithDummy[q12] = 1 | q12 : int(1..4)]), + or([x_ExplicitVarSizeWithDummy[q14] != 5 /\ x_ExplicitVarSizeWithDummy[q14] = 2 | q14 : int(1..4)]), + or([x_ExplicitVarSizeWithDummy[q16] != 5 /\ x_ExplicitVarSizeWithDummy[q16] = 3 | q16 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 5 + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q2] = 5 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 5 | q2 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q3] != 5) | q3 : int(1..4)]) <= 4, + sum([toInt(x_Occurrence[q5]) | q5 : int(1..4)]) <= 4, + and([x_Occurrence[q6] -> + or([x_ExplicitVarSizeWithDummy[q8] != 5 /\ x_ExplicitVarSizeWithDummy[q8] = q6 | q8 : int(1..4)]) + | q6 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q10] != 5 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q10]] | q10 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_2_2_2_2-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_2_2_2_2-solution000001.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_2_2_2_2-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_2_2_2_2-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_2_2_2_2-solution000002.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_2_2_2_2-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_2_2_2_2.eprime b/tests/exhaustive/basic/set06/expected/model_2_2_2_2.eprime new file mode 100644 index 0000000000..c69010fadb --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_2_2_2_2.eprime @@ -0,0 +1,13 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +branching on [x_ExplicitVarSizeWithDummy] +such that + or([x_ExplicitVarSizeWithDummy[q6] != 5 /\ x_ExplicitVarSizeWithDummy[q6] = 1 | q6 : int(1..4)]), + or([x_ExplicitVarSizeWithDummy[q8] != 5 /\ x_ExplicitVarSizeWithDummy[q8] = 2 | q8 : int(1..4)]), + or([x_ExplicitVarSizeWithDummy[q10] != 5 /\ x_ExplicitVarSizeWithDummy[q10] = 3 | q10 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 5 + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q2] = 5 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 5 | q2 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q3] != 5) | q3 : int(1..4)]) <= 4 + diff --git a/tests/exhaustive/basic/set06/expected/model_2_2_2_3-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_2_2_2_3-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_2_2_2_3-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_2_2_2_3-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_2_2_2_3-solution000002.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_2_2_2_3-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_2_2_2_3.eprime b/tests/exhaustive/basic/set06/expected/model_2_2_2_3.eprime new file mode 100644 index 0000000000..18a5bb99e1 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_2_2_2_3.eprime @@ -0,0 +1,30 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +branching on [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_ExplicitVarSizeWithDummy] +such that + or([x_ExplicitVarSizeWithDummy[q17] != 5 /\ x_ExplicitVarSizeWithDummy[q17] = 1 | q17 : int(1..4)]), + or([x_ExplicitVarSizeWithDummy[q19] != 5 /\ x_ExplicitVarSizeWithDummy[q19] = 2 | q19 : int(1..4)]), + or([x_ExplicitVarSizeWithDummy[q21] != 5 /\ x_ExplicitVarSizeWithDummy[q21] = 3 | q21 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 5 + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q2] = 5 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 5 | q2 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q3] != 5) | q3 : int(1..4)]) <= 4, + and([q5 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q5] < x_ExplicitVarSizeWithMarker_Values[q5 + 1] + | q5 : int(1..3)]), + and([q6 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q6] = 1 | q6 : int(1..4)]), + x_ExplicitVarSizeWithMarker_Marker <= 4, + and([q9 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q11] != 5 /\ + x_ExplicitVarSizeWithDummy[q11] = x_ExplicitVarSizeWithMarker_Values[q9] + | q11 : int(1..4)]) + | q9 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q13] != 5 -> + or([q15 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q15] = x_ExplicitVarSizeWithDummy[q13] + | q15 : int(1..4)]) + | q13 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_2_2_2_4-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_2_2_2_4-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_2_2_2_4-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_2_2_2_4-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_2_2_2_4-solution000002.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_2_2_2_4-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_2_2_2_4.eprime b/tests/exhaustive/basic/set06/expected/model_2_2_2_4.eprime new file mode 100644 index 0000000000..dcecde5147 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_2_2_2_4.eprime @@ -0,0 +1,31 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +branching on [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_ExplicitVarSizeWithDummy] +such that + or([x_ExplicitVarSizeWithDummy[q19] != 5 /\ x_ExplicitVarSizeWithDummy[q19] = 1 | q19 : int(1..4)]), + or([x_ExplicitVarSizeWithDummy[q21] != 5 /\ x_ExplicitVarSizeWithDummy[q21] = 2 | q21 : int(1..4)]), + or([x_ExplicitVarSizeWithDummy[q23] != 5 /\ x_ExplicitVarSizeWithDummy[q23] = 3 | q23 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 5 + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q2] = 5 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 5 | q2 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q3] != 5) | q3 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithFlags_Flags[q5 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q5] < x_ExplicitVarSizeWithFlags_Values[q5 + 1] + | q5 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q6] = false -> x_ExplicitVarSizeWithFlags_Values[q6] = 1 | q6 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q7 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q7] | q7 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q8]) | q8 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithFlags_Flags[q11] -> + or([x_ExplicitVarSizeWithDummy[q13] != 5 /\ + x_ExplicitVarSizeWithDummy[q13] = x_ExplicitVarSizeWithFlags_Values[q11] + | q13 : int(1..4)]) + | q11 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q15] != 5 -> + or([x_ExplicitVarSizeWithFlags_Flags[q17] /\ + x_ExplicitVarSizeWithFlags_Values[q17] = x_ExplicitVarSizeWithDummy[q15] + | q17 : int(1..4)]) + | q15 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_2_2_3_1-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_2_2_3_1-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_2_2_3_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_2_2_3_1-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_2_2_3_1-solution000002.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_2_2_3_1-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_2_2_3_1.eprime b/tests/exhaustive/basic/set06/expected/model_2_2_3_1.eprime new file mode 100644 index 0000000000..0ba2c449b2 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_2_2_3_1.eprime @@ -0,0 +1,43 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_Occurrence: matrix indexed by [int(1..4)] of bool +branching on + [x_Occurrence, x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values] +such that + or([x_ExplicitVarSizeWithDummy[q28] != 5 /\ x_ExplicitVarSizeWithDummy[q28] = 1 | q28 : int(1..4)]), + or([x_ExplicitVarSizeWithDummy[q30] != 5 /\ x_ExplicitVarSizeWithDummy[q30] = 2 | q30 : int(1..4)]), + or([q32 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q32] = 3 | q32 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 5 + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q2] = 5 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 5 | q2 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q3] != 5) | q3 : int(1..4)]) <= 4, + and([q5 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q5] < x_ExplicitVarSizeWithMarker_Values[q5 + 1] + | q5 : int(1..3)]), + and([q6 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q6] = 1 | q6 : int(1..4)]), + x_ExplicitVarSizeWithMarker_Marker <= 4, + and([q9 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q11] != 5 /\ + x_ExplicitVarSizeWithDummy[q11] = x_ExplicitVarSizeWithMarker_Values[q9] + | q11 : int(1..4)]) + | q9 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q13] != 5 -> + or([q15 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q15] = x_ExplicitVarSizeWithDummy[q13] + | q15 : int(1..4)]) + | q13 : int(1..4)]), + sum([toInt(x_Occurrence[q16]) | q16 : int(1..4)]) <= 4, + and([x_Occurrence[q17] -> + or([x_ExplicitVarSizeWithDummy[q19] != 5 /\ x_ExplicitVarSizeWithDummy[q19] = q17 | q19 : int(1..4)]) + | q17 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q21] != 5 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q21]] | q21 : int(1..4)]), + and([x_Occurrence[q22] -> + or([q24 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q24] = q22 + | q24 : int(1..4)]) + | q22 : int(1..4)]), + and([q26 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q26]] + | q26 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_2_2_3_2-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_2_2_3_2-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_2_2_3_2-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_2_2_3_2-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_2_2_3_2-solution000002.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_2_2_3_2-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_2_2_3_2.eprime b/tests/exhaustive/basic/set06/expected/model_2_2_3_2.eprime new file mode 100644 index 0000000000..875689727a --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_2_2_3_2.eprime @@ -0,0 +1,30 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +branching on [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_ExplicitVarSizeWithDummy] +such that + or([x_ExplicitVarSizeWithDummy[q17] != 5 /\ x_ExplicitVarSizeWithDummy[q17] = 1 | q17 : int(1..4)]), + or([x_ExplicitVarSizeWithDummy[q19] != 5 /\ x_ExplicitVarSizeWithDummy[q19] = 2 | q19 : int(1..4)]), + or([q21 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q21] = 3 | q21 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 5 + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q2] = 5 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 5 | q2 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q3] != 5) | q3 : int(1..4)]) <= 4, + and([q5 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q5] < x_ExplicitVarSizeWithMarker_Values[q5 + 1] + | q5 : int(1..3)]), + and([q6 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q6] = 1 | q6 : int(1..4)]), + x_ExplicitVarSizeWithMarker_Marker <= 4, + and([q9 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q11] != 5 /\ + x_ExplicitVarSizeWithDummy[q11] = x_ExplicitVarSizeWithMarker_Values[q9] + | q11 : int(1..4)]) + | q9 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q13] != 5 -> + or([q15 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q15] = x_ExplicitVarSizeWithDummy[q13] + | q15 : int(1..4)]) + | q13 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_2_2_3_4-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_2_2_3_4-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_2_2_3_4-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_2_2_3_4-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_2_2_3_4-solution000002.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_2_2_3_4-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_2_2_3_4.eprime b/tests/exhaustive/basic/set06/expected/model_2_2_3_4.eprime new file mode 100644 index 0000000000..ca3fdd46a7 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_2_2_3_4.eprime @@ -0,0 +1,61 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_ExplicitVarSizeWithDummy, + x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values] +such that + or([x_ExplicitVarSizeWithDummy[q38] != 5 /\ x_ExplicitVarSizeWithDummy[q38] = 1 | q38 : int(1..4)]), + or([x_ExplicitVarSizeWithDummy[q40] != 5 /\ x_ExplicitVarSizeWithDummy[q40] = 2 | q40 : int(1..4)]), + or([q42 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q42] = 3 | q42 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 5 + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q2] = 5 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 5 | q2 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q3] != 5) | q3 : int(1..4)]) <= 4, + and([q5 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q5] < x_ExplicitVarSizeWithMarker_Values[q5 + 1] + | q5 : int(1..3)]), + and([q6 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q6] = 1 | q6 : int(1..4)]), + x_ExplicitVarSizeWithMarker_Marker <= 4, + and([q9 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q11] != 5 /\ + x_ExplicitVarSizeWithDummy[q11] = x_ExplicitVarSizeWithMarker_Values[q9] + | q11 : int(1..4)]) + | q9 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q13] != 5 -> + or([q15 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q15] = x_ExplicitVarSizeWithDummy[q13] + | q15 : int(1..4)]) + | q13 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q16 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q16] < x_ExplicitVarSizeWithFlags_Values[q16 + 1] + | q16 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q17] = false -> x_ExplicitVarSizeWithFlags_Values[q17] = 1 + | q17 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q18 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q18] | q18 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q19]) | q19 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithFlags_Flags[q22] -> + or([x_ExplicitVarSizeWithDummy[q24] != 5 /\ + x_ExplicitVarSizeWithDummy[q24] = x_ExplicitVarSizeWithFlags_Values[q22] + | q24 : int(1..4)]) + | q22 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q26] != 5 -> + or([x_ExplicitVarSizeWithFlags_Flags[q28] /\ + x_ExplicitVarSizeWithFlags_Values[q28] = x_ExplicitVarSizeWithDummy[q26] + | q28 : int(1..4)]) + | q26 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q30] -> + or([q32 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q32] = x_ExplicitVarSizeWithFlags_Values[q30] + | q32 : int(1..4)]) + | q30 : int(1..4)]), + and([q34 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q36] /\ + x_ExplicitVarSizeWithFlags_Values[q36] = x_ExplicitVarSizeWithMarker_Values[q34] + | q36 : int(1..4)]) + | q34 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_2_2_4_1-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_2_2_4_1-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_2_2_4_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_2_2_4_1-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_2_2_4_1-solution000002.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_2_2_4_1-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_2_2_4_1.eprime b/tests/exhaustive/basic/set06/expected/model_2_2_4_1.eprime new file mode 100644 index 0000000000..9dbf7c903e --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_2_2_4_1.eprime @@ -0,0 +1,43 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_Occurrence: matrix indexed by [int(1..4)] of bool +branching on + [x_Occurrence, x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values] +such that + or([x_ExplicitVarSizeWithDummy[q30] != 5 /\ x_ExplicitVarSizeWithDummy[q30] = 1 | q30 : int(1..4)]), + or([x_ExplicitVarSizeWithDummy[q32] != 5 /\ x_ExplicitVarSizeWithDummy[q32] = 2 | q32 : int(1..4)]), + or([x_ExplicitVarSizeWithFlags_Flags[q34] /\ x_ExplicitVarSizeWithFlags_Values[q34] = 3 | q34 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 5 + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q2] = 5 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 5 | q2 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q3] != 5) | q3 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithFlags_Flags[q5 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q5] < x_ExplicitVarSizeWithFlags_Values[q5 + 1] + | q5 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q6] = false -> x_ExplicitVarSizeWithFlags_Values[q6] = 1 | q6 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q7 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q7] | q7 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q8]) | q8 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithFlags_Flags[q11] -> + or([x_ExplicitVarSizeWithDummy[q13] != 5 /\ + x_ExplicitVarSizeWithDummy[q13] = x_ExplicitVarSizeWithFlags_Values[q11] + | q13 : int(1..4)]) + | q11 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q15] != 5 -> + or([x_ExplicitVarSizeWithFlags_Flags[q17] /\ + x_ExplicitVarSizeWithFlags_Values[q17] = x_ExplicitVarSizeWithDummy[q15] + | q17 : int(1..4)]) + | q15 : int(1..4)]), + sum([toInt(x_Occurrence[q18]) | q18 : int(1..4)]) <= 4, + and([x_Occurrence[q19] -> + or([x_ExplicitVarSizeWithDummy[q21] != 5 /\ x_ExplicitVarSizeWithDummy[q21] = q19 | q21 : int(1..4)]) + | q19 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q23] != 5 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q23]] | q23 : int(1..4)]), + and([x_Occurrence[q24] -> + or([x_ExplicitVarSizeWithFlags_Flags[q26] /\ x_ExplicitVarSizeWithFlags_Values[q26] = q24 | q26 : int(1..4)]) + | q24 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q28] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q28]] + | q28 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_2_2_4_2-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_2_2_4_2-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_2_2_4_2-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_2_2_4_2-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_2_2_4_2-solution000002.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_2_2_4_2-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_2_2_4_2.eprime b/tests/exhaustive/basic/set06/expected/model_2_2_4_2.eprime new file mode 100644 index 0000000000..8a79eef455 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_2_2_4_2.eprime @@ -0,0 +1,31 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +branching on [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_ExplicitVarSizeWithDummy] +such that + or([x_ExplicitVarSizeWithDummy[q19] != 5 /\ x_ExplicitVarSizeWithDummy[q19] = 1 | q19 : int(1..4)]), + or([x_ExplicitVarSizeWithDummy[q21] != 5 /\ x_ExplicitVarSizeWithDummy[q21] = 2 | q21 : int(1..4)]), + or([x_ExplicitVarSizeWithFlags_Flags[q23] /\ x_ExplicitVarSizeWithFlags_Values[q23] = 3 | q23 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 5 + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q2] = 5 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 5 | q2 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q3] != 5) | q3 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithFlags_Flags[q5 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q5] < x_ExplicitVarSizeWithFlags_Values[q5 + 1] + | q5 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q6] = false -> x_ExplicitVarSizeWithFlags_Values[q6] = 1 | q6 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q7 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q7] | q7 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q8]) | q8 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithFlags_Flags[q11] -> + or([x_ExplicitVarSizeWithDummy[q13] != 5 /\ + x_ExplicitVarSizeWithDummy[q13] = x_ExplicitVarSizeWithFlags_Values[q11] + | q13 : int(1..4)]) + | q11 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q15] != 5 -> + or([x_ExplicitVarSizeWithFlags_Flags[q17] /\ + x_ExplicitVarSizeWithFlags_Values[q17] = x_ExplicitVarSizeWithDummy[q15] + | q17 : int(1..4)]) + | q15 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_2_2_4_3-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_2_2_4_3-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_2_2_4_3-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_2_2_4_3-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_2_2_4_3-solution000002.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_2_2_4_3-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_2_2_4_3.eprime b/tests/exhaustive/basic/set06/expected/model_2_2_4_3.eprime new file mode 100644 index 0000000000..7d292ec23b --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_2_2_4_3.eprime @@ -0,0 +1,60 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_ExplicitVarSizeWithDummy, + x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values] +such that + or([x_ExplicitVarSizeWithDummy[q38] != 5 /\ x_ExplicitVarSizeWithDummy[q38] = 1 | q38 : int(1..4)]), + or([x_ExplicitVarSizeWithDummy[q40] != 5 /\ x_ExplicitVarSizeWithDummy[q40] = 2 | q40 : int(1..4)]), + or([x_ExplicitVarSizeWithFlags_Flags[q42] /\ x_ExplicitVarSizeWithFlags_Values[q42] = 3 | q42 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 5 + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q2] = 5 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 5 | q2 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q3] != 5) | q3 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithFlags_Flags[q5 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q5] < x_ExplicitVarSizeWithFlags_Values[q5 + 1] + | q5 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q6] = false -> x_ExplicitVarSizeWithFlags_Values[q6] = 1 | q6 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q7 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q7] | q7 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q8]) | q8 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithFlags_Flags[q11] -> + or([x_ExplicitVarSizeWithDummy[q13] != 5 /\ + x_ExplicitVarSizeWithDummy[q13] = x_ExplicitVarSizeWithFlags_Values[q11] + | q13 : int(1..4)]) + | q11 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q15] != 5 -> + or([x_ExplicitVarSizeWithFlags_Flags[q17] /\ + x_ExplicitVarSizeWithFlags_Values[q17] = x_ExplicitVarSizeWithDummy[q15] + | q17 : int(1..4)]) + | q15 : int(1..4)]), + and([q18 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q18] < x_ExplicitVarSizeWithMarker_Values[q18 + 1] + | q18 : int(1..3)]), + and([q19 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q19] = 1 | q19 : int(1..4)]), + x_ExplicitVarSizeWithMarker_Marker <= 4, + and([q22 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q24] != 5 /\ + x_ExplicitVarSizeWithDummy[q24] = x_ExplicitVarSizeWithMarker_Values[q22] + | q24 : int(1..4)]) + | q22 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q26] != 5 -> + or([q28 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q28] = x_ExplicitVarSizeWithDummy[q26] + | q28 : int(1..4)]) + | q26 : int(1..4)]), + and([q30 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q32] /\ + x_ExplicitVarSizeWithFlags_Values[q32] = x_ExplicitVarSizeWithMarker_Values[q30] + | q32 : int(1..4)]) + | q30 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q34] -> + or([q36 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q36] = x_ExplicitVarSizeWithFlags_Values[q34] + | q36 : int(1..4)]) + | q34 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_2_3_1_1-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_2_3_1_1-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_2_3_1_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_2_3_1_1-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_2_3_1_1-solution000002.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_2_3_1_1-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_2_3_1_1.eprime b/tests/exhaustive/basic/set06/expected/model_2_3_1_1.eprime new file mode 100644 index 0000000000..38b040fe91 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_2_3_1_1.eprime @@ -0,0 +1,43 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_Occurrence: matrix indexed by [int(1..4)] of bool +branching on + [x_Occurrence, x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values] +such that + or([x_ExplicitVarSizeWithDummy[q28] != 5 /\ x_ExplicitVarSizeWithDummy[q28] = 1 | q28 : int(1..4)]), + or([q30 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q30] = 2 | q30 : int(1..4)]), + x_Occurrence[3], + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 5 + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q2] = 5 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 5 | q2 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q3] != 5) | q3 : int(1..4)]) <= 4, + and([q5 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q5] < x_ExplicitVarSizeWithMarker_Values[q5 + 1] + | q5 : int(1..3)]), + and([q6 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q6] = 1 | q6 : int(1..4)]), + x_ExplicitVarSizeWithMarker_Marker <= 4, + and([q9 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q11] != 5 /\ + x_ExplicitVarSizeWithDummy[q11] = x_ExplicitVarSizeWithMarker_Values[q9] + | q11 : int(1..4)]) + | q9 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q13] != 5 -> + or([q15 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q15] = x_ExplicitVarSizeWithDummy[q13] + | q15 : int(1..4)]) + | q13 : int(1..4)]), + sum([toInt(x_Occurrence[q16]) | q16 : int(1..4)]) <= 4, + and([x_Occurrence[q17] -> + or([x_ExplicitVarSizeWithDummy[q19] != 5 /\ x_ExplicitVarSizeWithDummy[q19] = q17 | q19 : int(1..4)]) + | q17 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q21] != 5 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q21]] | q21 : int(1..4)]), + and([x_Occurrence[q22] -> + or([q24 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q24] = q22 + | q24 : int(1..4)]) + | q22 : int(1..4)]), + and([q26 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q26]] + | q26 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_2_3_1_4-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_2_3_1_4-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_2_3_1_4-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_2_3_1_4-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_2_3_1_4-solution000002.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_2_3_1_4-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_2_3_1_4.eprime b/tests/exhaustive/basic/set06/expected/model_2_3_1_4.eprime new file mode 100644 index 0000000000..02a7c6a35f --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_2_3_1_4.eprime @@ -0,0 +1,78 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_Occurrence: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_ExplicitVarSizeWithDummy, + x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_Occurrence] +such that + or([x_ExplicitVarSizeWithDummy[q54] != 5 /\ x_ExplicitVarSizeWithDummy[q54] = 1 | q54 : int(1..4)]), + or([q56 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q56] = 2 | q56 : int(1..4)]), + x_Occurrence[3], + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 5 + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q2] = 5 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 5 | q2 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q3] != 5) | q3 : int(1..4)]) <= 4, + and([q5 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q5] < x_ExplicitVarSizeWithMarker_Values[q5 + 1] + | q5 : int(1..3)]), + and([q6 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q6] = 1 | q6 : int(1..4)]), + x_ExplicitVarSizeWithMarker_Marker <= 4, + and([q9 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q11] != 5 /\ + x_ExplicitVarSizeWithDummy[q11] = x_ExplicitVarSizeWithMarker_Values[q9] + | q11 : int(1..4)]) + | q9 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q13] != 5 -> + or([q15 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q15] = x_ExplicitVarSizeWithDummy[q13] + | q15 : int(1..4)]) + | q13 : int(1..4)]), + sum([toInt(x_Occurrence[q16]) | q16 : int(1..4)]) <= 4, + and([x_Occurrence[q43] -> + or([x_ExplicitVarSizeWithDummy[q45] != 5 /\ x_ExplicitVarSizeWithDummy[q45] = q43 | q45 : int(1..4)]) + | q43 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q47] != 5 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q47]] | q47 : int(1..4)]), + and([x_Occurrence[q48] -> + or([q50 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q50] = q48 + | q50 : int(1..4)]) + | q48 : int(1..4)]), + and([q52 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q52]] + | q52 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q17 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q17] < x_ExplicitVarSizeWithFlags_Values[q17 + 1] + | q17 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q18] = false -> x_ExplicitVarSizeWithFlags_Values[q18] = 1 + | q18 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q19 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q19] | q19 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q20]) | q20 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithFlags_Flags[q23] -> + or([x_ExplicitVarSizeWithDummy[q25] != 5 /\ + x_ExplicitVarSizeWithDummy[q25] = x_ExplicitVarSizeWithFlags_Values[q23] + | q25 : int(1..4)]) + | q23 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q27] != 5 -> + or([x_ExplicitVarSizeWithFlags_Flags[q29] /\ + x_ExplicitVarSizeWithFlags_Values[q29] = x_ExplicitVarSizeWithDummy[q27] + | q29 : int(1..4)]) + | q27 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q31] -> + or([q33 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q33] = x_ExplicitVarSizeWithFlags_Values[q31] + | q33 : int(1..4)]) + | q31 : int(1..4)]), + and([q35 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q37] /\ + x_ExplicitVarSizeWithFlags_Values[q37] = x_ExplicitVarSizeWithMarker_Values[q35] + | q37 : int(1..4)]) + | q35 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q39] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q39]] + | q39 : int(1..4)]), + and([x_Occurrence[q40] -> + or([x_ExplicitVarSizeWithFlags_Flags[q42] /\ x_ExplicitVarSizeWithFlags_Values[q42] = q40 | q42 : int(1..4)]) + | q40 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_2_3_2_1-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_2_3_2_1-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_2_3_2_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_2_3_2_1-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_2_3_2_1-solution000002.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_2_3_2_1-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_2_3_2_1.eprime b/tests/exhaustive/basic/set06/expected/model_2_3_2_1.eprime new file mode 100644 index 0000000000..69afb8a756 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_2_3_2_1.eprime @@ -0,0 +1,43 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_Occurrence: matrix indexed by [int(1..4)] of bool +branching on + [x_Occurrence, x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values] +such that + or([x_ExplicitVarSizeWithDummy[q28] != 5 /\ x_ExplicitVarSizeWithDummy[q28] = 1 | q28 : int(1..4)]), + or([q30 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q30] = 2 | q30 : int(1..4)]), + or([x_ExplicitVarSizeWithDummy[q32] != 5 /\ x_ExplicitVarSizeWithDummy[q32] = 3 | q32 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 5 + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q2] = 5 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 5 | q2 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q3] != 5) | q3 : int(1..4)]) <= 4, + and([q5 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q5] < x_ExplicitVarSizeWithMarker_Values[q5 + 1] + | q5 : int(1..3)]), + and([q6 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q6] = 1 | q6 : int(1..4)]), + x_ExplicitVarSizeWithMarker_Marker <= 4, + and([q9 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q11] != 5 /\ + x_ExplicitVarSizeWithDummy[q11] = x_ExplicitVarSizeWithMarker_Values[q9] + | q11 : int(1..4)]) + | q9 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q13] != 5 -> + or([q15 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q15] = x_ExplicitVarSizeWithDummy[q13] + | q15 : int(1..4)]) + | q13 : int(1..4)]), + sum([toInt(x_Occurrence[q16]) | q16 : int(1..4)]) <= 4, + and([x_Occurrence[q17] -> + or([x_ExplicitVarSizeWithDummy[q19] != 5 /\ x_ExplicitVarSizeWithDummy[q19] = q17 | q19 : int(1..4)]) + | q17 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q21] != 5 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q21]] | q21 : int(1..4)]), + and([x_Occurrence[q22] -> + or([q24 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q24] = q22 + | q24 : int(1..4)]) + | q22 : int(1..4)]), + and([q26 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q26]] + | q26 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_2_3_2_2-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_2_3_2_2-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_2_3_2_2-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_2_3_2_2-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_2_3_2_2-solution000002.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_2_3_2_2-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_2_3_2_2.eprime b/tests/exhaustive/basic/set06/expected/model_2_3_2_2.eprime new file mode 100644 index 0000000000..9902fda506 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_2_3_2_2.eprime @@ -0,0 +1,30 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +branching on [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_ExplicitVarSizeWithDummy] +such that + or([x_ExplicitVarSizeWithDummy[q17] != 5 /\ x_ExplicitVarSizeWithDummy[q17] = 1 | q17 : int(1..4)]), + or([q19 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q19] = 2 | q19 : int(1..4)]), + or([x_ExplicitVarSizeWithDummy[q21] != 5 /\ x_ExplicitVarSizeWithDummy[q21] = 3 | q21 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 5 + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q2] = 5 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 5 | q2 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q3] != 5) | q3 : int(1..4)]) <= 4, + and([q5 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q5] < x_ExplicitVarSizeWithMarker_Values[q5 + 1] + | q5 : int(1..3)]), + and([q6 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q6] = 1 | q6 : int(1..4)]), + x_ExplicitVarSizeWithMarker_Marker <= 4, + and([q9 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q11] != 5 /\ + x_ExplicitVarSizeWithDummy[q11] = x_ExplicitVarSizeWithMarker_Values[q9] + | q11 : int(1..4)]) + | q9 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q13] != 5 -> + or([q15 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q15] = x_ExplicitVarSizeWithDummy[q13] + | q15 : int(1..4)]) + | q13 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_2_3_2_4-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_2_3_2_4-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_2_3_2_4-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_2_3_2_4-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_2_3_2_4-solution000002.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_2_3_2_4-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_2_3_2_4.eprime b/tests/exhaustive/basic/set06/expected/model_2_3_2_4.eprime new file mode 100644 index 0000000000..5697b5087d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_2_3_2_4.eprime @@ -0,0 +1,61 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_ExplicitVarSizeWithDummy, + x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values] +such that + or([x_ExplicitVarSizeWithDummy[q38] != 5 /\ x_ExplicitVarSizeWithDummy[q38] = 1 | q38 : int(1..4)]), + or([q40 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q40] = 2 | q40 : int(1..4)]), + or([x_ExplicitVarSizeWithDummy[q42] != 5 /\ x_ExplicitVarSizeWithDummy[q42] = 3 | q42 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 5 + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q2] = 5 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 5 | q2 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q3] != 5) | q3 : int(1..4)]) <= 4, + and([q5 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q5] < x_ExplicitVarSizeWithMarker_Values[q5 + 1] + | q5 : int(1..3)]), + and([q6 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q6] = 1 | q6 : int(1..4)]), + x_ExplicitVarSizeWithMarker_Marker <= 4, + and([q9 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q11] != 5 /\ + x_ExplicitVarSizeWithDummy[q11] = x_ExplicitVarSizeWithMarker_Values[q9] + | q11 : int(1..4)]) + | q9 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q13] != 5 -> + or([q15 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q15] = x_ExplicitVarSizeWithDummy[q13] + | q15 : int(1..4)]) + | q13 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q16 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q16] < x_ExplicitVarSizeWithFlags_Values[q16 + 1] + | q16 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q17] = false -> x_ExplicitVarSizeWithFlags_Values[q17] = 1 + | q17 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q18 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q18] | q18 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q19]) | q19 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithFlags_Flags[q22] -> + or([x_ExplicitVarSizeWithDummy[q24] != 5 /\ + x_ExplicitVarSizeWithDummy[q24] = x_ExplicitVarSizeWithFlags_Values[q22] + | q24 : int(1..4)]) + | q22 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q26] != 5 -> + or([x_ExplicitVarSizeWithFlags_Flags[q28] /\ + x_ExplicitVarSizeWithFlags_Values[q28] = x_ExplicitVarSizeWithDummy[q26] + | q28 : int(1..4)]) + | q26 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q30] -> + or([q32 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q32] = x_ExplicitVarSizeWithFlags_Values[q30] + | q32 : int(1..4)]) + | q30 : int(1..4)]), + and([q34 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q36] /\ + x_ExplicitVarSizeWithFlags_Values[q36] = x_ExplicitVarSizeWithMarker_Values[q34] + | q36 : int(1..4)]) + | q34 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_2_3_3_1-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_2_3_3_1-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_2_3_3_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_2_3_3_1-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_2_3_3_1-solution000002.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_2_3_3_1-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_2_3_3_1.eprime b/tests/exhaustive/basic/set06/expected/model_2_3_3_1.eprime new file mode 100644 index 0000000000..37607392b7 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_2_3_3_1.eprime @@ -0,0 +1,43 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_Occurrence: matrix indexed by [int(1..4)] of bool +branching on + [x_Occurrence, x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values] +such that + or([x_ExplicitVarSizeWithDummy[q28] != 5 /\ x_ExplicitVarSizeWithDummy[q28] = 1 | q28 : int(1..4)]), + or([q30 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q30] = 2 | q30 : int(1..4)]), + or([q32 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q32] = 3 | q32 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 5 + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q2] = 5 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 5 | q2 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q3] != 5) | q3 : int(1..4)]) <= 4, + and([q5 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q5] < x_ExplicitVarSizeWithMarker_Values[q5 + 1] + | q5 : int(1..3)]), + and([q6 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q6] = 1 | q6 : int(1..4)]), + x_ExplicitVarSizeWithMarker_Marker <= 4, + and([q9 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q11] != 5 /\ + x_ExplicitVarSizeWithDummy[q11] = x_ExplicitVarSizeWithMarker_Values[q9] + | q11 : int(1..4)]) + | q9 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q13] != 5 -> + or([q15 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q15] = x_ExplicitVarSizeWithDummy[q13] + | q15 : int(1..4)]) + | q13 : int(1..4)]), + sum([toInt(x_Occurrence[q16]) | q16 : int(1..4)]) <= 4, + and([x_Occurrence[q17] -> + or([x_ExplicitVarSizeWithDummy[q19] != 5 /\ x_ExplicitVarSizeWithDummy[q19] = q17 | q19 : int(1..4)]) + | q17 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q21] != 5 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q21]] | q21 : int(1..4)]), + and([x_Occurrence[q22] -> + or([q24 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q24] = q22 + | q24 : int(1..4)]) + | q22 : int(1..4)]), + and([q26 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q26]] + | q26 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_2_3_3_2-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_2_3_3_2-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_2_3_3_2-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_2_3_3_2-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_2_3_3_2-solution000002.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_2_3_3_2-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_2_3_3_2.eprime b/tests/exhaustive/basic/set06/expected/model_2_3_3_2.eprime new file mode 100644 index 0000000000..1f36b524f8 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_2_3_3_2.eprime @@ -0,0 +1,30 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +branching on [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_ExplicitVarSizeWithDummy] +such that + or([x_ExplicitVarSizeWithDummy[q17] != 5 /\ x_ExplicitVarSizeWithDummy[q17] = 1 | q17 : int(1..4)]), + or([q19 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q19] = 2 | q19 : int(1..4)]), + or([q21 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q21] = 3 | q21 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 5 + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q2] = 5 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 5 | q2 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q3] != 5) | q3 : int(1..4)]) <= 4, + and([q5 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q5] < x_ExplicitVarSizeWithMarker_Values[q5 + 1] + | q5 : int(1..3)]), + and([q6 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q6] = 1 | q6 : int(1..4)]), + x_ExplicitVarSizeWithMarker_Marker <= 4, + and([q9 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q11] != 5 /\ + x_ExplicitVarSizeWithDummy[q11] = x_ExplicitVarSizeWithMarker_Values[q9] + | q11 : int(1..4)]) + | q9 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q13] != 5 -> + or([q15 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q15] = x_ExplicitVarSizeWithDummy[q13] + | q15 : int(1..4)]) + | q13 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_2_3_3_4-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_2_3_3_4-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_2_3_3_4-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_2_3_3_4-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_2_3_3_4-solution000002.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_2_3_3_4-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_2_3_3_4.eprime b/tests/exhaustive/basic/set06/expected/model_2_3_3_4.eprime new file mode 100644 index 0000000000..b9010e4669 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_2_3_3_4.eprime @@ -0,0 +1,61 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_ExplicitVarSizeWithDummy, + x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values] +such that + or([x_ExplicitVarSizeWithDummy[q38] != 5 /\ x_ExplicitVarSizeWithDummy[q38] = 1 | q38 : int(1..4)]), + or([q40 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q40] = 2 | q40 : int(1..4)]), + or([q42 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q42] = 3 | q42 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 5 + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q2] = 5 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 5 | q2 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q3] != 5) | q3 : int(1..4)]) <= 4, + and([q5 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q5] < x_ExplicitVarSizeWithMarker_Values[q5 + 1] + | q5 : int(1..3)]), + and([q6 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q6] = 1 | q6 : int(1..4)]), + x_ExplicitVarSizeWithMarker_Marker <= 4, + and([q9 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q11] != 5 /\ + x_ExplicitVarSizeWithDummy[q11] = x_ExplicitVarSizeWithMarker_Values[q9] + | q11 : int(1..4)]) + | q9 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q13] != 5 -> + or([q15 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q15] = x_ExplicitVarSizeWithDummy[q13] + | q15 : int(1..4)]) + | q13 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q16 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q16] < x_ExplicitVarSizeWithFlags_Values[q16 + 1] + | q16 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q17] = false -> x_ExplicitVarSizeWithFlags_Values[q17] = 1 + | q17 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q18 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q18] | q18 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q19]) | q19 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithFlags_Flags[q22] -> + or([x_ExplicitVarSizeWithDummy[q24] != 5 /\ + x_ExplicitVarSizeWithDummy[q24] = x_ExplicitVarSizeWithFlags_Values[q22] + | q24 : int(1..4)]) + | q22 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q26] != 5 -> + or([x_ExplicitVarSizeWithFlags_Flags[q28] /\ + x_ExplicitVarSizeWithFlags_Values[q28] = x_ExplicitVarSizeWithDummy[q26] + | q28 : int(1..4)]) + | q26 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q30] -> + or([q32 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q32] = x_ExplicitVarSizeWithFlags_Values[q30] + | q32 : int(1..4)]) + | q30 : int(1..4)]), + and([q34 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q36] /\ + x_ExplicitVarSizeWithFlags_Values[q36] = x_ExplicitVarSizeWithMarker_Values[q34] + | q36 : int(1..4)]) + | q34 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_2_3_4_1-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_2_3_4_1-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_2_3_4_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_2_3_4_1-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_2_3_4_1-solution000002.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_2_3_4_1-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_2_3_4_1.eprime b/tests/exhaustive/basic/set06/expected/model_2_3_4_1.eprime new file mode 100644 index 0000000000..3132c81925 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_2_3_4_1.eprime @@ -0,0 +1,78 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_Occurrence: matrix indexed by [int(1..4)] of bool +branching on + [x_Occurrence, x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, + x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values] +such that + or([x_ExplicitVarSizeWithDummy[q54] != 5 /\ x_ExplicitVarSizeWithDummy[q54] = 1 | q54 : int(1..4)]), + or([q56 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q56] = 2 | q56 : int(1..4)]), + or([x_ExplicitVarSizeWithFlags_Flags[q58] /\ x_ExplicitVarSizeWithFlags_Values[q58] = 3 | q58 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 5 + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q2] = 5 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 5 | q2 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q3] != 5) | q3 : int(1..4)]) <= 4, + and([q5 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q5] < x_ExplicitVarSizeWithMarker_Values[q5 + 1] + | q5 : int(1..3)]), + and([q6 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q6] = 1 | q6 : int(1..4)]), + x_ExplicitVarSizeWithMarker_Marker <= 4, + and([q9 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q11] != 5 /\ + x_ExplicitVarSizeWithDummy[q11] = x_ExplicitVarSizeWithMarker_Values[q9] + | q11 : int(1..4)]) + | q9 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q13] != 5 -> + or([q15 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q15] = x_ExplicitVarSizeWithDummy[q13] + | q15 : int(1..4)]) + | q13 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q16 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q16] < x_ExplicitVarSizeWithFlags_Values[q16 + 1] + | q16 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q17] = false -> x_ExplicitVarSizeWithFlags_Values[q17] = 1 + | q17 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q18 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q18] | q18 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q19]) | q19 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithFlags_Flags[q22] -> + or([x_ExplicitVarSizeWithDummy[q24] != 5 /\ + x_ExplicitVarSizeWithDummy[q24] = x_ExplicitVarSizeWithFlags_Values[q22] + | q24 : int(1..4)]) + | q22 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q26] != 5 -> + or([x_ExplicitVarSizeWithFlags_Flags[q28] /\ + x_ExplicitVarSizeWithFlags_Values[q28] = x_ExplicitVarSizeWithDummy[q26] + | q28 : int(1..4)]) + | q26 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q30] -> + or([q32 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q32] = x_ExplicitVarSizeWithFlags_Values[q30] + | q32 : int(1..4)]) + | q30 : int(1..4)]), + and([q34 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q36] /\ + x_ExplicitVarSizeWithFlags_Values[q36] = x_ExplicitVarSizeWithMarker_Values[q34] + | q36 : int(1..4)]) + | q34 : int(1..4)]), + sum([toInt(x_Occurrence[q37]) | q37 : int(1..4)]) <= 4, + and([x_Occurrence[q38] -> + or([x_ExplicitVarSizeWithDummy[q40] != 5 /\ x_ExplicitVarSizeWithDummy[q40] = q38 | q40 : int(1..4)]) + | q38 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q42] != 5 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q42]] | q42 : int(1..4)]), + and([x_Occurrence[q43] -> + or([q45 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q45] = q43 + | q45 : int(1..4)]) + | q43 : int(1..4)]), + and([q47 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q47]] + | q47 : int(1..4)]), + and([x_Occurrence[q48] -> + or([x_ExplicitVarSizeWithFlags_Flags[q50] /\ x_ExplicitVarSizeWithFlags_Values[q50] = q48 | q50 : int(1..4)]) + | q48 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q52] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q52]] + | q52 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_2_3_4_2-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_2_3_4_2-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_2_3_4_2-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_2_3_4_2-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_2_3_4_2-solution000002.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_2_3_4_2-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_2_3_4_2.eprime b/tests/exhaustive/basic/set06/expected/model_2_3_4_2.eprime new file mode 100644 index 0000000000..1359af27c8 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_2_3_4_2.eprime @@ -0,0 +1,61 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_ExplicitVarSizeWithDummy, + x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values] +such that + or([x_ExplicitVarSizeWithDummy[q38] != 5 /\ x_ExplicitVarSizeWithDummy[q38] = 1 | q38 : int(1..4)]), + or([q40 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q40] = 2 | q40 : int(1..4)]), + or([x_ExplicitVarSizeWithFlags_Flags[q42] /\ x_ExplicitVarSizeWithFlags_Values[q42] = 3 | q42 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 5 + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q2] = 5 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 5 | q2 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q3] != 5) | q3 : int(1..4)]) <= 4, + and([q5 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q5] < x_ExplicitVarSizeWithMarker_Values[q5 + 1] + | q5 : int(1..3)]), + and([q6 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q6] = 1 | q6 : int(1..4)]), + x_ExplicitVarSizeWithMarker_Marker <= 4, + and([q9 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q11] != 5 /\ + x_ExplicitVarSizeWithDummy[q11] = x_ExplicitVarSizeWithMarker_Values[q9] + | q11 : int(1..4)]) + | q9 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q13] != 5 -> + or([q15 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q15] = x_ExplicitVarSizeWithDummy[q13] + | q15 : int(1..4)]) + | q13 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q16 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q16] < x_ExplicitVarSizeWithFlags_Values[q16 + 1] + | q16 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q17] = false -> x_ExplicitVarSizeWithFlags_Values[q17] = 1 + | q17 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q18 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q18] | q18 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q19]) | q19 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithFlags_Flags[q22] -> + or([x_ExplicitVarSizeWithDummy[q24] != 5 /\ + x_ExplicitVarSizeWithDummy[q24] = x_ExplicitVarSizeWithFlags_Values[q22] + | q24 : int(1..4)]) + | q22 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q26] != 5 -> + or([x_ExplicitVarSizeWithFlags_Flags[q28] /\ + x_ExplicitVarSizeWithFlags_Values[q28] = x_ExplicitVarSizeWithDummy[q26] + | q28 : int(1..4)]) + | q26 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q30] -> + or([q32 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q32] = x_ExplicitVarSizeWithFlags_Values[q30] + | q32 : int(1..4)]) + | q30 : int(1..4)]), + and([q34 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q36] /\ + x_ExplicitVarSizeWithFlags_Values[q36] = x_ExplicitVarSizeWithMarker_Values[q34] + | q36 : int(1..4)]) + | q34 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_2_4_1_1-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_2_4_1_1-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_2_4_1_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_2_4_1_1-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_2_4_1_1-solution000002.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_2_4_1_1-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_2_4_1_1.eprime b/tests/exhaustive/basic/set06/expected/model_2_4_1_1.eprime new file mode 100644 index 0000000000..632496e075 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_2_4_1_1.eprime @@ -0,0 +1,43 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_Occurrence: matrix indexed by [int(1..4)] of bool +branching on + [x_Occurrence, x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values] +such that + or([x_ExplicitVarSizeWithDummy[q30] != 5 /\ x_ExplicitVarSizeWithDummy[q30] = 1 | q30 : int(1..4)]), + or([x_ExplicitVarSizeWithFlags_Flags[q32] /\ x_ExplicitVarSizeWithFlags_Values[q32] = 2 | q32 : int(1..4)]), + x_Occurrence[3], + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 5 + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q2] = 5 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 5 | q2 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q3] != 5) | q3 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithFlags_Flags[q5 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q5] < x_ExplicitVarSizeWithFlags_Values[q5 + 1] + | q5 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q6] = false -> x_ExplicitVarSizeWithFlags_Values[q6] = 1 | q6 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q7 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q7] | q7 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q8]) | q8 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithFlags_Flags[q11] -> + or([x_ExplicitVarSizeWithDummy[q13] != 5 /\ + x_ExplicitVarSizeWithDummy[q13] = x_ExplicitVarSizeWithFlags_Values[q11] + | q13 : int(1..4)]) + | q11 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q15] != 5 -> + or([x_ExplicitVarSizeWithFlags_Flags[q17] /\ + x_ExplicitVarSizeWithFlags_Values[q17] = x_ExplicitVarSizeWithDummy[q15] + | q17 : int(1..4)]) + | q15 : int(1..4)]), + sum([toInt(x_Occurrence[q18]) | q18 : int(1..4)]) <= 4, + and([x_Occurrence[q19] -> + or([x_ExplicitVarSizeWithDummy[q21] != 5 /\ x_ExplicitVarSizeWithDummy[q21] = q19 | q21 : int(1..4)]) + | q19 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q23] != 5 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q23]] | q23 : int(1..4)]), + and([x_Occurrence[q24] -> + or([x_ExplicitVarSizeWithFlags_Flags[q26] /\ x_ExplicitVarSizeWithFlags_Values[q26] = q24 | q26 : int(1..4)]) + | q24 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q28] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q28]] + | q28 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_2_4_1_3-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_2_4_1_3-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_2_4_1_3-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_2_4_1_3-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_2_4_1_3-solution000002.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_2_4_1_3-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_2_4_1_3.eprime b/tests/exhaustive/basic/set06/expected/model_2_4_1_3.eprime new file mode 100644 index 0000000000..1e494d1026 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_2_4_1_3.eprime @@ -0,0 +1,77 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_Occurrence: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_ExplicitVarSizeWithDummy, + x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_Occurrence] +such that + or([x_ExplicitVarSizeWithDummy[q54] != 5 /\ x_ExplicitVarSizeWithDummy[q54] = 1 | q54 : int(1..4)]), + or([x_ExplicitVarSizeWithFlags_Flags[q56] /\ x_ExplicitVarSizeWithFlags_Values[q56] = 2 | q56 : int(1..4)]), + x_Occurrence[3], + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 5 + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q2] = 5 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 5 | q2 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q3] != 5) | q3 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithFlags_Flags[q5 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q5] < x_ExplicitVarSizeWithFlags_Values[q5 + 1] + | q5 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q6] = false -> x_ExplicitVarSizeWithFlags_Values[q6] = 1 | q6 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q7 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q7] | q7 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q8]) | q8 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithFlags_Flags[q11] -> + or([x_ExplicitVarSizeWithDummy[q13] != 5 /\ + x_ExplicitVarSizeWithDummy[q13] = x_ExplicitVarSizeWithFlags_Values[q11] + | q13 : int(1..4)]) + | q11 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q15] != 5 -> + or([x_ExplicitVarSizeWithFlags_Flags[q17] /\ + x_ExplicitVarSizeWithFlags_Values[q17] = x_ExplicitVarSizeWithDummy[q15] + | q17 : int(1..4)]) + | q15 : int(1..4)]), + sum([toInt(x_Occurrence[q18]) | q18 : int(1..4)]) <= 4, + and([x_Occurrence[q43] -> + or([x_ExplicitVarSizeWithDummy[q45] != 5 /\ x_ExplicitVarSizeWithDummy[q45] = q43 | q45 : int(1..4)]) + | q43 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q47] != 5 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q47]] | q47 : int(1..4)]), + and([x_Occurrence[q48] -> + or([x_ExplicitVarSizeWithFlags_Flags[q50] /\ x_ExplicitVarSizeWithFlags_Values[q50] = q48 | q50 : int(1..4)]) + | q48 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q52] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q52]] + | q52 : int(1..4)]), + and([q19 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q19] < x_ExplicitVarSizeWithMarker_Values[q19 + 1] + | q19 : int(1..3)]), + and([q20 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q20] = 1 | q20 : int(1..4)]), + x_ExplicitVarSizeWithMarker_Marker <= 4, + and([q23 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q25] != 5 /\ + x_ExplicitVarSizeWithDummy[q25] = x_ExplicitVarSizeWithMarker_Values[q23] + | q25 : int(1..4)]) + | q23 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q27] != 5 -> + or([q29 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q29] = x_ExplicitVarSizeWithDummy[q27] + | q29 : int(1..4)]) + | q27 : int(1..4)]), + and([q31 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q33] /\ + x_ExplicitVarSizeWithFlags_Values[q33] = x_ExplicitVarSizeWithMarker_Values[q31] + | q33 : int(1..4)]) + | q31 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q35] -> + or([q37 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q37] = x_ExplicitVarSizeWithFlags_Values[q35] + | q37 : int(1..4)]) + | q35 : int(1..4)]), + and([q39 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q39]] + | q39 : int(1..4)]), + and([x_Occurrence[q40] -> + or([q42 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q42] = q40 + | q42 : int(1..4)]) + | q40 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_2_4_2_1-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_2_4_2_1-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_2_4_2_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_2_4_2_1-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_2_4_2_1-solution000002.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_2_4_2_1-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_2_4_2_1.eprime b/tests/exhaustive/basic/set06/expected/model_2_4_2_1.eprime new file mode 100644 index 0000000000..fc14f2c0db --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_2_4_2_1.eprime @@ -0,0 +1,43 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_Occurrence: matrix indexed by [int(1..4)] of bool +branching on + [x_Occurrence, x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values] +such that + or([x_ExplicitVarSizeWithDummy[q30] != 5 /\ x_ExplicitVarSizeWithDummy[q30] = 1 | q30 : int(1..4)]), + or([x_ExplicitVarSizeWithFlags_Flags[q32] /\ x_ExplicitVarSizeWithFlags_Values[q32] = 2 | q32 : int(1..4)]), + or([x_ExplicitVarSizeWithDummy[q34] != 5 /\ x_ExplicitVarSizeWithDummy[q34] = 3 | q34 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 5 + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q2] = 5 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 5 | q2 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q3] != 5) | q3 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithFlags_Flags[q5 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q5] < x_ExplicitVarSizeWithFlags_Values[q5 + 1] + | q5 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q6] = false -> x_ExplicitVarSizeWithFlags_Values[q6] = 1 | q6 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q7 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q7] | q7 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q8]) | q8 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithFlags_Flags[q11] -> + or([x_ExplicitVarSizeWithDummy[q13] != 5 /\ + x_ExplicitVarSizeWithDummy[q13] = x_ExplicitVarSizeWithFlags_Values[q11] + | q13 : int(1..4)]) + | q11 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q15] != 5 -> + or([x_ExplicitVarSizeWithFlags_Flags[q17] /\ + x_ExplicitVarSizeWithFlags_Values[q17] = x_ExplicitVarSizeWithDummy[q15] + | q17 : int(1..4)]) + | q15 : int(1..4)]), + sum([toInt(x_Occurrence[q18]) | q18 : int(1..4)]) <= 4, + and([x_Occurrence[q19] -> + or([x_ExplicitVarSizeWithDummy[q21] != 5 /\ x_ExplicitVarSizeWithDummy[q21] = q19 | q21 : int(1..4)]) + | q19 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q23] != 5 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q23]] | q23 : int(1..4)]), + and([x_Occurrence[q24] -> + or([x_ExplicitVarSizeWithFlags_Flags[q26] /\ x_ExplicitVarSizeWithFlags_Values[q26] = q24 | q26 : int(1..4)]) + | q24 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q28] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q28]] + | q28 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_2_4_2_2-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_2_4_2_2-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_2_4_2_2-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_2_4_2_2-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_2_4_2_2-solution000002.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_2_4_2_2-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_2_4_2_2.eprime b/tests/exhaustive/basic/set06/expected/model_2_4_2_2.eprime new file mode 100644 index 0000000000..c887a723c4 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_2_4_2_2.eprime @@ -0,0 +1,31 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +branching on [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_ExplicitVarSizeWithDummy] +such that + or([x_ExplicitVarSizeWithDummy[q19] != 5 /\ x_ExplicitVarSizeWithDummy[q19] = 1 | q19 : int(1..4)]), + or([x_ExplicitVarSizeWithFlags_Flags[q21] /\ x_ExplicitVarSizeWithFlags_Values[q21] = 2 | q21 : int(1..4)]), + or([x_ExplicitVarSizeWithDummy[q23] != 5 /\ x_ExplicitVarSizeWithDummy[q23] = 3 | q23 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 5 + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q2] = 5 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 5 | q2 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q3] != 5) | q3 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithFlags_Flags[q5 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q5] < x_ExplicitVarSizeWithFlags_Values[q5 + 1] + | q5 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q6] = false -> x_ExplicitVarSizeWithFlags_Values[q6] = 1 | q6 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q7 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q7] | q7 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q8]) | q8 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithFlags_Flags[q11] -> + or([x_ExplicitVarSizeWithDummy[q13] != 5 /\ + x_ExplicitVarSizeWithDummy[q13] = x_ExplicitVarSizeWithFlags_Values[q11] + | q13 : int(1..4)]) + | q11 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q15] != 5 -> + or([x_ExplicitVarSizeWithFlags_Flags[q17] /\ + x_ExplicitVarSizeWithFlags_Values[q17] = x_ExplicitVarSizeWithDummy[q15] + | q17 : int(1..4)]) + | q15 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_2_4_2_3-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_2_4_2_3-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_2_4_2_3-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_2_4_2_3-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_2_4_2_3-solution000002.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_2_4_2_3-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_2_4_2_3.eprime b/tests/exhaustive/basic/set06/expected/model_2_4_2_3.eprime new file mode 100644 index 0000000000..9f009dc6b0 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_2_4_2_3.eprime @@ -0,0 +1,60 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_ExplicitVarSizeWithDummy, + x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values] +such that + or([x_ExplicitVarSizeWithDummy[q38] != 5 /\ x_ExplicitVarSizeWithDummy[q38] = 1 | q38 : int(1..4)]), + or([x_ExplicitVarSizeWithFlags_Flags[q40] /\ x_ExplicitVarSizeWithFlags_Values[q40] = 2 | q40 : int(1..4)]), + or([x_ExplicitVarSizeWithDummy[q42] != 5 /\ x_ExplicitVarSizeWithDummy[q42] = 3 | q42 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 5 + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q2] = 5 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 5 | q2 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q3] != 5) | q3 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithFlags_Flags[q5 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q5] < x_ExplicitVarSizeWithFlags_Values[q5 + 1] + | q5 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q6] = false -> x_ExplicitVarSizeWithFlags_Values[q6] = 1 | q6 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q7 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q7] | q7 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q8]) | q8 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithFlags_Flags[q11] -> + or([x_ExplicitVarSizeWithDummy[q13] != 5 /\ + x_ExplicitVarSizeWithDummy[q13] = x_ExplicitVarSizeWithFlags_Values[q11] + | q13 : int(1..4)]) + | q11 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q15] != 5 -> + or([x_ExplicitVarSizeWithFlags_Flags[q17] /\ + x_ExplicitVarSizeWithFlags_Values[q17] = x_ExplicitVarSizeWithDummy[q15] + | q17 : int(1..4)]) + | q15 : int(1..4)]), + and([q18 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q18] < x_ExplicitVarSizeWithMarker_Values[q18 + 1] + | q18 : int(1..3)]), + and([q19 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q19] = 1 | q19 : int(1..4)]), + x_ExplicitVarSizeWithMarker_Marker <= 4, + and([q22 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q24] != 5 /\ + x_ExplicitVarSizeWithDummy[q24] = x_ExplicitVarSizeWithMarker_Values[q22] + | q24 : int(1..4)]) + | q22 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q26] != 5 -> + or([q28 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q28] = x_ExplicitVarSizeWithDummy[q26] + | q28 : int(1..4)]) + | q26 : int(1..4)]), + and([q30 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q32] /\ + x_ExplicitVarSizeWithFlags_Values[q32] = x_ExplicitVarSizeWithMarker_Values[q30] + | q32 : int(1..4)]) + | q30 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q34] -> + or([q36 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q36] = x_ExplicitVarSizeWithFlags_Values[q34] + | q36 : int(1..4)]) + | q34 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_2_4_3_1-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_2_4_3_1-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_2_4_3_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_2_4_3_1-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_2_4_3_1-solution000002.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_2_4_3_1-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_2_4_3_1.eprime b/tests/exhaustive/basic/set06/expected/model_2_4_3_1.eprime new file mode 100644 index 0000000000..c5d220fcc3 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_2_4_3_1.eprime @@ -0,0 +1,77 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_Occurrence: matrix indexed by [int(1..4)] of bool +branching on + [x_Occurrence, x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, + x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values] +such that + or([x_ExplicitVarSizeWithDummy[q54] != 5 /\ x_ExplicitVarSizeWithDummy[q54] = 1 | q54 : int(1..4)]), + or([x_ExplicitVarSizeWithFlags_Flags[q56] /\ x_ExplicitVarSizeWithFlags_Values[q56] = 2 | q56 : int(1..4)]), + or([q58 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q58] = 3 | q58 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 5 + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q2] = 5 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 5 | q2 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q3] != 5) | q3 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithFlags_Flags[q5 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q5] < x_ExplicitVarSizeWithFlags_Values[q5 + 1] + | q5 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q6] = false -> x_ExplicitVarSizeWithFlags_Values[q6] = 1 | q6 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q7 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q7] | q7 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q8]) | q8 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithFlags_Flags[q11] -> + or([x_ExplicitVarSizeWithDummy[q13] != 5 /\ + x_ExplicitVarSizeWithDummy[q13] = x_ExplicitVarSizeWithFlags_Values[q11] + | q13 : int(1..4)]) + | q11 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q15] != 5 -> + or([x_ExplicitVarSizeWithFlags_Flags[q17] /\ + x_ExplicitVarSizeWithFlags_Values[q17] = x_ExplicitVarSizeWithDummy[q15] + | q17 : int(1..4)]) + | q15 : int(1..4)]), + and([q18 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q18] < x_ExplicitVarSizeWithMarker_Values[q18 + 1] + | q18 : int(1..3)]), + and([q19 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q19] = 1 | q19 : int(1..4)]), + x_ExplicitVarSizeWithMarker_Marker <= 4, + and([q22 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q24] != 5 /\ + x_ExplicitVarSizeWithDummy[q24] = x_ExplicitVarSizeWithMarker_Values[q22] + | q24 : int(1..4)]) + | q22 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q26] != 5 -> + or([q28 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q28] = x_ExplicitVarSizeWithDummy[q26] + | q28 : int(1..4)]) + | q26 : int(1..4)]), + and([q30 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q32] /\ + x_ExplicitVarSizeWithFlags_Values[q32] = x_ExplicitVarSizeWithMarker_Values[q30] + | q32 : int(1..4)]) + | q30 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q34] -> + or([q36 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q36] = x_ExplicitVarSizeWithFlags_Values[q34] + | q36 : int(1..4)]) + | q34 : int(1..4)]), + sum([toInt(x_Occurrence[q37]) | q37 : int(1..4)]) <= 4, + and([x_Occurrence[q38] -> + or([x_ExplicitVarSizeWithDummy[q40] != 5 /\ x_ExplicitVarSizeWithDummy[q40] = q38 | q40 : int(1..4)]) + | q38 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q42] != 5 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q42]] | q42 : int(1..4)]), + and([x_Occurrence[q43] -> + or([x_ExplicitVarSizeWithFlags_Flags[q45] /\ x_ExplicitVarSizeWithFlags_Values[q45] = q43 | q45 : int(1..4)]) + | q43 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q47] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q47]] + | q47 : int(1..4)]), + and([x_Occurrence[q48] -> + or([q50 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q50] = q48 + | q50 : int(1..4)]) + | q48 : int(1..4)]), + and([q52 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q52]] + | q52 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_2_4_3_2-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_2_4_3_2-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_2_4_3_2-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_2_4_3_2-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_2_4_3_2-solution000002.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_2_4_3_2-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_2_4_3_2.eprime b/tests/exhaustive/basic/set06/expected/model_2_4_3_2.eprime new file mode 100644 index 0000000000..58bc43d769 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_2_4_3_2.eprime @@ -0,0 +1,60 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_ExplicitVarSizeWithDummy, + x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values] +such that + or([x_ExplicitVarSizeWithDummy[q38] != 5 /\ x_ExplicitVarSizeWithDummy[q38] = 1 | q38 : int(1..4)]), + or([x_ExplicitVarSizeWithFlags_Flags[q40] /\ x_ExplicitVarSizeWithFlags_Values[q40] = 2 | q40 : int(1..4)]), + or([q42 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q42] = 3 | q42 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 5 + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q2] = 5 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 5 | q2 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q3] != 5) | q3 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithFlags_Flags[q5 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q5] < x_ExplicitVarSizeWithFlags_Values[q5 + 1] + | q5 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q6] = false -> x_ExplicitVarSizeWithFlags_Values[q6] = 1 | q6 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q7 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q7] | q7 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q8]) | q8 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithFlags_Flags[q11] -> + or([x_ExplicitVarSizeWithDummy[q13] != 5 /\ + x_ExplicitVarSizeWithDummy[q13] = x_ExplicitVarSizeWithFlags_Values[q11] + | q13 : int(1..4)]) + | q11 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q15] != 5 -> + or([x_ExplicitVarSizeWithFlags_Flags[q17] /\ + x_ExplicitVarSizeWithFlags_Values[q17] = x_ExplicitVarSizeWithDummy[q15] + | q17 : int(1..4)]) + | q15 : int(1..4)]), + and([q18 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q18] < x_ExplicitVarSizeWithMarker_Values[q18 + 1] + | q18 : int(1..3)]), + and([q19 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q19] = 1 | q19 : int(1..4)]), + x_ExplicitVarSizeWithMarker_Marker <= 4, + and([q22 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q24] != 5 /\ + x_ExplicitVarSizeWithDummy[q24] = x_ExplicitVarSizeWithMarker_Values[q22] + | q24 : int(1..4)]) + | q22 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q26] != 5 -> + or([q28 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q28] = x_ExplicitVarSizeWithDummy[q26] + | q28 : int(1..4)]) + | q26 : int(1..4)]), + and([q30 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q32] /\ + x_ExplicitVarSizeWithFlags_Values[q32] = x_ExplicitVarSizeWithMarker_Values[q30] + | q32 : int(1..4)]) + | q30 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q34] -> + or([q36 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q36] = x_ExplicitVarSizeWithFlags_Values[q34] + | q36 : int(1..4)]) + | q34 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_2_4_4_1-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_2_4_4_1-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_2_4_4_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_2_4_4_1-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_2_4_4_1-solution000002.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_2_4_4_1-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_2_4_4_1.eprime b/tests/exhaustive/basic/set06/expected/model_2_4_4_1.eprime new file mode 100644 index 0000000000..5312aea309 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_2_4_4_1.eprime @@ -0,0 +1,43 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_Occurrence: matrix indexed by [int(1..4)] of bool +branching on + [x_Occurrence, x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values] +such that + or([x_ExplicitVarSizeWithDummy[q30] != 5 /\ x_ExplicitVarSizeWithDummy[q30] = 1 | q30 : int(1..4)]), + or([x_ExplicitVarSizeWithFlags_Flags[q32] /\ x_ExplicitVarSizeWithFlags_Values[q32] = 2 | q32 : int(1..4)]), + or([x_ExplicitVarSizeWithFlags_Flags[q34] /\ x_ExplicitVarSizeWithFlags_Values[q34] = 3 | q34 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 5 + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q2] = 5 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 5 | q2 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q3] != 5) | q3 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithFlags_Flags[q5 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q5] < x_ExplicitVarSizeWithFlags_Values[q5 + 1] + | q5 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q6] = false -> x_ExplicitVarSizeWithFlags_Values[q6] = 1 | q6 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q7 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q7] | q7 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q8]) | q8 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithFlags_Flags[q11] -> + or([x_ExplicitVarSizeWithDummy[q13] != 5 /\ + x_ExplicitVarSizeWithDummy[q13] = x_ExplicitVarSizeWithFlags_Values[q11] + | q13 : int(1..4)]) + | q11 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q15] != 5 -> + or([x_ExplicitVarSizeWithFlags_Flags[q17] /\ + x_ExplicitVarSizeWithFlags_Values[q17] = x_ExplicitVarSizeWithDummy[q15] + | q17 : int(1..4)]) + | q15 : int(1..4)]), + sum([toInt(x_Occurrence[q18]) | q18 : int(1..4)]) <= 4, + and([x_Occurrence[q19] -> + or([x_ExplicitVarSizeWithDummy[q21] != 5 /\ x_ExplicitVarSizeWithDummy[q21] = q19 | q21 : int(1..4)]) + | q19 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q23] != 5 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q23]] | q23 : int(1..4)]), + and([x_Occurrence[q24] -> + or([x_ExplicitVarSizeWithFlags_Flags[q26] /\ x_ExplicitVarSizeWithFlags_Values[q26] = q24 | q26 : int(1..4)]) + | q24 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q28] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q28]] + | q28 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_2_4_4_2-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_2_4_4_2-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_2_4_4_2-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_2_4_4_2-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_2_4_4_2-solution000002.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_2_4_4_2-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_2_4_4_2.eprime b/tests/exhaustive/basic/set06/expected/model_2_4_4_2.eprime new file mode 100644 index 0000000000..819431e7aa --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_2_4_4_2.eprime @@ -0,0 +1,31 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +branching on [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_ExplicitVarSizeWithDummy] +such that + or([x_ExplicitVarSizeWithDummy[q19] != 5 /\ x_ExplicitVarSizeWithDummy[q19] = 1 | q19 : int(1..4)]), + or([x_ExplicitVarSizeWithFlags_Flags[q21] /\ x_ExplicitVarSizeWithFlags_Values[q21] = 2 | q21 : int(1..4)]), + or([x_ExplicitVarSizeWithFlags_Flags[q23] /\ x_ExplicitVarSizeWithFlags_Values[q23] = 3 | q23 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 5 + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q2] = 5 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 5 | q2 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q3] != 5) | q3 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithFlags_Flags[q5 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q5] < x_ExplicitVarSizeWithFlags_Values[q5 + 1] + | q5 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q6] = false -> x_ExplicitVarSizeWithFlags_Values[q6] = 1 | q6 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q7 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q7] | q7 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q8]) | q8 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithFlags_Flags[q11] -> + or([x_ExplicitVarSizeWithDummy[q13] != 5 /\ + x_ExplicitVarSizeWithDummy[q13] = x_ExplicitVarSizeWithFlags_Values[q11] + | q13 : int(1..4)]) + | q11 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q15] != 5 -> + or([x_ExplicitVarSizeWithFlags_Flags[q17] /\ + x_ExplicitVarSizeWithFlags_Values[q17] = x_ExplicitVarSizeWithDummy[q15] + | q17 : int(1..4)]) + | q15 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_2_4_4_3-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_2_4_4_3-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_2_4_4_3-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_2_4_4_3-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_2_4_4_3-solution000002.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_2_4_4_3-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_2_4_4_3.eprime b/tests/exhaustive/basic/set06/expected/model_2_4_4_3.eprime new file mode 100644 index 0000000000..7c6e3d9d88 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_2_4_4_3.eprime @@ -0,0 +1,60 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_ExplicitVarSizeWithDummy, + x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values] +such that + or([x_ExplicitVarSizeWithDummy[q38] != 5 /\ x_ExplicitVarSizeWithDummy[q38] = 1 | q38 : int(1..4)]), + or([x_ExplicitVarSizeWithFlags_Flags[q40] /\ x_ExplicitVarSizeWithFlags_Values[q40] = 2 | q40 : int(1..4)]), + or([x_ExplicitVarSizeWithFlags_Flags[q42] /\ x_ExplicitVarSizeWithFlags_Values[q42] = 3 | q42 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 5 + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q2] = 5 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 5 | q2 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q3] != 5) | q3 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithFlags_Flags[q5 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q5] < x_ExplicitVarSizeWithFlags_Values[q5 + 1] + | q5 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q6] = false -> x_ExplicitVarSizeWithFlags_Values[q6] = 1 | q6 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q7 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q7] | q7 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q8]) | q8 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithFlags_Flags[q11] -> + or([x_ExplicitVarSizeWithDummy[q13] != 5 /\ + x_ExplicitVarSizeWithDummy[q13] = x_ExplicitVarSizeWithFlags_Values[q11] + | q13 : int(1..4)]) + | q11 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q15] != 5 -> + or([x_ExplicitVarSizeWithFlags_Flags[q17] /\ + x_ExplicitVarSizeWithFlags_Values[q17] = x_ExplicitVarSizeWithDummy[q15] + | q17 : int(1..4)]) + | q15 : int(1..4)]), + and([q18 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q18] < x_ExplicitVarSizeWithMarker_Values[q18 + 1] + | q18 : int(1..3)]), + and([q19 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q19] = 1 | q19 : int(1..4)]), + x_ExplicitVarSizeWithMarker_Marker <= 4, + and([q22 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q24] != 5 /\ + x_ExplicitVarSizeWithDummy[q24] = x_ExplicitVarSizeWithMarker_Values[q22] + | q24 : int(1..4)]) + | q22 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q26] != 5 -> + or([q28 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q28] = x_ExplicitVarSizeWithDummy[q26] + | q28 : int(1..4)]) + | q26 : int(1..4)]), + and([q30 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q32] /\ + x_ExplicitVarSizeWithFlags_Values[q32] = x_ExplicitVarSizeWithMarker_Values[q30] + | q32 : int(1..4)]) + | q30 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q34] -> + or([q36 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q36] = x_ExplicitVarSizeWithFlags_Values[q34] + | q36 : int(1..4)]) + | q34 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_3_1_1_1-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_3_1_1_1-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_3_1_1_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_3_1_1_1-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_3_1_1_1-solution000002.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_3_1_1_1-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_3_1_1_1.eprime b/tests/exhaustive/basic/set06/expected/model_3_1_1_1.eprime new file mode 100644 index 0000000000..b786f3d150 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_3_1_1_1.eprime @@ -0,0 +1,22 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_Occurrence: matrix indexed by [int(1..4)] of bool +branching on [x_Occurrence, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values] +such that + or([q11 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q11] = 1 | q11 : int(1..4)]), + x_Occurrence[2], + x_Occurrence[3], + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..3)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 1 | q2 : int(1..4)]), + x_ExplicitVarSizeWithMarker_Marker <= 4, + sum([toInt(x_Occurrence[q4]) | q4 : int(1..4)]) <= 4, + and([x_Occurrence[q5] -> + or([q7 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q7] = q5 | q7 : int(1..4)]) + | q5 : int(1..4)]), + and([q9 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q9]] + | q9 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_3_1_1_2-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_3_1_1_2-solution000001.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_3_1_1_2-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_3_1_1_2-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_3_1_1_2-solution000002.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_3_1_1_2-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_3_1_1_2.eprime b/tests/exhaustive/basic/set06/expected/model_3_1_1_2.eprime new file mode 100644 index 0000000000..8f65d99356 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_3_1_1_2.eprime @@ -0,0 +1,43 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_Occurrence: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +branching on + [x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_Occurrence] +such that + or([q28 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q28] = 1 | q28 : int(1..4)]), + x_Occurrence[2], + x_Occurrence[3], + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..3)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 1 | q2 : int(1..4)]), + x_ExplicitVarSizeWithMarker_Marker <= 4, + sum([toInt(x_Occurrence[q4]) | q4 : int(1..4)]) <= 4, + and([x_Occurrence[q22] -> + or([q24 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q24] = q22 + | q24 : int(1..4)]) + | q22 : int(1..4)]), + and([q26 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q26]] + | q26 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q5] < x_ExplicitVarSizeWithDummy[q5 + 1] \/ x_ExplicitVarSizeWithDummy[q5] = 5 + | q5 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q6] = 5 -> x_ExplicitVarSizeWithDummy[q6 + 1] = 5 | q6 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q7] != 5) | q7 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithDummy[q10] != 5 -> + or([q12 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q12] = x_ExplicitVarSizeWithDummy[q10] + | q12 : int(1..4)]) + | q10 : int(1..4)]), + and([q14 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q16] != 5 /\ + x_ExplicitVarSizeWithDummy[q16] = x_ExplicitVarSizeWithMarker_Values[q14] + | q16 : int(1..4)]) + | q14 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q18] != 5 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q18]] | q18 : int(1..4)]), + and([x_Occurrence[q19] -> + or([x_ExplicitVarSizeWithDummy[q21] != 5 /\ x_ExplicitVarSizeWithDummy[q21] = q19 | q21 : int(1..4)]) + | q19 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_3_1_1_4-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_3_1_1_4-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_3_1_1_4-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_3_1_1_4-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_3_1_1_4-solution000002.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_3_1_1_4-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_3_1_1_4.eprime b/tests/exhaustive/basic/set06/expected/model_3_1_1_4.eprime new file mode 100644 index 0000000000..a8dbd5fdde --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_3_1_1_4.eprime @@ -0,0 +1,48 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_Occurrence: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_ExplicitVarSizeWithMarker_Marker, + x_ExplicitVarSizeWithMarker_Values, x_Occurrence] +such that + or([q29 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q29] = 1 | q29 : int(1..4)]), + x_Occurrence[2], + x_Occurrence[3], + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..3)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 1 | q2 : int(1..4)]), + x_ExplicitVarSizeWithMarker_Marker <= 4, + sum([toInt(x_Occurrence[q4]) | q4 : int(1..4)]) <= 4, + and([x_Occurrence[q23] -> + or([q25 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q25] = q23 + | q25 : int(1..4)]) + | q23 : int(1..4)]), + and([q27 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q27]] + | q27 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q5 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q5] < x_ExplicitVarSizeWithFlags_Values[q5 + 1] + | q5 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q6] = false -> x_ExplicitVarSizeWithFlags_Values[q6] = 1 | q6 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q7 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q7] | q7 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q8]) | q8 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithFlags_Flags[q11] -> + or([q13 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q13] = x_ExplicitVarSizeWithFlags_Values[q11] + | q13 : int(1..4)]) + | q11 : int(1..4)]), + and([q15 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q17] /\ + x_ExplicitVarSizeWithFlags_Values[q17] = x_ExplicitVarSizeWithMarker_Values[q15] + | q17 : int(1..4)]) + | q15 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q19] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q19]] + | q19 : int(1..4)]), + and([x_Occurrence[q20] -> + or([x_ExplicitVarSizeWithFlags_Flags[q22] /\ x_ExplicitVarSizeWithFlags_Values[q22] = q20 | q22 : int(1..4)]) + | q20 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_3_1_2_1-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_3_1_2_1-solution000001.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_3_1_2_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_3_1_2_1-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_3_1_2_1-solution000002.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_3_1_2_1-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_3_1_2_1.eprime b/tests/exhaustive/basic/set06/expected/model_3_1_2_1.eprime new file mode 100644 index 0000000000..f2fd3908db --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_3_1_2_1.eprime @@ -0,0 +1,43 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_Occurrence: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +branching on + [x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_Occurrence] +such that + or([q30 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q30] = 1 | q30 : int(1..4)]), + x_Occurrence[2], + or([x_ExplicitVarSizeWithDummy[q28] != 5 /\ x_ExplicitVarSizeWithDummy[q28] = 3 | q28 : int(1..4)]), + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..3)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 1 | q2 : int(1..4)]), + x_ExplicitVarSizeWithMarker_Marker <= 4, + sum([toInt(x_Occurrence[q4]) | q4 : int(1..4)]) <= 4, + and([x_Occurrence[q22] -> + or([q24 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q24] = q22 + | q24 : int(1..4)]) + | q22 : int(1..4)]), + and([q26 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q26]] + | q26 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q5] < x_ExplicitVarSizeWithDummy[q5 + 1] \/ x_ExplicitVarSizeWithDummy[q5] = 5 + | q5 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q6] = 5 -> x_ExplicitVarSizeWithDummy[q6 + 1] = 5 | q6 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q7] != 5) | q7 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithDummy[q10] != 5 -> + or([q12 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q12] = x_ExplicitVarSizeWithDummy[q10] + | q12 : int(1..4)]) + | q10 : int(1..4)]), + and([q14 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q16] != 5 /\ + x_ExplicitVarSizeWithDummy[q16] = x_ExplicitVarSizeWithMarker_Values[q14] + | q16 : int(1..4)]) + | q14 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q18] != 5 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q18]] | q18 : int(1..4)]), + and([x_Occurrence[q19] -> + or([x_ExplicitVarSizeWithDummy[q21] != 5 /\ x_ExplicitVarSizeWithDummy[q21] = q19 | q21 : int(1..4)]) + | q19 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_3_1_2_4-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_3_1_2_4-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_3_1_2_4-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_3_1_2_4-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_3_1_2_4-solution000002.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_3_1_2_4-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_3_1_2_4.eprime b/tests/exhaustive/basic/set06/expected/model_3_1_2_4.eprime new file mode 100644 index 0000000000..525362fb4b --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_3_1_2_4.eprime @@ -0,0 +1,78 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_Occurrence: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_ExplicitVarSizeWithMarker_Marker, + x_ExplicitVarSizeWithMarker_Values, x_Occurrence, x_ExplicitVarSizeWithDummy] +such that + or([q56 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q56] = 1 | q56 : int(1..4)]), + x_Occurrence[2], + or([x_ExplicitVarSizeWithDummy[q49] != 5 /\ x_ExplicitVarSizeWithDummy[q49] = 3 | q49 : int(1..4)]), + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..3)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 1 | q2 : int(1..4)]), + x_ExplicitVarSizeWithMarker_Marker <= 4, + sum([toInt(x_Occurrence[q4]) | q4 : int(1..4)]) <= 4, + and([x_Occurrence[q50] -> + or([q52 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q52] = q50 + | q52 : int(1..4)]) + | q50 : int(1..4)]), + and([q54 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q54]] + | q54 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q5] < x_ExplicitVarSizeWithDummy[q5 + 1] \/ x_ExplicitVarSizeWithDummy[q5] = 5 + | q5 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q6] = 5 -> x_ExplicitVarSizeWithDummy[q6 + 1] = 5 | q6 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q7] != 5) | q7 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithDummy[q10] != 5 -> + or([q12 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q12] = x_ExplicitVarSizeWithDummy[q10] + | q12 : int(1..4)]) + | q10 : int(1..4)]), + and([q14 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q16] != 5 /\ + x_ExplicitVarSizeWithDummy[q16] = x_ExplicitVarSizeWithMarker_Values[q14] + | q16 : int(1..4)]) + | q14 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q18] != 5 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q18]] | q18 : int(1..4)]), + and([x_Occurrence[q19] -> + or([x_ExplicitVarSizeWithDummy[q21] != 5 /\ x_ExplicitVarSizeWithDummy[q21] = q19 | q21 : int(1..4)]) + | q19 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q22 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q22] < x_ExplicitVarSizeWithFlags_Values[q22 + 1] + | q22 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q23] = false -> x_ExplicitVarSizeWithFlags_Values[q23] = 1 + | q23 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q24 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q24] | q24 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q25]) | q25 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithFlags_Flags[q28] -> + or([q30 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q30] = x_ExplicitVarSizeWithFlags_Values[q28] + | q30 : int(1..4)]) + | q28 : int(1..4)]), + and([q32 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q34] /\ + x_ExplicitVarSizeWithFlags_Values[q34] = x_ExplicitVarSizeWithMarker_Values[q32] + | q34 : int(1..4)]) + | q32 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q36] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q36]] + | q36 : int(1..4)]), + and([x_Occurrence[q37] -> + or([x_ExplicitVarSizeWithFlags_Flags[q39] /\ x_ExplicitVarSizeWithFlags_Values[q39] = q37 | q39 : int(1..4)]) + | q37 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q41] -> + or([x_ExplicitVarSizeWithDummy[q43] != 5 /\ + x_ExplicitVarSizeWithDummy[q43] = x_ExplicitVarSizeWithFlags_Values[q41] + | q43 : int(1..4)]) + | q41 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q45] != 5 -> + or([x_ExplicitVarSizeWithFlags_Flags[q47] /\ + x_ExplicitVarSizeWithFlags_Values[q47] = x_ExplicitVarSizeWithDummy[q45] + | q47 : int(1..4)]) + | q45 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_3_1_3_1-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_3_1_3_1-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_3_1_3_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_3_1_3_1-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_3_1_3_1-solution000002.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_3_1_3_1-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_3_1_3_1.eprime b/tests/exhaustive/basic/set06/expected/model_3_1_3_1.eprime new file mode 100644 index 0000000000..5e6282546a --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_3_1_3_1.eprime @@ -0,0 +1,22 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_Occurrence: matrix indexed by [int(1..4)] of bool +branching on [x_Occurrence, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values] +such that + or([q13 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q13] = 1 | q13 : int(1..4)]), + x_Occurrence[2], + or([q11 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q11] = 3 | q11 : int(1..4)]), + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..3)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 1 | q2 : int(1..4)]), + x_ExplicitVarSizeWithMarker_Marker <= 4, + sum([toInt(x_Occurrence[q4]) | q4 : int(1..4)]) <= 4, + and([x_Occurrence[q5] -> + or([q7 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q7] = q5 | q7 : int(1..4)]) + | q5 : int(1..4)]), + and([q9 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q9]] + | q9 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_3_1_3_2-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_3_1_3_2-solution000001.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_3_1_3_2-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_3_1_3_2-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_3_1_3_2-solution000002.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_3_1_3_2-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_3_1_3_2.eprime b/tests/exhaustive/basic/set06/expected/model_3_1_3_2.eprime new file mode 100644 index 0000000000..b537bac469 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_3_1_3_2.eprime @@ -0,0 +1,43 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_Occurrence: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +branching on + [x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_Occurrence] +such that + or([q30 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q30] = 1 | q30 : int(1..4)]), + x_Occurrence[2], + or([q28 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q28] = 3 | q28 : int(1..4)]), + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..3)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 1 | q2 : int(1..4)]), + x_ExplicitVarSizeWithMarker_Marker <= 4, + sum([toInt(x_Occurrence[q4]) | q4 : int(1..4)]) <= 4, + and([x_Occurrence[q22] -> + or([q24 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q24] = q22 + | q24 : int(1..4)]) + | q22 : int(1..4)]), + and([q26 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q26]] + | q26 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q5] < x_ExplicitVarSizeWithDummy[q5 + 1] \/ x_ExplicitVarSizeWithDummy[q5] = 5 + | q5 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q6] = 5 -> x_ExplicitVarSizeWithDummy[q6 + 1] = 5 | q6 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q7] != 5) | q7 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithDummy[q10] != 5 -> + or([q12 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q12] = x_ExplicitVarSizeWithDummy[q10] + | q12 : int(1..4)]) + | q10 : int(1..4)]), + and([q14 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q16] != 5 /\ + x_ExplicitVarSizeWithDummy[q16] = x_ExplicitVarSizeWithMarker_Values[q14] + | q16 : int(1..4)]) + | q14 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q18] != 5 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q18]] | q18 : int(1..4)]), + and([x_Occurrence[q19] -> + or([x_ExplicitVarSizeWithDummy[q21] != 5 /\ x_ExplicitVarSizeWithDummy[q21] = q19 | q21 : int(1..4)]) + | q19 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_3_1_3_4-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_3_1_3_4-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_3_1_3_4-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_3_1_3_4-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_3_1_3_4-solution000002.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_3_1_3_4-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_3_1_3_4.eprime b/tests/exhaustive/basic/set06/expected/model_3_1_3_4.eprime new file mode 100644 index 0000000000..3befc5cd42 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_3_1_3_4.eprime @@ -0,0 +1,48 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_Occurrence: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_ExplicitVarSizeWithMarker_Marker, + x_ExplicitVarSizeWithMarker_Values, x_Occurrence] +such that + or([q31 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q31] = 1 | q31 : int(1..4)]), + x_Occurrence[2], + or([q24 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q24] = 3 | q24 : int(1..4)]), + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..3)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 1 | q2 : int(1..4)]), + x_ExplicitVarSizeWithMarker_Marker <= 4, + sum([toInt(x_Occurrence[q4]) | q4 : int(1..4)]) <= 4, + and([x_Occurrence[q25] -> + or([q27 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q27] = q25 + | q27 : int(1..4)]) + | q25 : int(1..4)]), + and([q29 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q29]] + | q29 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q5 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q5] < x_ExplicitVarSizeWithFlags_Values[q5 + 1] + | q5 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q6] = false -> x_ExplicitVarSizeWithFlags_Values[q6] = 1 | q6 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q7 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q7] | q7 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q8]) | q8 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithFlags_Flags[q11] -> + or([q13 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q13] = x_ExplicitVarSizeWithFlags_Values[q11] + | q13 : int(1..4)]) + | q11 : int(1..4)]), + and([q15 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q17] /\ + x_ExplicitVarSizeWithFlags_Values[q17] = x_ExplicitVarSizeWithMarker_Values[q15] + | q17 : int(1..4)]) + | q15 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q19] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q19]] + | q19 : int(1..4)]), + and([x_Occurrence[q20] -> + or([x_ExplicitVarSizeWithFlags_Flags[q22] /\ x_ExplicitVarSizeWithFlags_Values[q22] = q20 | q22 : int(1..4)]) + | q20 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_3_1_4_1-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_3_1_4_1-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_3_1_4_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_3_1_4_1-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_3_1_4_1-solution000002.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_3_1_4_1-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_3_1_4_1.eprime b/tests/exhaustive/basic/set06/expected/model_3_1_4_1.eprime new file mode 100644 index 0000000000..8671f81ae6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_3_1_4_1.eprime @@ -0,0 +1,48 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_Occurrence: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_ExplicitVarSizeWithMarker_Marker, + x_ExplicitVarSizeWithMarker_Values, x_Occurrence] +such that + or([q31 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q31] = 1 | q31 : int(1..4)]), + x_Occurrence[2], + or([x_ExplicitVarSizeWithFlags_Flags[q24] /\ x_ExplicitVarSizeWithFlags_Values[q24] = 3 | q24 : int(1..4)]), + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..3)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 1 | q2 : int(1..4)]), + x_ExplicitVarSizeWithMarker_Marker <= 4, + sum([toInt(x_Occurrence[q4]) | q4 : int(1..4)]) <= 4, + and([x_Occurrence[q25] -> + or([q27 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q27] = q25 + | q27 : int(1..4)]) + | q25 : int(1..4)]), + and([q29 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q29]] + | q29 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q5 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q5] < x_ExplicitVarSizeWithFlags_Values[q5 + 1] + | q5 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q6] = false -> x_ExplicitVarSizeWithFlags_Values[q6] = 1 | q6 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q7 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q7] | q7 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q8]) | q8 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithFlags_Flags[q11] -> + or([q13 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q13] = x_ExplicitVarSizeWithFlags_Values[q11] + | q13 : int(1..4)]) + | q11 : int(1..4)]), + and([q15 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q17] /\ + x_ExplicitVarSizeWithFlags_Values[q17] = x_ExplicitVarSizeWithMarker_Values[q15] + | q17 : int(1..4)]) + | q15 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q19] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q19]] + | q19 : int(1..4)]), + and([x_Occurrence[q20] -> + or([x_ExplicitVarSizeWithFlags_Flags[q22] /\ x_ExplicitVarSizeWithFlags_Values[q22] = q20 | q22 : int(1..4)]) + | q20 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_3_1_4_2-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_3_1_4_2-solution000001.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_3_1_4_2-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_3_1_4_2-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_3_1_4_2-solution000002.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_3_1_4_2-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_3_1_4_2.eprime b/tests/exhaustive/basic/set06/expected/model_3_1_4_2.eprime new file mode 100644 index 0000000000..66ffd146e3 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_3_1_4_2.eprime @@ -0,0 +1,77 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_Occurrence: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +branching on + [x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_Occurrence, + x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values] +such that + or([q56 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q56] = 1 | q56 : int(1..4)]), + x_Occurrence[2], + or([x_ExplicitVarSizeWithFlags_Flags[q49] /\ x_ExplicitVarSizeWithFlags_Values[q49] = 3 | q49 : int(1..4)]), + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..3)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 1 | q2 : int(1..4)]), + x_ExplicitVarSizeWithMarker_Marker <= 4, + sum([toInt(x_Occurrence[q4]) | q4 : int(1..4)]) <= 4, + and([x_Occurrence[q50] -> + or([q52 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q52] = q50 + | q52 : int(1..4)]) + | q50 : int(1..4)]), + and([q54 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q54]] + | q54 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q5 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q5] < x_ExplicitVarSizeWithFlags_Values[q5 + 1] + | q5 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q6] = false -> x_ExplicitVarSizeWithFlags_Values[q6] = 1 | q6 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q7 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q7] | q7 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q8]) | q8 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithFlags_Flags[q11] -> + or([q13 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q13] = x_ExplicitVarSizeWithFlags_Values[q11] + | q13 : int(1..4)]) + | q11 : int(1..4)]), + and([q15 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q17] /\ + x_ExplicitVarSizeWithFlags_Values[q17] = x_ExplicitVarSizeWithMarker_Values[q15] + | q17 : int(1..4)]) + | q15 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q19] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q19]] + | q19 : int(1..4)]), + and([x_Occurrence[q20] -> + or([x_ExplicitVarSizeWithFlags_Flags[q22] /\ x_ExplicitVarSizeWithFlags_Values[q22] = q20 | q22 : int(1..4)]) + | q20 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q23] < x_ExplicitVarSizeWithDummy[q23 + 1] \/ x_ExplicitVarSizeWithDummy[q23] = 5 + | q23 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q24] = 5 -> x_ExplicitVarSizeWithDummy[q24 + 1] = 5 | q24 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q25] != 5) | q25 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithDummy[q28] != 5 -> + or([q30 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q30] = x_ExplicitVarSizeWithDummy[q28] + | q30 : int(1..4)]) + | q28 : int(1..4)]), + and([q32 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q34] != 5 /\ + x_ExplicitVarSizeWithDummy[q34] = x_ExplicitVarSizeWithMarker_Values[q32] + | q34 : int(1..4)]) + | q32 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q36] != 5 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q36]] | q36 : int(1..4)]), + and([x_Occurrence[q37] -> + or([x_ExplicitVarSizeWithDummy[q39] != 5 /\ x_ExplicitVarSizeWithDummy[q39] = q37 | q39 : int(1..4)]) + | q37 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q41] != 5 -> + or([x_ExplicitVarSizeWithFlags_Flags[q43] /\ + x_ExplicitVarSizeWithFlags_Values[q43] = x_ExplicitVarSizeWithDummy[q41] + | q43 : int(1..4)]) + | q41 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q45] -> + or([x_ExplicitVarSizeWithDummy[q47] != 5 /\ + x_ExplicitVarSizeWithDummy[q47] = x_ExplicitVarSizeWithFlags_Values[q45] + | q47 : int(1..4)]) + | q45 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_3_2_1_1-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_3_2_1_1-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_3_2_1_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_3_2_1_1-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_3_2_1_1-solution000002.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_3_2_1_1-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_3_2_1_1.eprime b/tests/exhaustive/basic/set06/expected/model_3_2_1_1.eprime new file mode 100644 index 0000000000..9ce4f6b713 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_3_2_1_1.eprime @@ -0,0 +1,43 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +find x_Occurrence: matrix indexed by [int(1..4)] of bool +branching on + [x_Occurrence, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_ExplicitVarSizeWithDummy] +such that + or([q28 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q28] = 1 | q28 : int(1..4)]), + or([x_ExplicitVarSizeWithDummy[q30] != 5 /\ x_ExplicitVarSizeWithDummy[q30] = 2 | q30 : int(1..4)]), + x_Occurrence[3], + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..3)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 1 | q2 : int(1..4)]), + x_ExplicitVarSizeWithMarker_Marker <= 4, + and([x_ExplicitVarSizeWithDummy[q4] < x_ExplicitVarSizeWithDummy[q4 + 1] \/ x_ExplicitVarSizeWithDummy[q4] = 5 + | q4 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q5] = 5 -> x_ExplicitVarSizeWithDummy[q5 + 1] = 5 | q5 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q6] != 5) | q6 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithDummy[q9] != 5 -> + or([q11 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q11] = x_ExplicitVarSizeWithDummy[q9] + | q11 : int(1..4)]) + | q9 : int(1..4)]), + and([q13 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q15] != 5 /\ + x_ExplicitVarSizeWithDummy[q15] = x_ExplicitVarSizeWithMarker_Values[q13] + | q15 : int(1..4)]) + | q13 : int(1..4)]), + sum([toInt(x_Occurrence[q16]) | q16 : int(1..4)]) <= 4, + and([x_Occurrence[q17] -> + or([q19 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q19] = q17 + | q19 : int(1..4)]) + | q17 : int(1..4)]), + and([q21 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q21]] + | q21 : int(1..4)]), + and([x_Occurrence[q22] -> + or([x_ExplicitVarSizeWithDummy[q24] != 5 /\ x_ExplicitVarSizeWithDummy[q24] = q22 | q24 : int(1..4)]) + | q22 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q26] != 5 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q26]] | q26 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_3_2_1_4-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_3_2_1_4-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_3_2_1_4-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_3_2_1_4-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_3_2_1_4-solution000002.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_3_2_1_4-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_3_2_1_4.eprime b/tests/exhaustive/basic/set06/expected/model_3_2_1_4.eprime new file mode 100644 index 0000000000..89bd1983d1 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_3_2_1_4.eprime @@ -0,0 +1,78 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +find x_Occurrence: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_ExplicitVarSizeWithMarker_Marker, + x_ExplicitVarSizeWithMarker_Values, x_ExplicitVarSizeWithDummy, x_Occurrence] +such that + or([q54 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q54] = 1 | q54 : int(1..4)]), + or([x_ExplicitVarSizeWithDummy[q56] != 5 /\ x_ExplicitVarSizeWithDummy[q56] = 2 | q56 : int(1..4)]), + x_Occurrence[3], + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..3)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 1 | q2 : int(1..4)]), + x_ExplicitVarSizeWithMarker_Marker <= 4, + and([x_ExplicitVarSizeWithDummy[q4] < x_ExplicitVarSizeWithDummy[q4 + 1] \/ x_ExplicitVarSizeWithDummy[q4] = 5 + | q4 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q5] = 5 -> x_ExplicitVarSizeWithDummy[q5 + 1] = 5 | q5 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q6] != 5) | q6 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithDummy[q9] != 5 -> + or([q11 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q11] = x_ExplicitVarSizeWithDummy[q9] + | q11 : int(1..4)]) + | q9 : int(1..4)]), + and([q13 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q15] != 5 /\ + x_ExplicitVarSizeWithDummy[q15] = x_ExplicitVarSizeWithMarker_Values[q13] + | q15 : int(1..4)]) + | q13 : int(1..4)]), + sum([toInt(x_Occurrence[q16]) | q16 : int(1..4)]) <= 4, + and([x_Occurrence[q43] -> + or([q45 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q45] = q43 + | q45 : int(1..4)]) + | q43 : int(1..4)]), + and([q47 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q47]] + | q47 : int(1..4)]), + and([x_Occurrence[q48] -> + or([x_ExplicitVarSizeWithDummy[q50] != 5 /\ x_ExplicitVarSizeWithDummy[q50] = q48 | q50 : int(1..4)]) + | q48 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q52] != 5 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q52]] | q52 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q17 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q17] < x_ExplicitVarSizeWithFlags_Values[q17 + 1] + | q17 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q18] = false -> x_ExplicitVarSizeWithFlags_Values[q18] = 1 + | q18 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q19 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q19] | q19 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q20]) | q20 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithFlags_Flags[q23] -> + or([q25 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q25] = x_ExplicitVarSizeWithFlags_Values[q23] + | q25 : int(1..4)]) + | q23 : int(1..4)]), + and([q27 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q29] /\ + x_ExplicitVarSizeWithFlags_Values[q29] = x_ExplicitVarSizeWithMarker_Values[q27] + | q29 : int(1..4)]) + | q27 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q31] -> + or([x_ExplicitVarSizeWithDummy[q33] != 5 /\ + x_ExplicitVarSizeWithDummy[q33] = x_ExplicitVarSizeWithFlags_Values[q31] + | q33 : int(1..4)]) + | q31 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q35] != 5 -> + or([x_ExplicitVarSizeWithFlags_Flags[q37] /\ + x_ExplicitVarSizeWithFlags_Values[q37] = x_ExplicitVarSizeWithDummy[q35] + | q37 : int(1..4)]) + | q35 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q39] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q39]] + | q39 : int(1..4)]), + and([x_Occurrence[q40] -> + or([x_ExplicitVarSizeWithFlags_Flags[q42] /\ x_ExplicitVarSizeWithFlags_Values[q42] = q40 | q42 : int(1..4)]) + | q40 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_3_2_2_1-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_3_2_2_1-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_3_2_2_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_3_2_2_1-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_3_2_2_1-solution000002.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_3_2_2_1-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_3_2_2_1.eprime b/tests/exhaustive/basic/set06/expected/model_3_2_2_1.eprime new file mode 100644 index 0000000000..0bc238b946 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_3_2_2_1.eprime @@ -0,0 +1,43 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +find x_Occurrence: matrix indexed by [int(1..4)] of bool +branching on + [x_Occurrence, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_ExplicitVarSizeWithDummy] +such that + or([q28 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q28] = 1 | q28 : int(1..4)]), + or([x_ExplicitVarSizeWithDummy[q30] != 5 /\ x_ExplicitVarSizeWithDummy[q30] = 2 | q30 : int(1..4)]), + or([x_ExplicitVarSizeWithDummy[q32] != 5 /\ x_ExplicitVarSizeWithDummy[q32] = 3 | q32 : int(1..4)]), + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..3)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 1 | q2 : int(1..4)]), + x_ExplicitVarSizeWithMarker_Marker <= 4, + and([x_ExplicitVarSizeWithDummy[q4] < x_ExplicitVarSizeWithDummy[q4 + 1] \/ x_ExplicitVarSizeWithDummy[q4] = 5 + | q4 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q5] = 5 -> x_ExplicitVarSizeWithDummy[q5 + 1] = 5 | q5 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q6] != 5) | q6 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithDummy[q9] != 5 -> + or([q11 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q11] = x_ExplicitVarSizeWithDummy[q9] + | q11 : int(1..4)]) + | q9 : int(1..4)]), + and([q13 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q15] != 5 /\ + x_ExplicitVarSizeWithDummy[q15] = x_ExplicitVarSizeWithMarker_Values[q13] + | q15 : int(1..4)]) + | q13 : int(1..4)]), + sum([toInt(x_Occurrence[q16]) | q16 : int(1..4)]) <= 4, + and([x_Occurrence[q17] -> + or([q19 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q19] = q17 + | q19 : int(1..4)]) + | q17 : int(1..4)]), + and([q21 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q21]] + | q21 : int(1..4)]), + and([x_Occurrence[q22] -> + or([x_ExplicitVarSizeWithDummy[q24] != 5 /\ x_ExplicitVarSizeWithDummy[q24] = q22 | q24 : int(1..4)]) + | q22 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q26] != 5 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q26]] | q26 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_3_2_2_2-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_3_2_2_2-solution000001.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_3_2_2_2-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_3_2_2_2-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_3_2_2_2-solution000002.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_3_2_2_2-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_3_2_2_2.eprime b/tests/exhaustive/basic/set06/expected/model_3_2_2_2.eprime new file mode 100644 index 0000000000..dbfe72b7f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_3_2_2_2.eprime @@ -0,0 +1,30 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +branching on [x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values] +such that + or([q17 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q17] = 1 | q17 : int(1..4)]), + or([x_ExplicitVarSizeWithDummy[q19] != 5 /\ x_ExplicitVarSizeWithDummy[q19] = 2 | q19 : int(1..4)]), + or([x_ExplicitVarSizeWithDummy[q21] != 5 /\ x_ExplicitVarSizeWithDummy[q21] = 3 | q21 : int(1..4)]), + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..3)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 1 | q2 : int(1..4)]), + x_ExplicitVarSizeWithMarker_Marker <= 4, + and([x_ExplicitVarSizeWithDummy[q4] < x_ExplicitVarSizeWithDummy[q4 + 1] \/ x_ExplicitVarSizeWithDummy[q4] = 5 + | q4 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q5] = 5 -> x_ExplicitVarSizeWithDummy[q5 + 1] = 5 | q5 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q6] != 5) | q6 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithDummy[q9] != 5 -> + or([q11 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q11] = x_ExplicitVarSizeWithDummy[q9] + | q11 : int(1..4)]) + | q9 : int(1..4)]), + and([q13 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q15] != 5 /\ + x_ExplicitVarSizeWithDummy[q15] = x_ExplicitVarSizeWithMarker_Values[q13] + | q15 : int(1..4)]) + | q13 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_3_2_2_4-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_3_2_2_4-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_3_2_2_4-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_3_2_2_4-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_3_2_2_4-solution000002.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_3_2_2_4-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_3_2_2_4.eprime b/tests/exhaustive/basic/set06/expected/model_3_2_2_4.eprime new file mode 100644 index 0000000000..7a1a6ff738 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_3_2_2_4.eprime @@ -0,0 +1,61 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_ExplicitVarSizeWithMarker_Marker, + x_ExplicitVarSizeWithMarker_Values, x_ExplicitVarSizeWithDummy] +such that + or([q38 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q38] = 1 | q38 : int(1..4)]), + or([x_ExplicitVarSizeWithDummy[q40] != 5 /\ x_ExplicitVarSizeWithDummy[q40] = 2 | q40 : int(1..4)]), + or([x_ExplicitVarSizeWithDummy[q42] != 5 /\ x_ExplicitVarSizeWithDummy[q42] = 3 | q42 : int(1..4)]), + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..3)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 1 | q2 : int(1..4)]), + x_ExplicitVarSizeWithMarker_Marker <= 4, + and([x_ExplicitVarSizeWithDummy[q4] < x_ExplicitVarSizeWithDummy[q4 + 1] \/ x_ExplicitVarSizeWithDummy[q4] = 5 + | q4 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q5] = 5 -> x_ExplicitVarSizeWithDummy[q5 + 1] = 5 | q5 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q6] != 5) | q6 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithDummy[q9] != 5 -> + or([q11 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q11] = x_ExplicitVarSizeWithDummy[q9] + | q11 : int(1..4)]) + | q9 : int(1..4)]), + and([q13 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q15] != 5 /\ + x_ExplicitVarSizeWithDummy[q15] = x_ExplicitVarSizeWithMarker_Values[q13] + | q15 : int(1..4)]) + | q13 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q16 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q16] < x_ExplicitVarSizeWithFlags_Values[q16 + 1] + | q16 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q17] = false -> x_ExplicitVarSizeWithFlags_Values[q17] = 1 + | q17 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q18 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q18] | q18 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q19]) | q19 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithFlags_Flags[q22] -> + or([q24 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q24] = x_ExplicitVarSizeWithFlags_Values[q22] + | q24 : int(1..4)]) + | q22 : int(1..4)]), + and([q26 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q28] /\ + x_ExplicitVarSizeWithFlags_Values[q28] = x_ExplicitVarSizeWithMarker_Values[q26] + | q28 : int(1..4)]) + | q26 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q30] -> + or([x_ExplicitVarSizeWithDummy[q32] != 5 /\ + x_ExplicitVarSizeWithDummy[q32] = x_ExplicitVarSizeWithFlags_Values[q30] + | q32 : int(1..4)]) + | q30 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q34] != 5 -> + or([x_ExplicitVarSizeWithFlags_Flags[q36] /\ + x_ExplicitVarSizeWithFlags_Values[q36] = x_ExplicitVarSizeWithDummy[q34] + | q36 : int(1..4)]) + | q34 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_3_2_3_1-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_3_2_3_1-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_3_2_3_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_3_2_3_1-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_3_2_3_1-solution000002.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_3_2_3_1-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_3_2_3_1.eprime b/tests/exhaustive/basic/set06/expected/model_3_2_3_1.eprime new file mode 100644 index 0000000000..ff7bb579b2 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_3_2_3_1.eprime @@ -0,0 +1,43 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +find x_Occurrence: matrix indexed by [int(1..4)] of bool +branching on + [x_Occurrence, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_ExplicitVarSizeWithDummy] +such that + or([q28 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q28] = 1 | q28 : int(1..4)]), + or([x_ExplicitVarSizeWithDummy[q30] != 5 /\ x_ExplicitVarSizeWithDummy[q30] = 2 | q30 : int(1..4)]), + or([q32 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q32] = 3 | q32 : int(1..4)]), + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..3)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 1 | q2 : int(1..4)]), + x_ExplicitVarSizeWithMarker_Marker <= 4, + and([x_ExplicitVarSizeWithDummy[q4] < x_ExplicitVarSizeWithDummy[q4 + 1] \/ x_ExplicitVarSizeWithDummy[q4] = 5 + | q4 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q5] = 5 -> x_ExplicitVarSizeWithDummy[q5 + 1] = 5 | q5 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q6] != 5) | q6 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithDummy[q9] != 5 -> + or([q11 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q11] = x_ExplicitVarSizeWithDummy[q9] + | q11 : int(1..4)]) + | q9 : int(1..4)]), + and([q13 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q15] != 5 /\ + x_ExplicitVarSizeWithDummy[q15] = x_ExplicitVarSizeWithMarker_Values[q13] + | q15 : int(1..4)]) + | q13 : int(1..4)]), + sum([toInt(x_Occurrence[q16]) | q16 : int(1..4)]) <= 4, + and([x_Occurrence[q17] -> + or([q19 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q19] = q17 + | q19 : int(1..4)]) + | q17 : int(1..4)]), + and([q21 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q21]] + | q21 : int(1..4)]), + and([x_Occurrence[q22] -> + or([x_ExplicitVarSizeWithDummy[q24] != 5 /\ x_ExplicitVarSizeWithDummy[q24] = q22 | q24 : int(1..4)]) + | q22 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q26] != 5 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q26]] | q26 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_3_2_3_2-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_3_2_3_2-solution000001.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_3_2_3_2-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_3_2_3_2-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_3_2_3_2-solution000002.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_3_2_3_2-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_3_2_3_2.eprime b/tests/exhaustive/basic/set06/expected/model_3_2_3_2.eprime new file mode 100644 index 0000000000..e1d4abb5fe --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_3_2_3_2.eprime @@ -0,0 +1,30 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +branching on [x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values] +such that + or([q17 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q17] = 1 | q17 : int(1..4)]), + or([x_ExplicitVarSizeWithDummy[q19] != 5 /\ x_ExplicitVarSizeWithDummy[q19] = 2 | q19 : int(1..4)]), + or([q21 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q21] = 3 | q21 : int(1..4)]), + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..3)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 1 | q2 : int(1..4)]), + x_ExplicitVarSizeWithMarker_Marker <= 4, + and([x_ExplicitVarSizeWithDummy[q4] < x_ExplicitVarSizeWithDummy[q4 + 1] \/ x_ExplicitVarSizeWithDummy[q4] = 5 + | q4 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q5] = 5 -> x_ExplicitVarSizeWithDummy[q5 + 1] = 5 | q5 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q6] != 5) | q6 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithDummy[q9] != 5 -> + or([q11 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q11] = x_ExplicitVarSizeWithDummy[q9] + | q11 : int(1..4)]) + | q9 : int(1..4)]), + and([q13 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q15] != 5 /\ + x_ExplicitVarSizeWithDummy[q15] = x_ExplicitVarSizeWithMarker_Values[q13] + | q15 : int(1..4)]) + | q13 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_3_2_3_4-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_3_2_3_4-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_3_2_3_4-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_3_2_3_4-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_3_2_3_4-solution000002.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_3_2_3_4-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_3_2_3_4.eprime b/tests/exhaustive/basic/set06/expected/model_3_2_3_4.eprime new file mode 100644 index 0000000000..b28bec21c6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_3_2_3_4.eprime @@ -0,0 +1,61 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_ExplicitVarSizeWithMarker_Marker, + x_ExplicitVarSizeWithMarker_Values, x_ExplicitVarSizeWithDummy] +such that + or([q38 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q38] = 1 | q38 : int(1..4)]), + or([x_ExplicitVarSizeWithDummy[q40] != 5 /\ x_ExplicitVarSizeWithDummy[q40] = 2 | q40 : int(1..4)]), + or([q42 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q42] = 3 | q42 : int(1..4)]), + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..3)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 1 | q2 : int(1..4)]), + x_ExplicitVarSizeWithMarker_Marker <= 4, + and([x_ExplicitVarSizeWithDummy[q4] < x_ExplicitVarSizeWithDummy[q4 + 1] \/ x_ExplicitVarSizeWithDummy[q4] = 5 + | q4 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q5] = 5 -> x_ExplicitVarSizeWithDummy[q5 + 1] = 5 | q5 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q6] != 5) | q6 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithDummy[q9] != 5 -> + or([q11 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q11] = x_ExplicitVarSizeWithDummy[q9] + | q11 : int(1..4)]) + | q9 : int(1..4)]), + and([q13 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q15] != 5 /\ + x_ExplicitVarSizeWithDummy[q15] = x_ExplicitVarSizeWithMarker_Values[q13] + | q15 : int(1..4)]) + | q13 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q16 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q16] < x_ExplicitVarSizeWithFlags_Values[q16 + 1] + | q16 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q17] = false -> x_ExplicitVarSizeWithFlags_Values[q17] = 1 + | q17 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q18 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q18] | q18 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q19]) | q19 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithFlags_Flags[q22] -> + or([q24 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q24] = x_ExplicitVarSizeWithFlags_Values[q22] + | q24 : int(1..4)]) + | q22 : int(1..4)]), + and([q26 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q28] /\ + x_ExplicitVarSizeWithFlags_Values[q28] = x_ExplicitVarSizeWithMarker_Values[q26] + | q28 : int(1..4)]) + | q26 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q30] -> + or([x_ExplicitVarSizeWithDummy[q32] != 5 /\ + x_ExplicitVarSizeWithDummy[q32] = x_ExplicitVarSizeWithFlags_Values[q30] + | q32 : int(1..4)]) + | q30 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q34] != 5 -> + or([x_ExplicitVarSizeWithFlags_Flags[q36] /\ + x_ExplicitVarSizeWithFlags_Values[q36] = x_ExplicitVarSizeWithDummy[q34] + | q36 : int(1..4)]) + | q34 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_3_2_4_1-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_3_2_4_1-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_3_2_4_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_3_2_4_1-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_3_2_4_1-solution000002.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_3_2_4_1-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_3_2_4_1.eprime b/tests/exhaustive/basic/set06/expected/model_3_2_4_1.eprime new file mode 100644 index 0000000000..5966d0ab74 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_3_2_4_1.eprime @@ -0,0 +1,78 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_Occurrence: matrix indexed by [int(1..4)] of bool +branching on + [x_Occurrence, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_ExplicitVarSizeWithDummy, + x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values] +such that + or([q54 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q54] = 1 | q54 : int(1..4)]), + or([x_ExplicitVarSizeWithDummy[q56] != 5 /\ x_ExplicitVarSizeWithDummy[q56] = 2 | q56 : int(1..4)]), + or([x_ExplicitVarSizeWithFlags_Flags[q58] /\ x_ExplicitVarSizeWithFlags_Values[q58] = 3 | q58 : int(1..4)]), + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..3)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 1 | q2 : int(1..4)]), + x_ExplicitVarSizeWithMarker_Marker <= 4, + and([x_ExplicitVarSizeWithDummy[q4] < x_ExplicitVarSizeWithDummy[q4 + 1] \/ x_ExplicitVarSizeWithDummy[q4] = 5 + | q4 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q5] = 5 -> x_ExplicitVarSizeWithDummy[q5 + 1] = 5 | q5 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q6] != 5) | q6 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithDummy[q9] != 5 -> + or([q11 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q11] = x_ExplicitVarSizeWithDummy[q9] + | q11 : int(1..4)]) + | q9 : int(1..4)]), + and([q13 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q15] != 5 /\ + x_ExplicitVarSizeWithDummy[q15] = x_ExplicitVarSizeWithMarker_Values[q13] + | q15 : int(1..4)]) + | q13 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q16 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q16] < x_ExplicitVarSizeWithFlags_Values[q16 + 1] + | q16 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q17] = false -> x_ExplicitVarSizeWithFlags_Values[q17] = 1 + | q17 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q18 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q18] | q18 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q19]) | q19 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithFlags_Flags[q22] -> + or([q24 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q24] = x_ExplicitVarSizeWithFlags_Values[q22] + | q24 : int(1..4)]) + | q22 : int(1..4)]), + and([q26 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q28] /\ + x_ExplicitVarSizeWithFlags_Values[q28] = x_ExplicitVarSizeWithMarker_Values[q26] + | q28 : int(1..4)]) + | q26 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q30] -> + or([x_ExplicitVarSizeWithDummy[q32] != 5 /\ + x_ExplicitVarSizeWithDummy[q32] = x_ExplicitVarSizeWithFlags_Values[q30] + | q32 : int(1..4)]) + | q30 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q34] != 5 -> + or([x_ExplicitVarSizeWithFlags_Flags[q36] /\ + x_ExplicitVarSizeWithFlags_Values[q36] = x_ExplicitVarSizeWithDummy[q34] + | q36 : int(1..4)]) + | q34 : int(1..4)]), + sum([toInt(x_Occurrence[q37]) | q37 : int(1..4)]) <= 4, + and([x_Occurrence[q38] -> + or([q40 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q40] = q38 + | q40 : int(1..4)]) + | q38 : int(1..4)]), + and([q42 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q42]] + | q42 : int(1..4)]), + and([x_Occurrence[q43] -> + or([x_ExplicitVarSizeWithDummy[q45] != 5 /\ x_ExplicitVarSizeWithDummy[q45] = q43 | q45 : int(1..4)]) + | q43 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q47] != 5 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q47]] | q47 : int(1..4)]), + and([x_Occurrence[q48] -> + or([x_ExplicitVarSizeWithFlags_Flags[q50] /\ x_ExplicitVarSizeWithFlags_Values[q50] = q48 | q50 : int(1..4)]) + | q48 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q52] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q52]] + | q52 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_3_2_4_2-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_3_2_4_2-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_3_2_4_2-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_3_2_4_2-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_3_2_4_2-solution000002.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_3_2_4_2-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_3_2_4_2.eprime b/tests/exhaustive/basic/set06/expected/model_3_2_4_2.eprime new file mode 100644 index 0000000000..d35a7e7b68 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_3_2_4_2.eprime @@ -0,0 +1,61 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_ExplicitVarSizeWithMarker_Marker, + x_ExplicitVarSizeWithMarker_Values, x_ExplicitVarSizeWithDummy] +such that + or([q38 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q38] = 1 | q38 : int(1..4)]), + or([x_ExplicitVarSizeWithDummy[q40] != 5 /\ x_ExplicitVarSizeWithDummy[q40] = 2 | q40 : int(1..4)]), + or([x_ExplicitVarSizeWithFlags_Flags[q42] /\ x_ExplicitVarSizeWithFlags_Values[q42] = 3 | q42 : int(1..4)]), + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..3)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 1 | q2 : int(1..4)]), + x_ExplicitVarSizeWithMarker_Marker <= 4, + and([x_ExplicitVarSizeWithDummy[q4] < x_ExplicitVarSizeWithDummy[q4 + 1] \/ x_ExplicitVarSizeWithDummy[q4] = 5 + | q4 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q5] = 5 -> x_ExplicitVarSizeWithDummy[q5 + 1] = 5 | q5 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q6] != 5) | q6 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithDummy[q9] != 5 -> + or([q11 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q11] = x_ExplicitVarSizeWithDummy[q9] + | q11 : int(1..4)]) + | q9 : int(1..4)]), + and([q13 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q15] != 5 /\ + x_ExplicitVarSizeWithDummy[q15] = x_ExplicitVarSizeWithMarker_Values[q13] + | q15 : int(1..4)]) + | q13 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q16 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q16] < x_ExplicitVarSizeWithFlags_Values[q16 + 1] + | q16 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q17] = false -> x_ExplicitVarSizeWithFlags_Values[q17] = 1 + | q17 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q18 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q18] | q18 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q19]) | q19 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithFlags_Flags[q22] -> + or([q24 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q24] = x_ExplicitVarSizeWithFlags_Values[q22] + | q24 : int(1..4)]) + | q22 : int(1..4)]), + and([q26 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q28] /\ + x_ExplicitVarSizeWithFlags_Values[q28] = x_ExplicitVarSizeWithMarker_Values[q26] + | q28 : int(1..4)]) + | q26 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q30] -> + or([x_ExplicitVarSizeWithDummy[q32] != 5 /\ + x_ExplicitVarSizeWithDummy[q32] = x_ExplicitVarSizeWithFlags_Values[q30] + | q32 : int(1..4)]) + | q30 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q34] != 5 -> + or([x_ExplicitVarSizeWithFlags_Flags[q36] /\ + x_ExplicitVarSizeWithFlags_Values[q36] = x_ExplicitVarSizeWithDummy[q34] + | q36 : int(1..4)]) + | q34 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_3_3_1_1-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_3_3_1_1-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_3_3_1_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_3_3_1_1-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_3_3_1_1-solution000002.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_3_3_1_1-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_3_3_1_1.eprime b/tests/exhaustive/basic/set06/expected/model_3_3_1_1.eprime new file mode 100644 index 0000000000..80713ad04e --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_3_3_1_1.eprime @@ -0,0 +1,22 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_Occurrence: matrix indexed by [int(1..4)] of bool +branching on [x_Occurrence, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values] +such that + or([q11 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q11] = 1 | q11 : int(1..4)]), + or([q13 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q13] = 2 | q13 : int(1..4)]), + x_Occurrence[3], + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..3)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 1 | q2 : int(1..4)]), + x_ExplicitVarSizeWithMarker_Marker <= 4, + sum([toInt(x_Occurrence[q4]) | q4 : int(1..4)]) <= 4, + and([x_Occurrence[q5] -> + or([q7 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q7] = q5 | q7 : int(1..4)]) + | q5 : int(1..4)]), + and([q9 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q9]] + | q9 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_3_3_1_2-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_3_3_1_2-solution000001.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_3_3_1_2-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_3_3_1_2-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_3_3_1_2-solution000002.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_3_3_1_2-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_3_3_1_2.eprime b/tests/exhaustive/basic/set06/expected/model_3_3_1_2.eprime new file mode 100644 index 0000000000..53cfc835b6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_3_3_1_2.eprime @@ -0,0 +1,43 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_Occurrence: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +branching on + [x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_Occurrence] +such that + or([q28 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q28] = 1 | q28 : int(1..4)]), + or([q30 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q30] = 2 | q30 : int(1..4)]), + x_Occurrence[3], + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..3)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 1 | q2 : int(1..4)]), + x_ExplicitVarSizeWithMarker_Marker <= 4, + sum([toInt(x_Occurrence[q4]) | q4 : int(1..4)]) <= 4, + and([x_Occurrence[q22] -> + or([q24 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q24] = q22 + | q24 : int(1..4)]) + | q22 : int(1..4)]), + and([q26 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q26]] + | q26 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q5] < x_ExplicitVarSizeWithDummy[q5 + 1] \/ x_ExplicitVarSizeWithDummy[q5] = 5 + | q5 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q6] = 5 -> x_ExplicitVarSizeWithDummy[q6 + 1] = 5 | q6 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q7] != 5) | q7 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithDummy[q10] != 5 -> + or([q12 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q12] = x_ExplicitVarSizeWithDummy[q10] + | q12 : int(1..4)]) + | q10 : int(1..4)]), + and([q14 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q16] != 5 /\ + x_ExplicitVarSizeWithDummy[q16] = x_ExplicitVarSizeWithMarker_Values[q14] + | q16 : int(1..4)]) + | q14 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q18] != 5 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q18]] | q18 : int(1..4)]), + and([x_Occurrence[q19] -> + or([x_ExplicitVarSizeWithDummy[q21] != 5 /\ x_ExplicitVarSizeWithDummy[q21] = q19 | q21 : int(1..4)]) + | q19 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_3_3_1_4-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_3_3_1_4-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_3_3_1_4-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_3_3_1_4-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_3_3_1_4-solution000002.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_3_3_1_4-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_3_3_1_4.eprime b/tests/exhaustive/basic/set06/expected/model_3_3_1_4.eprime new file mode 100644 index 0000000000..0f704594c0 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_3_3_1_4.eprime @@ -0,0 +1,48 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_Occurrence: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_ExplicitVarSizeWithMarker_Marker, + x_ExplicitVarSizeWithMarker_Values, x_Occurrence] +such that + or([q29 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q29] = 1 | q29 : int(1..4)]), + or([q31 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q31] = 2 | q31 : int(1..4)]), + x_Occurrence[3], + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..3)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 1 | q2 : int(1..4)]), + x_ExplicitVarSizeWithMarker_Marker <= 4, + sum([toInt(x_Occurrence[q4]) | q4 : int(1..4)]) <= 4, + and([x_Occurrence[q23] -> + or([q25 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q25] = q23 + | q25 : int(1..4)]) + | q23 : int(1..4)]), + and([q27 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q27]] + | q27 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q5 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q5] < x_ExplicitVarSizeWithFlags_Values[q5 + 1] + | q5 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q6] = false -> x_ExplicitVarSizeWithFlags_Values[q6] = 1 | q6 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q7 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q7] | q7 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q8]) | q8 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithFlags_Flags[q11] -> + or([q13 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q13] = x_ExplicitVarSizeWithFlags_Values[q11] + | q13 : int(1..4)]) + | q11 : int(1..4)]), + and([q15 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q17] /\ + x_ExplicitVarSizeWithFlags_Values[q17] = x_ExplicitVarSizeWithMarker_Values[q15] + | q17 : int(1..4)]) + | q15 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q19] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q19]] + | q19 : int(1..4)]), + and([x_Occurrence[q20] -> + or([x_ExplicitVarSizeWithFlags_Flags[q22] /\ x_ExplicitVarSizeWithFlags_Values[q22] = q20 | q22 : int(1..4)]) + | q20 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_3_3_2_1-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_3_3_2_1-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_3_3_2_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_3_3_2_1-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_3_3_2_1-solution000002.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_3_3_2_1-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_3_3_2_1.eprime b/tests/exhaustive/basic/set06/expected/model_3_3_2_1.eprime new file mode 100644 index 0000000000..918bc71bcb --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_3_3_2_1.eprime @@ -0,0 +1,43 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +find x_Occurrence: matrix indexed by [int(1..4)] of bool +branching on + [x_Occurrence, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_ExplicitVarSizeWithDummy] +such that + or([q28 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q28] = 1 | q28 : int(1..4)]), + or([q30 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q30] = 2 | q30 : int(1..4)]), + or([x_ExplicitVarSizeWithDummy[q32] != 5 /\ x_ExplicitVarSizeWithDummy[q32] = 3 | q32 : int(1..4)]), + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..3)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 1 | q2 : int(1..4)]), + x_ExplicitVarSizeWithMarker_Marker <= 4, + and([x_ExplicitVarSizeWithDummy[q4] < x_ExplicitVarSizeWithDummy[q4 + 1] \/ x_ExplicitVarSizeWithDummy[q4] = 5 + | q4 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q5] = 5 -> x_ExplicitVarSizeWithDummy[q5 + 1] = 5 | q5 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q6] != 5) | q6 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithDummy[q9] != 5 -> + or([q11 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q11] = x_ExplicitVarSizeWithDummy[q9] + | q11 : int(1..4)]) + | q9 : int(1..4)]), + and([q13 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q15] != 5 /\ + x_ExplicitVarSizeWithDummy[q15] = x_ExplicitVarSizeWithMarker_Values[q13] + | q15 : int(1..4)]) + | q13 : int(1..4)]), + sum([toInt(x_Occurrence[q16]) | q16 : int(1..4)]) <= 4, + and([x_Occurrence[q17] -> + or([q19 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q19] = q17 + | q19 : int(1..4)]) + | q17 : int(1..4)]), + and([q21 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q21]] + | q21 : int(1..4)]), + and([x_Occurrence[q22] -> + or([x_ExplicitVarSizeWithDummy[q24] != 5 /\ x_ExplicitVarSizeWithDummy[q24] = q22 | q24 : int(1..4)]) + | q22 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q26] != 5 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q26]] | q26 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_3_3_2_2-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_3_3_2_2-solution000001.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_3_3_2_2-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_3_3_2_2-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_3_3_2_2-solution000002.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_3_3_2_2-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_3_3_2_2.eprime b/tests/exhaustive/basic/set06/expected/model_3_3_2_2.eprime new file mode 100644 index 0000000000..ddb40c5b40 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_3_3_2_2.eprime @@ -0,0 +1,30 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +branching on [x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values] +such that + or([q17 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q17] = 1 | q17 : int(1..4)]), + or([q19 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q19] = 2 | q19 : int(1..4)]), + or([x_ExplicitVarSizeWithDummy[q21] != 5 /\ x_ExplicitVarSizeWithDummy[q21] = 3 | q21 : int(1..4)]), + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..3)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 1 | q2 : int(1..4)]), + x_ExplicitVarSizeWithMarker_Marker <= 4, + and([x_ExplicitVarSizeWithDummy[q4] < x_ExplicitVarSizeWithDummy[q4 + 1] \/ x_ExplicitVarSizeWithDummy[q4] = 5 + | q4 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q5] = 5 -> x_ExplicitVarSizeWithDummy[q5 + 1] = 5 | q5 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q6] != 5) | q6 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithDummy[q9] != 5 -> + or([q11 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q11] = x_ExplicitVarSizeWithDummy[q9] + | q11 : int(1..4)]) + | q9 : int(1..4)]), + and([q13 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q15] != 5 /\ + x_ExplicitVarSizeWithDummy[q15] = x_ExplicitVarSizeWithMarker_Values[q13] + | q15 : int(1..4)]) + | q13 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_3_3_2_4-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_3_3_2_4-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_3_3_2_4-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_3_3_2_4-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_3_3_2_4-solution000002.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_3_3_2_4-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_3_3_2_4.eprime b/tests/exhaustive/basic/set06/expected/model_3_3_2_4.eprime new file mode 100644 index 0000000000..f03b23d86a --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_3_3_2_4.eprime @@ -0,0 +1,61 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_ExplicitVarSizeWithMarker_Marker, + x_ExplicitVarSizeWithMarker_Values, x_ExplicitVarSizeWithDummy] +such that + or([q38 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q38] = 1 | q38 : int(1..4)]), + or([q40 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q40] = 2 | q40 : int(1..4)]), + or([x_ExplicitVarSizeWithDummy[q42] != 5 /\ x_ExplicitVarSizeWithDummy[q42] = 3 | q42 : int(1..4)]), + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..3)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 1 | q2 : int(1..4)]), + x_ExplicitVarSizeWithMarker_Marker <= 4, + and([x_ExplicitVarSizeWithDummy[q4] < x_ExplicitVarSizeWithDummy[q4 + 1] \/ x_ExplicitVarSizeWithDummy[q4] = 5 + | q4 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q5] = 5 -> x_ExplicitVarSizeWithDummy[q5 + 1] = 5 | q5 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q6] != 5) | q6 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithDummy[q9] != 5 -> + or([q11 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q11] = x_ExplicitVarSizeWithDummy[q9] + | q11 : int(1..4)]) + | q9 : int(1..4)]), + and([q13 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q15] != 5 /\ + x_ExplicitVarSizeWithDummy[q15] = x_ExplicitVarSizeWithMarker_Values[q13] + | q15 : int(1..4)]) + | q13 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q16 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q16] < x_ExplicitVarSizeWithFlags_Values[q16 + 1] + | q16 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q17] = false -> x_ExplicitVarSizeWithFlags_Values[q17] = 1 + | q17 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q18 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q18] | q18 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q19]) | q19 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithFlags_Flags[q22] -> + or([q24 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q24] = x_ExplicitVarSizeWithFlags_Values[q22] + | q24 : int(1..4)]) + | q22 : int(1..4)]), + and([q26 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q28] /\ + x_ExplicitVarSizeWithFlags_Values[q28] = x_ExplicitVarSizeWithMarker_Values[q26] + | q28 : int(1..4)]) + | q26 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q30] -> + or([x_ExplicitVarSizeWithDummy[q32] != 5 /\ + x_ExplicitVarSizeWithDummy[q32] = x_ExplicitVarSizeWithFlags_Values[q30] + | q32 : int(1..4)]) + | q30 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q34] != 5 -> + or([x_ExplicitVarSizeWithFlags_Flags[q36] /\ + x_ExplicitVarSizeWithFlags_Values[q36] = x_ExplicitVarSizeWithDummy[q34] + | q36 : int(1..4)]) + | q34 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_3_3_3_1-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_3_3_3_1-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_3_3_3_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_3_3_3_1-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_3_3_3_1-solution000002.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_3_3_3_1-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_3_3_3_1.eprime b/tests/exhaustive/basic/set06/expected/model_3_3_3_1.eprime new file mode 100644 index 0000000000..c15dc11975 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_3_3_3_1.eprime @@ -0,0 +1,22 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_Occurrence: matrix indexed by [int(1..4)] of bool +branching on [x_Occurrence, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values] +such that + or([q11 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q11] = 1 | q11 : int(1..4)]), + or([q13 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q13] = 2 | q13 : int(1..4)]), + or([q15 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q15] = 3 | q15 : int(1..4)]), + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..3)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 1 | q2 : int(1..4)]), + x_ExplicitVarSizeWithMarker_Marker <= 4, + sum([toInt(x_Occurrence[q4]) | q4 : int(1..4)]) <= 4, + and([x_Occurrence[q5] -> + or([q7 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q7] = q5 | q7 : int(1..4)]) + | q5 : int(1..4)]), + and([q9 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q9]] + | q9 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_3_3_3_2-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_3_3_3_2-solution000001.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_3_3_3_2-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_3_3_3_2-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_3_3_3_2-solution000002.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_3_3_3_2-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_3_3_3_2.eprime b/tests/exhaustive/basic/set06/expected/model_3_3_3_2.eprime new file mode 100644 index 0000000000..85731e5fd2 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_3_3_3_2.eprime @@ -0,0 +1,30 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +branching on [x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values] +such that + or([q17 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q17] = 1 | q17 : int(1..4)]), + or([q19 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q19] = 2 | q19 : int(1..4)]), + or([q21 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q21] = 3 | q21 : int(1..4)]), + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..3)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 1 | q2 : int(1..4)]), + x_ExplicitVarSizeWithMarker_Marker <= 4, + and([x_ExplicitVarSizeWithDummy[q4] < x_ExplicitVarSizeWithDummy[q4 + 1] \/ x_ExplicitVarSizeWithDummy[q4] = 5 + | q4 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q5] = 5 -> x_ExplicitVarSizeWithDummy[q5 + 1] = 5 | q5 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q6] != 5) | q6 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithDummy[q9] != 5 -> + or([q11 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q11] = x_ExplicitVarSizeWithDummy[q9] + | q11 : int(1..4)]) + | q9 : int(1..4)]), + and([q13 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q15] != 5 /\ + x_ExplicitVarSizeWithDummy[q15] = x_ExplicitVarSizeWithMarker_Values[q13] + | q15 : int(1..4)]) + | q13 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_3_3_3_3-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_3_3_3_3-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_3_3_3_3-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_3_3_3_3-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_3_3_3_3-solution000002.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_3_3_3_3-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_3_3_3_3.eprime b/tests/exhaustive/basic/set06/expected/model_3_3_3_3.eprime new file mode 100644 index 0000000000..68ea664f7c --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_3_3_3_3.eprime @@ -0,0 +1,15 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +branching on [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values] +such that + or([q5 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q5] = 1 | q5 : int(1..4)]), + or([q7 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q7] = 2 | q7 : int(1..4)]), + or([q9 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q9] = 3 | q9 : int(1..4)]), + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..3)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 1 | q2 : int(1..4)]), + x_ExplicitVarSizeWithMarker_Marker <= 4 + diff --git a/tests/exhaustive/basic/set06/expected/model_3_3_3_4-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_3_3_3_4-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_3_3_3_4-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_3_3_3_4-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_3_3_3_4-solution000002.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_3_3_3_4-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_3_3_3_4.eprime b/tests/exhaustive/basic/set06/expected/model_3_3_3_4.eprime new file mode 100644 index 0000000000..5ea57c61e2 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_3_3_3_4.eprime @@ -0,0 +1,35 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_ExplicitVarSizeWithMarker_Marker, + x_ExplicitVarSizeWithMarker_Values] +such that + or([q18 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q18] = 1 | q18 : int(1..4)]), + or([q20 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q20] = 2 | q20 : int(1..4)]), + or([q22 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q22] = 3 | q22 : int(1..4)]), + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..3)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 1 | q2 : int(1..4)]), + x_ExplicitVarSizeWithMarker_Marker <= 4, + and([x_ExplicitVarSizeWithFlags_Flags[q4 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q4] < x_ExplicitVarSizeWithFlags_Values[q4 + 1] + | q4 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q5] = false -> x_ExplicitVarSizeWithFlags_Values[q5] = 1 | q5 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q6 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q6] | q6 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q7]) | q7 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithFlags_Flags[q10] -> + or([q12 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q12] = x_ExplicitVarSizeWithFlags_Values[q10] + | q12 : int(1..4)]) + | q10 : int(1..4)]), + and([q14 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q16] /\ + x_ExplicitVarSizeWithFlags_Values[q16] = x_ExplicitVarSizeWithMarker_Values[q14] + | q16 : int(1..4)]) + | q14 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_3_3_4_1-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_3_3_4_1-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_3_3_4_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_3_3_4_1-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_3_3_4_1-solution000002.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_3_3_4_1-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_3_3_4_1.eprime b/tests/exhaustive/basic/set06/expected/model_3_3_4_1.eprime new file mode 100644 index 0000000000..73c28def99 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_3_3_4_1.eprime @@ -0,0 +1,48 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_Occurrence: matrix indexed by [int(1..4)] of bool +branching on + [x_Occurrence, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, + x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values] +such that + or([q29 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q29] = 1 | q29 : int(1..4)]), + or([q31 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q31] = 2 | q31 : int(1..4)]), + or([x_ExplicitVarSizeWithFlags_Flags[q33] /\ x_ExplicitVarSizeWithFlags_Values[q33] = 3 | q33 : int(1..4)]), + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..3)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 1 | q2 : int(1..4)]), + x_ExplicitVarSizeWithMarker_Marker <= 4, + and([x_ExplicitVarSizeWithFlags_Flags[q4 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q4] < x_ExplicitVarSizeWithFlags_Values[q4 + 1] + | q4 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q5] = false -> x_ExplicitVarSizeWithFlags_Values[q5] = 1 | q5 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q6 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q6] | q6 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q7]) | q7 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithFlags_Flags[q10] -> + or([q12 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q12] = x_ExplicitVarSizeWithFlags_Values[q10] + | q12 : int(1..4)]) + | q10 : int(1..4)]), + and([q14 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q16] /\ + x_ExplicitVarSizeWithFlags_Values[q16] = x_ExplicitVarSizeWithMarker_Values[q14] + | q16 : int(1..4)]) + | q14 : int(1..4)]), + sum([toInt(x_Occurrence[q17]) | q17 : int(1..4)]) <= 4, + and([x_Occurrence[q18] -> + or([q20 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q20] = q18 + | q20 : int(1..4)]) + | q18 : int(1..4)]), + and([q22 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q22]] + | q22 : int(1..4)]), + and([x_Occurrence[q23] -> + or([x_ExplicitVarSizeWithFlags_Flags[q25] /\ x_ExplicitVarSizeWithFlags_Values[q25] = q23 | q25 : int(1..4)]) + | q23 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q27] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q27]] + | q27 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_3_3_4_2-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_3_3_4_2-solution000001.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_3_3_4_2-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_3_3_4_2-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_3_3_4_2-solution000002.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_3_3_4_2-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_3_3_4_2.eprime b/tests/exhaustive/basic/set06/expected/model_3_3_4_2.eprime new file mode 100644 index 0000000000..d37fd441e0 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_3_3_4_2.eprime @@ -0,0 +1,60 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +branching on + [x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, + x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values] +such that + or([q38 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q38] = 1 | q38 : int(1..4)]), + or([q40 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q40] = 2 | q40 : int(1..4)]), + or([x_ExplicitVarSizeWithFlags_Flags[q42] /\ x_ExplicitVarSizeWithFlags_Values[q42] = 3 | q42 : int(1..4)]), + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..3)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 1 | q2 : int(1..4)]), + x_ExplicitVarSizeWithMarker_Marker <= 4, + and([x_ExplicitVarSizeWithFlags_Flags[q4 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q4] < x_ExplicitVarSizeWithFlags_Values[q4 + 1] + | q4 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q5] = false -> x_ExplicitVarSizeWithFlags_Values[q5] = 1 | q5 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q6 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q6] | q6 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q7]) | q7 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithFlags_Flags[q10] -> + or([q12 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q12] = x_ExplicitVarSizeWithFlags_Values[q10] + | q12 : int(1..4)]) + | q10 : int(1..4)]), + and([q14 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q16] /\ + x_ExplicitVarSizeWithFlags_Values[q16] = x_ExplicitVarSizeWithMarker_Values[q14] + | q16 : int(1..4)]) + | q14 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q17] < x_ExplicitVarSizeWithDummy[q17 + 1] \/ x_ExplicitVarSizeWithDummy[q17] = 5 + | q17 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q18] = 5 -> x_ExplicitVarSizeWithDummy[q18 + 1] = 5 | q18 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q19] != 5) | q19 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithDummy[q22] != 5 -> + or([q24 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q24] = x_ExplicitVarSizeWithDummy[q22] + | q24 : int(1..4)]) + | q22 : int(1..4)]), + and([q26 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q28] != 5 /\ + x_ExplicitVarSizeWithDummy[q28] = x_ExplicitVarSizeWithMarker_Values[q26] + | q28 : int(1..4)]) + | q26 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q30] != 5 -> + or([x_ExplicitVarSizeWithFlags_Flags[q32] /\ + x_ExplicitVarSizeWithFlags_Values[q32] = x_ExplicitVarSizeWithDummy[q30] + | q32 : int(1..4)]) + | q30 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q34] -> + or([x_ExplicitVarSizeWithDummy[q36] != 5 /\ + x_ExplicitVarSizeWithDummy[q36] = x_ExplicitVarSizeWithFlags_Values[q34] + | q36 : int(1..4)]) + | q34 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_3_3_4_3-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_3_3_4_3-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_3_3_4_3-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_3_3_4_3-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_3_3_4_3-solution000002.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_3_3_4_3-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_3_3_4_3.eprime b/tests/exhaustive/basic/set06/expected/model_3_3_4_3.eprime new file mode 100644 index 0000000000..8356b4d465 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_3_3_4_3.eprime @@ -0,0 +1,35 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_ExplicitVarSizeWithMarker_Marker, + x_ExplicitVarSizeWithMarker_Values] +such that + or([q18 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q18] = 1 | q18 : int(1..4)]), + or([q20 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q20] = 2 | q20 : int(1..4)]), + or([x_ExplicitVarSizeWithFlags_Flags[q22] /\ x_ExplicitVarSizeWithFlags_Values[q22] = 3 | q22 : int(1..4)]), + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..3)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 1 | q2 : int(1..4)]), + x_ExplicitVarSizeWithMarker_Marker <= 4, + and([x_ExplicitVarSizeWithFlags_Flags[q4 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q4] < x_ExplicitVarSizeWithFlags_Values[q4 + 1] + | q4 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q5] = false -> x_ExplicitVarSizeWithFlags_Values[q5] = 1 | q5 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q6 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q6] | q6 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q7]) | q7 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithFlags_Flags[q10] -> + or([q12 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q12] = x_ExplicitVarSizeWithFlags_Values[q10] + | q12 : int(1..4)]) + | q10 : int(1..4)]), + and([q14 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q16] /\ + x_ExplicitVarSizeWithFlags_Values[q16] = x_ExplicitVarSizeWithMarker_Values[q14] + | q16 : int(1..4)]) + | q14 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_3_4_1_1-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_3_4_1_1-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_3_4_1_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_3_4_1_1-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_3_4_1_1-solution000002.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_3_4_1_1-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_3_4_1_1.eprime b/tests/exhaustive/basic/set06/expected/model_3_4_1_1.eprime new file mode 100644 index 0000000000..4e52803143 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_3_4_1_1.eprime @@ -0,0 +1,48 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_Occurrence: matrix indexed by [int(1..4)] of bool +branching on + [x_Occurrence, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, + x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values] +such that + or([q29 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q29] = 1 | q29 : int(1..4)]), + or([x_ExplicitVarSizeWithFlags_Flags[q31] /\ x_ExplicitVarSizeWithFlags_Values[q31] = 2 | q31 : int(1..4)]), + x_Occurrence[3], + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..3)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 1 | q2 : int(1..4)]), + x_ExplicitVarSizeWithMarker_Marker <= 4, + and([x_ExplicitVarSizeWithFlags_Flags[q4 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q4] < x_ExplicitVarSizeWithFlags_Values[q4 + 1] + | q4 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q5] = false -> x_ExplicitVarSizeWithFlags_Values[q5] = 1 | q5 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q6 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q6] | q6 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q7]) | q7 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithFlags_Flags[q10] -> + or([q12 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q12] = x_ExplicitVarSizeWithFlags_Values[q10] + | q12 : int(1..4)]) + | q10 : int(1..4)]), + and([q14 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q16] /\ + x_ExplicitVarSizeWithFlags_Values[q16] = x_ExplicitVarSizeWithMarker_Values[q14] + | q16 : int(1..4)]) + | q14 : int(1..4)]), + sum([toInt(x_Occurrence[q17]) | q17 : int(1..4)]) <= 4, + and([x_Occurrence[q18] -> + or([q20 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q20] = q18 + | q20 : int(1..4)]) + | q18 : int(1..4)]), + and([q22 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q22]] + | q22 : int(1..4)]), + and([x_Occurrence[q23] -> + or([x_ExplicitVarSizeWithFlags_Flags[q25] /\ x_ExplicitVarSizeWithFlags_Values[q25] = q23 | q25 : int(1..4)]) + | q23 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q27] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q27]] + | q27 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_3_4_1_2-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_3_4_1_2-solution000001.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_3_4_1_2-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_3_4_1_2-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_3_4_1_2-solution000002.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_3_4_1_2-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_3_4_1_2.eprime b/tests/exhaustive/basic/set06/expected/model_3_4_1_2.eprime new file mode 100644 index 0000000000..74a01c0599 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_3_4_1_2.eprime @@ -0,0 +1,77 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_Occurrence: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +branching on + [x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, + x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_Occurrence] +such that + or([q54 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q54] = 1 | q54 : int(1..4)]), + or([x_ExplicitVarSizeWithFlags_Flags[q56] /\ x_ExplicitVarSizeWithFlags_Values[q56] = 2 | q56 : int(1..4)]), + x_Occurrence[3], + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..3)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 1 | q2 : int(1..4)]), + x_ExplicitVarSizeWithMarker_Marker <= 4, + and([x_ExplicitVarSizeWithFlags_Flags[q4 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q4] < x_ExplicitVarSizeWithFlags_Values[q4 + 1] + | q4 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q5] = false -> x_ExplicitVarSizeWithFlags_Values[q5] = 1 | q5 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q6 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q6] | q6 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q7]) | q7 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithFlags_Flags[q10] -> + or([q12 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q12] = x_ExplicitVarSizeWithFlags_Values[q10] + | q12 : int(1..4)]) + | q10 : int(1..4)]), + and([q14 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q16] /\ + x_ExplicitVarSizeWithFlags_Values[q16] = x_ExplicitVarSizeWithMarker_Values[q14] + | q16 : int(1..4)]) + | q14 : int(1..4)]), + sum([toInt(x_Occurrence[q17]) | q17 : int(1..4)]) <= 4, + and([x_Occurrence[q43] -> + or([q45 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q45] = q43 + | q45 : int(1..4)]) + | q43 : int(1..4)]), + and([q47 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q47]] + | q47 : int(1..4)]), + and([x_Occurrence[q48] -> + or([x_ExplicitVarSizeWithFlags_Flags[q50] /\ x_ExplicitVarSizeWithFlags_Values[q50] = q48 | q50 : int(1..4)]) + | q48 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q52] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q52]] + | q52 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q18] < x_ExplicitVarSizeWithDummy[q18 + 1] \/ x_ExplicitVarSizeWithDummy[q18] = 5 + | q18 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q19] = 5 -> x_ExplicitVarSizeWithDummy[q19 + 1] = 5 | q19 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q20] != 5) | q20 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithDummy[q23] != 5 -> + or([q25 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q25] = x_ExplicitVarSizeWithDummy[q23] + | q25 : int(1..4)]) + | q23 : int(1..4)]), + and([q27 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q29] != 5 /\ + x_ExplicitVarSizeWithDummy[q29] = x_ExplicitVarSizeWithMarker_Values[q27] + | q29 : int(1..4)]) + | q27 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q31] != 5 -> + or([x_ExplicitVarSizeWithFlags_Flags[q33] /\ + x_ExplicitVarSizeWithFlags_Values[q33] = x_ExplicitVarSizeWithDummy[q31] + | q33 : int(1..4)]) + | q31 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q35] -> + or([x_ExplicitVarSizeWithDummy[q37] != 5 /\ + x_ExplicitVarSizeWithDummy[q37] = x_ExplicitVarSizeWithFlags_Values[q35] + | q37 : int(1..4)]) + | q35 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q39] != 5 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q39]] | q39 : int(1..4)]), + and([x_Occurrence[q40] -> + or([x_ExplicitVarSizeWithDummy[q42] != 5 /\ x_ExplicitVarSizeWithDummy[q42] = q40 | q42 : int(1..4)]) + | q40 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_3_4_2_1-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_3_4_2_1-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_3_4_2_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_3_4_2_1-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_3_4_2_1-solution000002.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_3_4_2_1-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_3_4_2_1.eprime b/tests/exhaustive/basic/set06/expected/model_3_4_2_1.eprime new file mode 100644 index 0000000000..f93afbb056 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_3_4_2_1.eprime @@ -0,0 +1,77 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +find x_Occurrence: matrix indexed by [int(1..4)] of bool +branching on + [x_Occurrence, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, + x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_ExplicitVarSizeWithDummy] +such that + or([q54 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q54] = 1 | q54 : int(1..4)]), + or([x_ExplicitVarSizeWithFlags_Flags[q56] /\ x_ExplicitVarSizeWithFlags_Values[q56] = 2 | q56 : int(1..4)]), + or([x_ExplicitVarSizeWithDummy[q58] != 5 /\ x_ExplicitVarSizeWithDummy[q58] = 3 | q58 : int(1..4)]), + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..3)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 1 | q2 : int(1..4)]), + x_ExplicitVarSizeWithMarker_Marker <= 4, + and([x_ExplicitVarSizeWithFlags_Flags[q4 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q4] < x_ExplicitVarSizeWithFlags_Values[q4 + 1] + | q4 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q5] = false -> x_ExplicitVarSizeWithFlags_Values[q5] = 1 | q5 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q6 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q6] | q6 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q7]) | q7 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithFlags_Flags[q10] -> + or([q12 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q12] = x_ExplicitVarSizeWithFlags_Values[q10] + | q12 : int(1..4)]) + | q10 : int(1..4)]), + and([q14 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q16] /\ + x_ExplicitVarSizeWithFlags_Values[q16] = x_ExplicitVarSizeWithMarker_Values[q14] + | q16 : int(1..4)]) + | q14 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q17] < x_ExplicitVarSizeWithDummy[q17 + 1] \/ x_ExplicitVarSizeWithDummy[q17] = 5 + | q17 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q18] = 5 -> x_ExplicitVarSizeWithDummy[q18 + 1] = 5 | q18 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q19] != 5) | q19 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithDummy[q22] != 5 -> + or([q24 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q24] = x_ExplicitVarSizeWithDummy[q22] + | q24 : int(1..4)]) + | q22 : int(1..4)]), + and([q26 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q28] != 5 /\ + x_ExplicitVarSizeWithDummy[q28] = x_ExplicitVarSizeWithMarker_Values[q26] + | q28 : int(1..4)]) + | q26 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q30] != 5 -> + or([x_ExplicitVarSizeWithFlags_Flags[q32] /\ + x_ExplicitVarSizeWithFlags_Values[q32] = x_ExplicitVarSizeWithDummy[q30] + | q32 : int(1..4)]) + | q30 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q34] -> + or([x_ExplicitVarSizeWithDummy[q36] != 5 /\ + x_ExplicitVarSizeWithDummy[q36] = x_ExplicitVarSizeWithFlags_Values[q34] + | q36 : int(1..4)]) + | q34 : int(1..4)]), + sum([toInt(x_Occurrence[q37]) | q37 : int(1..4)]) <= 4, + and([x_Occurrence[q38] -> + or([q40 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q40] = q38 + | q40 : int(1..4)]) + | q38 : int(1..4)]), + and([q42 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q42]] + | q42 : int(1..4)]), + and([x_Occurrence[q43] -> + or([x_ExplicitVarSizeWithFlags_Flags[q45] /\ x_ExplicitVarSizeWithFlags_Values[q45] = q43 | q45 : int(1..4)]) + | q43 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q47] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q47]] + | q47 : int(1..4)]), + and([x_Occurrence[q48] -> + or([x_ExplicitVarSizeWithDummy[q50] != 5 /\ x_ExplicitVarSizeWithDummy[q50] = q48 | q50 : int(1..4)]) + | q48 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q52] != 5 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q52]] | q52 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_3_4_2_2-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_3_4_2_2-solution000001.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_3_4_2_2-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_3_4_2_2-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_3_4_2_2-solution000002.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_3_4_2_2-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_3_4_2_2.eprime b/tests/exhaustive/basic/set06/expected/model_3_4_2_2.eprime new file mode 100644 index 0000000000..f2d9d0a651 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_3_4_2_2.eprime @@ -0,0 +1,60 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +branching on + [x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, + x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values] +such that + or([q38 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q38] = 1 | q38 : int(1..4)]), + or([x_ExplicitVarSizeWithFlags_Flags[q40] /\ x_ExplicitVarSizeWithFlags_Values[q40] = 2 | q40 : int(1..4)]), + or([x_ExplicitVarSizeWithDummy[q42] != 5 /\ x_ExplicitVarSizeWithDummy[q42] = 3 | q42 : int(1..4)]), + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..3)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 1 | q2 : int(1..4)]), + x_ExplicitVarSizeWithMarker_Marker <= 4, + and([x_ExplicitVarSizeWithFlags_Flags[q4 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q4] < x_ExplicitVarSizeWithFlags_Values[q4 + 1] + | q4 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q5] = false -> x_ExplicitVarSizeWithFlags_Values[q5] = 1 | q5 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q6 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q6] | q6 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q7]) | q7 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithFlags_Flags[q10] -> + or([q12 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q12] = x_ExplicitVarSizeWithFlags_Values[q10] + | q12 : int(1..4)]) + | q10 : int(1..4)]), + and([q14 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q16] /\ + x_ExplicitVarSizeWithFlags_Values[q16] = x_ExplicitVarSizeWithMarker_Values[q14] + | q16 : int(1..4)]) + | q14 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q17] < x_ExplicitVarSizeWithDummy[q17 + 1] \/ x_ExplicitVarSizeWithDummy[q17] = 5 + | q17 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q18] = 5 -> x_ExplicitVarSizeWithDummy[q18 + 1] = 5 | q18 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q19] != 5) | q19 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithDummy[q22] != 5 -> + or([q24 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q24] = x_ExplicitVarSizeWithDummy[q22] + | q24 : int(1..4)]) + | q22 : int(1..4)]), + and([q26 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q28] != 5 /\ + x_ExplicitVarSizeWithDummy[q28] = x_ExplicitVarSizeWithMarker_Values[q26] + | q28 : int(1..4)]) + | q26 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q30] != 5 -> + or([x_ExplicitVarSizeWithFlags_Flags[q32] /\ + x_ExplicitVarSizeWithFlags_Values[q32] = x_ExplicitVarSizeWithDummy[q30] + | q32 : int(1..4)]) + | q30 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q34] -> + or([x_ExplicitVarSizeWithDummy[q36] != 5 /\ + x_ExplicitVarSizeWithDummy[q36] = x_ExplicitVarSizeWithFlags_Values[q34] + | q36 : int(1..4)]) + | q34 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_3_4_3_1-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_3_4_3_1-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_3_4_3_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_3_4_3_1-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_3_4_3_1-solution000002.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_3_4_3_1-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_3_4_3_1.eprime b/tests/exhaustive/basic/set06/expected/model_3_4_3_1.eprime new file mode 100644 index 0000000000..eb620a3fab --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_3_4_3_1.eprime @@ -0,0 +1,48 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_Occurrence: matrix indexed by [int(1..4)] of bool +branching on + [x_Occurrence, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, + x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values] +such that + or([q29 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q29] = 1 | q29 : int(1..4)]), + or([x_ExplicitVarSizeWithFlags_Flags[q31] /\ x_ExplicitVarSizeWithFlags_Values[q31] = 2 | q31 : int(1..4)]), + or([q33 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q33] = 3 | q33 : int(1..4)]), + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..3)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 1 | q2 : int(1..4)]), + x_ExplicitVarSizeWithMarker_Marker <= 4, + and([x_ExplicitVarSizeWithFlags_Flags[q4 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q4] < x_ExplicitVarSizeWithFlags_Values[q4 + 1] + | q4 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q5] = false -> x_ExplicitVarSizeWithFlags_Values[q5] = 1 | q5 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q6 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q6] | q6 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q7]) | q7 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithFlags_Flags[q10] -> + or([q12 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q12] = x_ExplicitVarSizeWithFlags_Values[q10] + | q12 : int(1..4)]) + | q10 : int(1..4)]), + and([q14 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q16] /\ + x_ExplicitVarSizeWithFlags_Values[q16] = x_ExplicitVarSizeWithMarker_Values[q14] + | q16 : int(1..4)]) + | q14 : int(1..4)]), + sum([toInt(x_Occurrence[q17]) | q17 : int(1..4)]) <= 4, + and([x_Occurrence[q18] -> + or([q20 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q20] = q18 + | q20 : int(1..4)]) + | q18 : int(1..4)]), + and([q22 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q22]] + | q22 : int(1..4)]), + and([x_Occurrence[q23] -> + or([x_ExplicitVarSizeWithFlags_Flags[q25] /\ x_ExplicitVarSizeWithFlags_Values[q25] = q23 | q25 : int(1..4)]) + | q23 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q27] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q27]] + | q27 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_3_4_3_2-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_3_4_3_2-solution000001.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_3_4_3_2-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_3_4_3_2-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_3_4_3_2-solution000002.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_3_4_3_2-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_3_4_3_2.eprime b/tests/exhaustive/basic/set06/expected/model_3_4_3_2.eprime new file mode 100644 index 0000000000..99ec382079 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_3_4_3_2.eprime @@ -0,0 +1,60 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +branching on + [x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, + x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values] +such that + or([q38 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q38] = 1 | q38 : int(1..4)]), + or([x_ExplicitVarSizeWithFlags_Flags[q40] /\ x_ExplicitVarSizeWithFlags_Values[q40] = 2 | q40 : int(1..4)]), + or([q42 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q42] = 3 | q42 : int(1..4)]), + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..3)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 1 | q2 : int(1..4)]), + x_ExplicitVarSizeWithMarker_Marker <= 4, + and([x_ExplicitVarSizeWithFlags_Flags[q4 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q4] < x_ExplicitVarSizeWithFlags_Values[q4 + 1] + | q4 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q5] = false -> x_ExplicitVarSizeWithFlags_Values[q5] = 1 | q5 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q6 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q6] | q6 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q7]) | q7 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithFlags_Flags[q10] -> + or([q12 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q12] = x_ExplicitVarSizeWithFlags_Values[q10] + | q12 : int(1..4)]) + | q10 : int(1..4)]), + and([q14 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q16] /\ + x_ExplicitVarSizeWithFlags_Values[q16] = x_ExplicitVarSizeWithMarker_Values[q14] + | q16 : int(1..4)]) + | q14 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q17] < x_ExplicitVarSizeWithDummy[q17 + 1] \/ x_ExplicitVarSizeWithDummy[q17] = 5 + | q17 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q18] = 5 -> x_ExplicitVarSizeWithDummy[q18 + 1] = 5 | q18 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q19] != 5) | q19 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithDummy[q22] != 5 -> + or([q24 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q24] = x_ExplicitVarSizeWithDummy[q22] + | q24 : int(1..4)]) + | q22 : int(1..4)]), + and([q26 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q28] != 5 /\ + x_ExplicitVarSizeWithDummy[q28] = x_ExplicitVarSizeWithMarker_Values[q26] + | q28 : int(1..4)]) + | q26 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q30] != 5 -> + or([x_ExplicitVarSizeWithFlags_Flags[q32] /\ + x_ExplicitVarSizeWithFlags_Values[q32] = x_ExplicitVarSizeWithDummy[q30] + | q32 : int(1..4)]) + | q30 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q34] -> + or([x_ExplicitVarSizeWithDummy[q36] != 5 /\ + x_ExplicitVarSizeWithDummy[q36] = x_ExplicitVarSizeWithFlags_Values[q34] + | q36 : int(1..4)]) + | q34 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_3_4_3_3-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_3_4_3_3-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_3_4_3_3-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_3_4_3_3-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_3_4_3_3-solution000002.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_3_4_3_3-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_3_4_3_3.eprime b/tests/exhaustive/basic/set06/expected/model_3_4_3_3.eprime new file mode 100644 index 0000000000..5a5960dab7 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_3_4_3_3.eprime @@ -0,0 +1,35 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_ExplicitVarSizeWithMarker_Marker, + x_ExplicitVarSizeWithMarker_Values] +such that + or([q18 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q18] = 1 | q18 : int(1..4)]), + or([x_ExplicitVarSizeWithFlags_Flags[q20] /\ x_ExplicitVarSizeWithFlags_Values[q20] = 2 | q20 : int(1..4)]), + or([q22 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q22] = 3 | q22 : int(1..4)]), + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..3)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 1 | q2 : int(1..4)]), + x_ExplicitVarSizeWithMarker_Marker <= 4, + and([x_ExplicitVarSizeWithFlags_Flags[q4 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q4] < x_ExplicitVarSizeWithFlags_Values[q4 + 1] + | q4 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q5] = false -> x_ExplicitVarSizeWithFlags_Values[q5] = 1 | q5 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q6 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q6] | q6 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q7]) | q7 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithFlags_Flags[q10] -> + or([q12 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q12] = x_ExplicitVarSizeWithFlags_Values[q10] + | q12 : int(1..4)]) + | q10 : int(1..4)]), + and([q14 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q16] /\ + x_ExplicitVarSizeWithFlags_Values[q16] = x_ExplicitVarSizeWithMarker_Values[q14] + | q16 : int(1..4)]) + | q14 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_3_4_4_1-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_3_4_4_1-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_3_4_4_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_3_4_4_1-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_3_4_4_1-solution000002.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_3_4_4_1-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_3_4_4_1.eprime b/tests/exhaustive/basic/set06/expected/model_3_4_4_1.eprime new file mode 100644 index 0000000000..5887490b4d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_3_4_4_1.eprime @@ -0,0 +1,48 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_Occurrence: matrix indexed by [int(1..4)] of bool +branching on + [x_Occurrence, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, + x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values] +such that + or([q29 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q29] = 1 | q29 : int(1..4)]), + or([x_ExplicitVarSizeWithFlags_Flags[q31] /\ x_ExplicitVarSizeWithFlags_Values[q31] = 2 | q31 : int(1..4)]), + or([x_ExplicitVarSizeWithFlags_Flags[q33] /\ x_ExplicitVarSizeWithFlags_Values[q33] = 3 | q33 : int(1..4)]), + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..3)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 1 | q2 : int(1..4)]), + x_ExplicitVarSizeWithMarker_Marker <= 4, + and([x_ExplicitVarSizeWithFlags_Flags[q4 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q4] < x_ExplicitVarSizeWithFlags_Values[q4 + 1] + | q4 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q5] = false -> x_ExplicitVarSizeWithFlags_Values[q5] = 1 | q5 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q6 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q6] | q6 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q7]) | q7 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithFlags_Flags[q10] -> + or([q12 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q12] = x_ExplicitVarSizeWithFlags_Values[q10] + | q12 : int(1..4)]) + | q10 : int(1..4)]), + and([q14 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q16] /\ + x_ExplicitVarSizeWithFlags_Values[q16] = x_ExplicitVarSizeWithMarker_Values[q14] + | q16 : int(1..4)]) + | q14 : int(1..4)]), + sum([toInt(x_Occurrence[q17]) | q17 : int(1..4)]) <= 4, + and([x_Occurrence[q18] -> + or([q20 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q20] = q18 + | q20 : int(1..4)]) + | q18 : int(1..4)]), + and([q22 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q22]] + | q22 : int(1..4)]), + and([x_Occurrence[q23] -> + or([x_ExplicitVarSizeWithFlags_Flags[q25] /\ x_ExplicitVarSizeWithFlags_Values[q25] = q23 | q25 : int(1..4)]) + | q23 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q27] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q27]] + | q27 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_3_4_4_2-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_3_4_4_2-solution000001.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_3_4_4_2-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_3_4_4_2-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_3_4_4_2-solution000002.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_3_4_4_2-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_3_4_4_2.eprime b/tests/exhaustive/basic/set06/expected/model_3_4_4_2.eprime new file mode 100644 index 0000000000..5acf1611b5 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_3_4_4_2.eprime @@ -0,0 +1,60 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +branching on + [x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, + x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values] +such that + or([q38 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q38] = 1 | q38 : int(1..4)]), + or([x_ExplicitVarSizeWithFlags_Flags[q40] /\ x_ExplicitVarSizeWithFlags_Values[q40] = 2 | q40 : int(1..4)]), + or([x_ExplicitVarSizeWithFlags_Flags[q42] /\ x_ExplicitVarSizeWithFlags_Values[q42] = 3 | q42 : int(1..4)]), + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..3)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 1 | q2 : int(1..4)]), + x_ExplicitVarSizeWithMarker_Marker <= 4, + and([x_ExplicitVarSizeWithFlags_Flags[q4 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q4] < x_ExplicitVarSizeWithFlags_Values[q4 + 1] + | q4 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q5] = false -> x_ExplicitVarSizeWithFlags_Values[q5] = 1 | q5 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q6 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q6] | q6 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q7]) | q7 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithFlags_Flags[q10] -> + or([q12 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q12] = x_ExplicitVarSizeWithFlags_Values[q10] + | q12 : int(1..4)]) + | q10 : int(1..4)]), + and([q14 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q16] /\ + x_ExplicitVarSizeWithFlags_Values[q16] = x_ExplicitVarSizeWithMarker_Values[q14] + | q16 : int(1..4)]) + | q14 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q17] < x_ExplicitVarSizeWithDummy[q17 + 1] \/ x_ExplicitVarSizeWithDummy[q17] = 5 + | q17 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q18] = 5 -> x_ExplicitVarSizeWithDummy[q18 + 1] = 5 | q18 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q19] != 5) | q19 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithDummy[q22] != 5 -> + or([q24 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q24] = x_ExplicitVarSizeWithDummy[q22] + | q24 : int(1..4)]) + | q22 : int(1..4)]), + and([q26 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q28] != 5 /\ + x_ExplicitVarSizeWithDummy[q28] = x_ExplicitVarSizeWithMarker_Values[q26] + | q28 : int(1..4)]) + | q26 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q30] != 5 -> + or([x_ExplicitVarSizeWithFlags_Flags[q32] /\ + x_ExplicitVarSizeWithFlags_Values[q32] = x_ExplicitVarSizeWithDummy[q30] + | q32 : int(1..4)]) + | q30 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q34] -> + or([x_ExplicitVarSizeWithDummy[q36] != 5 /\ + x_ExplicitVarSizeWithDummy[q36] = x_ExplicitVarSizeWithFlags_Values[q34] + | q36 : int(1..4)]) + | q34 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_3_4_4_3-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_3_4_4_3-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_3_4_4_3-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_3_4_4_3-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_3_4_4_3-solution000002.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_3_4_4_3-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_3_4_4_3.eprime b/tests/exhaustive/basic/set06/expected/model_3_4_4_3.eprime new file mode 100644 index 0000000000..fadbf77294 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_3_4_4_3.eprime @@ -0,0 +1,35 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_ExplicitVarSizeWithMarker_Marker, + x_ExplicitVarSizeWithMarker_Values] +such that + or([q18 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q18] = 1 | q18 : int(1..4)]), + or([x_ExplicitVarSizeWithFlags_Flags[q20] /\ x_ExplicitVarSizeWithFlags_Values[q20] = 2 | q20 : int(1..4)]), + or([x_ExplicitVarSizeWithFlags_Flags[q22] /\ x_ExplicitVarSizeWithFlags_Values[q22] = 3 | q22 : int(1..4)]), + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..3)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 1 | q2 : int(1..4)]), + x_ExplicitVarSizeWithMarker_Marker <= 4, + and([x_ExplicitVarSizeWithFlags_Flags[q4 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q4] < x_ExplicitVarSizeWithFlags_Values[q4 + 1] + | q4 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q5] = false -> x_ExplicitVarSizeWithFlags_Values[q5] = 1 | q5 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q6 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q6] | q6 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q7]) | q7 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithFlags_Flags[q10] -> + or([q12 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q12] = x_ExplicitVarSizeWithFlags_Values[q10] + | q12 : int(1..4)]) + | q10 : int(1..4)]), + and([q14 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q16] /\ + x_ExplicitVarSizeWithFlags_Values[q16] = x_ExplicitVarSizeWithMarker_Values[q14] + | q16 : int(1..4)]) + | q14 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_4_1_1_1-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_4_1_1_1-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_4_1_1_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_4_1_1_1-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_4_1_1_1-solution000002.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_4_1_1_1-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_4_1_1_1.eprime b/tests/exhaustive/basic/set06/expected/model_4_1_1_1.eprime new file mode 100644 index 0000000000..840476d8f2 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_4_1_1_1.eprime @@ -0,0 +1,23 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_Occurrence: matrix indexed by [int(1..4)] of bool +branching on [x_Occurrence, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values] +such that + or([x_ExplicitVarSizeWithFlags_Flags[q13] /\ x_ExplicitVarSizeWithFlags_Values[q13] = 1 | q13 : int(1..4)]), + x_Occurrence[2], + x_Occurrence[3], + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 1 | q2 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q4]) | q4 : int(1..4)]) <= 4, + sum([toInt(x_Occurrence[q6]) | q6 : int(1..4)]) <= 4, + and([x_Occurrence[q7] -> + or([x_ExplicitVarSizeWithFlags_Flags[q9] /\ x_ExplicitVarSizeWithFlags_Values[q9] = q7 | q9 : int(1..4)]) + | q7 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q11] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q11]] + | q11 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_4_1_1_2-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_4_1_1_2-solution000001.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_4_1_1_2-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_4_1_1_2-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_4_1_1_2-solution000002.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_4_1_1_2-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_4_1_1_2.eprime b/tests/exhaustive/basic/set06/expected/model_4_1_1_2.eprime new file mode 100644 index 0000000000..c40a34fba9 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_4_1_1_2.eprime @@ -0,0 +1,43 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_Occurrence: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +branching on + [x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_Occurrence] +such that + or([x_ExplicitVarSizeWithFlags_Flags[q30] /\ x_ExplicitVarSizeWithFlags_Values[q30] = 1 | q30 : int(1..4)]), + x_Occurrence[2], + x_Occurrence[3], + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 1 | q2 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q4]) | q4 : int(1..4)]) <= 4, + sum([toInt(x_Occurrence[q6]) | q6 : int(1..4)]) <= 4, + and([x_Occurrence[q24] -> + or([x_ExplicitVarSizeWithFlags_Flags[q26] /\ x_ExplicitVarSizeWithFlags_Values[q26] = q24 | q26 : int(1..4)]) + | q24 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q28] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q28]] + | q28 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q7] < x_ExplicitVarSizeWithDummy[q7 + 1] \/ x_ExplicitVarSizeWithDummy[q7] = 5 + | q7 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q8] = 5 -> x_ExplicitVarSizeWithDummy[q8 + 1] = 5 | q8 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q9] != 5) | q9 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithDummy[q12] != 5 -> + or([x_ExplicitVarSizeWithFlags_Flags[q14] /\ + x_ExplicitVarSizeWithFlags_Values[q14] = x_ExplicitVarSizeWithDummy[q12] + | q14 : int(1..4)]) + | q12 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q16] -> + or([x_ExplicitVarSizeWithDummy[q18] != 5 /\ + x_ExplicitVarSizeWithDummy[q18] = x_ExplicitVarSizeWithFlags_Values[q16] + | q18 : int(1..4)]) + | q16 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q20] != 5 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q20]] | q20 : int(1..4)]), + and([x_Occurrence[q21] -> + or([x_ExplicitVarSizeWithDummy[q23] != 5 /\ x_ExplicitVarSizeWithDummy[q23] = q21 | q23 : int(1..4)]) + | q21 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_4_1_1_3-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_4_1_1_3-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_4_1_1_3-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_4_1_1_3-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_4_1_1_3-solution000002.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_4_1_1_3-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_4_1_1_3.eprime b/tests/exhaustive/basic/set06/expected/model_4_1_1_3.eprime new file mode 100644 index 0000000000..cf6fdd09fe --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_4_1_1_3.eprime @@ -0,0 +1,48 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_Occurrence: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_ExplicitVarSizeWithFlags_Flags, + x_ExplicitVarSizeWithFlags_Values, x_Occurrence] +such that + or([x_ExplicitVarSizeWithFlags_Flags[q29] /\ x_ExplicitVarSizeWithFlags_Values[q29] = 1 | q29 : int(1..4)]), + x_Occurrence[2], + x_Occurrence[3], + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 1 | q2 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q4]) | q4 : int(1..4)]) <= 4, + sum([toInt(x_Occurrence[q6]) | q6 : int(1..4)]) <= 4, + and([x_Occurrence[q23] -> + or([x_ExplicitVarSizeWithFlags_Flags[q25] /\ x_ExplicitVarSizeWithFlags_Values[q25] = q23 | q25 : int(1..4)]) + | q23 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q27] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q27]] + | q27 : int(1..4)]), + and([q7 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q7] < x_ExplicitVarSizeWithMarker_Values[q7 + 1] + | q7 : int(1..3)]), + and([q8 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q8] = 1 | q8 : int(1..4)]), + x_ExplicitVarSizeWithMarker_Marker <= 4, + and([q11 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q13] /\ + x_ExplicitVarSizeWithFlags_Values[q13] = x_ExplicitVarSizeWithMarker_Values[q11] + | q13 : int(1..4)]) + | q11 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q15] -> + or([q17 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q17] = x_ExplicitVarSizeWithFlags_Values[q15] + | q17 : int(1..4)]) + | q15 : int(1..4)]), + and([q19 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q19]] + | q19 : int(1..4)]), + and([x_Occurrence[q20] -> + or([q22 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q22] = q20 + | q22 : int(1..4)]) + | q20 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_4_1_2_1-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_4_1_2_1-solution000001.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_4_1_2_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_4_1_2_1-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_4_1_2_1-solution000002.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_4_1_2_1-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_4_1_2_1.eprime b/tests/exhaustive/basic/set06/expected/model_4_1_2_1.eprime new file mode 100644 index 0000000000..4e673b02e4 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_4_1_2_1.eprime @@ -0,0 +1,43 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_Occurrence: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +branching on + [x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_Occurrence] +such that + or([x_ExplicitVarSizeWithFlags_Flags[q32] /\ x_ExplicitVarSizeWithFlags_Values[q32] = 1 | q32 : int(1..4)]), + x_Occurrence[2], + or([x_ExplicitVarSizeWithDummy[q30] != 5 /\ x_ExplicitVarSizeWithDummy[q30] = 3 | q30 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 1 | q2 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q4]) | q4 : int(1..4)]) <= 4, + sum([toInt(x_Occurrence[q6]) | q6 : int(1..4)]) <= 4, + and([x_Occurrence[q24] -> + or([x_ExplicitVarSizeWithFlags_Flags[q26] /\ x_ExplicitVarSizeWithFlags_Values[q26] = q24 | q26 : int(1..4)]) + | q24 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q28] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q28]] + | q28 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q7] < x_ExplicitVarSizeWithDummy[q7 + 1] \/ x_ExplicitVarSizeWithDummy[q7] = 5 + | q7 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q8] = 5 -> x_ExplicitVarSizeWithDummy[q8 + 1] = 5 | q8 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q9] != 5) | q9 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithDummy[q12] != 5 -> + or([x_ExplicitVarSizeWithFlags_Flags[q14] /\ + x_ExplicitVarSizeWithFlags_Values[q14] = x_ExplicitVarSizeWithDummy[q12] + | q14 : int(1..4)]) + | q12 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q16] -> + or([x_ExplicitVarSizeWithDummy[q18] != 5 /\ + x_ExplicitVarSizeWithDummy[q18] = x_ExplicitVarSizeWithFlags_Values[q16] + | q18 : int(1..4)]) + | q16 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q20] != 5 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q20]] | q20 : int(1..4)]), + and([x_Occurrence[q21] -> + or([x_ExplicitVarSizeWithDummy[q23] != 5 /\ x_ExplicitVarSizeWithDummy[q23] = q21 | q23 : int(1..4)]) + | q21 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_4_1_2_3-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_4_1_2_3-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_4_1_2_3-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_4_1_2_3-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_4_1_2_3-solution000002.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_4_1_2_3-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_4_1_2_3.eprime b/tests/exhaustive/basic/set06/expected/model_4_1_2_3.eprime new file mode 100644 index 0000000000..f80a5a1df4 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_4_1_2_3.eprime @@ -0,0 +1,77 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_Occurrence: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_ExplicitVarSizeWithFlags_Flags, + x_ExplicitVarSizeWithFlags_Values, x_Occurrence, x_ExplicitVarSizeWithDummy] +such that + or([x_ExplicitVarSizeWithFlags_Flags[q56] /\ x_ExplicitVarSizeWithFlags_Values[q56] = 1 | q56 : int(1..4)]), + x_Occurrence[2], + or([x_ExplicitVarSizeWithDummy[q54] != 5 /\ x_ExplicitVarSizeWithDummy[q54] = 3 | q54 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 1 | q2 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q4]) | q4 : int(1..4)]) <= 4, + sum([toInt(x_Occurrence[q6]) | q6 : int(1..4)]) <= 4, + and([x_Occurrence[q48] -> + or([x_ExplicitVarSizeWithFlags_Flags[q50] /\ x_ExplicitVarSizeWithFlags_Values[q50] = q48 | q50 : int(1..4)]) + | q48 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q52] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q52]] + | q52 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q7] < x_ExplicitVarSizeWithDummy[q7 + 1] \/ x_ExplicitVarSizeWithDummy[q7] = 5 + | q7 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q8] = 5 -> x_ExplicitVarSizeWithDummy[q8 + 1] = 5 | q8 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q9] != 5) | q9 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithDummy[q12] != 5 -> + or([x_ExplicitVarSizeWithFlags_Flags[q14] /\ + x_ExplicitVarSizeWithFlags_Values[q14] = x_ExplicitVarSizeWithDummy[q12] + | q14 : int(1..4)]) + | q12 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q16] -> + or([x_ExplicitVarSizeWithDummy[q18] != 5 /\ + x_ExplicitVarSizeWithDummy[q18] = x_ExplicitVarSizeWithFlags_Values[q16] + | q18 : int(1..4)]) + | q16 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q20] != 5 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q20]] | q20 : int(1..4)]), + and([x_Occurrence[q21] -> + or([x_ExplicitVarSizeWithDummy[q23] != 5 /\ x_ExplicitVarSizeWithDummy[q23] = q21 | q23 : int(1..4)]) + | q21 : int(1..4)]), + and([q24 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q24] < x_ExplicitVarSizeWithMarker_Values[q24 + 1] + | q24 : int(1..3)]), + and([q25 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q25] = 1 | q25 : int(1..4)]), + x_ExplicitVarSizeWithMarker_Marker <= 4, + and([q28 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q30] /\ + x_ExplicitVarSizeWithFlags_Values[q30] = x_ExplicitVarSizeWithMarker_Values[q28] + | q30 : int(1..4)]) + | q28 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q32] -> + or([q34 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q34] = x_ExplicitVarSizeWithFlags_Values[q32] + | q34 : int(1..4)]) + | q32 : int(1..4)]), + and([q36 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q36]] + | q36 : int(1..4)]), + and([x_Occurrence[q37] -> + or([q39 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q39] = q37 + | q39 : int(1..4)]) + | q37 : int(1..4)]), + and([q41 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q43] != 5 /\ + x_ExplicitVarSizeWithDummy[q43] = x_ExplicitVarSizeWithMarker_Values[q41] + | q43 : int(1..4)]) + | q41 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q45] != 5 -> + or([q47 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q47] = x_ExplicitVarSizeWithDummy[q45] + | q47 : int(1..4)]) + | q45 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_4_1_3_1-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_4_1_3_1-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_4_1_3_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_4_1_3_1-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_4_1_3_1-solution000002.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_4_1_3_1-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_4_1_3_1.eprime b/tests/exhaustive/basic/set06/expected/model_4_1_3_1.eprime new file mode 100644 index 0000000000..408fd414ac --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_4_1_3_1.eprime @@ -0,0 +1,48 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_Occurrence: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_ExplicitVarSizeWithFlags_Flags, + x_ExplicitVarSizeWithFlags_Values, x_Occurrence] +such that + or([x_ExplicitVarSizeWithFlags_Flags[q31] /\ x_ExplicitVarSizeWithFlags_Values[q31] = 1 | q31 : int(1..4)]), + x_Occurrence[2], + or([q29 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q29] = 3 | q29 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 1 | q2 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q4]) | q4 : int(1..4)]) <= 4, + sum([toInt(x_Occurrence[q6]) | q6 : int(1..4)]) <= 4, + and([x_Occurrence[q23] -> + or([x_ExplicitVarSizeWithFlags_Flags[q25] /\ x_ExplicitVarSizeWithFlags_Values[q25] = q23 | q25 : int(1..4)]) + | q23 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q27] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q27]] + | q27 : int(1..4)]), + and([q7 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q7] < x_ExplicitVarSizeWithMarker_Values[q7 + 1] + | q7 : int(1..3)]), + and([q8 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q8] = 1 | q8 : int(1..4)]), + x_ExplicitVarSizeWithMarker_Marker <= 4, + and([q11 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q13] /\ + x_ExplicitVarSizeWithFlags_Values[q13] = x_ExplicitVarSizeWithMarker_Values[q11] + | q13 : int(1..4)]) + | q11 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q15] -> + or([q17 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q17] = x_ExplicitVarSizeWithFlags_Values[q15] + | q17 : int(1..4)]) + | q15 : int(1..4)]), + and([q19 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q19]] + | q19 : int(1..4)]), + and([x_Occurrence[q20] -> + or([q22 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q22] = q20 + | q22 : int(1..4)]) + | q20 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_4_1_3_2-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_4_1_3_2-solution000001.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_4_1_3_2-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_4_1_3_2-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_4_1_3_2-solution000002.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_4_1_3_2-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_4_1_3_2.eprime b/tests/exhaustive/basic/set06/expected/model_4_1_3_2.eprime new file mode 100644 index 0000000000..d20e6ad442 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_4_1_3_2.eprime @@ -0,0 +1,77 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_Occurrence: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +branching on + [x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_Occurrence, + x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values] +such that + or([x_ExplicitVarSizeWithFlags_Flags[q56] /\ x_ExplicitVarSizeWithFlags_Values[q56] = 1 | q56 : int(1..4)]), + x_Occurrence[2], + or([q54 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q54] = 3 | q54 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 1 | q2 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q4]) | q4 : int(1..4)]) <= 4, + sum([toInt(x_Occurrence[q6]) | q6 : int(1..4)]) <= 4, + and([x_Occurrence[q48] -> + or([x_ExplicitVarSizeWithFlags_Flags[q50] /\ x_ExplicitVarSizeWithFlags_Values[q50] = q48 | q50 : int(1..4)]) + | q48 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q52] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q52]] + | q52 : int(1..4)]), + and([q7 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q7] < x_ExplicitVarSizeWithMarker_Values[q7 + 1] + | q7 : int(1..3)]), + and([q8 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q8] = 1 | q8 : int(1..4)]), + x_ExplicitVarSizeWithMarker_Marker <= 4, + and([q11 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q13] /\ + x_ExplicitVarSizeWithFlags_Values[q13] = x_ExplicitVarSizeWithMarker_Values[q11] + | q13 : int(1..4)]) + | q11 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q15] -> + or([q17 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q17] = x_ExplicitVarSizeWithFlags_Values[q15] + | q17 : int(1..4)]) + | q15 : int(1..4)]), + and([q19 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q19]] + | q19 : int(1..4)]), + and([x_Occurrence[q20] -> + or([q22 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q22] = q20 + | q22 : int(1..4)]) + | q20 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q23] < x_ExplicitVarSizeWithDummy[q23 + 1] \/ x_ExplicitVarSizeWithDummy[q23] = 5 + | q23 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q24] = 5 -> x_ExplicitVarSizeWithDummy[q24 + 1] = 5 | q24 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q25] != 5) | q25 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithDummy[q28] != 5 -> + or([x_ExplicitVarSizeWithFlags_Flags[q30] /\ + x_ExplicitVarSizeWithFlags_Values[q30] = x_ExplicitVarSizeWithDummy[q28] + | q30 : int(1..4)]) + | q28 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q32] -> + or([x_ExplicitVarSizeWithDummy[q34] != 5 /\ + x_ExplicitVarSizeWithDummy[q34] = x_ExplicitVarSizeWithFlags_Values[q32] + | q34 : int(1..4)]) + | q32 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q36] != 5 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q36]] | q36 : int(1..4)]), + and([x_Occurrence[q37] -> + or([x_ExplicitVarSizeWithDummy[q39] != 5 /\ x_ExplicitVarSizeWithDummy[q39] = q37 | q39 : int(1..4)]) + | q37 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q41] != 5 -> + or([q43 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q43] = x_ExplicitVarSizeWithDummy[q41] + | q43 : int(1..4)]) + | q41 : int(1..4)]), + and([q45 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q47] != 5 /\ + x_ExplicitVarSizeWithDummy[q47] = x_ExplicitVarSizeWithMarker_Values[q45] + | q47 : int(1..4)]) + | q45 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_4_1_4_1-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_4_1_4_1-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_4_1_4_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_4_1_4_1-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_4_1_4_1-solution000002.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_4_1_4_1-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_4_1_4_1.eprime b/tests/exhaustive/basic/set06/expected/model_4_1_4_1.eprime new file mode 100644 index 0000000000..ab45974aa0 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_4_1_4_1.eprime @@ -0,0 +1,23 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_Occurrence: matrix indexed by [int(1..4)] of bool +branching on [x_Occurrence, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values] +such that + or([x_ExplicitVarSizeWithFlags_Flags[q15] /\ x_ExplicitVarSizeWithFlags_Values[q15] = 1 | q15 : int(1..4)]), + x_Occurrence[2], + or([x_ExplicitVarSizeWithFlags_Flags[q13] /\ x_ExplicitVarSizeWithFlags_Values[q13] = 3 | q13 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 1 | q2 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q4]) | q4 : int(1..4)]) <= 4, + sum([toInt(x_Occurrence[q6]) | q6 : int(1..4)]) <= 4, + and([x_Occurrence[q7] -> + or([x_ExplicitVarSizeWithFlags_Flags[q9] /\ x_ExplicitVarSizeWithFlags_Values[q9] = q7 | q9 : int(1..4)]) + | q7 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q11] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q11]] + | q11 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_4_1_4_2-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_4_1_4_2-solution000001.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_4_1_4_2-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_4_1_4_2-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_4_1_4_2-solution000002.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_4_1_4_2-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_4_1_4_2.eprime b/tests/exhaustive/basic/set06/expected/model_4_1_4_2.eprime new file mode 100644 index 0000000000..db7ef3b013 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_4_1_4_2.eprime @@ -0,0 +1,43 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_Occurrence: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +branching on + [x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_Occurrence] +such that + or([x_ExplicitVarSizeWithFlags_Flags[q32] /\ x_ExplicitVarSizeWithFlags_Values[q32] = 1 | q32 : int(1..4)]), + x_Occurrence[2], + or([x_ExplicitVarSizeWithFlags_Flags[q30] /\ x_ExplicitVarSizeWithFlags_Values[q30] = 3 | q30 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 1 | q2 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q4]) | q4 : int(1..4)]) <= 4, + sum([toInt(x_Occurrence[q6]) | q6 : int(1..4)]) <= 4, + and([x_Occurrence[q24] -> + or([x_ExplicitVarSizeWithFlags_Flags[q26] /\ x_ExplicitVarSizeWithFlags_Values[q26] = q24 | q26 : int(1..4)]) + | q24 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q28] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q28]] + | q28 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q7] < x_ExplicitVarSizeWithDummy[q7 + 1] \/ x_ExplicitVarSizeWithDummy[q7] = 5 + | q7 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q8] = 5 -> x_ExplicitVarSizeWithDummy[q8 + 1] = 5 | q8 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q9] != 5) | q9 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithDummy[q12] != 5 -> + or([x_ExplicitVarSizeWithFlags_Flags[q14] /\ + x_ExplicitVarSizeWithFlags_Values[q14] = x_ExplicitVarSizeWithDummy[q12] + | q14 : int(1..4)]) + | q12 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q16] -> + or([x_ExplicitVarSizeWithDummy[q18] != 5 /\ + x_ExplicitVarSizeWithDummy[q18] = x_ExplicitVarSizeWithFlags_Values[q16] + | q18 : int(1..4)]) + | q16 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q20] != 5 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q20]] | q20 : int(1..4)]), + and([x_Occurrence[q21] -> + or([x_ExplicitVarSizeWithDummy[q23] != 5 /\ x_ExplicitVarSizeWithDummy[q23] = q21 | q23 : int(1..4)]) + | q21 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_4_1_4_3-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_4_1_4_3-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_4_1_4_3-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_4_1_4_3-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_4_1_4_3-solution000002.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_4_1_4_3-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_4_1_4_3.eprime b/tests/exhaustive/basic/set06/expected/model_4_1_4_3.eprime new file mode 100644 index 0000000000..4cec8ec549 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_4_1_4_3.eprime @@ -0,0 +1,48 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_Occurrence: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_ExplicitVarSizeWithFlags_Flags, + x_ExplicitVarSizeWithFlags_Values, x_Occurrence] +such that + or([x_ExplicitVarSizeWithFlags_Flags[q31] /\ x_ExplicitVarSizeWithFlags_Values[q31] = 1 | q31 : int(1..4)]), + x_Occurrence[2], + or([x_ExplicitVarSizeWithFlags_Flags[q29] /\ x_ExplicitVarSizeWithFlags_Values[q29] = 3 | q29 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 1 | q2 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q4]) | q4 : int(1..4)]) <= 4, + sum([toInt(x_Occurrence[q6]) | q6 : int(1..4)]) <= 4, + and([x_Occurrence[q23] -> + or([x_ExplicitVarSizeWithFlags_Flags[q25] /\ x_ExplicitVarSizeWithFlags_Values[q25] = q23 | q25 : int(1..4)]) + | q23 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q27] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q27]] + | q27 : int(1..4)]), + and([q7 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q7] < x_ExplicitVarSizeWithMarker_Values[q7 + 1] + | q7 : int(1..3)]), + and([q8 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q8] = 1 | q8 : int(1..4)]), + x_ExplicitVarSizeWithMarker_Marker <= 4, + and([q11 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q13] /\ + x_ExplicitVarSizeWithFlags_Values[q13] = x_ExplicitVarSizeWithMarker_Values[q11] + | q13 : int(1..4)]) + | q11 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q15] -> + or([q17 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q17] = x_ExplicitVarSizeWithFlags_Values[q15] + | q17 : int(1..4)]) + | q15 : int(1..4)]), + and([q19 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q19]] + | q19 : int(1..4)]), + and([x_Occurrence[q20] -> + or([q22 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q22] = q20 + | q22 : int(1..4)]) + | q20 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_4_2_1_1-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_4_2_1_1-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_4_2_1_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_4_2_1_1-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_4_2_1_1-solution000002.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_4_2_1_1-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_4_2_1_1.eprime b/tests/exhaustive/basic/set06/expected/model_4_2_1_1.eprime new file mode 100644 index 0000000000..ab9510be14 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_4_2_1_1.eprime @@ -0,0 +1,43 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +find x_Occurrence: matrix indexed by [int(1..4)] of bool +branching on + [x_Occurrence, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_ExplicitVarSizeWithDummy] +such that + or([x_ExplicitVarSizeWithFlags_Flags[q30] /\ x_ExplicitVarSizeWithFlags_Values[q30] = 1 | q30 : int(1..4)]), + or([x_ExplicitVarSizeWithDummy[q32] != 5 /\ x_ExplicitVarSizeWithDummy[q32] = 2 | q32 : int(1..4)]), + x_Occurrence[3], + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 1 | q2 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q4]) | q4 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithDummy[q6] < x_ExplicitVarSizeWithDummy[q6 + 1] \/ x_ExplicitVarSizeWithDummy[q6] = 5 + | q6 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q7] = 5 -> x_ExplicitVarSizeWithDummy[q7 + 1] = 5 | q7 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q8] != 5) | q8 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithDummy[q11] != 5 -> + or([x_ExplicitVarSizeWithFlags_Flags[q13] /\ + x_ExplicitVarSizeWithFlags_Values[q13] = x_ExplicitVarSizeWithDummy[q11] + | q13 : int(1..4)]) + | q11 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q15] -> + or([x_ExplicitVarSizeWithDummy[q17] != 5 /\ + x_ExplicitVarSizeWithDummy[q17] = x_ExplicitVarSizeWithFlags_Values[q15] + | q17 : int(1..4)]) + | q15 : int(1..4)]), + sum([toInt(x_Occurrence[q18]) | q18 : int(1..4)]) <= 4, + and([x_Occurrence[q19] -> + or([x_ExplicitVarSizeWithFlags_Flags[q21] /\ x_ExplicitVarSizeWithFlags_Values[q21] = q19 | q21 : int(1..4)]) + | q19 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q23] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q23]] + | q23 : int(1..4)]), + and([x_Occurrence[q24] -> + or([x_ExplicitVarSizeWithDummy[q26] != 5 /\ x_ExplicitVarSizeWithDummy[q26] = q24 | q26 : int(1..4)]) + | q24 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q28] != 5 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q28]] | q28 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_4_2_1_3-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_4_2_1_3-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_4_2_1_3-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_4_2_1_3-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_4_2_1_3-solution000002.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_4_2_1_3-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_4_2_1_3.eprime b/tests/exhaustive/basic/set06/expected/model_4_2_1_3.eprime new file mode 100644 index 0000000000..85e53801b8 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_4_2_1_3.eprime @@ -0,0 +1,77 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +find x_Occurrence: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_ExplicitVarSizeWithFlags_Flags, + x_ExplicitVarSizeWithFlags_Values, x_ExplicitVarSizeWithDummy, x_Occurrence] +such that + or([x_ExplicitVarSizeWithFlags_Flags[q54] /\ x_ExplicitVarSizeWithFlags_Values[q54] = 1 | q54 : int(1..4)]), + or([x_ExplicitVarSizeWithDummy[q56] != 5 /\ x_ExplicitVarSizeWithDummy[q56] = 2 | q56 : int(1..4)]), + x_Occurrence[3], + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 1 | q2 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q4]) | q4 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithDummy[q6] < x_ExplicitVarSizeWithDummy[q6 + 1] \/ x_ExplicitVarSizeWithDummy[q6] = 5 + | q6 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q7] = 5 -> x_ExplicitVarSizeWithDummy[q7 + 1] = 5 | q7 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q8] != 5) | q8 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithDummy[q11] != 5 -> + or([x_ExplicitVarSizeWithFlags_Flags[q13] /\ + x_ExplicitVarSizeWithFlags_Values[q13] = x_ExplicitVarSizeWithDummy[q11] + | q13 : int(1..4)]) + | q11 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q15] -> + or([x_ExplicitVarSizeWithDummy[q17] != 5 /\ + x_ExplicitVarSizeWithDummy[q17] = x_ExplicitVarSizeWithFlags_Values[q15] + | q17 : int(1..4)]) + | q15 : int(1..4)]), + sum([toInt(x_Occurrence[q18]) | q18 : int(1..4)]) <= 4, + and([x_Occurrence[q43] -> + or([x_ExplicitVarSizeWithFlags_Flags[q45] /\ x_ExplicitVarSizeWithFlags_Values[q45] = q43 | q45 : int(1..4)]) + | q43 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q47] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q47]] + | q47 : int(1..4)]), + and([x_Occurrence[q48] -> + or([x_ExplicitVarSizeWithDummy[q50] != 5 /\ x_ExplicitVarSizeWithDummy[q50] = q48 | q50 : int(1..4)]) + | q48 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q52] != 5 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q52]] | q52 : int(1..4)]), + and([q19 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q19] < x_ExplicitVarSizeWithMarker_Values[q19 + 1] + | q19 : int(1..3)]), + and([q20 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q20] = 1 | q20 : int(1..4)]), + x_ExplicitVarSizeWithMarker_Marker <= 4, + and([q23 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q25] /\ + x_ExplicitVarSizeWithFlags_Values[q25] = x_ExplicitVarSizeWithMarker_Values[q23] + | q25 : int(1..4)]) + | q23 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q27] -> + or([q29 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q29] = x_ExplicitVarSizeWithFlags_Values[q27] + | q29 : int(1..4)]) + | q27 : int(1..4)]), + and([q31 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q33] != 5 /\ + x_ExplicitVarSizeWithDummy[q33] = x_ExplicitVarSizeWithMarker_Values[q31] + | q33 : int(1..4)]) + | q31 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q35] != 5 -> + or([q37 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q37] = x_ExplicitVarSizeWithDummy[q35] + | q37 : int(1..4)]) + | q35 : int(1..4)]), + and([q39 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q39]] + | q39 : int(1..4)]), + and([x_Occurrence[q40] -> + or([q42 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q42] = q40 + | q42 : int(1..4)]) + | q40 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_4_2_2_1-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_4_2_2_1-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_4_2_2_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_4_2_2_1-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_4_2_2_1-solution000002.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_4_2_2_1-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_4_2_2_1.eprime b/tests/exhaustive/basic/set06/expected/model_4_2_2_1.eprime new file mode 100644 index 0000000000..dad34d0ed0 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_4_2_2_1.eprime @@ -0,0 +1,43 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +find x_Occurrence: matrix indexed by [int(1..4)] of bool +branching on + [x_Occurrence, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_ExplicitVarSizeWithDummy] +such that + or([x_ExplicitVarSizeWithFlags_Flags[q30] /\ x_ExplicitVarSizeWithFlags_Values[q30] = 1 | q30 : int(1..4)]), + or([x_ExplicitVarSizeWithDummy[q32] != 5 /\ x_ExplicitVarSizeWithDummy[q32] = 2 | q32 : int(1..4)]), + or([x_ExplicitVarSizeWithDummy[q34] != 5 /\ x_ExplicitVarSizeWithDummy[q34] = 3 | q34 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 1 | q2 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q4]) | q4 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithDummy[q6] < x_ExplicitVarSizeWithDummy[q6 + 1] \/ x_ExplicitVarSizeWithDummy[q6] = 5 + | q6 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q7] = 5 -> x_ExplicitVarSizeWithDummy[q7 + 1] = 5 | q7 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q8] != 5) | q8 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithDummy[q11] != 5 -> + or([x_ExplicitVarSizeWithFlags_Flags[q13] /\ + x_ExplicitVarSizeWithFlags_Values[q13] = x_ExplicitVarSizeWithDummy[q11] + | q13 : int(1..4)]) + | q11 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q15] -> + or([x_ExplicitVarSizeWithDummy[q17] != 5 /\ + x_ExplicitVarSizeWithDummy[q17] = x_ExplicitVarSizeWithFlags_Values[q15] + | q17 : int(1..4)]) + | q15 : int(1..4)]), + sum([toInt(x_Occurrence[q18]) | q18 : int(1..4)]) <= 4, + and([x_Occurrence[q19] -> + or([x_ExplicitVarSizeWithFlags_Flags[q21] /\ x_ExplicitVarSizeWithFlags_Values[q21] = q19 | q21 : int(1..4)]) + | q19 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q23] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q23]] + | q23 : int(1..4)]), + and([x_Occurrence[q24] -> + or([x_ExplicitVarSizeWithDummy[q26] != 5 /\ x_ExplicitVarSizeWithDummy[q26] = q24 | q26 : int(1..4)]) + | q24 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q28] != 5 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q28]] | q28 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_4_2_2_2-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_4_2_2_2-solution000001.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_4_2_2_2-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_4_2_2_2-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_4_2_2_2-solution000002.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_4_2_2_2-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_4_2_2_2.eprime b/tests/exhaustive/basic/set06/expected/model_4_2_2_2.eprime new file mode 100644 index 0000000000..669eaa19ca --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_4_2_2_2.eprime @@ -0,0 +1,31 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +branching on [x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values] +such that + or([x_ExplicitVarSizeWithFlags_Flags[q19] /\ x_ExplicitVarSizeWithFlags_Values[q19] = 1 | q19 : int(1..4)]), + or([x_ExplicitVarSizeWithDummy[q21] != 5 /\ x_ExplicitVarSizeWithDummy[q21] = 2 | q21 : int(1..4)]), + or([x_ExplicitVarSizeWithDummy[q23] != 5 /\ x_ExplicitVarSizeWithDummy[q23] = 3 | q23 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 1 | q2 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q4]) | q4 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithDummy[q6] < x_ExplicitVarSizeWithDummy[q6 + 1] \/ x_ExplicitVarSizeWithDummy[q6] = 5 + | q6 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q7] = 5 -> x_ExplicitVarSizeWithDummy[q7 + 1] = 5 | q7 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q8] != 5) | q8 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithDummy[q11] != 5 -> + or([x_ExplicitVarSizeWithFlags_Flags[q13] /\ + x_ExplicitVarSizeWithFlags_Values[q13] = x_ExplicitVarSizeWithDummy[q11] + | q13 : int(1..4)]) + | q11 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q15] -> + or([x_ExplicitVarSizeWithDummy[q17] != 5 /\ + x_ExplicitVarSizeWithDummy[q17] = x_ExplicitVarSizeWithFlags_Values[q15] + | q17 : int(1..4)]) + | q15 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_4_2_2_3-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_4_2_2_3-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_4_2_2_3-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_4_2_2_3-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_4_2_2_3-solution000002.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_4_2_2_3-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_4_2_2_3.eprime b/tests/exhaustive/basic/set06/expected/model_4_2_2_3.eprime new file mode 100644 index 0000000000..61e6544c34 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_4_2_2_3.eprime @@ -0,0 +1,60 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_ExplicitVarSizeWithFlags_Flags, + x_ExplicitVarSizeWithFlags_Values, x_ExplicitVarSizeWithDummy] +such that + or([x_ExplicitVarSizeWithFlags_Flags[q38] /\ x_ExplicitVarSizeWithFlags_Values[q38] = 1 | q38 : int(1..4)]), + or([x_ExplicitVarSizeWithDummy[q40] != 5 /\ x_ExplicitVarSizeWithDummy[q40] = 2 | q40 : int(1..4)]), + or([x_ExplicitVarSizeWithDummy[q42] != 5 /\ x_ExplicitVarSizeWithDummy[q42] = 3 | q42 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 1 | q2 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q4]) | q4 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithDummy[q6] < x_ExplicitVarSizeWithDummy[q6 + 1] \/ x_ExplicitVarSizeWithDummy[q6] = 5 + | q6 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q7] = 5 -> x_ExplicitVarSizeWithDummy[q7 + 1] = 5 | q7 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q8] != 5) | q8 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithDummy[q11] != 5 -> + or([x_ExplicitVarSizeWithFlags_Flags[q13] /\ + x_ExplicitVarSizeWithFlags_Values[q13] = x_ExplicitVarSizeWithDummy[q11] + | q13 : int(1..4)]) + | q11 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q15] -> + or([x_ExplicitVarSizeWithDummy[q17] != 5 /\ + x_ExplicitVarSizeWithDummy[q17] = x_ExplicitVarSizeWithFlags_Values[q15] + | q17 : int(1..4)]) + | q15 : int(1..4)]), + and([q18 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q18] < x_ExplicitVarSizeWithMarker_Values[q18 + 1] + | q18 : int(1..3)]), + and([q19 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q19] = 1 | q19 : int(1..4)]), + x_ExplicitVarSizeWithMarker_Marker <= 4, + and([q22 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q24] /\ + x_ExplicitVarSizeWithFlags_Values[q24] = x_ExplicitVarSizeWithMarker_Values[q22] + | q24 : int(1..4)]) + | q22 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q26] -> + or([q28 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q28] = x_ExplicitVarSizeWithFlags_Values[q26] + | q28 : int(1..4)]) + | q26 : int(1..4)]), + and([q30 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q32] != 5 /\ + x_ExplicitVarSizeWithDummy[q32] = x_ExplicitVarSizeWithMarker_Values[q30] + | q32 : int(1..4)]) + | q30 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q34] != 5 -> + or([q36 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q36] = x_ExplicitVarSizeWithDummy[q34] + | q36 : int(1..4)]) + | q34 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_4_2_3_1-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_4_2_3_1-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_4_2_3_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_4_2_3_1-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_4_2_3_1-solution000002.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_4_2_3_1-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_4_2_3_1.eprime b/tests/exhaustive/basic/set06/expected/model_4_2_3_1.eprime new file mode 100644 index 0000000000..1199423e9f --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_4_2_3_1.eprime @@ -0,0 +1,77 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_Occurrence: matrix indexed by [int(1..4)] of bool +branching on + [x_Occurrence, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_ExplicitVarSizeWithDummy, + x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values] +such that + or([x_ExplicitVarSizeWithFlags_Flags[q54] /\ x_ExplicitVarSizeWithFlags_Values[q54] = 1 | q54 : int(1..4)]), + or([x_ExplicitVarSizeWithDummy[q56] != 5 /\ x_ExplicitVarSizeWithDummy[q56] = 2 | q56 : int(1..4)]), + or([q58 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q58] = 3 | q58 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 1 | q2 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q4]) | q4 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithDummy[q6] < x_ExplicitVarSizeWithDummy[q6 + 1] \/ x_ExplicitVarSizeWithDummy[q6] = 5 + | q6 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q7] = 5 -> x_ExplicitVarSizeWithDummy[q7 + 1] = 5 | q7 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q8] != 5) | q8 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithDummy[q11] != 5 -> + or([x_ExplicitVarSizeWithFlags_Flags[q13] /\ + x_ExplicitVarSizeWithFlags_Values[q13] = x_ExplicitVarSizeWithDummy[q11] + | q13 : int(1..4)]) + | q11 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q15] -> + or([x_ExplicitVarSizeWithDummy[q17] != 5 /\ + x_ExplicitVarSizeWithDummy[q17] = x_ExplicitVarSizeWithFlags_Values[q15] + | q17 : int(1..4)]) + | q15 : int(1..4)]), + and([q18 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q18] < x_ExplicitVarSizeWithMarker_Values[q18 + 1] + | q18 : int(1..3)]), + and([q19 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q19] = 1 | q19 : int(1..4)]), + x_ExplicitVarSizeWithMarker_Marker <= 4, + and([q22 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q24] /\ + x_ExplicitVarSizeWithFlags_Values[q24] = x_ExplicitVarSizeWithMarker_Values[q22] + | q24 : int(1..4)]) + | q22 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q26] -> + or([q28 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q28] = x_ExplicitVarSizeWithFlags_Values[q26] + | q28 : int(1..4)]) + | q26 : int(1..4)]), + and([q30 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q32] != 5 /\ + x_ExplicitVarSizeWithDummy[q32] = x_ExplicitVarSizeWithMarker_Values[q30] + | q32 : int(1..4)]) + | q30 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q34] != 5 -> + or([q36 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q36] = x_ExplicitVarSizeWithDummy[q34] + | q36 : int(1..4)]) + | q34 : int(1..4)]), + sum([toInt(x_Occurrence[q37]) | q37 : int(1..4)]) <= 4, + and([x_Occurrence[q38] -> + or([x_ExplicitVarSizeWithFlags_Flags[q40] /\ x_ExplicitVarSizeWithFlags_Values[q40] = q38 | q40 : int(1..4)]) + | q38 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q42] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q42]] + | q42 : int(1..4)]), + and([x_Occurrence[q43] -> + or([x_ExplicitVarSizeWithDummy[q45] != 5 /\ x_ExplicitVarSizeWithDummy[q45] = q43 | q45 : int(1..4)]) + | q43 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q47] != 5 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q47]] | q47 : int(1..4)]), + and([x_Occurrence[q48] -> + or([q50 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q50] = q48 + | q50 : int(1..4)]) + | q48 : int(1..4)]), + and([q52 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q52]] + | q52 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_4_2_3_2-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_4_2_3_2-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_4_2_3_2-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_4_2_3_2-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_4_2_3_2-solution000002.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_4_2_3_2-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_4_2_3_2.eprime b/tests/exhaustive/basic/set06/expected/model_4_2_3_2.eprime new file mode 100644 index 0000000000..81418c3d6c --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_4_2_3_2.eprime @@ -0,0 +1,60 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_ExplicitVarSizeWithFlags_Flags, + x_ExplicitVarSizeWithFlags_Values, x_ExplicitVarSizeWithDummy] +such that + or([x_ExplicitVarSizeWithFlags_Flags[q38] /\ x_ExplicitVarSizeWithFlags_Values[q38] = 1 | q38 : int(1..4)]), + or([x_ExplicitVarSizeWithDummy[q40] != 5 /\ x_ExplicitVarSizeWithDummy[q40] = 2 | q40 : int(1..4)]), + or([q42 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q42] = 3 | q42 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 1 | q2 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q4]) | q4 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithDummy[q6] < x_ExplicitVarSizeWithDummy[q6 + 1] \/ x_ExplicitVarSizeWithDummy[q6] = 5 + | q6 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q7] = 5 -> x_ExplicitVarSizeWithDummy[q7 + 1] = 5 | q7 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q8] != 5) | q8 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithDummy[q11] != 5 -> + or([x_ExplicitVarSizeWithFlags_Flags[q13] /\ + x_ExplicitVarSizeWithFlags_Values[q13] = x_ExplicitVarSizeWithDummy[q11] + | q13 : int(1..4)]) + | q11 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q15] -> + or([x_ExplicitVarSizeWithDummy[q17] != 5 /\ + x_ExplicitVarSizeWithDummy[q17] = x_ExplicitVarSizeWithFlags_Values[q15] + | q17 : int(1..4)]) + | q15 : int(1..4)]), + and([q18 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q18] < x_ExplicitVarSizeWithMarker_Values[q18 + 1] + | q18 : int(1..3)]), + and([q19 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q19] = 1 | q19 : int(1..4)]), + x_ExplicitVarSizeWithMarker_Marker <= 4, + and([q22 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q24] /\ + x_ExplicitVarSizeWithFlags_Values[q24] = x_ExplicitVarSizeWithMarker_Values[q22] + | q24 : int(1..4)]) + | q22 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q26] -> + or([q28 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q28] = x_ExplicitVarSizeWithFlags_Values[q26] + | q28 : int(1..4)]) + | q26 : int(1..4)]), + and([q30 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q32] != 5 /\ + x_ExplicitVarSizeWithDummy[q32] = x_ExplicitVarSizeWithMarker_Values[q30] + | q32 : int(1..4)]) + | q30 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q34] != 5 -> + or([q36 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q36] = x_ExplicitVarSizeWithDummy[q34] + | q36 : int(1..4)]) + | q34 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_4_2_4_1-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_4_2_4_1-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_4_2_4_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_4_2_4_1-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_4_2_4_1-solution000002.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_4_2_4_1-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_4_2_4_1.eprime b/tests/exhaustive/basic/set06/expected/model_4_2_4_1.eprime new file mode 100644 index 0000000000..a14326708e --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_4_2_4_1.eprime @@ -0,0 +1,43 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +find x_Occurrence: matrix indexed by [int(1..4)] of bool +branching on + [x_Occurrence, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_ExplicitVarSizeWithDummy] +such that + or([x_ExplicitVarSizeWithFlags_Flags[q30] /\ x_ExplicitVarSizeWithFlags_Values[q30] = 1 | q30 : int(1..4)]), + or([x_ExplicitVarSizeWithDummy[q32] != 5 /\ x_ExplicitVarSizeWithDummy[q32] = 2 | q32 : int(1..4)]), + or([x_ExplicitVarSizeWithFlags_Flags[q34] /\ x_ExplicitVarSizeWithFlags_Values[q34] = 3 | q34 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 1 | q2 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q4]) | q4 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithDummy[q6] < x_ExplicitVarSizeWithDummy[q6 + 1] \/ x_ExplicitVarSizeWithDummy[q6] = 5 + | q6 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q7] = 5 -> x_ExplicitVarSizeWithDummy[q7 + 1] = 5 | q7 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q8] != 5) | q8 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithDummy[q11] != 5 -> + or([x_ExplicitVarSizeWithFlags_Flags[q13] /\ + x_ExplicitVarSizeWithFlags_Values[q13] = x_ExplicitVarSizeWithDummy[q11] + | q13 : int(1..4)]) + | q11 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q15] -> + or([x_ExplicitVarSizeWithDummy[q17] != 5 /\ + x_ExplicitVarSizeWithDummy[q17] = x_ExplicitVarSizeWithFlags_Values[q15] + | q17 : int(1..4)]) + | q15 : int(1..4)]), + sum([toInt(x_Occurrence[q18]) | q18 : int(1..4)]) <= 4, + and([x_Occurrence[q19] -> + or([x_ExplicitVarSizeWithFlags_Flags[q21] /\ x_ExplicitVarSizeWithFlags_Values[q21] = q19 | q21 : int(1..4)]) + | q19 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q23] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q23]] + | q23 : int(1..4)]), + and([x_Occurrence[q24] -> + or([x_ExplicitVarSizeWithDummy[q26] != 5 /\ x_ExplicitVarSizeWithDummy[q26] = q24 | q26 : int(1..4)]) + | q24 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q28] != 5 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q28]] | q28 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_4_2_4_2-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_4_2_4_2-solution000001.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_4_2_4_2-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_4_2_4_2-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_4_2_4_2-solution000002.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_4_2_4_2-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_4_2_4_2.eprime b/tests/exhaustive/basic/set06/expected/model_4_2_4_2.eprime new file mode 100644 index 0000000000..e7dbd3a21e --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_4_2_4_2.eprime @@ -0,0 +1,31 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +branching on [x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values] +such that + or([x_ExplicitVarSizeWithFlags_Flags[q19] /\ x_ExplicitVarSizeWithFlags_Values[q19] = 1 | q19 : int(1..4)]), + or([x_ExplicitVarSizeWithDummy[q21] != 5 /\ x_ExplicitVarSizeWithDummy[q21] = 2 | q21 : int(1..4)]), + or([x_ExplicitVarSizeWithFlags_Flags[q23] /\ x_ExplicitVarSizeWithFlags_Values[q23] = 3 | q23 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 1 | q2 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q4]) | q4 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithDummy[q6] < x_ExplicitVarSizeWithDummy[q6 + 1] \/ x_ExplicitVarSizeWithDummy[q6] = 5 + | q6 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q7] = 5 -> x_ExplicitVarSizeWithDummy[q7 + 1] = 5 | q7 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q8] != 5) | q8 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithDummy[q11] != 5 -> + or([x_ExplicitVarSizeWithFlags_Flags[q13] /\ + x_ExplicitVarSizeWithFlags_Values[q13] = x_ExplicitVarSizeWithDummy[q11] + | q13 : int(1..4)]) + | q11 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q15] -> + or([x_ExplicitVarSizeWithDummy[q17] != 5 /\ + x_ExplicitVarSizeWithDummy[q17] = x_ExplicitVarSizeWithFlags_Values[q15] + | q17 : int(1..4)]) + | q15 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_4_2_4_3-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_4_2_4_3-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_4_2_4_3-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_4_2_4_3-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_4_2_4_3-solution000002.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_4_2_4_3-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_4_2_4_3.eprime b/tests/exhaustive/basic/set06/expected/model_4_2_4_3.eprime new file mode 100644 index 0000000000..148d795f19 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_4_2_4_3.eprime @@ -0,0 +1,60 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_ExplicitVarSizeWithFlags_Flags, + x_ExplicitVarSizeWithFlags_Values, x_ExplicitVarSizeWithDummy] +such that + or([x_ExplicitVarSizeWithFlags_Flags[q38] /\ x_ExplicitVarSizeWithFlags_Values[q38] = 1 | q38 : int(1..4)]), + or([x_ExplicitVarSizeWithDummy[q40] != 5 /\ x_ExplicitVarSizeWithDummy[q40] = 2 | q40 : int(1..4)]), + or([x_ExplicitVarSizeWithFlags_Flags[q42] /\ x_ExplicitVarSizeWithFlags_Values[q42] = 3 | q42 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 1 | q2 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q4]) | q4 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithDummy[q6] < x_ExplicitVarSizeWithDummy[q6 + 1] \/ x_ExplicitVarSizeWithDummy[q6] = 5 + | q6 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q7] = 5 -> x_ExplicitVarSizeWithDummy[q7 + 1] = 5 | q7 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q8] != 5) | q8 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithDummy[q11] != 5 -> + or([x_ExplicitVarSizeWithFlags_Flags[q13] /\ + x_ExplicitVarSizeWithFlags_Values[q13] = x_ExplicitVarSizeWithDummy[q11] + | q13 : int(1..4)]) + | q11 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q15] -> + or([x_ExplicitVarSizeWithDummy[q17] != 5 /\ + x_ExplicitVarSizeWithDummy[q17] = x_ExplicitVarSizeWithFlags_Values[q15] + | q17 : int(1..4)]) + | q15 : int(1..4)]), + and([q18 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q18] < x_ExplicitVarSizeWithMarker_Values[q18 + 1] + | q18 : int(1..3)]), + and([q19 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q19] = 1 | q19 : int(1..4)]), + x_ExplicitVarSizeWithMarker_Marker <= 4, + and([q22 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q24] /\ + x_ExplicitVarSizeWithFlags_Values[q24] = x_ExplicitVarSizeWithMarker_Values[q22] + | q24 : int(1..4)]) + | q22 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q26] -> + or([q28 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q28] = x_ExplicitVarSizeWithFlags_Values[q26] + | q28 : int(1..4)]) + | q26 : int(1..4)]), + and([q30 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q32] != 5 /\ + x_ExplicitVarSizeWithDummy[q32] = x_ExplicitVarSizeWithMarker_Values[q30] + | q32 : int(1..4)]) + | q30 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q34] != 5 -> + or([q36 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q36] = x_ExplicitVarSizeWithDummy[q34] + | q36 : int(1..4)]) + | q34 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_4_3_1_1-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_4_3_1_1-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_4_3_1_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_4_3_1_1-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_4_3_1_1-solution000002.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_4_3_1_1-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_4_3_1_1.eprime b/tests/exhaustive/basic/set06/expected/model_4_3_1_1.eprime new file mode 100644 index 0000000000..ac596bf128 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_4_3_1_1.eprime @@ -0,0 +1,48 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_Occurrence: matrix indexed by [int(1..4)] of bool +branching on + [x_Occurrence, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, + x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values] +such that + or([x_ExplicitVarSizeWithFlags_Flags[q29] /\ x_ExplicitVarSizeWithFlags_Values[q29] = 1 | q29 : int(1..4)]), + or([q31 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q31] = 2 | q31 : int(1..4)]), + x_Occurrence[3], + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 1 | q2 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q4]) | q4 : int(1..4)]) <= 4, + and([q6 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q6] < x_ExplicitVarSizeWithMarker_Values[q6 + 1] + | q6 : int(1..3)]), + and([q7 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q7] = 1 | q7 : int(1..4)]), + x_ExplicitVarSizeWithMarker_Marker <= 4, + and([q10 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q12] /\ + x_ExplicitVarSizeWithFlags_Values[q12] = x_ExplicitVarSizeWithMarker_Values[q10] + | q12 : int(1..4)]) + | q10 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q14] -> + or([q16 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q16] = x_ExplicitVarSizeWithFlags_Values[q14] + | q16 : int(1..4)]) + | q14 : int(1..4)]), + sum([toInt(x_Occurrence[q17]) | q17 : int(1..4)]) <= 4, + and([x_Occurrence[q18] -> + or([x_ExplicitVarSizeWithFlags_Flags[q20] /\ x_ExplicitVarSizeWithFlags_Values[q20] = q18 | q20 : int(1..4)]) + | q18 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q22] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q22]] + | q22 : int(1..4)]), + and([x_Occurrence[q23] -> + or([q25 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q25] = q23 + | q25 : int(1..4)]) + | q23 : int(1..4)]), + and([q27 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q27]] + | q27 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_4_3_1_2-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_4_3_1_2-solution000001.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_4_3_1_2-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_4_3_1_2-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_4_3_1_2-solution000002.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_4_3_1_2-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_4_3_1_2.eprime b/tests/exhaustive/basic/set06/expected/model_4_3_1_2.eprime new file mode 100644 index 0000000000..17571cdb85 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_4_3_1_2.eprime @@ -0,0 +1,77 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_Occurrence: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +branching on + [x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, + x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_Occurrence] +such that + or([x_ExplicitVarSizeWithFlags_Flags[q54] /\ x_ExplicitVarSizeWithFlags_Values[q54] = 1 | q54 : int(1..4)]), + or([q56 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q56] = 2 | q56 : int(1..4)]), + x_Occurrence[3], + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 1 | q2 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q4]) | q4 : int(1..4)]) <= 4, + and([q6 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q6] < x_ExplicitVarSizeWithMarker_Values[q6 + 1] + | q6 : int(1..3)]), + and([q7 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q7] = 1 | q7 : int(1..4)]), + x_ExplicitVarSizeWithMarker_Marker <= 4, + and([q10 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q12] /\ + x_ExplicitVarSizeWithFlags_Values[q12] = x_ExplicitVarSizeWithMarker_Values[q10] + | q12 : int(1..4)]) + | q10 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q14] -> + or([q16 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q16] = x_ExplicitVarSizeWithFlags_Values[q14] + | q16 : int(1..4)]) + | q14 : int(1..4)]), + sum([toInt(x_Occurrence[q17]) | q17 : int(1..4)]) <= 4, + and([x_Occurrence[q43] -> + or([x_ExplicitVarSizeWithFlags_Flags[q45] /\ x_ExplicitVarSizeWithFlags_Values[q45] = q43 | q45 : int(1..4)]) + | q43 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q47] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q47]] + | q47 : int(1..4)]), + and([x_Occurrence[q48] -> + or([q50 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q50] = q48 + | q50 : int(1..4)]) + | q48 : int(1..4)]), + and([q52 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q52]] + | q52 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q18] < x_ExplicitVarSizeWithDummy[q18 + 1] \/ x_ExplicitVarSizeWithDummy[q18] = 5 + | q18 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q19] = 5 -> x_ExplicitVarSizeWithDummy[q19 + 1] = 5 | q19 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q20] != 5) | q20 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithDummy[q23] != 5 -> + or([x_ExplicitVarSizeWithFlags_Flags[q25] /\ + x_ExplicitVarSizeWithFlags_Values[q25] = x_ExplicitVarSizeWithDummy[q23] + | q25 : int(1..4)]) + | q23 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q27] -> + or([x_ExplicitVarSizeWithDummy[q29] != 5 /\ + x_ExplicitVarSizeWithDummy[q29] = x_ExplicitVarSizeWithFlags_Values[q27] + | q29 : int(1..4)]) + | q27 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q31] != 5 -> + or([q33 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q33] = x_ExplicitVarSizeWithDummy[q31] + | q33 : int(1..4)]) + | q31 : int(1..4)]), + and([q35 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q37] != 5 /\ + x_ExplicitVarSizeWithDummy[q37] = x_ExplicitVarSizeWithMarker_Values[q35] + | q37 : int(1..4)]) + | q35 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q39] != 5 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q39]] | q39 : int(1..4)]), + and([x_Occurrence[q40] -> + or([x_ExplicitVarSizeWithDummy[q42] != 5 /\ x_ExplicitVarSizeWithDummy[q42] = q40 | q42 : int(1..4)]) + | q40 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_4_3_2_1-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_4_3_2_1-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_4_3_2_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_4_3_2_1-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_4_3_2_1-solution000002.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_4_3_2_1-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_4_3_2_1.eprime b/tests/exhaustive/basic/set06/expected/model_4_3_2_1.eprime new file mode 100644 index 0000000000..5b1aff728e --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_4_3_2_1.eprime @@ -0,0 +1,77 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +find x_Occurrence: matrix indexed by [int(1..4)] of bool +branching on + [x_Occurrence, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, + x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_ExplicitVarSizeWithDummy] +such that + or([x_ExplicitVarSizeWithFlags_Flags[q54] /\ x_ExplicitVarSizeWithFlags_Values[q54] = 1 | q54 : int(1..4)]), + or([q56 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q56] = 2 | q56 : int(1..4)]), + or([x_ExplicitVarSizeWithDummy[q58] != 5 /\ x_ExplicitVarSizeWithDummy[q58] = 3 | q58 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 1 | q2 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q4]) | q4 : int(1..4)]) <= 4, + and([q6 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q6] < x_ExplicitVarSizeWithMarker_Values[q6 + 1] + | q6 : int(1..3)]), + and([q7 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q7] = 1 | q7 : int(1..4)]), + x_ExplicitVarSizeWithMarker_Marker <= 4, + and([q10 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q12] /\ + x_ExplicitVarSizeWithFlags_Values[q12] = x_ExplicitVarSizeWithMarker_Values[q10] + | q12 : int(1..4)]) + | q10 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q14] -> + or([q16 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q16] = x_ExplicitVarSizeWithFlags_Values[q14] + | q16 : int(1..4)]) + | q14 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q17] < x_ExplicitVarSizeWithDummy[q17 + 1] \/ x_ExplicitVarSizeWithDummy[q17] = 5 + | q17 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q18] = 5 -> x_ExplicitVarSizeWithDummy[q18 + 1] = 5 | q18 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q19] != 5) | q19 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithDummy[q22] != 5 -> + or([x_ExplicitVarSizeWithFlags_Flags[q24] /\ + x_ExplicitVarSizeWithFlags_Values[q24] = x_ExplicitVarSizeWithDummy[q22] + | q24 : int(1..4)]) + | q22 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q26] -> + or([x_ExplicitVarSizeWithDummy[q28] != 5 /\ + x_ExplicitVarSizeWithDummy[q28] = x_ExplicitVarSizeWithFlags_Values[q26] + | q28 : int(1..4)]) + | q26 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q30] != 5 -> + or([q32 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q32] = x_ExplicitVarSizeWithDummy[q30] + | q32 : int(1..4)]) + | q30 : int(1..4)]), + and([q34 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q36] != 5 /\ + x_ExplicitVarSizeWithDummy[q36] = x_ExplicitVarSizeWithMarker_Values[q34] + | q36 : int(1..4)]) + | q34 : int(1..4)]), + sum([toInt(x_Occurrence[q37]) | q37 : int(1..4)]) <= 4, + and([x_Occurrence[q38] -> + or([x_ExplicitVarSizeWithFlags_Flags[q40] /\ x_ExplicitVarSizeWithFlags_Values[q40] = q38 | q40 : int(1..4)]) + | q38 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q42] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q42]] + | q42 : int(1..4)]), + and([x_Occurrence[q43] -> + or([q45 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q45] = q43 + | q45 : int(1..4)]) + | q43 : int(1..4)]), + and([q47 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q47]] + | q47 : int(1..4)]), + and([x_Occurrence[q48] -> + or([x_ExplicitVarSizeWithDummy[q50] != 5 /\ x_ExplicitVarSizeWithDummy[q50] = q48 | q50 : int(1..4)]) + | q48 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q52] != 5 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q52]] | q52 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_4_3_2_2-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_4_3_2_2-solution000001.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_4_3_2_2-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_4_3_2_2-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_4_3_2_2-solution000002.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_4_3_2_2-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_4_3_2_2.eprime b/tests/exhaustive/basic/set06/expected/model_4_3_2_2.eprime new file mode 100644 index 0000000000..76550b1cd1 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_4_3_2_2.eprime @@ -0,0 +1,60 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +branching on + [x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, + x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values] +such that + or([x_ExplicitVarSizeWithFlags_Flags[q38] /\ x_ExplicitVarSizeWithFlags_Values[q38] = 1 | q38 : int(1..4)]), + or([q40 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q40] = 2 | q40 : int(1..4)]), + or([x_ExplicitVarSizeWithDummy[q42] != 5 /\ x_ExplicitVarSizeWithDummy[q42] = 3 | q42 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 1 | q2 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q4]) | q4 : int(1..4)]) <= 4, + and([q6 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q6] < x_ExplicitVarSizeWithMarker_Values[q6 + 1] + | q6 : int(1..3)]), + and([q7 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q7] = 1 | q7 : int(1..4)]), + x_ExplicitVarSizeWithMarker_Marker <= 4, + and([q10 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q12] /\ + x_ExplicitVarSizeWithFlags_Values[q12] = x_ExplicitVarSizeWithMarker_Values[q10] + | q12 : int(1..4)]) + | q10 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q14] -> + or([q16 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q16] = x_ExplicitVarSizeWithFlags_Values[q14] + | q16 : int(1..4)]) + | q14 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q17] < x_ExplicitVarSizeWithDummy[q17 + 1] \/ x_ExplicitVarSizeWithDummy[q17] = 5 + | q17 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q18] = 5 -> x_ExplicitVarSizeWithDummy[q18 + 1] = 5 | q18 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q19] != 5) | q19 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithDummy[q22] != 5 -> + or([x_ExplicitVarSizeWithFlags_Flags[q24] /\ + x_ExplicitVarSizeWithFlags_Values[q24] = x_ExplicitVarSizeWithDummy[q22] + | q24 : int(1..4)]) + | q22 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q26] -> + or([x_ExplicitVarSizeWithDummy[q28] != 5 /\ + x_ExplicitVarSizeWithDummy[q28] = x_ExplicitVarSizeWithFlags_Values[q26] + | q28 : int(1..4)]) + | q26 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q30] != 5 -> + or([q32 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q32] = x_ExplicitVarSizeWithDummy[q30] + | q32 : int(1..4)]) + | q30 : int(1..4)]), + and([q34 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q36] != 5 /\ + x_ExplicitVarSizeWithDummy[q36] = x_ExplicitVarSizeWithMarker_Values[q34] + | q36 : int(1..4)]) + | q34 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_4_3_3_1-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_4_3_3_1-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_4_3_3_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_4_3_3_1-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_4_3_3_1-solution000002.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_4_3_3_1-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_4_3_3_1.eprime b/tests/exhaustive/basic/set06/expected/model_4_3_3_1.eprime new file mode 100644 index 0000000000..9a58f97a9b --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_4_3_3_1.eprime @@ -0,0 +1,48 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_Occurrence: matrix indexed by [int(1..4)] of bool +branching on + [x_Occurrence, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, + x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values] +such that + or([x_ExplicitVarSizeWithFlags_Flags[q29] /\ x_ExplicitVarSizeWithFlags_Values[q29] = 1 | q29 : int(1..4)]), + or([q31 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q31] = 2 | q31 : int(1..4)]), + or([q33 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q33] = 3 | q33 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 1 | q2 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q4]) | q4 : int(1..4)]) <= 4, + and([q6 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q6] < x_ExplicitVarSizeWithMarker_Values[q6 + 1] + | q6 : int(1..3)]), + and([q7 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q7] = 1 | q7 : int(1..4)]), + x_ExplicitVarSizeWithMarker_Marker <= 4, + and([q10 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q12] /\ + x_ExplicitVarSizeWithFlags_Values[q12] = x_ExplicitVarSizeWithMarker_Values[q10] + | q12 : int(1..4)]) + | q10 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q14] -> + or([q16 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q16] = x_ExplicitVarSizeWithFlags_Values[q14] + | q16 : int(1..4)]) + | q14 : int(1..4)]), + sum([toInt(x_Occurrence[q17]) | q17 : int(1..4)]) <= 4, + and([x_Occurrence[q18] -> + or([x_ExplicitVarSizeWithFlags_Flags[q20] /\ x_ExplicitVarSizeWithFlags_Values[q20] = q18 | q20 : int(1..4)]) + | q18 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q22] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q22]] + | q22 : int(1..4)]), + and([x_Occurrence[q23] -> + or([q25 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q25] = q23 + | q25 : int(1..4)]) + | q23 : int(1..4)]), + and([q27 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q27]] + | q27 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_4_3_3_2-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_4_3_3_2-solution000001.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_4_3_3_2-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_4_3_3_2-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_4_3_3_2-solution000002.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_4_3_3_2-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_4_3_3_2.eprime b/tests/exhaustive/basic/set06/expected/model_4_3_3_2.eprime new file mode 100644 index 0000000000..f359e7ac0b --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_4_3_3_2.eprime @@ -0,0 +1,60 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +branching on + [x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, + x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values] +such that + or([x_ExplicitVarSizeWithFlags_Flags[q38] /\ x_ExplicitVarSizeWithFlags_Values[q38] = 1 | q38 : int(1..4)]), + or([q40 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q40] = 2 | q40 : int(1..4)]), + or([q42 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q42] = 3 | q42 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 1 | q2 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q4]) | q4 : int(1..4)]) <= 4, + and([q6 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q6] < x_ExplicitVarSizeWithMarker_Values[q6 + 1] + | q6 : int(1..3)]), + and([q7 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q7] = 1 | q7 : int(1..4)]), + x_ExplicitVarSizeWithMarker_Marker <= 4, + and([q10 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q12] /\ + x_ExplicitVarSizeWithFlags_Values[q12] = x_ExplicitVarSizeWithMarker_Values[q10] + | q12 : int(1..4)]) + | q10 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q14] -> + or([q16 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q16] = x_ExplicitVarSizeWithFlags_Values[q14] + | q16 : int(1..4)]) + | q14 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q17] < x_ExplicitVarSizeWithDummy[q17 + 1] \/ x_ExplicitVarSizeWithDummy[q17] = 5 + | q17 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q18] = 5 -> x_ExplicitVarSizeWithDummy[q18 + 1] = 5 | q18 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q19] != 5) | q19 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithDummy[q22] != 5 -> + or([x_ExplicitVarSizeWithFlags_Flags[q24] /\ + x_ExplicitVarSizeWithFlags_Values[q24] = x_ExplicitVarSizeWithDummy[q22] + | q24 : int(1..4)]) + | q22 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q26] -> + or([x_ExplicitVarSizeWithDummy[q28] != 5 /\ + x_ExplicitVarSizeWithDummy[q28] = x_ExplicitVarSizeWithFlags_Values[q26] + | q28 : int(1..4)]) + | q26 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q30] != 5 -> + or([q32 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q32] = x_ExplicitVarSizeWithDummy[q30] + | q32 : int(1..4)]) + | q30 : int(1..4)]), + and([q34 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q36] != 5 /\ + x_ExplicitVarSizeWithDummy[q36] = x_ExplicitVarSizeWithMarker_Values[q34] + | q36 : int(1..4)]) + | q34 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_4_3_3_3-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_4_3_3_3-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_4_3_3_3-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_4_3_3_3-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_4_3_3_3-solution000002.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_4_3_3_3-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_4_3_3_3.eprime b/tests/exhaustive/basic/set06/expected/model_4_3_3_3.eprime new file mode 100644 index 0000000000..aac2bf1a2e --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_4_3_3_3.eprime @@ -0,0 +1,35 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_ExplicitVarSizeWithFlags_Flags, + x_ExplicitVarSizeWithFlags_Values] +such that + or([x_ExplicitVarSizeWithFlags_Flags[q18] /\ x_ExplicitVarSizeWithFlags_Values[q18] = 1 | q18 : int(1..4)]), + or([q20 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q20] = 2 | q20 : int(1..4)]), + or([q22 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q22] = 3 | q22 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 1 | q2 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q4]) | q4 : int(1..4)]) <= 4, + and([q6 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q6] < x_ExplicitVarSizeWithMarker_Values[q6 + 1] + | q6 : int(1..3)]), + and([q7 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q7] = 1 | q7 : int(1..4)]), + x_ExplicitVarSizeWithMarker_Marker <= 4, + and([q10 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q12] /\ + x_ExplicitVarSizeWithFlags_Values[q12] = x_ExplicitVarSizeWithMarker_Values[q10] + | q12 : int(1..4)]) + | q10 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q14] -> + or([q16 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q16] = x_ExplicitVarSizeWithFlags_Values[q14] + | q16 : int(1..4)]) + | q14 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_4_3_4_1-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_4_3_4_1-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_4_3_4_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_4_3_4_1-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_4_3_4_1-solution000002.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_4_3_4_1-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_4_3_4_1.eprime b/tests/exhaustive/basic/set06/expected/model_4_3_4_1.eprime new file mode 100644 index 0000000000..42f3b460a6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_4_3_4_1.eprime @@ -0,0 +1,48 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_Occurrence: matrix indexed by [int(1..4)] of bool +branching on + [x_Occurrence, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, + x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values] +such that + or([x_ExplicitVarSizeWithFlags_Flags[q29] /\ x_ExplicitVarSizeWithFlags_Values[q29] = 1 | q29 : int(1..4)]), + or([q31 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q31] = 2 | q31 : int(1..4)]), + or([x_ExplicitVarSizeWithFlags_Flags[q33] /\ x_ExplicitVarSizeWithFlags_Values[q33] = 3 | q33 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 1 | q2 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q4]) | q4 : int(1..4)]) <= 4, + and([q6 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q6] < x_ExplicitVarSizeWithMarker_Values[q6 + 1] + | q6 : int(1..3)]), + and([q7 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q7] = 1 | q7 : int(1..4)]), + x_ExplicitVarSizeWithMarker_Marker <= 4, + and([q10 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q12] /\ + x_ExplicitVarSizeWithFlags_Values[q12] = x_ExplicitVarSizeWithMarker_Values[q10] + | q12 : int(1..4)]) + | q10 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q14] -> + or([q16 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q16] = x_ExplicitVarSizeWithFlags_Values[q14] + | q16 : int(1..4)]) + | q14 : int(1..4)]), + sum([toInt(x_Occurrence[q17]) | q17 : int(1..4)]) <= 4, + and([x_Occurrence[q18] -> + or([x_ExplicitVarSizeWithFlags_Flags[q20] /\ x_ExplicitVarSizeWithFlags_Values[q20] = q18 | q20 : int(1..4)]) + | q18 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q22] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q22]] + | q22 : int(1..4)]), + and([x_Occurrence[q23] -> + or([q25 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q25] = q23 + | q25 : int(1..4)]) + | q23 : int(1..4)]), + and([q27 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q27]] + | q27 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_4_3_4_2-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_4_3_4_2-solution000001.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_4_3_4_2-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_4_3_4_2-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_4_3_4_2-solution000002.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_4_3_4_2-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_4_3_4_2.eprime b/tests/exhaustive/basic/set06/expected/model_4_3_4_2.eprime new file mode 100644 index 0000000000..215f736030 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_4_3_4_2.eprime @@ -0,0 +1,60 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +branching on + [x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, + x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values] +such that + or([x_ExplicitVarSizeWithFlags_Flags[q38] /\ x_ExplicitVarSizeWithFlags_Values[q38] = 1 | q38 : int(1..4)]), + or([q40 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q40] = 2 | q40 : int(1..4)]), + or([x_ExplicitVarSizeWithFlags_Flags[q42] /\ x_ExplicitVarSizeWithFlags_Values[q42] = 3 | q42 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 1 | q2 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q4]) | q4 : int(1..4)]) <= 4, + and([q6 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q6] < x_ExplicitVarSizeWithMarker_Values[q6 + 1] + | q6 : int(1..3)]), + and([q7 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q7] = 1 | q7 : int(1..4)]), + x_ExplicitVarSizeWithMarker_Marker <= 4, + and([q10 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q12] /\ + x_ExplicitVarSizeWithFlags_Values[q12] = x_ExplicitVarSizeWithMarker_Values[q10] + | q12 : int(1..4)]) + | q10 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q14] -> + or([q16 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q16] = x_ExplicitVarSizeWithFlags_Values[q14] + | q16 : int(1..4)]) + | q14 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q17] < x_ExplicitVarSizeWithDummy[q17 + 1] \/ x_ExplicitVarSizeWithDummy[q17] = 5 + | q17 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q18] = 5 -> x_ExplicitVarSizeWithDummy[q18 + 1] = 5 | q18 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q19] != 5) | q19 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithDummy[q22] != 5 -> + or([x_ExplicitVarSizeWithFlags_Flags[q24] /\ + x_ExplicitVarSizeWithFlags_Values[q24] = x_ExplicitVarSizeWithDummy[q22] + | q24 : int(1..4)]) + | q22 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q26] -> + or([x_ExplicitVarSizeWithDummy[q28] != 5 /\ + x_ExplicitVarSizeWithDummy[q28] = x_ExplicitVarSizeWithFlags_Values[q26] + | q28 : int(1..4)]) + | q26 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q30] != 5 -> + or([q32 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q32] = x_ExplicitVarSizeWithDummy[q30] + | q32 : int(1..4)]) + | q30 : int(1..4)]), + and([q34 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q36] != 5 /\ + x_ExplicitVarSizeWithDummy[q36] = x_ExplicitVarSizeWithMarker_Values[q34] + | q36 : int(1..4)]) + | q34 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_4_3_4_3-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_4_3_4_3-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_4_3_4_3-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_4_3_4_3-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_4_3_4_3-solution000002.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_4_3_4_3-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_4_3_4_3.eprime b/tests/exhaustive/basic/set06/expected/model_4_3_4_3.eprime new file mode 100644 index 0000000000..f84e5ef823 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_4_3_4_3.eprime @@ -0,0 +1,35 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_ExplicitVarSizeWithFlags_Flags, + x_ExplicitVarSizeWithFlags_Values] +such that + or([x_ExplicitVarSizeWithFlags_Flags[q18] /\ x_ExplicitVarSizeWithFlags_Values[q18] = 1 | q18 : int(1..4)]), + or([q20 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q20] = 2 | q20 : int(1..4)]), + or([x_ExplicitVarSizeWithFlags_Flags[q22] /\ x_ExplicitVarSizeWithFlags_Values[q22] = 3 | q22 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 1 | q2 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q4]) | q4 : int(1..4)]) <= 4, + and([q6 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q6] < x_ExplicitVarSizeWithMarker_Values[q6 + 1] + | q6 : int(1..3)]), + and([q7 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q7] = 1 | q7 : int(1..4)]), + x_ExplicitVarSizeWithMarker_Marker <= 4, + and([q10 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q12] /\ + x_ExplicitVarSizeWithFlags_Values[q12] = x_ExplicitVarSizeWithMarker_Values[q10] + | q12 : int(1..4)]) + | q10 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q14] -> + or([q16 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q16] = x_ExplicitVarSizeWithFlags_Values[q14] + | q16 : int(1..4)]) + | q14 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_4_4_1_1-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_4_4_1_1-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_4_4_1_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_4_4_1_1-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_4_4_1_1-solution000002.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_4_4_1_1-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_4_4_1_1.eprime b/tests/exhaustive/basic/set06/expected/model_4_4_1_1.eprime new file mode 100644 index 0000000000..89df5f9b59 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_4_4_1_1.eprime @@ -0,0 +1,23 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_Occurrence: matrix indexed by [int(1..4)] of bool +branching on [x_Occurrence, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values] +such that + or([x_ExplicitVarSizeWithFlags_Flags[q13] /\ x_ExplicitVarSizeWithFlags_Values[q13] = 1 | q13 : int(1..4)]), + or([x_ExplicitVarSizeWithFlags_Flags[q15] /\ x_ExplicitVarSizeWithFlags_Values[q15] = 2 | q15 : int(1..4)]), + x_Occurrence[3], + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 1 | q2 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q4]) | q4 : int(1..4)]) <= 4, + sum([toInt(x_Occurrence[q6]) | q6 : int(1..4)]) <= 4, + and([x_Occurrence[q7] -> + or([x_ExplicitVarSizeWithFlags_Flags[q9] /\ x_ExplicitVarSizeWithFlags_Values[q9] = q7 | q9 : int(1..4)]) + | q7 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q11] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q11]] + | q11 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_4_4_1_2-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_4_4_1_2-solution000001.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_4_4_1_2-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_4_4_1_2-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_4_4_1_2-solution000002.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_4_4_1_2-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_4_4_1_2.eprime b/tests/exhaustive/basic/set06/expected/model_4_4_1_2.eprime new file mode 100644 index 0000000000..fb935649b7 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_4_4_1_2.eprime @@ -0,0 +1,43 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_Occurrence: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +branching on + [x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_Occurrence] +such that + or([x_ExplicitVarSizeWithFlags_Flags[q30] /\ x_ExplicitVarSizeWithFlags_Values[q30] = 1 | q30 : int(1..4)]), + or([x_ExplicitVarSizeWithFlags_Flags[q32] /\ x_ExplicitVarSizeWithFlags_Values[q32] = 2 | q32 : int(1..4)]), + x_Occurrence[3], + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 1 | q2 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q4]) | q4 : int(1..4)]) <= 4, + sum([toInt(x_Occurrence[q6]) | q6 : int(1..4)]) <= 4, + and([x_Occurrence[q24] -> + or([x_ExplicitVarSizeWithFlags_Flags[q26] /\ x_ExplicitVarSizeWithFlags_Values[q26] = q24 | q26 : int(1..4)]) + | q24 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q28] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q28]] + | q28 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q7] < x_ExplicitVarSizeWithDummy[q7 + 1] \/ x_ExplicitVarSizeWithDummy[q7] = 5 + | q7 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q8] = 5 -> x_ExplicitVarSizeWithDummy[q8 + 1] = 5 | q8 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q9] != 5) | q9 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithDummy[q12] != 5 -> + or([x_ExplicitVarSizeWithFlags_Flags[q14] /\ + x_ExplicitVarSizeWithFlags_Values[q14] = x_ExplicitVarSizeWithDummy[q12] + | q14 : int(1..4)]) + | q12 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q16] -> + or([x_ExplicitVarSizeWithDummy[q18] != 5 /\ + x_ExplicitVarSizeWithDummy[q18] = x_ExplicitVarSizeWithFlags_Values[q16] + | q18 : int(1..4)]) + | q16 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q20] != 5 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q20]] | q20 : int(1..4)]), + and([x_Occurrence[q21] -> + or([x_ExplicitVarSizeWithDummy[q23] != 5 /\ x_ExplicitVarSizeWithDummy[q23] = q21 | q23 : int(1..4)]) + | q21 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_4_4_1_3-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_4_4_1_3-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_4_4_1_3-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_4_4_1_3-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_4_4_1_3-solution000002.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_4_4_1_3-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_4_4_1_3.eprime b/tests/exhaustive/basic/set06/expected/model_4_4_1_3.eprime new file mode 100644 index 0000000000..188765c81e --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_4_4_1_3.eprime @@ -0,0 +1,48 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_Occurrence: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_ExplicitVarSizeWithFlags_Flags, + x_ExplicitVarSizeWithFlags_Values, x_Occurrence] +such that + or([x_ExplicitVarSizeWithFlags_Flags[q29] /\ x_ExplicitVarSizeWithFlags_Values[q29] = 1 | q29 : int(1..4)]), + or([x_ExplicitVarSizeWithFlags_Flags[q31] /\ x_ExplicitVarSizeWithFlags_Values[q31] = 2 | q31 : int(1..4)]), + x_Occurrence[3], + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 1 | q2 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q4]) | q4 : int(1..4)]) <= 4, + sum([toInt(x_Occurrence[q6]) | q6 : int(1..4)]) <= 4, + and([x_Occurrence[q23] -> + or([x_ExplicitVarSizeWithFlags_Flags[q25] /\ x_ExplicitVarSizeWithFlags_Values[q25] = q23 | q25 : int(1..4)]) + | q23 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q27] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q27]] + | q27 : int(1..4)]), + and([q7 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q7] < x_ExplicitVarSizeWithMarker_Values[q7 + 1] + | q7 : int(1..3)]), + and([q8 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q8] = 1 | q8 : int(1..4)]), + x_ExplicitVarSizeWithMarker_Marker <= 4, + and([q11 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q13] /\ + x_ExplicitVarSizeWithFlags_Values[q13] = x_ExplicitVarSizeWithMarker_Values[q11] + | q13 : int(1..4)]) + | q11 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q15] -> + or([q17 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q17] = x_ExplicitVarSizeWithFlags_Values[q15] + | q17 : int(1..4)]) + | q15 : int(1..4)]), + and([q19 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q19]] + | q19 : int(1..4)]), + and([x_Occurrence[q20] -> + or([q22 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q22] = q20 + | q22 : int(1..4)]) + | q20 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_4_4_2_1-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_4_4_2_1-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_4_4_2_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_4_4_2_1-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_4_4_2_1-solution000002.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_4_4_2_1-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_4_4_2_1.eprime b/tests/exhaustive/basic/set06/expected/model_4_4_2_1.eprime new file mode 100644 index 0000000000..5efd46fc5d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_4_4_2_1.eprime @@ -0,0 +1,43 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +find x_Occurrence: matrix indexed by [int(1..4)] of bool +branching on + [x_Occurrence, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_ExplicitVarSizeWithDummy] +such that + or([x_ExplicitVarSizeWithFlags_Flags[q30] /\ x_ExplicitVarSizeWithFlags_Values[q30] = 1 | q30 : int(1..4)]), + or([x_ExplicitVarSizeWithFlags_Flags[q32] /\ x_ExplicitVarSizeWithFlags_Values[q32] = 2 | q32 : int(1..4)]), + or([x_ExplicitVarSizeWithDummy[q34] != 5 /\ x_ExplicitVarSizeWithDummy[q34] = 3 | q34 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 1 | q2 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q4]) | q4 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithDummy[q6] < x_ExplicitVarSizeWithDummy[q6 + 1] \/ x_ExplicitVarSizeWithDummy[q6] = 5 + | q6 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q7] = 5 -> x_ExplicitVarSizeWithDummy[q7 + 1] = 5 | q7 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q8] != 5) | q8 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithDummy[q11] != 5 -> + or([x_ExplicitVarSizeWithFlags_Flags[q13] /\ + x_ExplicitVarSizeWithFlags_Values[q13] = x_ExplicitVarSizeWithDummy[q11] + | q13 : int(1..4)]) + | q11 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q15] -> + or([x_ExplicitVarSizeWithDummy[q17] != 5 /\ + x_ExplicitVarSizeWithDummy[q17] = x_ExplicitVarSizeWithFlags_Values[q15] + | q17 : int(1..4)]) + | q15 : int(1..4)]), + sum([toInt(x_Occurrence[q18]) | q18 : int(1..4)]) <= 4, + and([x_Occurrence[q19] -> + or([x_ExplicitVarSizeWithFlags_Flags[q21] /\ x_ExplicitVarSizeWithFlags_Values[q21] = q19 | q21 : int(1..4)]) + | q19 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q23] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q23]] + | q23 : int(1..4)]), + and([x_Occurrence[q24] -> + or([x_ExplicitVarSizeWithDummy[q26] != 5 /\ x_ExplicitVarSizeWithDummy[q26] = q24 | q26 : int(1..4)]) + | q24 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q28] != 5 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q28]] | q28 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_4_4_2_2-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_4_4_2_2-solution000001.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_4_4_2_2-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_4_4_2_2-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_4_4_2_2-solution000002.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_4_4_2_2-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_4_4_2_2.eprime b/tests/exhaustive/basic/set06/expected/model_4_4_2_2.eprime new file mode 100644 index 0000000000..0fa0747d3f --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_4_4_2_2.eprime @@ -0,0 +1,31 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +branching on [x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values] +such that + or([x_ExplicitVarSizeWithFlags_Flags[q19] /\ x_ExplicitVarSizeWithFlags_Values[q19] = 1 | q19 : int(1..4)]), + or([x_ExplicitVarSizeWithFlags_Flags[q21] /\ x_ExplicitVarSizeWithFlags_Values[q21] = 2 | q21 : int(1..4)]), + or([x_ExplicitVarSizeWithDummy[q23] != 5 /\ x_ExplicitVarSizeWithDummy[q23] = 3 | q23 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 1 | q2 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q4]) | q4 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithDummy[q6] < x_ExplicitVarSizeWithDummy[q6 + 1] \/ x_ExplicitVarSizeWithDummy[q6] = 5 + | q6 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q7] = 5 -> x_ExplicitVarSizeWithDummy[q7 + 1] = 5 | q7 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q8] != 5) | q8 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithDummy[q11] != 5 -> + or([x_ExplicitVarSizeWithFlags_Flags[q13] /\ + x_ExplicitVarSizeWithFlags_Values[q13] = x_ExplicitVarSizeWithDummy[q11] + | q13 : int(1..4)]) + | q11 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q15] -> + or([x_ExplicitVarSizeWithDummy[q17] != 5 /\ + x_ExplicitVarSizeWithDummy[q17] = x_ExplicitVarSizeWithFlags_Values[q15] + | q17 : int(1..4)]) + | q15 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_4_4_2_3-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_4_4_2_3-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_4_4_2_3-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_4_4_2_3-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_4_4_2_3-solution000002.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_4_4_2_3-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_4_4_2_3.eprime b/tests/exhaustive/basic/set06/expected/model_4_4_2_3.eprime new file mode 100644 index 0000000000..4fe9b7fb6a --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_4_4_2_3.eprime @@ -0,0 +1,60 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_ExplicitVarSizeWithFlags_Flags, + x_ExplicitVarSizeWithFlags_Values, x_ExplicitVarSizeWithDummy] +such that + or([x_ExplicitVarSizeWithFlags_Flags[q38] /\ x_ExplicitVarSizeWithFlags_Values[q38] = 1 | q38 : int(1..4)]), + or([x_ExplicitVarSizeWithFlags_Flags[q40] /\ x_ExplicitVarSizeWithFlags_Values[q40] = 2 | q40 : int(1..4)]), + or([x_ExplicitVarSizeWithDummy[q42] != 5 /\ x_ExplicitVarSizeWithDummy[q42] = 3 | q42 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 1 | q2 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q4]) | q4 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithDummy[q6] < x_ExplicitVarSizeWithDummy[q6 + 1] \/ x_ExplicitVarSizeWithDummy[q6] = 5 + | q6 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q7] = 5 -> x_ExplicitVarSizeWithDummy[q7 + 1] = 5 | q7 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q8] != 5) | q8 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithDummy[q11] != 5 -> + or([x_ExplicitVarSizeWithFlags_Flags[q13] /\ + x_ExplicitVarSizeWithFlags_Values[q13] = x_ExplicitVarSizeWithDummy[q11] + | q13 : int(1..4)]) + | q11 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q15] -> + or([x_ExplicitVarSizeWithDummy[q17] != 5 /\ + x_ExplicitVarSizeWithDummy[q17] = x_ExplicitVarSizeWithFlags_Values[q15] + | q17 : int(1..4)]) + | q15 : int(1..4)]), + and([q18 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q18] < x_ExplicitVarSizeWithMarker_Values[q18 + 1] + | q18 : int(1..3)]), + and([q19 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q19] = 1 | q19 : int(1..4)]), + x_ExplicitVarSizeWithMarker_Marker <= 4, + and([q22 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q24] /\ + x_ExplicitVarSizeWithFlags_Values[q24] = x_ExplicitVarSizeWithMarker_Values[q22] + | q24 : int(1..4)]) + | q22 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q26] -> + or([q28 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q28] = x_ExplicitVarSizeWithFlags_Values[q26] + | q28 : int(1..4)]) + | q26 : int(1..4)]), + and([q30 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q32] != 5 /\ + x_ExplicitVarSizeWithDummy[q32] = x_ExplicitVarSizeWithMarker_Values[q30] + | q32 : int(1..4)]) + | q30 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q34] != 5 -> + or([q36 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q36] = x_ExplicitVarSizeWithDummy[q34] + | q36 : int(1..4)]) + | q34 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_4_4_3_1-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_4_4_3_1-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_4_4_3_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_4_4_3_1-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_4_4_3_1-solution000002.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_4_4_3_1-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_4_4_3_1.eprime b/tests/exhaustive/basic/set06/expected/model_4_4_3_1.eprime new file mode 100644 index 0000000000..9eb1652af5 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_4_4_3_1.eprime @@ -0,0 +1,48 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_Occurrence: matrix indexed by [int(1..4)] of bool +branching on + [x_Occurrence, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, + x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values] +such that + or([x_ExplicitVarSizeWithFlags_Flags[q29] /\ x_ExplicitVarSizeWithFlags_Values[q29] = 1 | q29 : int(1..4)]), + or([x_ExplicitVarSizeWithFlags_Flags[q31] /\ x_ExplicitVarSizeWithFlags_Values[q31] = 2 | q31 : int(1..4)]), + or([q33 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q33] = 3 | q33 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 1 | q2 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q4]) | q4 : int(1..4)]) <= 4, + and([q6 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q6] < x_ExplicitVarSizeWithMarker_Values[q6 + 1] + | q6 : int(1..3)]), + and([q7 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q7] = 1 | q7 : int(1..4)]), + x_ExplicitVarSizeWithMarker_Marker <= 4, + and([q10 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q12] /\ + x_ExplicitVarSizeWithFlags_Values[q12] = x_ExplicitVarSizeWithMarker_Values[q10] + | q12 : int(1..4)]) + | q10 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q14] -> + or([q16 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q16] = x_ExplicitVarSizeWithFlags_Values[q14] + | q16 : int(1..4)]) + | q14 : int(1..4)]), + sum([toInt(x_Occurrence[q17]) | q17 : int(1..4)]) <= 4, + and([x_Occurrence[q18] -> + or([x_ExplicitVarSizeWithFlags_Flags[q20] /\ x_ExplicitVarSizeWithFlags_Values[q20] = q18 | q20 : int(1..4)]) + | q18 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q22] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q22]] + | q22 : int(1..4)]), + and([x_Occurrence[q23] -> + or([q25 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q25] = q23 + | q25 : int(1..4)]) + | q23 : int(1..4)]), + and([q27 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q27]] + | q27 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_4_4_3_2-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_4_4_3_2-solution000001.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_4_4_3_2-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_4_4_3_2-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_4_4_3_2-solution000002.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_4_4_3_2-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_4_4_3_2.eprime b/tests/exhaustive/basic/set06/expected/model_4_4_3_2.eprime new file mode 100644 index 0000000000..bf7ce16ba1 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_4_4_3_2.eprime @@ -0,0 +1,60 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +branching on + [x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, + x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values] +such that + or([x_ExplicitVarSizeWithFlags_Flags[q38] /\ x_ExplicitVarSizeWithFlags_Values[q38] = 1 | q38 : int(1..4)]), + or([x_ExplicitVarSizeWithFlags_Flags[q40] /\ x_ExplicitVarSizeWithFlags_Values[q40] = 2 | q40 : int(1..4)]), + or([q42 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q42] = 3 | q42 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 1 | q2 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q4]) | q4 : int(1..4)]) <= 4, + and([q6 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q6] < x_ExplicitVarSizeWithMarker_Values[q6 + 1] + | q6 : int(1..3)]), + and([q7 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q7] = 1 | q7 : int(1..4)]), + x_ExplicitVarSizeWithMarker_Marker <= 4, + and([q10 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q12] /\ + x_ExplicitVarSizeWithFlags_Values[q12] = x_ExplicitVarSizeWithMarker_Values[q10] + | q12 : int(1..4)]) + | q10 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q14] -> + or([q16 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q16] = x_ExplicitVarSizeWithFlags_Values[q14] + | q16 : int(1..4)]) + | q14 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q17] < x_ExplicitVarSizeWithDummy[q17 + 1] \/ x_ExplicitVarSizeWithDummy[q17] = 5 + | q17 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q18] = 5 -> x_ExplicitVarSizeWithDummy[q18 + 1] = 5 | q18 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q19] != 5) | q19 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithDummy[q22] != 5 -> + or([x_ExplicitVarSizeWithFlags_Flags[q24] /\ + x_ExplicitVarSizeWithFlags_Values[q24] = x_ExplicitVarSizeWithDummy[q22] + | q24 : int(1..4)]) + | q22 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q26] -> + or([x_ExplicitVarSizeWithDummy[q28] != 5 /\ + x_ExplicitVarSizeWithDummy[q28] = x_ExplicitVarSizeWithFlags_Values[q26] + | q28 : int(1..4)]) + | q26 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q30] != 5 -> + or([q32 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q32] = x_ExplicitVarSizeWithDummy[q30] + | q32 : int(1..4)]) + | q30 : int(1..4)]), + and([q34 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q36] != 5 /\ + x_ExplicitVarSizeWithDummy[q36] = x_ExplicitVarSizeWithMarker_Values[q34] + | q36 : int(1..4)]) + | q34 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_4_4_3_3-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_4_4_3_3-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_4_4_3_3-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_4_4_3_3-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_4_4_3_3-solution000002.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_4_4_3_3-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_4_4_3_3.eprime b/tests/exhaustive/basic/set06/expected/model_4_4_3_3.eprime new file mode 100644 index 0000000000..7c1be4c4b9 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_4_4_3_3.eprime @@ -0,0 +1,35 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_ExplicitVarSizeWithFlags_Flags, + x_ExplicitVarSizeWithFlags_Values] +such that + or([x_ExplicitVarSizeWithFlags_Flags[q18] /\ x_ExplicitVarSizeWithFlags_Values[q18] = 1 | q18 : int(1..4)]), + or([x_ExplicitVarSizeWithFlags_Flags[q20] /\ x_ExplicitVarSizeWithFlags_Values[q20] = 2 | q20 : int(1..4)]), + or([q22 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q22] = 3 | q22 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 1 | q2 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q4]) | q4 : int(1..4)]) <= 4, + and([q6 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q6] < x_ExplicitVarSizeWithMarker_Values[q6 + 1] + | q6 : int(1..3)]), + and([q7 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q7] = 1 | q7 : int(1..4)]), + x_ExplicitVarSizeWithMarker_Marker <= 4, + and([q10 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q12] /\ + x_ExplicitVarSizeWithFlags_Values[q12] = x_ExplicitVarSizeWithMarker_Values[q10] + | q12 : int(1..4)]) + | q10 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q14] -> + or([q16 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q16] = x_ExplicitVarSizeWithFlags_Values[q14] + | q16 : int(1..4)]) + | q14 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_4_4_4_1-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_4_4_4_1-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_4_4_4_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_4_4_4_1-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_4_4_4_1-solution000002.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_4_4_4_1-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_4_4_4_1.eprime b/tests/exhaustive/basic/set06/expected/model_4_4_4_1.eprime new file mode 100644 index 0000000000..5ce826b766 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_4_4_4_1.eprime @@ -0,0 +1,23 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_Occurrence: matrix indexed by [int(1..4)] of bool +branching on [x_Occurrence, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values] +such that + or([x_ExplicitVarSizeWithFlags_Flags[q13] /\ x_ExplicitVarSizeWithFlags_Values[q13] = 1 | q13 : int(1..4)]), + or([x_ExplicitVarSizeWithFlags_Flags[q15] /\ x_ExplicitVarSizeWithFlags_Values[q15] = 2 | q15 : int(1..4)]), + or([x_ExplicitVarSizeWithFlags_Flags[q17] /\ x_ExplicitVarSizeWithFlags_Values[q17] = 3 | q17 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 1 | q2 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q4]) | q4 : int(1..4)]) <= 4, + sum([toInt(x_Occurrence[q6]) | q6 : int(1..4)]) <= 4, + and([x_Occurrence[q7] -> + or([x_ExplicitVarSizeWithFlags_Flags[q9] /\ x_ExplicitVarSizeWithFlags_Values[q9] = q7 | q9 : int(1..4)]) + | q7 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q11] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q11]] + | q11 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_4_4_4_2-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_4_4_4_2-solution000001.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_4_4_4_2-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_4_4_4_2-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_4_4_4_2-solution000002.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_4_4_4_2-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_4_4_4_2.eprime b/tests/exhaustive/basic/set06/expected/model_4_4_4_2.eprime new file mode 100644 index 0000000000..c25dce1965 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_4_4_4_2.eprime @@ -0,0 +1,31 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +branching on [x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values] +such that + or([x_ExplicitVarSizeWithFlags_Flags[q19] /\ x_ExplicitVarSizeWithFlags_Values[q19] = 1 | q19 : int(1..4)]), + or([x_ExplicitVarSizeWithFlags_Flags[q21] /\ x_ExplicitVarSizeWithFlags_Values[q21] = 2 | q21 : int(1..4)]), + or([x_ExplicitVarSizeWithFlags_Flags[q23] /\ x_ExplicitVarSizeWithFlags_Values[q23] = 3 | q23 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 1 | q2 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q4]) | q4 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithDummy[q6] < x_ExplicitVarSizeWithDummy[q6 + 1] \/ x_ExplicitVarSizeWithDummy[q6] = 5 + | q6 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q7] = 5 -> x_ExplicitVarSizeWithDummy[q7 + 1] = 5 | q7 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithDummy[q8] != 5) | q8 : int(1..4)]) <= 4, + and([x_ExplicitVarSizeWithDummy[q11] != 5 -> + or([x_ExplicitVarSizeWithFlags_Flags[q13] /\ + x_ExplicitVarSizeWithFlags_Values[q13] = x_ExplicitVarSizeWithDummy[q11] + | q13 : int(1..4)]) + | q11 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q15] -> + or([x_ExplicitVarSizeWithDummy[q17] != 5 /\ + x_ExplicitVarSizeWithDummy[q17] = x_ExplicitVarSizeWithFlags_Values[q15] + | q17 : int(1..4)]) + | q15 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_4_4_4_3-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_4_4_4_3-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_4_4_4_3-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_4_4_4_3-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_4_4_4_3-solution000002.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_4_4_4_3-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_4_4_4_3.eprime b/tests/exhaustive/basic/set06/expected/model_4_4_4_3.eprime new file mode 100644 index 0000000000..b5daed7250 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_4_4_4_3.eprime @@ -0,0 +1,35 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_ExplicitVarSizeWithFlags_Flags, + x_ExplicitVarSizeWithFlags_Values] +such that + or([x_ExplicitVarSizeWithFlags_Flags[q18] /\ x_ExplicitVarSizeWithFlags_Values[q18] = 1 | q18 : int(1..4)]), + or([x_ExplicitVarSizeWithFlags_Flags[q20] /\ x_ExplicitVarSizeWithFlags_Values[q20] = 2 | q20 : int(1..4)]), + or([x_ExplicitVarSizeWithFlags_Flags[q22] /\ x_ExplicitVarSizeWithFlags_Values[q22] = 3 | q22 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 1 | q2 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q4]) | q4 : int(1..4)]) <= 4, + and([q6 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q6] < x_ExplicitVarSizeWithMarker_Values[q6 + 1] + | q6 : int(1..3)]), + and([q7 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q7] = 1 | q7 : int(1..4)]), + x_ExplicitVarSizeWithMarker_Marker <= 4, + and([q10 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q12] /\ + x_ExplicitVarSizeWithFlags_Values[q12] = x_ExplicitVarSizeWithMarker_Values[q10] + | q12 : int(1..4)]) + | q10 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q14] -> + or([q16 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q16] = x_ExplicitVarSizeWithFlags_Values[q14] + | q16 : int(1..4)]) + | q14 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set06/expected/model_4_4_4_4-solution000001.solution b/tests/exhaustive/basic/set06/expected/model_4_4_4_4-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_4_4_4_4-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set06/expected/model_4_4_4_4-solution000002.solution b/tests/exhaustive/basic/set06/expected/model_4_4_4_4-solution000002.solution new file mode 100644 index 0000000000..85149821f6 --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_4_4_4_4-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3, 4} diff --git a/tests/exhaustive/basic/set06/expected/model_4_4_4_4.eprime b/tests/exhaustive/basic/set06/expected/model_4_4_4_4.eprime new file mode 100644 index 0000000000..9cb0f0f85d --- /dev/null +++ b/tests/exhaustive/basic/set06/expected/model_4_4_4_4.eprime @@ -0,0 +1,16 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +branching on [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values] +such that + or([x_ExplicitVarSizeWithFlags_Flags[q7] /\ x_ExplicitVarSizeWithFlags_Values[q7] = 1 | q7 : int(1..4)]), + or([x_ExplicitVarSizeWithFlags_Flags[q9] /\ x_ExplicitVarSizeWithFlags_Values[q9] = 2 | q9 : int(1..4)]), + or([x_ExplicitVarSizeWithFlags_Flags[q11] /\ x_ExplicitVarSizeWithFlags_Values[q11] = 3 | q11 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 1 | q2 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..3)]), + sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q4]) | q4 : int(1..4)]) <= 4 + diff --git a/tests/exhaustive/basic/set07/expected/model_1_1_1-solution000001.solution b/tests/exhaustive/basic/set07/expected/model_1_1_1-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set07/expected/model_1_1_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set07/expected/model_1_1_1.eprime b/tests/exhaustive/basic/set07/expected/model_1_1_1.eprime new file mode 100644 index 0000000000..1c2a0f3332 --- /dev/null +++ b/tests/exhaustive/basic/set07/expected/model_1_1_1.eprime @@ -0,0 +1,6 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1..4)] of bool +branching on [x_Occurrence] +such that and([x_Occurrence[q2_1] /\ !x_Occurrence[q2_2] | q2_1 : int(1..3), q2_2 : int(4..9)]) + diff --git a/tests/exhaustive/basic/set07/expected/model_1_1_2-solution000001.solution b/tests/exhaustive/basic/set07/expected/model_1_1_2-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set07/expected/model_1_1_2-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set07/expected/model_1_1_2.eprime b/tests/exhaustive/basic/set07/expected/model_1_1_2.eprime new file mode 100644 index 0000000000..db14667a95 --- /dev/null +++ b/tests/exhaustive/basic/set07/expected/model_1_1_2.eprime @@ -0,0 +1,15 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +branching on [x_ExplicitVarSizeWithDummy, x_Occurrence] +such that + and([x_Occurrence[q11_1] /\ !x_Occurrence[q11_2] | q11_1 : int(1..3), q11_2 : int(4..9)]), + and([x_ExplicitVarSizeWithDummy[q2] < x_ExplicitVarSizeWithDummy[q2 + 1] \/ x_ExplicitVarSizeWithDummy[q2] = 5 + | q2 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q3] = 5 -> x_ExplicitVarSizeWithDummy[q3 + 1] = 5 | q3 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q7] != 5 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q7]] | q7 : int(1..4)]), + and([x_Occurrence[q8] -> + or([x_ExplicitVarSizeWithDummy[q10] != 5 /\ x_ExplicitVarSizeWithDummy[q10] = q8 | q10 : int(1..4)]) + | q8 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set07/expected/model_1_1_3-solution000001.solution b/tests/exhaustive/basic/set07/expected/model_1_1_3-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set07/expected/model_1_1_3-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set07/expected/model_1_1_3.eprime b/tests/exhaustive/basic/set07/expected/model_1_1_3.eprime new file mode 100644 index 0000000000..c710eaa6a1 --- /dev/null +++ b/tests/exhaustive/basic/set07/expected/model_1_1_3.eprime @@ -0,0 +1,18 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +branching on [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_Occurrence] +such that + and([x_Occurrence[q10_1] /\ !x_Occurrence[q10_2] | q10_1 : int(1..3), q10_2 : int(4..9)]), + and([q2 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q2] < x_ExplicitVarSizeWithMarker_Values[q2 + 1] + | q2 : int(1..3)]), + and([q3 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q3] = 1 | q3 : int(1..4)]), + and([q6 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q6]] + | q6 : int(1..4)]), + and([x_Occurrence[q7] -> + or([q9 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q9] = q7 | q9 : int(1..4)]) + | q7 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set07/expected/model_1_1_4-solution000001.solution b/tests/exhaustive/basic/set07/expected/model_1_1_4-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set07/expected/model_1_1_4-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set07/expected/model_1_1_4.eprime b/tests/exhaustive/basic/set07/expected/model_1_1_4.eprime new file mode 100644 index 0000000000..71e8baf956 --- /dev/null +++ b/tests/exhaustive/basic/set07/expected/model_1_1_4.eprime @@ -0,0 +1,18 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +branching on [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_Occurrence] +such that + and([x_Occurrence[q12_1] /\ !x_Occurrence[q12_2] | q12_1 : int(1..3), q12_2 : int(4..9)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q2] < x_ExplicitVarSizeWithFlags_Values[q2 + 1] + | q2 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3] = false -> x_ExplicitVarSizeWithFlags_Values[q3] = 1 | q3 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q4 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q4] | q4 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q8] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q8]] | q8 : int(1..4)]), + and([x_Occurrence[q9] -> + or([x_ExplicitVarSizeWithFlags_Flags[q11] /\ x_ExplicitVarSizeWithFlags_Values[q11] = q9 | q11 : int(1..4)]) + | q9 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set07/expected/model_1_2_1-solution000001.solution b/tests/exhaustive/basic/set07/expected/model_1_2_1-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set07/expected/model_1_2_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set07/expected/model_1_2_1.eprime b/tests/exhaustive/basic/set07/expected/model_1_2_1.eprime new file mode 100644 index 0000000000..43b3a76c2e --- /dev/null +++ b/tests/exhaustive/basic/set07/expected/model_1_2_1.eprime @@ -0,0 +1,17 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +branching on [x_ExplicitVarSizeWithDummy, x_Occurrence] +such that + and([x_Occurrence[q13_1] /\ + !or([x_ExplicitVarSizeWithDummy[q12] != 5 /\ x_ExplicitVarSizeWithDummy[q12] = q13_2 | q12 : int(1..4)]) + | q13_1 : int(1..3), q13_2 : int(4..9)]), + and([x_ExplicitVarSizeWithDummy[q2] < x_ExplicitVarSizeWithDummy[q2 + 1] \/ x_ExplicitVarSizeWithDummy[q2] = 5 + | q2 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q3] = 5 -> x_ExplicitVarSizeWithDummy[q3 + 1] = 5 | q3 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q7] != 5 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q7]] | q7 : int(1..4)]), + and([x_Occurrence[q8] -> + or([x_ExplicitVarSizeWithDummy[q10] != 5 /\ x_ExplicitVarSizeWithDummy[q10] = q8 | q10 : int(1..4)]) + | q8 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set07/expected/model_1_2_3-solution000001.solution b/tests/exhaustive/basic/set07/expected/model_1_2_3-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set07/expected/model_1_2_3-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set07/expected/model_1_2_3.eprime b/tests/exhaustive/basic/set07/expected/model_1_2_3.eprime new file mode 100644 index 0000000000..2a83287908 --- /dev/null +++ b/tests/exhaustive/basic/set07/expected/model_1_2_3.eprime @@ -0,0 +1,40 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_Occurrence, x_ExplicitVarSizeWithDummy] +such that + and([x_Occurrence[q29_1] /\ + !or([x_ExplicitVarSizeWithDummy[q28] != 5 /\ x_ExplicitVarSizeWithDummy[q28] = q29_2 | q28 : int(1..4)]) + | q29_1 : int(1..3), q29_2 : int(4..9)]), + and([x_ExplicitVarSizeWithDummy[q2] < x_ExplicitVarSizeWithDummy[q2 + 1] \/ x_ExplicitVarSizeWithDummy[q2] = 5 + | q2 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q3] = 5 -> x_ExplicitVarSizeWithDummy[q3 + 1] = 5 | q3 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q7] != 5 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q7]] | q7 : int(1..4)]), + and([x_Occurrence[q8] -> + or([x_ExplicitVarSizeWithDummy[q10] != 5 /\ x_ExplicitVarSizeWithDummy[q10] = q8 | q10 : int(1..4)]) + | q8 : int(1..4)]), + and([q11 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q11] < x_ExplicitVarSizeWithMarker_Values[q11 + 1] + | q11 : int(1..3)]), + and([q12 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q12] = 1 | q12 : int(1..4)]), + and([q15 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q15]] + | q15 : int(1..4)]), + and([x_Occurrence[q16] -> + or([q18 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q18] = q16 + | q18 : int(1..4)]) + | q16 : int(1..4)]), + and([q20 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q22] != 5 /\ + x_ExplicitVarSizeWithDummy[q22] = x_ExplicitVarSizeWithMarker_Values[q20] + | q22 : int(1..4)]) + | q20 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q24] != 5 -> + or([q26 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q26] = x_ExplicitVarSizeWithDummy[q24] + | q26 : int(1..4)]) + | q24 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set07/expected/model_1_2_4-solution000001.solution b/tests/exhaustive/basic/set07/expected/model_1_2_4-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set07/expected/model_1_2_4-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set07/expected/model_1_2_4.eprime b/tests/exhaustive/basic/set07/expected/model_1_2_4.eprime new file mode 100644 index 0000000000..4700b607d4 --- /dev/null +++ b/tests/exhaustive/basic/set07/expected/model_1_2_4.eprime @@ -0,0 +1,41 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_Occurrence, x_ExplicitVarSizeWithDummy] +such that + and([x_Occurrence[q31_1] /\ + !or([x_ExplicitVarSizeWithDummy[q30] != 5 /\ x_ExplicitVarSizeWithDummy[q30] = q31_2 | q30 : int(1..4)]) + | q31_1 : int(1..3), q31_2 : int(4..9)]), + and([x_ExplicitVarSizeWithDummy[q2] < x_ExplicitVarSizeWithDummy[q2 + 1] \/ x_ExplicitVarSizeWithDummy[q2] = 5 + | q2 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q3] = 5 -> x_ExplicitVarSizeWithDummy[q3 + 1] = 5 | q3 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q7] != 5 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q7]] | q7 : int(1..4)]), + and([x_Occurrence[q8] -> + or([x_ExplicitVarSizeWithDummy[q10] != 5 /\ x_ExplicitVarSizeWithDummy[q10] = q8 | q10 : int(1..4)]) + | q8 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q11 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q11] < x_ExplicitVarSizeWithFlags_Values[q11 + 1] + | q11 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q12] = false -> x_ExplicitVarSizeWithFlags_Values[q12] = 1 + | q12 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q13 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q13] | q13 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q17] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q17]] + | q17 : int(1..4)]), + and([x_Occurrence[q18] -> + or([x_ExplicitVarSizeWithFlags_Flags[q20] /\ x_ExplicitVarSizeWithFlags_Values[q20] = q18 | q20 : int(1..4)]) + | q18 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q22] -> + or([x_ExplicitVarSizeWithDummy[q24] != 5 /\ + x_ExplicitVarSizeWithDummy[q24] = x_ExplicitVarSizeWithFlags_Values[q22] + | q24 : int(1..4)]) + | q22 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q26] != 5 -> + or([x_ExplicitVarSizeWithFlags_Flags[q28] /\ + x_ExplicitVarSizeWithFlags_Values[q28] = x_ExplicitVarSizeWithDummy[q26] + | q28 : int(1..4)]) + | q26 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set07/expected/model_1_3_1-solution000001.solution b/tests/exhaustive/basic/set07/expected/model_1_3_1-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set07/expected/model_1_3_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set07/expected/model_1_3_1.eprime b/tests/exhaustive/basic/set07/expected/model_1_3_1.eprime new file mode 100644 index 0000000000..6da06e040b --- /dev/null +++ b/tests/exhaustive/basic/set07/expected/model_1_3_1.eprime @@ -0,0 +1,21 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +branching on [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_Occurrence] +such that + and([x_Occurrence[q12_1] /\ + !or([q11 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q11] = q12_2 + | q11 : int(1..4)]) + | q12_1 : int(1..3), q12_2 : int(4..9)]), + and([q2 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q2] < x_ExplicitVarSizeWithMarker_Values[q2 + 1] + | q2 : int(1..3)]), + and([q3 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q3] = 1 | q3 : int(1..4)]), + and([q6 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q6]] + | q6 : int(1..4)]), + and([x_Occurrence[q7] -> + or([q9 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q9] = q7 | q9 : int(1..4)]) + | q7 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set07/expected/model_1_3_2-solution000001.solution b/tests/exhaustive/basic/set07/expected/model_1_3_2-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set07/expected/model_1_3_2-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set07/expected/model_1_3_2.eprime b/tests/exhaustive/basic/set07/expected/model_1_3_2.eprime new file mode 100644 index 0000000000..f8fefa8170 --- /dev/null +++ b/tests/exhaustive/basic/set07/expected/model_1_3_2.eprime @@ -0,0 +1,40 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +branching on + [x_ExplicitVarSizeWithDummy, x_Occurrence, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values] +such that + and([x_Occurrence[q29_1] /\ + !or([q28 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q28] = q29_2 + | q28 : int(1..4)]) + | q29_1 : int(1..3), q29_2 : int(4..9)]), + and([q2 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q2] < x_ExplicitVarSizeWithMarker_Values[q2 + 1] + | q2 : int(1..3)]), + and([q3 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q3] = 1 | q3 : int(1..4)]), + and([q6 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q6]] + | q6 : int(1..4)]), + and([x_Occurrence[q7] -> + or([q9 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q9] = q7 | q9 : int(1..4)]) + | q7 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q10] < x_ExplicitVarSizeWithDummy[q10 + 1] \/ x_ExplicitVarSizeWithDummy[q10] = 5 + | q10 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q11] = 5 -> x_ExplicitVarSizeWithDummy[q11 + 1] = 5 | q11 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q15] != 5 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q15]] | q15 : int(1..4)]), + and([x_Occurrence[q16] -> + or([x_ExplicitVarSizeWithDummy[q18] != 5 /\ x_ExplicitVarSizeWithDummy[q18] = q16 | q18 : int(1..4)]) + | q16 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q20] != 5 -> + or([q22 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q22] = x_ExplicitVarSizeWithDummy[q20] + | q22 : int(1..4)]) + | q20 : int(1..4)]), + and([q24 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q26] != 5 /\ + x_ExplicitVarSizeWithDummy[q26] = x_ExplicitVarSizeWithMarker_Values[q24] + | q26 : int(1..4)]) + | q24 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set07/expected/model_1_3_4-solution000001.solution b/tests/exhaustive/basic/set07/expected/model_1_3_4-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set07/expected/model_1_3_4-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set07/expected/model_1_3_4.eprime b/tests/exhaustive/basic/set07/expected/model_1_3_4.eprime new file mode 100644 index 0000000000..744a29abf7 --- /dev/null +++ b/tests/exhaustive/basic/set07/expected/model_1_3_4.eprime @@ -0,0 +1,46 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_Occurrence, + x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values] +such that + and([x_Occurrence[q30_1] /\ + !or([q29 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q29] = q30_2 + | q29 : int(1..4)]) + | q30_1 : int(1..3), q30_2 : int(4..9)]), + and([q2 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q2] < x_ExplicitVarSizeWithMarker_Values[q2 + 1] + | q2 : int(1..3)]), + and([q3 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q3] = 1 | q3 : int(1..4)]), + and([q6 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q6]] + | q6 : int(1..4)]), + and([x_Occurrence[q7] -> + or([q9 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q9] = q7 | q9 : int(1..4)]) + | q7 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q10 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q10] < x_ExplicitVarSizeWithFlags_Values[q10 + 1] + | q10 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q11] = false -> x_ExplicitVarSizeWithFlags_Values[q11] = 1 + | q11 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q12 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q12] | q12 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q16] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q16]] + | q16 : int(1..4)]), + and([x_Occurrence[q17] -> + or([x_ExplicitVarSizeWithFlags_Flags[q19] /\ x_ExplicitVarSizeWithFlags_Values[q19] = q17 | q19 : int(1..4)]) + | q17 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q21] -> + or([q23 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q23] = x_ExplicitVarSizeWithFlags_Values[q21] + | q23 : int(1..4)]) + | q21 : int(1..4)]), + and([q25 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q27] /\ + x_ExplicitVarSizeWithFlags_Values[q27] = x_ExplicitVarSizeWithMarker_Values[q25] + | q27 : int(1..4)]) + | q25 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set07/expected/model_1_4_1-solution000001.solution b/tests/exhaustive/basic/set07/expected/model_1_4_1-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set07/expected/model_1_4_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set07/expected/model_1_4_1.eprime b/tests/exhaustive/basic/set07/expected/model_1_4_1.eprime new file mode 100644 index 0000000000..38303ddfee --- /dev/null +++ b/tests/exhaustive/basic/set07/expected/model_1_4_1.eprime @@ -0,0 +1,21 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +branching on [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_Occurrence] +such that + and([x_Occurrence[q14_1] /\ + !or([x_ExplicitVarSizeWithFlags_Flags[q13] /\ x_ExplicitVarSizeWithFlags_Values[q13] = q14_2 + | q13 : int(1..4)]) + | q14_1 : int(1..3), q14_2 : int(4..9)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q2] < x_ExplicitVarSizeWithFlags_Values[q2 + 1] + | q2 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3] = false -> x_ExplicitVarSizeWithFlags_Values[q3] = 1 | q3 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q4 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q4] | q4 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q8] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q8]] | q8 : int(1..4)]), + and([x_Occurrence[q9] -> + or([x_ExplicitVarSizeWithFlags_Flags[q11] /\ x_ExplicitVarSizeWithFlags_Values[q11] = q9 | q11 : int(1..4)]) + | q9 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set07/expected/model_1_4_2-solution000001.solution b/tests/exhaustive/basic/set07/expected/model_1_4_2-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set07/expected/model_1_4_2-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set07/expected/model_1_4_2.eprime b/tests/exhaustive/basic/set07/expected/model_1_4_2.eprime new file mode 100644 index 0000000000..e9a9b228b7 --- /dev/null +++ b/tests/exhaustive/basic/set07/expected/model_1_4_2.eprime @@ -0,0 +1,40 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +branching on + [x_ExplicitVarSizeWithDummy, x_Occurrence, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values] +such that + and([x_Occurrence[q31_1] /\ + !or([x_ExplicitVarSizeWithFlags_Flags[q30] /\ x_ExplicitVarSizeWithFlags_Values[q30] = q31_2 + | q30 : int(1..4)]) + | q31_1 : int(1..3), q31_2 : int(4..9)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q2] < x_ExplicitVarSizeWithFlags_Values[q2 + 1] + | q2 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3] = false -> x_ExplicitVarSizeWithFlags_Values[q3] = 1 | q3 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q4 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q4] | q4 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q8] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q8]] | q8 : int(1..4)]), + and([x_Occurrence[q9] -> + or([x_ExplicitVarSizeWithFlags_Flags[q11] /\ x_ExplicitVarSizeWithFlags_Values[q11] = q9 | q11 : int(1..4)]) + | q9 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q12] < x_ExplicitVarSizeWithDummy[q12 + 1] \/ x_ExplicitVarSizeWithDummy[q12] = 5 + | q12 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q13] = 5 -> x_ExplicitVarSizeWithDummy[q13 + 1] = 5 | q13 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q17] != 5 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q17]] | q17 : int(1..4)]), + and([x_Occurrence[q18] -> + or([x_ExplicitVarSizeWithDummy[q20] != 5 /\ x_ExplicitVarSizeWithDummy[q20] = q18 | q20 : int(1..4)]) + | q18 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q22] != 5 -> + or([x_ExplicitVarSizeWithFlags_Flags[q24] /\ + x_ExplicitVarSizeWithFlags_Values[q24] = x_ExplicitVarSizeWithDummy[q22] + | q24 : int(1..4)]) + | q22 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q26] -> + or([x_ExplicitVarSizeWithDummy[q28] != 5 /\ + x_ExplicitVarSizeWithDummy[q28] = x_ExplicitVarSizeWithFlags_Values[q26] + | q28 : int(1..4)]) + | q26 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set07/expected/model_1_4_3-solution000001.solution b/tests/exhaustive/basic/set07/expected/model_1_4_3-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set07/expected/model_1_4_3-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set07/expected/model_1_4_3.eprime b/tests/exhaustive/basic/set07/expected/model_1_4_3.eprime new file mode 100644 index 0000000000..7b8fce9b8d --- /dev/null +++ b/tests/exhaustive/basic/set07/expected/model_1_4_3.eprime @@ -0,0 +1,45 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_Occurrence, + x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values] +such that + and([x_Occurrence[q30_1] /\ + !or([x_ExplicitVarSizeWithFlags_Flags[q29] /\ x_ExplicitVarSizeWithFlags_Values[q29] = q30_2 + | q29 : int(1..4)]) + | q30_1 : int(1..3), q30_2 : int(4..9)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q2] < x_ExplicitVarSizeWithFlags_Values[q2 + 1] + | q2 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3] = false -> x_ExplicitVarSizeWithFlags_Values[q3] = 1 | q3 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q4 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q4] | q4 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q8] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q8]] | q8 : int(1..4)]), + and([x_Occurrence[q9] -> + or([x_ExplicitVarSizeWithFlags_Flags[q11] /\ x_ExplicitVarSizeWithFlags_Values[q11] = q9 | q11 : int(1..4)]) + | q9 : int(1..4)]), + and([q12 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q12] < x_ExplicitVarSizeWithMarker_Values[q12 + 1] + | q12 : int(1..3)]), + and([q13 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q13] = 1 | q13 : int(1..4)]), + and([q16 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q16]] + | q16 : int(1..4)]), + and([x_Occurrence[q17] -> + or([q19 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q19] = q17 + | q19 : int(1..4)]) + | q17 : int(1..4)]), + and([q21 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q23] /\ + x_ExplicitVarSizeWithFlags_Values[q23] = x_ExplicitVarSizeWithMarker_Values[q21] + | q23 : int(1..4)]) + | q21 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q25] -> + or([q27 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q27] = x_ExplicitVarSizeWithFlags_Values[q25] + | q27 : int(1..4)]) + | q25 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set07/expected/model_2_1_1-solution000001.solution b/tests/exhaustive/basic/set07/expected/model_2_1_1-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set07/expected/model_2_1_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set07/expected/model_2_1_1.eprime b/tests/exhaustive/basic/set07/expected/model_2_1_1.eprime new file mode 100644 index 0000000000..9157723de1 --- /dev/null +++ b/tests/exhaustive/basic/set07/expected/model_2_1_1.eprime @@ -0,0 +1,17 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +find x_Occurrence: matrix indexed by [int(1..4)] of bool +branching on [x_Occurrence, x_ExplicitVarSizeWithDummy] +such that + and([or([x_ExplicitVarSizeWithDummy[q7] != 5 /\ x_ExplicitVarSizeWithDummy[q7] = q8_1 | q7 : int(1..4)]) /\ + !x_Occurrence[q8_2] + | q8_1 : int(1..3), q8_2 : int(4..9)]), + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 5 + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q2] = 5 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 5 | q2 : int(1..3)]), + and([x_Occurrence[q9] -> + or([x_ExplicitVarSizeWithDummy[q11] != 5 /\ x_ExplicitVarSizeWithDummy[q11] = q9 | q11 : int(1..4)]) + | q9 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q13] != 5 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q13]] | q13 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set07/expected/model_2_1_3-solution000001.solution b/tests/exhaustive/basic/set07/expected/model_2_1_3-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set07/expected/model_2_1_3-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set07/expected/model_2_1_3.eprime b/tests/exhaustive/basic/set07/expected/model_2_1_3.eprime new file mode 100644 index 0000000000..71931d01a0 --- /dev/null +++ b/tests/exhaustive/basic/set07/expected/model_2_1_3.eprime @@ -0,0 +1,40 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +find x_Occurrence: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_ExplicitVarSizeWithDummy, x_Occurrence] +such that + and([or([x_ExplicitVarSizeWithDummy[q23] != 5 /\ x_ExplicitVarSizeWithDummy[q23] = q24_1 | q23 : int(1..4)]) /\ + !x_Occurrence[q24_2] + | q24_1 : int(1..3), q24_2 : int(4..9)]), + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 5 + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q2] = 5 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 5 | q2 : int(1..3)]), + and([x_Occurrence[q25] -> + or([x_ExplicitVarSizeWithDummy[q27] != 5 /\ x_ExplicitVarSizeWithDummy[q27] = q25 | q27 : int(1..4)]) + | q25 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q29] != 5 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q29]] | q29 : int(1..4)]), + and([q6 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q6] < x_ExplicitVarSizeWithMarker_Values[q6 + 1] + | q6 : int(1..3)]), + and([q7 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q7] = 1 | q7 : int(1..4)]), + and([q10 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q12] != 5 /\ + x_ExplicitVarSizeWithDummy[q12] = x_ExplicitVarSizeWithMarker_Values[q10] + | q12 : int(1..4)]) + | q10 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q14] != 5 -> + or([q16 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q16] = x_ExplicitVarSizeWithDummy[q14] + | q16 : int(1..4)]) + | q14 : int(1..4)]), + and([q18 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q18]] + | q18 : int(1..4)]), + and([x_Occurrence[q19] -> + or([q21 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q21] = q19 + | q21 : int(1..4)]) + | q19 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set07/expected/model_2_1_4-solution000001.solution b/tests/exhaustive/basic/set07/expected/model_2_1_4-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set07/expected/model_2_1_4-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set07/expected/model_2_1_4.eprime b/tests/exhaustive/basic/set07/expected/model_2_1_4.eprime new file mode 100644 index 0000000000..1b82376576 --- /dev/null +++ b/tests/exhaustive/basic/set07/expected/model_2_1_4.eprime @@ -0,0 +1,40 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +find x_Occurrence: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_ExplicitVarSizeWithDummy, x_Occurrence] +such that + and([or([x_ExplicitVarSizeWithDummy[q25] != 5 /\ x_ExplicitVarSizeWithDummy[q25] = q26_1 | q25 : int(1..4)]) /\ + !x_Occurrence[q26_2] + | q26_1 : int(1..3), q26_2 : int(4..9)]), + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 5 + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q2] = 5 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 5 | q2 : int(1..3)]), + and([x_Occurrence[q27] -> + or([x_ExplicitVarSizeWithDummy[q29] != 5 /\ x_ExplicitVarSizeWithDummy[q29] = q27 | q29 : int(1..4)]) + | q27 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q31] != 5 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q31]] | q31 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q6 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q6] < x_ExplicitVarSizeWithFlags_Values[q6 + 1] + | q6 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q7] = false -> x_ExplicitVarSizeWithFlags_Values[q7] = 1 | q7 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q8 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q8] | q8 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q12] -> + or([x_ExplicitVarSizeWithDummy[q14] != 5 /\ + x_ExplicitVarSizeWithDummy[q14] = x_ExplicitVarSizeWithFlags_Values[q12] + | q14 : int(1..4)]) + | q12 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q16] != 5 -> + or([x_ExplicitVarSizeWithFlags_Flags[q18] /\ + x_ExplicitVarSizeWithFlags_Values[q18] = x_ExplicitVarSizeWithDummy[q16] + | q18 : int(1..4)]) + | q16 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q20] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q20]] + | q20 : int(1..4)]), + and([x_Occurrence[q21] -> + or([x_ExplicitVarSizeWithFlags_Flags[q23] /\ x_ExplicitVarSizeWithFlags_Values[q23] = q21 | q23 : int(1..4)]) + | q21 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set07/expected/model_2_2_1-solution000001.solution b/tests/exhaustive/basic/set07/expected/model_2_2_1-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set07/expected/model_2_2_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set07/expected/model_2_2_1.eprime b/tests/exhaustive/basic/set07/expected/model_2_2_1.eprime new file mode 100644 index 0000000000..f490f980a2 --- /dev/null +++ b/tests/exhaustive/basic/set07/expected/model_2_2_1.eprime @@ -0,0 +1,17 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +find x_Occurrence: matrix indexed by [int(1..4)] of bool +branching on [x_Occurrence, x_ExplicitVarSizeWithDummy] +such that + and([or([x_ExplicitVarSizeWithDummy[q7] != 5 /\ x_ExplicitVarSizeWithDummy[q7] = q10_1 | q7 : int(1..4)]) /\ + !or([x_ExplicitVarSizeWithDummy[q9] != 5 /\ x_ExplicitVarSizeWithDummy[q9] = q10_2 | q9 : int(1..4)]) + | q10_1 : int(1..3), q10_2 : int(4..9)]), + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 5 + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q2] = 5 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 5 | q2 : int(1..3)]), + and([x_Occurrence[q11] -> + or([x_ExplicitVarSizeWithDummy[q13] != 5 /\ x_ExplicitVarSizeWithDummy[q13] = q11 | q13 : int(1..4)]) + | q11 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q15] != 5 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q15]] | q15 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set07/expected/model_2_2_2-solution000001.solution b/tests/exhaustive/basic/set07/expected/model_2_2_2-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set07/expected/model_2_2_2-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set07/expected/model_2_2_2.eprime b/tests/exhaustive/basic/set07/expected/model_2_2_2.eprime new file mode 100644 index 0000000000..ccc364f0fe --- /dev/null +++ b/tests/exhaustive/basic/set07/expected/model_2_2_2.eprime @@ -0,0 +1,12 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +branching on [x_ExplicitVarSizeWithDummy] +such that + and([or([x_ExplicitVarSizeWithDummy[q6] != 5 /\ x_ExplicitVarSizeWithDummy[q6] = q9_1 | q6 : int(1..4)]) /\ + !or([x_ExplicitVarSizeWithDummy[q8] != 5 /\ x_ExplicitVarSizeWithDummy[q8] = q9_2 | q8 : int(1..4)]) + | q9_1 : int(1..3), q9_2 : int(4..9)]), + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 5 + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q2] = 5 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 5 | q2 : int(1..3)]) + diff --git a/tests/exhaustive/basic/set07/expected/model_2_2_3-solution000001.solution b/tests/exhaustive/basic/set07/expected/model_2_2_3-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set07/expected/model_2_2_3-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set07/expected/model_2_2_3.eprime b/tests/exhaustive/basic/set07/expected/model_2_2_3.eprime new file mode 100644 index 0000000000..c1bc8f0602 --- /dev/null +++ b/tests/exhaustive/basic/set07/expected/model_2_2_3.eprime @@ -0,0 +1,28 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +branching on [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_ExplicitVarSizeWithDummy] +such that + and([or([x_ExplicitVarSizeWithDummy[q17] != 5 /\ x_ExplicitVarSizeWithDummy[q17] = q20_1 | q17 : int(1..4)]) /\ + !or([x_ExplicitVarSizeWithDummy[q19] != 5 /\ x_ExplicitVarSizeWithDummy[q19] = q20_2 | q19 : int(1..4)]) + | q20_1 : int(1..3), q20_2 : int(4..9)]), + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 5 + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q2] = 5 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 5 | q2 : int(1..3)]), + and([q5 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q5] < x_ExplicitVarSizeWithMarker_Values[q5 + 1] + | q5 : int(1..3)]), + and([q6 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q6] = 1 | q6 : int(1..4)]), + and([q9 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q11] != 5 /\ + x_ExplicitVarSizeWithDummy[q11] = x_ExplicitVarSizeWithMarker_Values[q9] + | q11 : int(1..4)]) + | q9 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q13] != 5 -> + or([q15 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q15] = x_ExplicitVarSizeWithDummy[q13] + | q15 : int(1..4)]) + | q13 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set07/expected/model_2_2_4-solution000001.solution b/tests/exhaustive/basic/set07/expected/model_2_2_4-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set07/expected/model_2_2_4-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set07/expected/model_2_2_4.eprime b/tests/exhaustive/basic/set07/expected/model_2_2_4.eprime new file mode 100644 index 0000000000..128577ea84 --- /dev/null +++ b/tests/exhaustive/basic/set07/expected/model_2_2_4.eprime @@ -0,0 +1,29 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +branching on [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_ExplicitVarSizeWithDummy] +such that + and([or([x_ExplicitVarSizeWithDummy[q19] != 5 /\ x_ExplicitVarSizeWithDummy[q19] = q22_1 | q19 : int(1..4)]) /\ + !or([x_ExplicitVarSizeWithDummy[q21] != 5 /\ x_ExplicitVarSizeWithDummy[q21] = q22_2 | q21 : int(1..4)]) + | q22_1 : int(1..3), q22_2 : int(4..9)]), + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 5 + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q2] = 5 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 5 | q2 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q5 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q5] < x_ExplicitVarSizeWithFlags_Values[q5 + 1] + | q5 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q6] = false -> x_ExplicitVarSizeWithFlags_Values[q6] = 1 | q6 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q7 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q7] | q7 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q11] -> + or([x_ExplicitVarSizeWithDummy[q13] != 5 /\ + x_ExplicitVarSizeWithDummy[q13] = x_ExplicitVarSizeWithFlags_Values[q11] + | q13 : int(1..4)]) + | q11 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q15] != 5 -> + or([x_ExplicitVarSizeWithFlags_Flags[q17] /\ + x_ExplicitVarSizeWithFlags_Values[q17] = x_ExplicitVarSizeWithDummy[q15] + | q17 : int(1..4)]) + | q15 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set07/expected/model_2_3_1-solution000001.solution b/tests/exhaustive/basic/set07/expected/model_2_3_1-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set07/expected/model_2_3_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set07/expected/model_2_3_1.eprime b/tests/exhaustive/basic/set07/expected/model_2_3_1.eprime new file mode 100644 index 0000000000..bb5d893672 --- /dev/null +++ b/tests/exhaustive/basic/set07/expected/model_2_3_1.eprime @@ -0,0 +1,41 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_Occurrence: matrix indexed by [int(1..4)] of bool +branching on + [x_Occurrence, x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values] +such that + and([or([x_ExplicitVarSizeWithDummy[q18] != 5 /\ x_ExplicitVarSizeWithDummy[q18] = q21_1 | q18 : int(1..4)]) /\ + !or([q20 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q20] = q21_2 + | q20 : int(1..4)]) + | q21_1 : int(1..3), q21_2 : int(4..9)]), + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 5 + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q2] = 5 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 5 | q2 : int(1..3)]), + and([q5 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q5] < x_ExplicitVarSizeWithMarker_Values[q5 + 1] + | q5 : int(1..3)]), + and([q6 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q6] = 1 | q6 : int(1..4)]), + and([q9 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q11] != 5 /\ + x_ExplicitVarSizeWithDummy[q11] = x_ExplicitVarSizeWithMarker_Values[q9] + | q11 : int(1..4)]) + | q9 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q13] != 5 -> + or([q15 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q15] = x_ExplicitVarSizeWithDummy[q13] + | q15 : int(1..4)]) + | q13 : int(1..4)]), + and([x_Occurrence[q22] -> + or([x_ExplicitVarSizeWithDummy[q24] != 5 /\ x_ExplicitVarSizeWithDummy[q24] = q22 | q24 : int(1..4)]) + | q22 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q26] != 5 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q26]] | q26 : int(1..4)]), + and([x_Occurrence[q27] -> + or([q29 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q29] = q27 + | q29 : int(1..4)]) + | q27 : int(1..4)]), + and([q31 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q31]] + | q31 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set07/expected/model_2_3_2-solution000001.solution b/tests/exhaustive/basic/set07/expected/model_2_3_2-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set07/expected/model_2_3_2-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set07/expected/model_2_3_2.eprime b/tests/exhaustive/basic/set07/expected/model_2_3_2.eprime new file mode 100644 index 0000000000..9623bc7a26 --- /dev/null +++ b/tests/exhaustive/basic/set07/expected/model_2_3_2.eprime @@ -0,0 +1,29 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +branching on [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_ExplicitVarSizeWithDummy] +such that + and([or([x_ExplicitVarSizeWithDummy[q17] != 5 /\ x_ExplicitVarSizeWithDummy[q17] = q20_1 | q17 : int(1..4)]) /\ + !or([q19 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q19] = q20_2 + | q19 : int(1..4)]) + | q20_1 : int(1..3), q20_2 : int(4..9)]), + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 5 + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q2] = 5 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 5 | q2 : int(1..3)]), + and([q5 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q5] < x_ExplicitVarSizeWithMarker_Values[q5 + 1] + | q5 : int(1..3)]), + and([q6 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q6] = 1 | q6 : int(1..4)]), + and([q9 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q11] != 5 /\ + x_ExplicitVarSizeWithDummy[q11] = x_ExplicitVarSizeWithMarker_Values[q9] + | q11 : int(1..4)]) + | q9 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q13] != 5 -> + or([q15 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q15] = x_ExplicitVarSizeWithDummy[q13] + | q15 : int(1..4)]) + | q13 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set07/expected/model_2_3_4-solution000001.solution b/tests/exhaustive/basic/set07/expected/model_2_3_4-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set07/expected/model_2_3_4-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set07/expected/model_2_3_4.eprime b/tests/exhaustive/basic/set07/expected/model_2_3_4.eprime new file mode 100644 index 0000000000..5172fad9a2 --- /dev/null +++ b/tests/exhaustive/basic/set07/expected/model_2_3_4.eprime @@ -0,0 +1,59 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_ExplicitVarSizeWithDummy, + x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values] +such that + and([or([x_ExplicitVarSizeWithDummy[q38] != 5 /\ x_ExplicitVarSizeWithDummy[q38] = q41_1 | q38 : int(1..4)]) /\ + !or([q40 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q40] = q41_2 + | q40 : int(1..4)]) + | q41_1 : int(1..3), q41_2 : int(4..9)]), + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 5 + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q2] = 5 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 5 | q2 : int(1..3)]), + and([q5 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q5] < x_ExplicitVarSizeWithMarker_Values[q5 + 1] + | q5 : int(1..3)]), + and([q6 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q6] = 1 | q6 : int(1..4)]), + and([q9 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q11] != 5 /\ + x_ExplicitVarSizeWithDummy[q11] = x_ExplicitVarSizeWithMarker_Values[q9] + | q11 : int(1..4)]) + | q9 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q13] != 5 -> + or([q15 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q15] = x_ExplicitVarSizeWithDummy[q13] + | q15 : int(1..4)]) + | q13 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q16 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q16] < x_ExplicitVarSizeWithFlags_Values[q16 + 1] + | q16 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q17] = false -> x_ExplicitVarSizeWithFlags_Values[q17] = 1 + | q17 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q18 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q18] | q18 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q22] -> + or([x_ExplicitVarSizeWithDummy[q24] != 5 /\ + x_ExplicitVarSizeWithDummy[q24] = x_ExplicitVarSizeWithFlags_Values[q22] + | q24 : int(1..4)]) + | q22 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q26] != 5 -> + or([x_ExplicitVarSizeWithFlags_Flags[q28] /\ + x_ExplicitVarSizeWithFlags_Values[q28] = x_ExplicitVarSizeWithDummy[q26] + | q28 : int(1..4)]) + | q26 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q30] -> + or([q32 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q32] = x_ExplicitVarSizeWithFlags_Values[q30] + | q32 : int(1..4)]) + | q30 : int(1..4)]), + and([q34 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q36] /\ + x_ExplicitVarSizeWithFlags_Values[q36] = x_ExplicitVarSizeWithMarker_Values[q34] + | q36 : int(1..4)]) + | q34 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set07/expected/model_2_4_1-solution000001.solution b/tests/exhaustive/basic/set07/expected/model_2_4_1-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set07/expected/model_2_4_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set07/expected/model_2_4_1.eprime b/tests/exhaustive/basic/set07/expected/model_2_4_1.eprime new file mode 100644 index 0000000000..d96379070f --- /dev/null +++ b/tests/exhaustive/basic/set07/expected/model_2_4_1.eprime @@ -0,0 +1,41 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_Occurrence: matrix indexed by [int(1..4)] of bool +branching on + [x_Occurrence, x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values] +such that + and([or([x_ExplicitVarSizeWithDummy[q30] != 5 /\ x_ExplicitVarSizeWithDummy[q30] = q33_1 | q30 : int(1..4)]) /\ + !or([x_ExplicitVarSizeWithFlags_Flags[q32] /\ x_ExplicitVarSizeWithFlags_Values[q32] = q33_2 + | q32 : int(1..4)]) + | q33_1 : int(1..3), q33_2 : int(4..9)]), + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 5 + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q2] = 5 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 5 | q2 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q5 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q5] < x_ExplicitVarSizeWithFlags_Values[q5 + 1] + | q5 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q6] = false -> x_ExplicitVarSizeWithFlags_Values[q6] = 1 | q6 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q7 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q7] | q7 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q11] -> + or([x_ExplicitVarSizeWithDummy[q13] != 5 /\ + x_ExplicitVarSizeWithDummy[q13] = x_ExplicitVarSizeWithFlags_Values[q11] + | q13 : int(1..4)]) + | q11 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q15] != 5 -> + or([x_ExplicitVarSizeWithFlags_Flags[q17] /\ + x_ExplicitVarSizeWithFlags_Values[q17] = x_ExplicitVarSizeWithDummy[q15] + | q17 : int(1..4)]) + | q15 : int(1..4)]), + and([x_Occurrence[q19] -> + or([x_ExplicitVarSizeWithDummy[q21] != 5 /\ x_ExplicitVarSizeWithDummy[q21] = q19 | q21 : int(1..4)]) + | q19 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q23] != 5 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q23]] | q23 : int(1..4)]), + and([x_Occurrence[q24] -> + or([x_ExplicitVarSizeWithFlags_Flags[q26] /\ x_ExplicitVarSizeWithFlags_Values[q26] = q24 | q26 : int(1..4)]) + | q24 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q28] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q28]] + | q28 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set07/expected/model_2_4_2-solution000001.solution b/tests/exhaustive/basic/set07/expected/model_2_4_2-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set07/expected/model_2_4_2-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set07/expected/model_2_4_2.eprime b/tests/exhaustive/basic/set07/expected/model_2_4_2.eprime new file mode 100644 index 0000000000..82fca6cda7 --- /dev/null +++ b/tests/exhaustive/basic/set07/expected/model_2_4_2.eprime @@ -0,0 +1,30 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +branching on [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_ExplicitVarSizeWithDummy] +such that + and([or([x_ExplicitVarSizeWithDummy[q19] != 5 /\ x_ExplicitVarSizeWithDummy[q19] = q22_1 | q19 : int(1..4)]) /\ + !or([x_ExplicitVarSizeWithFlags_Flags[q21] /\ x_ExplicitVarSizeWithFlags_Values[q21] = q22_2 + | q21 : int(1..4)]) + | q22_1 : int(1..3), q22_2 : int(4..9)]), + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 5 + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q2] = 5 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 5 | q2 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q5 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q5] < x_ExplicitVarSizeWithFlags_Values[q5 + 1] + | q5 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q6] = false -> x_ExplicitVarSizeWithFlags_Values[q6] = 1 | q6 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q7 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q7] | q7 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q11] -> + or([x_ExplicitVarSizeWithDummy[q13] != 5 /\ + x_ExplicitVarSizeWithDummy[q13] = x_ExplicitVarSizeWithFlags_Values[q11] + | q13 : int(1..4)]) + | q11 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q15] != 5 -> + or([x_ExplicitVarSizeWithFlags_Flags[q17] /\ + x_ExplicitVarSizeWithFlags_Values[q17] = x_ExplicitVarSizeWithDummy[q15] + | q17 : int(1..4)]) + | q15 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set07/expected/model_2_4_3-solution000001.solution b/tests/exhaustive/basic/set07/expected/model_2_4_3-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set07/expected/model_2_4_3-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set07/expected/model_2_4_3.eprime b/tests/exhaustive/basic/set07/expected/model_2_4_3.eprime new file mode 100644 index 0000000000..d9bc3fdee6 --- /dev/null +++ b/tests/exhaustive/basic/set07/expected/model_2_4_3.eprime @@ -0,0 +1,58 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_ExplicitVarSizeWithDummy, + x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values] +such that + and([or([x_ExplicitVarSizeWithDummy[q38] != 5 /\ x_ExplicitVarSizeWithDummy[q38] = q41_1 | q38 : int(1..4)]) /\ + !or([x_ExplicitVarSizeWithFlags_Flags[q40] /\ x_ExplicitVarSizeWithFlags_Values[q40] = q41_2 + | q40 : int(1..4)]) + | q41_1 : int(1..3), q41_2 : int(4..9)]), + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 5 + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q2] = 5 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 5 | q2 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q5 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q5] < x_ExplicitVarSizeWithFlags_Values[q5 + 1] + | q5 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q6] = false -> x_ExplicitVarSizeWithFlags_Values[q6] = 1 | q6 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q7 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q7] | q7 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q11] -> + or([x_ExplicitVarSizeWithDummy[q13] != 5 /\ + x_ExplicitVarSizeWithDummy[q13] = x_ExplicitVarSizeWithFlags_Values[q11] + | q13 : int(1..4)]) + | q11 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q15] != 5 -> + or([x_ExplicitVarSizeWithFlags_Flags[q17] /\ + x_ExplicitVarSizeWithFlags_Values[q17] = x_ExplicitVarSizeWithDummy[q15] + | q17 : int(1..4)]) + | q15 : int(1..4)]), + and([q18 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q18] < x_ExplicitVarSizeWithMarker_Values[q18 + 1] + | q18 : int(1..3)]), + and([q19 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q19] = 1 | q19 : int(1..4)]), + and([q22 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q24] != 5 /\ + x_ExplicitVarSizeWithDummy[q24] = x_ExplicitVarSizeWithMarker_Values[q22] + | q24 : int(1..4)]) + | q22 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q26] != 5 -> + or([q28 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q28] = x_ExplicitVarSizeWithDummy[q26] + | q28 : int(1..4)]) + | q26 : int(1..4)]), + and([q30 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q32] /\ + x_ExplicitVarSizeWithFlags_Values[q32] = x_ExplicitVarSizeWithMarker_Values[q30] + | q32 : int(1..4)]) + | q30 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q34] -> + or([q36 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q36] = x_ExplicitVarSizeWithFlags_Values[q34] + | q36 : int(1..4)]) + | q34 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set07/expected/model_3_1_1-solution000001.solution b/tests/exhaustive/basic/set07/expected/model_3_1_1-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set07/expected/model_3_1_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set07/expected/model_3_1_1.eprime b/tests/exhaustive/basic/set07/expected/model_3_1_1.eprime new file mode 100644 index 0000000000..a9299de8e5 --- /dev/null +++ b/tests/exhaustive/basic/set07/expected/model_3_1_1.eprime @@ -0,0 +1,22 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_Occurrence: matrix indexed by [int(1..4)] of bool +branching on [x_Occurrence, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values] +such that + and([or([q6 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q6] = q7_1 + | q6 : int(1..4)]) + /\ !x_Occurrence[q7_2] + | q7_1 : int(1..3), q7_2 : int(4..9)]), + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..3)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 1 | q2 : int(1..4)]), + and([x_Occurrence[q8] -> + or([q10 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q10] = q8 + | q10 : int(1..4)]) + | q8 : int(1..4)]), + and([q12 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q12]] + | q12 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set07/expected/model_3_1_2-solution000001.solution b/tests/exhaustive/basic/set07/expected/model_3_1_2-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set07/expected/model_3_1_2-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set07/expected/model_3_1_2.eprime b/tests/exhaustive/basic/set07/expected/model_3_1_2.eprime new file mode 100644 index 0000000000..8897452e59 --- /dev/null +++ b/tests/exhaustive/basic/set07/expected/model_3_1_2.eprime @@ -0,0 +1,41 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_Occurrence: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +branching on + [x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_Occurrence] +such that + and([or([q23 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q23] = q24_1 + | q23 : int(1..4)]) + /\ !x_Occurrence[q24_2] + | q24_1 : int(1..3), q24_2 : int(4..9)]), + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..3)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 1 | q2 : int(1..4)]), + and([x_Occurrence[q25] -> + or([q27 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q27] = q25 + | q27 : int(1..4)]) + | q25 : int(1..4)]), + and([q29 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q29]] + | q29 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q5] < x_ExplicitVarSizeWithDummy[q5 + 1] \/ x_ExplicitVarSizeWithDummy[q5] = 5 + | q5 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q6] = 5 -> x_ExplicitVarSizeWithDummy[q6 + 1] = 5 | q6 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q10] != 5 -> + or([q12 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q12] = x_ExplicitVarSizeWithDummy[q10] + | q12 : int(1..4)]) + | q10 : int(1..4)]), + and([q14 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q16] != 5 /\ + x_ExplicitVarSizeWithDummy[q16] = x_ExplicitVarSizeWithMarker_Values[q14] + | q16 : int(1..4)]) + | q14 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q18] != 5 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q18]] | q18 : int(1..4)]), + and([x_Occurrence[q19] -> + or([x_ExplicitVarSizeWithDummy[q21] != 5 /\ x_ExplicitVarSizeWithDummy[q21] = q19 | q21 : int(1..4)]) + | q19 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set07/expected/model_3_1_4-solution000001.solution b/tests/exhaustive/basic/set07/expected/model_3_1_4-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set07/expected/model_3_1_4-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set07/expected/model_3_1_4.eprime b/tests/exhaustive/basic/set07/expected/model_3_1_4.eprime new file mode 100644 index 0000000000..e3716d35cd --- /dev/null +++ b/tests/exhaustive/basic/set07/expected/model_3_1_4.eprime @@ -0,0 +1,46 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_Occurrence: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_ExplicitVarSizeWithMarker_Marker, + x_ExplicitVarSizeWithMarker_Values, x_Occurrence] +such that + and([or([q24 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q24] = q25_1 + | q24 : int(1..4)]) + /\ !x_Occurrence[q25_2] + | q25_1 : int(1..3), q25_2 : int(4..9)]), + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..3)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 1 | q2 : int(1..4)]), + and([x_Occurrence[q26] -> + or([q28 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q28] = q26 + | q28 : int(1..4)]) + | q26 : int(1..4)]), + and([q30 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q30]] + | q30 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q5 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q5] < x_ExplicitVarSizeWithFlags_Values[q5 + 1] + | q5 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q6] = false -> x_ExplicitVarSizeWithFlags_Values[q6] = 1 | q6 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q7 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q7] | q7 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q11] -> + or([q13 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q13] = x_ExplicitVarSizeWithFlags_Values[q11] + | q13 : int(1..4)]) + | q11 : int(1..4)]), + and([q15 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q17] /\ + x_ExplicitVarSizeWithFlags_Values[q17] = x_ExplicitVarSizeWithMarker_Values[q15] + | q17 : int(1..4)]) + | q15 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q19] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q19]] + | q19 : int(1..4)]), + and([x_Occurrence[q20] -> + or([x_ExplicitVarSizeWithFlags_Flags[q22] /\ x_ExplicitVarSizeWithFlags_Values[q22] = q20 | q22 : int(1..4)]) + | q20 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set07/expected/model_3_2_1-solution000001.solution b/tests/exhaustive/basic/set07/expected/model_3_2_1-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set07/expected/model_3_2_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set07/expected/model_3_2_1.eprime b/tests/exhaustive/basic/set07/expected/model_3_2_1.eprime new file mode 100644 index 0000000000..a4f4f9d9e3 --- /dev/null +++ b/tests/exhaustive/basic/set07/expected/model_3_2_1.eprime @@ -0,0 +1,41 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +find x_Occurrence: matrix indexed by [int(1..4)] of bool +branching on + [x_Occurrence, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_ExplicitVarSizeWithDummy] +such that + and([or([q18 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q18] = q21_1 + | q18 : int(1..4)]) + /\ !or([x_ExplicitVarSizeWithDummy[q20] != 5 /\ x_ExplicitVarSizeWithDummy[q20] = q21_2 | q20 : int(1..4)]) + | q21_1 : int(1..3), q21_2 : int(4..9)]), + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..3)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 1 | q2 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q4] < x_ExplicitVarSizeWithDummy[q4 + 1] \/ x_ExplicitVarSizeWithDummy[q4] = 5 + | q4 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q5] = 5 -> x_ExplicitVarSizeWithDummy[q5 + 1] = 5 | q5 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q9] != 5 -> + or([q11 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q11] = x_ExplicitVarSizeWithDummy[q9] + | q11 : int(1..4)]) + | q9 : int(1..4)]), + and([q13 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q15] != 5 /\ + x_ExplicitVarSizeWithDummy[q15] = x_ExplicitVarSizeWithMarker_Values[q13] + | q15 : int(1..4)]) + | q13 : int(1..4)]), + and([x_Occurrence[q22] -> + or([q24 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q24] = q22 + | q24 : int(1..4)]) + | q22 : int(1..4)]), + and([q26 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q26]] + | q26 : int(1..4)]), + and([x_Occurrence[q27] -> + or([x_ExplicitVarSizeWithDummy[q29] != 5 /\ x_ExplicitVarSizeWithDummy[q29] = q27 | q29 : int(1..4)]) + | q27 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q31] != 5 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q31]] | q31 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set07/expected/model_3_2_2-solution000001.solution b/tests/exhaustive/basic/set07/expected/model_3_2_2-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set07/expected/model_3_2_2-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set07/expected/model_3_2_2.eprime b/tests/exhaustive/basic/set07/expected/model_3_2_2.eprime new file mode 100644 index 0000000000..a7e9b28aa7 --- /dev/null +++ b/tests/exhaustive/basic/set07/expected/model_3_2_2.eprime @@ -0,0 +1,29 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +branching on [x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values] +such that + and([or([q17 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q17] = q20_1 + | q17 : int(1..4)]) + /\ !or([x_ExplicitVarSizeWithDummy[q19] != 5 /\ x_ExplicitVarSizeWithDummy[q19] = q20_2 | q19 : int(1..4)]) + | q20_1 : int(1..3), q20_2 : int(4..9)]), + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..3)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 1 | q2 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q4] < x_ExplicitVarSizeWithDummy[q4 + 1] \/ x_ExplicitVarSizeWithDummy[q4] = 5 + | q4 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q5] = 5 -> x_ExplicitVarSizeWithDummy[q5 + 1] = 5 | q5 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q9] != 5 -> + or([q11 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q11] = x_ExplicitVarSizeWithDummy[q9] + | q11 : int(1..4)]) + | q9 : int(1..4)]), + and([q13 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q15] != 5 /\ + x_ExplicitVarSizeWithDummy[q15] = x_ExplicitVarSizeWithMarker_Values[q13] + | q15 : int(1..4)]) + | q13 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set07/expected/model_3_2_4-solution000001.solution b/tests/exhaustive/basic/set07/expected/model_3_2_4-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set07/expected/model_3_2_4-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set07/expected/model_3_2_4.eprime b/tests/exhaustive/basic/set07/expected/model_3_2_4.eprime new file mode 100644 index 0000000000..9ba2c2499e --- /dev/null +++ b/tests/exhaustive/basic/set07/expected/model_3_2_4.eprime @@ -0,0 +1,59 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_ExplicitVarSizeWithMarker_Marker, + x_ExplicitVarSizeWithMarker_Values, x_ExplicitVarSizeWithDummy] +such that + and([or([q38 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q38] = q41_1 + | q38 : int(1..4)]) + /\ !or([x_ExplicitVarSizeWithDummy[q40] != 5 /\ x_ExplicitVarSizeWithDummy[q40] = q41_2 | q40 : int(1..4)]) + | q41_1 : int(1..3), q41_2 : int(4..9)]), + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..3)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 1 | q2 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q4] < x_ExplicitVarSizeWithDummy[q4 + 1] \/ x_ExplicitVarSizeWithDummy[q4] = 5 + | q4 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q5] = 5 -> x_ExplicitVarSizeWithDummy[q5 + 1] = 5 | q5 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q9] != 5 -> + or([q11 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q11] = x_ExplicitVarSizeWithDummy[q9] + | q11 : int(1..4)]) + | q9 : int(1..4)]), + and([q13 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q15] != 5 /\ + x_ExplicitVarSizeWithDummy[q15] = x_ExplicitVarSizeWithMarker_Values[q13] + | q15 : int(1..4)]) + | q13 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q16 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q16] < x_ExplicitVarSizeWithFlags_Values[q16 + 1] + | q16 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q17] = false -> x_ExplicitVarSizeWithFlags_Values[q17] = 1 + | q17 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q18 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q18] | q18 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q22] -> + or([q24 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q24] = x_ExplicitVarSizeWithFlags_Values[q22] + | q24 : int(1..4)]) + | q22 : int(1..4)]), + and([q26 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q28] /\ + x_ExplicitVarSizeWithFlags_Values[q28] = x_ExplicitVarSizeWithMarker_Values[q26] + | q28 : int(1..4)]) + | q26 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q30] -> + or([x_ExplicitVarSizeWithDummy[q32] != 5 /\ + x_ExplicitVarSizeWithDummy[q32] = x_ExplicitVarSizeWithFlags_Values[q30] + | q32 : int(1..4)]) + | q30 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q34] != 5 -> + or([x_ExplicitVarSizeWithFlags_Flags[q36] /\ + x_ExplicitVarSizeWithFlags_Values[q36] = x_ExplicitVarSizeWithDummy[q34] + | q36 : int(1..4)]) + | q34 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set07/expected/model_3_3_1-solution000001.solution b/tests/exhaustive/basic/set07/expected/model_3_3_1-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set07/expected/model_3_3_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set07/expected/model_3_3_1.eprime b/tests/exhaustive/basic/set07/expected/model_3_3_1.eprime new file mode 100644 index 0000000000..f69ec68546 --- /dev/null +++ b/tests/exhaustive/basic/set07/expected/model_3_3_1.eprime @@ -0,0 +1,24 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_Occurrence: matrix indexed by [int(1..4)] of bool +branching on [x_Occurrence, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values] +such that + and([or([q6 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q6] = q9_1 + | q6 : int(1..4)]) + /\ + !or([q8 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q8] = q9_2 + | q8 : int(1..4)]) + | q9_1 : int(1..3), q9_2 : int(4..9)]), + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..3)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 1 | q2 : int(1..4)]), + and([x_Occurrence[q10] -> + or([q12 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q12] = q10 + | q12 : int(1..4)]) + | q10 : int(1..4)]), + and([q14 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q14]] + | q14 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set07/expected/model_3_3_2-solution000001.solution b/tests/exhaustive/basic/set07/expected/model_3_3_2-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set07/expected/model_3_3_2-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set07/expected/model_3_3_2.eprime b/tests/exhaustive/basic/set07/expected/model_3_3_2.eprime new file mode 100644 index 0000000000..adc45bc4e1 --- /dev/null +++ b/tests/exhaustive/basic/set07/expected/model_3_3_2.eprime @@ -0,0 +1,31 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +branching on [x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values] +such that + and([or([q17 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q17] = q20_1 + | q17 : int(1..4)]) + /\ + !or([q19 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q19] = q20_2 + | q19 : int(1..4)]) + | q20_1 : int(1..3), q20_2 : int(4..9)]), + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..3)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 1 | q2 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q4] < x_ExplicitVarSizeWithDummy[q4 + 1] \/ x_ExplicitVarSizeWithDummy[q4] = 5 + | q4 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q5] = 5 -> x_ExplicitVarSizeWithDummy[q5 + 1] = 5 | q5 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q9] != 5 -> + or([q11 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q11] = x_ExplicitVarSizeWithDummy[q9] + | q11 : int(1..4)]) + | q9 : int(1..4)]), + and([q13 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q15] != 5 /\ + x_ExplicitVarSizeWithDummy[q15] = x_ExplicitVarSizeWithMarker_Values[q13] + | q15 : int(1..4)]) + | q13 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set07/expected/model_3_3_3-solution000001.solution b/tests/exhaustive/basic/set07/expected/model_3_3_3-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set07/expected/model_3_3_3-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set07/expected/model_3_3_3.eprime b/tests/exhaustive/basic/set07/expected/model_3_3_3.eprime new file mode 100644 index 0000000000..fbcbcb55a2 --- /dev/null +++ b/tests/exhaustive/basic/set07/expected/model_3_3_3.eprime @@ -0,0 +1,17 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +branching on [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values] +such that + and([or([q5 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q5] = q8_1 + | q5 : int(1..4)]) + /\ + !or([q7 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q7] = q8_2 + | q7 : int(1..4)]) + | q8_1 : int(1..3), q8_2 : int(4..9)]), + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..3)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 1 | q2 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set07/expected/model_3_3_4-solution000001.solution b/tests/exhaustive/basic/set07/expected/model_3_3_4-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set07/expected/model_3_3_4-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set07/expected/model_3_3_4.eprime b/tests/exhaustive/basic/set07/expected/model_3_3_4.eprime new file mode 100644 index 0000000000..50a1db36c3 --- /dev/null +++ b/tests/exhaustive/basic/set07/expected/model_3_3_4.eprime @@ -0,0 +1,36 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_ExplicitVarSizeWithMarker_Marker, + x_ExplicitVarSizeWithMarker_Values] +such that + and([or([q18 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q18] = q21_1 + | q18 : int(1..4)]) + /\ + !or([q20 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q20] = q21_2 + | q20 : int(1..4)]) + | q21_1 : int(1..3), q21_2 : int(4..9)]), + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..3)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 1 | q2 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q4 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q4] < x_ExplicitVarSizeWithFlags_Values[q4 + 1] + | q4 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q5] = false -> x_ExplicitVarSizeWithFlags_Values[q5] = 1 | q5 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q6 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q6] | q6 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q10] -> + or([q12 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q12] = x_ExplicitVarSizeWithFlags_Values[q10] + | q12 : int(1..4)]) + | q10 : int(1..4)]), + and([q14 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q16] /\ + x_ExplicitVarSizeWithFlags_Values[q16] = x_ExplicitVarSizeWithMarker_Values[q14] + | q16 : int(1..4)]) + | q14 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set07/expected/model_3_4_1-solution000001.solution b/tests/exhaustive/basic/set07/expected/model_3_4_1-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set07/expected/model_3_4_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set07/expected/model_3_4_1.eprime b/tests/exhaustive/basic/set07/expected/model_3_4_1.eprime new file mode 100644 index 0000000000..61e664ad10 --- /dev/null +++ b/tests/exhaustive/basic/set07/expected/model_3_4_1.eprime @@ -0,0 +1,48 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_Occurrence: matrix indexed by [int(1..4)] of bool +branching on + [x_Occurrence, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, + x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values] +such that + and([or([q29 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q29] = q32_1 + | q29 : int(1..4)]) + /\ + !or([x_ExplicitVarSizeWithFlags_Flags[q31] /\ x_ExplicitVarSizeWithFlags_Values[q31] = q32_2 + | q31 : int(1..4)]) + | q32_1 : int(1..3), q32_2 : int(4..9)]), + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..3)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 1 | q2 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q4 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q4] < x_ExplicitVarSizeWithFlags_Values[q4 + 1] + | q4 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q5] = false -> x_ExplicitVarSizeWithFlags_Values[q5] = 1 | q5 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q6 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q6] | q6 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q10] -> + or([q12 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q12] = x_ExplicitVarSizeWithFlags_Values[q10] + | q12 : int(1..4)]) + | q10 : int(1..4)]), + and([q14 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q16] /\ + x_ExplicitVarSizeWithFlags_Values[q16] = x_ExplicitVarSizeWithMarker_Values[q14] + | q16 : int(1..4)]) + | q14 : int(1..4)]), + and([x_Occurrence[q18] -> + or([q20 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q20] = q18 + | q20 : int(1..4)]) + | q18 : int(1..4)]), + and([q22 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q22]] + | q22 : int(1..4)]), + and([x_Occurrence[q23] -> + or([x_ExplicitVarSizeWithFlags_Flags[q25] /\ x_ExplicitVarSizeWithFlags_Values[q25] = q23 | q25 : int(1..4)]) + | q23 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q27] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q27]] + | q27 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set07/expected/model_3_4_2-solution000001.solution b/tests/exhaustive/basic/set07/expected/model_3_4_2-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set07/expected/model_3_4_2-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set07/expected/model_3_4_2.eprime b/tests/exhaustive/basic/set07/expected/model_3_4_2.eprime new file mode 100644 index 0000000000..b565f5f402 --- /dev/null +++ b/tests/exhaustive/basic/set07/expected/model_3_4_2.eprime @@ -0,0 +1,60 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +branching on + [x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, + x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values] +such that + and([or([q38 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q38] = q41_1 + | q38 : int(1..4)]) + /\ + !or([x_ExplicitVarSizeWithFlags_Flags[q40] /\ x_ExplicitVarSizeWithFlags_Values[q40] = q41_2 + | q40 : int(1..4)]) + | q41_1 : int(1..3), q41_2 : int(4..9)]), + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..3)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 1 | q2 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q4 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q4] < x_ExplicitVarSizeWithFlags_Values[q4 + 1] + | q4 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q5] = false -> x_ExplicitVarSizeWithFlags_Values[q5] = 1 | q5 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q6 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q6] | q6 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q10] -> + or([q12 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q12] = x_ExplicitVarSizeWithFlags_Values[q10] + | q12 : int(1..4)]) + | q10 : int(1..4)]), + and([q14 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q16] /\ + x_ExplicitVarSizeWithFlags_Values[q16] = x_ExplicitVarSizeWithMarker_Values[q14] + | q16 : int(1..4)]) + | q14 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q17] < x_ExplicitVarSizeWithDummy[q17 + 1] \/ x_ExplicitVarSizeWithDummy[q17] = 5 + | q17 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q18] = 5 -> x_ExplicitVarSizeWithDummy[q18 + 1] = 5 | q18 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q22] != 5 -> + or([q24 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q24] = x_ExplicitVarSizeWithDummy[q22] + | q24 : int(1..4)]) + | q22 : int(1..4)]), + and([q26 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q28] != 5 /\ + x_ExplicitVarSizeWithDummy[q28] = x_ExplicitVarSizeWithMarker_Values[q26] + | q28 : int(1..4)]) + | q26 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q30] != 5 -> + or([x_ExplicitVarSizeWithFlags_Flags[q32] /\ + x_ExplicitVarSizeWithFlags_Values[q32] = x_ExplicitVarSizeWithDummy[q30] + | q32 : int(1..4)]) + | q30 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q34] -> + or([x_ExplicitVarSizeWithDummy[q36] != 5 /\ + x_ExplicitVarSizeWithDummy[q36] = x_ExplicitVarSizeWithFlags_Values[q34] + | q36 : int(1..4)]) + | q34 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set07/expected/model_3_4_3-solution000001.solution b/tests/exhaustive/basic/set07/expected/model_3_4_3-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set07/expected/model_3_4_3-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set07/expected/model_3_4_3.eprime b/tests/exhaustive/basic/set07/expected/model_3_4_3.eprime new file mode 100644 index 0000000000..d801442667 --- /dev/null +++ b/tests/exhaustive/basic/set07/expected/model_3_4_3.eprime @@ -0,0 +1,36 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_ExplicitVarSizeWithMarker_Marker, + x_ExplicitVarSizeWithMarker_Values] +such that + and([or([q18 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q18] = q21_1 + | q18 : int(1..4)]) + /\ + !or([x_ExplicitVarSizeWithFlags_Flags[q20] /\ x_ExplicitVarSizeWithFlags_Values[q20] = q21_2 + | q20 : int(1..4)]) + | q21_1 : int(1..3), q21_2 : int(4..9)]), + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..3)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 1 | q2 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q4 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q4] < x_ExplicitVarSizeWithFlags_Values[q4 + 1] + | q4 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q5] = false -> x_ExplicitVarSizeWithFlags_Values[q5] = 1 | q5 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q6 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q6] | q6 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q10] -> + or([q12 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q12] = x_ExplicitVarSizeWithFlags_Values[q10] + | q12 : int(1..4)]) + | q10 : int(1..4)]), + and([q14 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q16] /\ + x_ExplicitVarSizeWithFlags_Values[q16] = x_ExplicitVarSizeWithMarker_Values[q14] + | q16 : int(1..4)]) + | q14 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set07/expected/model_4_1_1-solution000001.solution b/tests/exhaustive/basic/set07/expected/model_4_1_1-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set07/expected/model_4_1_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set07/expected/model_4_1_1.eprime b/tests/exhaustive/basic/set07/expected/model_4_1_1.eprime new file mode 100644 index 0000000000..981837a4f9 --- /dev/null +++ b/tests/exhaustive/basic/set07/expected/model_4_1_1.eprime @@ -0,0 +1,21 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_Occurrence: matrix indexed by [int(1..4)] of bool +branching on [x_Occurrence, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values] +such that + and([or([x_ExplicitVarSizeWithFlags_Flags[q13] /\ x_ExplicitVarSizeWithFlags_Values[q13] = q14_1 | q13 : int(1..4)]) + /\ !x_Occurrence[q14_2] + | q14_1 : int(1..3), q14_2 : int(4..9)]), + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 1 | q2 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..3)]), + and([x_Occurrence[q7] -> + or([x_ExplicitVarSizeWithFlags_Flags[q9] /\ x_ExplicitVarSizeWithFlags_Values[q9] = q7 | q9 : int(1..4)]) + | q7 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q11] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q11]] + | q11 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set07/expected/model_4_1_2-solution000001.solution b/tests/exhaustive/basic/set07/expected/model_4_1_2-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set07/expected/model_4_1_2-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set07/expected/model_4_1_2.eprime b/tests/exhaustive/basic/set07/expected/model_4_1_2.eprime new file mode 100644 index 0000000000..3c2a07f559 --- /dev/null +++ b/tests/exhaustive/basic/set07/expected/model_4_1_2.eprime @@ -0,0 +1,40 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_Occurrence: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +branching on + [x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_Occurrence] +such that + and([or([x_ExplicitVarSizeWithFlags_Flags[q30] /\ x_ExplicitVarSizeWithFlags_Values[q30] = q31_1 | q30 : int(1..4)]) + /\ !x_Occurrence[q31_2] + | q31_1 : int(1..3), q31_2 : int(4..9)]), + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 1 | q2 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..3)]), + and([x_Occurrence[q24] -> + or([x_ExplicitVarSizeWithFlags_Flags[q26] /\ x_ExplicitVarSizeWithFlags_Values[q26] = q24 | q26 : int(1..4)]) + | q24 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q28] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q28]] + | q28 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q7] < x_ExplicitVarSizeWithDummy[q7 + 1] \/ x_ExplicitVarSizeWithDummy[q7] = 5 + | q7 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q8] = 5 -> x_ExplicitVarSizeWithDummy[q8 + 1] = 5 | q8 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q12] != 5 -> + or([x_ExplicitVarSizeWithFlags_Flags[q14] /\ + x_ExplicitVarSizeWithFlags_Values[q14] = x_ExplicitVarSizeWithDummy[q12] + | q14 : int(1..4)]) + | q12 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q16] -> + or([x_ExplicitVarSizeWithDummy[q18] != 5 /\ + x_ExplicitVarSizeWithDummy[q18] = x_ExplicitVarSizeWithFlags_Values[q16] + | q18 : int(1..4)]) + | q16 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q20] != 5 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q20]] | q20 : int(1..4)]), + and([x_Occurrence[q21] -> + or([x_ExplicitVarSizeWithDummy[q23] != 5 /\ x_ExplicitVarSizeWithDummy[q23] = q21 | q23 : int(1..4)]) + | q21 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set07/expected/model_4_1_3-solution000001.solution b/tests/exhaustive/basic/set07/expected/model_4_1_3-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set07/expected/model_4_1_3-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set07/expected/model_4_1_3.eprime b/tests/exhaustive/basic/set07/expected/model_4_1_3.eprime new file mode 100644 index 0000000000..00c2bc51f1 --- /dev/null +++ b/tests/exhaustive/basic/set07/expected/model_4_1_3.eprime @@ -0,0 +1,45 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_Occurrence: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_ExplicitVarSizeWithFlags_Flags, + x_ExplicitVarSizeWithFlags_Values, x_Occurrence] +such that + and([or([x_ExplicitVarSizeWithFlags_Flags[q29] /\ x_ExplicitVarSizeWithFlags_Values[q29] = q30_1 | q29 : int(1..4)]) + /\ !x_Occurrence[q30_2] + | q30_1 : int(1..3), q30_2 : int(4..9)]), + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 1 | q2 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..3)]), + and([x_Occurrence[q23] -> + or([x_ExplicitVarSizeWithFlags_Flags[q25] /\ x_ExplicitVarSizeWithFlags_Values[q25] = q23 | q25 : int(1..4)]) + | q23 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q27] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q27]] + | q27 : int(1..4)]), + and([q7 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q7] < x_ExplicitVarSizeWithMarker_Values[q7 + 1] + | q7 : int(1..3)]), + and([q8 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q8] = 1 | q8 : int(1..4)]), + and([q11 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q13] /\ + x_ExplicitVarSizeWithFlags_Values[q13] = x_ExplicitVarSizeWithMarker_Values[q11] + | q13 : int(1..4)]) + | q11 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q15] -> + or([q17 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q17] = x_ExplicitVarSizeWithFlags_Values[q15] + | q17 : int(1..4)]) + | q15 : int(1..4)]), + and([q19 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q19]] + | q19 : int(1..4)]), + and([x_Occurrence[q20] -> + or([q22 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q22] = q20 + | q22 : int(1..4)]) + | q20 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set07/expected/model_4_2_1-solution000001.solution b/tests/exhaustive/basic/set07/expected/model_4_2_1-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set07/expected/model_4_2_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set07/expected/model_4_2_1.eprime b/tests/exhaustive/basic/set07/expected/model_4_2_1.eprime new file mode 100644 index 0000000000..c197a46407 --- /dev/null +++ b/tests/exhaustive/basic/set07/expected/model_4_2_1.eprime @@ -0,0 +1,40 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +find x_Occurrence: matrix indexed by [int(1..4)] of bool +branching on + [x_Occurrence, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_ExplicitVarSizeWithDummy] +such that + and([or([x_ExplicitVarSizeWithFlags_Flags[q30] /\ x_ExplicitVarSizeWithFlags_Values[q30] = q33_1 | q30 : int(1..4)]) + /\ !or([x_ExplicitVarSizeWithDummy[q32] != 5 /\ x_ExplicitVarSizeWithDummy[q32] = q33_2 | q32 : int(1..4)]) + | q33_1 : int(1..3), q33_2 : int(4..9)]), + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 1 | q2 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q6] < x_ExplicitVarSizeWithDummy[q6 + 1] \/ x_ExplicitVarSizeWithDummy[q6] = 5 + | q6 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q7] = 5 -> x_ExplicitVarSizeWithDummy[q7 + 1] = 5 | q7 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q11] != 5 -> + or([x_ExplicitVarSizeWithFlags_Flags[q13] /\ + x_ExplicitVarSizeWithFlags_Values[q13] = x_ExplicitVarSizeWithDummy[q11] + | q13 : int(1..4)]) + | q11 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q15] -> + or([x_ExplicitVarSizeWithDummy[q17] != 5 /\ + x_ExplicitVarSizeWithDummy[q17] = x_ExplicitVarSizeWithFlags_Values[q15] + | q17 : int(1..4)]) + | q15 : int(1..4)]), + and([x_Occurrence[q19] -> + or([x_ExplicitVarSizeWithFlags_Flags[q21] /\ x_ExplicitVarSizeWithFlags_Values[q21] = q19 | q21 : int(1..4)]) + | q19 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q23] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q23]] + | q23 : int(1..4)]), + and([x_Occurrence[q24] -> + or([x_ExplicitVarSizeWithDummy[q26] != 5 /\ x_ExplicitVarSizeWithDummy[q26] = q24 | q26 : int(1..4)]) + | q24 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q28] != 5 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q28]] | q28 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set07/expected/model_4_2_2-solution000001.solution b/tests/exhaustive/basic/set07/expected/model_4_2_2-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set07/expected/model_4_2_2-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set07/expected/model_4_2_2.eprime b/tests/exhaustive/basic/set07/expected/model_4_2_2.eprime new file mode 100644 index 0000000000..8c36b6b158 --- /dev/null +++ b/tests/exhaustive/basic/set07/expected/model_4_2_2.eprime @@ -0,0 +1,29 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +branching on [x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values] +such that + and([or([x_ExplicitVarSizeWithFlags_Flags[q19] /\ x_ExplicitVarSizeWithFlags_Values[q19] = q22_1 | q19 : int(1..4)]) + /\ !or([x_ExplicitVarSizeWithDummy[q21] != 5 /\ x_ExplicitVarSizeWithDummy[q21] = q22_2 | q21 : int(1..4)]) + | q22_1 : int(1..3), q22_2 : int(4..9)]), + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 1 | q2 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q6] < x_ExplicitVarSizeWithDummy[q6 + 1] \/ x_ExplicitVarSizeWithDummy[q6] = 5 + | q6 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q7] = 5 -> x_ExplicitVarSizeWithDummy[q7 + 1] = 5 | q7 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q11] != 5 -> + or([x_ExplicitVarSizeWithFlags_Flags[q13] /\ + x_ExplicitVarSizeWithFlags_Values[q13] = x_ExplicitVarSizeWithDummy[q11] + | q13 : int(1..4)]) + | q11 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q15] -> + or([x_ExplicitVarSizeWithDummy[q17] != 5 /\ + x_ExplicitVarSizeWithDummy[q17] = x_ExplicitVarSizeWithFlags_Values[q15] + | q17 : int(1..4)]) + | q15 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set07/expected/model_4_2_3-solution000001.solution b/tests/exhaustive/basic/set07/expected/model_4_2_3-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set07/expected/model_4_2_3-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set07/expected/model_4_2_3.eprime b/tests/exhaustive/basic/set07/expected/model_4_2_3.eprime new file mode 100644 index 0000000000..99e67ea897 --- /dev/null +++ b/tests/exhaustive/basic/set07/expected/model_4_2_3.eprime @@ -0,0 +1,57 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_ExplicitVarSizeWithFlags_Flags, + x_ExplicitVarSizeWithFlags_Values, x_ExplicitVarSizeWithDummy] +such that + and([or([x_ExplicitVarSizeWithFlags_Flags[q38] /\ x_ExplicitVarSizeWithFlags_Values[q38] = q41_1 | q38 : int(1..4)]) + /\ !or([x_ExplicitVarSizeWithDummy[q40] != 5 /\ x_ExplicitVarSizeWithDummy[q40] = q41_2 | q40 : int(1..4)]) + | q41_1 : int(1..3), q41_2 : int(4..9)]), + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 1 | q2 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q6] < x_ExplicitVarSizeWithDummy[q6 + 1] \/ x_ExplicitVarSizeWithDummy[q6] = 5 + | q6 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q7] = 5 -> x_ExplicitVarSizeWithDummy[q7 + 1] = 5 | q7 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q11] != 5 -> + or([x_ExplicitVarSizeWithFlags_Flags[q13] /\ + x_ExplicitVarSizeWithFlags_Values[q13] = x_ExplicitVarSizeWithDummy[q11] + | q13 : int(1..4)]) + | q11 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q15] -> + or([x_ExplicitVarSizeWithDummy[q17] != 5 /\ + x_ExplicitVarSizeWithDummy[q17] = x_ExplicitVarSizeWithFlags_Values[q15] + | q17 : int(1..4)]) + | q15 : int(1..4)]), + and([q18 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q18] < x_ExplicitVarSizeWithMarker_Values[q18 + 1] + | q18 : int(1..3)]), + and([q19 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q19] = 1 | q19 : int(1..4)]), + and([q22 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q24] /\ + x_ExplicitVarSizeWithFlags_Values[q24] = x_ExplicitVarSizeWithMarker_Values[q22] + | q24 : int(1..4)]) + | q22 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q26] -> + or([q28 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q28] = x_ExplicitVarSizeWithFlags_Values[q26] + | q28 : int(1..4)]) + | q26 : int(1..4)]), + and([q30 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q32] != 5 /\ + x_ExplicitVarSizeWithDummy[q32] = x_ExplicitVarSizeWithMarker_Values[q30] + | q32 : int(1..4)]) + | q30 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q34] != 5 -> + or([q36 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q36] = x_ExplicitVarSizeWithDummy[q34] + | q36 : int(1..4)]) + | q34 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set07/expected/model_4_3_1-solution000001.solution b/tests/exhaustive/basic/set07/expected/model_4_3_1-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set07/expected/model_4_3_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set07/expected/model_4_3_1.eprime b/tests/exhaustive/basic/set07/expected/model_4_3_1.eprime new file mode 100644 index 0000000000..f8b5b0c4f9 --- /dev/null +++ b/tests/exhaustive/basic/set07/expected/model_4_3_1.eprime @@ -0,0 +1,47 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_Occurrence: matrix indexed by [int(1..4)] of bool +branching on + [x_Occurrence, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, + x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values] +such that + and([or([x_ExplicitVarSizeWithFlags_Flags[q29] /\ x_ExplicitVarSizeWithFlags_Values[q29] = q32_1 | q29 : int(1..4)]) + /\ + !or([q31 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q31] = q32_2 + | q31 : int(1..4)]) + | q32_1 : int(1..3), q32_2 : int(4..9)]), + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 1 | q2 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..3)]), + and([q6 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q6] < x_ExplicitVarSizeWithMarker_Values[q6 + 1] + | q6 : int(1..3)]), + and([q7 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q7] = 1 | q7 : int(1..4)]), + and([q10 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q12] /\ + x_ExplicitVarSizeWithFlags_Values[q12] = x_ExplicitVarSizeWithMarker_Values[q10] + | q12 : int(1..4)]) + | q10 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q14] -> + or([q16 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q16] = x_ExplicitVarSizeWithFlags_Values[q14] + | q16 : int(1..4)]) + | q14 : int(1..4)]), + and([x_Occurrence[q18] -> + or([x_ExplicitVarSizeWithFlags_Flags[q20] /\ x_ExplicitVarSizeWithFlags_Values[q20] = q18 | q20 : int(1..4)]) + | q18 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q22] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q22]] + | q22 : int(1..4)]), + and([x_Occurrence[q23] -> + or([q25 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q25] = q23 + | q25 : int(1..4)]) + | q23 : int(1..4)]), + and([q27 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q27]] + | q27 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set07/expected/model_4_3_2-solution000001.solution b/tests/exhaustive/basic/set07/expected/model_4_3_2-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set07/expected/model_4_3_2-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set07/expected/model_4_3_2.eprime b/tests/exhaustive/basic/set07/expected/model_4_3_2.eprime new file mode 100644 index 0000000000..7b940b4c6d --- /dev/null +++ b/tests/exhaustive/basic/set07/expected/model_4_3_2.eprime @@ -0,0 +1,59 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +branching on + [x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, + x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values] +such that + and([or([x_ExplicitVarSizeWithFlags_Flags[q38] /\ x_ExplicitVarSizeWithFlags_Values[q38] = q41_1 | q38 : int(1..4)]) + /\ + !or([q40 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q40] = q41_2 + | q40 : int(1..4)]) + | q41_1 : int(1..3), q41_2 : int(4..9)]), + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 1 | q2 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..3)]), + and([q6 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q6] < x_ExplicitVarSizeWithMarker_Values[q6 + 1] + | q6 : int(1..3)]), + and([q7 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q7] = 1 | q7 : int(1..4)]), + and([q10 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q12] /\ + x_ExplicitVarSizeWithFlags_Values[q12] = x_ExplicitVarSizeWithMarker_Values[q10] + | q12 : int(1..4)]) + | q10 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q14] -> + or([q16 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q16] = x_ExplicitVarSizeWithFlags_Values[q14] + | q16 : int(1..4)]) + | q14 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q17] < x_ExplicitVarSizeWithDummy[q17 + 1] \/ x_ExplicitVarSizeWithDummy[q17] = 5 + | q17 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q18] = 5 -> x_ExplicitVarSizeWithDummy[q18 + 1] = 5 | q18 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q22] != 5 -> + or([x_ExplicitVarSizeWithFlags_Flags[q24] /\ + x_ExplicitVarSizeWithFlags_Values[q24] = x_ExplicitVarSizeWithDummy[q22] + | q24 : int(1..4)]) + | q22 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q26] -> + or([x_ExplicitVarSizeWithDummy[q28] != 5 /\ + x_ExplicitVarSizeWithDummy[q28] = x_ExplicitVarSizeWithFlags_Values[q26] + | q28 : int(1..4)]) + | q26 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q30] != 5 -> + or([q32 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q32] = x_ExplicitVarSizeWithDummy[q30] + | q32 : int(1..4)]) + | q30 : int(1..4)]), + and([q34 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q36] != 5 /\ + x_ExplicitVarSizeWithDummy[q36] = x_ExplicitVarSizeWithMarker_Values[q34] + | q36 : int(1..4)]) + | q34 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set07/expected/model_4_3_3-solution000001.solution b/tests/exhaustive/basic/set07/expected/model_4_3_3-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set07/expected/model_4_3_3-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set07/expected/model_4_3_3.eprime b/tests/exhaustive/basic/set07/expected/model_4_3_3.eprime new file mode 100644 index 0000000000..430b2929c9 --- /dev/null +++ b/tests/exhaustive/basic/set07/expected/model_4_3_3.eprime @@ -0,0 +1,35 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_ExplicitVarSizeWithFlags_Flags, + x_ExplicitVarSizeWithFlags_Values] +such that + and([or([x_ExplicitVarSizeWithFlags_Flags[q18] /\ x_ExplicitVarSizeWithFlags_Values[q18] = q21_1 | q18 : int(1..4)]) + /\ + !or([q20 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q20] = q21_2 + | q20 : int(1..4)]) + | q21_1 : int(1..3), q21_2 : int(4..9)]), + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 1 | q2 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..3)]), + and([q6 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q6] < x_ExplicitVarSizeWithMarker_Values[q6 + 1] + | q6 : int(1..3)]), + and([q7 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q7] = 1 | q7 : int(1..4)]), + and([q10 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q12] /\ + x_ExplicitVarSizeWithFlags_Values[q12] = x_ExplicitVarSizeWithMarker_Values[q10] + | q12 : int(1..4)]) + | q10 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q14] -> + or([q16 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q16] = x_ExplicitVarSizeWithFlags_Values[q14] + | q16 : int(1..4)]) + | q14 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set07/expected/model_4_4_1-solution000001.solution b/tests/exhaustive/basic/set07/expected/model_4_4_1-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set07/expected/model_4_4_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set07/expected/model_4_4_1.eprime b/tests/exhaustive/basic/set07/expected/model_4_4_1.eprime new file mode 100644 index 0000000000..c330baaa50 --- /dev/null +++ b/tests/exhaustive/basic/set07/expected/model_4_4_1.eprime @@ -0,0 +1,23 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_Occurrence: matrix indexed by [int(1..4)] of bool +branching on [x_Occurrence, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values] +such that + and([or([x_ExplicitVarSizeWithFlags_Flags[q13] /\ x_ExplicitVarSizeWithFlags_Values[q13] = q16_1 | q13 : int(1..4)]) + /\ + !or([x_ExplicitVarSizeWithFlags_Flags[q15] /\ x_ExplicitVarSizeWithFlags_Values[q15] = q16_2 + | q15 : int(1..4)]) + | q16_1 : int(1..3), q16_2 : int(4..9)]), + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 1 | q2 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..3)]), + and([x_Occurrence[q7] -> + or([x_ExplicitVarSizeWithFlags_Flags[q9] /\ x_ExplicitVarSizeWithFlags_Values[q9] = q7 | q9 : int(1..4)]) + | q7 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q11] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q11]] + | q11 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set07/expected/model_4_4_2-solution000001.solution b/tests/exhaustive/basic/set07/expected/model_4_4_2-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set07/expected/model_4_4_2-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set07/expected/model_4_4_2.eprime b/tests/exhaustive/basic/set07/expected/model_4_4_2.eprime new file mode 100644 index 0000000000..73b079af26 --- /dev/null +++ b/tests/exhaustive/basic/set07/expected/model_4_4_2.eprime @@ -0,0 +1,31 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(1..5) +branching on [x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values] +such that + and([or([x_ExplicitVarSizeWithFlags_Flags[q19] /\ x_ExplicitVarSizeWithFlags_Values[q19] = q22_1 | q19 : int(1..4)]) + /\ + !or([x_ExplicitVarSizeWithFlags_Flags[q21] /\ x_ExplicitVarSizeWithFlags_Values[q21] = q22_2 + | q21 : int(1..4)]) + | q22_1 : int(1..3), q22_2 : int(4..9)]), + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 1 | q2 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q6] < x_ExplicitVarSizeWithDummy[q6 + 1] \/ x_ExplicitVarSizeWithDummy[q6] = 5 + | q6 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q7] = 5 -> x_ExplicitVarSizeWithDummy[q7 + 1] = 5 | q7 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q11] != 5 -> + or([x_ExplicitVarSizeWithFlags_Flags[q13] /\ + x_ExplicitVarSizeWithFlags_Values[q13] = x_ExplicitVarSizeWithDummy[q11] + | q13 : int(1..4)]) + | q11 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q15] -> + or([x_ExplicitVarSizeWithDummy[q17] != 5 /\ + x_ExplicitVarSizeWithDummy[q17] = x_ExplicitVarSizeWithFlags_Values[q15] + | q17 : int(1..4)]) + | q15 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set07/expected/model_4_4_3-solution000001.solution b/tests/exhaustive/basic/set07/expected/model_4_4_3-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set07/expected/model_4_4_3-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set07/expected/model_4_4_3.eprime b/tests/exhaustive/basic/set07/expected/model_4_4_3.eprime new file mode 100644 index 0000000000..e83bd430d2 --- /dev/null +++ b/tests/exhaustive/basic/set07/expected/model_4_4_3.eprime @@ -0,0 +1,35 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(1..4) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_ExplicitVarSizeWithFlags_Flags, + x_ExplicitVarSizeWithFlags_Values] +such that + and([or([x_ExplicitVarSizeWithFlags_Flags[q18] /\ x_ExplicitVarSizeWithFlags_Values[q18] = q21_1 | q18 : int(1..4)]) + /\ + !or([x_ExplicitVarSizeWithFlags_Flags[q20] /\ x_ExplicitVarSizeWithFlags_Values[q20] = q21_2 + | q20 : int(1..4)]) + | q21_1 : int(1..3), q21_2 : int(4..9)]), + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 1 | q2 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..3)]), + and([q6 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q6] < x_ExplicitVarSizeWithMarker_Values[q6 + 1] + | q6 : int(1..3)]), + and([q7 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q7] = 1 | q7 : int(1..4)]), + and([q10 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q12] /\ + x_ExplicitVarSizeWithFlags_Values[q12] = x_ExplicitVarSizeWithMarker_Values[q10] + | q12 : int(1..4)]) + | q10 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q14] -> + or([q16 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q16] = x_ExplicitVarSizeWithFlags_Values[q14] + | q16 : int(1..4)]) + | q14 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set07/expected/model_4_4_4-solution000001.solution b/tests/exhaustive/basic/set07/expected/model_4_4_4-solution000001.solution new file mode 100644 index 0000000000..f909cc486d --- /dev/null +++ b/tests/exhaustive/basic/set07/expected/model_4_4_4-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {1, 2, 3} diff --git a/tests/exhaustive/basic/set07/expected/model_4_4_4.eprime b/tests/exhaustive/basic/set07/expected/model_4_4_4.eprime new file mode 100644 index 0000000000..c0bc6dbb9a --- /dev/null +++ b/tests/exhaustive/basic/set07/expected/model_4_4_4.eprime @@ -0,0 +1,15 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(1..4) +branching on [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values] +such that + and([or([x_ExplicitVarSizeWithFlags_Flags[q7] /\ x_ExplicitVarSizeWithFlags_Values[q7] = q10_1 | q7 : int(1..4)]) /\ + !or([x_ExplicitVarSizeWithFlags_Flags[q9] /\ x_ExplicitVarSizeWithFlags_Values[q9] = q10_2 | q9 : int(1..4)]) + | q10_1 : int(1..3), q10_2 : int(4..9)]), + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 1 | q2 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..3)]) + diff --git a/tests/exhaustive/basic/set08/expected/model_1_1-solution000001.solution b/tests/exhaustive/basic/set08/expected/model_1_1-solution000001.solution new file mode 100644 index 0000000000..cb83c94151 --- /dev/null +++ b/tests/exhaustive/basic/set08/expected/model_1_1-solution000001.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {(3, 3), (4, 4)} +$ Visualisation for x +$ 3 3 +$ 4 4 + diff --git a/tests/exhaustive/basic/set08/expected/model_1_1.eprime b/tests/exhaustive/basic/set08/expected/model_1_1.eprime new file mode 100644 index 0000000000..95a52bf5c1 --- /dev/null +++ b/tests/exhaustive/basic/set08/expected/model_1_1.eprime @@ -0,0 +1,25 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..16) +find x_ExplicitVarSizeWithMarker_Values_1: matrix indexed by [int(1..16)] of int(1..4) +find x_ExplicitVarSizeWithMarker_Values_2: matrix indexed by [int(1..16)] of int(3..6) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values_1, x_ExplicitVarSizeWithMarker_Values_2] +such that + and([q5 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values_1[q5] = x_ExplicitVarSizeWithMarker_Values_2[q5] + | q5 : int(1..16)]), + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + flatten([[x_ExplicitVarSizeWithMarker_Values_1[q1]; int(1)], + [x_ExplicitVarSizeWithMarker_Values_2[q1]; int(1)]; + int(1..2)]) + x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values_1[q2] = 1 /\ x_ExplicitVarSizeWithMarker_Values_2[q2] = 3 + | q2 : int(1..16)]), + 2 <= x_ExplicitVarSizeWithMarker_Marker + diff --git a/tests/exhaustive/basic/set08/expected/model_1_2-solution000001.solution b/tests/exhaustive/basic/set08/expected/model_1_2-solution000001.solution new file mode 100644 index 0000000000..cb83c94151 --- /dev/null +++ b/tests/exhaustive/basic/set08/expected/model_1_2-solution000001.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {(3, 3), (4, 4)} +$ Visualisation for x +$ 3 3 +$ 4 4 + diff --git a/tests/exhaustive/basic/set08/expected/model_1_2.eprime b/tests/exhaustive/basic/set08/expected/model_1_2.eprime new file mode 100644 index 0000000000..659a99c583 --- /dev/null +++ b/tests/exhaustive/basic/set08/expected/model_1_2.eprime @@ -0,0 +1,54 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..16) +find x_ExplicitVarSizeWithMarker_Values_1: matrix indexed by [int(1..16)] of int(1..4) +find x_ExplicitVarSizeWithMarker_Values_2: matrix indexed by [int(1..16)] of int(3..6) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..16)] of bool +find x_ExplicitVarSizeWithFlags_Values_1: matrix indexed by [int(1..16)] of int(1..4) +find x_ExplicitVarSizeWithFlags_Values_2: matrix indexed by [int(1..16)] of int(3..6) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values_1, x_ExplicitVarSizeWithFlags_Values_2, + x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values_1, x_ExplicitVarSizeWithMarker_Values_2] +such that + and([q18 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values_1[q18] = x_ExplicitVarSizeWithMarker_Values_2[q18] + | q18 : int(1..16)]), + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + flatten([[x_ExplicitVarSizeWithMarker_Values_1[q1]; int(1)], + [x_ExplicitVarSizeWithMarker_Values_2[q1]; int(1)]; + int(1..2)]) + x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values_1[q2] = 1 /\ x_ExplicitVarSizeWithMarker_Values_2[q2] = 3 + | q2 : int(1..16)]), + 2 <= x_ExplicitVarSizeWithMarker_Marker, + and([x_ExplicitVarSizeWithFlags_Flags[q4 + 1] -> + flatten([[x_ExplicitVarSizeWithFlags_Values_1[q4]; int(1)], [x_ExplicitVarSizeWithFlags_Values_2[q4]; int(1)]; + int(1..2)]) + + x_ExplicitVarSizeWithFlags_Values_1[q5] = 1 /\ x_ExplicitVarSizeWithFlags_Values_2[q5] = 3 + | q5 : int(1..16)]), + and([x_ExplicitVarSizeWithFlags_Flags[q6 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q6] | q6 : int(1..15)]), + 2 <= sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q7]) | q7 : int(1..16)]), + and([x_ExplicitVarSizeWithFlags_Flags[q10] -> + or([q12 <= x_ExplicitVarSizeWithMarker_Marker /\ + (x_ExplicitVarSizeWithMarker_Values_1[q12] = x_ExplicitVarSizeWithFlags_Values_1[q10] /\ + x_ExplicitVarSizeWithMarker_Values_2[q12] = x_ExplicitVarSizeWithFlags_Values_2[q10]) + | q12 : int(1..16)]) + | q10 : int(1..16)]), + and([q14 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q16] /\ + (x_ExplicitVarSizeWithFlags_Values_1[q16] = x_ExplicitVarSizeWithMarker_Values_1[q14] /\ + x_ExplicitVarSizeWithFlags_Values_2[q16] = x_ExplicitVarSizeWithMarker_Values_2[q14]) + | q16 : int(1..16)]) + | q14 : int(1..16)]) + diff --git a/tests/exhaustive/basic/set08/expected/model_2_1-solution000001.solution b/tests/exhaustive/basic/set08/expected/model_2_1-solution000001.solution new file mode 100644 index 0000000000..cb83c94151 --- /dev/null +++ b/tests/exhaustive/basic/set08/expected/model_2_1-solution000001.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {(3, 3), (4, 4)} +$ Visualisation for x +$ 3 3 +$ 4 4 + diff --git a/tests/exhaustive/basic/set08/expected/model_2_1.eprime b/tests/exhaustive/basic/set08/expected/model_2_1.eprime new file mode 100644 index 0000000000..cb39a7bb11 --- /dev/null +++ b/tests/exhaustive/basic/set08/expected/model_2_1.eprime @@ -0,0 +1,54 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..16)] of bool +find x_ExplicitVarSizeWithFlags_Values_1: matrix indexed by [int(1..16)] of int(1..4) +find x_ExplicitVarSizeWithFlags_Values_2: matrix indexed by [int(1..16)] of int(3..6) +find x_ExplicitVarSizeWithMarker_Marker: int(0..16) +find x_ExplicitVarSizeWithMarker_Values_1: matrix indexed by [int(1..16)] of int(1..4) +find x_ExplicitVarSizeWithMarker_Values_2: matrix indexed by [int(1..16)] of int(3..6) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values_1, x_ExplicitVarSizeWithMarker_Values_2, + x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values_1, x_ExplicitVarSizeWithFlags_Values_2] +such that + and([x_ExplicitVarSizeWithFlags_Flags[q18] -> + x_ExplicitVarSizeWithFlags_Values_1[q18] = x_ExplicitVarSizeWithFlags_Values_2[q18] + | q18 : int(1..16)]), + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + flatten([[x_ExplicitVarSizeWithFlags_Values_1[q1]; int(1)], [x_ExplicitVarSizeWithFlags_Values_2[q1]; int(1)]; + int(1..2)]) + + x_ExplicitVarSizeWithFlags_Values_1[q2] = 1 /\ x_ExplicitVarSizeWithFlags_Values_2[q2] = 3 + | q2 : int(1..16)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..15)]), + 2 <= sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q4]) | q4 : int(1..16)]), + and([q6 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + flatten([[x_ExplicitVarSizeWithMarker_Values_1[q6]; int(1)], + [x_ExplicitVarSizeWithMarker_Values_2[q6]; int(1)]; + int(1..2)]) + x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values_1[q7] = 1 /\ x_ExplicitVarSizeWithMarker_Values_2[q7] = 3 + | q7 : int(1..16)]), + 2 <= x_ExplicitVarSizeWithMarker_Marker, + and([q10 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q12] /\ + (x_ExplicitVarSizeWithFlags_Values_1[q12] = x_ExplicitVarSizeWithMarker_Values_1[q10] /\ + x_ExplicitVarSizeWithFlags_Values_2[q12] = x_ExplicitVarSizeWithMarker_Values_2[q10]) + | q12 : int(1..16)]) + | q10 : int(1..16)]), + and([x_ExplicitVarSizeWithFlags_Flags[q14] -> + or([q16 <= x_ExplicitVarSizeWithMarker_Marker /\ + (x_ExplicitVarSizeWithMarker_Values_1[q16] = x_ExplicitVarSizeWithFlags_Values_1[q14] /\ + x_ExplicitVarSizeWithMarker_Values_2[q16] = x_ExplicitVarSizeWithFlags_Values_2[q14]) + | q16 : int(1..16)]) + | q14 : int(1..16)]) + diff --git a/tests/exhaustive/basic/set08/expected/model_2_2-solution000001.solution b/tests/exhaustive/basic/set08/expected/model_2_2-solution000001.solution new file mode 100644 index 0000000000..cb83c94151 --- /dev/null +++ b/tests/exhaustive/basic/set08/expected/model_2_2-solution000001.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {(3, 3), (4, 4)} +$ Visualisation for x +$ 3 3 +$ 4 4 + diff --git a/tests/exhaustive/basic/set08/expected/model_2_2.eprime b/tests/exhaustive/basic/set08/expected/model_2_2.eprime new file mode 100644 index 0000000000..7cd4078178 --- /dev/null +++ b/tests/exhaustive/basic/set08/expected/model_2_2.eprime @@ -0,0 +1,25 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..16)] of bool +find x_ExplicitVarSizeWithFlags_Values_1: matrix indexed by [int(1..16)] of int(1..4) +find x_ExplicitVarSizeWithFlags_Values_2: matrix indexed by [int(1..16)] of int(3..6) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values_1, x_ExplicitVarSizeWithFlags_Values_2] +such that + and([x_ExplicitVarSizeWithFlags_Flags[q7] -> + x_ExplicitVarSizeWithFlags_Values_1[q7] = x_ExplicitVarSizeWithFlags_Values_2[q7] + | q7 : int(1..16)]), + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + flatten([[x_ExplicitVarSizeWithFlags_Values_1[q1]; int(1)], [x_ExplicitVarSizeWithFlags_Values_2[q1]; int(1)]; + int(1..2)]) + + x_ExplicitVarSizeWithFlags_Values_1[q2] = 1 /\ x_ExplicitVarSizeWithFlags_Values_2[q2] = 3 + | q2 : int(1..16)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..15)]), + 2 <= sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q4]) | q4 : int(1..16)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_1_1_1_1-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_1_1_1_1-solution000001.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_1_1_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_1_1_1_1-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_1_1_1_1-solution000002.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_1_1_1-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_1_1_1_1.eprime b/tests/exhaustive/basic/set09/expected/model_1_1_1_1.eprime new file mode 100644 index 0000000000..0a40809bac --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_1_1_1.eprime @@ -0,0 +1,10 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(2..5)] of bool +find y_Occurrence: matrix indexed by [int(2..5)] of bool +branching on [x_Occurrence, y_Occurrence] +such that + and([x_Occurrence[i] /\ y_Occurrence[j] -> i + 2 = j | i : int(2..5), j : int(2..5)]), + 1 <= sum([toInt(x_Occurrence[q1]) | q1 : int(2..5)]), + 1 <= sum([toInt(y_Occurrence[q2]) | q2 : int(2..5)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_1_1_1_2-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_1_1_1_2-solution000001.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_1_1_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_1_1_1_2-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_1_1_1_2-solution000002.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_1_1_2-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_1_1_1_2.eprime b/tests/exhaustive/basic/set09/expected/model_1_1_1_2.eprime new file mode 100644 index 0000000000..3ef4eacc1f --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_1_1_2.eprime @@ -0,0 +1,19 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(2..5)] of bool +find y_Occurrence: matrix indexed by [int(2..5)] of bool +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +branching on [x_Occurrence, y_ExplicitVarSizeWithDummy, y_Occurrence] +such that + and([x_Occurrence[i] /\ y_Occurrence[j] -> i + 2 = j | i : int(2..5), j : int(2..5)]), + 1 <= sum([toInt(x_Occurrence[q1]) | q1 : int(2..5)]), + 1 <= sum([toInt(y_Occurrence[q2]) | q2 : int(2..5)]), + and([y_ExplicitVarSizeWithDummy[q3] < y_ExplicitVarSizeWithDummy[q3 + 1] \/ y_ExplicitVarSizeWithDummy[q3] = 6 + | q3 : int(1..3)]), + and([y_ExplicitVarSizeWithDummy[q4] = 6 -> y_ExplicitVarSizeWithDummy[q4 + 1] = 6 | q4 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithDummy[q5] != 6) | q5 : int(1..4)]), + and([y_ExplicitVarSizeWithDummy[q8] != 6 -> y_Occurrence[y_ExplicitVarSizeWithDummy[q8]] | q8 : int(1..4)]), + and([y_Occurrence[q9] -> + or([y_ExplicitVarSizeWithDummy[q11] != 6 /\ y_ExplicitVarSizeWithDummy[q11] = q9 | q11 : int(1..4)]) + | q9 : int(2..5)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_1_1_1_3-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_1_1_1_3-solution000001.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_1_1_3-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_1_1_1_3-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_1_1_1_3-solution000002.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_1_1_3-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_1_1_1_3.eprime b/tests/exhaustive/basic/set09/expected/model_1_1_1_3.eprime new file mode 100644 index 0000000000..0079456c1a --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_1_1_3.eprime @@ -0,0 +1,23 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(2..5)] of bool +find y_Occurrence: matrix indexed by [int(2..5)] of bool +find y_ExplicitVarSizeWithMarker_Marker: int(0..4) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +branching on [x_Occurrence, y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values, y_Occurrence] +such that + and([x_Occurrence[i] /\ y_Occurrence[j] -> i + 2 = j | i : int(2..5), j : int(2..5)]), + 1 <= sum([toInt(x_Occurrence[q1]) | q1 : int(2..5)]), + 1 <= sum([toInt(y_Occurrence[q2]) | q2 : int(2..5)]), + and([q3 + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithMarker_Values[q3] < y_ExplicitVarSizeWithMarker_Values[q3 + 1] + | q3 : int(1..3)]), + and([q4 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[q4] = 2 | q4 : int(1..4)]), + 1 <= y_ExplicitVarSizeWithMarker_Marker, + and([q7 <= y_ExplicitVarSizeWithMarker_Marker -> y_Occurrence[y_ExplicitVarSizeWithMarker_Values[q7]] + | q7 : int(1..4)]), + and([y_Occurrence[q8] -> + or([q10 <= y_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithMarker_Values[q10] = q8 + | q10 : int(1..4)]) + | q8 : int(2..5)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_1_1_1_4-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_1_1_1_4-solution000001.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_1_1_4-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_1_1_1_4-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_1_1_1_4-solution000002.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_1_1_4-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_1_1_1_4.eprime b/tests/exhaustive/basic/set09/expected/model_1_1_1_4.eprime new file mode 100644 index 0000000000..ec2d788f13 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_1_1_4.eprime @@ -0,0 +1,22 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(2..5)] of bool +find y_Occurrence: matrix indexed by [int(2..5)] of bool +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +branching on [x_Occurrence, y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values, y_Occurrence] +such that + and([x_Occurrence[i] /\ y_Occurrence[j] -> i + 2 = j | i : int(2..5), j : int(2..5)]), + 1 <= sum([toInt(x_Occurrence[q1]) | q1 : int(2..5)]), + 1 <= sum([toInt(y_Occurrence[q2]) | q2 : int(2..5)]), + and([y_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> + y_ExplicitVarSizeWithFlags_Values[q3] < y_ExplicitVarSizeWithFlags_Values[q3 + 1] + | q3 : int(1..3)]), + and([y_ExplicitVarSizeWithFlags_Flags[q4] = false -> y_ExplicitVarSizeWithFlags_Values[q4] = 2 | q4 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q5 + 1] -> y_ExplicitVarSizeWithFlags_Flags[q5] | q5 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithFlags_Flags[q6]) | q6 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q9] -> y_Occurrence[y_ExplicitVarSizeWithFlags_Values[q9]] | q9 : int(1..4)]), + and([y_Occurrence[q10] -> + or([y_ExplicitVarSizeWithFlags_Flags[q12] /\ y_ExplicitVarSizeWithFlags_Values[q12] = q10 | q12 : int(1..4)]) + | q10 : int(2..5)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_1_1_2_1-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_1_1_2_1-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_1_2_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_1_1_2_1-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_1_1_2_1-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_1_2_1-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_1_1_2_1.eprime b/tests/exhaustive/basic/set09/expected/model_1_1_2_1.eprime new file mode 100644 index 0000000000..9f2dbd49dd --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_1_2_1.eprime @@ -0,0 +1,19 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(2..5)] of bool +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find y_Occurrence: matrix indexed by [int(2..5)] of bool +branching on [x_ExplicitVarSizeWithDummy, x_Occurrence, y_Occurrence] +such that + and([x_Occurrence[i] /\ y_Occurrence[j] -> i + 2 = j | i : int(2..5), j : int(2..5)]), + 1 <= sum([toInt(x_Occurrence[q1]) | q1 : int(2..5)]), + 1 <= sum([toInt(y_Occurrence[q2]) | q2 : int(2..5)]), + and([x_ExplicitVarSizeWithDummy[q3] < x_ExplicitVarSizeWithDummy[q3 + 1] \/ x_ExplicitVarSizeWithDummy[q3] = 6 + | q3 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q4] = 6 -> x_ExplicitVarSizeWithDummy[q4 + 1] = 6 | q4 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithDummy[q5] != 6) | q5 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q8] != 6 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q8]] | q8 : int(1..4)]), + and([x_Occurrence[q9] -> + or([x_ExplicitVarSizeWithDummy[q11] != 6 /\ x_ExplicitVarSizeWithDummy[q11] = q9 | q11 : int(1..4)]) + | q9 : int(2..5)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_1_1_2_2-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_1_1_2_2-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_1_2_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_1_1_2_2-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_1_1_2_2-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_1_2_2-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_1_1_2_2.eprime b/tests/exhaustive/basic/set09/expected/model_1_1_2_2.eprime new file mode 100644 index 0000000000..40de4c9235 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_1_2_2.eprime @@ -0,0 +1,28 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(2..5)] of bool +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find y_Occurrence: matrix indexed by [int(2..5)] of bool +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +branching on [x_ExplicitVarSizeWithDummy, x_Occurrence, y_ExplicitVarSizeWithDummy, y_Occurrence] +such that + and([x_Occurrence[i] /\ y_Occurrence[j] -> i + 2 = j | i : int(2..5), j : int(2..5)]), + 1 <= sum([toInt(x_Occurrence[q1]) | q1 : int(2..5)]), + 1 <= sum([toInt(y_Occurrence[q2]) | q2 : int(2..5)]), + and([x_ExplicitVarSizeWithDummy[q3] < x_ExplicitVarSizeWithDummy[q3 + 1] \/ x_ExplicitVarSizeWithDummy[q3] = 6 + | q3 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q4] = 6 -> x_ExplicitVarSizeWithDummy[q4 + 1] = 6 | q4 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithDummy[q5] != 6) | q5 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q8] != 6 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q8]] | q8 : int(1..4)]), + and([x_Occurrence[q9] -> + or([x_ExplicitVarSizeWithDummy[q11] != 6 /\ x_ExplicitVarSizeWithDummy[q11] = q9 | q11 : int(1..4)]) + | q9 : int(2..5)]), + and([y_ExplicitVarSizeWithDummy[q12] < y_ExplicitVarSizeWithDummy[q12 + 1] \/ y_ExplicitVarSizeWithDummy[q12] = 6 + | q12 : int(1..3)]), + and([y_ExplicitVarSizeWithDummy[q13] = 6 -> y_ExplicitVarSizeWithDummy[q13 + 1] = 6 | q13 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithDummy[q14] != 6) | q14 : int(1..4)]), + and([y_ExplicitVarSizeWithDummy[q17] != 6 -> y_Occurrence[y_ExplicitVarSizeWithDummy[q17]] | q17 : int(1..4)]), + and([y_Occurrence[q18] -> + or([y_ExplicitVarSizeWithDummy[q20] != 6 /\ y_ExplicitVarSizeWithDummy[q20] = q18 | q20 : int(1..4)]) + | q18 : int(2..5)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_1_1_2_3-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_1_1_2_3-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_1_2_3-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_1_1_2_3-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_1_1_2_3-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_1_2_3-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_1_1_2_3.eprime b/tests/exhaustive/basic/set09/expected/model_1_1_2_3.eprime new file mode 100644 index 0000000000..c2ab749e23 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_1_2_3.eprime @@ -0,0 +1,34 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(2..5)] of bool +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find y_Occurrence: matrix indexed by [int(2..5)] of bool +find y_ExplicitVarSizeWithMarker_Marker: int(0..4) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +branching on + [x_ExplicitVarSizeWithDummy, x_Occurrence, y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values, + y_Occurrence] +such that + and([x_Occurrence[i] /\ y_Occurrence[j] -> i + 2 = j | i : int(2..5), j : int(2..5)]), + 1 <= sum([toInt(x_Occurrence[q1]) | q1 : int(2..5)]), + 1 <= sum([toInt(y_Occurrence[q2]) | q2 : int(2..5)]), + and([x_ExplicitVarSizeWithDummy[q3] < x_ExplicitVarSizeWithDummy[q3 + 1] \/ x_ExplicitVarSizeWithDummy[q3] = 6 + | q3 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q4] = 6 -> x_ExplicitVarSizeWithDummy[q4 + 1] = 6 | q4 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithDummy[q5] != 6) | q5 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q8] != 6 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q8]] | q8 : int(1..4)]), + and([x_Occurrence[q9] -> + or([x_ExplicitVarSizeWithDummy[q11] != 6 /\ x_ExplicitVarSizeWithDummy[q11] = q9 | q11 : int(1..4)]) + | q9 : int(2..5)]), + and([q12 + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithMarker_Values[q12] < y_ExplicitVarSizeWithMarker_Values[q12 + 1] + | q12 : int(1..3)]), + and([q13 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[q13] = 2 | q13 : int(1..4)]), + 1 <= y_ExplicitVarSizeWithMarker_Marker, + and([q16 <= y_ExplicitVarSizeWithMarker_Marker -> y_Occurrence[y_ExplicitVarSizeWithMarker_Values[q16]] + | q16 : int(1..4)]), + and([y_Occurrence[q17] -> + or([q19 <= y_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithMarker_Values[q19] = q17 + | q19 : int(1..4)]) + | q17 : int(2..5)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_1_1_2_4-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_1_1_2_4-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_1_2_4-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_1_1_2_4-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_1_1_2_4-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_1_2_4-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_1_1_2_4.eprime b/tests/exhaustive/basic/set09/expected/model_1_1_2_4.eprime new file mode 100644 index 0000000000..3439f1ddf8 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_1_2_4.eprime @@ -0,0 +1,35 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(2..5)] of bool +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find y_Occurrence: matrix indexed by [int(2..5)] of bool +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +branching on + [x_ExplicitVarSizeWithDummy, x_Occurrence, y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values, + y_Occurrence] +such that + and([x_Occurrence[i] /\ y_Occurrence[j] -> i + 2 = j | i : int(2..5), j : int(2..5)]), + 1 <= sum([toInt(x_Occurrence[q1]) | q1 : int(2..5)]), + 1 <= sum([toInt(y_Occurrence[q2]) | q2 : int(2..5)]), + and([x_ExplicitVarSizeWithDummy[q3] < x_ExplicitVarSizeWithDummy[q3 + 1] \/ x_ExplicitVarSizeWithDummy[q3] = 6 + | q3 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q4] = 6 -> x_ExplicitVarSizeWithDummy[q4 + 1] = 6 | q4 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithDummy[q5] != 6) | q5 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q8] != 6 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q8]] | q8 : int(1..4)]), + and([x_Occurrence[q9] -> + or([x_ExplicitVarSizeWithDummy[q11] != 6 /\ x_ExplicitVarSizeWithDummy[q11] = q9 | q11 : int(1..4)]) + | q9 : int(2..5)]), + and([y_ExplicitVarSizeWithFlags_Flags[q12 + 1] -> + y_ExplicitVarSizeWithFlags_Values[q12] < y_ExplicitVarSizeWithFlags_Values[q12 + 1] + | q12 : int(1..3)]), + and([y_ExplicitVarSizeWithFlags_Flags[q13] = false -> y_ExplicitVarSizeWithFlags_Values[q13] = 2 + | q13 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q14 + 1] -> y_ExplicitVarSizeWithFlags_Flags[q14] | q14 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithFlags_Flags[q15]) | q15 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q18] -> y_Occurrence[y_ExplicitVarSizeWithFlags_Values[q18]] + | q18 : int(1..4)]), + and([y_Occurrence[q19] -> + or([y_ExplicitVarSizeWithFlags_Flags[q21] /\ y_ExplicitVarSizeWithFlags_Values[q21] = q19 | q21 : int(1..4)]) + | q19 : int(2..5)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_1_1_3_1-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_1_1_3_1-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_1_3_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_1_1_3_1-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_1_1_3_1-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_1_3_1-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_1_1_3_1.eprime b/tests/exhaustive/basic/set09/expected/model_1_1_3_1.eprime new file mode 100644 index 0000000000..745ddbf47d --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_1_3_1.eprime @@ -0,0 +1,23 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(2..5)] of bool +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_Occurrence: matrix indexed by [int(2..5)] of bool +branching on [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_Occurrence, y_Occurrence] +such that + and([x_Occurrence[i] /\ y_Occurrence[j] -> i + 2 = j | i : int(2..5), j : int(2..5)]), + 1 <= sum([toInt(x_Occurrence[q1]) | q1 : int(2..5)]), + 1 <= sum([toInt(y_Occurrence[q2]) | q2 : int(2..5)]), + and([q3 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q3] < x_ExplicitVarSizeWithMarker_Values[q3 + 1] + | q3 : int(1..3)]), + and([q4 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q4] = 2 | q4 : int(1..4)]), + 1 <= x_ExplicitVarSizeWithMarker_Marker, + and([q7 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q7]] + | q7 : int(1..4)]), + and([x_Occurrence[q8] -> + or([q10 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q10] = q8 + | q10 : int(1..4)]) + | q8 : int(2..5)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_1_1_3_2-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_1_1_3_2-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_1_3_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_1_1_3_2-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_1_1_3_2-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_1_3_2-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_1_1_3_2.eprime b/tests/exhaustive/basic/set09/expected/model_1_1_3_2.eprime new file mode 100644 index 0000000000..6ac452cb87 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_1_3_2.eprime @@ -0,0 +1,34 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(2..5)] of bool +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_Occurrence: matrix indexed by [int(2..5)] of bool +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_Occurrence, y_ExplicitVarSizeWithDummy, + y_Occurrence] +such that + and([x_Occurrence[i] /\ y_Occurrence[j] -> i + 2 = j | i : int(2..5), j : int(2..5)]), + 1 <= sum([toInt(x_Occurrence[q1]) | q1 : int(2..5)]), + 1 <= sum([toInt(y_Occurrence[q2]) | q2 : int(2..5)]), + and([q3 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q3] < x_ExplicitVarSizeWithMarker_Values[q3 + 1] + | q3 : int(1..3)]), + and([q4 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q4] = 2 | q4 : int(1..4)]), + 1 <= x_ExplicitVarSizeWithMarker_Marker, + and([q7 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q7]] + | q7 : int(1..4)]), + and([x_Occurrence[q8] -> + or([q10 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q10] = q8 + | q10 : int(1..4)]) + | q8 : int(2..5)]), + and([y_ExplicitVarSizeWithDummy[q11] < y_ExplicitVarSizeWithDummy[q11 + 1] \/ y_ExplicitVarSizeWithDummy[q11] = 6 + | q11 : int(1..3)]), + and([y_ExplicitVarSizeWithDummy[q12] = 6 -> y_ExplicitVarSizeWithDummy[q12 + 1] = 6 | q12 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithDummy[q13] != 6) | q13 : int(1..4)]), + and([y_ExplicitVarSizeWithDummy[q16] != 6 -> y_Occurrence[y_ExplicitVarSizeWithDummy[q16]] | q16 : int(1..4)]), + and([y_Occurrence[q17] -> + or([y_ExplicitVarSizeWithDummy[q19] != 6 /\ y_ExplicitVarSizeWithDummy[q19] = q17 | q19 : int(1..4)]) + | q17 : int(2..5)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_1_1_3_3-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_1_1_3_3-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_1_3_3-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_1_1_3_3-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_1_1_3_3-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_1_3_3-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_1_1_3_3.eprime b/tests/exhaustive/basic/set09/expected/model_1_1_3_3.eprime new file mode 100644 index 0000000000..9477b707c7 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_1_3_3.eprime @@ -0,0 +1,38 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(2..5)] of bool +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_Occurrence: matrix indexed by [int(2..5)] of bool +find y_ExplicitVarSizeWithMarker_Marker: int(0..4) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_Occurrence, + y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values, y_Occurrence] +such that + and([x_Occurrence[i] /\ y_Occurrence[j] -> i + 2 = j | i : int(2..5), j : int(2..5)]), + 1 <= sum([toInt(x_Occurrence[q1]) | q1 : int(2..5)]), + 1 <= sum([toInt(y_Occurrence[q2]) | q2 : int(2..5)]), + and([q3 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q3] < x_ExplicitVarSizeWithMarker_Values[q3 + 1] + | q3 : int(1..3)]), + and([q4 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q4] = 2 | q4 : int(1..4)]), + 1 <= x_ExplicitVarSizeWithMarker_Marker, + and([q7 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q7]] + | q7 : int(1..4)]), + and([x_Occurrence[q8] -> + or([q10 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q10] = q8 + | q10 : int(1..4)]) + | q8 : int(2..5)]), + and([q11 + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithMarker_Values[q11] < y_ExplicitVarSizeWithMarker_Values[q11 + 1] + | q11 : int(1..3)]), + and([q12 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[q12] = 2 | q12 : int(1..4)]), + 1 <= y_ExplicitVarSizeWithMarker_Marker, + and([q15 <= y_ExplicitVarSizeWithMarker_Marker -> y_Occurrence[y_ExplicitVarSizeWithMarker_Values[q15]] + | q15 : int(1..4)]), + and([y_Occurrence[q16] -> + or([q18 <= y_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithMarker_Values[q18] = q16 + | q18 : int(1..4)]) + | q16 : int(2..5)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_1_1_3_4-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_1_1_3_4-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_1_3_4-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_1_1_3_4-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_1_1_3_4-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_1_3_4-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_1_1_3_4.eprime b/tests/exhaustive/basic/set09/expected/model_1_1_3_4.eprime new file mode 100644 index 0000000000..a002cc2f24 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_1_3_4.eprime @@ -0,0 +1,39 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(2..5)] of bool +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_Occurrence: matrix indexed by [int(2..5)] of bool +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_Occurrence, + y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values, y_Occurrence] +such that + and([x_Occurrence[i] /\ y_Occurrence[j] -> i + 2 = j | i : int(2..5), j : int(2..5)]), + 1 <= sum([toInt(x_Occurrence[q1]) | q1 : int(2..5)]), + 1 <= sum([toInt(y_Occurrence[q2]) | q2 : int(2..5)]), + and([q3 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q3] < x_ExplicitVarSizeWithMarker_Values[q3 + 1] + | q3 : int(1..3)]), + and([q4 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q4] = 2 | q4 : int(1..4)]), + 1 <= x_ExplicitVarSizeWithMarker_Marker, + and([q7 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q7]] + | q7 : int(1..4)]), + and([x_Occurrence[q8] -> + or([q10 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q10] = q8 + | q10 : int(1..4)]) + | q8 : int(2..5)]), + and([y_ExplicitVarSizeWithFlags_Flags[q11 + 1] -> + y_ExplicitVarSizeWithFlags_Values[q11] < y_ExplicitVarSizeWithFlags_Values[q11 + 1] + | q11 : int(1..3)]), + and([y_ExplicitVarSizeWithFlags_Flags[q12] = false -> y_ExplicitVarSizeWithFlags_Values[q12] = 2 + | q12 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q13 + 1] -> y_ExplicitVarSizeWithFlags_Flags[q13] | q13 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithFlags_Flags[q14]) | q14 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q17] -> y_Occurrence[y_ExplicitVarSizeWithFlags_Values[q17]] + | q17 : int(1..4)]), + and([y_Occurrence[q18] -> + or([y_ExplicitVarSizeWithFlags_Flags[q20] /\ y_ExplicitVarSizeWithFlags_Values[q20] = q18 | q20 : int(1..4)]) + | q18 : int(2..5)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_1_1_4_1-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_1_1_4_1-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_1_4_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_1_1_4_1-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_1_1_4_1-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_1_4_1-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_1_1_4_1.eprime b/tests/exhaustive/basic/set09/expected/model_1_1_4_1.eprime new file mode 100644 index 0000000000..ef5ab46d55 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_1_4_1.eprime @@ -0,0 +1,22 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(2..5)] of bool +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_Occurrence: matrix indexed by [int(2..5)] of bool +branching on [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_Occurrence, y_Occurrence] +such that + and([x_Occurrence[i] /\ y_Occurrence[j] -> i + 2 = j | i : int(2..5), j : int(2..5)]), + 1 <= sum([toInt(x_Occurrence[q1]) | q1 : int(2..5)]), + 1 <= sum([toInt(y_Occurrence[q2]) | q2 : int(2..5)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q3] < x_ExplicitVarSizeWithFlags_Values[q3 + 1] + | q3 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q4] = false -> x_ExplicitVarSizeWithFlags_Values[q4] = 2 | q4 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q5 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q5] | q5 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q6]) | q6 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q9] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q9]] | q9 : int(1..4)]), + and([x_Occurrence[q10] -> + or([x_ExplicitVarSizeWithFlags_Flags[q12] /\ x_ExplicitVarSizeWithFlags_Values[q12] = q10 | q12 : int(1..4)]) + | q10 : int(2..5)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_1_1_4_2-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_1_1_4_2-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_1_4_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_1_1_4_2-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_1_1_4_2-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_1_4_2-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_1_1_4_2.eprime b/tests/exhaustive/basic/set09/expected/model_1_1_4_2.eprime new file mode 100644 index 0000000000..5f1fccfa5a --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_1_4_2.eprime @@ -0,0 +1,33 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(2..5)] of bool +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_Occurrence: matrix indexed by [int(2..5)] of bool +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_Occurrence, y_ExplicitVarSizeWithDummy, + y_Occurrence] +such that + and([x_Occurrence[i] /\ y_Occurrence[j] -> i + 2 = j | i : int(2..5), j : int(2..5)]), + 1 <= sum([toInt(x_Occurrence[q1]) | q1 : int(2..5)]), + 1 <= sum([toInt(y_Occurrence[q2]) | q2 : int(2..5)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q3] < x_ExplicitVarSizeWithFlags_Values[q3 + 1] + | q3 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q4] = false -> x_ExplicitVarSizeWithFlags_Values[q4] = 2 | q4 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q5 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q5] | q5 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q6]) | q6 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q9] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q9]] | q9 : int(1..4)]), + and([x_Occurrence[q10] -> + or([x_ExplicitVarSizeWithFlags_Flags[q12] /\ x_ExplicitVarSizeWithFlags_Values[q12] = q10 | q12 : int(1..4)]) + | q10 : int(2..5)]), + and([y_ExplicitVarSizeWithDummy[q13] < y_ExplicitVarSizeWithDummy[q13 + 1] \/ y_ExplicitVarSizeWithDummy[q13] = 6 + | q13 : int(1..3)]), + and([y_ExplicitVarSizeWithDummy[q14] = 6 -> y_ExplicitVarSizeWithDummy[q14 + 1] = 6 | q14 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithDummy[q15] != 6) | q15 : int(1..4)]), + and([y_ExplicitVarSizeWithDummy[q18] != 6 -> y_Occurrence[y_ExplicitVarSizeWithDummy[q18]] | q18 : int(1..4)]), + and([y_Occurrence[q19] -> + or([y_ExplicitVarSizeWithDummy[q21] != 6 /\ y_ExplicitVarSizeWithDummy[q21] = q19 | q21 : int(1..4)]) + | q19 : int(2..5)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_1_1_4_3-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_1_1_4_3-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_1_4_3-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_1_1_4_3-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_1_1_4_3-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_1_4_3-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_1_1_4_3.eprime b/tests/exhaustive/basic/set09/expected/model_1_1_4_3.eprime new file mode 100644 index 0000000000..e9925fe769 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_1_4_3.eprime @@ -0,0 +1,37 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(2..5)] of bool +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_Occurrence: matrix indexed by [int(2..5)] of bool +find y_ExplicitVarSizeWithMarker_Marker: int(0..4) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_Occurrence, + y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values, y_Occurrence] +such that + and([x_Occurrence[i] /\ y_Occurrence[j] -> i + 2 = j | i : int(2..5), j : int(2..5)]), + 1 <= sum([toInt(x_Occurrence[q1]) | q1 : int(2..5)]), + 1 <= sum([toInt(y_Occurrence[q2]) | q2 : int(2..5)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q3] < x_ExplicitVarSizeWithFlags_Values[q3 + 1] + | q3 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q4] = false -> x_ExplicitVarSizeWithFlags_Values[q4] = 2 | q4 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q5 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q5] | q5 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q6]) | q6 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q9] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q9]] | q9 : int(1..4)]), + and([x_Occurrence[q10] -> + or([x_ExplicitVarSizeWithFlags_Flags[q12] /\ x_ExplicitVarSizeWithFlags_Values[q12] = q10 | q12 : int(1..4)]) + | q10 : int(2..5)]), + and([q13 + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithMarker_Values[q13] < y_ExplicitVarSizeWithMarker_Values[q13 + 1] + | q13 : int(1..3)]), + and([q14 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[q14] = 2 | q14 : int(1..4)]), + 1 <= y_ExplicitVarSizeWithMarker_Marker, + and([q17 <= y_ExplicitVarSizeWithMarker_Marker -> y_Occurrence[y_ExplicitVarSizeWithMarker_Values[q17]] + | q17 : int(1..4)]), + and([y_Occurrence[q18] -> + or([q20 <= y_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithMarker_Values[q20] = q18 + | q20 : int(1..4)]) + | q18 : int(2..5)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_1_1_4_4-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_1_1_4_4-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_1_4_4-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_1_1_4_4-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_1_1_4_4-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_1_4_4-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_1_1_4_4.eprime b/tests/exhaustive/basic/set09/expected/model_1_1_4_4.eprime new file mode 100644 index 0000000000..83b55b09e8 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_1_4_4.eprime @@ -0,0 +1,38 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(2..5)] of bool +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_Occurrence: matrix indexed by [int(2..5)] of bool +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_Occurrence, + y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values, y_Occurrence] +such that + and([x_Occurrence[i] /\ y_Occurrence[j] -> i + 2 = j | i : int(2..5), j : int(2..5)]), + 1 <= sum([toInt(x_Occurrence[q1]) | q1 : int(2..5)]), + 1 <= sum([toInt(y_Occurrence[q2]) | q2 : int(2..5)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q3] < x_ExplicitVarSizeWithFlags_Values[q3 + 1] + | q3 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q4] = false -> x_ExplicitVarSizeWithFlags_Values[q4] = 2 | q4 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q5 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q5] | q5 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q6]) | q6 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q9] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q9]] | q9 : int(1..4)]), + and([x_Occurrence[q10] -> + or([x_ExplicitVarSizeWithFlags_Flags[q12] /\ x_ExplicitVarSizeWithFlags_Values[q12] = q10 | q12 : int(1..4)]) + | q10 : int(2..5)]), + and([y_ExplicitVarSizeWithFlags_Flags[q13 + 1] -> + y_ExplicitVarSizeWithFlags_Values[q13] < y_ExplicitVarSizeWithFlags_Values[q13 + 1] + | q13 : int(1..3)]), + and([y_ExplicitVarSizeWithFlags_Flags[q14] = false -> y_ExplicitVarSizeWithFlags_Values[q14] = 2 + | q14 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q15 + 1] -> y_ExplicitVarSizeWithFlags_Flags[q15] | q15 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithFlags_Flags[q16]) | q16 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q19] -> y_Occurrence[y_ExplicitVarSizeWithFlags_Values[q19]] + | q19 : int(1..4)]), + and([y_Occurrence[q20] -> + or([y_ExplicitVarSizeWithFlags_Flags[q22] /\ y_ExplicitVarSizeWithFlags_Values[q22] = q20 | q22 : int(1..4)]) + | q20 : int(2..5)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_1_2_1_1-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_1_2_1_1-solution000001.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_2_1_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_1_2_1_1-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_1_2_1_1-solution000002.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_2_1_1-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_1_2_1_1.eprime b/tests/exhaustive/basic/set09/expected/model_1_2_1_1.eprime new file mode 100644 index 0000000000..a263bf4a81 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_2_1_1.eprime @@ -0,0 +1,20 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(2..5)] of bool +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find y_Occurrence: matrix indexed by [int(2..5)] of bool +branching on [x_Occurrence, y_Occurrence, y_ExplicitVarSizeWithDummy] +such that + and([x_Occurrence[i] /\ y_ExplicitVarSizeWithDummy[q12] != 6 -> i + 2 = y_ExplicitVarSizeWithDummy[q12] + | i : int(2..5), q12 : int(1..4)]), + 1 <= sum([toInt(x_Occurrence[q1]) | q1 : int(2..5)]), + and([y_ExplicitVarSizeWithDummy[q2] < y_ExplicitVarSizeWithDummy[q2 + 1] \/ y_ExplicitVarSizeWithDummy[q2] = 6 + | q2 : int(1..3)]), + and([y_ExplicitVarSizeWithDummy[q3] = 6 -> y_ExplicitVarSizeWithDummy[q3 + 1] = 6 | q3 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithDummy[q4] != 6) | q4 : int(1..4)]), + 1 <= sum([toInt(y_Occurrence[q6]) | q6 : int(2..5)]), + and([y_Occurrence[q7] -> + or([y_ExplicitVarSizeWithDummy[q9] != 6 /\ y_ExplicitVarSizeWithDummy[q9] = q7 | q9 : int(1..4)]) + | q7 : int(2..5)]), + and([y_ExplicitVarSizeWithDummy[q11] != 6 -> y_Occurrence[y_ExplicitVarSizeWithDummy[q11]] | q11 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_1_2_1_2-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_1_2_1_2-solution000001.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_2_1_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_1_2_1_2-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_1_2_1_2-solution000002.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_2_1_2-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_1_2_1_2.eprime b/tests/exhaustive/basic/set09/expected/model_1_2_1_2.eprime new file mode 100644 index 0000000000..970b65361f --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_2_1_2.eprime @@ -0,0 +1,14 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(2..5)] of bool +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +branching on [x_Occurrence, y_ExplicitVarSizeWithDummy] +such that + and([x_Occurrence[i] /\ y_ExplicitVarSizeWithDummy[q6] != 6 -> i + 2 = y_ExplicitVarSizeWithDummy[q6] + | i : int(2..5), q6 : int(1..4)]), + 1 <= sum([toInt(x_Occurrence[q1]) | q1 : int(2..5)]), + and([y_ExplicitVarSizeWithDummy[q2] < y_ExplicitVarSizeWithDummy[q2 + 1] \/ y_ExplicitVarSizeWithDummy[q2] = 6 + | q2 : int(1..3)]), + and([y_ExplicitVarSizeWithDummy[q3] = 6 -> y_ExplicitVarSizeWithDummy[q3 + 1] = 6 | q3 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithDummy[q4] != 6) | q4 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_1_2_1_3-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_1_2_1_3-solution000001.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_2_1_3-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_1_2_1_3-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_1_2_1_3-solution000002.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_2_1_3-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_1_2_1_3.eprime b/tests/exhaustive/basic/set09/expected/model_1_2_1_3.eprime new file mode 100644 index 0000000000..34f57c451d --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_2_1_3.eprime @@ -0,0 +1,32 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(2..5)] of bool +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find y_ExplicitVarSizeWithMarker_Marker: int(0..4) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +branching on + [x_Occurrence, y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values, y_ExplicitVarSizeWithDummy] +such that + and([x_Occurrence[i] /\ y_ExplicitVarSizeWithDummy[q17] != 6 -> i + 2 = y_ExplicitVarSizeWithDummy[q17] + | i : int(2..5), q17 : int(1..4)]), + 1 <= sum([toInt(x_Occurrence[q1]) | q1 : int(2..5)]), + and([y_ExplicitVarSizeWithDummy[q2] < y_ExplicitVarSizeWithDummy[q2 + 1] \/ y_ExplicitVarSizeWithDummy[q2] = 6 + | q2 : int(1..3)]), + and([y_ExplicitVarSizeWithDummy[q3] = 6 -> y_ExplicitVarSizeWithDummy[q3 + 1] = 6 | q3 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithDummy[q4] != 6) | q4 : int(1..4)]), + and([q6 + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithMarker_Values[q6] < y_ExplicitVarSizeWithMarker_Values[q6 + 1] + | q6 : int(1..3)]), + and([q7 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[q7] = 2 | q7 : int(1..4)]), + 1 <= y_ExplicitVarSizeWithMarker_Marker, + and([q10 <= y_ExplicitVarSizeWithMarker_Marker -> + or([y_ExplicitVarSizeWithDummy[q12] != 6 /\ + y_ExplicitVarSizeWithDummy[q12] = y_ExplicitVarSizeWithMarker_Values[q10] + | q12 : int(1..4)]) + | q10 : int(1..4)]), + and([y_ExplicitVarSizeWithDummy[q14] != 6 -> + or([q16 <= y_ExplicitVarSizeWithMarker_Marker /\ + y_ExplicitVarSizeWithMarker_Values[q16] = y_ExplicitVarSizeWithDummy[q14] + | q16 : int(1..4)]) + | q14 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_1_2_1_4-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_1_2_1_4-solution000001.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_2_1_4-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_1_2_1_4-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_1_2_1_4-solution000002.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_2_1_4-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_1_2_1_4.eprime b/tests/exhaustive/basic/set09/expected/model_1_2_1_4.eprime new file mode 100644 index 0000000000..e89acaaa36 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_2_1_4.eprime @@ -0,0 +1,33 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(2..5)] of bool +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +branching on + [x_Occurrence, y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values, y_ExplicitVarSizeWithDummy] +such that + and([x_Occurrence[i] /\ y_ExplicitVarSizeWithDummy[q19] != 6 -> i + 2 = y_ExplicitVarSizeWithDummy[q19] + | i : int(2..5), q19 : int(1..4)]), + 1 <= sum([toInt(x_Occurrence[q1]) | q1 : int(2..5)]), + and([y_ExplicitVarSizeWithDummy[q2] < y_ExplicitVarSizeWithDummy[q2 + 1] \/ y_ExplicitVarSizeWithDummy[q2] = 6 + | q2 : int(1..3)]), + and([y_ExplicitVarSizeWithDummy[q3] = 6 -> y_ExplicitVarSizeWithDummy[q3 + 1] = 6 | q3 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithDummy[q4] != 6) | q4 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q6 + 1] -> + y_ExplicitVarSizeWithFlags_Values[q6] < y_ExplicitVarSizeWithFlags_Values[q6 + 1] + | q6 : int(1..3)]), + and([y_ExplicitVarSizeWithFlags_Flags[q7] = false -> y_ExplicitVarSizeWithFlags_Values[q7] = 2 | q7 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q8 + 1] -> y_ExplicitVarSizeWithFlags_Flags[q8] | q8 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithFlags_Flags[q9]) | q9 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q12] -> + or([y_ExplicitVarSizeWithDummy[q14] != 6 /\ + y_ExplicitVarSizeWithDummy[q14] = y_ExplicitVarSizeWithFlags_Values[q12] + | q14 : int(1..4)]) + | q12 : int(1..4)]), + and([y_ExplicitVarSizeWithDummy[q16] != 6 -> + or([y_ExplicitVarSizeWithFlags_Flags[q18] /\ + y_ExplicitVarSizeWithFlags_Values[q18] = y_ExplicitVarSizeWithDummy[q16] + | q18 : int(1..4)]) + | q16 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_1_2_2_1-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_1_2_2_1-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_2_2_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_1_2_2_1-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_1_2_2_1-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_2_2_1-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_1_2_2_1.eprime b/tests/exhaustive/basic/set09/expected/model_1_2_2_1.eprime new file mode 100644 index 0000000000..b50b8217a7 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_2_2_1.eprime @@ -0,0 +1,29 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(2..5)] of bool +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find y_Occurrence: matrix indexed by [int(2..5)] of bool +branching on [x_ExplicitVarSizeWithDummy, x_Occurrence, y_Occurrence, y_ExplicitVarSizeWithDummy] +such that + and([x_Occurrence[i] /\ y_ExplicitVarSizeWithDummy[q21] != 6 -> i + 2 = y_ExplicitVarSizeWithDummy[q21] + | i : int(2..5), q21 : int(1..4)]), + 1 <= sum([toInt(x_Occurrence[q1]) | q1 : int(2..5)]), + and([y_ExplicitVarSizeWithDummy[q2] < y_ExplicitVarSizeWithDummy[q2 + 1] \/ y_ExplicitVarSizeWithDummy[q2] = 6 + | q2 : int(1..3)]), + and([y_ExplicitVarSizeWithDummy[q3] = 6 -> y_ExplicitVarSizeWithDummy[q3 + 1] = 6 | q3 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithDummy[q4] != 6) | q4 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q6] < x_ExplicitVarSizeWithDummy[q6 + 1] \/ x_ExplicitVarSizeWithDummy[q6] = 6 + | q6 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q7] = 6 -> x_ExplicitVarSizeWithDummy[q7 + 1] = 6 | q7 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithDummy[q8] != 6) | q8 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q11] != 6 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q11]] | q11 : int(1..4)]), + and([x_Occurrence[q12] -> + or([x_ExplicitVarSizeWithDummy[q14] != 6 /\ x_ExplicitVarSizeWithDummy[q14] = q12 | q14 : int(1..4)]) + | q12 : int(2..5)]), + 1 <= sum([toInt(y_Occurrence[q15]) | q15 : int(2..5)]), + and([y_Occurrence[q16] -> + or([y_ExplicitVarSizeWithDummy[q18] != 6 /\ y_ExplicitVarSizeWithDummy[q18] = q16 | q18 : int(1..4)]) + | q16 : int(2..5)]), + and([y_ExplicitVarSizeWithDummy[q20] != 6 -> y_Occurrence[y_ExplicitVarSizeWithDummy[q20]] | q20 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_1_2_2_2-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_1_2_2_2-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_2_2_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_1_2_2_2-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_1_2_2_2-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_2_2_2-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_1_2_2_2.eprime b/tests/exhaustive/basic/set09/expected/model_1_2_2_2.eprime new file mode 100644 index 0000000000..97ccb1e791 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_2_2_2.eprime @@ -0,0 +1,23 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(2..5)] of bool +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +branching on [x_ExplicitVarSizeWithDummy, x_Occurrence, y_ExplicitVarSizeWithDummy] +such that + and([x_Occurrence[i] /\ y_ExplicitVarSizeWithDummy[q15] != 6 -> i + 2 = y_ExplicitVarSizeWithDummy[q15] + | i : int(2..5), q15 : int(1..4)]), + 1 <= sum([toInt(x_Occurrence[q1]) | q1 : int(2..5)]), + and([y_ExplicitVarSizeWithDummy[q2] < y_ExplicitVarSizeWithDummy[q2 + 1] \/ y_ExplicitVarSizeWithDummy[q2] = 6 + | q2 : int(1..3)]), + and([y_ExplicitVarSizeWithDummy[q3] = 6 -> y_ExplicitVarSizeWithDummy[q3 + 1] = 6 | q3 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithDummy[q4] != 6) | q4 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q6] < x_ExplicitVarSizeWithDummy[q6 + 1] \/ x_ExplicitVarSizeWithDummy[q6] = 6 + | q6 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q7] = 6 -> x_ExplicitVarSizeWithDummy[q7 + 1] = 6 | q7 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithDummy[q8] != 6) | q8 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q11] != 6 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q11]] | q11 : int(1..4)]), + and([x_Occurrence[q12] -> + or([x_ExplicitVarSizeWithDummy[q14] != 6 /\ x_ExplicitVarSizeWithDummy[q14] = q12 | q14 : int(1..4)]) + | q12 : int(2..5)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_1_2_2_3-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_1_2_2_3-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_2_2_3-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_1_2_2_3-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_1_2_2_3-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_2_2_3-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_1_2_2_3.eprime b/tests/exhaustive/basic/set09/expected/model_1_2_2_3.eprime new file mode 100644 index 0000000000..834e686023 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_2_2_3.eprime @@ -0,0 +1,42 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(2..5)] of bool +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find y_ExplicitVarSizeWithMarker_Marker: int(0..4) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +branching on + [x_ExplicitVarSizeWithDummy, x_Occurrence, y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values, + y_ExplicitVarSizeWithDummy] +such that + and([x_Occurrence[i] /\ y_ExplicitVarSizeWithDummy[q26] != 6 -> i + 2 = y_ExplicitVarSizeWithDummy[q26] + | i : int(2..5), q26 : int(1..4)]), + 1 <= sum([toInt(x_Occurrence[q1]) | q1 : int(2..5)]), + and([y_ExplicitVarSizeWithDummy[q2] < y_ExplicitVarSizeWithDummy[q2 + 1] \/ y_ExplicitVarSizeWithDummy[q2] = 6 + | q2 : int(1..3)]), + and([y_ExplicitVarSizeWithDummy[q3] = 6 -> y_ExplicitVarSizeWithDummy[q3 + 1] = 6 | q3 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithDummy[q4] != 6) | q4 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q6] < x_ExplicitVarSizeWithDummy[q6 + 1] \/ x_ExplicitVarSizeWithDummy[q6] = 6 + | q6 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q7] = 6 -> x_ExplicitVarSizeWithDummy[q7 + 1] = 6 | q7 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithDummy[q8] != 6) | q8 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q11] != 6 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q11]] | q11 : int(1..4)]), + and([x_Occurrence[q12] -> + or([x_ExplicitVarSizeWithDummy[q14] != 6 /\ x_ExplicitVarSizeWithDummy[q14] = q12 | q14 : int(1..4)]) + | q12 : int(2..5)]), + and([q15 + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithMarker_Values[q15] < y_ExplicitVarSizeWithMarker_Values[q15 + 1] + | q15 : int(1..3)]), + and([q16 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[q16] = 2 | q16 : int(1..4)]), + 1 <= y_ExplicitVarSizeWithMarker_Marker, + and([q19 <= y_ExplicitVarSizeWithMarker_Marker -> + or([y_ExplicitVarSizeWithDummy[q21] != 6 /\ + y_ExplicitVarSizeWithDummy[q21] = y_ExplicitVarSizeWithMarker_Values[q19] + | q21 : int(1..4)]) + | q19 : int(1..4)]), + and([y_ExplicitVarSizeWithDummy[q23] != 6 -> + or([q25 <= y_ExplicitVarSizeWithMarker_Marker /\ + y_ExplicitVarSizeWithMarker_Values[q25] = y_ExplicitVarSizeWithDummy[q23] + | q25 : int(1..4)]) + | q23 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_1_2_2_4-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_1_2_2_4-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_2_2_4-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_1_2_2_4-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_1_2_2_4-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_2_2_4-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_1_2_2_4.eprime b/tests/exhaustive/basic/set09/expected/model_1_2_2_4.eprime new file mode 100644 index 0000000000..7f9c9565ff --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_2_2_4.eprime @@ -0,0 +1,44 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(2..5)] of bool +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +branching on + [x_ExplicitVarSizeWithDummy, x_Occurrence, y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values, + y_ExplicitVarSizeWithDummy] +such that + and([x_Occurrence[i] /\ y_ExplicitVarSizeWithDummy[q28] != 6 -> i + 2 = y_ExplicitVarSizeWithDummy[q28] + | i : int(2..5), q28 : int(1..4)]), + 1 <= sum([toInt(x_Occurrence[q1]) | q1 : int(2..5)]), + and([y_ExplicitVarSizeWithDummy[q2] < y_ExplicitVarSizeWithDummy[q2 + 1] \/ y_ExplicitVarSizeWithDummy[q2] = 6 + | q2 : int(1..3)]), + and([y_ExplicitVarSizeWithDummy[q3] = 6 -> y_ExplicitVarSizeWithDummy[q3 + 1] = 6 | q3 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithDummy[q4] != 6) | q4 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q6] < x_ExplicitVarSizeWithDummy[q6 + 1] \/ x_ExplicitVarSizeWithDummy[q6] = 6 + | q6 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q7] = 6 -> x_ExplicitVarSizeWithDummy[q7 + 1] = 6 | q7 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithDummy[q8] != 6) | q8 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q11] != 6 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q11]] | q11 : int(1..4)]), + and([x_Occurrence[q12] -> + or([x_ExplicitVarSizeWithDummy[q14] != 6 /\ x_ExplicitVarSizeWithDummy[q14] = q12 | q14 : int(1..4)]) + | q12 : int(2..5)]), + and([y_ExplicitVarSizeWithFlags_Flags[q15 + 1] -> + y_ExplicitVarSizeWithFlags_Values[q15] < y_ExplicitVarSizeWithFlags_Values[q15 + 1] + | q15 : int(1..3)]), + and([y_ExplicitVarSizeWithFlags_Flags[q16] = false -> y_ExplicitVarSizeWithFlags_Values[q16] = 2 + | q16 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q17 + 1] -> y_ExplicitVarSizeWithFlags_Flags[q17] | q17 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithFlags_Flags[q18]) | q18 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q21] -> + or([y_ExplicitVarSizeWithDummy[q23] != 6 /\ + y_ExplicitVarSizeWithDummy[q23] = y_ExplicitVarSizeWithFlags_Values[q21] + | q23 : int(1..4)]) + | q21 : int(1..4)]), + and([y_ExplicitVarSizeWithDummy[q25] != 6 -> + or([y_ExplicitVarSizeWithFlags_Flags[q27] /\ + y_ExplicitVarSizeWithFlags_Values[q27] = y_ExplicitVarSizeWithDummy[q25] + | q27 : int(1..4)]) + | q25 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_1_2_3_1-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_1_2_3_1-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_2_3_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_1_2_3_1-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_1_2_3_1-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_2_3_1-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_1_2_3_1.eprime b/tests/exhaustive/basic/set09/expected/model_1_2_3_1.eprime new file mode 100644 index 0000000000..a173ae9198 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_2_3_1.eprime @@ -0,0 +1,35 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(2..5)] of bool +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find y_Occurrence: matrix indexed by [int(2..5)] of bool +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_Occurrence, y_Occurrence, + y_ExplicitVarSizeWithDummy] +such that + and([x_Occurrence[i] /\ y_ExplicitVarSizeWithDummy[q20] != 6 -> i + 2 = y_ExplicitVarSizeWithDummy[q20] + | i : int(2..5), q20 : int(1..4)]), + 1 <= sum([toInt(x_Occurrence[q1]) | q1 : int(2..5)]), + and([y_ExplicitVarSizeWithDummy[q2] < y_ExplicitVarSizeWithDummy[q2 + 1] \/ y_ExplicitVarSizeWithDummy[q2] = 6 + | q2 : int(1..3)]), + and([y_ExplicitVarSizeWithDummy[q3] = 6 -> y_ExplicitVarSizeWithDummy[q3 + 1] = 6 | q3 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithDummy[q4] != 6) | q4 : int(1..4)]), + and([q6 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q6] < x_ExplicitVarSizeWithMarker_Values[q6 + 1] + | q6 : int(1..3)]), + and([q7 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q7] = 2 | q7 : int(1..4)]), + 1 <= x_ExplicitVarSizeWithMarker_Marker, + and([q10 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q10]] + | q10 : int(1..4)]), + and([x_Occurrence[q11] -> + or([q13 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q13] = q11 + | q13 : int(1..4)]) + | q11 : int(2..5)]), + 1 <= sum([toInt(y_Occurrence[q14]) | q14 : int(2..5)]), + and([y_Occurrence[q15] -> + or([y_ExplicitVarSizeWithDummy[q17] != 6 /\ y_ExplicitVarSizeWithDummy[q17] = q15 | q17 : int(1..4)]) + | q15 : int(2..5)]), + and([y_ExplicitVarSizeWithDummy[q19] != 6 -> y_Occurrence[y_ExplicitVarSizeWithDummy[q19]] | q19 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_1_2_3_2-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_1_2_3_2-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_2_3_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_1_2_3_2-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_1_2_3_2-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_2_3_2-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_1_2_3_2.eprime b/tests/exhaustive/basic/set09/expected/model_1_2_3_2.eprime new file mode 100644 index 0000000000..85a3d62f8d --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_2_3_2.eprime @@ -0,0 +1,28 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(2..5)] of bool +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_Occurrence, y_ExplicitVarSizeWithDummy] +such that + and([x_Occurrence[i] /\ y_ExplicitVarSizeWithDummy[q14] != 6 -> i + 2 = y_ExplicitVarSizeWithDummy[q14] + | i : int(2..5), q14 : int(1..4)]), + 1 <= sum([toInt(x_Occurrence[q1]) | q1 : int(2..5)]), + and([y_ExplicitVarSizeWithDummy[q2] < y_ExplicitVarSizeWithDummy[q2 + 1] \/ y_ExplicitVarSizeWithDummy[q2] = 6 + | q2 : int(1..3)]), + and([y_ExplicitVarSizeWithDummy[q3] = 6 -> y_ExplicitVarSizeWithDummy[q3 + 1] = 6 | q3 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithDummy[q4] != 6) | q4 : int(1..4)]), + and([q6 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q6] < x_ExplicitVarSizeWithMarker_Values[q6 + 1] + | q6 : int(1..3)]), + and([q7 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q7] = 2 | q7 : int(1..4)]), + 1 <= x_ExplicitVarSizeWithMarker_Marker, + and([q10 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q10]] + | q10 : int(1..4)]), + and([x_Occurrence[q11] -> + or([q13 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q13] = q11 + | q13 : int(1..4)]) + | q11 : int(2..5)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_1_2_3_3-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_1_2_3_3-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_2_3_3-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_1_2_3_3-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_1_2_3_3-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_2_3_3-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_1_2_3_3.eprime b/tests/exhaustive/basic/set09/expected/model_1_2_3_3.eprime new file mode 100644 index 0000000000..7e2bed2d00 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_2_3_3.eprime @@ -0,0 +1,46 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(2..5)] of bool +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find y_ExplicitVarSizeWithMarker_Marker: int(0..4) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_Occurrence, + y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values, y_ExplicitVarSizeWithDummy] +such that + and([x_Occurrence[i] /\ y_ExplicitVarSizeWithDummy[q25] != 6 -> i + 2 = y_ExplicitVarSizeWithDummy[q25] + | i : int(2..5), q25 : int(1..4)]), + 1 <= sum([toInt(x_Occurrence[q1]) | q1 : int(2..5)]), + and([y_ExplicitVarSizeWithDummy[q2] < y_ExplicitVarSizeWithDummy[q2 + 1] \/ y_ExplicitVarSizeWithDummy[q2] = 6 + | q2 : int(1..3)]), + and([y_ExplicitVarSizeWithDummy[q3] = 6 -> y_ExplicitVarSizeWithDummy[q3 + 1] = 6 | q3 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithDummy[q4] != 6) | q4 : int(1..4)]), + and([q6 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q6] < x_ExplicitVarSizeWithMarker_Values[q6 + 1] + | q6 : int(1..3)]), + and([q7 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q7] = 2 | q7 : int(1..4)]), + 1 <= x_ExplicitVarSizeWithMarker_Marker, + and([q10 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q10]] + | q10 : int(1..4)]), + and([x_Occurrence[q11] -> + or([q13 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q13] = q11 + | q13 : int(1..4)]) + | q11 : int(2..5)]), + and([q14 + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithMarker_Values[q14] < y_ExplicitVarSizeWithMarker_Values[q14 + 1] + | q14 : int(1..3)]), + and([q15 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[q15] = 2 | q15 : int(1..4)]), + 1 <= y_ExplicitVarSizeWithMarker_Marker, + and([q18 <= y_ExplicitVarSizeWithMarker_Marker -> + or([y_ExplicitVarSizeWithDummy[q20] != 6 /\ + y_ExplicitVarSizeWithDummy[q20] = y_ExplicitVarSizeWithMarker_Values[q18] + | q20 : int(1..4)]) + | q18 : int(1..4)]), + and([y_ExplicitVarSizeWithDummy[q22] != 6 -> + or([q24 <= y_ExplicitVarSizeWithMarker_Marker /\ + y_ExplicitVarSizeWithMarker_Values[q24] = y_ExplicitVarSizeWithDummy[q22] + | q24 : int(1..4)]) + | q22 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_1_2_3_4-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_1_2_3_4-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_2_3_4-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_1_2_3_4-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_1_2_3_4-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_2_3_4-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_1_2_3_4.eprime b/tests/exhaustive/basic/set09/expected/model_1_2_3_4.eprime new file mode 100644 index 0000000000..fac749f4d5 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_2_3_4.eprime @@ -0,0 +1,48 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(2..5)] of bool +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_Occurrence, + y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values, y_ExplicitVarSizeWithDummy] +such that + and([x_Occurrence[i] /\ y_ExplicitVarSizeWithDummy[q27] != 6 -> i + 2 = y_ExplicitVarSizeWithDummy[q27] + | i : int(2..5), q27 : int(1..4)]), + 1 <= sum([toInt(x_Occurrence[q1]) | q1 : int(2..5)]), + and([y_ExplicitVarSizeWithDummy[q2] < y_ExplicitVarSizeWithDummy[q2 + 1] \/ y_ExplicitVarSizeWithDummy[q2] = 6 + | q2 : int(1..3)]), + and([y_ExplicitVarSizeWithDummy[q3] = 6 -> y_ExplicitVarSizeWithDummy[q3 + 1] = 6 | q3 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithDummy[q4] != 6) | q4 : int(1..4)]), + and([q6 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q6] < x_ExplicitVarSizeWithMarker_Values[q6 + 1] + | q6 : int(1..3)]), + and([q7 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q7] = 2 | q7 : int(1..4)]), + 1 <= x_ExplicitVarSizeWithMarker_Marker, + and([q10 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q10]] + | q10 : int(1..4)]), + and([x_Occurrence[q11] -> + or([q13 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q13] = q11 + | q13 : int(1..4)]) + | q11 : int(2..5)]), + and([y_ExplicitVarSizeWithFlags_Flags[q14 + 1] -> + y_ExplicitVarSizeWithFlags_Values[q14] < y_ExplicitVarSizeWithFlags_Values[q14 + 1] + | q14 : int(1..3)]), + and([y_ExplicitVarSizeWithFlags_Flags[q15] = false -> y_ExplicitVarSizeWithFlags_Values[q15] = 2 + | q15 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q16 + 1] -> y_ExplicitVarSizeWithFlags_Flags[q16] | q16 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithFlags_Flags[q17]) | q17 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q20] -> + or([y_ExplicitVarSizeWithDummy[q22] != 6 /\ + y_ExplicitVarSizeWithDummy[q22] = y_ExplicitVarSizeWithFlags_Values[q20] + | q22 : int(1..4)]) + | q20 : int(1..4)]), + and([y_ExplicitVarSizeWithDummy[q24] != 6 -> + or([y_ExplicitVarSizeWithFlags_Flags[q26] /\ + y_ExplicitVarSizeWithFlags_Values[q26] = y_ExplicitVarSizeWithDummy[q24] + | q26 : int(1..4)]) + | q24 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_1_2_4_1-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_1_2_4_1-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_2_4_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_1_2_4_1-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_1_2_4_1-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_2_4_1-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_1_2_4_1.eprime b/tests/exhaustive/basic/set09/expected/model_1_2_4_1.eprime new file mode 100644 index 0000000000..eec7a2f559 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_2_4_1.eprime @@ -0,0 +1,35 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(2..5)] of bool +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find y_Occurrence: matrix indexed by [int(2..5)] of bool +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_Occurrence, y_Occurrence, + y_ExplicitVarSizeWithDummy] +such that + and([x_Occurrence[i] /\ y_ExplicitVarSizeWithDummy[q22] != 6 -> i + 2 = y_ExplicitVarSizeWithDummy[q22] + | i : int(2..5), q22 : int(1..4)]), + 1 <= sum([toInt(x_Occurrence[q1]) | q1 : int(2..5)]), + and([y_ExplicitVarSizeWithDummy[q2] < y_ExplicitVarSizeWithDummy[q2 + 1] \/ y_ExplicitVarSizeWithDummy[q2] = 6 + | q2 : int(1..3)]), + and([y_ExplicitVarSizeWithDummy[q3] = 6 -> y_ExplicitVarSizeWithDummy[q3 + 1] = 6 | q3 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithDummy[q4] != 6) | q4 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q6 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q6] < x_ExplicitVarSizeWithFlags_Values[q6 + 1] + | q6 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q7] = false -> x_ExplicitVarSizeWithFlags_Values[q7] = 2 | q7 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q8 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q8] | q8 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q9]) | q9 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q12] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q12]] + | q12 : int(1..4)]), + and([x_Occurrence[q13] -> + or([x_ExplicitVarSizeWithFlags_Flags[q15] /\ x_ExplicitVarSizeWithFlags_Values[q15] = q13 | q15 : int(1..4)]) + | q13 : int(2..5)]), + 1 <= sum([toInt(y_Occurrence[q16]) | q16 : int(2..5)]), + and([y_Occurrence[q17] -> + or([y_ExplicitVarSizeWithDummy[q19] != 6 /\ y_ExplicitVarSizeWithDummy[q19] = q17 | q19 : int(1..4)]) + | q17 : int(2..5)]), + and([y_ExplicitVarSizeWithDummy[q21] != 6 -> y_Occurrence[y_ExplicitVarSizeWithDummy[q21]] | q21 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_1_2_4_2-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_1_2_4_2-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_2_4_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_1_2_4_2-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_1_2_4_2-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_2_4_2-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_1_2_4_2.eprime b/tests/exhaustive/basic/set09/expected/model_1_2_4_2.eprime new file mode 100644 index 0000000000..fbd69fb422 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_2_4_2.eprime @@ -0,0 +1,28 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(2..5)] of bool +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_Occurrence, y_ExplicitVarSizeWithDummy] +such that + and([x_Occurrence[i] /\ y_ExplicitVarSizeWithDummy[q16] != 6 -> i + 2 = y_ExplicitVarSizeWithDummy[q16] + | i : int(2..5), q16 : int(1..4)]), + 1 <= sum([toInt(x_Occurrence[q1]) | q1 : int(2..5)]), + and([y_ExplicitVarSizeWithDummy[q2] < y_ExplicitVarSizeWithDummy[q2 + 1] \/ y_ExplicitVarSizeWithDummy[q2] = 6 + | q2 : int(1..3)]), + and([y_ExplicitVarSizeWithDummy[q3] = 6 -> y_ExplicitVarSizeWithDummy[q3 + 1] = 6 | q3 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithDummy[q4] != 6) | q4 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q6 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q6] < x_ExplicitVarSizeWithFlags_Values[q6 + 1] + | q6 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q7] = false -> x_ExplicitVarSizeWithFlags_Values[q7] = 2 | q7 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q8 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q8] | q8 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q9]) | q9 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q12] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q12]] + | q12 : int(1..4)]), + and([x_Occurrence[q13] -> + or([x_ExplicitVarSizeWithFlags_Flags[q15] /\ x_ExplicitVarSizeWithFlags_Values[q15] = q13 | q15 : int(1..4)]) + | q13 : int(2..5)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_1_2_4_3-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_1_2_4_3-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_2_4_3-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_1_2_4_3-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_1_2_4_3-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_2_4_3-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_1_2_4_3.eprime b/tests/exhaustive/basic/set09/expected/model_1_2_4_3.eprime new file mode 100644 index 0000000000..db9fd6336e --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_2_4_3.eprime @@ -0,0 +1,46 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(2..5)] of bool +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find y_ExplicitVarSizeWithMarker_Marker: int(0..4) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_Occurrence, + y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values, y_ExplicitVarSizeWithDummy] +such that + and([x_Occurrence[i] /\ y_ExplicitVarSizeWithDummy[q27] != 6 -> i + 2 = y_ExplicitVarSizeWithDummy[q27] + | i : int(2..5), q27 : int(1..4)]), + 1 <= sum([toInt(x_Occurrence[q1]) | q1 : int(2..5)]), + and([y_ExplicitVarSizeWithDummy[q2] < y_ExplicitVarSizeWithDummy[q2 + 1] \/ y_ExplicitVarSizeWithDummy[q2] = 6 + | q2 : int(1..3)]), + and([y_ExplicitVarSizeWithDummy[q3] = 6 -> y_ExplicitVarSizeWithDummy[q3 + 1] = 6 | q3 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithDummy[q4] != 6) | q4 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q6 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q6] < x_ExplicitVarSizeWithFlags_Values[q6 + 1] + | q6 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q7] = false -> x_ExplicitVarSizeWithFlags_Values[q7] = 2 | q7 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q8 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q8] | q8 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q9]) | q9 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q12] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q12]] + | q12 : int(1..4)]), + and([x_Occurrence[q13] -> + or([x_ExplicitVarSizeWithFlags_Flags[q15] /\ x_ExplicitVarSizeWithFlags_Values[q15] = q13 | q15 : int(1..4)]) + | q13 : int(2..5)]), + and([q16 + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithMarker_Values[q16] < y_ExplicitVarSizeWithMarker_Values[q16 + 1] + | q16 : int(1..3)]), + and([q17 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[q17] = 2 | q17 : int(1..4)]), + 1 <= y_ExplicitVarSizeWithMarker_Marker, + and([q20 <= y_ExplicitVarSizeWithMarker_Marker -> + or([y_ExplicitVarSizeWithDummy[q22] != 6 /\ + y_ExplicitVarSizeWithDummy[q22] = y_ExplicitVarSizeWithMarker_Values[q20] + | q22 : int(1..4)]) + | q20 : int(1..4)]), + and([y_ExplicitVarSizeWithDummy[q24] != 6 -> + or([q26 <= y_ExplicitVarSizeWithMarker_Marker /\ + y_ExplicitVarSizeWithMarker_Values[q26] = y_ExplicitVarSizeWithDummy[q24] + | q26 : int(1..4)]) + | q24 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_1_2_4_4-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_1_2_4_4-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_2_4_4-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_1_2_4_4-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_1_2_4_4-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_2_4_4-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_1_2_4_4.eprime b/tests/exhaustive/basic/set09/expected/model_1_2_4_4.eprime new file mode 100644 index 0000000000..f82060de74 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_2_4_4.eprime @@ -0,0 +1,48 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(2..5)] of bool +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_Occurrence, + y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values, y_ExplicitVarSizeWithDummy] +such that + and([x_Occurrence[i] /\ y_ExplicitVarSizeWithDummy[q29] != 6 -> i + 2 = y_ExplicitVarSizeWithDummy[q29] + | i : int(2..5), q29 : int(1..4)]), + 1 <= sum([toInt(x_Occurrence[q1]) | q1 : int(2..5)]), + and([y_ExplicitVarSizeWithDummy[q2] < y_ExplicitVarSizeWithDummy[q2 + 1] \/ y_ExplicitVarSizeWithDummy[q2] = 6 + | q2 : int(1..3)]), + and([y_ExplicitVarSizeWithDummy[q3] = 6 -> y_ExplicitVarSizeWithDummy[q3 + 1] = 6 | q3 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithDummy[q4] != 6) | q4 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q6 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q6] < x_ExplicitVarSizeWithFlags_Values[q6 + 1] + | q6 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q7] = false -> x_ExplicitVarSizeWithFlags_Values[q7] = 2 | q7 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q8 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q8] | q8 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q9]) | q9 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q12] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q12]] + | q12 : int(1..4)]), + and([x_Occurrence[q13] -> + or([x_ExplicitVarSizeWithFlags_Flags[q15] /\ x_ExplicitVarSizeWithFlags_Values[q15] = q13 | q15 : int(1..4)]) + | q13 : int(2..5)]), + and([y_ExplicitVarSizeWithFlags_Flags[q16 + 1] -> + y_ExplicitVarSizeWithFlags_Values[q16] < y_ExplicitVarSizeWithFlags_Values[q16 + 1] + | q16 : int(1..3)]), + and([y_ExplicitVarSizeWithFlags_Flags[q17] = false -> y_ExplicitVarSizeWithFlags_Values[q17] = 2 + | q17 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q18 + 1] -> y_ExplicitVarSizeWithFlags_Flags[q18] | q18 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithFlags_Flags[q19]) | q19 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q22] -> + or([y_ExplicitVarSizeWithDummy[q24] != 6 /\ + y_ExplicitVarSizeWithDummy[q24] = y_ExplicitVarSizeWithFlags_Values[q22] + | q24 : int(1..4)]) + | q22 : int(1..4)]), + and([y_ExplicitVarSizeWithDummy[q26] != 6 -> + or([y_ExplicitVarSizeWithFlags_Flags[q28] /\ + y_ExplicitVarSizeWithFlags_Values[q28] = y_ExplicitVarSizeWithDummy[q26] + | q28 : int(1..4)]) + | q26 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_1_3_1_1-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_1_3_1_1-solution000001.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_3_1_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_1_3_1_1-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_1_3_1_1-solution000002.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_3_1_1-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_1_3_1_1.eprime b/tests/exhaustive/basic/set09/expected/model_1_3_1_1.eprime new file mode 100644 index 0000000000..5aa5be2149 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_3_1_1.eprime @@ -0,0 +1,23 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(2..5)] of bool +find y_ExplicitVarSizeWithMarker_Marker: int(0..4) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_Occurrence: matrix indexed by [int(2..5)] of bool +branching on [x_Occurrence, y_Occurrence, y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values] +such that + and([x_Occurrence[i] /\ q11 <= y_ExplicitVarSizeWithMarker_Marker -> i + 2 = y_ExplicitVarSizeWithMarker_Values[q11] + | i : int(2..5), q11 : int(1..4)]), + 1 <= sum([toInt(x_Occurrence[q1]) | q1 : int(2..5)]), + and([q2 + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithMarker_Values[q2] < y_ExplicitVarSizeWithMarker_Values[q2 + 1] + | q2 : int(1..3)]), + and([q3 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[q3] = 2 | q3 : int(1..4)]), + 1 <= y_ExplicitVarSizeWithMarker_Marker, + 1 <= sum([toInt(y_Occurrence[q5]) | q5 : int(2..5)]), + and([y_Occurrence[q6] -> + or([q8 <= y_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithMarker_Values[q8] = q6 | q8 : int(1..4)]) + | q6 : int(2..5)]), + and([q10 <= y_ExplicitVarSizeWithMarker_Marker -> y_Occurrence[y_ExplicitVarSizeWithMarker_Values[q10]] + | q10 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_1_3_1_2-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_1_3_1_2-solution000001.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_3_1_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_1_3_1_2-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_1_3_1_2-solution000002.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_3_1_2-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_1_3_1_2.eprime b/tests/exhaustive/basic/set09/expected/model_1_3_1_2.eprime new file mode 100644 index 0000000000..fd2bbeeb87 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_3_1_2.eprime @@ -0,0 +1,32 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(2..5)] of bool +find y_ExplicitVarSizeWithMarker_Marker: int(0..4) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +branching on + [x_Occurrence, y_ExplicitVarSizeWithDummy, y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values] +such that + and([x_Occurrence[i] /\ q17 <= y_ExplicitVarSizeWithMarker_Marker -> i + 2 = y_ExplicitVarSizeWithMarker_Values[q17] + | i : int(2..5), q17 : int(1..4)]), + 1 <= sum([toInt(x_Occurrence[q1]) | q1 : int(2..5)]), + and([q2 + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithMarker_Values[q2] < y_ExplicitVarSizeWithMarker_Values[q2 + 1] + | q2 : int(1..3)]), + and([q3 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[q3] = 2 | q3 : int(1..4)]), + 1 <= y_ExplicitVarSizeWithMarker_Marker, + and([y_ExplicitVarSizeWithDummy[q5] < y_ExplicitVarSizeWithDummy[q5 + 1] \/ y_ExplicitVarSizeWithDummy[q5] = 6 + | q5 : int(1..3)]), + and([y_ExplicitVarSizeWithDummy[q6] = 6 -> y_ExplicitVarSizeWithDummy[q6 + 1] = 6 | q6 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithDummy[q7] != 6) | q7 : int(1..4)]), + and([y_ExplicitVarSizeWithDummy[q10] != 6 -> + or([q12 <= y_ExplicitVarSizeWithMarker_Marker /\ + y_ExplicitVarSizeWithMarker_Values[q12] = y_ExplicitVarSizeWithDummy[q10] + | q12 : int(1..4)]) + | q10 : int(1..4)]), + and([q14 <= y_ExplicitVarSizeWithMarker_Marker -> + or([y_ExplicitVarSizeWithDummy[q16] != 6 /\ + y_ExplicitVarSizeWithDummy[q16] = y_ExplicitVarSizeWithMarker_Values[q14] + | q16 : int(1..4)]) + | q14 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_1_3_1_3-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_1_3_1_3-solution000001.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_3_1_3-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_1_3_1_3-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_1_3_1_3-solution000002.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_3_1_3-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_1_3_1_3.eprime b/tests/exhaustive/basic/set09/expected/model_1_3_1_3.eprime new file mode 100644 index 0000000000..a2de25f50a --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_3_1_3.eprime @@ -0,0 +1,16 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(2..5)] of bool +find y_ExplicitVarSizeWithMarker_Marker: int(0..4) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +branching on [x_Occurrence, y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values] +such that + and([x_Occurrence[i] /\ q5 <= y_ExplicitVarSizeWithMarker_Marker -> i + 2 = y_ExplicitVarSizeWithMarker_Values[q5] + | i : int(2..5), q5 : int(1..4)]), + 1 <= sum([toInt(x_Occurrence[q1]) | q1 : int(2..5)]), + and([q2 + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithMarker_Values[q2] < y_ExplicitVarSizeWithMarker_Values[q2 + 1] + | q2 : int(1..3)]), + and([q3 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[q3] = 2 | q3 : int(1..4)]), + 1 <= y_ExplicitVarSizeWithMarker_Marker + diff --git a/tests/exhaustive/basic/set09/expected/model_1_3_1_4-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_1_3_1_4-solution000001.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_3_1_4-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_1_3_1_4-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_1_3_1_4-solution000002.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_3_1_4-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_1_3_1_4.eprime b/tests/exhaustive/basic/set09/expected/model_1_3_1_4.eprime new file mode 100644 index 0000000000..7d10ae0289 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_3_1_4.eprime @@ -0,0 +1,36 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(2..5)] of bool +find y_ExplicitVarSizeWithMarker_Marker: int(0..4) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +branching on + [x_Occurrence, y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values, + y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values] +such that + and([x_Occurrence[i] /\ q18 <= y_ExplicitVarSizeWithMarker_Marker -> i + 2 = y_ExplicitVarSizeWithMarker_Values[q18] + | i : int(2..5), q18 : int(1..4)]), + 1 <= sum([toInt(x_Occurrence[q1]) | q1 : int(2..5)]), + and([q2 + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithMarker_Values[q2] < y_ExplicitVarSizeWithMarker_Values[q2 + 1] + | q2 : int(1..3)]), + and([q3 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[q3] = 2 | q3 : int(1..4)]), + 1 <= y_ExplicitVarSizeWithMarker_Marker, + and([y_ExplicitVarSizeWithFlags_Flags[q5 + 1] -> + y_ExplicitVarSizeWithFlags_Values[q5] < y_ExplicitVarSizeWithFlags_Values[q5 + 1] + | q5 : int(1..3)]), + and([y_ExplicitVarSizeWithFlags_Flags[q6] = false -> y_ExplicitVarSizeWithFlags_Values[q6] = 2 | q6 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q7 + 1] -> y_ExplicitVarSizeWithFlags_Flags[q7] | q7 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithFlags_Flags[q8]) | q8 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q11] -> + or([q13 <= y_ExplicitVarSizeWithMarker_Marker /\ + y_ExplicitVarSizeWithMarker_Values[q13] = y_ExplicitVarSizeWithFlags_Values[q11] + | q13 : int(1..4)]) + | q11 : int(1..4)]), + and([q15 <= y_ExplicitVarSizeWithMarker_Marker -> + or([y_ExplicitVarSizeWithFlags_Flags[q17] /\ + y_ExplicitVarSizeWithFlags_Values[q17] = y_ExplicitVarSizeWithMarker_Values[q15] + | q17 : int(1..4)]) + | q15 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_1_3_2_1-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_1_3_2_1-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_3_2_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_1_3_2_1-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_1_3_2_1-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_3_2_1-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_1_3_2_1.eprime b/tests/exhaustive/basic/set09/expected/model_1_3_2_1.eprime new file mode 100644 index 0000000000..aa45ad18ec --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_3_2_1.eprime @@ -0,0 +1,35 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(2..5)] of bool +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find y_ExplicitVarSizeWithMarker_Marker: int(0..4) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_Occurrence: matrix indexed by [int(2..5)] of bool +branching on + [x_ExplicitVarSizeWithDummy, x_Occurrence, y_Occurrence, y_ExplicitVarSizeWithMarker_Marker, + y_ExplicitVarSizeWithMarker_Values] +such that + and([x_Occurrence[i] /\ q20 <= y_ExplicitVarSizeWithMarker_Marker -> i + 2 = y_ExplicitVarSizeWithMarker_Values[q20] + | i : int(2..5), q20 : int(1..4)]), + 1 <= sum([toInt(x_Occurrence[q1]) | q1 : int(2..5)]), + and([q2 + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithMarker_Values[q2] < y_ExplicitVarSizeWithMarker_Values[q2 + 1] + | q2 : int(1..3)]), + and([q3 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[q3] = 2 | q3 : int(1..4)]), + 1 <= y_ExplicitVarSizeWithMarker_Marker, + and([x_ExplicitVarSizeWithDummy[q5] < x_ExplicitVarSizeWithDummy[q5 + 1] \/ x_ExplicitVarSizeWithDummy[q5] = 6 + | q5 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q6] = 6 -> x_ExplicitVarSizeWithDummy[q6 + 1] = 6 | q6 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithDummy[q7] != 6) | q7 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q10] != 6 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q10]] | q10 : int(1..4)]), + and([x_Occurrence[q11] -> + or([x_ExplicitVarSizeWithDummy[q13] != 6 /\ x_ExplicitVarSizeWithDummy[q13] = q11 | q13 : int(1..4)]) + | q11 : int(2..5)]), + 1 <= sum([toInt(y_Occurrence[q14]) | q14 : int(2..5)]), + and([y_Occurrence[q15] -> + or([q17 <= y_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithMarker_Values[q17] = q15 + | q17 : int(1..4)]) + | q15 : int(2..5)]), + and([q19 <= y_ExplicitVarSizeWithMarker_Marker -> y_Occurrence[y_ExplicitVarSizeWithMarker_Values[q19]] + | q19 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_1_3_2_2-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_1_3_2_2-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_3_2_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_1_3_2_2-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_1_3_2_2-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_3_2_2-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_1_3_2_2.eprime b/tests/exhaustive/basic/set09/expected/model_1_3_2_2.eprime new file mode 100644 index 0000000000..12abc5a79c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_3_2_2.eprime @@ -0,0 +1,42 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(2..5)] of bool +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find y_ExplicitVarSizeWithMarker_Marker: int(0..4) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +branching on + [x_ExplicitVarSizeWithDummy, x_Occurrence, y_ExplicitVarSizeWithDummy, y_ExplicitVarSizeWithMarker_Marker, + y_ExplicitVarSizeWithMarker_Values] +such that + and([x_Occurrence[i] /\ q26 <= y_ExplicitVarSizeWithMarker_Marker -> i + 2 = y_ExplicitVarSizeWithMarker_Values[q26] + | i : int(2..5), q26 : int(1..4)]), + 1 <= sum([toInt(x_Occurrence[q1]) | q1 : int(2..5)]), + and([q2 + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithMarker_Values[q2] < y_ExplicitVarSizeWithMarker_Values[q2 + 1] + | q2 : int(1..3)]), + and([q3 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[q3] = 2 | q3 : int(1..4)]), + 1 <= y_ExplicitVarSizeWithMarker_Marker, + and([x_ExplicitVarSizeWithDummy[q5] < x_ExplicitVarSizeWithDummy[q5 + 1] \/ x_ExplicitVarSizeWithDummy[q5] = 6 + | q5 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q6] = 6 -> x_ExplicitVarSizeWithDummy[q6 + 1] = 6 | q6 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithDummy[q7] != 6) | q7 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q10] != 6 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q10]] | q10 : int(1..4)]), + and([x_Occurrence[q11] -> + or([x_ExplicitVarSizeWithDummy[q13] != 6 /\ x_ExplicitVarSizeWithDummy[q13] = q11 | q13 : int(1..4)]) + | q11 : int(2..5)]), + and([y_ExplicitVarSizeWithDummy[q14] < y_ExplicitVarSizeWithDummy[q14 + 1] \/ y_ExplicitVarSizeWithDummy[q14] = 6 + | q14 : int(1..3)]), + and([y_ExplicitVarSizeWithDummy[q15] = 6 -> y_ExplicitVarSizeWithDummy[q15 + 1] = 6 | q15 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithDummy[q16] != 6) | q16 : int(1..4)]), + and([y_ExplicitVarSizeWithDummy[q19] != 6 -> + or([q21 <= y_ExplicitVarSizeWithMarker_Marker /\ + y_ExplicitVarSizeWithMarker_Values[q21] = y_ExplicitVarSizeWithDummy[q19] + | q21 : int(1..4)]) + | q19 : int(1..4)]), + and([q23 <= y_ExplicitVarSizeWithMarker_Marker -> + or([y_ExplicitVarSizeWithDummy[q25] != 6 /\ + y_ExplicitVarSizeWithDummy[q25] = y_ExplicitVarSizeWithMarker_Values[q23] + | q25 : int(1..4)]) + | q23 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_1_3_2_3-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_1_3_2_3-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_3_2_3-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_1_3_2_3-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_1_3_2_3-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_3_2_3-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_1_3_2_3.eprime b/tests/exhaustive/basic/set09/expected/model_1_3_2_3.eprime new file mode 100644 index 0000000000..beae6fe911 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_3_2_3.eprime @@ -0,0 +1,26 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(2..5)] of bool +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find y_ExplicitVarSizeWithMarker_Marker: int(0..4) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +branching on + [x_ExplicitVarSizeWithDummy, x_Occurrence, y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values] +such that + and([x_Occurrence[i] /\ q14 <= y_ExplicitVarSizeWithMarker_Marker -> i + 2 = y_ExplicitVarSizeWithMarker_Values[q14] + | i : int(2..5), q14 : int(1..4)]), + 1 <= sum([toInt(x_Occurrence[q1]) | q1 : int(2..5)]), + and([q2 + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithMarker_Values[q2] < y_ExplicitVarSizeWithMarker_Values[q2 + 1] + | q2 : int(1..3)]), + and([q3 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[q3] = 2 | q3 : int(1..4)]), + 1 <= y_ExplicitVarSizeWithMarker_Marker, + and([x_ExplicitVarSizeWithDummy[q5] < x_ExplicitVarSizeWithDummy[q5 + 1] \/ x_ExplicitVarSizeWithDummy[q5] = 6 + | q5 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q6] = 6 -> x_ExplicitVarSizeWithDummy[q6 + 1] = 6 | q6 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithDummy[q7] != 6) | q7 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q10] != 6 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q10]] | q10 : int(1..4)]), + and([x_Occurrence[q11] -> + or([x_ExplicitVarSizeWithDummy[q13] != 6 /\ x_ExplicitVarSizeWithDummy[q13] = q11 | q13 : int(1..4)]) + | q11 : int(2..5)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_1_3_2_4-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_1_3_2_4-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_3_2_4-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_1_3_2_4-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_1_3_2_4-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_3_2_4-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_1_3_2_4.eprime b/tests/exhaustive/basic/set09/expected/model_1_3_2_4.eprime new file mode 100644 index 0000000000..0129c25cc0 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_3_2_4.eprime @@ -0,0 +1,46 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(2..5)] of bool +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find y_ExplicitVarSizeWithMarker_Marker: int(0..4) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +branching on + [x_ExplicitVarSizeWithDummy, x_Occurrence, y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values, + y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values] +such that + and([x_Occurrence[i] /\ q27 <= y_ExplicitVarSizeWithMarker_Marker -> i + 2 = y_ExplicitVarSizeWithMarker_Values[q27] + | i : int(2..5), q27 : int(1..4)]), + 1 <= sum([toInt(x_Occurrence[q1]) | q1 : int(2..5)]), + and([q2 + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithMarker_Values[q2] < y_ExplicitVarSizeWithMarker_Values[q2 + 1] + | q2 : int(1..3)]), + and([q3 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[q3] = 2 | q3 : int(1..4)]), + 1 <= y_ExplicitVarSizeWithMarker_Marker, + and([x_ExplicitVarSizeWithDummy[q5] < x_ExplicitVarSizeWithDummy[q5 + 1] \/ x_ExplicitVarSizeWithDummy[q5] = 6 + | q5 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q6] = 6 -> x_ExplicitVarSizeWithDummy[q6 + 1] = 6 | q6 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithDummy[q7] != 6) | q7 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q10] != 6 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q10]] | q10 : int(1..4)]), + and([x_Occurrence[q11] -> + or([x_ExplicitVarSizeWithDummy[q13] != 6 /\ x_ExplicitVarSizeWithDummy[q13] = q11 | q13 : int(1..4)]) + | q11 : int(2..5)]), + and([y_ExplicitVarSizeWithFlags_Flags[q14 + 1] -> + y_ExplicitVarSizeWithFlags_Values[q14] < y_ExplicitVarSizeWithFlags_Values[q14 + 1] + | q14 : int(1..3)]), + and([y_ExplicitVarSizeWithFlags_Flags[q15] = false -> y_ExplicitVarSizeWithFlags_Values[q15] = 2 + | q15 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q16 + 1] -> y_ExplicitVarSizeWithFlags_Flags[q16] | q16 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithFlags_Flags[q17]) | q17 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q20] -> + or([q22 <= y_ExplicitVarSizeWithMarker_Marker /\ + y_ExplicitVarSizeWithMarker_Values[q22] = y_ExplicitVarSizeWithFlags_Values[q20] + | q22 : int(1..4)]) + | q20 : int(1..4)]), + and([q24 <= y_ExplicitVarSizeWithMarker_Marker -> + or([y_ExplicitVarSizeWithFlags_Flags[q26] /\ + y_ExplicitVarSizeWithFlags_Values[q26] = y_ExplicitVarSizeWithMarker_Values[q24] + | q26 : int(1..4)]) + | q24 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_1_3_3_1-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_1_3_3_1-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_3_3_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_1_3_3_1-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_1_3_3_1-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_3_3_1-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_1_3_3_1.eprime b/tests/exhaustive/basic/set09/expected/model_1_3_3_1.eprime new file mode 100644 index 0000000000..e299f22797 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_3_3_1.eprime @@ -0,0 +1,39 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(2..5)] of bool +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithMarker_Marker: int(0..4) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_Occurrence: matrix indexed by [int(2..5)] of bool +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_Occurrence, y_Occurrence, + y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values] +such that + and([x_Occurrence[i] /\ q19 <= y_ExplicitVarSizeWithMarker_Marker -> i + 2 = y_ExplicitVarSizeWithMarker_Values[q19] + | i : int(2..5), q19 : int(1..4)]), + 1 <= sum([toInt(x_Occurrence[q1]) | q1 : int(2..5)]), + and([q2 + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithMarker_Values[q2] < y_ExplicitVarSizeWithMarker_Values[q2 + 1] + | q2 : int(1..3)]), + and([q3 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[q3] = 2 | q3 : int(1..4)]), + 1 <= y_ExplicitVarSizeWithMarker_Marker, + and([q5 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q5] < x_ExplicitVarSizeWithMarker_Values[q5 + 1] + | q5 : int(1..3)]), + and([q6 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q6] = 2 | q6 : int(1..4)]), + 1 <= x_ExplicitVarSizeWithMarker_Marker, + and([q9 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q9]] + | q9 : int(1..4)]), + and([x_Occurrence[q10] -> + or([q12 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q12] = q10 + | q12 : int(1..4)]) + | q10 : int(2..5)]), + 1 <= sum([toInt(y_Occurrence[q13]) | q13 : int(2..5)]), + and([y_Occurrence[q14] -> + or([q16 <= y_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithMarker_Values[q16] = q14 + | q16 : int(1..4)]) + | q14 : int(2..5)]), + and([q18 <= y_ExplicitVarSizeWithMarker_Marker -> y_Occurrence[y_ExplicitVarSizeWithMarker_Values[q18]] + | q18 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_1_3_3_2-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_1_3_3_2-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_3_3_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_1_3_3_2-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_1_3_3_2-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_3_3_2-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_1_3_3_2.eprime b/tests/exhaustive/basic/set09/expected/model_1_3_3_2.eprime new file mode 100644 index 0000000000..75e285106e --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_3_3_2.eprime @@ -0,0 +1,46 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(2..5)] of bool +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithMarker_Marker: int(0..4) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_Occurrence, y_ExplicitVarSizeWithDummy, + y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values] +such that + and([x_Occurrence[i] /\ q25 <= y_ExplicitVarSizeWithMarker_Marker -> i + 2 = y_ExplicitVarSizeWithMarker_Values[q25] + | i : int(2..5), q25 : int(1..4)]), + 1 <= sum([toInt(x_Occurrence[q1]) | q1 : int(2..5)]), + and([q2 + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithMarker_Values[q2] < y_ExplicitVarSizeWithMarker_Values[q2 + 1] + | q2 : int(1..3)]), + and([q3 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[q3] = 2 | q3 : int(1..4)]), + 1 <= y_ExplicitVarSizeWithMarker_Marker, + and([q5 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q5] < x_ExplicitVarSizeWithMarker_Values[q5 + 1] + | q5 : int(1..3)]), + and([q6 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q6] = 2 | q6 : int(1..4)]), + 1 <= x_ExplicitVarSizeWithMarker_Marker, + and([q9 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q9]] + | q9 : int(1..4)]), + and([x_Occurrence[q10] -> + or([q12 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q12] = q10 + | q12 : int(1..4)]) + | q10 : int(2..5)]), + and([y_ExplicitVarSizeWithDummy[q13] < y_ExplicitVarSizeWithDummy[q13 + 1] \/ y_ExplicitVarSizeWithDummy[q13] = 6 + | q13 : int(1..3)]), + and([y_ExplicitVarSizeWithDummy[q14] = 6 -> y_ExplicitVarSizeWithDummy[q14 + 1] = 6 | q14 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithDummy[q15] != 6) | q15 : int(1..4)]), + and([y_ExplicitVarSizeWithDummy[q18] != 6 -> + or([q20 <= y_ExplicitVarSizeWithMarker_Marker /\ + y_ExplicitVarSizeWithMarker_Values[q20] = y_ExplicitVarSizeWithDummy[q18] + | q20 : int(1..4)]) + | q18 : int(1..4)]), + and([q22 <= y_ExplicitVarSizeWithMarker_Marker -> + or([y_ExplicitVarSizeWithDummy[q24] != 6 /\ + y_ExplicitVarSizeWithDummy[q24] = y_ExplicitVarSizeWithMarker_Values[q22] + | q24 : int(1..4)]) + | q22 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_1_3_3_3-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_1_3_3_3-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_3_3_3-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_1_3_3_3-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_1_3_3_3-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_3_3_3-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_1_3_3_3.eprime b/tests/exhaustive/basic/set09/expected/model_1_3_3_3.eprime new file mode 100644 index 0000000000..c8c2dc92cf --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_3_3_3.eprime @@ -0,0 +1,31 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(2..5)] of bool +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithMarker_Marker: int(0..4) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_Occurrence, + y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values] +such that + and([x_Occurrence[i] /\ q13 <= y_ExplicitVarSizeWithMarker_Marker -> i + 2 = y_ExplicitVarSizeWithMarker_Values[q13] + | i : int(2..5), q13 : int(1..4)]), + 1 <= sum([toInt(x_Occurrence[q1]) | q1 : int(2..5)]), + and([q2 + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithMarker_Values[q2] < y_ExplicitVarSizeWithMarker_Values[q2 + 1] + | q2 : int(1..3)]), + and([q3 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[q3] = 2 | q3 : int(1..4)]), + 1 <= y_ExplicitVarSizeWithMarker_Marker, + and([q5 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q5] < x_ExplicitVarSizeWithMarker_Values[q5 + 1] + | q5 : int(1..3)]), + and([q6 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q6] = 2 | q6 : int(1..4)]), + 1 <= x_ExplicitVarSizeWithMarker_Marker, + and([q9 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q9]] + | q9 : int(1..4)]), + and([x_Occurrence[q10] -> + or([q12 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q12] = q10 + | q12 : int(1..4)]) + | q10 : int(2..5)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_1_3_3_4-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_1_3_3_4-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_3_3_4-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_1_3_3_4-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_1_3_3_4-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_3_3_4-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_1_3_3_4.eprime b/tests/exhaustive/basic/set09/expected/model_1_3_3_4.eprime new file mode 100644 index 0000000000..04d78aaca9 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_3_3_4.eprime @@ -0,0 +1,51 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(2..5)] of bool +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithMarker_Marker: int(0..4) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_Occurrence, + y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values, y_ExplicitVarSizeWithMarker_Marker, + y_ExplicitVarSizeWithMarker_Values] +such that + and([x_Occurrence[i] /\ q26 <= y_ExplicitVarSizeWithMarker_Marker -> i + 2 = y_ExplicitVarSizeWithMarker_Values[q26] + | i : int(2..5), q26 : int(1..4)]), + 1 <= sum([toInt(x_Occurrence[q1]) | q1 : int(2..5)]), + and([q2 + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithMarker_Values[q2] < y_ExplicitVarSizeWithMarker_Values[q2 + 1] + | q2 : int(1..3)]), + and([q3 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[q3] = 2 | q3 : int(1..4)]), + 1 <= y_ExplicitVarSizeWithMarker_Marker, + and([q5 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q5] < x_ExplicitVarSizeWithMarker_Values[q5 + 1] + | q5 : int(1..3)]), + and([q6 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q6] = 2 | q6 : int(1..4)]), + 1 <= x_ExplicitVarSizeWithMarker_Marker, + and([q9 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q9]] + | q9 : int(1..4)]), + and([x_Occurrence[q10] -> + or([q12 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q12] = q10 + | q12 : int(1..4)]) + | q10 : int(2..5)]), + and([y_ExplicitVarSizeWithFlags_Flags[q13 + 1] -> + y_ExplicitVarSizeWithFlags_Values[q13] < y_ExplicitVarSizeWithFlags_Values[q13 + 1] + | q13 : int(1..3)]), + and([y_ExplicitVarSizeWithFlags_Flags[q14] = false -> y_ExplicitVarSizeWithFlags_Values[q14] = 2 + | q14 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q15 + 1] -> y_ExplicitVarSizeWithFlags_Flags[q15] | q15 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithFlags_Flags[q16]) | q16 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q19] -> + or([q21 <= y_ExplicitVarSizeWithMarker_Marker /\ + y_ExplicitVarSizeWithMarker_Values[q21] = y_ExplicitVarSizeWithFlags_Values[q19] + | q21 : int(1..4)]) + | q19 : int(1..4)]), + and([q23 <= y_ExplicitVarSizeWithMarker_Marker -> + or([y_ExplicitVarSizeWithFlags_Flags[q25] /\ + y_ExplicitVarSizeWithFlags_Values[q25] = y_ExplicitVarSizeWithMarker_Values[q23] + | q25 : int(1..4)]) + | q23 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_1_3_4_1-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_1_3_4_1-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_3_4_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_1_3_4_1-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_1_3_4_1-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_3_4_1-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_1_3_4_1.eprime b/tests/exhaustive/basic/set09/expected/model_1_3_4_1.eprime new file mode 100644 index 0000000000..4beb160d92 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_3_4_1.eprime @@ -0,0 +1,39 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(2..5)] of bool +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithMarker_Marker: int(0..4) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_Occurrence: matrix indexed by [int(2..5)] of bool +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_Occurrence, y_Occurrence, + y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values] +such that + and([x_Occurrence[i] /\ q21 <= y_ExplicitVarSizeWithMarker_Marker -> i + 2 = y_ExplicitVarSizeWithMarker_Values[q21] + | i : int(2..5), q21 : int(1..4)]), + 1 <= sum([toInt(x_Occurrence[q1]) | q1 : int(2..5)]), + and([q2 + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithMarker_Values[q2] < y_ExplicitVarSizeWithMarker_Values[q2 + 1] + | q2 : int(1..3)]), + and([q3 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[q3] = 2 | q3 : int(1..4)]), + 1 <= y_ExplicitVarSizeWithMarker_Marker, + and([x_ExplicitVarSizeWithFlags_Flags[q5 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q5] < x_ExplicitVarSizeWithFlags_Values[q5 + 1] + | q5 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q6] = false -> x_ExplicitVarSizeWithFlags_Values[q6] = 2 | q6 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q7 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q7] | q7 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q8]) | q8 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q11] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q11]] + | q11 : int(1..4)]), + and([x_Occurrence[q12] -> + or([x_ExplicitVarSizeWithFlags_Flags[q14] /\ x_ExplicitVarSizeWithFlags_Values[q14] = q12 | q14 : int(1..4)]) + | q12 : int(2..5)]), + 1 <= sum([toInt(y_Occurrence[q15]) | q15 : int(2..5)]), + and([y_Occurrence[q16] -> + or([q18 <= y_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithMarker_Values[q18] = q16 + | q18 : int(1..4)]) + | q16 : int(2..5)]), + and([q20 <= y_ExplicitVarSizeWithMarker_Marker -> y_Occurrence[y_ExplicitVarSizeWithMarker_Values[q20]] + | q20 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_1_3_4_2-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_1_3_4_2-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_3_4_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_1_3_4_2-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_1_3_4_2-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_3_4_2-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_1_3_4_2.eprime b/tests/exhaustive/basic/set09/expected/model_1_3_4_2.eprime new file mode 100644 index 0000000000..9db3707298 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_3_4_2.eprime @@ -0,0 +1,46 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(2..5)] of bool +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithMarker_Marker: int(0..4) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_Occurrence, y_ExplicitVarSizeWithDummy, + y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values] +such that + and([x_Occurrence[i] /\ q27 <= y_ExplicitVarSizeWithMarker_Marker -> i + 2 = y_ExplicitVarSizeWithMarker_Values[q27] + | i : int(2..5), q27 : int(1..4)]), + 1 <= sum([toInt(x_Occurrence[q1]) | q1 : int(2..5)]), + and([q2 + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithMarker_Values[q2] < y_ExplicitVarSizeWithMarker_Values[q2 + 1] + | q2 : int(1..3)]), + and([q3 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[q3] = 2 | q3 : int(1..4)]), + 1 <= y_ExplicitVarSizeWithMarker_Marker, + and([x_ExplicitVarSizeWithFlags_Flags[q5 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q5] < x_ExplicitVarSizeWithFlags_Values[q5 + 1] + | q5 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q6] = false -> x_ExplicitVarSizeWithFlags_Values[q6] = 2 | q6 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q7 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q7] | q7 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q8]) | q8 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q11] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q11]] + | q11 : int(1..4)]), + and([x_Occurrence[q12] -> + or([x_ExplicitVarSizeWithFlags_Flags[q14] /\ x_ExplicitVarSizeWithFlags_Values[q14] = q12 | q14 : int(1..4)]) + | q12 : int(2..5)]), + and([y_ExplicitVarSizeWithDummy[q15] < y_ExplicitVarSizeWithDummy[q15 + 1] \/ y_ExplicitVarSizeWithDummy[q15] = 6 + | q15 : int(1..3)]), + and([y_ExplicitVarSizeWithDummy[q16] = 6 -> y_ExplicitVarSizeWithDummy[q16 + 1] = 6 | q16 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithDummy[q17] != 6) | q17 : int(1..4)]), + and([y_ExplicitVarSizeWithDummy[q20] != 6 -> + or([q22 <= y_ExplicitVarSizeWithMarker_Marker /\ + y_ExplicitVarSizeWithMarker_Values[q22] = y_ExplicitVarSizeWithDummy[q20] + | q22 : int(1..4)]) + | q20 : int(1..4)]), + and([q24 <= y_ExplicitVarSizeWithMarker_Marker -> + or([y_ExplicitVarSizeWithDummy[q26] != 6 /\ + y_ExplicitVarSizeWithDummy[q26] = y_ExplicitVarSizeWithMarker_Values[q24] + | q26 : int(1..4)]) + | q24 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_1_3_4_3-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_1_3_4_3-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_3_4_3-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_1_3_4_3-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_1_3_4_3-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_3_4_3-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_1_3_4_3.eprime b/tests/exhaustive/basic/set09/expected/model_1_3_4_3.eprime new file mode 100644 index 0000000000..f452bb39ff --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_3_4_3.eprime @@ -0,0 +1,31 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(2..5)] of bool +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithMarker_Marker: int(0..4) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_Occurrence, + y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values] +such that + and([x_Occurrence[i] /\ q15 <= y_ExplicitVarSizeWithMarker_Marker -> i + 2 = y_ExplicitVarSizeWithMarker_Values[q15] + | i : int(2..5), q15 : int(1..4)]), + 1 <= sum([toInt(x_Occurrence[q1]) | q1 : int(2..5)]), + and([q2 + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithMarker_Values[q2] < y_ExplicitVarSizeWithMarker_Values[q2 + 1] + | q2 : int(1..3)]), + and([q3 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[q3] = 2 | q3 : int(1..4)]), + 1 <= y_ExplicitVarSizeWithMarker_Marker, + and([x_ExplicitVarSizeWithFlags_Flags[q5 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q5] < x_ExplicitVarSizeWithFlags_Values[q5 + 1] + | q5 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q6] = false -> x_ExplicitVarSizeWithFlags_Values[q6] = 2 | q6 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q7 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q7] | q7 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q8]) | q8 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q11] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q11]] + | q11 : int(1..4)]), + and([x_Occurrence[q12] -> + or([x_ExplicitVarSizeWithFlags_Flags[q14] /\ x_ExplicitVarSizeWithFlags_Values[q14] = q12 | q14 : int(1..4)]) + | q12 : int(2..5)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_1_3_4_4-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_1_3_4_4-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_3_4_4-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_1_3_4_4-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_1_3_4_4-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_3_4_4-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_1_3_4_4.eprime b/tests/exhaustive/basic/set09/expected/model_1_3_4_4.eprime new file mode 100644 index 0000000000..dec6657450 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_3_4_4.eprime @@ -0,0 +1,51 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(2..5)] of bool +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithMarker_Marker: int(0..4) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_Occurrence, + y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values, y_ExplicitVarSizeWithMarker_Marker, + y_ExplicitVarSizeWithMarker_Values] +such that + and([x_Occurrence[i] /\ q28 <= y_ExplicitVarSizeWithMarker_Marker -> i + 2 = y_ExplicitVarSizeWithMarker_Values[q28] + | i : int(2..5), q28 : int(1..4)]), + 1 <= sum([toInt(x_Occurrence[q1]) | q1 : int(2..5)]), + and([q2 + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithMarker_Values[q2] < y_ExplicitVarSizeWithMarker_Values[q2 + 1] + | q2 : int(1..3)]), + and([q3 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[q3] = 2 | q3 : int(1..4)]), + 1 <= y_ExplicitVarSizeWithMarker_Marker, + and([x_ExplicitVarSizeWithFlags_Flags[q5 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q5] < x_ExplicitVarSizeWithFlags_Values[q5 + 1] + | q5 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q6] = false -> x_ExplicitVarSizeWithFlags_Values[q6] = 2 | q6 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q7 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q7] | q7 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q8]) | q8 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q11] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q11]] + | q11 : int(1..4)]), + and([x_Occurrence[q12] -> + or([x_ExplicitVarSizeWithFlags_Flags[q14] /\ x_ExplicitVarSizeWithFlags_Values[q14] = q12 | q14 : int(1..4)]) + | q12 : int(2..5)]), + and([y_ExplicitVarSizeWithFlags_Flags[q15 + 1] -> + y_ExplicitVarSizeWithFlags_Values[q15] < y_ExplicitVarSizeWithFlags_Values[q15 + 1] + | q15 : int(1..3)]), + and([y_ExplicitVarSizeWithFlags_Flags[q16] = false -> y_ExplicitVarSizeWithFlags_Values[q16] = 2 + | q16 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q17 + 1] -> y_ExplicitVarSizeWithFlags_Flags[q17] | q17 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithFlags_Flags[q18]) | q18 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q21] -> + or([q23 <= y_ExplicitVarSizeWithMarker_Marker /\ + y_ExplicitVarSizeWithMarker_Values[q23] = y_ExplicitVarSizeWithFlags_Values[q21] + | q23 : int(1..4)]) + | q21 : int(1..4)]), + and([q25 <= y_ExplicitVarSizeWithMarker_Marker -> + or([y_ExplicitVarSizeWithFlags_Flags[q27] /\ + y_ExplicitVarSizeWithFlags_Values[q27] = y_ExplicitVarSizeWithMarker_Values[q25] + | q27 : int(1..4)]) + | q25 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_1_4_1_1-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_1_4_1_1-solution000001.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_4_1_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_1_4_1_1-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_1_4_1_1-solution000002.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_4_1_1-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_1_4_1_1.eprime b/tests/exhaustive/basic/set09/expected/model_1_4_1_1.eprime new file mode 100644 index 0000000000..6809b5e1fc --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_4_1_1.eprime @@ -0,0 +1,24 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(2..5)] of bool +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_Occurrence: matrix indexed by [int(2..5)] of bool +branching on [x_Occurrence, y_Occurrence, y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values] +such that + and([x_Occurrence[i] /\ y_ExplicitVarSizeWithFlags_Flags[q13] -> i + 2 = y_ExplicitVarSizeWithFlags_Values[q13] + | i : int(2..5), q13 : int(1..4)]), + 1 <= sum([toInt(x_Occurrence[q1]) | q1 : int(2..5)]), + and([y_ExplicitVarSizeWithFlags_Flags[q2 + 1] -> + y_ExplicitVarSizeWithFlags_Values[q2] < y_ExplicitVarSizeWithFlags_Values[q2 + 1] + | q2 : int(1..3)]), + and([y_ExplicitVarSizeWithFlags_Flags[q3] = false -> y_ExplicitVarSizeWithFlags_Values[q3] = 2 | q3 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q4 + 1] -> y_ExplicitVarSizeWithFlags_Flags[q4] | q4 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithFlags_Flags[q5]) | q5 : int(1..4)]), + 1 <= sum([toInt(y_Occurrence[q7]) | q7 : int(2..5)]), + and([y_Occurrence[q8] -> + or([y_ExplicitVarSizeWithFlags_Flags[q10] /\ y_ExplicitVarSizeWithFlags_Values[q10] = q8 | q10 : int(1..4)]) + | q8 : int(2..5)]), + and([y_ExplicitVarSizeWithFlags_Flags[q12] -> y_Occurrence[y_ExplicitVarSizeWithFlags_Values[q12]] + | q12 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_1_4_1_2-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_1_4_1_2-solution000001.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_4_1_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_1_4_1_2-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_1_4_1_2-solution000002.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_4_1_2-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_1_4_1_2.eprime b/tests/exhaustive/basic/set09/expected/model_1_4_1_2.eprime new file mode 100644 index 0000000000..771b008b83 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_4_1_2.eprime @@ -0,0 +1,33 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(2..5)] of bool +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +branching on + [x_Occurrence, y_ExplicitVarSizeWithDummy, y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values] +such that + and([x_Occurrence[i] /\ y_ExplicitVarSizeWithFlags_Flags[q19] -> i + 2 = y_ExplicitVarSizeWithFlags_Values[q19] + | i : int(2..5), q19 : int(1..4)]), + 1 <= sum([toInt(x_Occurrence[q1]) | q1 : int(2..5)]), + and([y_ExplicitVarSizeWithFlags_Flags[q2 + 1] -> + y_ExplicitVarSizeWithFlags_Values[q2] < y_ExplicitVarSizeWithFlags_Values[q2 + 1] + | q2 : int(1..3)]), + and([y_ExplicitVarSizeWithFlags_Flags[q3] = false -> y_ExplicitVarSizeWithFlags_Values[q3] = 2 | q3 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q4 + 1] -> y_ExplicitVarSizeWithFlags_Flags[q4] | q4 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithFlags_Flags[q5]) | q5 : int(1..4)]), + and([y_ExplicitVarSizeWithDummy[q7] < y_ExplicitVarSizeWithDummy[q7 + 1] \/ y_ExplicitVarSizeWithDummy[q7] = 6 + | q7 : int(1..3)]), + and([y_ExplicitVarSizeWithDummy[q8] = 6 -> y_ExplicitVarSizeWithDummy[q8 + 1] = 6 | q8 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithDummy[q9] != 6) | q9 : int(1..4)]), + and([y_ExplicitVarSizeWithDummy[q12] != 6 -> + or([y_ExplicitVarSizeWithFlags_Flags[q14] /\ + y_ExplicitVarSizeWithFlags_Values[q14] = y_ExplicitVarSizeWithDummy[q12] + | q14 : int(1..4)]) + | q12 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q16] -> + or([y_ExplicitVarSizeWithDummy[q18] != 6 /\ + y_ExplicitVarSizeWithDummy[q18] = y_ExplicitVarSizeWithFlags_Values[q16] + | q18 : int(1..4)]) + | q16 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_1_4_1_3-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_1_4_1_3-solution000001.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_4_1_3-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_1_4_1_3-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_1_4_1_3-solution000002.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_4_1_3-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_1_4_1_3.eprime b/tests/exhaustive/basic/set09/expected/model_1_4_1_3.eprime new file mode 100644 index 0000000000..366e35ebb5 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_4_1_3.eprime @@ -0,0 +1,36 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(2..5)] of bool +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithMarker_Marker: int(0..4) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +branching on + [x_Occurrence, y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values, + y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values] +such that + and([x_Occurrence[i] /\ y_ExplicitVarSizeWithFlags_Flags[q18] -> i + 2 = y_ExplicitVarSizeWithFlags_Values[q18] + | i : int(2..5), q18 : int(1..4)]), + 1 <= sum([toInt(x_Occurrence[q1]) | q1 : int(2..5)]), + and([y_ExplicitVarSizeWithFlags_Flags[q2 + 1] -> + y_ExplicitVarSizeWithFlags_Values[q2] < y_ExplicitVarSizeWithFlags_Values[q2 + 1] + | q2 : int(1..3)]), + and([y_ExplicitVarSizeWithFlags_Flags[q3] = false -> y_ExplicitVarSizeWithFlags_Values[q3] = 2 | q3 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q4 + 1] -> y_ExplicitVarSizeWithFlags_Flags[q4] | q4 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithFlags_Flags[q5]) | q5 : int(1..4)]), + and([q7 + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithMarker_Values[q7] < y_ExplicitVarSizeWithMarker_Values[q7 + 1] + | q7 : int(1..3)]), + and([q8 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[q8] = 2 | q8 : int(1..4)]), + 1 <= y_ExplicitVarSizeWithMarker_Marker, + and([q11 <= y_ExplicitVarSizeWithMarker_Marker -> + or([y_ExplicitVarSizeWithFlags_Flags[q13] /\ + y_ExplicitVarSizeWithFlags_Values[q13] = y_ExplicitVarSizeWithMarker_Values[q11] + | q13 : int(1..4)]) + | q11 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q15] -> + or([q17 <= y_ExplicitVarSizeWithMarker_Marker /\ + y_ExplicitVarSizeWithMarker_Values[q17] = y_ExplicitVarSizeWithFlags_Values[q15] + | q17 : int(1..4)]) + | q15 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_1_4_1_4-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_1_4_1_4-solution000001.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_4_1_4-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_1_4_1_4-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_1_4_1_4-solution000002.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_4_1_4-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_1_4_1_4.eprime b/tests/exhaustive/basic/set09/expected/model_1_4_1_4.eprime new file mode 100644 index 0000000000..bfdab410df --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_4_1_4.eprime @@ -0,0 +1,17 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(2..5)] of bool +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +branching on [x_Occurrence, y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values] +such that + and([x_Occurrence[i] /\ y_ExplicitVarSizeWithFlags_Flags[q7] -> i + 2 = y_ExplicitVarSizeWithFlags_Values[q7] + | i : int(2..5), q7 : int(1..4)]), + 1 <= sum([toInt(x_Occurrence[q1]) | q1 : int(2..5)]), + and([y_ExplicitVarSizeWithFlags_Flags[q2 + 1] -> + y_ExplicitVarSizeWithFlags_Values[q2] < y_ExplicitVarSizeWithFlags_Values[q2 + 1] + | q2 : int(1..3)]), + and([y_ExplicitVarSizeWithFlags_Flags[q3] = false -> y_ExplicitVarSizeWithFlags_Values[q3] = 2 | q3 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q4 + 1] -> y_ExplicitVarSizeWithFlags_Flags[q4] | q4 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithFlags_Flags[q5]) | q5 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_1_4_2_1-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_1_4_2_1-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_4_2_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_1_4_2_1-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_1_4_2_1-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_4_2_1-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_1_4_2_1.eprime b/tests/exhaustive/basic/set09/expected/model_1_4_2_1.eprime new file mode 100644 index 0000000000..e41a4cfc54 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_4_2_1.eprime @@ -0,0 +1,35 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(2..5)] of bool +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_Occurrence: matrix indexed by [int(2..5)] of bool +branching on + [x_ExplicitVarSizeWithDummy, x_Occurrence, y_Occurrence, y_ExplicitVarSizeWithFlags_Flags, + y_ExplicitVarSizeWithFlags_Values] +such that + and([x_Occurrence[i] /\ y_ExplicitVarSizeWithFlags_Flags[q22] -> i + 2 = y_ExplicitVarSizeWithFlags_Values[q22] + | i : int(2..5), q22 : int(1..4)]), + 1 <= sum([toInt(x_Occurrence[q1]) | q1 : int(2..5)]), + and([y_ExplicitVarSizeWithFlags_Flags[q2 + 1] -> + y_ExplicitVarSizeWithFlags_Values[q2] < y_ExplicitVarSizeWithFlags_Values[q2 + 1] + | q2 : int(1..3)]), + and([y_ExplicitVarSizeWithFlags_Flags[q3] = false -> y_ExplicitVarSizeWithFlags_Values[q3] = 2 | q3 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q4 + 1] -> y_ExplicitVarSizeWithFlags_Flags[q4] | q4 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithFlags_Flags[q5]) | q5 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q7] < x_ExplicitVarSizeWithDummy[q7 + 1] \/ x_ExplicitVarSizeWithDummy[q7] = 6 + | q7 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q8] = 6 -> x_ExplicitVarSizeWithDummy[q8 + 1] = 6 | q8 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithDummy[q9] != 6) | q9 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q12] != 6 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q12]] | q12 : int(1..4)]), + and([x_Occurrence[q13] -> + or([x_ExplicitVarSizeWithDummy[q15] != 6 /\ x_ExplicitVarSizeWithDummy[q15] = q13 | q15 : int(1..4)]) + | q13 : int(2..5)]), + 1 <= sum([toInt(y_Occurrence[q16]) | q16 : int(2..5)]), + and([y_Occurrence[q17] -> + or([y_ExplicitVarSizeWithFlags_Flags[q19] /\ y_ExplicitVarSizeWithFlags_Values[q19] = q17 | q19 : int(1..4)]) + | q17 : int(2..5)]), + and([y_ExplicitVarSizeWithFlags_Flags[q21] -> y_Occurrence[y_ExplicitVarSizeWithFlags_Values[q21]] + | q21 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_1_4_2_2-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_1_4_2_2-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_4_2_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_1_4_2_2-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_1_4_2_2-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_4_2_2-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_1_4_2_2.eprime b/tests/exhaustive/basic/set09/expected/model_1_4_2_2.eprime new file mode 100644 index 0000000000..64521d1cd6 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_4_2_2.eprime @@ -0,0 +1,43 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(2..5)] of bool +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +branching on + [x_ExplicitVarSizeWithDummy, x_Occurrence, y_ExplicitVarSizeWithDummy, y_ExplicitVarSizeWithFlags_Flags, + y_ExplicitVarSizeWithFlags_Values] +such that + and([x_Occurrence[i] /\ y_ExplicitVarSizeWithFlags_Flags[q28] -> i + 2 = y_ExplicitVarSizeWithFlags_Values[q28] + | i : int(2..5), q28 : int(1..4)]), + 1 <= sum([toInt(x_Occurrence[q1]) | q1 : int(2..5)]), + and([y_ExplicitVarSizeWithFlags_Flags[q2 + 1] -> + y_ExplicitVarSizeWithFlags_Values[q2] < y_ExplicitVarSizeWithFlags_Values[q2 + 1] + | q2 : int(1..3)]), + and([y_ExplicitVarSizeWithFlags_Flags[q3] = false -> y_ExplicitVarSizeWithFlags_Values[q3] = 2 | q3 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q4 + 1] -> y_ExplicitVarSizeWithFlags_Flags[q4] | q4 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithFlags_Flags[q5]) | q5 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q7] < x_ExplicitVarSizeWithDummy[q7 + 1] \/ x_ExplicitVarSizeWithDummy[q7] = 6 + | q7 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q8] = 6 -> x_ExplicitVarSizeWithDummy[q8 + 1] = 6 | q8 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithDummy[q9] != 6) | q9 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q12] != 6 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q12]] | q12 : int(1..4)]), + and([x_Occurrence[q13] -> + or([x_ExplicitVarSizeWithDummy[q15] != 6 /\ x_ExplicitVarSizeWithDummy[q15] = q13 | q15 : int(1..4)]) + | q13 : int(2..5)]), + and([y_ExplicitVarSizeWithDummy[q16] < y_ExplicitVarSizeWithDummy[q16 + 1] \/ y_ExplicitVarSizeWithDummy[q16] = 6 + | q16 : int(1..3)]), + and([y_ExplicitVarSizeWithDummy[q17] = 6 -> y_ExplicitVarSizeWithDummy[q17 + 1] = 6 | q17 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithDummy[q18] != 6) | q18 : int(1..4)]), + and([y_ExplicitVarSizeWithDummy[q21] != 6 -> + or([y_ExplicitVarSizeWithFlags_Flags[q23] /\ + y_ExplicitVarSizeWithFlags_Values[q23] = y_ExplicitVarSizeWithDummy[q21] + | q23 : int(1..4)]) + | q21 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q25] -> + or([y_ExplicitVarSizeWithDummy[q27] != 6 /\ + y_ExplicitVarSizeWithDummy[q27] = y_ExplicitVarSizeWithFlags_Values[q25] + | q27 : int(1..4)]) + | q25 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_1_4_2_3-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_1_4_2_3-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_4_2_3-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_1_4_2_3-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_1_4_2_3-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_4_2_3-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_1_4_2_3.eprime b/tests/exhaustive/basic/set09/expected/model_1_4_2_3.eprime new file mode 100644 index 0000000000..68e8249552 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_4_2_3.eprime @@ -0,0 +1,45 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(2..5)] of bool +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithMarker_Marker: int(0..4) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +branching on + [x_ExplicitVarSizeWithDummy, x_Occurrence, y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values, + y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values] +such that + and([x_Occurrence[i] /\ y_ExplicitVarSizeWithFlags_Flags[q27] -> i + 2 = y_ExplicitVarSizeWithFlags_Values[q27] + | i : int(2..5), q27 : int(1..4)]), + 1 <= sum([toInt(x_Occurrence[q1]) | q1 : int(2..5)]), + and([y_ExplicitVarSizeWithFlags_Flags[q2 + 1] -> + y_ExplicitVarSizeWithFlags_Values[q2] < y_ExplicitVarSizeWithFlags_Values[q2 + 1] + | q2 : int(1..3)]), + and([y_ExplicitVarSizeWithFlags_Flags[q3] = false -> y_ExplicitVarSizeWithFlags_Values[q3] = 2 | q3 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q4 + 1] -> y_ExplicitVarSizeWithFlags_Flags[q4] | q4 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithFlags_Flags[q5]) | q5 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q7] < x_ExplicitVarSizeWithDummy[q7 + 1] \/ x_ExplicitVarSizeWithDummy[q7] = 6 + | q7 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q8] = 6 -> x_ExplicitVarSizeWithDummy[q8 + 1] = 6 | q8 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithDummy[q9] != 6) | q9 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q12] != 6 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q12]] | q12 : int(1..4)]), + and([x_Occurrence[q13] -> + or([x_ExplicitVarSizeWithDummy[q15] != 6 /\ x_ExplicitVarSizeWithDummy[q15] = q13 | q15 : int(1..4)]) + | q13 : int(2..5)]), + and([q16 + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithMarker_Values[q16] < y_ExplicitVarSizeWithMarker_Values[q16 + 1] + | q16 : int(1..3)]), + and([q17 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[q17] = 2 | q17 : int(1..4)]), + 1 <= y_ExplicitVarSizeWithMarker_Marker, + and([q20 <= y_ExplicitVarSizeWithMarker_Marker -> + or([y_ExplicitVarSizeWithFlags_Flags[q22] /\ + y_ExplicitVarSizeWithFlags_Values[q22] = y_ExplicitVarSizeWithMarker_Values[q20] + | q22 : int(1..4)]) + | q20 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q24] -> + or([q26 <= y_ExplicitVarSizeWithMarker_Marker /\ + y_ExplicitVarSizeWithMarker_Values[q26] = y_ExplicitVarSizeWithFlags_Values[q24] + | q26 : int(1..4)]) + | q24 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_1_4_2_4-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_1_4_2_4-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_4_2_4-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_1_4_2_4-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_1_4_2_4-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_4_2_4-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_1_4_2_4.eprime b/tests/exhaustive/basic/set09/expected/model_1_4_2_4.eprime new file mode 100644 index 0000000000..2c847ef491 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_4_2_4.eprime @@ -0,0 +1,27 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(2..5)] of bool +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +branching on + [x_ExplicitVarSizeWithDummy, x_Occurrence, y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values] +such that + and([x_Occurrence[i] /\ y_ExplicitVarSizeWithFlags_Flags[q16] -> i + 2 = y_ExplicitVarSizeWithFlags_Values[q16] + | i : int(2..5), q16 : int(1..4)]), + 1 <= sum([toInt(x_Occurrence[q1]) | q1 : int(2..5)]), + and([y_ExplicitVarSizeWithFlags_Flags[q2 + 1] -> + y_ExplicitVarSizeWithFlags_Values[q2] < y_ExplicitVarSizeWithFlags_Values[q2 + 1] + | q2 : int(1..3)]), + and([y_ExplicitVarSizeWithFlags_Flags[q3] = false -> y_ExplicitVarSizeWithFlags_Values[q3] = 2 | q3 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q4 + 1] -> y_ExplicitVarSizeWithFlags_Flags[q4] | q4 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithFlags_Flags[q5]) | q5 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q7] < x_ExplicitVarSizeWithDummy[q7 + 1] \/ x_ExplicitVarSizeWithDummy[q7] = 6 + | q7 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q8] = 6 -> x_ExplicitVarSizeWithDummy[q8 + 1] = 6 | q8 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithDummy[q9] != 6) | q9 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q12] != 6 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q12]] | q12 : int(1..4)]), + and([x_Occurrence[q13] -> + or([x_ExplicitVarSizeWithDummy[q15] != 6 /\ x_ExplicitVarSizeWithDummy[q15] = q13 | q15 : int(1..4)]) + | q13 : int(2..5)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_1_4_3_1-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_1_4_3_1-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_4_3_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_1_4_3_1-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_1_4_3_1-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_4_3_1-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_1_4_3_1.eprime b/tests/exhaustive/basic/set09/expected/model_1_4_3_1.eprime new file mode 100644 index 0000000000..2c2cd8735b --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_4_3_1.eprime @@ -0,0 +1,39 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(2..5)] of bool +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_Occurrence: matrix indexed by [int(2..5)] of bool +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_Occurrence, y_Occurrence, + y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values] +such that + and([x_Occurrence[i] /\ y_ExplicitVarSizeWithFlags_Flags[q21] -> i + 2 = y_ExplicitVarSizeWithFlags_Values[q21] + | i : int(2..5), q21 : int(1..4)]), + 1 <= sum([toInt(x_Occurrence[q1]) | q1 : int(2..5)]), + and([y_ExplicitVarSizeWithFlags_Flags[q2 + 1] -> + y_ExplicitVarSizeWithFlags_Values[q2] < y_ExplicitVarSizeWithFlags_Values[q2 + 1] + | q2 : int(1..3)]), + and([y_ExplicitVarSizeWithFlags_Flags[q3] = false -> y_ExplicitVarSizeWithFlags_Values[q3] = 2 | q3 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q4 + 1] -> y_ExplicitVarSizeWithFlags_Flags[q4] | q4 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithFlags_Flags[q5]) | q5 : int(1..4)]), + and([q7 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q7] < x_ExplicitVarSizeWithMarker_Values[q7 + 1] + | q7 : int(1..3)]), + and([q8 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q8] = 2 | q8 : int(1..4)]), + 1 <= x_ExplicitVarSizeWithMarker_Marker, + and([q11 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q11]] + | q11 : int(1..4)]), + and([x_Occurrence[q12] -> + or([q14 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q14] = q12 + | q14 : int(1..4)]) + | q12 : int(2..5)]), + 1 <= sum([toInt(y_Occurrence[q15]) | q15 : int(2..5)]), + and([y_Occurrence[q16] -> + or([y_ExplicitVarSizeWithFlags_Flags[q18] /\ y_ExplicitVarSizeWithFlags_Values[q18] = q16 | q18 : int(1..4)]) + | q16 : int(2..5)]), + and([y_ExplicitVarSizeWithFlags_Flags[q20] -> y_Occurrence[y_ExplicitVarSizeWithFlags_Values[q20]] + | q20 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_1_4_3_2-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_1_4_3_2-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_4_3_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_1_4_3_2-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_1_4_3_2-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_4_3_2-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_1_4_3_2.eprime b/tests/exhaustive/basic/set09/expected/model_1_4_3_2.eprime new file mode 100644 index 0000000000..dca70c6bd1 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_4_3_2.eprime @@ -0,0 +1,47 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(2..5)] of bool +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_Occurrence, y_ExplicitVarSizeWithDummy, + y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values] +such that + and([x_Occurrence[i] /\ y_ExplicitVarSizeWithFlags_Flags[q27] -> i + 2 = y_ExplicitVarSizeWithFlags_Values[q27] + | i : int(2..5), q27 : int(1..4)]), + 1 <= sum([toInt(x_Occurrence[q1]) | q1 : int(2..5)]), + and([y_ExplicitVarSizeWithFlags_Flags[q2 + 1] -> + y_ExplicitVarSizeWithFlags_Values[q2] < y_ExplicitVarSizeWithFlags_Values[q2 + 1] + | q2 : int(1..3)]), + and([y_ExplicitVarSizeWithFlags_Flags[q3] = false -> y_ExplicitVarSizeWithFlags_Values[q3] = 2 | q3 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q4 + 1] -> y_ExplicitVarSizeWithFlags_Flags[q4] | q4 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithFlags_Flags[q5]) | q5 : int(1..4)]), + and([q7 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q7] < x_ExplicitVarSizeWithMarker_Values[q7 + 1] + | q7 : int(1..3)]), + and([q8 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q8] = 2 | q8 : int(1..4)]), + 1 <= x_ExplicitVarSizeWithMarker_Marker, + and([q11 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q11]] + | q11 : int(1..4)]), + and([x_Occurrence[q12] -> + or([q14 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q14] = q12 + | q14 : int(1..4)]) + | q12 : int(2..5)]), + and([y_ExplicitVarSizeWithDummy[q15] < y_ExplicitVarSizeWithDummy[q15 + 1] \/ y_ExplicitVarSizeWithDummy[q15] = 6 + | q15 : int(1..3)]), + and([y_ExplicitVarSizeWithDummy[q16] = 6 -> y_ExplicitVarSizeWithDummy[q16 + 1] = 6 | q16 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithDummy[q17] != 6) | q17 : int(1..4)]), + and([y_ExplicitVarSizeWithDummy[q20] != 6 -> + or([y_ExplicitVarSizeWithFlags_Flags[q22] /\ + y_ExplicitVarSizeWithFlags_Values[q22] = y_ExplicitVarSizeWithDummy[q20] + | q22 : int(1..4)]) + | q20 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q24] -> + or([y_ExplicitVarSizeWithDummy[q26] != 6 /\ + y_ExplicitVarSizeWithDummy[q26] = y_ExplicitVarSizeWithFlags_Values[q24] + | q26 : int(1..4)]) + | q24 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_1_4_3_3-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_1_4_3_3-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_4_3_3-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_1_4_3_3-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_1_4_3_3-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_4_3_3-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_1_4_3_3.eprime b/tests/exhaustive/basic/set09/expected/model_1_4_3_3.eprime new file mode 100644 index 0000000000..bd28a832b9 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_4_3_3.eprime @@ -0,0 +1,50 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(2..5)] of bool +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithMarker_Marker: int(0..4) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_Occurrence, + y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values, y_ExplicitVarSizeWithFlags_Flags, + y_ExplicitVarSizeWithFlags_Values] +such that + and([x_Occurrence[i] /\ y_ExplicitVarSizeWithFlags_Flags[q26] -> i + 2 = y_ExplicitVarSizeWithFlags_Values[q26] + | i : int(2..5), q26 : int(1..4)]), + 1 <= sum([toInt(x_Occurrence[q1]) | q1 : int(2..5)]), + and([y_ExplicitVarSizeWithFlags_Flags[q2 + 1] -> + y_ExplicitVarSizeWithFlags_Values[q2] < y_ExplicitVarSizeWithFlags_Values[q2 + 1] + | q2 : int(1..3)]), + and([y_ExplicitVarSizeWithFlags_Flags[q3] = false -> y_ExplicitVarSizeWithFlags_Values[q3] = 2 | q3 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q4 + 1] -> y_ExplicitVarSizeWithFlags_Flags[q4] | q4 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithFlags_Flags[q5]) | q5 : int(1..4)]), + and([q7 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q7] < x_ExplicitVarSizeWithMarker_Values[q7 + 1] + | q7 : int(1..3)]), + and([q8 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q8] = 2 | q8 : int(1..4)]), + 1 <= x_ExplicitVarSizeWithMarker_Marker, + and([q11 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q11]] + | q11 : int(1..4)]), + and([x_Occurrence[q12] -> + or([q14 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q14] = q12 + | q14 : int(1..4)]) + | q12 : int(2..5)]), + and([q15 + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithMarker_Values[q15] < y_ExplicitVarSizeWithMarker_Values[q15 + 1] + | q15 : int(1..3)]), + and([q16 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[q16] = 2 | q16 : int(1..4)]), + 1 <= y_ExplicitVarSizeWithMarker_Marker, + and([q19 <= y_ExplicitVarSizeWithMarker_Marker -> + or([y_ExplicitVarSizeWithFlags_Flags[q21] /\ + y_ExplicitVarSizeWithFlags_Values[q21] = y_ExplicitVarSizeWithMarker_Values[q19] + | q21 : int(1..4)]) + | q19 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q23] -> + or([q25 <= y_ExplicitVarSizeWithMarker_Marker /\ + y_ExplicitVarSizeWithMarker_Values[q25] = y_ExplicitVarSizeWithFlags_Values[q23] + | q25 : int(1..4)]) + | q23 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_1_4_3_4-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_1_4_3_4-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_4_3_4-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_1_4_3_4-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_1_4_3_4-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_4_3_4-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_1_4_3_4.eprime b/tests/exhaustive/basic/set09/expected/model_1_4_3_4.eprime new file mode 100644 index 0000000000..276806a903 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_4_3_4.eprime @@ -0,0 +1,32 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(2..5)] of bool +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_Occurrence, + y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values] +such that + and([x_Occurrence[i] /\ y_ExplicitVarSizeWithFlags_Flags[q15] -> i + 2 = y_ExplicitVarSizeWithFlags_Values[q15] + | i : int(2..5), q15 : int(1..4)]), + 1 <= sum([toInt(x_Occurrence[q1]) | q1 : int(2..5)]), + and([y_ExplicitVarSizeWithFlags_Flags[q2 + 1] -> + y_ExplicitVarSizeWithFlags_Values[q2] < y_ExplicitVarSizeWithFlags_Values[q2 + 1] + | q2 : int(1..3)]), + and([y_ExplicitVarSizeWithFlags_Flags[q3] = false -> y_ExplicitVarSizeWithFlags_Values[q3] = 2 | q3 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q4 + 1] -> y_ExplicitVarSizeWithFlags_Flags[q4] | q4 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithFlags_Flags[q5]) | q5 : int(1..4)]), + and([q7 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q7] < x_ExplicitVarSizeWithMarker_Values[q7 + 1] + | q7 : int(1..3)]), + and([q8 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q8] = 2 | q8 : int(1..4)]), + 1 <= x_ExplicitVarSizeWithMarker_Marker, + and([q11 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q11]] + | q11 : int(1..4)]), + and([x_Occurrence[q12] -> + or([q14 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q14] = q12 + | q14 : int(1..4)]) + | q12 : int(2..5)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_1_4_4_1-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_1_4_4_1-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_4_4_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_1_4_4_1-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_1_4_4_1-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_4_4_1-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_1_4_4_1.eprime b/tests/exhaustive/basic/set09/expected/model_1_4_4_1.eprime new file mode 100644 index 0000000000..f3dfc3a80b --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_4_4_1.eprime @@ -0,0 +1,39 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(2..5)] of bool +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_Occurrence: matrix indexed by [int(2..5)] of bool +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_Occurrence, y_Occurrence, + y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values] +such that + and([x_Occurrence[i] /\ y_ExplicitVarSizeWithFlags_Flags[q23] -> i + 2 = y_ExplicitVarSizeWithFlags_Values[q23] + | i : int(2..5), q23 : int(1..4)]), + 1 <= sum([toInt(x_Occurrence[q1]) | q1 : int(2..5)]), + and([y_ExplicitVarSizeWithFlags_Flags[q2 + 1] -> + y_ExplicitVarSizeWithFlags_Values[q2] < y_ExplicitVarSizeWithFlags_Values[q2 + 1] + | q2 : int(1..3)]), + and([y_ExplicitVarSizeWithFlags_Flags[q3] = false -> y_ExplicitVarSizeWithFlags_Values[q3] = 2 | q3 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q4 + 1] -> y_ExplicitVarSizeWithFlags_Flags[q4] | q4 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithFlags_Flags[q5]) | q5 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q7 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q7] < x_ExplicitVarSizeWithFlags_Values[q7 + 1] + | q7 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q8] = false -> x_ExplicitVarSizeWithFlags_Values[q8] = 2 | q8 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q9 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q9] | q9 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q10]) | q10 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q13] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q13]] + | q13 : int(1..4)]), + and([x_Occurrence[q14] -> + or([x_ExplicitVarSizeWithFlags_Flags[q16] /\ x_ExplicitVarSizeWithFlags_Values[q16] = q14 | q16 : int(1..4)]) + | q14 : int(2..5)]), + 1 <= sum([toInt(y_Occurrence[q17]) | q17 : int(2..5)]), + and([y_Occurrence[q18] -> + or([y_ExplicitVarSizeWithFlags_Flags[q20] /\ y_ExplicitVarSizeWithFlags_Values[q20] = q18 | q20 : int(1..4)]) + | q18 : int(2..5)]), + and([y_ExplicitVarSizeWithFlags_Flags[q22] -> y_Occurrence[y_ExplicitVarSizeWithFlags_Values[q22]] + | q22 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_1_4_4_2-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_1_4_4_2-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_4_4_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_1_4_4_2-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_1_4_4_2-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_4_4_2-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_1_4_4_2.eprime b/tests/exhaustive/basic/set09/expected/model_1_4_4_2.eprime new file mode 100644 index 0000000000..7d3a34561a --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_4_4_2.eprime @@ -0,0 +1,47 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(2..5)] of bool +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_Occurrence, y_ExplicitVarSizeWithDummy, + y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values] +such that + and([x_Occurrence[i] /\ y_ExplicitVarSizeWithFlags_Flags[q29] -> i + 2 = y_ExplicitVarSizeWithFlags_Values[q29] + | i : int(2..5), q29 : int(1..4)]), + 1 <= sum([toInt(x_Occurrence[q1]) | q1 : int(2..5)]), + and([y_ExplicitVarSizeWithFlags_Flags[q2 + 1] -> + y_ExplicitVarSizeWithFlags_Values[q2] < y_ExplicitVarSizeWithFlags_Values[q2 + 1] + | q2 : int(1..3)]), + and([y_ExplicitVarSizeWithFlags_Flags[q3] = false -> y_ExplicitVarSizeWithFlags_Values[q3] = 2 | q3 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q4 + 1] -> y_ExplicitVarSizeWithFlags_Flags[q4] | q4 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithFlags_Flags[q5]) | q5 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q7 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q7] < x_ExplicitVarSizeWithFlags_Values[q7 + 1] + | q7 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q8] = false -> x_ExplicitVarSizeWithFlags_Values[q8] = 2 | q8 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q9 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q9] | q9 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q10]) | q10 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q13] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q13]] + | q13 : int(1..4)]), + and([x_Occurrence[q14] -> + or([x_ExplicitVarSizeWithFlags_Flags[q16] /\ x_ExplicitVarSizeWithFlags_Values[q16] = q14 | q16 : int(1..4)]) + | q14 : int(2..5)]), + and([y_ExplicitVarSizeWithDummy[q17] < y_ExplicitVarSizeWithDummy[q17 + 1] \/ y_ExplicitVarSizeWithDummy[q17] = 6 + | q17 : int(1..3)]), + and([y_ExplicitVarSizeWithDummy[q18] = 6 -> y_ExplicitVarSizeWithDummy[q18 + 1] = 6 | q18 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithDummy[q19] != 6) | q19 : int(1..4)]), + and([y_ExplicitVarSizeWithDummy[q22] != 6 -> + or([y_ExplicitVarSizeWithFlags_Flags[q24] /\ + y_ExplicitVarSizeWithFlags_Values[q24] = y_ExplicitVarSizeWithDummy[q22] + | q24 : int(1..4)]) + | q22 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q26] -> + or([y_ExplicitVarSizeWithDummy[q28] != 6 /\ + y_ExplicitVarSizeWithDummy[q28] = y_ExplicitVarSizeWithFlags_Values[q26] + | q28 : int(1..4)]) + | q26 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_1_4_4_3-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_1_4_4_3-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_4_4_3-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_1_4_4_3-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_1_4_4_3-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_4_4_3-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_1_4_4_3.eprime b/tests/exhaustive/basic/set09/expected/model_1_4_4_3.eprime new file mode 100644 index 0000000000..eeb7266e57 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_4_4_3.eprime @@ -0,0 +1,50 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(2..5)] of bool +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithMarker_Marker: int(0..4) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_Occurrence, + y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values, y_ExplicitVarSizeWithFlags_Flags, + y_ExplicitVarSizeWithFlags_Values] +such that + and([x_Occurrence[i] /\ y_ExplicitVarSizeWithFlags_Flags[q28] -> i + 2 = y_ExplicitVarSizeWithFlags_Values[q28] + | i : int(2..5), q28 : int(1..4)]), + 1 <= sum([toInt(x_Occurrence[q1]) | q1 : int(2..5)]), + and([y_ExplicitVarSizeWithFlags_Flags[q2 + 1] -> + y_ExplicitVarSizeWithFlags_Values[q2] < y_ExplicitVarSizeWithFlags_Values[q2 + 1] + | q2 : int(1..3)]), + and([y_ExplicitVarSizeWithFlags_Flags[q3] = false -> y_ExplicitVarSizeWithFlags_Values[q3] = 2 | q3 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q4 + 1] -> y_ExplicitVarSizeWithFlags_Flags[q4] | q4 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithFlags_Flags[q5]) | q5 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q7 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q7] < x_ExplicitVarSizeWithFlags_Values[q7 + 1] + | q7 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q8] = false -> x_ExplicitVarSizeWithFlags_Values[q8] = 2 | q8 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q9 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q9] | q9 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q10]) | q10 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q13] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q13]] + | q13 : int(1..4)]), + and([x_Occurrence[q14] -> + or([x_ExplicitVarSizeWithFlags_Flags[q16] /\ x_ExplicitVarSizeWithFlags_Values[q16] = q14 | q16 : int(1..4)]) + | q14 : int(2..5)]), + and([q17 + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithMarker_Values[q17] < y_ExplicitVarSizeWithMarker_Values[q17 + 1] + | q17 : int(1..3)]), + and([q18 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[q18] = 2 | q18 : int(1..4)]), + 1 <= y_ExplicitVarSizeWithMarker_Marker, + and([q21 <= y_ExplicitVarSizeWithMarker_Marker -> + or([y_ExplicitVarSizeWithFlags_Flags[q23] /\ + y_ExplicitVarSizeWithFlags_Values[q23] = y_ExplicitVarSizeWithMarker_Values[q21] + | q23 : int(1..4)]) + | q21 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q25] -> + or([q27 <= y_ExplicitVarSizeWithMarker_Marker /\ + y_ExplicitVarSizeWithMarker_Values[q27] = y_ExplicitVarSizeWithFlags_Values[q25] + | q27 : int(1..4)]) + | q25 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_1_4_4_4-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_1_4_4_4-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_4_4_4-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_1_4_4_4-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_1_4_4_4-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_4_4_4-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_1_4_4_4.eprime b/tests/exhaustive/basic/set09/expected/model_1_4_4_4.eprime new file mode 100644 index 0000000000..f0669c2cb4 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_1_4_4_4.eprime @@ -0,0 +1,32 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(2..5)] of bool +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_Occurrence, + y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values] +such that + and([x_Occurrence[i] /\ y_ExplicitVarSizeWithFlags_Flags[q17] -> i + 2 = y_ExplicitVarSizeWithFlags_Values[q17] + | i : int(2..5), q17 : int(1..4)]), + 1 <= sum([toInt(x_Occurrence[q1]) | q1 : int(2..5)]), + and([y_ExplicitVarSizeWithFlags_Flags[q2 + 1] -> + y_ExplicitVarSizeWithFlags_Values[q2] < y_ExplicitVarSizeWithFlags_Values[q2 + 1] + | q2 : int(1..3)]), + and([y_ExplicitVarSizeWithFlags_Flags[q3] = false -> y_ExplicitVarSizeWithFlags_Values[q3] = 2 | q3 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q4 + 1] -> y_ExplicitVarSizeWithFlags_Flags[q4] | q4 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithFlags_Flags[q5]) | q5 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q7 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q7] < x_ExplicitVarSizeWithFlags_Values[q7 + 1] + | q7 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q8] = false -> x_ExplicitVarSizeWithFlags_Values[q8] = 2 | q8 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q9 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q9] | q9 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q10]) | q10 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q13] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q13]] + | q13 : int(1..4)]), + and([x_Occurrence[q14] -> + or([x_ExplicitVarSizeWithFlags_Flags[q16] /\ x_ExplicitVarSizeWithFlags_Values[q16] = q14 | q16 : int(1..4)]) + | q14 : int(2..5)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_2_1_1_1-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_2_1_1_1-solution000001.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_1_1_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_2_1_1_1-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_2_1_1_1-solution000002.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_1_1_1-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_2_1_1_1.eprime b/tests/exhaustive/basic/set09/expected/model_2_1_1_1.eprime new file mode 100644 index 0000000000..761535fe98 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_1_1_1.eprime @@ -0,0 +1,20 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find x_Occurrence: matrix indexed by [int(2..5)] of bool +find y_Occurrence: matrix indexed by [int(2..5)] of bool +branching on [x_Occurrence, x_ExplicitVarSizeWithDummy, y_Occurrence] +such that + and([x_ExplicitVarSizeWithDummy[q12] != 6 /\ y_Occurrence[j] -> x_ExplicitVarSizeWithDummy[q12] + 2 = j + | q12 : int(1..4), j : int(2..5)]), + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 6 + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q2] = 6 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 6 | q2 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithDummy[q3] != 6) | q3 : int(1..4)]), + 1 <= sum([toInt(y_Occurrence[q5]) | q5 : int(2..5)]), + 1 <= sum([toInt(x_Occurrence[q6]) | q6 : int(2..5)]), + and([x_Occurrence[q7] -> + or([x_ExplicitVarSizeWithDummy[q9] != 6 /\ x_ExplicitVarSizeWithDummy[q9] = q7 | q9 : int(1..4)]) + | q7 : int(2..5)]), + and([x_ExplicitVarSizeWithDummy[q11] != 6 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q11]] | q11 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_2_1_1_2-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_2_1_1_2-solution000001.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_1_1_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_2_1_1_2-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_2_1_1_2-solution000002.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_1_1_2-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_2_1_1_2.eprime b/tests/exhaustive/basic/set09/expected/model_2_1_1_2.eprime new file mode 100644 index 0000000000..b519538402 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_1_1_2.eprime @@ -0,0 +1,29 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find x_Occurrence: matrix indexed by [int(2..5)] of bool +find y_Occurrence: matrix indexed by [int(2..5)] of bool +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +branching on [x_Occurrence, x_ExplicitVarSizeWithDummy, y_ExplicitVarSizeWithDummy, y_Occurrence] +such that + and([x_ExplicitVarSizeWithDummy[q21] != 6 /\ y_Occurrence[j] -> x_ExplicitVarSizeWithDummy[q21] + 2 = j + | q21 : int(1..4), j : int(2..5)]), + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 6 + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q2] = 6 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 6 | q2 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithDummy[q3] != 6) | q3 : int(1..4)]), + 1 <= sum([toInt(y_Occurrence[q5]) | q5 : int(2..5)]), + 1 <= sum([toInt(x_Occurrence[q6]) | q6 : int(2..5)]), + and([x_Occurrence[q16] -> + or([x_ExplicitVarSizeWithDummy[q18] != 6 /\ x_ExplicitVarSizeWithDummy[q18] = q16 | q18 : int(1..4)]) + | q16 : int(2..5)]), + and([x_ExplicitVarSizeWithDummy[q20] != 6 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q20]] | q20 : int(1..4)]), + and([y_ExplicitVarSizeWithDummy[q7] < y_ExplicitVarSizeWithDummy[q7 + 1] \/ y_ExplicitVarSizeWithDummy[q7] = 6 + | q7 : int(1..3)]), + and([y_ExplicitVarSizeWithDummy[q8] = 6 -> y_ExplicitVarSizeWithDummy[q8 + 1] = 6 | q8 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithDummy[q9] != 6) | q9 : int(1..4)]), + and([y_ExplicitVarSizeWithDummy[q12] != 6 -> y_Occurrence[y_ExplicitVarSizeWithDummy[q12]] | q12 : int(1..4)]), + and([y_Occurrence[q13] -> + or([y_ExplicitVarSizeWithDummy[q15] != 6 /\ y_ExplicitVarSizeWithDummy[q15] = q13 | q15 : int(1..4)]) + | q13 : int(2..5)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_2_1_1_3-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_2_1_1_3-solution000001.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_1_1_3-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_2_1_1_3-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_2_1_1_3-solution000002.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_1_1_3-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_2_1_1_3.eprime b/tests/exhaustive/basic/set09/expected/model_2_1_1_3.eprime new file mode 100644 index 0000000000..0726845331 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_1_1_3.eprime @@ -0,0 +1,35 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find x_Occurrence: matrix indexed by [int(2..5)] of bool +find y_Occurrence: matrix indexed by [int(2..5)] of bool +find y_ExplicitVarSizeWithMarker_Marker: int(0..4) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +branching on + [x_Occurrence, x_ExplicitVarSizeWithDummy, y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values, + y_Occurrence] +such that + and([x_ExplicitVarSizeWithDummy[q20] != 6 /\ y_Occurrence[j] -> x_ExplicitVarSizeWithDummy[q20] + 2 = j + | q20 : int(1..4), j : int(2..5)]), + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 6 + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q2] = 6 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 6 | q2 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithDummy[q3] != 6) | q3 : int(1..4)]), + 1 <= sum([toInt(y_Occurrence[q5]) | q5 : int(2..5)]), + 1 <= sum([toInt(x_Occurrence[q6]) | q6 : int(2..5)]), + and([x_Occurrence[q15] -> + or([x_ExplicitVarSizeWithDummy[q17] != 6 /\ x_ExplicitVarSizeWithDummy[q17] = q15 | q17 : int(1..4)]) + | q15 : int(2..5)]), + and([x_ExplicitVarSizeWithDummy[q19] != 6 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q19]] | q19 : int(1..4)]), + and([q7 + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithMarker_Values[q7] < y_ExplicitVarSizeWithMarker_Values[q7 + 1] + | q7 : int(1..3)]), + and([q8 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[q8] = 2 | q8 : int(1..4)]), + 1 <= y_ExplicitVarSizeWithMarker_Marker, + and([q11 <= y_ExplicitVarSizeWithMarker_Marker -> y_Occurrence[y_ExplicitVarSizeWithMarker_Values[q11]] + | q11 : int(1..4)]), + and([y_Occurrence[q12] -> + or([q14 <= y_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithMarker_Values[q14] = q12 + | q14 : int(1..4)]) + | q12 : int(2..5)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_2_1_1_4-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_2_1_1_4-solution000001.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_1_1_4-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_2_1_1_4-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_2_1_1_4-solution000002.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_1_1_4-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_2_1_1_4.eprime b/tests/exhaustive/basic/set09/expected/model_2_1_1_4.eprime new file mode 100644 index 0000000000..9d5ebd556d --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_1_1_4.eprime @@ -0,0 +1,35 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find x_Occurrence: matrix indexed by [int(2..5)] of bool +find y_Occurrence: matrix indexed by [int(2..5)] of bool +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +branching on + [x_Occurrence, x_ExplicitVarSizeWithDummy, y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values, + y_Occurrence] +such that + and([x_ExplicitVarSizeWithDummy[q22] != 6 /\ y_Occurrence[j] -> x_ExplicitVarSizeWithDummy[q22] + 2 = j + | q22 : int(1..4), j : int(2..5)]), + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 6 + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q2] = 6 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 6 | q2 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithDummy[q3] != 6) | q3 : int(1..4)]), + 1 <= sum([toInt(y_Occurrence[q5]) | q5 : int(2..5)]), + 1 <= sum([toInt(x_Occurrence[q6]) | q6 : int(2..5)]), + and([x_Occurrence[q17] -> + or([x_ExplicitVarSizeWithDummy[q19] != 6 /\ x_ExplicitVarSizeWithDummy[q19] = q17 | q19 : int(1..4)]) + | q17 : int(2..5)]), + and([x_ExplicitVarSizeWithDummy[q21] != 6 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q21]] | q21 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q7 + 1] -> + y_ExplicitVarSizeWithFlags_Values[q7] < y_ExplicitVarSizeWithFlags_Values[q7 + 1] + | q7 : int(1..3)]), + and([y_ExplicitVarSizeWithFlags_Flags[q8] = false -> y_ExplicitVarSizeWithFlags_Values[q8] = 2 | q8 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q9 + 1] -> y_ExplicitVarSizeWithFlags_Flags[q9] | q9 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithFlags_Flags[q10]) | q10 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q13] -> y_Occurrence[y_ExplicitVarSizeWithFlags_Values[q13]] + | q13 : int(1..4)]), + and([y_Occurrence[q14] -> + or([y_ExplicitVarSizeWithFlags_Flags[q16] /\ y_ExplicitVarSizeWithFlags_Values[q16] = q14 | q16 : int(1..4)]) + | q14 : int(2..5)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_2_1_2_1-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_2_1_2_1-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_1_2_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_2_1_2_1-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_2_1_2_1-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_1_2_1-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_2_1_2_1.eprime b/tests/exhaustive/basic/set09/expected/model_2_1_2_1.eprime new file mode 100644 index 0000000000..5a90ec4c66 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_1_2_1.eprime @@ -0,0 +1,14 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find y_Occurrence: matrix indexed by [int(2..5)] of bool +branching on [x_ExplicitVarSizeWithDummy, y_Occurrence] +such that + and([x_ExplicitVarSizeWithDummy[q6] != 6 /\ y_Occurrence[j] -> x_ExplicitVarSizeWithDummy[q6] + 2 = j + | q6 : int(1..4), j : int(2..5)]), + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 6 + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q2] = 6 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 6 | q2 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithDummy[q3] != 6) | q3 : int(1..4)]), + 1 <= sum([toInt(y_Occurrence[q5]) | q5 : int(2..5)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_2_1_2_2-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_2_1_2_2-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_1_2_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_2_1_2_2-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_2_1_2_2-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_1_2_2-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_2_1_2_2.eprime b/tests/exhaustive/basic/set09/expected/model_2_1_2_2.eprime new file mode 100644 index 0000000000..8811fd557f --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_1_2_2.eprime @@ -0,0 +1,23 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find y_Occurrence: matrix indexed by [int(2..5)] of bool +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +branching on [x_ExplicitVarSizeWithDummy, y_ExplicitVarSizeWithDummy, y_Occurrence] +such that + and([x_ExplicitVarSizeWithDummy[q15] != 6 /\ y_Occurrence[j] -> x_ExplicitVarSizeWithDummy[q15] + 2 = j + | q15 : int(1..4), j : int(2..5)]), + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 6 + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q2] = 6 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 6 | q2 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithDummy[q3] != 6) | q3 : int(1..4)]), + 1 <= sum([toInt(y_Occurrence[q5]) | q5 : int(2..5)]), + and([y_ExplicitVarSizeWithDummy[q6] < y_ExplicitVarSizeWithDummy[q6 + 1] \/ y_ExplicitVarSizeWithDummy[q6] = 6 + | q6 : int(1..3)]), + and([y_ExplicitVarSizeWithDummy[q7] = 6 -> y_ExplicitVarSizeWithDummy[q7 + 1] = 6 | q7 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithDummy[q8] != 6) | q8 : int(1..4)]), + and([y_ExplicitVarSizeWithDummy[q11] != 6 -> y_Occurrence[y_ExplicitVarSizeWithDummy[q11]] | q11 : int(1..4)]), + and([y_Occurrence[q12] -> + or([y_ExplicitVarSizeWithDummy[q14] != 6 /\ y_ExplicitVarSizeWithDummy[q14] = q12 | q14 : int(1..4)]) + | q12 : int(2..5)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_2_1_2_3-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_2_1_2_3-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_1_2_3-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_2_1_2_3-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_2_1_2_3-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_1_2_3-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_2_1_2_3.eprime b/tests/exhaustive/basic/set09/expected/model_2_1_2_3.eprime new file mode 100644 index 0000000000..5f0bbfbbee --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_1_2_3.eprime @@ -0,0 +1,28 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find y_Occurrence: matrix indexed by [int(2..5)] of bool +find y_ExplicitVarSizeWithMarker_Marker: int(0..4) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +branching on + [x_ExplicitVarSizeWithDummy, y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values, y_Occurrence] +such that + and([x_ExplicitVarSizeWithDummy[q14] != 6 /\ y_Occurrence[j] -> x_ExplicitVarSizeWithDummy[q14] + 2 = j + | q14 : int(1..4), j : int(2..5)]), + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 6 + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q2] = 6 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 6 | q2 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithDummy[q3] != 6) | q3 : int(1..4)]), + 1 <= sum([toInt(y_Occurrence[q5]) | q5 : int(2..5)]), + and([q6 + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithMarker_Values[q6] < y_ExplicitVarSizeWithMarker_Values[q6 + 1] + | q6 : int(1..3)]), + and([q7 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[q7] = 2 | q7 : int(1..4)]), + 1 <= y_ExplicitVarSizeWithMarker_Marker, + and([q10 <= y_ExplicitVarSizeWithMarker_Marker -> y_Occurrence[y_ExplicitVarSizeWithMarker_Values[q10]] + | q10 : int(1..4)]), + and([y_Occurrence[q11] -> + or([q13 <= y_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithMarker_Values[q13] = q11 + | q13 : int(1..4)]) + | q11 : int(2..5)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_2_1_2_4-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_2_1_2_4-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_1_2_4-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_2_1_2_4-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_2_1_2_4-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_1_2_4-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_2_1_2_4.eprime b/tests/exhaustive/basic/set09/expected/model_2_1_2_4.eprime new file mode 100644 index 0000000000..d9eedcd6c7 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_1_2_4.eprime @@ -0,0 +1,28 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find y_Occurrence: matrix indexed by [int(2..5)] of bool +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +branching on + [x_ExplicitVarSizeWithDummy, y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values, y_Occurrence] +such that + and([x_ExplicitVarSizeWithDummy[q16] != 6 /\ y_Occurrence[j] -> x_ExplicitVarSizeWithDummy[q16] + 2 = j + | q16 : int(1..4), j : int(2..5)]), + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 6 + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q2] = 6 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 6 | q2 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithDummy[q3] != 6) | q3 : int(1..4)]), + 1 <= sum([toInt(y_Occurrence[q5]) | q5 : int(2..5)]), + and([y_ExplicitVarSizeWithFlags_Flags[q6 + 1] -> + y_ExplicitVarSizeWithFlags_Values[q6] < y_ExplicitVarSizeWithFlags_Values[q6 + 1] + | q6 : int(1..3)]), + and([y_ExplicitVarSizeWithFlags_Flags[q7] = false -> y_ExplicitVarSizeWithFlags_Values[q7] = 2 | q7 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q8 + 1] -> y_ExplicitVarSizeWithFlags_Flags[q8] | q8 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithFlags_Flags[q9]) | q9 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q12] -> y_Occurrence[y_ExplicitVarSizeWithFlags_Values[q12]] + | q12 : int(1..4)]), + and([y_Occurrence[q13] -> + or([y_ExplicitVarSizeWithFlags_Flags[q15] /\ y_ExplicitVarSizeWithFlags_Values[q15] = q13 | q15 : int(1..4)]) + | q13 : int(2..5)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_2_1_3_1-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_2_1_3_1-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_1_3_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_2_1_3_1-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_2_1_3_1-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_1_3_1-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_2_1_3_1.eprime b/tests/exhaustive/basic/set09/expected/model_2_1_3_1.eprime new file mode 100644 index 0000000000..65dba9f00f --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_1_3_1.eprime @@ -0,0 +1,32 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_Occurrence: matrix indexed by [int(2..5)] of bool +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_ExplicitVarSizeWithDummy, y_Occurrence] +such that + and([x_ExplicitVarSizeWithDummy[q17] != 6 /\ y_Occurrence[j] -> x_ExplicitVarSizeWithDummy[q17] + 2 = j + | q17 : int(1..4), j : int(2..5)]), + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 6 + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q2] = 6 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 6 | q2 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithDummy[q3] != 6) | q3 : int(1..4)]), + 1 <= sum([toInt(y_Occurrence[q5]) | q5 : int(2..5)]), + and([q6 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q6] < x_ExplicitVarSizeWithMarker_Values[q6 + 1] + | q6 : int(1..3)]), + and([q7 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q7] = 2 | q7 : int(1..4)]), + 1 <= x_ExplicitVarSizeWithMarker_Marker, + and([q10 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q12] != 6 /\ + x_ExplicitVarSizeWithDummy[q12] = x_ExplicitVarSizeWithMarker_Values[q10] + | q12 : int(1..4)]) + | q10 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q14] != 6 -> + or([q16 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q16] = x_ExplicitVarSizeWithDummy[q14] + | q16 : int(1..4)]) + | q14 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_2_1_3_2-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_2_1_3_2-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_1_3_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_2_1_3_2-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_2_1_3_2-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_1_3_2-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_2_1_3_2.eprime b/tests/exhaustive/basic/set09/expected/model_2_1_3_2.eprime new file mode 100644 index 0000000000..d2382f30b2 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_1_3_2.eprime @@ -0,0 +1,42 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_Occurrence: matrix indexed by [int(2..5)] of bool +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_ExplicitVarSizeWithDummy, + y_ExplicitVarSizeWithDummy, y_Occurrence] +such that + and([x_ExplicitVarSizeWithDummy[q26] != 6 /\ y_Occurrence[j] -> x_ExplicitVarSizeWithDummy[q26] + 2 = j + | q26 : int(1..4), j : int(2..5)]), + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 6 + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q2] = 6 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 6 | q2 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithDummy[q3] != 6) | q3 : int(1..4)]), + 1 <= sum([toInt(y_Occurrence[q5]) | q5 : int(2..5)]), + and([q6 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q6] < x_ExplicitVarSizeWithMarker_Values[q6 + 1] + | q6 : int(1..3)]), + and([q7 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q7] = 2 | q7 : int(1..4)]), + 1 <= x_ExplicitVarSizeWithMarker_Marker, + and([q10 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q12] != 6 /\ + x_ExplicitVarSizeWithDummy[q12] = x_ExplicitVarSizeWithMarker_Values[q10] + | q12 : int(1..4)]) + | q10 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q14] != 6 -> + or([q16 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q16] = x_ExplicitVarSizeWithDummy[q14] + | q16 : int(1..4)]) + | q14 : int(1..4)]), + and([y_ExplicitVarSizeWithDummy[q17] < y_ExplicitVarSizeWithDummy[q17 + 1] \/ y_ExplicitVarSizeWithDummy[q17] = 6 + | q17 : int(1..3)]), + and([y_ExplicitVarSizeWithDummy[q18] = 6 -> y_ExplicitVarSizeWithDummy[q18 + 1] = 6 | q18 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithDummy[q19] != 6) | q19 : int(1..4)]), + and([y_ExplicitVarSizeWithDummy[q22] != 6 -> y_Occurrence[y_ExplicitVarSizeWithDummy[q22]] | q22 : int(1..4)]), + and([y_Occurrence[q23] -> + or([y_ExplicitVarSizeWithDummy[q25] != 6 /\ y_ExplicitVarSizeWithDummy[q25] = q23 | q25 : int(1..4)]) + | q23 : int(2..5)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_2_1_3_3-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_2_1_3_3-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_1_3_3-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_2_1_3_3-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_2_1_3_3-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_1_3_3-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_2_1_3_3.eprime b/tests/exhaustive/basic/set09/expected/model_2_1_3_3.eprime new file mode 100644 index 0000000000..1ab91b53e0 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_1_3_3.eprime @@ -0,0 +1,46 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_Occurrence: matrix indexed by [int(2..5)] of bool +find y_ExplicitVarSizeWithMarker_Marker: int(0..4) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_ExplicitVarSizeWithDummy, + y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values, y_Occurrence] +such that + and([x_ExplicitVarSizeWithDummy[q25] != 6 /\ y_Occurrence[j] -> x_ExplicitVarSizeWithDummy[q25] + 2 = j + | q25 : int(1..4), j : int(2..5)]), + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 6 + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q2] = 6 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 6 | q2 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithDummy[q3] != 6) | q3 : int(1..4)]), + 1 <= sum([toInt(y_Occurrence[q5]) | q5 : int(2..5)]), + and([q6 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q6] < x_ExplicitVarSizeWithMarker_Values[q6 + 1] + | q6 : int(1..3)]), + and([q7 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q7] = 2 | q7 : int(1..4)]), + 1 <= x_ExplicitVarSizeWithMarker_Marker, + and([q10 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q12] != 6 /\ + x_ExplicitVarSizeWithDummy[q12] = x_ExplicitVarSizeWithMarker_Values[q10] + | q12 : int(1..4)]) + | q10 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q14] != 6 -> + or([q16 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q16] = x_ExplicitVarSizeWithDummy[q14] + | q16 : int(1..4)]) + | q14 : int(1..4)]), + and([q17 + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithMarker_Values[q17] < y_ExplicitVarSizeWithMarker_Values[q17 + 1] + | q17 : int(1..3)]), + and([q18 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[q18] = 2 | q18 : int(1..4)]), + 1 <= y_ExplicitVarSizeWithMarker_Marker, + and([q21 <= y_ExplicitVarSizeWithMarker_Marker -> y_Occurrence[y_ExplicitVarSizeWithMarker_Values[q21]] + | q21 : int(1..4)]), + and([y_Occurrence[q22] -> + or([q24 <= y_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithMarker_Values[q24] = q22 + | q24 : int(1..4)]) + | q22 : int(2..5)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_2_1_3_4-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_2_1_3_4-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_1_3_4-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_2_1_3_4-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_2_1_3_4-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_1_3_4-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_2_1_3_4.eprime b/tests/exhaustive/basic/set09/expected/model_2_1_3_4.eprime new file mode 100644 index 0000000000..43ccdc1260 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_1_3_4.eprime @@ -0,0 +1,47 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_Occurrence: matrix indexed by [int(2..5)] of bool +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_ExplicitVarSizeWithDummy, + y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values, y_Occurrence] +such that + and([x_ExplicitVarSizeWithDummy[q27] != 6 /\ y_Occurrence[j] -> x_ExplicitVarSizeWithDummy[q27] + 2 = j + | q27 : int(1..4), j : int(2..5)]), + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 6 + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q2] = 6 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 6 | q2 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithDummy[q3] != 6) | q3 : int(1..4)]), + 1 <= sum([toInt(y_Occurrence[q5]) | q5 : int(2..5)]), + and([q6 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q6] < x_ExplicitVarSizeWithMarker_Values[q6 + 1] + | q6 : int(1..3)]), + and([q7 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q7] = 2 | q7 : int(1..4)]), + 1 <= x_ExplicitVarSizeWithMarker_Marker, + and([q10 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q12] != 6 /\ + x_ExplicitVarSizeWithDummy[q12] = x_ExplicitVarSizeWithMarker_Values[q10] + | q12 : int(1..4)]) + | q10 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q14] != 6 -> + or([q16 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q16] = x_ExplicitVarSizeWithDummy[q14] + | q16 : int(1..4)]) + | q14 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q17 + 1] -> + y_ExplicitVarSizeWithFlags_Values[q17] < y_ExplicitVarSizeWithFlags_Values[q17 + 1] + | q17 : int(1..3)]), + and([y_ExplicitVarSizeWithFlags_Flags[q18] = false -> y_ExplicitVarSizeWithFlags_Values[q18] = 2 + | q18 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q19 + 1] -> y_ExplicitVarSizeWithFlags_Flags[q19] | q19 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithFlags_Flags[q20]) | q20 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q23] -> y_Occurrence[y_ExplicitVarSizeWithFlags_Values[q23]] + | q23 : int(1..4)]), + and([y_Occurrence[q24] -> + or([y_ExplicitVarSizeWithFlags_Flags[q26] /\ y_ExplicitVarSizeWithFlags_Values[q26] = q24 | q26 : int(1..4)]) + | q24 : int(2..5)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_2_1_4_1-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_2_1_4_1-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_1_4_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_2_1_4_1-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_2_1_4_1-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_1_4_1-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_2_1_4_1.eprime b/tests/exhaustive/basic/set09/expected/model_2_1_4_1.eprime new file mode 100644 index 0000000000..b726d03c45 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_1_4_1.eprime @@ -0,0 +1,33 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_Occurrence: matrix indexed by [int(2..5)] of bool +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_ExplicitVarSizeWithDummy, y_Occurrence] +such that + and([x_ExplicitVarSizeWithDummy[q19] != 6 /\ y_Occurrence[j] -> x_ExplicitVarSizeWithDummy[q19] + 2 = j + | q19 : int(1..4), j : int(2..5)]), + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 6 + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q2] = 6 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 6 | q2 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithDummy[q3] != 6) | q3 : int(1..4)]), + 1 <= sum([toInt(y_Occurrence[q5]) | q5 : int(2..5)]), + and([x_ExplicitVarSizeWithFlags_Flags[q6 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q6] < x_ExplicitVarSizeWithFlags_Values[q6 + 1] + | q6 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q7] = false -> x_ExplicitVarSizeWithFlags_Values[q7] = 2 | q7 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q8 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q8] | q8 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q9]) | q9 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q12] -> + or([x_ExplicitVarSizeWithDummy[q14] != 6 /\ + x_ExplicitVarSizeWithDummy[q14] = x_ExplicitVarSizeWithFlags_Values[q12] + | q14 : int(1..4)]) + | q12 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q16] != 6 -> + or([x_ExplicitVarSizeWithFlags_Flags[q18] /\ + x_ExplicitVarSizeWithFlags_Values[q18] = x_ExplicitVarSizeWithDummy[q16] + | q18 : int(1..4)]) + | q16 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_2_1_4_2-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_2_1_4_2-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_1_4_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_2_1_4_2-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_2_1_4_2-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_1_4_2-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_2_1_4_2.eprime b/tests/exhaustive/basic/set09/expected/model_2_1_4_2.eprime new file mode 100644 index 0000000000..6e2528d6b3 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_1_4_2.eprime @@ -0,0 +1,43 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_Occurrence: matrix indexed by [int(2..5)] of bool +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_ExplicitVarSizeWithDummy, + y_ExplicitVarSizeWithDummy, y_Occurrence] +such that + and([x_ExplicitVarSizeWithDummy[q28] != 6 /\ y_Occurrence[j] -> x_ExplicitVarSizeWithDummy[q28] + 2 = j + | q28 : int(1..4), j : int(2..5)]), + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 6 + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q2] = 6 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 6 | q2 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithDummy[q3] != 6) | q3 : int(1..4)]), + 1 <= sum([toInt(y_Occurrence[q5]) | q5 : int(2..5)]), + and([x_ExplicitVarSizeWithFlags_Flags[q6 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q6] < x_ExplicitVarSizeWithFlags_Values[q6 + 1] + | q6 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q7] = false -> x_ExplicitVarSizeWithFlags_Values[q7] = 2 | q7 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q8 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q8] | q8 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q9]) | q9 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q12] -> + or([x_ExplicitVarSizeWithDummy[q14] != 6 /\ + x_ExplicitVarSizeWithDummy[q14] = x_ExplicitVarSizeWithFlags_Values[q12] + | q14 : int(1..4)]) + | q12 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q16] != 6 -> + or([x_ExplicitVarSizeWithFlags_Flags[q18] /\ + x_ExplicitVarSizeWithFlags_Values[q18] = x_ExplicitVarSizeWithDummy[q16] + | q18 : int(1..4)]) + | q16 : int(1..4)]), + and([y_ExplicitVarSizeWithDummy[q19] < y_ExplicitVarSizeWithDummy[q19 + 1] \/ y_ExplicitVarSizeWithDummy[q19] = 6 + | q19 : int(1..3)]), + and([y_ExplicitVarSizeWithDummy[q20] = 6 -> y_ExplicitVarSizeWithDummy[q20 + 1] = 6 | q20 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithDummy[q21] != 6) | q21 : int(1..4)]), + and([y_ExplicitVarSizeWithDummy[q24] != 6 -> y_Occurrence[y_ExplicitVarSizeWithDummy[q24]] | q24 : int(1..4)]), + and([y_Occurrence[q25] -> + or([y_ExplicitVarSizeWithDummy[q27] != 6 /\ y_ExplicitVarSizeWithDummy[q27] = q25 | q27 : int(1..4)]) + | q25 : int(2..5)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_2_1_4_3-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_2_1_4_3-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_1_4_3-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_2_1_4_3-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_2_1_4_3-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_1_4_3-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_2_1_4_3.eprime b/tests/exhaustive/basic/set09/expected/model_2_1_4_3.eprime new file mode 100644 index 0000000000..6517abff37 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_1_4_3.eprime @@ -0,0 +1,47 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_Occurrence: matrix indexed by [int(2..5)] of bool +find y_ExplicitVarSizeWithMarker_Marker: int(0..4) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_ExplicitVarSizeWithDummy, + y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values, y_Occurrence] +such that + and([x_ExplicitVarSizeWithDummy[q27] != 6 /\ y_Occurrence[j] -> x_ExplicitVarSizeWithDummy[q27] + 2 = j + | q27 : int(1..4), j : int(2..5)]), + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 6 + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q2] = 6 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 6 | q2 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithDummy[q3] != 6) | q3 : int(1..4)]), + 1 <= sum([toInt(y_Occurrence[q5]) | q5 : int(2..5)]), + and([x_ExplicitVarSizeWithFlags_Flags[q6 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q6] < x_ExplicitVarSizeWithFlags_Values[q6 + 1] + | q6 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q7] = false -> x_ExplicitVarSizeWithFlags_Values[q7] = 2 | q7 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q8 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q8] | q8 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q9]) | q9 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q12] -> + or([x_ExplicitVarSizeWithDummy[q14] != 6 /\ + x_ExplicitVarSizeWithDummy[q14] = x_ExplicitVarSizeWithFlags_Values[q12] + | q14 : int(1..4)]) + | q12 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q16] != 6 -> + or([x_ExplicitVarSizeWithFlags_Flags[q18] /\ + x_ExplicitVarSizeWithFlags_Values[q18] = x_ExplicitVarSizeWithDummy[q16] + | q18 : int(1..4)]) + | q16 : int(1..4)]), + and([q19 + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithMarker_Values[q19] < y_ExplicitVarSizeWithMarker_Values[q19 + 1] + | q19 : int(1..3)]), + and([q20 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[q20] = 2 | q20 : int(1..4)]), + 1 <= y_ExplicitVarSizeWithMarker_Marker, + and([q23 <= y_ExplicitVarSizeWithMarker_Marker -> y_Occurrence[y_ExplicitVarSizeWithMarker_Values[q23]] + | q23 : int(1..4)]), + and([y_Occurrence[q24] -> + or([q26 <= y_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithMarker_Values[q26] = q24 + | q26 : int(1..4)]) + | q24 : int(2..5)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_2_1_4_4-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_2_1_4_4-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_1_4_4-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_2_1_4_4-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_2_1_4_4-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_1_4_4-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_2_1_4_4.eprime b/tests/exhaustive/basic/set09/expected/model_2_1_4_4.eprime new file mode 100644 index 0000000000..a99b49c2ba --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_1_4_4.eprime @@ -0,0 +1,48 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_Occurrence: matrix indexed by [int(2..5)] of bool +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_ExplicitVarSizeWithDummy, + y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values, y_Occurrence] +such that + and([x_ExplicitVarSizeWithDummy[q29] != 6 /\ y_Occurrence[j] -> x_ExplicitVarSizeWithDummy[q29] + 2 = j + | q29 : int(1..4), j : int(2..5)]), + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 6 + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q2] = 6 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 6 | q2 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithDummy[q3] != 6) | q3 : int(1..4)]), + 1 <= sum([toInt(y_Occurrence[q5]) | q5 : int(2..5)]), + and([x_ExplicitVarSizeWithFlags_Flags[q6 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q6] < x_ExplicitVarSizeWithFlags_Values[q6 + 1] + | q6 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q7] = false -> x_ExplicitVarSizeWithFlags_Values[q7] = 2 | q7 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q8 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q8] | q8 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q9]) | q9 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q12] -> + or([x_ExplicitVarSizeWithDummy[q14] != 6 /\ + x_ExplicitVarSizeWithDummy[q14] = x_ExplicitVarSizeWithFlags_Values[q12] + | q14 : int(1..4)]) + | q12 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q16] != 6 -> + or([x_ExplicitVarSizeWithFlags_Flags[q18] /\ + x_ExplicitVarSizeWithFlags_Values[q18] = x_ExplicitVarSizeWithDummy[q16] + | q18 : int(1..4)]) + | q16 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q19 + 1] -> + y_ExplicitVarSizeWithFlags_Values[q19] < y_ExplicitVarSizeWithFlags_Values[q19 + 1] + | q19 : int(1..3)]), + and([y_ExplicitVarSizeWithFlags_Flags[q20] = false -> y_ExplicitVarSizeWithFlags_Values[q20] = 2 + | q20 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q21 + 1] -> y_ExplicitVarSizeWithFlags_Flags[q21] | q21 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithFlags_Flags[q22]) | q22 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q25] -> y_Occurrence[y_ExplicitVarSizeWithFlags_Values[q25]] + | q25 : int(1..4)]), + and([y_Occurrence[q26] -> + or([y_ExplicitVarSizeWithFlags_Flags[q28] /\ y_ExplicitVarSizeWithFlags_Values[q28] = q26 | q28 : int(1..4)]) + | q26 : int(2..5)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_2_2_1_1-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_2_2_1_1-solution000001.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_2_1_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_2_2_1_1-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_2_2_1_1-solution000002.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_2_1_1-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_2_2_1_1.eprime b/tests/exhaustive/basic/set09/expected/model_2_2_1_1.eprime new file mode 100644 index 0000000000..6abf3ea8b6 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_2_1_1.eprime @@ -0,0 +1,30 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find x_Occurrence: matrix indexed by [int(2..5)] of bool +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find y_Occurrence: matrix indexed by [int(2..5)] of bool +branching on [x_Occurrence, x_ExplicitVarSizeWithDummy, y_Occurrence, y_ExplicitVarSizeWithDummy] +such that + and([x_ExplicitVarSizeWithDummy[q16] != 6 /\ y_ExplicitVarSizeWithDummy[q17] != 6 -> + x_ExplicitVarSizeWithDummy[q16] + 2 = y_ExplicitVarSizeWithDummy[q17] + | q16 : int(1..4), q17 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 6 + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q2] = 6 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 6 | q2 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithDummy[q3] != 6) | q3 : int(1..4)]), + and([y_ExplicitVarSizeWithDummy[q5] < y_ExplicitVarSizeWithDummy[q5 + 1] \/ y_ExplicitVarSizeWithDummy[q5] = 6 + | q5 : int(1..3)]), + and([y_ExplicitVarSizeWithDummy[q6] = 6 -> y_ExplicitVarSizeWithDummy[q6 + 1] = 6 | q6 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithDummy[q7] != 6) | q7 : int(1..4)]), + 1 <= sum([toInt(x_Occurrence[q9]) | q9 : int(2..5)]), + and([x_Occurrence[q18] -> + or([x_ExplicitVarSizeWithDummy[q20] != 6 /\ x_ExplicitVarSizeWithDummy[q20] = q18 | q20 : int(1..4)]) + | q18 : int(2..5)]), + and([x_ExplicitVarSizeWithDummy[q22] != 6 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q22]] | q22 : int(1..4)]), + 1 <= sum([toInt(y_Occurrence[q10]) | q10 : int(2..5)]), + and([y_Occurrence[q11] -> + or([y_ExplicitVarSizeWithDummy[q13] != 6 /\ y_ExplicitVarSizeWithDummy[q13] = q11 | q13 : int(1..4)]) + | q11 : int(2..5)]), + and([y_ExplicitVarSizeWithDummy[q15] != 6 -> y_Occurrence[y_ExplicitVarSizeWithDummy[q15]] | q15 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_2_2_1_2-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_2_2_1_2-solution000001.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_2_1_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_2_2_1_2-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_2_2_1_2-solution000002.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_2_1_2-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_2_2_1_2.eprime b/tests/exhaustive/basic/set09/expected/model_2_2_1_2.eprime new file mode 100644 index 0000000000..0b17a9f152 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_2_1_2.eprime @@ -0,0 +1,24 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find x_Occurrence: matrix indexed by [int(2..5)] of bool +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +branching on [x_Occurrence, x_ExplicitVarSizeWithDummy, y_ExplicitVarSizeWithDummy] +such that + and([x_ExplicitVarSizeWithDummy[q15] != 6 /\ y_ExplicitVarSizeWithDummy[q16] != 6 -> + x_ExplicitVarSizeWithDummy[q15] + 2 = y_ExplicitVarSizeWithDummy[q16] + | q15 : int(1..4), q16 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 6 + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q2] = 6 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 6 | q2 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithDummy[q3] != 6) | q3 : int(1..4)]), + and([y_ExplicitVarSizeWithDummy[q5] < y_ExplicitVarSizeWithDummy[q5 + 1] \/ y_ExplicitVarSizeWithDummy[q5] = 6 + | q5 : int(1..3)]), + and([y_ExplicitVarSizeWithDummy[q6] = 6 -> y_ExplicitVarSizeWithDummy[q6 + 1] = 6 | q6 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithDummy[q7] != 6) | q7 : int(1..4)]), + 1 <= sum([toInt(x_Occurrence[q9]) | q9 : int(2..5)]), + and([x_Occurrence[q10] -> + or([x_ExplicitVarSizeWithDummy[q12] != 6 /\ x_ExplicitVarSizeWithDummy[q12] = q10 | q12 : int(1..4)]) + | q10 : int(2..5)]), + and([x_ExplicitVarSizeWithDummy[q14] != 6 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q14]] | q14 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_2_2_1_3-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_2_2_1_3-solution000001.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_2_1_3-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_2_2_1_3-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_2_2_1_3-solution000002.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_2_1_3-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_2_2_1_3.eprime b/tests/exhaustive/basic/set09/expected/model_2_2_1_3.eprime new file mode 100644 index 0000000000..c40c45e8b1 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_2_1_3.eprime @@ -0,0 +1,43 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find x_Occurrence: matrix indexed by [int(2..5)] of bool +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find y_ExplicitVarSizeWithMarker_Marker: int(0..4) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +branching on + [x_Occurrence, x_ExplicitVarSizeWithDummy, y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values, + y_ExplicitVarSizeWithDummy] +such that + and([x_ExplicitVarSizeWithDummy[q26] != 6 /\ y_ExplicitVarSizeWithDummy[q27] != 6 -> + x_ExplicitVarSizeWithDummy[q26] + 2 = y_ExplicitVarSizeWithDummy[q27] + | q26 : int(1..4), q27 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 6 + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q2] = 6 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 6 | q2 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithDummy[q3] != 6) | q3 : int(1..4)]), + and([y_ExplicitVarSizeWithDummy[q5] < y_ExplicitVarSizeWithDummy[q5 + 1] \/ y_ExplicitVarSizeWithDummy[q5] = 6 + | q5 : int(1..3)]), + and([y_ExplicitVarSizeWithDummy[q6] = 6 -> y_ExplicitVarSizeWithDummy[q6 + 1] = 6 | q6 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithDummy[q7] != 6) | q7 : int(1..4)]), + 1 <= sum([toInt(x_Occurrence[q9]) | q9 : int(2..5)]), + and([x_Occurrence[q21] -> + or([x_ExplicitVarSizeWithDummy[q23] != 6 /\ x_ExplicitVarSizeWithDummy[q23] = q21 | q23 : int(1..4)]) + | q21 : int(2..5)]), + and([x_ExplicitVarSizeWithDummy[q25] != 6 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q25]] | q25 : int(1..4)]), + and([q10 + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithMarker_Values[q10] < y_ExplicitVarSizeWithMarker_Values[q10 + 1] + | q10 : int(1..3)]), + and([q11 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[q11] = 2 | q11 : int(1..4)]), + 1 <= y_ExplicitVarSizeWithMarker_Marker, + and([q14 <= y_ExplicitVarSizeWithMarker_Marker -> + or([y_ExplicitVarSizeWithDummy[q16] != 6 /\ + y_ExplicitVarSizeWithDummy[q16] = y_ExplicitVarSizeWithMarker_Values[q14] + | q16 : int(1..4)]) + | q14 : int(1..4)]), + and([y_ExplicitVarSizeWithDummy[q18] != 6 -> + or([q20 <= y_ExplicitVarSizeWithMarker_Marker /\ + y_ExplicitVarSizeWithMarker_Values[q20] = y_ExplicitVarSizeWithDummy[q18] + | q20 : int(1..4)]) + | q18 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_2_2_1_4-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_2_2_1_4-solution000001.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_2_1_4-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_2_2_1_4-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_2_2_1_4-solution000002.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_2_1_4-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_2_2_1_4.eprime b/tests/exhaustive/basic/set09/expected/model_2_2_1_4.eprime new file mode 100644 index 0000000000..0cdf8a54bd --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_2_1_4.eprime @@ -0,0 +1,45 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find x_Occurrence: matrix indexed by [int(2..5)] of bool +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +branching on + [x_Occurrence, x_ExplicitVarSizeWithDummy, y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values, + y_ExplicitVarSizeWithDummy] +such that + and([x_ExplicitVarSizeWithDummy[q28] != 6 /\ y_ExplicitVarSizeWithDummy[q29] != 6 -> + x_ExplicitVarSizeWithDummy[q28] + 2 = y_ExplicitVarSizeWithDummy[q29] + | q28 : int(1..4), q29 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 6 + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q2] = 6 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 6 | q2 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithDummy[q3] != 6) | q3 : int(1..4)]), + and([y_ExplicitVarSizeWithDummy[q5] < y_ExplicitVarSizeWithDummy[q5 + 1] \/ y_ExplicitVarSizeWithDummy[q5] = 6 + | q5 : int(1..3)]), + and([y_ExplicitVarSizeWithDummy[q6] = 6 -> y_ExplicitVarSizeWithDummy[q6 + 1] = 6 | q6 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithDummy[q7] != 6) | q7 : int(1..4)]), + 1 <= sum([toInt(x_Occurrence[q9]) | q9 : int(2..5)]), + and([x_Occurrence[q23] -> + or([x_ExplicitVarSizeWithDummy[q25] != 6 /\ x_ExplicitVarSizeWithDummy[q25] = q23 | q25 : int(1..4)]) + | q23 : int(2..5)]), + and([x_ExplicitVarSizeWithDummy[q27] != 6 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q27]] | q27 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q10 + 1] -> + y_ExplicitVarSizeWithFlags_Values[q10] < y_ExplicitVarSizeWithFlags_Values[q10 + 1] + | q10 : int(1..3)]), + and([y_ExplicitVarSizeWithFlags_Flags[q11] = false -> y_ExplicitVarSizeWithFlags_Values[q11] = 2 + | q11 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q12 + 1] -> y_ExplicitVarSizeWithFlags_Flags[q12] | q12 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithFlags_Flags[q13]) | q13 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q16] -> + or([y_ExplicitVarSizeWithDummy[q18] != 6 /\ + y_ExplicitVarSizeWithDummy[q18] = y_ExplicitVarSizeWithFlags_Values[q16] + | q18 : int(1..4)]) + | q16 : int(1..4)]), + and([y_ExplicitVarSizeWithDummy[q20] != 6 -> + or([y_ExplicitVarSizeWithFlags_Flags[q22] /\ + y_ExplicitVarSizeWithFlags_Values[q22] = y_ExplicitVarSizeWithDummy[q20] + | q22 : int(1..4)]) + | q20 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_2_2_2_1-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_2_2_2_1-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_2_2_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_2_2_2_1-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_2_2_2_1-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_2_2_1-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_2_2_2_1.eprime b/tests/exhaustive/basic/set09/expected/model_2_2_2_1.eprime new file mode 100644 index 0000000000..ccc426d080 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_2_2_1.eprime @@ -0,0 +1,24 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find y_Occurrence: matrix indexed by [int(2..5)] of bool +branching on [x_ExplicitVarSizeWithDummy, y_Occurrence, y_ExplicitVarSizeWithDummy] +such that + and([x_ExplicitVarSizeWithDummy[q15] != 6 /\ y_ExplicitVarSizeWithDummy[q16] != 6 -> + x_ExplicitVarSizeWithDummy[q15] + 2 = y_ExplicitVarSizeWithDummy[q16] + | q15 : int(1..4), q16 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 6 + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q2] = 6 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 6 | q2 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithDummy[q3] != 6) | q3 : int(1..4)]), + and([y_ExplicitVarSizeWithDummy[q5] < y_ExplicitVarSizeWithDummy[q5 + 1] \/ y_ExplicitVarSizeWithDummy[q5] = 6 + | q5 : int(1..3)]), + and([y_ExplicitVarSizeWithDummy[q6] = 6 -> y_ExplicitVarSizeWithDummy[q6 + 1] = 6 | q6 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithDummy[q7] != 6) | q7 : int(1..4)]), + 1 <= sum([toInt(y_Occurrence[q9]) | q9 : int(2..5)]), + and([y_Occurrence[q10] -> + or([y_ExplicitVarSizeWithDummy[q12] != 6 /\ y_ExplicitVarSizeWithDummy[q12] = q10 | q12 : int(1..4)]) + | q10 : int(2..5)]), + and([y_ExplicitVarSizeWithDummy[q14] != 6 -> y_Occurrence[y_ExplicitVarSizeWithDummy[q14]] | q14 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_2_2_2_2-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_2_2_2_2-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_2_2_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_2_2_2_2-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_2_2_2_2-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_2_2_2-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_2_2_2_2.eprime b/tests/exhaustive/basic/set09/expected/model_2_2_2_2.eprime new file mode 100644 index 0000000000..bce1fcad7f --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_2_2_2.eprime @@ -0,0 +1,18 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +branching on [x_ExplicitVarSizeWithDummy, y_ExplicitVarSizeWithDummy] +such that + and([x_ExplicitVarSizeWithDummy[q9] != 6 /\ y_ExplicitVarSizeWithDummy[q10] != 6 -> + x_ExplicitVarSizeWithDummy[q9] + 2 = y_ExplicitVarSizeWithDummy[q10] + | q9 : int(1..4), q10 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 6 + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q2] = 6 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 6 | q2 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithDummy[q3] != 6) | q3 : int(1..4)]), + and([y_ExplicitVarSizeWithDummy[q5] < y_ExplicitVarSizeWithDummy[q5 + 1] \/ y_ExplicitVarSizeWithDummy[q5] = 6 + | q5 : int(1..3)]), + and([y_ExplicitVarSizeWithDummy[q6] = 6 -> y_ExplicitVarSizeWithDummy[q6 + 1] = 6 | q6 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithDummy[q7] != 6) | q7 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_2_2_2_3-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_2_2_2_3-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_2_2_3-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_2_2_2_3-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_2_2_2_3-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_2_2_3-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_2_2_2_3.eprime b/tests/exhaustive/basic/set09/expected/model_2_2_2_3.eprime new file mode 100644 index 0000000000..f3540e7f47 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_2_2_3.eprime @@ -0,0 +1,37 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find y_ExplicitVarSizeWithMarker_Marker: int(0..4) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +branching on + [x_ExplicitVarSizeWithDummy, y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values, + y_ExplicitVarSizeWithDummy] +such that + and([x_ExplicitVarSizeWithDummy[q20] != 6 /\ y_ExplicitVarSizeWithDummy[q21] != 6 -> + x_ExplicitVarSizeWithDummy[q20] + 2 = y_ExplicitVarSizeWithDummy[q21] + | q20 : int(1..4), q21 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 6 + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q2] = 6 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 6 | q2 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithDummy[q3] != 6) | q3 : int(1..4)]), + and([y_ExplicitVarSizeWithDummy[q5] < y_ExplicitVarSizeWithDummy[q5 + 1] \/ y_ExplicitVarSizeWithDummy[q5] = 6 + | q5 : int(1..3)]), + and([y_ExplicitVarSizeWithDummy[q6] = 6 -> y_ExplicitVarSizeWithDummy[q6 + 1] = 6 | q6 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithDummy[q7] != 6) | q7 : int(1..4)]), + and([q9 + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithMarker_Values[q9] < y_ExplicitVarSizeWithMarker_Values[q9 + 1] + | q9 : int(1..3)]), + and([q10 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[q10] = 2 | q10 : int(1..4)]), + 1 <= y_ExplicitVarSizeWithMarker_Marker, + and([q13 <= y_ExplicitVarSizeWithMarker_Marker -> + or([y_ExplicitVarSizeWithDummy[q15] != 6 /\ + y_ExplicitVarSizeWithDummy[q15] = y_ExplicitVarSizeWithMarker_Values[q13] + | q15 : int(1..4)]) + | q13 : int(1..4)]), + and([y_ExplicitVarSizeWithDummy[q17] != 6 -> + or([q19 <= y_ExplicitVarSizeWithMarker_Marker /\ + y_ExplicitVarSizeWithMarker_Values[q19] = y_ExplicitVarSizeWithDummy[q17] + | q19 : int(1..4)]) + | q17 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_2_2_2_4-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_2_2_2_4-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_2_2_4-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_2_2_2_4-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_2_2_2_4-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_2_2_4-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_2_2_2_4.eprime b/tests/exhaustive/basic/set09/expected/model_2_2_2_4.eprime new file mode 100644 index 0000000000..88248fc78d --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_2_2_4.eprime @@ -0,0 +1,39 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +branching on + [x_ExplicitVarSizeWithDummy, y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values, + y_ExplicitVarSizeWithDummy] +such that + and([x_ExplicitVarSizeWithDummy[q22] != 6 /\ y_ExplicitVarSizeWithDummy[q23] != 6 -> + x_ExplicitVarSizeWithDummy[q22] + 2 = y_ExplicitVarSizeWithDummy[q23] + | q22 : int(1..4), q23 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 6 + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q2] = 6 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 6 | q2 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithDummy[q3] != 6) | q3 : int(1..4)]), + and([y_ExplicitVarSizeWithDummy[q5] < y_ExplicitVarSizeWithDummy[q5 + 1] \/ y_ExplicitVarSizeWithDummy[q5] = 6 + | q5 : int(1..3)]), + and([y_ExplicitVarSizeWithDummy[q6] = 6 -> y_ExplicitVarSizeWithDummy[q6 + 1] = 6 | q6 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithDummy[q7] != 6) | q7 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q9 + 1] -> + y_ExplicitVarSizeWithFlags_Values[q9] < y_ExplicitVarSizeWithFlags_Values[q9 + 1] + | q9 : int(1..3)]), + and([y_ExplicitVarSizeWithFlags_Flags[q10] = false -> y_ExplicitVarSizeWithFlags_Values[q10] = 2 + | q10 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q11 + 1] -> y_ExplicitVarSizeWithFlags_Flags[q11] | q11 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithFlags_Flags[q12]) | q12 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q15] -> + or([y_ExplicitVarSizeWithDummy[q17] != 6 /\ + y_ExplicitVarSizeWithDummy[q17] = y_ExplicitVarSizeWithFlags_Values[q15] + | q17 : int(1..4)]) + | q15 : int(1..4)]), + and([y_ExplicitVarSizeWithDummy[q19] != 6 -> + or([y_ExplicitVarSizeWithFlags_Flags[q21] /\ + y_ExplicitVarSizeWithFlags_Values[q21] = y_ExplicitVarSizeWithDummy[q19] + | q21 : int(1..4)]) + | q19 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_2_2_3_1-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_2_2_3_1-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_2_3_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_2_2_3_1-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_2_2_3_1-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_2_3_1-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_2_2_3_1.eprime b/tests/exhaustive/basic/set09/expected/model_2_2_3_1.eprime new file mode 100644 index 0000000000..bf64c42988 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_2_3_1.eprime @@ -0,0 +1,43 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find y_Occurrence: matrix indexed by [int(2..5)] of bool +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_ExplicitVarSizeWithDummy, y_Occurrence, + y_ExplicitVarSizeWithDummy] +such that + and([x_ExplicitVarSizeWithDummy[q26] != 6 /\ y_ExplicitVarSizeWithDummy[q27] != 6 -> + x_ExplicitVarSizeWithDummy[q26] + 2 = y_ExplicitVarSizeWithDummy[q27] + | q26 : int(1..4), q27 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 6 + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q2] = 6 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 6 | q2 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithDummy[q3] != 6) | q3 : int(1..4)]), + and([y_ExplicitVarSizeWithDummy[q5] < y_ExplicitVarSizeWithDummy[q5 + 1] \/ y_ExplicitVarSizeWithDummy[q5] = 6 + | q5 : int(1..3)]), + and([y_ExplicitVarSizeWithDummy[q6] = 6 -> y_ExplicitVarSizeWithDummy[q6 + 1] = 6 | q6 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithDummy[q7] != 6) | q7 : int(1..4)]), + and([q9 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q9] < x_ExplicitVarSizeWithMarker_Values[q9 + 1] + | q9 : int(1..3)]), + and([q10 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q10] = 2 | q10 : int(1..4)]), + 1 <= x_ExplicitVarSizeWithMarker_Marker, + and([q13 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q15] != 6 /\ + x_ExplicitVarSizeWithDummy[q15] = x_ExplicitVarSizeWithMarker_Values[q13] + | q15 : int(1..4)]) + | q13 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q17] != 6 -> + or([q19 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q19] = x_ExplicitVarSizeWithDummy[q17] + | q19 : int(1..4)]) + | q17 : int(1..4)]), + 1 <= sum([toInt(y_Occurrence[q20]) | q20 : int(2..5)]), + and([y_Occurrence[q21] -> + or([y_ExplicitVarSizeWithDummy[q23] != 6 /\ y_ExplicitVarSizeWithDummy[q23] = q21 | q23 : int(1..4)]) + | q21 : int(2..5)]), + and([y_ExplicitVarSizeWithDummy[q25] != 6 -> y_Occurrence[y_ExplicitVarSizeWithDummy[q25]] | q25 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_2_2_3_2-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_2_2_3_2-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_2_3_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_2_2_3_2-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_2_2_3_2-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_2_3_2-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_2_2_3_2.eprime b/tests/exhaustive/basic/set09/expected/model_2_2_3_2.eprime new file mode 100644 index 0000000000..e948b9d5dd --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_2_3_2.eprime @@ -0,0 +1,37 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_ExplicitVarSizeWithDummy, + y_ExplicitVarSizeWithDummy] +such that + and([x_ExplicitVarSizeWithDummy[q20] != 6 /\ y_ExplicitVarSizeWithDummy[q21] != 6 -> + x_ExplicitVarSizeWithDummy[q20] + 2 = y_ExplicitVarSizeWithDummy[q21] + | q20 : int(1..4), q21 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 6 + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q2] = 6 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 6 | q2 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithDummy[q3] != 6) | q3 : int(1..4)]), + and([y_ExplicitVarSizeWithDummy[q5] < y_ExplicitVarSizeWithDummy[q5 + 1] \/ y_ExplicitVarSizeWithDummy[q5] = 6 + | q5 : int(1..3)]), + and([y_ExplicitVarSizeWithDummy[q6] = 6 -> y_ExplicitVarSizeWithDummy[q6 + 1] = 6 | q6 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithDummy[q7] != 6) | q7 : int(1..4)]), + and([q9 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q9] < x_ExplicitVarSizeWithMarker_Values[q9 + 1] + | q9 : int(1..3)]), + and([q10 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q10] = 2 | q10 : int(1..4)]), + 1 <= x_ExplicitVarSizeWithMarker_Marker, + and([q13 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q15] != 6 /\ + x_ExplicitVarSizeWithDummy[q15] = x_ExplicitVarSizeWithMarker_Values[q13] + | q15 : int(1..4)]) + | q13 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q17] != 6 -> + or([q19 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q19] = x_ExplicitVarSizeWithDummy[q17] + | q19 : int(1..4)]) + | q17 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_2_2_3_3-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_2_2_3_3-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_2_3_3-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_2_2_3_3-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_2_2_3_3-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_2_3_3-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_2_2_3_3.eprime b/tests/exhaustive/basic/set09/expected/model_2_2_3_3.eprime new file mode 100644 index 0000000000..96a79f1b62 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_2_3_3.eprime @@ -0,0 +1,54 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find y_ExplicitVarSizeWithMarker_Marker: int(0..4) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_ExplicitVarSizeWithDummy, + y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values, y_ExplicitVarSizeWithDummy] +such that + and([x_ExplicitVarSizeWithDummy[q31] != 6 /\ y_ExplicitVarSizeWithDummy[q32] != 6 -> + x_ExplicitVarSizeWithDummy[q31] + 2 = y_ExplicitVarSizeWithDummy[q32] + | q31 : int(1..4), q32 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 6 + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q2] = 6 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 6 | q2 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithDummy[q3] != 6) | q3 : int(1..4)]), + and([y_ExplicitVarSizeWithDummy[q5] < y_ExplicitVarSizeWithDummy[q5 + 1] \/ y_ExplicitVarSizeWithDummy[q5] = 6 + | q5 : int(1..3)]), + and([y_ExplicitVarSizeWithDummy[q6] = 6 -> y_ExplicitVarSizeWithDummy[q6 + 1] = 6 | q6 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithDummy[q7] != 6) | q7 : int(1..4)]), + and([q9 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q9] < x_ExplicitVarSizeWithMarker_Values[q9 + 1] + | q9 : int(1..3)]), + and([q10 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q10] = 2 | q10 : int(1..4)]), + 1 <= x_ExplicitVarSizeWithMarker_Marker, + and([q13 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q15] != 6 /\ + x_ExplicitVarSizeWithDummy[q15] = x_ExplicitVarSizeWithMarker_Values[q13] + | q15 : int(1..4)]) + | q13 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q17] != 6 -> + or([q19 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q19] = x_ExplicitVarSizeWithDummy[q17] + | q19 : int(1..4)]) + | q17 : int(1..4)]), + and([q20 + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithMarker_Values[q20] < y_ExplicitVarSizeWithMarker_Values[q20 + 1] + | q20 : int(1..3)]), + and([q21 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[q21] = 2 | q21 : int(1..4)]), + 1 <= y_ExplicitVarSizeWithMarker_Marker, + and([q24 <= y_ExplicitVarSizeWithMarker_Marker -> + or([y_ExplicitVarSizeWithDummy[q26] != 6 /\ + y_ExplicitVarSizeWithDummy[q26] = y_ExplicitVarSizeWithMarker_Values[q24] + | q26 : int(1..4)]) + | q24 : int(1..4)]), + and([y_ExplicitVarSizeWithDummy[q28] != 6 -> + or([q30 <= y_ExplicitVarSizeWithMarker_Marker /\ + y_ExplicitVarSizeWithMarker_Values[q30] = y_ExplicitVarSizeWithDummy[q28] + | q30 : int(1..4)]) + | q28 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_2_2_3_4-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_2_2_3_4-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_2_3_4-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_2_2_3_4-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_2_2_3_4-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_2_3_4-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_2_2_3_4.eprime b/tests/exhaustive/basic/set09/expected/model_2_2_3_4.eprime new file mode 100644 index 0000000000..466ab4e3bf --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_2_3_4.eprime @@ -0,0 +1,56 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_ExplicitVarSizeWithDummy, + y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values, y_ExplicitVarSizeWithDummy] +such that + and([x_ExplicitVarSizeWithDummy[q33] != 6 /\ y_ExplicitVarSizeWithDummy[q34] != 6 -> + x_ExplicitVarSizeWithDummy[q33] + 2 = y_ExplicitVarSizeWithDummy[q34] + | q33 : int(1..4), q34 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 6 + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q2] = 6 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 6 | q2 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithDummy[q3] != 6) | q3 : int(1..4)]), + and([y_ExplicitVarSizeWithDummy[q5] < y_ExplicitVarSizeWithDummy[q5 + 1] \/ y_ExplicitVarSizeWithDummy[q5] = 6 + | q5 : int(1..3)]), + and([y_ExplicitVarSizeWithDummy[q6] = 6 -> y_ExplicitVarSizeWithDummy[q6 + 1] = 6 | q6 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithDummy[q7] != 6) | q7 : int(1..4)]), + and([q9 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q9] < x_ExplicitVarSizeWithMarker_Values[q9 + 1] + | q9 : int(1..3)]), + and([q10 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q10] = 2 | q10 : int(1..4)]), + 1 <= x_ExplicitVarSizeWithMarker_Marker, + and([q13 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q15] != 6 /\ + x_ExplicitVarSizeWithDummy[q15] = x_ExplicitVarSizeWithMarker_Values[q13] + | q15 : int(1..4)]) + | q13 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q17] != 6 -> + or([q19 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q19] = x_ExplicitVarSizeWithDummy[q17] + | q19 : int(1..4)]) + | q17 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q20 + 1] -> + y_ExplicitVarSizeWithFlags_Values[q20] < y_ExplicitVarSizeWithFlags_Values[q20 + 1] + | q20 : int(1..3)]), + and([y_ExplicitVarSizeWithFlags_Flags[q21] = false -> y_ExplicitVarSizeWithFlags_Values[q21] = 2 + | q21 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q22 + 1] -> y_ExplicitVarSizeWithFlags_Flags[q22] | q22 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithFlags_Flags[q23]) | q23 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q26] -> + or([y_ExplicitVarSizeWithDummy[q28] != 6 /\ + y_ExplicitVarSizeWithDummy[q28] = y_ExplicitVarSizeWithFlags_Values[q26] + | q28 : int(1..4)]) + | q26 : int(1..4)]), + and([y_ExplicitVarSizeWithDummy[q30] != 6 -> + or([y_ExplicitVarSizeWithFlags_Flags[q32] /\ + y_ExplicitVarSizeWithFlags_Values[q32] = y_ExplicitVarSizeWithDummy[q30] + | q32 : int(1..4)]) + | q30 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_2_2_4_1-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_2_2_4_1-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_2_4_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_2_2_4_1-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_2_2_4_1-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_2_4_1-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_2_2_4_1.eprime b/tests/exhaustive/basic/set09/expected/model_2_2_4_1.eprime new file mode 100644 index 0000000000..a1084e9824 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_2_4_1.eprime @@ -0,0 +1,45 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find y_Occurrence: matrix indexed by [int(2..5)] of bool +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_ExplicitVarSizeWithDummy, y_Occurrence, + y_ExplicitVarSizeWithDummy] +such that + and([x_ExplicitVarSizeWithDummy[q28] != 6 /\ y_ExplicitVarSizeWithDummy[q29] != 6 -> + x_ExplicitVarSizeWithDummy[q28] + 2 = y_ExplicitVarSizeWithDummy[q29] + | q28 : int(1..4), q29 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 6 + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q2] = 6 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 6 | q2 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithDummy[q3] != 6) | q3 : int(1..4)]), + and([y_ExplicitVarSizeWithDummy[q5] < y_ExplicitVarSizeWithDummy[q5 + 1] \/ y_ExplicitVarSizeWithDummy[q5] = 6 + | q5 : int(1..3)]), + and([y_ExplicitVarSizeWithDummy[q6] = 6 -> y_ExplicitVarSizeWithDummy[q6 + 1] = 6 | q6 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithDummy[q7] != 6) | q7 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q9 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q9] < x_ExplicitVarSizeWithFlags_Values[q9 + 1] + | q9 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q10] = false -> x_ExplicitVarSizeWithFlags_Values[q10] = 2 + | q10 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q11 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q11] | q11 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q12]) | q12 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q15] -> + or([x_ExplicitVarSizeWithDummy[q17] != 6 /\ + x_ExplicitVarSizeWithDummy[q17] = x_ExplicitVarSizeWithFlags_Values[q15] + | q17 : int(1..4)]) + | q15 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q19] != 6 -> + or([x_ExplicitVarSizeWithFlags_Flags[q21] /\ + x_ExplicitVarSizeWithFlags_Values[q21] = x_ExplicitVarSizeWithDummy[q19] + | q21 : int(1..4)]) + | q19 : int(1..4)]), + 1 <= sum([toInt(y_Occurrence[q22]) | q22 : int(2..5)]), + and([y_Occurrence[q23] -> + or([y_ExplicitVarSizeWithDummy[q25] != 6 /\ y_ExplicitVarSizeWithDummy[q25] = q23 | q25 : int(1..4)]) + | q23 : int(2..5)]), + and([y_ExplicitVarSizeWithDummy[q27] != 6 -> y_Occurrence[y_ExplicitVarSizeWithDummy[q27]] | q27 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_2_2_4_2-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_2_2_4_2-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_2_4_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_2_2_4_2-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_2_2_4_2-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_2_4_2-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_2_2_4_2.eprime b/tests/exhaustive/basic/set09/expected/model_2_2_4_2.eprime new file mode 100644 index 0000000000..43b2f0a07f --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_2_4_2.eprime @@ -0,0 +1,39 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_ExplicitVarSizeWithDummy, + y_ExplicitVarSizeWithDummy] +such that + and([x_ExplicitVarSizeWithDummy[q22] != 6 /\ y_ExplicitVarSizeWithDummy[q23] != 6 -> + x_ExplicitVarSizeWithDummy[q22] + 2 = y_ExplicitVarSizeWithDummy[q23] + | q22 : int(1..4), q23 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 6 + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q2] = 6 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 6 | q2 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithDummy[q3] != 6) | q3 : int(1..4)]), + and([y_ExplicitVarSizeWithDummy[q5] < y_ExplicitVarSizeWithDummy[q5 + 1] \/ y_ExplicitVarSizeWithDummy[q5] = 6 + | q5 : int(1..3)]), + and([y_ExplicitVarSizeWithDummy[q6] = 6 -> y_ExplicitVarSizeWithDummy[q6 + 1] = 6 | q6 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithDummy[q7] != 6) | q7 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q9 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q9] < x_ExplicitVarSizeWithFlags_Values[q9 + 1] + | q9 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q10] = false -> x_ExplicitVarSizeWithFlags_Values[q10] = 2 + | q10 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q11 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q11] | q11 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q12]) | q12 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q15] -> + or([x_ExplicitVarSizeWithDummy[q17] != 6 /\ + x_ExplicitVarSizeWithDummy[q17] = x_ExplicitVarSizeWithFlags_Values[q15] + | q17 : int(1..4)]) + | q15 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q19] != 6 -> + or([x_ExplicitVarSizeWithFlags_Flags[q21] /\ + x_ExplicitVarSizeWithFlags_Values[q21] = x_ExplicitVarSizeWithDummy[q19] + | q21 : int(1..4)]) + | q19 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_2_2_4_3-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_2_2_4_3-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_2_4_3-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_2_2_4_3-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_2_2_4_3-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_2_4_3-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_2_2_4_3.eprime b/tests/exhaustive/basic/set09/expected/model_2_2_4_3.eprime new file mode 100644 index 0000000000..d589c54438 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_2_4_3.eprime @@ -0,0 +1,56 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find y_ExplicitVarSizeWithMarker_Marker: int(0..4) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_ExplicitVarSizeWithDummy, + y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values, y_ExplicitVarSizeWithDummy] +such that + and([x_ExplicitVarSizeWithDummy[q33] != 6 /\ y_ExplicitVarSizeWithDummy[q34] != 6 -> + x_ExplicitVarSizeWithDummy[q33] + 2 = y_ExplicitVarSizeWithDummy[q34] + | q33 : int(1..4), q34 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 6 + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q2] = 6 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 6 | q2 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithDummy[q3] != 6) | q3 : int(1..4)]), + and([y_ExplicitVarSizeWithDummy[q5] < y_ExplicitVarSizeWithDummy[q5 + 1] \/ y_ExplicitVarSizeWithDummy[q5] = 6 + | q5 : int(1..3)]), + and([y_ExplicitVarSizeWithDummy[q6] = 6 -> y_ExplicitVarSizeWithDummy[q6 + 1] = 6 | q6 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithDummy[q7] != 6) | q7 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q9 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q9] < x_ExplicitVarSizeWithFlags_Values[q9 + 1] + | q9 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q10] = false -> x_ExplicitVarSizeWithFlags_Values[q10] = 2 + | q10 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q11 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q11] | q11 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q12]) | q12 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q15] -> + or([x_ExplicitVarSizeWithDummy[q17] != 6 /\ + x_ExplicitVarSizeWithDummy[q17] = x_ExplicitVarSizeWithFlags_Values[q15] + | q17 : int(1..4)]) + | q15 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q19] != 6 -> + or([x_ExplicitVarSizeWithFlags_Flags[q21] /\ + x_ExplicitVarSizeWithFlags_Values[q21] = x_ExplicitVarSizeWithDummy[q19] + | q21 : int(1..4)]) + | q19 : int(1..4)]), + and([q22 + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithMarker_Values[q22] < y_ExplicitVarSizeWithMarker_Values[q22 + 1] + | q22 : int(1..3)]), + and([q23 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[q23] = 2 | q23 : int(1..4)]), + 1 <= y_ExplicitVarSizeWithMarker_Marker, + and([q26 <= y_ExplicitVarSizeWithMarker_Marker -> + or([y_ExplicitVarSizeWithDummy[q28] != 6 /\ + y_ExplicitVarSizeWithDummy[q28] = y_ExplicitVarSizeWithMarker_Values[q26] + | q28 : int(1..4)]) + | q26 : int(1..4)]), + and([y_ExplicitVarSizeWithDummy[q30] != 6 -> + or([q32 <= y_ExplicitVarSizeWithMarker_Marker /\ + y_ExplicitVarSizeWithMarker_Values[q32] = y_ExplicitVarSizeWithDummy[q30] + | q32 : int(1..4)]) + | q30 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_2_2_4_4-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_2_2_4_4-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_2_4_4-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_2_2_4_4-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_2_2_4_4-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_2_4_4-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_2_2_4_4.eprime b/tests/exhaustive/basic/set09/expected/model_2_2_4_4.eprime new file mode 100644 index 0000000000..eccd37c27c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_2_4_4.eprime @@ -0,0 +1,58 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_ExplicitVarSizeWithDummy, + y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values, y_ExplicitVarSizeWithDummy] +such that + and([x_ExplicitVarSizeWithDummy[q35] != 6 /\ y_ExplicitVarSizeWithDummy[q36] != 6 -> + x_ExplicitVarSizeWithDummy[q35] + 2 = y_ExplicitVarSizeWithDummy[q36] + | q35 : int(1..4), q36 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 6 + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q2] = 6 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 6 | q2 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithDummy[q3] != 6) | q3 : int(1..4)]), + and([y_ExplicitVarSizeWithDummy[q5] < y_ExplicitVarSizeWithDummy[q5 + 1] \/ y_ExplicitVarSizeWithDummy[q5] = 6 + | q5 : int(1..3)]), + and([y_ExplicitVarSizeWithDummy[q6] = 6 -> y_ExplicitVarSizeWithDummy[q6 + 1] = 6 | q6 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithDummy[q7] != 6) | q7 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q9 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q9] < x_ExplicitVarSizeWithFlags_Values[q9 + 1] + | q9 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q10] = false -> x_ExplicitVarSizeWithFlags_Values[q10] = 2 + | q10 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q11 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q11] | q11 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q12]) | q12 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q15] -> + or([x_ExplicitVarSizeWithDummy[q17] != 6 /\ + x_ExplicitVarSizeWithDummy[q17] = x_ExplicitVarSizeWithFlags_Values[q15] + | q17 : int(1..4)]) + | q15 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q19] != 6 -> + or([x_ExplicitVarSizeWithFlags_Flags[q21] /\ + x_ExplicitVarSizeWithFlags_Values[q21] = x_ExplicitVarSizeWithDummy[q19] + | q21 : int(1..4)]) + | q19 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q22 + 1] -> + y_ExplicitVarSizeWithFlags_Values[q22] < y_ExplicitVarSizeWithFlags_Values[q22 + 1] + | q22 : int(1..3)]), + and([y_ExplicitVarSizeWithFlags_Flags[q23] = false -> y_ExplicitVarSizeWithFlags_Values[q23] = 2 + | q23 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q24 + 1] -> y_ExplicitVarSizeWithFlags_Flags[q24] | q24 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithFlags_Flags[q25]) | q25 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q28] -> + or([y_ExplicitVarSizeWithDummy[q30] != 6 /\ + y_ExplicitVarSizeWithDummy[q30] = y_ExplicitVarSizeWithFlags_Values[q28] + | q30 : int(1..4)]) + | q28 : int(1..4)]), + and([y_ExplicitVarSizeWithDummy[q32] != 6 -> + or([y_ExplicitVarSizeWithFlags_Flags[q34] /\ + y_ExplicitVarSizeWithFlags_Values[q34] = y_ExplicitVarSizeWithDummy[q32] + | q34 : int(1..4)]) + | q32 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_2_3_1_1-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_2_3_1_1-solution000001.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_3_1_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_2_3_1_1-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_2_3_1_1-solution000002.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_3_1_1-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_2_3_1_1.eprime b/tests/exhaustive/basic/set09/expected/model_2_3_1_1.eprime new file mode 100644 index 0000000000..37bb76ce7c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_3_1_1.eprime @@ -0,0 +1,36 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find x_Occurrence: matrix indexed by [int(2..5)] of bool +find y_ExplicitVarSizeWithMarker_Marker: int(0..4) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_Occurrence: matrix indexed by [int(2..5)] of bool +branching on + [x_Occurrence, x_ExplicitVarSizeWithDummy, y_Occurrence, y_ExplicitVarSizeWithMarker_Marker, + y_ExplicitVarSizeWithMarker_Values] +such that + and([x_ExplicitVarSizeWithDummy[q15] != 6 /\ q16 <= y_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithDummy[q15] + 2 = y_ExplicitVarSizeWithMarker_Values[q16] + | q15 : int(1..4), q16 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 6 + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q2] = 6 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 6 | q2 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithDummy[q3] != 6) | q3 : int(1..4)]), + and([q5 + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithMarker_Values[q5] < y_ExplicitVarSizeWithMarker_Values[q5 + 1] + | q5 : int(1..3)]), + and([q6 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[q6] = 2 | q6 : int(1..4)]), + 1 <= y_ExplicitVarSizeWithMarker_Marker, + 1 <= sum([toInt(x_Occurrence[q8]) | q8 : int(2..5)]), + and([x_Occurrence[q17] -> + or([x_ExplicitVarSizeWithDummy[q19] != 6 /\ x_ExplicitVarSizeWithDummy[q19] = q17 | q19 : int(1..4)]) + | q17 : int(2..5)]), + and([x_ExplicitVarSizeWithDummy[q21] != 6 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q21]] | q21 : int(1..4)]), + 1 <= sum([toInt(y_Occurrence[q9]) | q9 : int(2..5)]), + and([y_Occurrence[q10] -> + or([q12 <= y_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithMarker_Values[q12] = q10 + | q12 : int(1..4)]) + | q10 : int(2..5)]), + and([q14 <= y_ExplicitVarSizeWithMarker_Marker -> y_Occurrence[y_ExplicitVarSizeWithMarker_Values[q14]] + | q14 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_2_3_1_2-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_2_3_1_2-solution000001.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_3_1_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_2_3_1_2-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_2_3_1_2-solution000002.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_3_1_2-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_2_3_1_2.eprime b/tests/exhaustive/basic/set09/expected/model_2_3_1_2.eprime new file mode 100644 index 0000000000..ef24047245 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_3_1_2.eprime @@ -0,0 +1,43 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find x_Occurrence: matrix indexed by [int(2..5)] of bool +find y_ExplicitVarSizeWithMarker_Marker: int(0..4) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +branching on + [x_Occurrence, x_ExplicitVarSizeWithDummy, y_ExplicitVarSizeWithDummy, y_ExplicitVarSizeWithMarker_Marker, + y_ExplicitVarSizeWithMarker_Values] +such that + and([x_ExplicitVarSizeWithDummy[q26] != 6 /\ q27 <= y_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithDummy[q26] + 2 = y_ExplicitVarSizeWithMarker_Values[q27] + | q26 : int(1..4), q27 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 6 + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q2] = 6 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 6 | q2 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithDummy[q3] != 6) | q3 : int(1..4)]), + and([q5 + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithMarker_Values[q5] < y_ExplicitVarSizeWithMarker_Values[q5 + 1] + | q5 : int(1..3)]), + and([q6 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[q6] = 2 | q6 : int(1..4)]), + 1 <= y_ExplicitVarSizeWithMarker_Marker, + 1 <= sum([toInt(x_Occurrence[q8]) | q8 : int(2..5)]), + and([x_Occurrence[q21] -> + or([x_ExplicitVarSizeWithDummy[q23] != 6 /\ x_ExplicitVarSizeWithDummy[q23] = q21 | q23 : int(1..4)]) + | q21 : int(2..5)]), + and([x_ExplicitVarSizeWithDummy[q25] != 6 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q25]] | q25 : int(1..4)]), + and([y_ExplicitVarSizeWithDummy[q9] < y_ExplicitVarSizeWithDummy[q9 + 1] \/ y_ExplicitVarSizeWithDummy[q9] = 6 + | q9 : int(1..3)]), + and([y_ExplicitVarSizeWithDummy[q10] = 6 -> y_ExplicitVarSizeWithDummy[q10 + 1] = 6 | q10 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithDummy[q11] != 6) | q11 : int(1..4)]), + and([y_ExplicitVarSizeWithDummy[q14] != 6 -> + or([q16 <= y_ExplicitVarSizeWithMarker_Marker /\ + y_ExplicitVarSizeWithMarker_Values[q16] = y_ExplicitVarSizeWithDummy[q14] + | q16 : int(1..4)]) + | q14 : int(1..4)]), + and([q18 <= y_ExplicitVarSizeWithMarker_Marker -> + or([y_ExplicitVarSizeWithDummy[q20] != 6 /\ + y_ExplicitVarSizeWithDummy[q20] = y_ExplicitVarSizeWithMarker_Values[q18] + | q20 : int(1..4)]) + | q18 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_2_3_1_3-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_2_3_1_3-solution000001.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_3_1_3-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_2_3_1_3-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_2_3_1_3-solution000002.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_3_1_3-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_2_3_1_3.eprime b/tests/exhaustive/basic/set09/expected/model_2_3_1_3.eprime new file mode 100644 index 0000000000..e78df8b806 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_3_1_3.eprime @@ -0,0 +1,27 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find x_Occurrence: matrix indexed by [int(2..5)] of bool +find y_ExplicitVarSizeWithMarker_Marker: int(0..4) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +branching on + [x_Occurrence, x_ExplicitVarSizeWithDummy, y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values] +such that + and([x_ExplicitVarSizeWithDummy[q14] != 6 /\ q15 <= y_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithDummy[q14] + 2 = y_ExplicitVarSizeWithMarker_Values[q15] + | q14 : int(1..4), q15 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 6 + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q2] = 6 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 6 | q2 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithDummy[q3] != 6) | q3 : int(1..4)]), + and([q5 + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithMarker_Values[q5] < y_ExplicitVarSizeWithMarker_Values[q5 + 1] + | q5 : int(1..3)]), + and([q6 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[q6] = 2 | q6 : int(1..4)]), + 1 <= y_ExplicitVarSizeWithMarker_Marker, + 1 <= sum([toInt(x_Occurrence[q8]) | q8 : int(2..5)]), + and([x_Occurrence[q9] -> + or([x_ExplicitVarSizeWithDummy[q11] != 6 /\ x_ExplicitVarSizeWithDummy[q11] = q9 | q11 : int(1..4)]) + | q9 : int(2..5)]), + and([x_ExplicitVarSizeWithDummy[q13] != 6 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q13]] | q13 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_2_3_1_4-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_2_3_1_4-solution000001.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_3_1_4-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_2_3_1_4-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_2_3_1_4-solution000002.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_3_1_4-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_2_3_1_4.eprime b/tests/exhaustive/basic/set09/expected/model_2_3_1_4.eprime new file mode 100644 index 0000000000..1760ad207f --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_3_1_4.eprime @@ -0,0 +1,47 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find x_Occurrence: matrix indexed by [int(2..5)] of bool +find y_ExplicitVarSizeWithMarker_Marker: int(0..4) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +branching on + [x_Occurrence, x_ExplicitVarSizeWithDummy, y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values, + y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values] +such that + and([x_ExplicitVarSizeWithDummy[q27] != 6 /\ q28 <= y_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithDummy[q27] + 2 = y_ExplicitVarSizeWithMarker_Values[q28] + | q27 : int(1..4), q28 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 6 + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q2] = 6 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 6 | q2 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithDummy[q3] != 6) | q3 : int(1..4)]), + and([q5 + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithMarker_Values[q5] < y_ExplicitVarSizeWithMarker_Values[q5 + 1] + | q5 : int(1..3)]), + and([q6 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[q6] = 2 | q6 : int(1..4)]), + 1 <= y_ExplicitVarSizeWithMarker_Marker, + 1 <= sum([toInt(x_Occurrence[q8]) | q8 : int(2..5)]), + and([x_Occurrence[q22] -> + or([x_ExplicitVarSizeWithDummy[q24] != 6 /\ x_ExplicitVarSizeWithDummy[q24] = q22 | q24 : int(1..4)]) + | q22 : int(2..5)]), + and([x_ExplicitVarSizeWithDummy[q26] != 6 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q26]] | q26 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q9 + 1] -> + y_ExplicitVarSizeWithFlags_Values[q9] < y_ExplicitVarSizeWithFlags_Values[q9 + 1] + | q9 : int(1..3)]), + and([y_ExplicitVarSizeWithFlags_Flags[q10] = false -> y_ExplicitVarSizeWithFlags_Values[q10] = 2 + | q10 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q11 + 1] -> y_ExplicitVarSizeWithFlags_Flags[q11] | q11 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithFlags_Flags[q12]) | q12 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q15] -> + or([q17 <= y_ExplicitVarSizeWithMarker_Marker /\ + y_ExplicitVarSizeWithMarker_Values[q17] = y_ExplicitVarSizeWithFlags_Values[q15] + | q17 : int(1..4)]) + | q15 : int(1..4)]), + and([q19 <= y_ExplicitVarSizeWithMarker_Marker -> + or([y_ExplicitVarSizeWithFlags_Flags[q21] /\ + y_ExplicitVarSizeWithFlags_Values[q21] = y_ExplicitVarSizeWithMarker_Values[q19] + | q21 : int(1..4)]) + | q19 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_2_3_2_1-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_2_3_2_1-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_3_2_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_2_3_2_1-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_2_3_2_1-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_3_2_1-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_2_3_2_1.eprime b/tests/exhaustive/basic/set09/expected/model_2_3_2_1.eprime new file mode 100644 index 0000000000..230e345c18 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_3_2_1.eprime @@ -0,0 +1,29 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find y_ExplicitVarSizeWithMarker_Marker: int(0..4) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_Occurrence: matrix indexed by [int(2..5)] of bool +branching on + [x_ExplicitVarSizeWithDummy, y_Occurrence, y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values] +such that + and([x_ExplicitVarSizeWithDummy[q14] != 6 /\ q15 <= y_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithDummy[q14] + 2 = y_ExplicitVarSizeWithMarker_Values[q15] + | q14 : int(1..4), q15 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 6 + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q2] = 6 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 6 | q2 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithDummy[q3] != 6) | q3 : int(1..4)]), + and([q5 + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithMarker_Values[q5] < y_ExplicitVarSizeWithMarker_Values[q5 + 1] + | q5 : int(1..3)]), + and([q6 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[q6] = 2 | q6 : int(1..4)]), + 1 <= y_ExplicitVarSizeWithMarker_Marker, + 1 <= sum([toInt(y_Occurrence[q8]) | q8 : int(2..5)]), + and([y_Occurrence[q9] -> + or([q11 <= y_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithMarker_Values[q11] = q9 + | q11 : int(1..4)]) + | q9 : int(2..5)]), + and([q13 <= y_ExplicitVarSizeWithMarker_Marker -> y_Occurrence[y_ExplicitVarSizeWithMarker_Values[q13]] + | q13 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_2_3_2_2-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_2_3_2_2-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_3_2_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_2_3_2_2-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_2_3_2_2-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_3_2_2-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_2_3_2_2.eprime b/tests/exhaustive/basic/set09/expected/model_2_3_2_2.eprime new file mode 100644 index 0000000000..f2e207b1c7 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_3_2_2.eprime @@ -0,0 +1,37 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find y_ExplicitVarSizeWithMarker_Marker: int(0..4) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +branching on + [x_ExplicitVarSizeWithDummy, y_ExplicitVarSizeWithDummy, y_ExplicitVarSizeWithMarker_Marker, + y_ExplicitVarSizeWithMarker_Values] +such that + and([x_ExplicitVarSizeWithDummy[q20] != 6 /\ q21 <= y_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithDummy[q20] + 2 = y_ExplicitVarSizeWithMarker_Values[q21] + | q20 : int(1..4), q21 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 6 + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q2] = 6 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 6 | q2 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithDummy[q3] != 6) | q3 : int(1..4)]), + and([q5 + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithMarker_Values[q5] < y_ExplicitVarSizeWithMarker_Values[q5 + 1] + | q5 : int(1..3)]), + and([q6 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[q6] = 2 | q6 : int(1..4)]), + 1 <= y_ExplicitVarSizeWithMarker_Marker, + and([y_ExplicitVarSizeWithDummy[q8] < y_ExplicitVarSizeWithDummy[q8 + 1] \/ y_ExplicitVarSizeWithDummy[q8] = 6 + | q8 : int(1..3)]), + and([y_ExplicitVarSizeWithDummy[q9] = 6 -> y_ExplicitVarSizeWithDummy[q9 + 1] = 6 | q9 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithDummy[q10] != 6) | q10 : int(1..4)]), + and([y_ExplicitVarSizeWithDummy[q13] != 6 -> + or([q15 <= y_ExplicitVarSizeWithMarker_Marker /\ + y_ExplicitVarSizeWithMarker_Values[q15] = y_ExplicitVarSizeWithDummy[q13] + | q15 : int(1..4)]) + | q13 : int(1..4)]), + and([q17 <= y_ExplicitVarSizeWithMarker_Marker -> + or([y_ExplicitVarSizeWithDummy[q19] != 6 /\ + y_ExplicitVarSizeWithDummy[q19] = y_ExplicitVarSizeWithMarker_Values[q17] + | q19 : int(1..4)]) + | q17 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_2_3_2_3-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_2_3_2_3-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_3_2_3-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_2_3_2_3-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_2_3_2_3-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_3_2_3-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_2_3_2_3.eprime b/tests/exhaustive/basic/set09/expected/model_2_3_2_3.eprime new file mode 100644 index 0000000000..55128bbafc --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_3_2_3.eprime @@ -0,0 +1,20 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find y_ExplicitVarSizeWithMarker_Marker: int(0..4) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +branching on [x_ExplicitVarSizeWithDummy, y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values] +such that + and([x_ExplicitVarSizeWithDummy[q8] != 6 /\ q9 <= y_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithDummy[q8] + 2 = y_ExplicitVarSizeWithMarker_Values[q9] + | q8 : int(1..4), q9 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 6 + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q2] = 6 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 6 | q2 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithDummy[q3] != 6) | q3 : int(1..4)]), + and([q5 + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithMarker_Values[q5] < y_ExplicitVarSizeWithMarker_Values[q5 + 1] + | q5 : int(1..3)]), + and([q6 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[q6] = 2 | q6 : int(1..4)]), + 1 <= y_ExplicitVarSizeWithMarker_Marker + diff --git a/tests/exhaustive/basic/set09/expected/model_2_3_2_4-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_2_3_2_4-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_3_2_4-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_2_3_2_4-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_2_3_2_4-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_3_2_4-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_2_3_2_4.eprime b/tests/exhaustive/basic/set09/expected/model_2_3_2_4.eprime new file mode 100644 index 0000000000..f69d957f61 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_3_2_4.eprime @@ -0,0 +1,40 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find y_ExplicitVarSizeWithMarker_Marker: int(0..4) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +branching on + [x_ExplicitVarSizeWithDummy, y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values, + y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values] +such that + and([x_ExplicitVarSizeWithDummy[q21] != 6 /\ q22 <= y_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithDummy[q21] + 2 = y_ExplicitVarSizeWithMarker_Values[q22] + | q21 : int(1..4), q22 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 6 + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q2] = 6 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 6 | q2 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithDummy[q3] != 6) | q3 : int(1..4)]), + and([q5 + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithMarker_Values[q5] < y_ExplicitVarSizeWithMarker_Values[q5 + 1] + | q5 : int(1..3)]), + and([q6 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[q6] = 2 | q6 : int(1..4)]), + 1 <= y_ExplicitVarSizeWithMarker_Marker, + and([y_ExplicitVarSizeWithFlags_Flags[q8 + 1] -> + y_ExplicitVarSizeWithFlags_Values[q8] < y_ExplicitVarSizeWithFlags_Values[q8 + 1] + | q8 : int(1..3)]), + and([y_ExplicitVarSizeWithFlags_Flags[q9] = false -> y_ExplicitVarSizeWithFlags_Values[q9] = 2 | q9 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q10 + 1] -> y_ExplicitVarSizeWithFlags_Flags[q10] | q10 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithFlags_Flags[q11]) | q11 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q14] -> + or([q16 <= y_ExplicitVarSizeWithMarker_Marker /\ + y_ExplicitVarSizeWithMarker_Values[q16] = y_ExplicitVarSizeWithFlags_Values[q14] + | q16 : int(1..4)]) + | q14 : int(1..4)]), + and([q18 <= y_ExplicitVarSizeWithMarker_Marker -> + or([y_ExplicitVarSizeWithFlags_Flags[q20] /\ + y_ExplicitVarSizeWithFlags_Values[q20] = y_ExplicitVarSizeWithMarker_Values[q18] + | q20 : int(1..4)]) + | q18 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_2_3_3_1-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_2_3_3_1-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_3_3_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_2_3_3_1-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_2_3_3_1-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_3_3_1-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_2_3_3_1.eprime b/tests/exhaustive/basic/set09/expected/model_2_3_3_1.eprime new file mode 100644 index 0000000000..a25e81deb3 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_3_3_1.eprime @@ -0,0 +1,47 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithMarker_Marker: int(0..4) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_Occurrence: matrix indexed by [int(2..5)] of bool +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_ExplicitVarSizeWithDummy, y_Occurrence, + y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values] +such that + and([x_ExplicitVarSizeWithDummy[q25] != 6 /\ q26 <= y_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithDummy[q25] + 2 = y_ExplicitVarSizeWithMarker_Values[q26] + | q25 : int(1..4), q26 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 6 + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q2] = 6 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 6 | q2 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithDummy[q3] != 6) | q3 : int(1..4)]), + and([q5 + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithMarker_Values[q5] < y_ExplicitVarSizeWithMarker_Values[q5 + 1] + | q5 : int(1..3)]), + and([q6 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[q6] = 2 | q6 : int(1..4)]), + 1 <= y_ExplicitVarSizeWithMarker_Marker, + and([q8 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q8] < x_ExplicitVarSizeWithMarker_Values[q8 + 1] + | q8 : int(1..3)]), + and([q9 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q9] = 2 | q9 : int(1..4)]), + 1 <= x_ExplicitVarSizeWithMarker_Marker, + and([q12 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q14] != 6 /\ + x_ExplicitVarSizeWithDummy[q14] = x_ExplicitVarSizeWithMarker_Values[q12] + | q14 : int(1..4)]) + | q12 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q16] != 6 -> + or([q18 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q18] = x_ExplicitVarSizeWithDummy[q16] + | q18 : int(1..4)]) + | q16 : int(1..4)]), + 1 <= sum([toInt(y_Occurrence[q19]) | q19 : int(2..5)]), + and([y_Occurrence[q20] -> + or([q22 <= y_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithMarker_Values[q22] = q20 + | q22 : int(1..4)]) + | q20 : int(2..5)]), + and([q24 <= y_ExplicitVarSizeWithMarker_Marker -> y_Occurrence[y_ExplicitVarSizeWithMarker_Values[q24]] + | q24 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_2_3_3_2-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_2_3_3_2-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_3_3_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_2_3_3_2-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_2_3_3_2-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_3_3_2-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_2_3_3_2.eprime b/tests/exhaustive/basic/set09/expected/model_2_3_3_2.eprime new file mode 100644 index 0000000000..f4cb2aafb3 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_3_3_2.eprime @@ -0,0 +1,54 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithMarker_Marker: int(0..4) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_ExplicitVarSizeWithDummy, + y_ExplicitVarSizeWithDummy, y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values] +such that + and([x_ExplicitVarSizeWithDummy[q31] != 6 /\ q32 <= y_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithDummy[q31] + 2 = y_ExplicitVarSizeWithMarker_Values[q32] + | q31 : int(1..4), q32 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 6 + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q2] = 6 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 6 | q2 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithDummy[q3] != 6) | q3 : int(1..4)]), + and([q5 + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithMarker_Values[q5] < y_ExplicitVarSizeWithMarker_Values[q5 + 1] + | q5 : int(1..3)]), + and([q6 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[q6] = 2 | q6 : int(1..4)]), + 1 <= y_ExplicitVarSizeWithMarker_Marker, + and([q8 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q8] < x_ExplicitVarSizeWithMarker_Values[q8 + 1] + | q8 : int(1..3)]), + and([q9 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q9] = 2 | q9 : int(1..4)]), + 1 <= x_ExplicitVarSizeWithMarker_Marker, + and([q12 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q14] != 6 /\ + x_ExplicitVarSizeWithDummy[q14] = x_ExplicitVarSizeWithMarker_Values[q12] + | q14 : int(1..4)]) + | q12 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q16] != 6 -> + or([q18 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q18] = x_ExplicitVarSizeWithDummy[q16] + | q18 : int(1..4)]) + | q16 : int(1..4)]), + and([y_ExplicitVarSizeWithDummy[q19] < y_ExplicitVarSizeWithDummy[q19 + 1] \/ y_ExplicitVarSizeWithDummy[q19] = 6 + | q19 : int(1..3)]), + and([y_ExplicitVarSizeWithDummy[q20] = 6 -> y_ExplicitVarSizeWithDummy[q20 + 1] = 6 | q20 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithDummy[q21] != 6) | q21 : int(1..4)]), + and([y_ExplicitVarSizeWithDummy[q24] != 6 -> + or([q26 <= y_ExplicitVarSizeWithMarker_Marker /\ + y_ExplicitVarSizeWithMarker_Values[q26] = y_ExplicitVarSizeWithDummy[q24] + | q26 : int(1..4)]) + | q24 : int(1..4)]), + and([q28 <= y_ExplicitVarSizeWithMarker_Marker -> + or([y_ExplicitVarSizeWithDummy[q30] != 6 /\ + y_ExplicitVarSizeWithDummy[q30] = y_ExplicitVarSizeWithMarker_Values[q28] + | q30 : int(1..4)]) + | q28 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_2_3_3_3-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_2_3_3_3-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_3_3_3-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_2_3_3_3-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_2_3_3_3-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_3_3_3-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_2_3_3_3.eprime b/tests/exhaustive/basic/set09/expected/model_2_3_3_3.eprime new file mode 100644 index 0000000000..8cb929ecd5 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_3_3_3.eprime @@ -0,0 +1,39 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithMarker_Marker: int(0..4) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_ExplicitVarSizeWithDummy, + y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values] +such that + and([x_ExplicitVarSizeWithDummy[q19] != 6 /\ q20 <= y_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithDummy[q19] + 2 = y_ExplicitVarSizeWithMarker_Values[q20] + | q19 : int(1..4), q20 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 6 + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q2] = 6 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 6 | q2 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithDummy[q3] != 6) | q3 : int(1..4)]), + and([q5 + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithMarker_Values[q5] < y_ExplicitVarSizeWithMarker_Values[q5 + 1] + | q5 : int(1..3)]), + and([q6 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[q6] = 2 | q6 : int(1..4)]), + 1 <= y_ExplicitVarSizeWithMarker_Marker, + and([q8 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q8] < x_ExplicitVarSizeWithMarker_Values[q8 + 1] + | q8 : int(1..3)]), + and([q9 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q9] = 2 | q9 : int(1..4)]), + 1 <= x_ExplicitVarSizeWithMarker_Marker, + and([q12 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q14] != 6 /\ + x_ExplicitVarSizeWithDummy[q14] = x_ExplicitVarSizeWithMarker_Values[q12] + | q14 : int(1..4)]) + | q12 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q16] != 6 -> + or([q18 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q18] = x_ExplicitVarSizeWithDummy[q16] + | q18 : int(1..4)]) + | q16 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_2_3_3_4-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_2_3_3_4-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_3_3_4-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_2_3_3_4-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_2_3_3_4-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_3_3_4-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_2_3_3_4.eprime b/tests/exhaustive/basic/set09/expected/model_2_3_3_4.eprime new file mode 100644 index 0000000000..28b7796968 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_3_3_4.eprime @@ -0,0 +1,59 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithMarker_Marker: int(0..4) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_ExplicitVarSizeWithDummy, + y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values, y_ExplicitVarSizeWithMarker_Marker, + y_ExplicitVarSizeWithMarker_Values] +such that + and([x_ExplicitVarSizeWithDummy[q32] != 6 /\ q33 <= y_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithDummy[q32] + 2 = y_ExplicitVarSizeWithMarker_Values[q33] + | q32 : int(1..4), q33 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 6 + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q2] = 6 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 6 | q2 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithDummy[q3] != 6) | q3 : int(1..4)]), + and([q5 + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithMarker_Values[q5] < y_ExplicitVarSizeWithMarker_Values[q5 + 1] + | q5 : int(1..3)]), + and([q6 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[q6] = 2 | q6 : int(1..4)]), + 1 <= y_ExplicitVarSizeWithMarker_Marker, + and([q8 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q8] < x_ExplicitVarSizeWithMarker_Values[q8 + 1] + | q8 : int(1..3)]), + and([q9 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q9] = 2 | q9 : int(1..4)]), + 1 <= x_ExplicitVarSizeWithMarker_Marker, + and([q12 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q14] != 6 /\ + x_ExplicitVarSizeWithDummy[q14] = x_ExplicitVarSizeWithMarker_Values[q12] + | q14 : int(1..4)]) + | q12 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q16] != 6 -> + or([q18 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q18] = x_ExplicitVarSizeWithDummy[q16] + | q18 : int(1..4)]) + | q16 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q19 + 1] -> + y_ExplicitVarSizeWithFlags_Values[q19] < y_ExplicitVarSizeWithFlags_Values[q19 + 1] + | q19 : int(1..3)]), + and([y_ExplicitVarSizeWithFlags_Flags[q20] = false -> y_ExplicitVarSizeWithFlags_Values[q20] = 2 + | q20 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q21 + 1] -> y_ExplicitVarSizeWithFlags_Flags[q21] | q21 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithFlags_Flags[q22]) | q22 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q25] -> + or([q27 <= y_ExplicitVarSizeWithMarker_Marker /\ + y_ExplicitVarSizeWithMarker_Values[q27] = y_ExplicitVarSizeWithFlags_Values[q25] + | q27 : int(1..4)]) + | q25 : int(1..4)]), + and([q29 <= y_ExplicitVarSizeWithMarker_Marker -> + or([y_ExplicitVarSizeWithFlags_Flags[q31] /\ + y_ExplicitVarSizeWithFlags_Values[q31] = y_ExplicitVarSizeWithMarker_Values[q29] + | q31 : int(1..4)]) + | q29 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_2_3_4_1-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_2_3_4_1-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_3_4_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_2_3_4_1-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_2_3_4_1-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_3_4_1-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_2_3_4_1.eprime b/tests/exhaustive/basic/set09/expected/model_2_3_4_1.eprime new file mode 100644 index 0000000000..65a1069752 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_3_4_1.eprime @@ -0,0 +1,48 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithMarker_Marker: int(0..4) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_Occurrence: matrix indexed by [int(2..5)] of bool +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_ExplicitVarSizeWithDummy, y_Occurrence, + y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values] +such that + and([x_ExplicitVarSizeWithDummy[q27] != 6 /\ q28 <= y_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithDummy[q27] + 2 = y_ExplicitVarSizeWithMarker_Values[q28] + | q27 : int(1..4), q28 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 6 + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q2] = 6 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 6 | q2 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithDummy[q3] != 6) | q3 : int(1..4)]), + and([q5 + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithMarker_Values[q5] < y_ExplicitVarSizeWithMarker_Values[q5 + 1] + | q5 : int(1..3)]), + and([q6 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[q6] = 2 | q6 : int(1..4)]), + 1 <= y_ExplicitVarSizeWithMarker_Marker, + and([x_ExplicitVarSizeWithFlags_Flags[q8 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q8] < x_ExplicitVarSizeWithFlags_Values[q8 + 1] + | q8 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q9] = false -> x_ExplicitVarSizeWithFlags_Values[q9] = 2 | q9 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q10 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q10] | q10 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q11]) | q11 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q14] -> + or([x_ExplicitVarSizeWithDummy[q16] != 6 /\ + x_ExplicitVarSizeWithDummy[q16] = x_ExplicitVarSizeWithFlags_Values[q14] + | q16 : int(1..4)]) + | q14 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q18] != 6 -> + or([x_ExplicitVarSizeWithFlags_Flags[q20] /\ + x_ExplicitVarSizeWithFlags_Values[q20] = x_ExplicitVarSizeWithDummy[q18] + | q20 : int(1..4)]) + | q18 : int(1..4)]), + 1 <= sum([toInt(y_Occurrence[q21]) | q21 : int(2..5)]), + and([y_Occurrence[q22] -> + or([q24 <= y_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithMarker_Values[q24] = q22 + | q24 : int(1..4)]) + | q22 : int(2..5)]), + and([q26 <= y_ExplicitVarSizeWithMarker_Marker -> y_Occurrence[y_ExplicitVarSizeWithMarker_Values[q26]] + | q26 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_2_3_4_2-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_2_3_4_2-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_3_4_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_2_3_4_2-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_2_3_4_2-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_3_4_2-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_2_3_4_2.eprime b/tests/exhaustive/basic/set09/expected/model_2_3_4_2.eprime new file mode 100644 index 0000000000..6026ed497b --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_3_4_2.eprime @@ -0,0 +1,55 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithMarker_Marker: int(0..4) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_ExplicitVarSizeWithDummy, + y_ExplicitVarSizeWithDummy, y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values] +such that + and([x_ExplicitVarSizeWithDummy[q33] != 6 /\ q34 <= y_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithDummy[q33] + 2 = y_ExplicitVarSizeWithMarker_Values[q34] + | q33 : int(1..4), q34 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 6 + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q2] = 6 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 6 | q2 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithDummy[q3] != 6) | q3 : int(1..4)]), + and([q5 + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithMarker_Values[q5] < y_ExplicitVarSizeWithMarker_Values[q5 + 1] + | q5 : int(1..3)]), + and([q6 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[q6] = 2 | q6 : int(1..4)]), + 1 <= y_ExplicitVarSizeWithMarker_Marker, + and([x_ExplicitVarSizeWithFlags_Flags[q8 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q8] < x_ExplicitVarSizeWithFlags_Values[q8 + 1] + | q8 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q9] = false -> x_ExplicitVarSizeWithFlags_Values[q9] = 2 | q9 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q10 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q10] | q10 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q11]) | q11 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q14] -> + or([x_ExplicitVarSizeWithDummy[q16] != 6 /\ + x_ExplicitVarSizeWithDummy[q16] = x_ExplicitVarSizeWithFlags_Values[q14] + | q16 : int(1..4)]) + | q14 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q18] != 6 -> + or([x_ExplicitVarSizeWithFlags_Flags[q20] /\ + x_ExplicitVarSizeWithFlags_Values[q20] = x_ExplicitVarSizeWithDummy[q18] + | q20 : int(1..4)]) + | q18 : int(1..4)]), + and([y_ExplicitVarSizeWithDummy[q21] < y_ExplicitVarSizeWithDummy[q21 + 1] \/ y_ExplicitVarSizeWithDummy[q21] = 6 + | q21 : int(1..3)]), + and([y_ExplicitVarSizeWithDummy[q22] = 6 -> y_ExplicitVarSizeWithDummy[q22 + 1] = 6 | q22 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithDummy[q23] != 6) | q23 : int(1..4)]), + and([y_ExplicitVarSizeWithDummy[q26] != 6 -> + or([q28 <= y_ExplicitVarSizeWithMarker_Marker /\ + y_ExplicitVarSizeWithMarker_Values[q28] = y_ExplicitVarSizeWithDummy[q26] + | q28 : int(1..4)]) + | q26 : int(1..4)]), + and([q30 <= y_ExplicitVarSizeWithMarker_Marker -> + or([y_ExplicitVarSizeWithDummy[q32] != 6 /\ + y_ExplicitVarSizeWithDummy[q32] = y_ExplicitVarSizeWithMarker_Values[q30] + | q32 : int(1..4)]) + | q30 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_2_3_4_3-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_2_3_4_3-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_3_4_3-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_2_3_4_3-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_2_3_4_3-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_3_4_3-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_2_3_4_3.eprime b/tests/exhaustive/basic/set09/expected/model_2_3_4_3.eprime new file mode 100644 index 0000000000..f8dcddf3df --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_3_4_3.eprime @@ -0,0 +1,40 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithMarker_Marker: int(0..4) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_ExplicitVarSizeWithDummy, + y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values] +such that + and([x_ExplicitVarSizeWithDummy[q21] != 6 /\ q22 <= y_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithDummy[q21] + 2 = y_ExplicitVarSizeWithMarker_Values[q22] + | q21 : int(1..4), q22 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 6 + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q2] = 6 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 6 | q2 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithDummy[q3] != 6) | q3 : int(1..4)]), + and([q5 + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithMarker_Values[q5] < y_ExplicitVarSizeWithMarker_Values[q5 + 1] + | q5 : int(1..3)]), + and([q6 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[q6] = 2 | q6 : int(1..4)]), + 1 <= y_ExplicitVarSizeWithMarker_Marker, + and([x_ExplicitVarSizeWithFlags_Flags[q8 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q8] < x_ExplicitVarSizeWithFlags_Values[q8 + 1] + | q8 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q9] = false -> x_ExplicitVarSizeWithFlags_Values[q9] = 2 | q9 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q10 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q10] | q10 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q11]) | q11 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q14] -> + or([x_ExplicitVarSizeWithDummy[q16] != 6 /\ + x_ExplicitVarSizeWithDummy[q16] = x_ExplicitVarSizeWithFlags_Values[q14] + | q16 : int(1..4)]) + | q14 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q18] != 6 -> + or([x_ExplicitVarSizeWithFlags_Flags[q20] /\ + x_ExplicitVarSizeWithFlags_Values[q20] = x_ExplicitVarSizeWithDummy[q18] + | q20 : int(1..4)]) + | q18 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_2_3_4_4-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_2_3_4_4-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_3_4_4-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_2_3_4_4-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_2_3_4_4-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_3_4_4-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_2_3_4_4.eprime b/tests/exhaustive/basic/set09/expected/model_2_3_4_4.eprime new file mode 100644 index 0000000000..1cc5077042 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_3_4_4.eprime @@ -0,0 +1,60 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithMarker_Marker: int(0..4) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_ExplicitVarSizeWithDummy, + y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values, y_ExplicitVarSizeWithMarker_Marker, + y_ExplicitVarSizeWithMarker_Values] +such that + and([x_ExplicitVarSizeWithDummy[q34] != 6 /\ q35 <= y_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithDummy[q34] + 2 = y_ExplicitVarSizeWithMarker_Values[q35] + | q34 : int(1..4), q35 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 6 + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q2] = 6 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 6 | q2 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithDummy[q3] != 6) | q3 : int(1..4)]), + and([q5 + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithMarker_Values[q5] < y_ExplicitVarSizeWithMarker_Values[q5 + 1] + | q5 : int(1..3)]), + and([q6 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[q6] = 2 | q6 : int(1..4)]), + 1 <= y_ExplicitVarSizeWithMarker_Marker, + and([x_ExplicitVarSizeWithFlags_Flags[q8 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q8] < x_ExplicitVarSizeWithFlags_Values[q8 + 1] + | q8 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q9] = false -> x_ExplicitVarSizeWithFlags_Values[q9] = 2 | q9 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q10 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q10] | q10 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q11]) | q11 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q14] -> + or([x_ExplicitVarSizeWithDummy[q16] != 6 /\ + x_ExplicitVarSizeWithDummy[q16] = x_ExplicitVarSizeWithFlags_Values[q14] + | q16 : int(1..4)]) + | q14 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q18] != 6 -> + or([x_ExplicitVarSizeWithFlags_Flags[q20] /\ + x_ExplicitVarSizeWithFlags_Values[q20] = x_ExplicitVarSizeWithDummy[q18] + | q20 : int(1..4)]) + | q18 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q21 + 1] -> + y_ExplicitVarSizeWithFlags_Values[q21] < y_ExplicitVarSizeWithFlags_Values[q21 + 1] + | q21 : int(1..3)]), + and([y_ExplicitVarSizeWithFlags_Flags[q22] = false -> y_ExplicitVarSizeWithFlags_Values[q22] = 2 + | q22 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q23 + 1] -> y_ExplicitVarSizeWithFlags_Flags[q23] | q23 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithFlags_Flags[q24]) | q24 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q27] -> + or([q29 <= y_ExplicitVarSizeWithMarker_Marker /\ + y_ExplicitVarSizeWithMarker_Values[q29] = y_ExplicitVarSizeWithFlags_Values[q27] + | q29 : int(1..4)]) + | q27 : int(1..4)]), + and([q31 <= y_ExplicitVarSizeWithMarker_Marker -> + or([y_ExplicitVarSizeWithFlags_Flags[q33] /\ + y_ExplicitVarSizeWithFlags_Values[q33] = y_ExplicitVarSizeWithMarker_Values[q31] + | q33 : int(1..4)]) + | q31 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_2_4_1_1-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_2_4_1_1-solution000001.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_4_1_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_2_4_1_1-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_2_4_1_1-solution000002.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_4_1_1-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_2_4_1_1.eprime b/tests/exhaustive/basic/set09/expected/model_2_4_1_1.eprime new file mode 100644 index 0000000000..51a23a711f --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_4_1_1.eprime @@ -0,0 +1,36 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find x_Occurrence: matrix indexed by [int(2..5)] of bool +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_Occurrence: matrix indexed by [int(2..5)] of bool +branching on + [x_Occurrence, x_ExplicitVarSizeWithDummy, y_Occurrence, y_ExplicitVarSizeWithFlags_Flags, + y_ExplicitVarSizeWithFlags_Values] +such that + and([x_ExplicitVarSizeWithDummy[q17] != 6 /\ y_ExplicitVarSizeWithFlags_Flags[q18] -> + x_ExplicitVarSizeWithDummy[q17] + 2 = y_ExplicitVarSizeWithFlags_Values[q18] + | q17 : int(1..4), q18 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 6 + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q2] = 6 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 6 | q2 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithDummy[q3] != 6) | q3 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q5 + 1] -> + y_ExplicitVarSizeWithFlags_Values[q5] < y_ExplicitVarSizeWithFlags_Values[q5 + 1] + | q5 : int(1..3)]), + and([y_ExplicitVarSizeWithFlags_Flags[q6] = false -> y_ExplicitVarSizeWithFlags_Values[q6] = 2 | q6 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q7 + 1] -> y_ExplicitVarSizeWithFlags_Flags[q7] | q7 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithFlags_Flags[q8]) | q8 : int(1..4)]), + 1 <= sum([toInt(x_Occurrence[q10]) | q10 : int(2..5)]), + and([x_Occurrence[q19] -> + or([x_ExplicitVarSizeWithDummy[q21] != 6 /\ x_ExplicitVarSizeWithDummy[q21] = q19 | q21 : int(1..4)]) + | q19 : int(2..5)]), + and([x_ExplicitVarSizeWithDummy[q23] != 6 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q23]] | q23 : int(1..4)]), + 1 <= sum([toInt(y_Occurrence[q11]) | q11 : int(2..5)]), + and([y_Occurrence[q12] -> + or([y_ExplicitVarSizeWithFlags_Flags[q14] /\ y_ExplicitVarSizeWithFlags_Values[q14] = q12 | q14 : int(1..4)]) + | q12 : int(2..5)]), + and([y_ExplicitVarSizeWithFlags_Flags[q16] -> y_Occurrence[y_ExplicitVarSizeWithFlags_Values[q16]] + | q16 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_2_4_1_2-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_2_4_1_2-solution000001.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_4_1_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_2_4_1_2-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_2_4_1_2-solution000002.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_4_1_2-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_2_4_1_2.eprime b/tests/exhaustive/basic/set09/expected/model_2_4_1_2.eprime new file mode 100644 index 0000000000..083bfa5f86 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_4_1_2.eprime @@ -0,0 +1,44 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find x_Occurrence: matrix indexed by [int(2..5)] of bool +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +branching on + [x_Occurrence, x_ExplicitVarSizeWithDummy, y_ExplicitVarSizeWithDummy, y_ExplicitVarSizeWithFlags_Flags, + y_ExplicitVarSizeWithFlags_Values] +such that + and([x_ExplicitVarSizeWithDummy[q28] != 6 /\ y_ExplicitVarSizeWithFlags_Flags[q29] -> + x_ExplicitVarSizeWithDummy[q28] + 2 = y_ExplicitVarSizeWithFlags_Values[q29] + | q28 : int(1..4), q29 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 6 + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q2] = 6 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 6 | q2 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithDummy[q3] != 6) | q3 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q5 + 1] -> + y_ExplicitVarSizeWithFlags_Values[q5] < y_ExplicitVarSizeWithFlags_Values[q5 + 1] + | q5 : int(1..3)]), + and([y_ExplicitVarSizeWithFlags_Flags[q6] = false -> y_ExplicitVarSizeWithFlags_Values[q6] = 2 | q6 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q7 + 1] -> y_ExplicitVarSizeWithFlags_Flags[q7] | q7 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithFlags_Flags[q8]) | q8 : int(1..4)]), + 1 <= sum([toInt(x_Occurrence[q10]) | q10 : int(2..5)]), + and([x_Occurrence[q23] -> + or([x_ExplicitVarSizeWithDummy[q25] != 6 /\ x_ExplicitVarSizeWithDummy[q25] = q23 | q25 : int(1..4)]) + | q23 : int(2..5)]), + and([x_ExplicitVarSizeWithDummy[q27] != 6 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q27]] | q27 : int(1..4)]), + and([y_ExplicitVarSizeWithDummy[q11] < y_ExplicitVarSizeWithDummy[q11 + 1] \/ y_ExplicitVarSizeWithDummy[q11] = 6 + | q11 : int(1..3)]), + and([y_ExplicitVarSizeWithDummy[q12] = 6 -> y_ExplicitVarSizeWithDummy[q12 + 1] = 6 | q12 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithDummy[q13] != 6) | q13 : int(1..4)]), + and([y_ExplicitVarSizeWithDummy[q16] != 6 -> + or([y_ExplicitVarSizeWithFlags_Flags[q18] /\ + y_ExplicitVarSizeWithFlags_Values[q18] = y_ExplicitVarSizeWithDummy[q16] + | q18 : int(1..4)]) + | q16 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q20] -> + or([y_ExplicitVarSizeWithDummy[q22] != 6 /\ + y_ExplicitVarSizeWithDummy[q22] = y_ExplicitVarSizeWithFlags_Values[q20] + | q22 : int(1..4)]) + | q20 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_2_4_1_3-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_2_4_1_3-solution000001.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_4_1_3-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_2_4_1_3-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_2_4_1_3-solution000002.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_4_1_3-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_2_4_1_3.eprime b/tests/exhaustive/basic/set09/expected/model_2_4_1_3.eprime new file mode 100644 index 0000000000..c74d6fc321 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_4_1_3.eprime @@ -0,0 +1,46 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find x_Occurrence: matrix indexed by [int(2..5)] of bool +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithMarker_Marker: int(0..4) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +branching on + [x_Occurrence, x_ExplicitVarSizeWithDummy, y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values, + y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values] +such that + and([x_ExplicitVarSizeWithDummy[q27] != 6 /\ y_ExplicitVarSizeWithFlags_Flags[q28] -> + x_ExplicitVarSizeWithDummy[q27] + 2 = y_ExplicitVarSizeWithFlags_Values[q28] + | q27 : int(1..4), q28 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 6 + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q2] = 6 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 6 | q2 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithDummy[q3] != 6) | q3 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q5 + 1] -> + y_ExplicitVarSizeWithFlags_Values[q5] < y_ExplicitVarSizeWithFlags_Values[q5 + 1] + | q5 : int(1..3)]), + and([y_ExplicitVarSizeWithFlags_Flags[q6] = false -> y_ExplicitVarSizeWithFlags_Values[q6] = 2 | q6 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q7 + 1] -> y_ExplicitVarSizeWithFlags_Flags[q7] | q7 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithFlags_Flags[q8]) | q8 : int(1..4)]), + 1 <= sum([toInt(x_Occurrence[q10]) | q10 : int(2..5)]), + and([x_Occurrence[q22] -> + or([x_ExplicitVarSizeWithDummy[q24] != 6 /\ x_ExplicitVarSizeWithDummy[q24] = q22 | q24 : int(1..4)]) + | q22 : int(2..5)]), + and([x_ExplicitVarSizeWithDummy[q26] != 6 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q26]] | q26 : int(1..4)]), + and([q11 + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithMarker_Values[q11] < y_ExplicitVarSizeWithMarker_Values[q11 + 1] + | q11 : int(1..3)]), + and([q12 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[q12] = 2 | q12 : int(1..4)]), + 1 <= y_ExplicitVarSizeWithMarker_Marker, + and([q15 <= y_ExplicitVarSizeWithMarker_Marker -> + or([y_ExplicitVarSizeWithFlags_Flags[q17] /\ + y_ExplicitVarSizeWithFlags_Values[q17] = y_ExplicitVarSizeWithMarker_Values[q15] + | q17 : int(1..4)]) + | q15 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q19] -> + or([q21 <= y_ExplicitVarSizeWithMarker_Marker /\ + y_ExplicitVarSizeWithMarker_Values[q21] = y_ExplicitVarSizeWithFlags_Values[q19] + | q21 : int(1..4)]) + | q19 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_2_4_1_4-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_2_4_1_4-solution000001.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_4_1_4-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_2_4_1_4-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_2_4_1_4-solution000002.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_4_1_4-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_2_4_1_4.eprime b/tests/exhaustive/basic/set09/expected/model_2_4_1_4.eprime new file mode 100644 index 0000000000..97d878a880 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_4_1_4.eprime @@ -0,0 +1,28 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find x_Occurrence: matrix indexed by [int(2..5)] of bool +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +branching on + [x_Occurrence, x_ExplicitVarSizeWithDummy, y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values] +such that + and([x_ExplicitVarSizeWithDummy[q16] != 6 /\ y_ExplicitVarSizeWithFlags_Flags[q17] -> + x_ExplicitVarSizeWithDummy[q16] + 2 = y_ExplicitVarSizeWithFlags_Values[q17] + | q16 : int(1..4), q17 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 6 + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q2] = 6 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 6 | q2 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithDummy[q3] != 6) | q3 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q5 + 1] -> + y_ExplicitVarSizeWithFlags_Values[q5] < y_ExplicitVarSizeWithFlags_Values[q5 + 1] + | q5 : int(1..3)]), + and([y_ExplicitVarSizeWithFlags_Flags[q6] = false -> y_ExplicitVarSizeWithFlags_Values[q6] = 2 | q6 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q7 + 1] -> y_ExplicitVarSizeWithFlags_Flags[q7] | q7 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithFlags_Flags[q8]) | q8 : int(1..4)]), + 1 <= sum([toInt(x_Occurrence[q10]) | q10 : int(2..5)]), + and([x_Occurrence[q11] -> + or([x_ExplicitVarSizeWithDummy[q13] != 6 /\ x_ExplicitVarSizeWithDummy[q13] = q11 | q13 : int(1..4)]) + | q11 : int(2..5)]), + and([x_ExplicitVarSizeWithDummy[q15] != 6 -> x_Occurrence[x_ExplicitVarSizeWithDummy[q15]] | q15 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_2_4_2_1-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_2_4_2_1-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_4_2_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_2_4_2_1-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_2_4_2_1-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_4_2_1-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_2_4_2_1.eprime b/tests/exhaustive/basic/set09/expected/model_2_4_2_1.eprime new file mode 100644 index 0000000000..d2d26b37e7 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_4_2_1.eprime @@ -0,0 +1,29 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_Occurrence: matrix indexed by [int(2..5)] of bool +branching on + [x_ExplicitVarSizeWithDummy, y_Occurrence, y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values] +such that + and([x_ExplicitVarSizeWithDummy[q16] != 6 /\ y_ExplicitVarSizeWithFlags_Flags[q17] -> + x_ExplicitVarSizeWithDummy[q16] + 2 = y_ExplicitVarSizeWithFlags_Values[q17] + | q16 : int(1..4), q17 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 6 + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q2] = 6 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 6 | q2 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithDummy[q3] != 6) | q3 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q5 + 1] -> + y_ExplicitVarSizeWithFlags_Values[q5] < y_ExplicitVarSizeWithFlags_Values[q5 + 1] + | q5 : int(1..3)]), + and([y_ExplicitVarSizeWithFlags_Flags[q6] = false -> y_ExplicitVarSizeWithFlags_Values[q6] = 2 | q6 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q7 + 1] -> y_ExplicitVarSizeWithFlags_Flags[q7] | q7 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithFlags_Flags[q8]) | q8 : int(1..4)]), + 1 <= sum([toInt(y_Occurrence[q10]) | q10 : int(2..5)]), + and([y_Occurrence[q11] -> + or([y_ExplicitVarSizeWithFlags_Flags[q13] /\ y_ExplicitVarSizeWithFlags_Values[q13] = q11 | q13 : int(1..4)]) + | q11 : int(2..5)]), + and([y_ExplicitVarSizeWithFlags_Flags[q15] -> y_Occurrence[y_ExplicitVarSizeWithFlags_Values[q15]] + | q15 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_2_4_2_2-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_2_4_2_2-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_4_2_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_2_4_2_2-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_2_4_2_2-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_4_2_2-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_2_4_2_2.eprime b/tests/exhaustive/basic/set09/expected/model_2_4_2_2.eprime new file mode 100644 index 0000000000..327bbcc12e --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_4_2_2.eprime @@ -0,0 +1,38 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +branching on + [x_ExplicitVarSizeWithDummy, y_ExplicitVarSizeWithDummy, y_ExplicitVarSizeWithFlags_Flags, + y_ExplicitVarSizeWithFlags_Values] +such that + and([x_ExplicitVarSizeWithDummy[q22] != 6 /\ y_ExplicitVarSizeWithFlags_Flags[q23] -> + x_ExplicitVarSizeWithDummy[q22] + 2 = y_ExplicitVarSizeWithFlags_Values[q23] + | q22 : int(1..4), q23 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 6 + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q2] = 6 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 6 | q2 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithDummy[q3] != 6) | q3 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q5 + 1] -> + y_ExplicitVarSizeWithFlags_Values[q5] < y_ExplicitVarSizeWithFlags_Values[q5 + 1] + | q5 : int(1..3)]), + and([y_ExplicitVarSizeWithFlags_Flags[q6] = false -> y_ExplicitVarSizeWithFlags_Values[q6] = 2 | q6 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q7 + 1] -> y_ExplicitVarSizeWithFlags_Flags[q7] | q7 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithFlags_Flags[q8]) | q8 : int(1..4)]), + and([y_ExplicitVarSizeWithDummy[q10] < y_ExplicitVarSizeWithDummy[q10 + 1] \/ y_ExplicitVarSizeWithDummy[q10] = 6 + | q10 : int(1..3)]), + and([y_ExplicitVarSizeWithDummy[q11] = 6 -> y_ExplicitVarSizeWithDummy[q11 + 1] = 6 | q11 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithDummy[q12] != 6) | q12 : int(1..4)]), + and([y_ExplicitVarSizeWithDummy[q15] != 6 -> + or([y_ExplicitVarSizeWithFlags_Flags[q17] /\ + y_ExplicitVarSizeWithFlags_Values[q17] = y_ExplicitVarSizeWithDummy[q15] + | q17 : int(1..4)]) + | q15 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q19] -> + or([y_ExplicitVarSizeWithDummy[q21] != 6 /\ + y_ExplicitVarSizeWithDummy[q21] = y_ExplicitVarSizeWithFlags_Values[q19] + | q21 : int(1..4)]) + | q19 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_2_4_2_3-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_2_4_2_3-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_4_2_3-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_2_4_2_3-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_2_4_2_3-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_4_2_3-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_2_4_2_3.eprime b/tests/exhaustive/basic/set09/expected/model_2_4_2_3.eprime new file mode 100644 index 0000000000..7b22da50fd --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_4_2_3.eprime @@ -0,0 +1,40 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithMarker_Marker: int(0..4) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +branching on + [x_ExplicitVarSizeWithDummy, y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values, + y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values] +such that + and([x_ExplicitVarSizeWithDummy[q21] != 6 /\ y_ExplicitVarSizeWithFlags_Flags[q22] -> + x_ExplicitVarSizeWithDummy[q21] + 2 = y_ExplicitVarSizeWithFlags_Values[q22] + | q21 : int(1..4), q22 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 6 + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q2] = 6 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 6 | q2 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithDummy[q3] != 6) | q3 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q5 + 1] -> + y_ExplicitVarSizeWithFlags_Values[q5] < y_ExplicitVarSizeWithFlags_Values[q5 + 1] + | q5 : int(1..3)]), + and([y_ExplicitVarSizeWithFlags_Flags[q6] = false -> y_ExplicitVarSizeWithFlags_Values[q6] = 2 | q6 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q7 + 1] -> y_ExplicitVarSizeWithFlags_Flags[q7] | q7 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithFlags_Flags[q8]) | q8 : int(1..4)]), + and([q10 + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithMarker_Values[q10] < y_ExplicitVarSizeWithMarker_Values[q10 + 1] + | q10 : int(1..3)]), + and([q11 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[q11] = 2 | q11 : int(1..4)]), + 1 <= y_ExplicitVarSizeWithMarker_Marker, + and([q14 <= y_ExplicitVarSizeWithMarker_Marker -> + or([y_ExplicitVarSizeWithFlags_Flags[q16] /\ + y_ExplicitVarSizeWithFlags_Values[q16] = y_ExplicitVarSizeWithMarker_Values[q14] + | q16 : int(1..4)]) + | q14 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q18] -> + or([q20 <= y_ExplicitVarSizeWithMarker_Marker /\ + y_ExplicitVarSizeWithMarker_Values[q20] = y_ExplicitVarSizeWithFlags_Values[q18] + | q20 : int(1..4)]) + | q18 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_2_4_2_4-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_2_4_2_4-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_4_2_4-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_2_4_2_4-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_2_4_2_4-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_4_2_4-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_2_4_2_4.eprime b/tests/exhaustive/basic/set09/expected/model_2_4_2_4.eprime new file mode 100644 index 0000000000..1fa334760d --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_4_2_4.eprime @@ -0,0 +1,21 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +branching on [x_ExplicitVarSizeWithDummy, y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values] +such that + and([x_ExplicitVarSizeWithDummy[q10] != 6 /\ y_ExplicitVarSizeWithFlags_Flags[q11] -> + x_ExplicitVarSizeWithDummy[q10] + 2 = y_ExplicitVarSizeWithFlags_Values[q11] + | q10 : int(1..4), q11 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 6 + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q2] = 6 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 6 | q2 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithDummy[q3] != 6) | q3 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q5 + 1] -> + y_ExplicitVarSizeWithFlags_Values[q5] < y_ExplicitVarSizeWithFlags_Values[q5 + 1] + | q5 : int(1..3)]), + and([y_ExplicitVarSizeWithFlags_Flags[q6] = false -> y_ExplicitVarSizeWithFlags_Values[q6] = 2 | q6 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q7 + 1] -> y_ExplicitVarSizeWithFlags_Flags[q7] | q7 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithFlags_Flags[q8]) | q8 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_2_4_3_1-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_2_4_3_1-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_4_3_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_2_4_3_1-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_2_4_3_1-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_4_3_1-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_2_4_3_1.eprime b/tests/exhaustive/basic/set09/expected/model_2_4_3_1.eprime new file mode 100644 index 0000000000..25a9e61546 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_4_3_1.eprime @@ -0,0 +1,47 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_Occurrence: matrix indexed by [int(2..5)] of bool +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_ExplicitVarSizeWithDummy, y_Occurrence, + y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values] +such that + and([x_ExplicitVarSizeWithDummy[q27] != 6 /\ y_ExplicitVarSizeWithFlags_Flags[q28] -> + x_ExplicitVarSizeWithDummy[q27] + 2 = y_ExplicitVarSizeWithFlags_Values[q28] + | q27 : int(1..4), q28 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 6 + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q2] = 6 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 6 | q2 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithDummy[q3] != 6) | q3 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q5 + 1] -> + y_ExplicitVarSizeWithFlags_Values[q5] < y_ExplicitVarSizeWithFlags_Values[q5 + 1] + | q5 : int(1..3)]), + and([y_ExplicitVarSizeWithFlags_Flags[q6] = false -> y_ExplicitVarSizeWithFlags_Values[q6] = 2 | q6 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q7 + 1] -> y_ExplicitVarSizeWithFlags_Flags[q7] | q7 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithFlags_Flags[q8]) | q8 : int(1..4)]), + and([q10 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q10] < x_ExplicitVarSizeWithMarker_Values[q10 + 1] + | q10 : int(1..3)]), + and([q11 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q11] = 2 | q11 : int(1..4)]), + 1 <= x_ExplicitVarSizeWithMarker_Marker, + and([q14 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q16] != 6 /\ + x_ExplicitVarSizeWithDummy[q16] = x_ExplicitVarSizeWithMarker_Values[q14] + | q16 : int(1..4)]) + | q14 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q18] != 6 -> + or([q20 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q20] = x_ExplicitVarSizeWithDummy[q18] + | q20 : int(1..4)]) + | q18 : int(1..4)]), + 1 <= sum([toInt(y_Occurrence[q21]) | q21 : int(2..5)]), + and([y_Occurrence[q22] -> + or([y_ExplicitVarSizeWithFlags_Flags[q24] /\ y_ExplicitVarSizeWithFlags_Values[q24] = q22 | q24 : int(1..4)]) + | q22 : int(2..5)]), + and([y_ExplicitVarSizeWithFlags_Flags[q26] -> y_Occurrence[y_ExplicitVarSizeWithFlags_Values[q26]] + | q26 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_2_4_3_2-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_2_4_3_2-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_4_3_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_2_4_3_2-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_2_4_3_2-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_4_3_2-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_2_4_3_2.eprime b/tests/exhaustive/basic/set09/expected/model_2_4_3_2.eprime new file mode 100644 index 0000000000..64200ff954 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_4_3_2.eprime @@ -0,0 +1,55 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_ExplicitVarSizeWithDummy, + y_ExplicitVarSizeWithDummy, y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values] +such that + and([x_ExplicitVarSizeWithDummy[q33] != 6 /\ y_ExplicitVarSizeWithFlags_Flags[q34] -> + x_ExplicitVarSizeWithDummy[q33] + 2 = y_ExplicitVarSizeWithFlags_Values[q34] + | q33 : int(1..4), q34 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 6 + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q2] = 6 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 6 | q2 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithDummy[q3] != 6) | q3 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q5 + 1] -> + y_ExplicitVarSizeWithFlags_Values[q5] < y_ExplicitVarSizeWithFlags_Values[q5 + 1] + | q5 : int(1..3)]), + and([y_ExplicitVarSizeWithFlags_Flags[q6] = false -> y_ExplicitVarSizeWithFlags_Values[q6] = 2 | q6 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q7 + 1] -> y_ExplicitVarSizeWithFlags_Flags[q7] | q7 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithFlags_Flags[q8]) | q8 : int(1..4)]), + and([q10 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q10] < x_ExplicitVarSizeWithMarker_Values[q10 + 1] + | q10 : int(1..3)]), + and([q11 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q11] = 2 | q11 : int(1..4)]), + 1 <= x_ExplicitVarSizeWithMarker_Marker, + and([q14 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q16] != 6 /\ + x_ExplicitVarSizeWithDummy[q16] = x_ExplicitVarSizeWithMarker_Values[q14] + | q16 : int(1..4)]) + | q14 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q18] != 6 -> + or([q20 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q20] = x_ExplicitVarSizeWithDummy[q18] + | q20 : int(1..4)]) + | q18 : int(1..4)]), + and([y_ExplicitVarSizeWithDummy[q21] < y_ExplicitVarSizeWithDummy[q21 + 1] \/ y_ExplicitVarSizeWithDummy[q21] = 6 + | q21 : int(1..3)]), + and([y_ExplicitVarSizeWithDummy[q22] = 6 -> y_ExplicitVarSizeWithDummy[q22 + 1] = 6 | q22 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithDummy[q23] != 6) | q23 : int(1..4)]), + and([y_ExplicitVarSizeWithDummy[q26] != 6 -> + or([y_ExplicitVarSizeWithFlags_Flags[q28] /\ + y_ExplicitVarSizeWithFlags_Values[q28] = y_ExplicitVarSizeWithDummy[q26] + | q28 : int(1..4)]) + | q26 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q30] -> + or([y_ExplicitVarSizeWithDummy[q32] != 6 /\ + y_ExplicitVarSizeWithDummy[q32] = y_ExplicitVarSizeWithFlags_Values[q30] + | q32 : int(1..4)]) + | q30 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_2_4_3_3-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_2_4_3_3-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_4_3_3-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_2_4_3_3-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_2_4_3_3-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_4_3_3-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_2_4_3_3.eprime b/tests/exhaustive/basic/set09/expected/model_2_4_3_3.eprime new file mode 100644 index 0000000000..ccb1314b95 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_4_3_3.eprime @@ -0,0 +1,58 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithMarker_Marker: int(0..4) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_ExplicitVarSizeWithDummy, + y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values, y_ExplicitVarSizeWithFlags_Flags, + y_ExplicitVarSizeWithFlags_Values] +such that + and([x_ExplicitVarSizeWithDummy[q32] != 6 /\ y_ExplicitVarSizeWithFlags_Flags[q33] -> + x_ExplicitVarSizeWithDummy[q32] + 2 = y_ExplicitVarSizeWithFlags_Values[q33] + | q32 : int(1..4), q33 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 6 + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q2] = 6 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 6 | q2 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithDummy[q3] != 6) | q3 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q5 + 1] -> + y_ExplicitVarSizeWithFlags_Values[q5] < y_ExplicitVarSizeWithFlags_Values[q5 + 1] + | q5 : int(1..3)]), + and([y_ExplicitVarSizeWithFlags_Flags[q6] = false -> y_ExplicitVarSizeWithFlags_Values[q6] = 2 | q6 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q7 + 1] -> y_ExplicitVarSizeWithFlags_Flags[q7] | q7 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithFlags_Flags[q8]) | q8 : int(1..4)]), + and([q10 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q10] < x_ExplicitVarSizeWithMarker_Values[q10 + 1] + | q10 : int(1..3)]), + and([q11 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q11] = 2 | q11 : int(1..4)]), + 1 <= x_ExplicitVarSizeWithMarker_Marker, + and([q14 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q16] != 6 /\ + x_ExplicitVarSizeWithDummy[q16] = x_ExplicitVarSizeWithMarker_Values[q14] + | q16 : int(1..4)]) + | q14 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q18] != 6 -> + or([q20 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q20] = x_ExplicitVarSizeWithDummy[q18] + | q20 : int(1..4)]) + | q18 : int(1..4)]), + and([q21 + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithMarker_Values[q21] < y_ExplicitVarSizeWithMarker_Values[q21 + 1] + | q21 : int(1..3)]), + and([q22 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[q22] = 2 | q22 : int(1..4)]), + 1 <= y_ExplicitVarSizeWithMarker_Marker, + and([q25 <= y_ExplicitVarSizeWithMarker_Marker -> + or([y_ExplicitVarSizeWithFlags_Flags[q27] /\ + y_ExplicitVarSizeWithFlags_Values[q27] = y_ExplicitVarSizeWithMarker_Values[q25] + | q27 : int(1..4)]) + | q25 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q29] -> + or([q31 <= y_ExplicitVarSizeWithMarker_Marker /\ + y_ExplicitVarSizeWithMarker_Values[q31] = y_ExplicitVarSizeWithFlags_Values[q29] + | q31 : int(1..4)]) + | q29 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_2_4_3_4-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_2_4_3_4-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_4_3_4-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_2_4_3_4-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_2_4_3_4-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_4_3_4-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_2_4_3_4.eprime b/tests/exhaustive/basic/set09/expected/model_2_4_3_4.eprime new file mode 100644 index 0000000000..f3cf03d434 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_4_3_4.eprime @@ -0,0 +1,40 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_ExplicitVarSizeWithDummy, + y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values] +such that + and([x_ExplicitVarSizeWithDummy[q21] != 6 /\ y_ExplicitVarSizeWithFlags_Flags[q22] -> + x_ExplicitVarSizeWithDummy[q21] + 2 = y_ExplicitVarSizeWithFlags_Values[q22] + | q21 : int(1..4), q22 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 6 + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q2] = 6 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 6 | q2 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithDummy[q3] != 6) | q3 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q5 + 1] -> + y_ExplicitVarSizeWithFlags_Values[q5] < y_ExplicitVarSizeWithFlags_Values[q5 + 1] + | q5 : int(1..3)]), + and([y_ExplicitVarSizeWithFlags_Flags[q6] = false -> y_ExplicitVarSizeWithFlags_Values[q6] = 2 | q6 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q7 + 1] -> y_ExplicitVarSizeWithFlags_Flags[q7] | q7 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithFlags_Flags[q8]) | q8 : int(1..4)]), + and([q10 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q10] < x_ExplicitVarSizeWithMarker_Values[q10 + 1] + | q10 : int(1..3)]), + and([q11 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q11] = 2 | q11 : int(1..4)]), + 1 <= x_ExplicitVarSizeWithMarker_Marker, + and([q14 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q16] != 6 /\ + x_ExplicitVarSizeWithDummy[q16] = x_ExplicitVarSizeWithMarker_Values[q14] + | q16 : int(1..4)]) + | q14 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q18] != 6 -> + or([q20 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q20] = x_ExplicitVarSizeWithDummy[q18] + | q20 : int(1..4)]) + | q18 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_2_4_4_1-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_2_4_4_1-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_4_4_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_2_4_4_1-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_2_4_4_1-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_4_4_1-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_2_4_4_1.eprime b/tests/exhaustive/basic/set09/expected/model_2_4_4_1.eprime new file mode 100644 index 0000000000..2e1cf8717a --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_4_4_1.eprime @@ -0,0 +1,49 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_Occurrence: matrix indexed by [int(2..5)] of bool +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_ExplicitVarSizeWithDummy, y_Occurrence, + y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values] +such that + and([x_ExplicitVarSizeWithDummy[q29] != 6 /\ y_ExplicitVarSizeWithFlags_Flags[q30] -> + x_ExplicitVarSizeWithDummy[q29] + 2 = y_ExplicitVarSizeWithFlags_Values[q30] + | q29 : int(1..4), q30 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 6 + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q2] = 6 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 6 | q2 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithDummy[q3] != 6) | q3 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q5 + 1] -> + y_ExplicitVarSizeWithFlags_Values[q5] < y_ExplicitVarSizeWithFlags_Values[q5 + 1] + | q5 : int(1..3)]), + and([y_ExplicitVarSizeWithFlags_Flags[q6] = false -> y_ExplicitVarSizeWithFlags_Values[q6] = 2 | q6 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q7 + 1] -> y_ExplicitVarSizeWithFlags_Flags[q7] | q7 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithFlags_Flags[q8]) | q8 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q10 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q10] < x_ExplicitVarSizeWithFlags_Values[q10 + 1] + | q10 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q11] = false -> x_ExplicitVarSizeWithFlags_Values[q11] = 2 + | q11 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q12 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q12] | q12 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q13]) | q13 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q16] -> + or([x_ExplicitVarSizeWithDummy[q18] != 6 /\ + x_ExplicitVarSizeWithDummy[q18] = x_ExplicitVarSizeWithFlags_Values[q16] + | q18 : int(1..4)]) + | q16 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q20] != 6 -> + or([x_ExplicitVarSizeWithFlags_Flags[q22] /\ + x_ExplicitVarSizeWithFlags_Values[q22] = x_ExplicitVarSizeWithDummy[q20] + | q22 : int(1..4)]) + | q20 : int(1..4)]), + 1 <= sum([toInt(y_Occurrence[q23]) | q23 : int(2..5)]), + and([y_Occurrence[q24] -> + or([y_ExplicitVarSizeWithFlags_Flags[q26] /\ y_ExplicitVarSizeWithFlags_Values[q26] = q24 | q26 : int(1..4)]) + | q24 : int(2..5)]), + and([y_ExplicitVarSizeWithFlags_Flags[q28] -> y_Occurrence[y_ExplicitVarSizeWithFlags_Values[q28]] + | q28 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_2_4_4_2-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_2_4_4_2-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_4_4_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_2_4_4_2-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_2_4_4_2-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_4_4_2-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_2_4_4_2.eprime b/tests/exhaustive/basic/set09/expected/model_2_4_4_2.eprime new file mode 100644 index 0000000000..ad0d98f173 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_4_4_2.eprime @@ -0,0 +1,57 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_ExplicitVarSizeWithDummy, + y_ExplicitVarSizeWithDummy, y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values] +such that + and([x_ExplicitVarSizeWithDummy[q35] != 6 /\ y_ExplicitVarSizeWithFlags_Flags[q36] -> + x_ExplicitVarSizeWithDummy[q35] + 2 = y_ExplicitVarSizeWithFlags_Values[q36] + | q35 : int(1..4), q36 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 6 + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q2] = 6 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 6 | q2 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithDummy[q3] != 6) | q3 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q5 + 1] -> + y_ExplicitVarSizeWithFlags_Values[q5] < y_ExplicitVarSizeWithFlags_Values[q5 + 1] + | q5 : int(1..3)]), + and([y_ExplicitVarSizeWithFlags_Flags[q6] = false -> y_ExplicitVarSizeWithFlags_Values[q6] = 2 | q6 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q7 + 1] -> y_ExplicitVarSizeWithFlags_Flags[q7] | q7 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithFlags_Flags[q8]) | q8 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q10 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q10] < x_ExplicitVarSizeWithFlags_Values[q10 + 1] + | q10 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q11] = false -> x_ExplicitVarSizeWithFlags_Values[q11] = 2 + | q11 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q12 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q12] | q12 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q13]) | q13 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q16] -> + or([x_ExplicitVarSizeWithDummy[q18] != 6 /\ + x_ExplicitVarSizeWithDummy[q18] = x_ExplicitVarSizeWithFlags_Values[q16] + | q18 : int(1..4)]) + | q16 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q20] != 6 -> + or([x_ExplicitVarSizeWithFlags_Flags[q22] /\ + x_ExplicitVarSizeWithFlags_Values[q22] = x_ExplicitVarSizeWithDummy[q20] + | q22 : int(1..4)]) + | q20 : int(1..4)]), + and([y_ExplicitVarSizeWithDummy[q23] < y_ExplicitVarSizeWithDummy[q23 + 1] \/ y_ExplicitVarSizeWithDummy[q23] = 6 + | q23 : int(1..3)]), + and([y_ExplicitVarSizeWithDummy[q24] = 6 -> y_ExplicitVarSizeWithDummy[q24 + 1] = 6 | q24 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithDummy[q25] != 6) | q25 : int(1..4)]), + and([y_ExplicitVarSizeWithDummy[q28] != 6 -> + or([y_ExplicitVarSizeWithFlags_Flags[q30] /\ + y_ExplicitVarSizeWithFlags_Values[q30] = y_ExplicitVarSizeWithDummy[q28] + | q30 : int(1..4)]) + | q28 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q32] -> + or([y_ExplicitVarSizeWithDummy[q34] != 6 /\ + y_ExplicitVarSizeWithDummy[q34] = y_ExplicitVarSizeWithFlags_Values[q32] + | q34 : int(1..4)]) + | q32 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_2_4_4_3-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_2_4_4_3-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_4_4_3-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_2_4_4_3-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_2_4_4_3-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_4_4_3-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_2_4_4_3.eprime b/tests/exhaustive/basic/set09/expected/model_2_4_4_3.eprime new file mode 100644 index 0000000000..c1250928a1 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_4_4_3.eprime @@ -0,0 +1,60 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithMarker_Marker: int(0..4) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_ExplicitVarSizeWithDummy, + y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values, y_ExplicitVarSizeWithFlags_Flags, + y_ExplicitVarSizeWithFlags_Values] +such that + and([x_ExplicitVarSizeWithDummy[q34] != 6 /\ y_ExplicitVarSizeWithFlags_Flags[q35] -> + x_ExplicitVarSizeWithDummy[q34] + 2 = y_ExplicitVarSizeWithFlags_Values[q35] + | q34 : int(1..4), q35 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 6 + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q2] = 6 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 6 | q2 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithDummy[q3] != 6) | q3 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q5 + 1] -> + y_ExplicitVarSizeWithFlags_Values[q5] < y_ExplicitVarSizeWithFlags_Values[q5 + 1] + | q5 : int(1..3)]), + and([y_ExplicitVarSizeWithFlags_Flags[q6] = false -> y_ExplicitVarSizeWithFlags_Values[q6] = 2 | q6 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q7 + 1] -> y_ExplicitVarSizeWithFlags_Flags[q7] | q7 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithFlags_Flags[q8]) | q8 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q10 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q10] < x_ExplicitVarSizeWithFlags_Values[q10 + 1] + | q10 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q11] = false -> x_ExplicitVarSizeWithFlags_Values[q11] = 2 + | q11 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q12 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q12] | q12 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q13]) | q13 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q16] -> + or([x_ExplicitVarSizeWithDummy[q18] != 6 /\ + x_ExplicitVarSizeWithDummy[q18] = x_ExplicitVarSizeWithFlags_Values[q16] + | q18 : int(1..4)]) + | q16 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q20] != 6 -> + or([x_ExplicitVarSizeWithFlags_Flags[q22] /\ + x_ExplicitVarSizeWithFlags_Values[q22] = x_ExplicitVarSizeWithDummy[q20] + | q22 : int(1..4)]) + | q20 : int(1..4)]), + and([q23 + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithMarker_Values[q23] < y_ExplicitVarSizeWithMarker_Values[q23 + 1] + | q23 : int(1..3)]), + and([q24 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[q24] = 2 | q24 : int(1..4)]), + 1 <= y_ExplicitVarSizeWithMarker_Marker, + and([q27 <= y_ExplicitVarSizeWithMarker_Marker -> + or([y_ExplicitVarSizeWithFlags_Flags[q29] /\ + y_ExplicitVarSizeWithFlags_Values[q29] = y_ExplicitVarSizeWithMarker_Values[q27] + | q29 : int(1..4)]) + | q27 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q31] -> + or([q33 <= y_ExplicitVarSizeWithMarker_Marker /\ + y_ExplicitVarSizeWithMarker_Values[q33] = y_ExplicitVarSizeWithFlags_Values[q31] + | q33 : int(1..4)]) + | q31 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_2_4_4_4-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_2_4_4_4-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_4_4_4-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_2_4_4_4-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_2_4_4_4-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_4_4_4-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_2_4_4_4.eprime b/tests/exhaustive/basic/set09/expected/model_2_4_4_4.eprime new file mode 100644 index 0000000000..b577e5f27d --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_2_4_4_4.eprime @@ -0,0 +1,42 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_ExplicitVarSizeWithDummy, + y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values] +such that + and([x_ExplicitVarSizeWithDummy[q23] != 6 /\ y_ExplicitVarSizeWithFlags_Flags[q24] -> + x_ExplicitVarSizeWithDummy[q23] + 2 = y_ExplicitVarSizeWithFlags_Values[q24] + | q23 : int(1..4), q24 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q1] < x_ExplicitVarSizeWithDummy[q1 + 1] \/ x_ExplicitVarSizeWithDummy[q1] = 6 + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q2] = 6 -> x_ExplicitVarSizeWithDummy[q2 + 1] = 6 | q2 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithDummy[q3] != 6) | q3 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q5 + 1] -> + y_ExplicitVarSizeWithFlags_Values[q5] < y_ExplicitVarSizeWithFlags_Values[q5 + 1] + | q5 : int(1..3)]), + and([y_ExplicitVarSizeWithFlags_Flags[q6] = false -> y_ExplicitVarSizeWithFlags_Values[q6] = 2 | q6 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q7 + 1] -> y_ExplicitVarSizeWithFlags_Flags[q7] | q7 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithFlags_Flags[q8]) | q8 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q10 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q10] < x_ExplicitVarSizeWithFlags_Values[q10 + 1] + | q10 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q11] = false -> x_ExplicitVarSizeWithFlags_Values[q11] = 2 + | q11 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q12 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q12] | q12 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q13]) | q13 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q16] -> + or([x_ExplicitVarSizeWithDummy[q18] != 6 /\ + x_ExplicitVarSizeWithDummy[q18] = x_ExplicitVarSizeWithFlags_Values[q16] + | q18 : int(1..4)]) + | q16 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q20] != 6 -> + or([x_ExplicitVarSizeWithFlags_Flags[q22] /\ + x_ExplicitVarSizeWithFlags_Values[q22] = x_ExplicitVarSizeWithDummy[q20] + | q22 : int(1..4)]) + | q20 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_3_1_1_1-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_3_1_1_1-solution000001.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_1_1_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_3_1_1_1-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_3_1_1_1-solution000002.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_1_1_1-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_3_1_1_1.eprime b/tests/exhaustive/basic/set09/expected/model_3_1_1_1.eprime new file mode 100644 index 0000000000..0898d273ff --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_1_1_1.eprime @@ -0,0 +1,23 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find x_Occurrence: matrix indexed by [int(2..5)] of bool +find y_Occurrence: matrix indexed by [int(2..5)] of bool +branching on [x_Occurrence, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, y_Occurrence] +such that + and([q11 <= x_ExplicitVarSizeWithMarker_Marker /\ y_Occurrence[j] -> x_ExplicitVarSizeWithMarker_Values[q11] + 2 = j + | q11 : int(1..4), j : int(2..5)]), + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..3)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 2 | q2 : int(1..4)]), + 1 <= x_ExplicitVarSizeWithMarker_Marker, + 1 <= sum([toInt(y_Occurrence[q4]) | q4 : int(2..5)]), + 1 <= sum([toInt(x_Occurrence[q5]) | q5 : int(2..5)]), + and([x_Occurrence[q6] -> + or([q8 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q8] = q6 | q8 : int(1..4)]) + | q6 : int(2..5)]), + and([q10 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q10]] + | q10 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_3_1_1_2-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_3_1_1_2-solution000001.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_1_1_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_3_1_1_2-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_3_1_1_2-solution000002.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_1_1_2-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_3_1_1_2.eprime b/tests/exhaustive/basic/set09/expected/model_3_1_1_2.eprime new file mode 100644 index 0000000000..0d82bb728f --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_1_1_2.eprime @@ -0,0 +1,35 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find x_Occurrence: matrix indexed by [int(2..5)] of bool +find y_Occurrence: matrix indexed by [int(2..5)] of bool +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +branching on + [x_Occurrence, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, y_ExplicitVarSizeWithDummy, + y_Occurrence] +such that + and([q20 <= x_ExplicitVarSizeWithMarker_Marker /\ y_Occurrence[j] -> x_ExplicitVarSizeWithMarker_Values[q20] + 2 = j + | q20 : int(1..4), j : int(2..5)]), + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..3)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 2 | q2 : int(1..4)]), + 1 <= x_ExplicitVarSizeWithMarker_Marker, + 1 <= sum([toInt(y_Occurrence[q4]) | q4 : int(2..5)]), + 1 <= sum([toInt(x_Occurrence[q5]) | q5 : int(2..5)]), + and([x_Occurrence[q15] -> + or([q17 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q17] = q15 + | q17 : int(1..4)]) + | q15 : int(2..5)]), + and([q19 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q19]] + | q19 : int(1..4)]), + and([y_ExplicitVarSizeWithDummy[q6] < y_ExplicitVarSizeWithDummy[q6 + 1] \/ y_ExplicitVarSizeWithDummy[q6] = 6 + | q6 : int(1..3)]), + and([y_ExplicitVarSizeWithDummy[q7] = 6 -> y_ExplicitVarSizeWithDummy[q7 + 1] = 6 | q7 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithDummy[q8] != 6) | q8 : int(1..4)]), + and([y_ExplicitVarSizeWithDummy[q11] != 6 -> y_Occurrence[y_ExplicitVarSizeWithDummy[q11]] | q11 : int(1..4)]), + and([y_Occurrence[q12] -> + or([y_ExplicitVarSizeWithDummy[q14] != 6 /\ y_ExplicitVarSizeWithDummy[q14] = q12 | q14 : int(1..4)]) + | q12 : int(2..5)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_3_1_1_3-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_3_1_1_3-solution000001.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_1_1_3-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_3_1_1_3-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_3_1_1_3-solution000002.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_1_1_3-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_3_1_1_3.eprime b/tests/exhaustive/basic/set09/expected/model_3_1_1_3.eprime new file mode 100644 index 0000000000..19d7d14337 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_1_1_3.eprime @@ -0,0 +1,39 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find x_Occurrence: matrix indexed by [int(2..5)] of bool +find y_Occurrence: matrix indexed by [int(2..5)] of bool +find y_ExplicitVarSizeWithMarker_Marker: int(0..4) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +branching on + [x_Occurrence, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, + y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values, y_Occurrence] +such that + and([q19 <= x_ExplicitVarSizeWithMarker_Marker /\ y_Occurrence[j] -> x_ExplicitVarSizeWithMarker_Values[q19] + 2 = j + | q19 : int(1..4), j : int(2..5)]), + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..3)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 2 | q2 : int(1..4)]), + 1 <= x_ExplicitVarSizeWithMarker_Marker, + 1 <= sum([toInt(y_Occurrence[q4]) | q4 : int(2..5)]), + 1 <= sum([toInt(x_Occurrence[q5]) | q5 : int(2..5)]), + and([x_Occurrence[q14] -> + or([q16 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q16] = q14 + | q16 : int(1..4)]) + | q14 : int(2..5)]), + and([q18 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q18]] + | q18 : int(1..4)]), + and([q6 + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithMarker_Values[q6] < y_ExplicitVarSizeWithMarker_Values[q6 + 1] + | q6 : int(1..3)]), + and([q7 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[q7] = 2 | q7 : int(1..4)]), + 1 <= y_ExplicitVarSizeWithMarker_Marker, + and([q10 <= y_ExplicitVarSizeWithMarker_Marker -> y_Occurrence[y_ExplicitVarSizeWithMarker_Values[q10]] + | q10 : int(1..4)]), + and([y_Occurrence[q11] -> + or([q13 <= y_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithMarker_Values[q13] = q11 + | q13 : int(1..4)]) + | q11 : int(2..5)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_3_1_1_4-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_3_1_1_4-solution000001.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_1_1_4-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_3_1_1_4-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_3_1_1_4-solution000002.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_1_1_4-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_3_1_1_4.eprime b/tests/exhaustive/basic/set09/expected/model_3_1_1_4.eprime new file mode 100644 index 0000000000..367803c85b --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_1_1_4.eprime @@ -0,0 +1,39 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find x_Occurrence: matrix indexed by [int(2..5)] of bool +find y_Occurrence: matrix indexed by [int(2..5)] of bool +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +branching on + [x_Occurrence, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, + y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values, y_Occurrence] +such that + and([q21 <= x_ExplicitVarSizeWithMarker_Marker /\ y_Occurrence[j] -> x_ExplicitVarSizeWithMarker_Values[q21] + 2 = j + | q21 : int(1..4), j : int(2..5)]), + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..3)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 2 | q2 : int(1..4)]), + 1 <= x_ExplicitVarSizeWithMarker_Marker, + 1 <= sum([toInt(y_Occurrence[q4]) | q4 : int(2..5)]), + 1 <= sum([toInt(x_Occurrence[q5]) | q5 : int(2..5)]), + and([x_Occurrence[q16] -> + or([q18 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q18] = q16 + | q18 : int(1..4)]) + | q16 : int(2..5)]), + and([q20 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q20]] + | q20 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q6 + 1] -> + y_ExplicitVarSizeWithFlags_Values[q6] < y_ExplicitVarSizeWithFlags_Values[q6 + 1] + | q6 : int(1..3)]), + and([y_ExplicitVarSizeWithFlags_Flags[q7] = false -> y_ExplicitVarSizeWithFlags_Values[q7] = 2 | q7 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q8 + 1] -> y_ExplicitVarSizeWithFlags_Flags[q8] | q8 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithFlags_Flags[q9]) | q9 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q12] -> y_Occurrence[y_ExplicitVarSizeWithFlags_Values[q12]] + | q12 : int(1..4)]), + and([y_Occurrence[q13] -> + or([y_ExplicitVarSizeWithFlags_Flags[q15] /\ y_ExplicitVarSizeWithFlags_Values[q15] = q13 | q15 : int(1..4)]) + | q13 : int(2..5)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_3_1_2_1-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_3_1_2_1-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_1_2_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_3_1_2_1-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_3_1_2_1-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_1_2_1-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_3_1_2_1.eprime b/tests/exhaustive/basic/set09/expected/model_3_1_2_1.eprime new file mode 100644 index 0000000000..5fb49b3743 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_1_2_1.eprime @@ -0,0 +1,32 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find y_Occurrence: matrix indexed by [int(2..5)] of bool +branching on + [x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, y_Occurrence] +such that + and([q17 <= x_ExplicitVarSizeWithMarker_Marker /\ y_Occurrence[j] -> x_ExplicitVarSizeWithMarker_Values[q17] + 2 = j + | q17 : int(1..4), j : int(2..5)]), + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..3)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 2 | q2 : int(1..4)]), + 1 <= x_ExplicitVarSizeWithMarker_Marker, + 1 <= sum([toInt(y_Occurrence[q4]) | q4 : int(2..5)]), + and([x_ExplicitVarSizeWithDummy[q5] < x_ExplicitVarSizeWithDummy[q5 + 1] \/ x_ExplicitVarSizeWithDummy[q5] = 6 + | q5 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q6] = 6 -> x_ExplicitVarSizeWithDummy[q6 + 1] = 6 | q6 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithDummy[q7] != 6) | q7 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q10] != 6 -> + or([q12 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q12] = x_ExplicitVarSizeWithDummy[q10] + | q12 : int(1..4)]) + | q10 : int(1..4)]), + and([q14 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q16] != 6 /\ + x_ExplicitVarSizeWithDummy[q16] = x_ExplicitVarSizeWithMarker_Values[q14] + | q16 : int(1..4)]) + | q14 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_3_1_2_2-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_3_1_2_2-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_1_2_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_3_1_2_2-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_3_1_2_2-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_1_2_2-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_3_1_2_2.eprime b/tests/exhaustive/basic/set09/expected/model_3_1_2_2.eprime new file mode 100644 index 0000000000..76e803c650 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_1_2_2.eprime @@ -0,0 +1,42 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find y_Occurrence: matrix indexed by [int(2..5)] of bool +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +branching on + [x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, + y_ExplicitVarSizeWithDummy, y_Occurrence] +such that + and([q26 <= x_ExplicitVarSizeWithMarker_Marker /\ y_Occurrence[j] -> x_ExplicitVarSizeWithMarker_Values[q26] + 2 = j + | q26 : int(1..4), j : int(2..5)]), + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..3)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 2 | q2 : int(1..4)]), + 1 <= x_ExplicitVarSizeWithMarker_Marker, + 1 <= sum([toInt(y_Occurrence[q4]) | q4 : int(2..5)]), + and([x_ExplicitVarSizeWithDummy[q5] < x_ExplicitVarSizeWithDummy[q5 + 1] \/ x_ExplicitVarSizeWithDummy[q5] = 6 + | q5 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q6] = 6 -> x_ExplicitVarSizeWithDummy[q6 + 1] = 6 | q6 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithDummy[q7] != 6) | q7 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q10] != 6 -> + or([q12 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q12] = x_ExplicitVarSizeWithDummy[q10] + | q12 : int(1..4)]) + | q10 : int(1..4)]), + and([q14 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q16] != 6 /\ + x_ExplicitVarSizeWithDummy[q16] = x_ExplicitVarSizeWithMarker_Values[q14] + | q16 : int(1..4)]) + | q14 : int(1..4)]), + and([y_ExplicitVarSizeWithDummy[q17] < y_ExplicitVarSizeWithDummy[q17 + 1] \/ y_ExplicitVarSizeWithDummy[q17] = 6 + | q17 : int(1..3)]), + and([y_ExplicitVarSizeWithDummy[q18] = 6 -> y_ExplicitVarSizeWithDummy[q18 + 1] = 6 | q18 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithDummy[q19] != 6) | q19 : int(1..4)]), + and([y_ExplicitVarSizeWithDummy[q22] != 6 -> y_Occurrence[y_ExplicitVarSizeWithDummy[q22]] | q22 : int(1..4)]), + and([y_Occurrence[q23] -> + or([y_ExplicitVarSizeWithDummy[q25] != 6 /\ y_ExplicitVarSizeWithDummy[q25] = q23 | q25 : int(1..4)]) + | q23 : int(2..5)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_3_1_2_3-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_3_1_2_3-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_1_2_3-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_3_1_2_3-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_3_1_2_3-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_1_2_3-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_3_1_2_3.eprime b/tests/exhaustive/basic/set09/expected/model_3_1_2_3.eprime new file mode 100644 index 0000000000..8f44fada43 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_1_2_3.eprime @@ -0,0 +1,46 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find y_Occurrence: matrix indexed by [int(2..5)] of bool +find y_ExplicitVarSizeWithMarker_Marker: int(0..4) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +branching on + [x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, + y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values, y_Occurrence] +such that + and([q25 <= x_ExplicitVarSizeWithMarker_Marker /\ y_Occurrence[j] -> x_ExplicitVarSizeWithMarker_Values[q25] + 2 = j + | q25 : int(1..4), j : int(2..5)]), + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..3)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 2 | q2 : int(1..4)]), + 1 <= x_ExplicitVarSizeWithMarker_Marker, + 1 <= sum([toInt(y_Occurrence[q4]) | q4 : int(2..5)]), + and([x_ExplicitVarSizeWithDummy[q5] < x_ExplicitVarSizeWithDummy[q5 + 1] \/ x_ExplicitVarSizeWithDummy[q5] = 6 + | q5 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q6] = 6 -> x_ExplicitVarSizeWithDummy[q6 + 1] = 6 | q6 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithDummy[q7] != 6) | q7 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q10] != 6 -> + or([q12 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q12] = x_ExplicitVarSizeWithDummy[q10] + | q12 : int(1..4)]) + | q10 : int(1..4)]), + and([q14 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q16] != 6 /\ + x_ExplicitVarSizeWithDummy[q16] = x_ExplicitVarSizeWithMarker_Values[q14] + | q16 : int(1..4)]) + | q14 : int(1..4)]), + and([q17 + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithMarker_Values[q17] < y_ExplicitVarSizeWithMarker_Values[q17 + 1] + | q17 : int(1..3)]), + and([q18 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[q18] = 2 | q18 : int(1..4)]), + 1 <= y_ExplicitVarSizeWithMarker_Marker, + and([q21 <= y_ExplicitVarSizeWithMarker_Marker -> y_Occurrence[y_ExplicitVarSizeWithMarker_Values[q21]] + | q21 : int(1..4)]), + and([y_Occurrence[q22] -> + or([q24 <= y_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithMarker_Values[q24] = q22 + | q24 : int(1..4)]) + | q22 : int(2..5)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_3_1_2_4-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_3_1_2_4-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_1_2_4-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_3_1_2_4-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_3_1_2_4-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_1_2_4-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_3_1_2_4.eprime b/tests/exhaustive/basic/set09/expected/model_3_1_2_4.eprime new file mode 100644 index 0000000000..228e19fb6b --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_1_2_4.eprime @@ -0,0 +1,47 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find y_Occurrence: matrix indexed by [int(2..5)] of bool +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +branching on + [x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, + y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values, y_Occurrence] +such that + and([q27 <= x_ExplicitVarSizeWithMarker_Marker /\ y_Occurrence[j] -> x_ExplicitVarSizeWithMarker_Values[q27] + 2 = j + | q27 : int(1..4), j : int(2..5)]), + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..3)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 2 | q2 : int(1..4)]), + 1 <= x_ExplicitVarSizeWithMarker_Marker, + 1 <= sum([toInt(y_Occurrence[q4]) | q4 : int(2..5)]), + and([x_ExplicitVarSizeWithDummy[q5] < x_ExplicitVarSizeWithDummy[q5 + 1] \/ x_ExplicitVarSizeWithDummy[q5] = 6 + | q5 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q6] = 6 -> x_ExplicitVarSizeWithDummy[q6 + 1] = 6 | q6 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithDummy[q7] != 6) | q7 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q10] != 6 -> + or([q12 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q12] = x_ExplicitVarSizeWithDummy[q10] + | q12 : int(1..4)]) + | q10 : int(1..4)]), + and([q14 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q16] != 6 /\ + x_ExplicitVarSizeWithDummy[q16] = x_ExplicitVarSizeWithMarker_Values[q14] + | q16 : int(1..4)]) + | q14 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q17 + 1] -> + y_ExplicitVarSizeWithFlags_Values[q17] < y_ExplicitVarSizeWithFlags_Values[q17 + 1] + | q17 : int(1..3)]), + and([y_ExplicitVarSizeWithFlags_Flags[q18] = false -> y_ExplicitVarSizeWithFlags_Values[q18] = 2 + | q18 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q19 + 1] -> y_ExplicitVarSizeWithFlags_Flags[q19] | q19 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithFlags_Flags[q20]) | q20 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q23] -> y_Occurrence[y_ExplicitVarSizeWithFlags_Values[q23]] + | q23 : int(1..4)]), + and([y_Occurrence[q24] -> + or([y_ExplicitVarSizeWithFlags_Flags[q26] /\ y_ExplicitVarSizeWithFlags_Values[q26] = q24 | q26 : int(1..4)]) + | q24 : int(2..5)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_3_1_3_1-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_3_1_3_1-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_1_3_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_3_1_3_1-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_3_1_3_1-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_1_3_1-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_3_1_3_1.eprime b/tests/exhaustive/basic/set09/expected/model_3_1_3_1.eprime new file mode 100644 index 0000000000..1b5ab3050f --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_1_3_1.eprime @@ -0,0 +1,16 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_Occurrence: matrix indexed by [int(2..5)] of bool +branching on [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, y_Occurrence] +such that + and([q5 <= x_ExplicitVarSizeWithMarker_Marker /\ y_Occurrence[j] -> x_ExplicitVarSizeWithMarker_Values[q5] + 2 = j + | q5 : int(1..4), j : int(2..5)]), + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..3)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 2 | q2 : int(1..4)]), + 1 <= x_ExplicitVarSizeWithMarker_Marker, + 1 <= sum([toInt(y_Occurrence[q4]) | q4 : int(2..5)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_3_1_3_2-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_3_1_3_2-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_1_3_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_3_1_3_2-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_3_1_3_2-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_1_3_2-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_3_1_3_2.eprime b/tests/exhaustive/basic/set09/expected/model_3_1_3_2.eprime new file mode 100644 index 0000000000..67c1711a50 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_1_3_2.eprime @@ -0,0 +1,26 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_Occurrence: matrix indexed by [int(2..5)] of bool +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, y_ExplicitVarSizeWithDummy, y_Occurrence] +such that + and([q14 <= x_ExplicitVarSizeWithMarker_Marker /\ y_Occurrence[j] -> x_ExplicitVarSizeWithMarker_Values[q14] + 2 = j + | q14 : int(1..4), j : int(2..5)]), + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..3)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 2 | q2 : int(1..4)]), + 1 <= x_ExplicitVarSizeWithMarker_Marker, + 1 <= sum([toInt(y_Occurrence[q4]) | q4 : int(2..5)]), + and([y_ExplicitVarSizeWithDummy[q5] < y_ExplicitVarSizeWithDummy[q5 + 1] \/ y_ExplicitVarSizeWithDummy[q5] = 6 + | q5 : int(1..3)]), + and([y_ExplicitVarSizeWithDummy[q6] = 6 -> y_ExplicitVarSizeWithDummy[q6 + 1] = 6 | q6 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithDummy[q7] != 6) | q7 : int(1..4)]), + and([y_ExplicitVarSizeWithDummy[q10] != 6 -> y_Occurrence[y_ExplicitVarSizeWithDummy[q10]] | q10 : int(1..4)]), + and([y_Occurrence[q11] -> + or([y_ExplicitVarSizeWithDummy[q13] != 6 /\ y_ExplicitVarSizeWithDummy[q13] = q11 | q13 : int(1..4)]) + | q11 : int(2..5)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_3_1_3_3-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_3_1_3_3-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_1_3_3-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_3_1_3_3-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_3_1_3_3-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_1_3_3-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_3_1_3_3.eprime b/tests/exhaustive/basic/set09/expected/model_3_1_3_3.eprime new file mode 100644 index 0000000000..ae76323065 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_1_3_3.eprime @@ -0,0 +1,31 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_Occurrence: matrix indexed by [int(2..5)] of bool +find y_ExplicitVarSizeWithMarker_Marker: int(0..4) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, y_ExplicitVarSizeWithMarker_Marker, + y_ExplicitVarSizeWithMarker_Values, y_Occurrence] +such that + and([q13 <= x_ExplicitVarSizeWithMarker_Marker /\ y_Occurrence[j] -> x_ExplicitVarSizeWithMarker_Values[q13] + 2 = j + | q13 : int(1..4), j : int(2..5)]), + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..3)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 2 | q2 : int(1..4)]), + 1 <= x_ExplicitVarSizeWithMarker_Marker, + 1 <= sum([toInt(y_Occurrence[q4]) | q4 : int(2..5)]), + and([q5 + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithMarker_Values[q5] < y_ExplicitVarSizeWithMarker_Values[q5 + 1] + | q5 : int(1..3)]), + and([q6 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[q6] = 2 | q6 : int(1..4)]), + 1 <= y_ExplicitVarSizeWithMarker_Marker, + and([q9 <= y_ExplicitVarSizeWithMarker_Marker -> y_Occurrence[y_ExplicitVarSizeWithMarker_Values[q9]] + | q9 : int(1..4)]), + and([y_Occurrence[q10] -> + or([q12 <= y_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithMarker_Values[q12] = q10 + | q12 : int(1..4)]) + | q10 : int(2..5)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_3_1_3_4-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_3_1_3_4-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_1_3_4-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_3_1_3_4-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_3_1_3_4-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_1_3_4-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_3_1_3_4.eprime b/tests/exhaustive/basic/set09/expected/model_3_1_3_4.eprime new file mode 100644 index 0000000000..c222d89b6a --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_1_3_4.eprime @@ -0,0 +1,31 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_Occurrence: matrix indexed by [int(2..5)] of bool +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, y_ExplicitVarSizeWithFlags_Flags, + y_ExplicitVarSizeWithFlags_Values, y_Occurrence] +such that + and([q15 <= x_ExplicitVarSizeWithMarker_Marker /\ y_Occurrence[j] -> x_ExplicitVarSizeWithMarker_Values[q15] + 2 = j + | q15 : int(1..4), j : int(2..5)]), + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..3)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 2 | q2 : int(1..4)]), + 1 <= x_ExplicitVarSizeWithMarker_Marker, + 1 <= sum([toInt(y_Occurrence[q4]) | q4 : int(2..5)]), + and([y_ExplicitVarSizeWithFlags_Flags[q5 + 1] -> + y_ExplicitVarSizeWithFlags_Values[q5] < y_ExplicitVarSizeWithFlags_Values[q5 + 1] + | q5 : int(1..3)]), + and([y_ExplicitVarSizeWithFlags_Flags[q6] = false -> y_ExplicitVarSizeWithFlags_Values[q6] = 2 | q6 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q7 + 1] -> y_ExplicitVarSizeWithFlags_Flags[q7] | q7 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithFlags_Flags[q8]) | q8 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q11] -> y_Occurrence[y_ExplicitVarSizeWithFlags_Values[q11]] + | q11 : int(1..4)]), + and([y_Occurrence[q12] -> + or([y_ExplicitVarSizeWithFlags_Flags[q14] /\ y_ExplicitVarSizeWithFlags_Values[q14] = q12 | q14 : int(1..4)]) + | q12 : int(2..5)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_3_1_4_1-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_3_1_4_1-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_1_4_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_3_1_4_1-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_3_1_4_1-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_1_4_1-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_3_1_4_1.eprime b/tests/exhaustive/basic/set09/expected/model_3_1_4_1.eprime new file mode 100644 index 0000000000..d55d8473f1 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_1_4_1.eprime @@ -0,0 +1,36 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_Occurrence: matrix indexed by [int(2..5)] of bool +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_ExplicitVarSizeWithMarker_Marker, + x_ExplicitVarSizeWithMarker_Values, y_Occurrence] +such that + and([q18 <= x_ExplicitVarSizeWithMarker_Marker /\ y_Occurrence[j] -> x_ExplicitVarSizeWithMarker_Values[q18] + 2 = j + | q18 : int(1..4), j : int(2..5)]), + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..3)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 2 | q2 : int(1..4)]), + 1 <= x_ExplicitVarSizeWithMarker_Marker, + 1 <= sum([toInt(y_Occurrence[q4]) | q4 : int(2..5)]), + and([x_ExplicitVarSizeWithFlags_Flags[q5 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q5] < x_ExplicitVarSizeWithFlags_Values[q5 + 1] + | q5 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q6] = false -> x_ExplicitVarSizeWithFlags_Values[q6] = 2 | q6 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q7 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q7] | q7 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q8]) | q8 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q11] -> + or([q13 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q13] = x_ExplicitVarSizeWithFlags_Values[q11] + | q13 : int(1..4)]) + | q11 : int(1..4)]), + and([q15 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q17] /\ + x_ExplicitVarSizeWithFlags_Values[q17] = x_ExplicitVarSizeWithMarker_Values[q15] + | q17 : int(1..4)]) + | q15 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_3_1_4_2-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_3_1_4_2-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_1_4_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_3_1_4_2-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_3_1_4_2-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_1_4_2-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_3_1_4_2.eprime b/tests/exhaustive/basic/set09/expected/model_3_1_4_2.eprime new file mode 100644 index 0000000000..4db7080ac5 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_1_4_2.eprime @@ -0,0 +1,45 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_Occurrence: matrix indexed by [int(2..5)] of bool +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_ExplicitVarSizeWithMarker_Marker, + x_ExplicitVarSizeWithMarker_Values, y_ExplicitVarSizeWithDummy, y_Occurrence] +such that + and([q27 <= x_ExplicitVarSizeWithMarker_Marker /\ y_Occurrence[j] -> x_ExplicitVarSizeWithMarker_Values[q27] + 2 = j + | q27 : int(1..4), j : int(2..5)]), + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..3)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 2 | q2 : int(1..4)]), + 1 <= x_ExplicitVarSizeWithMarker_Marker, + 1 <= sum([toInt(y_Occurrence[q4]) | q4 : int(2..5)]), + and([x_ExplicitVarSizeWithFlags_Flags[q5 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q5] < x_ExplicitVarSizeWithFlags_Values[q5 + 1] + | q5 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q6] = false -> x_ExplicitVarSizeWithFlags_Values[q6] = 2 | q6 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q7 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q7] | q7 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q8]) | q8 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q11] -> + or([q13 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q13] = x_ExplicitVarSizeWithFlags_Values[q11] + | q13 : int(1..4)]) + | q11 : int(1..4)]), + and([q15 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q17] /\ + x_ExplicitVarSizeWithFlags_Values[q17] = x_ExplicitVarSizeWithMarker_Values[q15] + | q17 : int(1..4)]) + | q15 : int(1..4)]), + and([y_ExplicitVarSizeWithDummy[q18] < y_ExplicitVarSizeWithDummy[q18 + 1] \/ y_ExplicitVarSizeWithDummy[q18] = 6 + | q18 : int(1..3)]), + and([y_ExplicitVarSizeWithDummy[q19] = 6 -> y_ExplicitVarSizeWithDummy[q19 + 1] = 6 | q19 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithDummy[q20] != 6) | q20 : int(1..4)]), + and([y_ExplicitVarSizeWithDummy[q23] != 6 -> y_Occurrence[y_ExplicitVarSizeWithDummy[q23]] | q23 : int(1..4)]), + and([y_Occurrence[q24] -> + or([y_ExplicitVarSizeWithDummy[q26] != 6 /\ y_ExplicitVarSizeWithDummy[q26] = q24 | q26 : int(1..4)]) + | q24 : int(2..5)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_3_1_4_3-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_3_1_4_3-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_1_4_3-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_3_1_4_3-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_3_1_4_3-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_1_4_3-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_3_1_4_3.eprime b/tests/exhaustive/basic/set09/expected/model_3_1_4_3.eprime new file mode 100644 index 0000000000..cc9cb3a8fe --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_1_4_3.eprime @@ -0,0 +1,50 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_Occurrence: matrix indexed by [int(2..5)] of bool +find y_ExplicitVarSizeWithMarker_Marker: int(0..4) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_ExplicitVarSizeWithMarker_Marker, + x_ExplicitVarSizeWithMarker_Values, y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values, + y_Occurrence] +such that + and([q26 <= x_ExplicitVarSizeWithMarker_Marker /\ y_Occurrence[j] -> x_ExplicitVarSizeWithMarker_Values[q26] + 2 = j + | q26 : int(1..4), j : int(2..5)]), + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..3)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 2 | q2 : int(1..4)]), + 1 <= x_ExplicitVarSizeWithMarker_Marker, + 1 <= sum([toInt(y_Occurrence[q4]) | q4 : int(2..5)]), + and([x_ExplicitVarSizeWithFlags_Flags[q5 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q5] < x_ExplicitVarSizeWithFlags_Values[q5 + 1] + | q5 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q6] = false -> x_ExplicitVarSizeWithFlags_Values[q6] = 2 | q6 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q7 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q7] | q7 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q8]) | q8 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q11] -> + or([q13 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q13] = x_ExplicitVarSizeWithFlags_Values[q11] + | q13 : int(1..4)]) + | q11 : int(1..4)]), + and([q15 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q17] /\ + x_ExplicitVarSizeWithFlags_Values[q17] = x_ExplicitVarSizeWithMarker_Values[q15] + | q17 : int(1..4)]) + | q15 : int(1..4)]), + and([q18 + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithMarker_Values[q18] < y_ExplicitVarSizeWithMarker_Values[q18 + 1] + | q18 : int(1..3)]), + and([q19 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[q19] = 2 | q19 : int(1..4)]), + 1 <= y_ExplicitVarSizeWithMarker_Marker, + and([q22 <= y_ExplicitVarSizeWithMarker_Marker -> y_Occurrence[y_ExplicitVarSizeWithMarker_Values[q22]] + | q22 : int(1..4)]), + and([y_Occurrence[q23] -> + or([q25 <= y_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithMarker_Values[q25] = q23 + | q25 : int(1..4)]) + | q23 : int(2..5)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_3_1_4_4-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_3_1_4_4-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_1_4_4-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_3_1_4_4-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_3_1_4_4-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_1_4_4-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_3_1_4_4.eprime b/tests/exhaustive/basic/set09/expected/model_3_1_4_4.eprime new file mode 100644 index 0000000000..286649e6b5 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_1_4_4.eprime @@ -0,0 +1,51 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_Occurrence: matrix indexed by [int(2..5)] of bool +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_ExplicitVarSizeWithMarker_Marker, + x_ExplicitVarSizeWithMarker_Values, y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values, + y_Occurrence] +such that + and([q28 <= x_ExplicitVarSizeWithMarker_Marker /\ y_Occurrence[j] -> x_ExplicitVarSizeWithMarker_Values[q28] + 2 = j + | q28 : int(1..4), j : int(2..5)]), + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..3)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 2 | q2 : int(1..4)]), + 1 <= x_ExplicitVarSizeWithMarker_Marker, + 1 <= sum([toInt(y_Occurrence[q4]) | q4 : int(2..5)]), + and([x_ExplicitVarSizeWithFlags_Flags[q5 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q5] < x_ExplicitVarSizeWithFlags_Values[q5 + 1] + | q5 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q6] = false -> x_ExplicitVarSizeWithFlags_Values[q6] = 2 | q6 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q7 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q7] | q7 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q8]) | q8 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q11] -> + or([q13 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q13] = x_ExplicitVarSizeWithFlags_Values[q11] + | q13 : int(1..4)]) + | q11 : int(1..4)]), + and([q15 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q17] /\ + x_ExplicitVarSizeWithFlags_Values[q17] = x_ExplicitVarSizeWithMarker_Values[q15] + | q17 : int(1..4)]) + | q15 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q18 + 1] -> + y_ExplicitVarSizeWithFlags_Values[q18] < y_ExplicitVarSizeWithFlags_Values[q18 + 1] + | q18 : int(1..3)]), + and([y_ExplicitVarSizeWithFlags_Flags[q19] = false -> y_ExplicitVarSizeWithFlags_Values[q19] = 2 + | q19 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q20 + 1] -> y_ExplicitVarSizeWithFlags_Flags[q20] | q20 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithFlags_Flags[q21]) | q21 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q24] -> y_Occurrence[y_ExplicitVarSizeWithFlags_Values[q24]] + | q24 : int(1..4)]), + and([y_Occurrence[q25] -> + or([y_ExplicitVarSizeWithFlags_Flags[q27] /\ y_ExplicitVarSizeWithFlags_Values[q27] = q25 | q27 : int(1..4)]) + | q25 : int(2..5)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_3_2_1_1-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_3_2_1_1-solution000001.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_2_1_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_3_2_1_1-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_3_2_1_1-solution000002.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_2_1_1-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_3_2_1_1.eprime b/tests/exhaustive/basic/set09/expected/model_3_2_1_1.eprime new file mode 100644 index 0000000000..3478aef4b6 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_2_1_1.eprime @@ -0,0 +1,36 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find x_Occurrence: matrix indexed by [int(2..5)] of bool +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find y_Occurrence: matrix indexed by [int(2..5)] of bool +branching on + [x_Occurrence, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, y_Occurrence, + y_ExplicitVarSizeWithDummy] +such that + and([q15 <= x_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithDummy[q16] != 6 -> + x_ExplicitVarSizeWithMarker_Values[q15] + 2 = y_ExplicitVarSizeWithDummy[q16] + | q15 : int(1..4), q16 : int(1..4)]), + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..3)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 2 | q2 : int(1..4)]), + 1 <= x_ExplicitVarSizeWithMarker_Marker, + and([y_ExplicitVarSizeWithDummy[q4] < y_ExplicitVarSizeWithDummy[q4 + 1] \/ y_ExplicitVarSizeWithDummy[q4] = 6 + | q4 : int(1..3)]), + and([y_ExplicitVarSizeWithDummy[q5] = 6 -> y_ExplicitVarSizeWithDummy[q5 + 1] = 6 | q5 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithDummy[q6] != 6) | q6 : int(1..4)]), + 1 <= sum([toInt(x_Occurrence[q8]) | q8 : int(2..5)]), + and([x_Occurrence[q17] -> + or([q19 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q19] = q17 + | q19 : int(1..4)]) + | q17 : int(2..5)]), + and([q21 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q21]] + | q21 : int(1..4)]), + 1 <= sum([toInt(y_Occurrence[q9]) | q9 : int(2..5)]), + and([y_Occurrence[q10] -> + or([y_ExplicitVarSizeWithDummy[q12] != 6 /\ y_ExplicitVarSizeWithDummy[q12] = q10 | q12 : int(1..4)]) + | q10 : int(2..5)]), + and([y_ExplicitVarSizeWithDummy[q14] != 6 -> y_Occurrence[y_ExplicitVarSizeWithDummy[q14]] | q14 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_3_2_1_2-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_3_2_1_2-solution000001.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_2_1_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_3_2_1_2-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_3_2_1_2-solution000002.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_2_1_2-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_3_2_1_2.eprime b/tests/exhaustive/basic/set09/expected/model_3_2_1_2.eprime new file mode 100644 index 0000000000..fd0da5899f --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_2_1_2.eprime @@ -0,0 +1,29 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find x_Occurrence: matrix indexed by [int(2..5)] of bool +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +branching on + [x_Occurrence, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, y_ExplicitVarSizeWithDummy] +such that + and([q14 <= x_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithDummy[q15] != 6 -> + x_ExplicitVarSizeWithMarker_Values[q14] + 2 = y_ExplicitVarSizeWithDummy[q15] + | q14 : int(1..4), q15 : int(1..4)]), + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..3)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 2 | q2 : int(1..4)]), + 1 <= x_ExplicitVarSizeWithMarker_Marker, + and([y_ExplicitVarSizeWithDummy[q4] < y_ExplicitVarSizeWithDummy[q4 + 1] \/ y_ExplicitVarSizeWithDummy[q4] = 6 + | q4 : int(1..3)]), + and([y_ExplicitVarSizeWithDummy[q5] = 6 -> y_ExplicitVarSizeWithDummy[q5 + 1] = 6 | q5 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithDummy[q6] != 6) | q6 : int(1..4)]), + 1 <= sum([toInt(x_Occurrence[q8]) | q8 : int(2..5)]), + and([x_Occurrence[q9] -> + or([q11 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q11] = q9 + | q11 : int(1..4)]) + | q9 : int(2..5)]), + and([q13 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q13]] + | q13 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_3_2_1_3-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_3_2_1_3-solution000001.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_2_1_3-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_3_2_1_3-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_3_2_1_3-solution000002.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_2_1_3-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_3_2_1_3.eprime b/tests/exhaustive/basic/set09/expected/model_3_2_1_3.eprime new file mode 100644 index 0000000000..bbd02c7005 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_2_1_3.eprime @@ -0,0 +1,47 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find x_Occurrence: matrix indexed by [int(2..5)] of bool +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find y_ExplicitVarSizeWithMarker_Marker: int(0..4) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +branching on + [x_Occurrence, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, + y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values, y_ExplicitVarSizeWithDummy] +such that + and([q25 <= x_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithDummy[q26] != 6 -> + x_ExplicitVarSizeWithMarker_Values[q25] + 2 = y_ExplicitVarSizeWithDummy[q26] + | q25 : int(1..4), q26 : int(1..4)]), + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..3)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 2 | q2 : int(1..4)]), + 1 <= x_ExplicitVarSizeWithMarker_Marker, + and([y_ExplicitVarSizeWithDummy[q4] < y_ExplicitVarSizeWithDummy[q4 + 1] \/ y_ExplicitVarSizeWithDummy[q4] = 6 + | q4 : int(1..3)]), + and([y_ExplicitVarSizeWithDummy[q5] = 6 -> y_ExplicitVarSizeWithDummy[q5 + 1] = 6 | q5 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithDummy[q6] != 6) | q6 : int(1..4)]), + 1 <= sum([toInt(x_Occurrence[q8]) | q8 : int(2..5)]), + and([x_Occurrence[q20] -> + or([q22 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q22] = q20 + | q22 : int(1..4)]) + | q20 : int(2..5)]), + and([q24 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q24]] + | q24 : int(1..4)]), + and([q9 + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithMarker_Values[q9] < y_ExplicitVarSizeWithMarker_Values[q9 + 1] + | q9 : int(1..3)]), + and([q10 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[q10] = 2 | q10 : int(1..4)]), + 1 <= y_ExplicitVarSizeWithMarker_Marker, + and([q13 <= y_ExplicitVarSizeWithMarker_Marker -> + or([y_ExplicitVarSizeWithDummy[q15] != 6 /\ + y_ExplicitVarSizeWithDummy[q15] = y_ExplicitVarSizeWithMarker_Values[q13] + | q15 : int(1..4)]) + | q13 : int(1..4)]), + and([y_ExplicitVarSizeWithDummy[q17] != 6 -> + or([q19 <= y_ExplicitVarSizeWithMarker_Marker /\ + y_ExplicitVarSizeWithMarker_Values[q19] = y_ExplicitVarSizeWithDummy[q17] + | q19 : int(1..4)]) + | q17 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_3_2_1_4-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_3_2_1_4-solution000001.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_2_1_4-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_3_2_1_4-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_3_2_1_4-solution000002.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_2_1_4-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_3_2_1_4.eprime b/tests/exhaustive/basic/set09/expected/model_3_2_1_4.eprime new file mode 100644 index 0000000000..f53ee8d570 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_2_1_4.eprime @@ -0,0 +1,49 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find x_Occurrence: matrix indexed by [int(2..5)] of bool +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +branching on + [x_Occurrence, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, + y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values, y_ExplicitVarSizeWithDummy] +such that + and([q27 <= x_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithDummy[q28] != 6 -> + x_ExplicitVarSizeWithMarker_Values[q27] + 2 = y_ExplicitVarSizeWithDummy[q28] + | q27 : int(1..4), q28 : int(1..4)]), + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..3)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 2 | q2 : int(1..4)]), + 1 <= x_ExplicitVarSizeWithMarker_Marker, + and([y_ExplicitVarSizeWithDummy[q4] < y_ExplicitVarSizeWithDummy[q4 + 1] \/ y_ExplicitVarSizeWithDummy[q4] = 6 + | q4 : int(1..3)]), + and([y_ExplicitVarSizeWithDummy[q5] = 6 -> y_ExplicitVarSizeWithDummy[q5 + 1] = 6 | q5 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithDummy[q6] != 6) | q6 : int(1..4)]), + 1 <= sum([toInt(x_Occurrence[q8]) | q8 : int(2..5)]), + and([x_Occurrence[q22] -> + or([q24 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q24] = q22 + | q24 : int(1..4)]) + | q22 : int(2..5)]), + and([q26 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q26]] + | q26 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q9 + 1] -> + y_ExplicitVarSizeWithFlags_Values[q9] < y_ExplicitVarSizeWithFlags_Values[q9 + 1] + | q9 : int(1..3)]), + and([y_ExplicitVarSizeWithFlags_Flags[q10] = false -> y_ExplicitVarSizeWithFlags_Values[q10] = 2 + | q10 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q11 + 1] -> y_ExplicitVarSizeWithFlags_Flags[q11] | q11 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithFlags_Flags[q12]) | q12 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q15] -> + or([y_ExplicitVarSizeWithDummy[q17] != 6 /\ + y_ExplicitVarSizeWithDummy[q17] = y_ExplicitVarSizeWithFlags_Values[q15] + | q17 : int(1..4)]) + | q15 : int(1..4)]), + and([y_ExplicitVarSizeWithDummy[q19] != 6 -> + or([y_ExplicitVarSizeWithFlags_Flags[q21] /\ + y_ExplicitVarSizeWithFlags_Values[q21] = y_ExplicitVarSizeWithDummy[q19] + | q21 : int(1..4)]) + | q19 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_3_2_2_1-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_3_2_2_1-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_2_2_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_3_2_2_1-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_3_2_2_1-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_2_2_1-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_3_2_2_1.eprime b/tests/exhaustive/basic/set09/expected/model_3_2_2_1.eprime new file mode 100644 index 0000000000..6a169fe5a6 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_2_2_1.eprime @@ -0,0 +1,43 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find y_Occurrence: matrix indexed by [int(2..5)] of bool +branching on + [x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, y_Occurrence, + y_ExplicitVarSizeWithDummy] +such that + and([q26 <= x_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithDummy[q27] != 6 -> + x_ExplicitVarSizeWithMarker_Values[q26] + 2 = y_ExplicitVarSizeWithDummy[q27] + | q26 : int(1..4), q27 : int(1..4)]), + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..3)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 2 | q2 : int(1..4)]), + 1 <= x_ExplicitVarSizeWithMarker_Marker, + and([y_ExplicitVarSizeWithDummy[q4] < y_ExplicitVarSizeWithDummy[q4 + 1] \/ y_ExplicitVarSizeWithDummy[q4] = 6 + | q4 : int(1..3)]), + and([y_ExplicitVarSizeWithDummy[q5] = 6 -> y_ExplicitVarSizeWithDummy[q5 + 1] = 6 | q5 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithDummy[q6] != 6) | q6 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q8] < x_ExplicitVarSizeWithDummy[q8 + 1] \/ x_ExplicitVarSizeWithDummy[q8] = 6 + | q8 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q9] = 6 -> x_ExplicitVarSizeWithDummy[q9 + 1] = 6 | q9 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithDummy[q10] != 6) | q10 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q13] != 6 -> + or([q15 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q15] = x_ExplicitVarSizeWithDummy[q13] + | q15 : int(1..4)]) + | q13 : int(1..4)]), + and([q17 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q19] != 6 /\ + x_ExplicitVarSizeWithDummy[q19] = x_ExplicitVarSizeWithMarker_Values[q17] + | q19 : int(1..4)]) + | q17 : int(1..4)]), + 1 <= sum([toInt(y_Occurrence[q20]) | q20 : int(2..5)]), + and([y_Occurrence[q21] -> + or([y_ExplicitVarSizeWithDummy[q23] != 6 /\ y_ExplicitVarSizeWithDummy[q23] = q21 | q23 : int(1..4)]) + | q21 : int(2..5)]), + and([y_ExplicitVarSizeWithDummy[q25] != 6 -> y_Occurrence[y_ExplicitVarSizeWithDummy[q25]] | q25 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_3_2_2_2-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_3_2_2_2-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_2_2_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_3_2_2_2-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_3_2_2_2-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_2_2_2-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_3_2_2_2.eprime b/tests/exhaustive/basic/set09/expected/model_3_2_2_2.eprime new file mode 100644 index 0000000000..7f3fb2bd48 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_2_2_2.eprime @@ -0,0 +1,37 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +branching on + [x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, + y_ExplicitVarSizeWithDummy] +such that + and([q20 <= x_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithDummy[q21] != 6 -> + x_ExplicitVarSizeWithMarker_Values[q20] + 2 = y_ExplicitVarSizeWithDummy[q21] + | q20 : int(1..4), q21 : int(1..4)]), + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..3)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 2 | q2 : int(1..4)]), + 1 <= x_ExplicitVarSizeWithMarker_Marker, + and([y_ExplicitVarSizeWithDummy[q4] < y_ExplicitVarSizeWithDummy[q4 + 1] \/ y_ExplicitVarSizeWithDummy[q4] = 6 + | q4 : int(1..3)]), + and([y_ExplicitVarSizeWithDummy[q5] = 6 -> y_ExplicitVarSizeWithDummy[q5 + 1] = 6 | q5 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithDummy[q6] != 6) | q6 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q8] < x_ExplicitVarSizeWithDummy[q8 + 1] \/ x_ExplicitVarSizeWithDummy[q8] = 6 + | q8 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q9] = 6 -> x_ExplicitVarSizeWithDummy[q9 + 1] = 6 | q9 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithDummy[q10] != 6) | q10 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q13] != 6 -> + or([q15 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q15] = x_ExplicitVarSizeWithDummy[q13] + | q15 : int(1..4)]) + | q13 : int(1..4)]), + and([q17 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q19] != 6 /\ + x_ExplicitVarSizeWithDummy[q19] = x_ExplicitVarSizeWithMarker_Values[q17] + | q19 : int(1..4)]) + | q17 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_3_2_2_3-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_3_2_2_3-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_2_2_3-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_3_2_2_3-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_3_2_2_3-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_2_2_3-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_3_2_2_3.eprime b/tests/exhaustive/basic/set09/expected/model_3_2_2_3.eprime new file mode 100644 index 0000000000..cc44894190 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_2_2_3.eprime @@ -0,0 +1,54 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find y_ExplicitVarSizeWithMarker_Marker: int(0..4) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +branching on + [x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, + y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values, y_ExplicitVarSizeWithDummy] +such that + and([q31 <= x_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithDummy[q32] != 6 -> + x_ExplicitVarSizeWithMarker_Values[q31] + 2 = y_ExplicitVarSizeWithDummy[q32] + | q31 : int(1..4), q32 : int(1..4)]), + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..3)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 2 | q2 : int(1..4)]), + 1 <= x_ExplicitVarSizeWithMarker_Marker, + and([y_ExplicitVarSizeWithDummy[q4] < y_ExplicitVarSizeWithDummy[q4 + 1] \/ y_ExplicitVarSizeWithDummy[q4] = 6 + | q4 : int(1..3)]), + and([y_ExplicitVarSizeWithDummy[q5] = 6 -> y_ExplicitVarSizeWithDummy[q5 + 1] = 6 | q5 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithDummy[q6] != 6) | q6 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q8] < x_ExplicitVarSizeWithDummy[q8 + 1] \/ x_ExplicitVarSizeWithDummy[q8] = 6 + | q8 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q9] = 6 -> x_ExplicitVarSizeWithDummy[q9 + 1] = 6 | q9 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithDummy[q10] != 6) | q10 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q13] != 6 -> + or([q15 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q15] = x_ExplicitVarSizeWithDummy[q13] + | q15 : int(1..4)]) + | q13 : int(1..4)]), + and([q17 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q19] != 6 /\ + x_ExplicitVarSizeWithDummy[q19] = x_ExplicitVarSizeWithMarker_Values[q17] + | q19 : int(1..4)]) + | q17 : int(1..4)]), + and([q20 + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithMarker_Values[q20] < y_ExplicitVarSizeWithMarker_Values[q20 + 1] + | q20 : int(1..3)]), + and([q21 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[q21] = 2 | q21 : int(1..4)]), + 1 <= y_ExplicitVarSizeWithMarker_Marker, + and([q24 <= y_ExplicitVarSizeWithMarker_Marker -> + or([y_ExplicitVarSizeWithDummy[q26] != 6 /\ + y_ExplicitVarSizeWithDummy[q26] = y_ExplicitVarSizeWithMarker_Values[q24] + | q26 : int(1..4)]) + | q24 : int(1..4)]), + and([y_ExplicitVarSizeWithDummy[q28] != 6 -> + or([q30 <= y_ExplicitVarSizeWithMarker_Marker /\ + y_ExplicitVarSizeWithMarker_Values[q30] = y_ExplicitVarSizeWithDummy[q28] + | q30 : int(1..4)]) + | q28 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_3_2_2_4-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_3_2_2_4-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_2_2_4-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_3_2_2_4-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_3_2_2_4-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_2_2_4-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_3_2_2_4.eprime b/tests/exhaustive/basic/set09/expected/model_3_2_2_4.eprime new file mode 100644 index 0000000000..c22f517453 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_2_2_4.eprime @@ -0,0 +1,56 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +branching on + [x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, + y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values, y_ExplicitVarSizeWithDummy] +such that + and([q33 <= x_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithDummy[q34] != 6 -> + x_ExplicitVarSizeWithMarker_Values[q33] + 2 = y_ExplicitVarSizeWithDummy[q34] + | q33 : int(1..4), q34 : int(1..4)]), + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..3)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 2 | q2 : int(1..4)]), + 1 <= x_ExplicitVarSizeWithMarker_Marker, + and([y_ExplicitVarSizeWithDummy[q4] < y_ExplicitVarSizeWithDummy[q4 + 1] \/ y_ExplicitVarSizeWithDummy[q4] = 6 + | q4 : int(1..3)]), + and([y_ExplicitVarSizeWithDummy[q5] = 6 -> y_ExplicitVarSizeWithDummy[q5 + 1] = 6 | q5 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithDummy[q6] != 6) | q6 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q8] < x_ExplicitVarSizeWithDummy[q8 + 1] \/ x_ExplicitVarSizeWithDummy[q8] = 6 + | q8 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q9] = 6 -> x_ExplicitVarSizeWithDummy[q9 + 1] = 6 | q9 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithDummy[q10] != 6) | q10 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q13] != 6 -> + or([q15 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q15] = x_ExplicitVarSizeWithDummy[q13] + | q15 : int(1..4)]) + | q13 : int(1..4)]), + and([q17 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q19] != 6 /\ + x_ExplicitVarSizeWithDummy[q19] = x_ExplicitVarSizeWithMarker_Values[q17] + | q19 : int(1..4)]) + | q17 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q20 + 1] -> + y_ExplicitVarSizeWithFlags_Values[q20] < y_ExplicitVarSizeWithFlags_Values[q20 + 1] + | q20 : int(1..3)]), + and([y_ExplicitVarSizeWithFlags_Flags[q21] = false -> y_ExplicitVarSizeWithFlags_Values[q21] = 2 + | q21 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q22 + 1] -> y_ExplicitVarSizeWithFlags_Flags[q22] | q22 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithFlags_Flags[q23]) | q23 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q26] -> + or([y_ExplicitVarSizeWithDummy[q28] != 6 /\ + y_ExplicitVarSizeWithDummy[q28] = y_ExplicitVarSizeWithFlags_Values[q26] + | q28 : int(1..4)]) + | q26 : int(1..4)]), + and([y_ExplicitVarSizeWithDummy[q30] != 6 -> + or([y_ExplicitVarSizeWithFlags_Flags[q32] /\ + y_ExplicitVarSizeWithFlags_Values[q32] = y_ExplicitVarSizeWithDummy[q30] + | q32 : int(1..4)]) + | q30 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_3_2_3_1-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_3_2_3_1-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_2_3_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_3_2_3_1-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_3_2_3_1-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_2_3_1-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_3_2_3_1.eprime b/tests/exhaustive/basic/set09/expected/model_3_2_3_1.eprime new file mode 100644 index 0000000000..0059fed8b2 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_2_3_1.eprime @@ -0,0 +1,27 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find y_Occurrence: matrix indexed by [int(2..5)] of bool +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, y_Occurrence, y_ExplicitVarSizeWithDummy] +such that + and([q14 <= x_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithDummy[q15] != 6 -> + x_ExplicitVarSizeWithMarker_Values[q14] + 2 = y_ExplicitVarSizeWithDummy[q15] + | q14 : int(1..4), q15 : int(1..4)]), + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..3)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 2 | q2 : int(1..4)]), + 1 <= x_ExplicitVarSizeWithMarker_Marker, + and([y_ExplicitVarSizeWithDummy[q4] < y_ExplicitVarSizeWithDummy[q4 + 1] \/ y_ExplicitVarSizeWithDummy[q4] = 6 + | q4 : int(1..3)]), + and([y_ExplicitVarSizeWithDummy[q5] = 6 -> y_ExplicitVarSizeWithDummy[q5 + 1] = 6 | q5 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithDummy[q6] != 6) | q6 : int(1..4)]), + 1 <= sum([toInt(y_Occurrence[q8]) | q8 : int(2..5)]), + and([y_Occurrence[q9] -> + or([y_ExplicitVarSizeWithDummy[q11] != 6 /\ y_ExplicitVarSizeWithDummy[q11] = q9 | q11 : int(1..4)]) + | q9 : int(2..5)]), + and([y_ExplicitVarSizeWithDummy[q13] != 6 -> y_Occurrence[y_ExplicitVarSizeWithDummy[q13]] | q13 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_3_2_3_2-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_3_2_3_2-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_2_3_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_3_2_3_2-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_3_2_3_2-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_2_3_2-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_3_2_3_2.eprime b/tests/exhaustive/basic/set09/expected/model_3_2_3_2.eprime new file mode 100644 index 0000000000..99499bc7b1 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_2_3_2.eprime @@ -0,0 +1,20 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +branching on [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, y_ExplicitVarSizeWithDummy] +such that + and([q8 <= x_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithDummy[q9] != 6 -> + x_ExplicitVarSizeWithMarker_Values[q8] + 2 = y_ExplicitVarSizeWithDummy[q9] + | q8 : int(1..4), q9 : int(1..4)]), + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..3)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 2 | q2 : int(1..4)]), + 1 <= x_ExplicitVarSizeWithMarker_Marker, + and([y_ExplicitVarSizeWithDummy[q4] < y_ExplicitVarSizeWithDummy[q4 + 1] \/ y_ExplicitVarSizeWithDummy[q4] = 6 + | q4 : int(1..3)]), + and([y_ExplicitVarSizeWithDummy[q5] = 6 -> y_ExplicitVarSizeWithDummy[q5 + 1] = 6 | q5 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithDummy[q6] != 6) | q6 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_3_2_3_3-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_3_2_3_3-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_2_3_3-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_3_2_3_3-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_3_2_3_3-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_2_3_3-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_3_2_3_3.eprime b/tests/exhaustive/basic/set09/expected/model_3_2_3_3.eprime new file mode 100644 index 0000000000..45e304f746 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_2_3_3.eprime @@ -0,0 +1,39 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find y_ExplicitVarSizeWithMarker_Marker: int(0..4) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, y_ExplicitVarSizeWithMarker_Marker, + y_ExplicitVarSizeWithMarker_Values, y_ExplicitVarSizeWithDummy] +such that + and([q19 <= x_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithDummy[q20] != 6 -> + x_ExplicitVarSizeWithMarker_Values[q19] + 2 = y_ExplicitVarSizeWithDummy[q20] + | q19 : int(1..4), q20 : int(1..4)]), + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..3)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 2 | q2 : int(1..4)]), + 1 <= x_ExplicitVarSizeWithMarker_Marker, + and([y_ExplicitVarSizeWithDummy[q4] < y_ExplicitVarSizeWithDummy[q4 + 1] \/ y_ExplicitVarSizeWithDummy[q4] = 6 + | q4 : int(1..3)]), + and([y_ExplicitVarSizeWithDummy[q5] = 6 -> y_ExplicitVarSizeWithDummy[q5 + 1] = 6 | q5 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithDummy[q6] != 6) | q6 : int(1..4)]), + and([q8 + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithMarker_Values[q8] < y_ExplicitVarSizeWithMarker_Values[q8 + 1] + | q8 : int(1..3)]), + and([q9 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[q9] = 2 | q9 : int(1..4)]), + 1 <= y_ExplicitVarSizeWithMarker_Marker, + and([q12 <= y_ExplicitVarSizeWithMarker_Marker -> + or([y_ExplicitVarSizeWithDummy[q14] != 6 /\ + y_ExplicitVarSizeWithDummy[q14] = y_ExplicitVarSizeWithMarker_Values[q12] + | q14 : int(1..4)]) + | q12 : int(1..4)]), + and([y_ExplicitVarSizeWithDummy[q16] != 6 -> + or([q18 <= y_ExplicitVarSizeWithMarker_Marker /\ + y_ExplicitVarSizeWithMarker_Values[q18] = y_ExplicitVarSizeWithDummy[q16] + | q18 : int(1..4)]) + | q16 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_3_2_3_4-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_3_2_3_4-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_2_3_4-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_3_2_3_4-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_3_2_3_4-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_2_3_4-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_3_2_3_4.eprime b/tests/exhaustive/basic/set09/expected/model_3_2_3_4.eprime new file mode 100644 index 0000000000..f098a13d32 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_2_3_4.eprime @@ -0,0 +1,40 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, y_ExplicitVarSizeWithFlags_Flags, + y_ExplicitVarSizeWithFlags_Values, y_ExplicitVarSizeWithDummy] +such that + and([q21 <= x_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithDummy[q22] != 6 -> + x_ExplicitVarSizeWithMarker_Values[q21] + 2 = y_ExplicitVarSizeWithDummy[q22] + | q21 : int(1..4), q22 : int(1..4)]), + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..3)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 2 | q2 : int(1..4)]), + 1 <= x_ExplicitVarSizeWithMarker_Marker, + and([y_ExplicitVarSizeWithDummy[q4] < y_ExplicitVarSizeWithDummy[q4 + 1] \/ y_ExplicitVarSizeWithDummy[q4] = 6 + | q4 : int(1..3)]), + and([y_ExplicitVarSizeWithDummy[q5] = 6 -> y_ExplicitVarSizeWithDummy[q5 + 1] = 6 | q5 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithDummy[q6] != 6) | q6 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q8 + 1] -> + y_ExplicitVarSizeWithFlags_Values[q8] < y_ExplicitVarSizeWithFlags_Values[q8 + 1] + | q8 : int(1..3)]), + and([y_ExplicitVarSizeWithFlags_Flags[q9] = false -> y_ExplicitVarSizeWithFlags_Values[q9] = 2 | q9 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q10 + 1] -> y_ExplicitVarSizeWithFlags_Flags[q10] | q10 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithFlags_Flags[q11]) | q11 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q14] -> + or([y_ExplicitVarSizeWithDummy[q16] != 6 /\ + y_ExplicitVarSizeWithDummy[q16] = y_ExplicitVarSizeWithFlags_Values[q14] + | q16 : int(1..4)]) + | q14 : int(1..4)]), + and([y_ExplicitVarSizeWithDummy[q18] != 6 -> + or([y_ExplicitVarSizeWithFlags_Flags[q20] /\ + y_ExplicitVarSizeWithFlags_Values[q20] = y_ExplicitVarSizeWithDummy[q18] + | q20 : int(1..4)]) + | q18 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_3_2_4_1-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_3_2_4_1-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_2_4_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_3_2_4_1-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_3_2_4_1-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_2_4_1-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_3_2_4_1.eprime b/tests/exhaustive/basic/set09/expected/model_3_2_4_1.eprime new file mode 100644 index 0000000000..6fc2962eea --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_2_4_1.eprime @@ -0,0 +1,46 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find y_Occurrence: matrix indexed by [int(2..5)] of bool +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_ExplicitVarSizeWithMarker_Marker, + x_ExplicitVarSizeWithMarker_Values, y_Occurrence, y_ExplicitVarSizeWithDummy] +such that + and([q27 <= x_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithDummy[q28] != 6 -> + x_ExplicitVarSizeWithMarker_Values[q27] + 2 = y_ExplicitVarSizeWithDummy[q28] + | q27 : int(1..4), q28 : int(1..4)]), + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..3)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 2 | q2 : int(1..4)]), + 1 <= x_ExplicitVarSizeWithMarker_Marker, + and([y_ExplicitVarSizeWithDummy[q4] < y_ExplicitVarSizeWithDummy[q4 + 1] \/ y_ExplicitVarSizeWithDummy[q4] = 6 + | q4 : int(1..3)]), + and([y_ExplicitVarSizeWithDummy[q5] = 6 -> y_ExplicitVarSizeWithDummy[q5 + 1] = 6 | q5 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithDummy[q6] != 6) | q6 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q8 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q8] < x_ExplicitVarSizeWithFlags_Values[q8 + 1] + | q8 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q9] = false -> x_ExplicitVarSizeWithFlags_Values[q9] = 2 | q9 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q10 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q10] | q10 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q11]) | q11 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q14] -> + or([q16 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q16] = x_ExplicitVarSizeWithFlags_Values[q14] + | q16 : int(1..4)]) + | q14 : int(1..4)]), + and([q18 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q20] /\ + x_ExplicitVarSizeWithFlags_Values[q20] = x_ExplicitVarSizeWithMarker_Values[q18] + | q20 : int(1..4)]) + | q18 : int(1..4)]), + 1 <= sum([toInt(y_Occurrence[q21]) | q21 : int(2..5)]), + and([y_Occurrence[q22] -> + or([y_ExplicitVarSizeWithDummy[q24] != 6 /\ y_ExplicitVarSizeWithDummy[q24] = q22 | q24 : int(1..4)]) + | q22 : int(2..5)]), + and([y_ExplicitVarSizeWithDummy[q26] != 6 -> y_Occurrence[y_ExplicitVarSizeWithDummy[q26]] | q26 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_3_2_4_2-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_3_2_4_2-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_2_4_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_3_2_4_2-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_3_2_4_2-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_2_4_2-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_3_2_4_2.eprime b/tests/exhaustive/basic/set09/expected/model_3_2_4_2.eprime new file mode 100644 index 0000000000..dbe9bc7729 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_2_4_2.eprime @@ -0,0 +1,40 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_ExplicitVarSizeWithMarker_Marker, + x_ExplicitVarSizeWithMarker_Values, y_ExplicitVarSizeWithDummy] +such that + and([q21 <= x_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithDummy[q22] != 6 -> + x_ExplicitVarSizeWithMarker_Values[q21] + 2 = y_ExplicitVarSizeWithDummy[q22] + | q21 : int(1..4), q22 : int(1..4)]), + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..3)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 2 | q2 : int(1..4)]), + 1 <= x_ExplicitVarSizeWithMarker_Marker, + and([y_ExplicitVarSizeWithDummy[q4] < y_ExplicitVarSizeWithDummy[q4 + 1] \/ y_ExplicitVarSizeWithDummy[q4] = 6 + | q4 : int(1..3)]), + and([y_ExplicitVarSizeWithDummy[q5] = 6 -> y_ExplicitVarSizeWithDummy[q5 + 1] = 6 | q5 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithDummy[q6] != 6) | q6 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q8 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q8] < x_ExplicitVarSizeWithFlags_Values[q8 + 1] + | q8 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q9] = false -> x_ExplicitVarSizeWithFlags_Values[q9] = 2 | q9 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q10 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q10] | q10 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q11]) | q11 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q14] -> + or([q16 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q16] = x_ExplicitVarSizeWithFlags_Values[q14] + | q16 : int(1..4)]) + | q14 : int(1..4)]), + and([q18 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q20] /\ + x_ExplicitVarSizeWithFlags_Values[q20] = x_ExplicitVarSizeWithMarker_Values[q18] + | q20 : int(1..4)]) + | q18 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_3_2_4_3-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_3_2_4_3-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_2_4_3-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_3_2_4_3-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_3_2_4_3-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_2_4_3-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_3_2_4_3.eprime b/tests/exhaustive/basic/set09/expected/model_3_2_4_3.eprime new file mode 100644 index 0000000000..39e771368e --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_2_4_3.eprime @@ -0,0 +1,58 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find y_ExplicitVarSizeWithMarker_Marker: int(0..4) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_ExplicitVarSizeWithMarker_Marker, + x_ExplicitVarSizeWithMarker_Values, y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values, + y_ExplicitVarSizeWithDummy] +such that + and([q32 <= x_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithDummy[q33] != 6 -> + x_ExplicitVarSizeWithMarker_Values[q32] + 2 = y_ExplicitVarSizeWithDummy[q33] + | q32 : int(1..4), q33 : int(1..4)]), + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..3)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 2 | q2 : int(1..4)]), + 1 <= x_ExplicitVarSizeWithMarker_Marker, + and([y_ExplicitVarSizeWithDummy[q4] < y_ExplicitVarSizeWithDummy[q4 + 1] \/ y_ExplicitVarSizeWithDummy[q4] = 6 + | q4 : int(1..3)]), + and([y_ExplicitVarSizeWithDummy[q5] = 6 -> y_ExplicitVarSizeWithDummy[q5 + 1] = 6 | q5 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithDummy[q6] != 6) | q6 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q8 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q8] < x_ExplicitVarSizeWithFlags_Values[q8 + 1] + | q8 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q9] = false -> x_ExplicitVarSizeWithFlags_Values[q9] = 2 | q9 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q10 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q10] | q10 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q11]) | q11 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q14] -> + or([q16 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q16] = x_ExplicitVarSizeWithFlags_Values[q14] + | q16 : int(1..4)]) + | q14 : int(1..4)]), + and([q18 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q20] /\ + x_ExplicitVarSizeWithFlags_Values[q20] = x_ExplicitVarSizeWithMarker_Values[q18] + | q20 : int(1..4)]) + | q18 : int(1..4)]), + and([q21 + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithMarker_Values[q21] < y_ExplicitVarSizeWithMarker_Values[q21 + 1] + | q21 : int(1..3)]), + and([q22 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[q22] = 2 | q22 : int(1..4)]), + 1 <= y_ExplicitVarSizeWithMarker_Marker, + and([q25 <= y_ExplicitVarSizeWithMarker_Marker -> + or([y_ExplicitVarSizeWithDummy[q27] != 6 /\ + y_ExplicitVarSizeWithDummy[q27] = y_ExplicitVarSizeWithMarker_Values[q25] + | q27 : int(1..4)]) + | q25 : int(1..4)]), + and([y_ExplicitVarSizeWithDummy[q29] != 6 -> + or([q31 <= y_ExplicitVarSizeWithMarker_Marker /\ + y_ExplicitVarSizeWithMarker_Values[q31] = y_ExplicitVarSizeWithDummy[q29] + | q31 : int(1..4)]) + | q29 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_3_2_4_4-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_3_2_4_4-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_2_4_4-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_3_2_4_4-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_3_2_4_4-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_2_4_4-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_3_2_4_4.eprime b/tests/exhaustive/basic/set09/expected/model_3_2_4_4.eprime new file mode 100644 index 0000000000..6425ad0a2b --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_2_4_4.eprime @@ -0,0 +1,60 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_ExplicitVarSizeWithMarker_Marker, + x_ExplicitVarSizeWithMarker_Values, y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values, + y_ExplicitVarSizeWithDummy] +such that + and([q34 <= x_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithDummy[q35] != 6 -> + x_ExplicitVarSizeWithMarker_Values[q34] + 2 = y_ExplicitVarSizeWithDummy[q35] + | q34 : int(1..4), q35 : int(1..4)]), + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..3)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 2 | q2 : int(1..4)]), + 1 <= x_ExplicitVarSizeWithMarker_Marker, + and([y_ExplicitVarSizeWithDummy[q4] < y_ExplicitVarSizeWithDummy[q4 + 1] \/ y_ExplicitVarSizeWithDummy[q4] = 6 + | q4 : int(1..3)]), + and([y_ExplicitVarSizeWithDummy[q5] = 6 -> y_ExplicitVarSizeWithDummy[q5 + 1] = 6 | q5 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithDummy[q6] != 6) | q6 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q8 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q8] < x_ExplicitVarSizeWithFlags_Values[q8 + 1] + | q8 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q9] = false -> x_ExplicitVarSizeWithFlags_Values[q9] = 2 | q9 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q10 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q10] | q10 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q11]) | q11 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q14] -> + or([q16 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q16] = x_ExplicitVarSizeWithFlags_Values[q14] + | q16 : int(1..4)]) + | q14 : int(1..4)]), + and([q18 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q20] /\ + x_ExplicitVarSizeWithFlags_Values[q20] = x_ExplicitVarSizeWithMarker_Values[q18] + | q20 : int(1..4)]) + | q18 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q21 + 1] -> + y_ExplicitVarSizeWithFlags_Values[q21] < y_ExplicitVarSizeWithFlags_Values[q21 + 1] + | q21 : int(1..3)]), + and([y_ExplicitVarSizeWithFlags_Flags[q22] = false -> y_ExplicitVarSizeWithFlags_Values[q22] = 2 + | q22 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q23 + 1] -> y_ExplicitVarSizeWithFlags_Flags[q23] | q23 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithFlags_Flags[q24]) | q24 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q27] -> + or([y_ExplicitVarSizeWithDummy[q29] != 6 /\ + y_ExplicitVarSizeWithDummy[q29] = y_ExplicitVarSizeWithFlags_Values[q27] + | q29 : int(1..4)]) + | q27 : int(1..4)]), + and([y_ExplicitVarSizeWithDummy[q31] != 6 -> + or([y_ExplicitVarSizeWithFlags_Flags[q33] /\ + y_ExplicitVarSizeWithFlags_Values[q33] = y_ExplicitVarSizeWithDummy[q31] + | q33 : int(1..4)]) + | q31 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_3_3_1_1-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_3_3_1_1-solution000001.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_3_1_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_3_3_1_1-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_3_3_1_1-solution000002.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_3_1_1-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_3_3_1_1.eprime b/tests/exhaustive/basic/set09/expected/model_3_3_1_1.eprime new file mode 100644 index 0000000000..3ec2bcc362 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_3_1_1.eprime @@ -0,0 +1,40 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find x_Occurrence: matrix indexed by [int(2..5)] of bool +find y_ExplicitVarSizeWithMarker_Marker: int(0..4) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_Occurrence: matrix indexed by [int(2..5)] of bool +branching on + [x_Occurrence, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, y_Occurrence, + y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values] +such that + and([q14 <= x_ExplicitVarSizeWithMarker_Marker /\ q15 <= y_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q14] + 2 = y_ExplicitVarSizeWithMarker_Values[q15] + | q14 : int(1..4), q15 : int(1..4)]), + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..3)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 2 | q2 : int(1..4)]), + 1 <= x_ExplicitVarSizeWithMarker_Marker, + and([q4 + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithMarker_Values[q4] < y_ExplicitVarSizeWithMarker_Values[q4 + 1] + | q4 : int(1..3)]), + and([q5 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[q5] = 2 | q5 : int(1..4)]), + 1 <= y_ExplicitVarSizeWithMarker_Marker, + 1 <= sum([toInt(x_Occurrence[q7]) | q7 : int(2..5)]), + and([x_Occurrence[q16] -> + or([q18 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q18] = q16 + | q18 : int(1..4)]) + | q16 : int(2..5)]), + and([q20 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q20]] + | q20 : int(1..4)]), + 1 <= sum([toInt(y_Occurrence[q8]) | q8 : int(2..5)]), + and([y_Occurrence[q9] -> + or([q11 <= y_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithMarker_Values[q11] = q9 + | q11 : int(1..4)]) + | q9 : int(2..5)]), + and([q13 <= y_ExplicitVarSizeWithMarker_Marker -> y_Occurrence[y_ExplicitVarSizeWithMarker_Values[q13]] + | q13 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_3_3_1_2-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_3_3_1_2-solution000001.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_3_1_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_3_3_1_2-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_3_3_1_2-solution000002.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_3_1_2-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_3_3_1_2.eprime b/tests/exhaustive/basic/set09/expected/model_3_3_1_2.eprime new file mode 100644 index 0000000000..8eaef50691 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_3_1_2.eprime @@ -0,0 +1,47 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find x_Occurrence: matrix indexed by [int(2..5)] of bool +find y_ExplicitVarSizeWithMarker_Marker: int(0..4) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +branching on + [x_Occurrence, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, y_ExplicitVarSizeWithDummy, + y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values] +such that + and([q25 <= x_ExplicitVarSizeWithMarker_Marker /\ q26 <= y_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q25] + 2 = y_ExplicitVarSizeWithMarker_Values[q26] + | q25 : int(1..4), q26 : int(1..4)]), + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..3)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 2 | q2 : int(1..4)]), + 1 <= x_ExplicitVarSizeWithMarker_Marker, + and([q4 + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithMarker_Values[q4] < y_ExplicitVarSizeWithMarker_Values[q4 + 1] + | q4 : int(1..3)]), + and([q5 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[q5] = 2 | q5 : int(1..4)]), + 1 <= y_ExplicitVarSizeWithMarker_Marker, + 1 <= sum([toInt(x_Occurrence[q7]) | q7 : int(2..5)]), + and([x_Occurrence[q20] -> + or([q22 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q22] = q20 + | q22 : int(1..4)]) + | q20 : int(2..5)]), + and([q24 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q24]] + | q24 : int(1..4)]), + and([y_ExplicitVarSizeWithDummy[q8] < y_ExplicitVarSizeWithDummy[q8 + 1] \/ y_ExplicitVarSizeWithDummy[q8] = 6 + | q8 : int(1..3)]), + and([y_ExplicitVarSizeWithDummy[q9] = 6 -> y_ExplicitVarSizeWithDummy[q9 + 1] = 6 | q9 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithDummy[q10] != 6) | q10 : int(1..4)]), + and([y_ExplicitVarSizeWithDummy[q13] != 6 -> + or([q15 <= y_ExplicitVarSizeWithMarker_Marker /\ + y_ExplicitVarSizeWithMarker_Values[q15] = y_ExplicitVarSizeWithDummy[q13] + | q15 : int(1..4)]) + | q13 : int(1..4)]), + and([q17 <= y_ExplicitVarSizeWithMarker_Marker -> + or([y_ExplicitVarSizeWithDummy[q19] != 6 /\ + y_ExplicitVarSizeWithDummy[q19] = y_ExplicitVarSizeWithMarker_Values[q17] + | q19 : int(1..4)]) + | q17 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_3_3_1_3-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_3_3_1_3-solution000001.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_3_1_3-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_3_3_1_3-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_3_3_1_3-solution000002.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_3_1_3-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_3_3_1_3.eprime b/tests/exhaustive/basic/set09/expected/model_3_3_1_3.eprime new file mode 100644 index 0000000000..16bba88020 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_3_1_3.eprime @@ -0,0 +1,32 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find x_Occurrence: matrix indexed by [int(2..5)] of bool +find y_ExplicitVarSizeWithMarker_Marker: int(0..4) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +branching on + [x_Occurrence, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, + y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values] +such that + and([q13 <= x_ExplicitVarSizeWithMarker_Marker /\ q14 <= y_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q13] + 2 = y_ExplicitVarSizeWithMarker_Values[q14] + | q13 : int(1..4), q14 : int(1..4)]), + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..3)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 2 | q2 : int(1..4)]), + 1 <= x_ExplicitVarSizeWithMarker_Marker, + and([q4 + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithMarker_Values[q4] < y_ExplicitVarSizeWithMarker_Values[q4 + 1] + | q4 : int(1..3)]), + and([q5 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[q5] = 2 | q5 : int(1..4)]), + 1 <= y_ExplicitVarSizeWithMarker_Marker, + 1 <= sum([toInt(x_Occurrence[q7]) | q7 : int(2..5)]), + and([x_Occurrence[q8] -> + or([q10 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q10] = q8 + | q10 : int(1..4)]) + | q8 : int(2..5)]), + and([q12 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q12]] + | q12 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_3_3_1_4-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_3_3_1_4-solution000001.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_3_1_4-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_3_3_1_4-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_3_3_1_4-solution000002.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_3_1_4-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_3_3_1_4.eprime b/tests/exhaustive/basic/set09/expected/model_3_3_1_4.eprime new file mode 100644 index 0000000000..487253019b --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_3_1_4.eprime @@ -0,0 +1,51 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find x_Occurrence: matrix indexed by [int(2..5)] of bool +find y_ExplicitVarSizeWithMarker_Marker: int(0..4) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +branching on + [x_Occurrence, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, + y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values, y_ExplicitVarSizeWithMarker_Marker, + y_ExplicitVarSizeWithMarker_Values] +such that + and([q26 <= x_ExplicitVarSizeWithMarker_Marker /\ q27 <= y_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q26] + 2 = y_ExplicitVarSizeWithMarker_Values[q27] + | q26 : int(1..4), q27 : int(1..4)]), + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..3)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 2 | q2 : int(1..4)]), + 1 <= x_ExplicitVarSizeWithMarker_Marker, + and([q4 + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithMarker_Values[q4] < y_ExplicitVarSizeWithMarker_Values[q4 + 1] + | q4 : int(1..3)]), + and([q5 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[q5] = 2 | q5 : int(1..4)]), + 1 <= y_ExplicitVarSizeWithMarker_Marker, + 1 <= sum([toInt(x_Occurrence[q7]) | q7 : int(2..5)]), + and([x_Occurrence[q21] -> + or([q23 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q23] = q21 + | q23 : int(1..4)]) + | q21 : int(2..5)]), + and([q25 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q25]] + | q25 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q8 + 1] -> + y_ExplicitVarSizeWithFlags_Values[q8] < y_ExplicitVarSizeWithFlags_Values[q8 + 1] + | q8 : int(1..3)]), + and([y_ExplicitVarSizeWithFlags_Flags[q9] = false -> y_ExplicitVarSizeWithFlags_Values[q9] = 2 | q9 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q10 + 1] -> y_ExplicitVarSizeWithFlags_Flags[q10] | q10 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithFlags_Flags[q11]) | q11 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q14] -> + or([q16 <= y_ExplicitVarSizeWithMarker_Marker /\ + y_ExplicitVarSizeWithMarker_Values[q16] = y_ExplicitVarSizeWithFlags_Values[q14] + | q16 : int(1..4)]) + | q14 : int(1..4)]), + and([q18 <= y_ExplicitVarSizeWithMarker_Marker -> + or([y_ExplicitVarSizeWithFlags_Flags[q20] /\ + y_ExplicitVarSizeWithFlags_Values[q20] = y_ExplicitVarSizeWithMarker_Values[q18] + | q20 : int(1..4)]) + | q18 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_3_3_2_1-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_3_3_2_1-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_3_2_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_3_3_2_1-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_3_3_2_1-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_3_2_1-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_3_3_2_1.eprime b/tests/exhaustive/basic/set09/expected/model_3_3_2_1.eprime new file mode 100644 index 0000000000..124edd1223 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_3_2_1.eprime @@ -0,0 +1,47 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find y_ExplicitVarSizeWithMarker_Marker: int(0..4) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_Occurrence: matrix indexed by [int(2..5)] of bool +branching on + [x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, y_Occurrence, + y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values] +such that + and([q25 <= x_ExplicitVarSizeWithMarker_Marker /\ q26 <= y_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q25] + 2 = y_ExplicitVarSizeWithMarker_Values[q26] + | q25 : int(1..4), q26 : int(1..4)]), + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..3)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 2 | q2 : int(1..4)]), + 1 <= x_ExplicitVarSizeWithMarker_Marker, + and([q4 + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithMarker_Values[q4] < y_ExplicitVarSizeWithMarker_Values[q4 + 1] + | q4 : int(1..3)]), + and([q5 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[q5] = 2 | q5 : int(1..4)]), + 1 <= y_ExplicitVarSizeWithMarker_Marker, + and([x_ExplicitVarSizeWithDummy[q7] < x_ExplicitVarSizeWithDummy[q7 + 1] \/ x_ExplicitVarSizeWithDummy[q7] = 6 + | q7 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q8] = 6 -> x_ExplicitVarSizeWithDummy[q8 + 1] = 6 | q8 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithDummy[q9] != 6) | q9 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q12] != 6 -> + or([q14 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q14] = x_ExplicitVarSizeWithDummy[q12] + | q14 : int(1..4)]) + | q12 : int(1..4)]), + and([q16 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q18] != 6 /\ + x_ExplicitVarSizeWithDummy[q18] = x_ExplicitVarSizeWithMarker_Values[q16] + | q18 : int(1..4)]) + | q16 : int(1..4)]), + 1 <= sum([toInt(y_Occurrence[q19]) | q19 : int(2..5)]), + and([y_Occurrence[q20] -> + or([q22 <= y_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithMarker_Values[q22] = q20 + | q22 : int(1..4)]) + | q20 : int(2..5)]), + and([q24 <= y_ExplicitVarSizeWithMarker_Marker -> y_Occurrence[y_ExplicitVarSizeWithMarker_Values[q24]] + | q24 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_3_3_2_2-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_3_3_2_2-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_3_2_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_3_3_2_2-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_3_3_2_2-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_3_2_2-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_3_3_2_2.eprime b/tests/exhaustive/basic/set09/expected/model_3_3_2_2.eprime new file mode 100644 index 0000000000..7806a133c2 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_3_2_2.eprime @@ -0,0 +1,54 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find y_ExplicitVarSizeWithMarker_Marker: int(0..4) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +branching on + [x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, + y_ExplicitVarSizeWithDummy, y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values] +such that + and([q31 <= x_ExplicitVarSizeWithMarker_Marker /\ q32 <= y_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q31] + 2 = y_ExplicitVarSizeWithMarker_Values[q32] + | q31 : int(1..4), q32 : int(1..4)]), + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..3)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 2 | q2 : int(1..4)]), + 1 <= x_ExplicitVarSizeWithMarker_Marker, + and([q4 + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithMarker_Values[q4] < y_ExplicitVarSizeWithMarker_Values[q4 + 1] + | q4 : int(1..3)]), + and([q5 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[q5] = 2 | q5 : int(1..4)]), + 1 <= y_ExplicitVarSizeWithMarker_Marker, + and([x_ExplicitVarSizeWithDummy[q7] < x_ExplicitVarSizeWithDummy[q7 + 1] \/ x_ExplicitVarSizeWithDummy[q7] = 6 + | q7 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q8] = 6 -> x_ExplicitVarSizeWithDummy[q8 + 1] = 6 | q8 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithDummy[q9] != 6) | q9 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q12] != 6 -> + or([q14 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q14] = x_ExplicitVarSizeWithDummy[q12] + | q14 : int(1..4)]) + | q12 : int(1..4)]), + and([q16 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q18] != 6 /\ + x_ExplicitVarSizeWithDummy[q18] = x_ExplicitVarSizeWithMarker_Values[q16] + | q18 : int(1..4)]) + | q16 : int(1..4)]), + and([y_ExplicitVarSizeWithDummy[q19] < y_ExplicitVarSizeWithDummy[q19 + 1] \/ y_ExplicitVarSizeWithDummy[q19] = 6 + | q19 : int(1..3)]), + and([y_ExplicitVarSizeWithDummy[q20] = 6 -> y_ExplicitVarSizeWithDummy[q20 + 1] = 6 | q20 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithDummy[q21] != 6) | q21 : int(1..4)]), + and([y_ExplicitVarSizeWithDummy[q24] != 6 -> + or([q26 <= y_ExplicitVarSizeWithMarker_Marker /\ + y_ExplicitVarSizeWithMarker_Values[q26] = y_ExplicitVarSizeWithDummy[q24] + | q26 : int(1..4)]) + | q24 : int(1..4)]), + and([q28 <= y_ExplicitVarSizeWithMarker_Marker -> + or([y_ExplicitVarSizeWithDummy[q30] != 6 /\ + y_ExplicitVarSizeWithDummy[q30] = y_ExplicitVarSizeWithMarker_Values[q28] + | q30 : int(1..4)]) + | q28 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_3_3_2_3-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_3_3_2_3-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_3_2_3-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_3_3_2_3-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_3_3_2_3-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_3_2_3-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_3_3_2_3.eprime b/tests/exhaustive/basic/set09/expected/model_3_3_2_3.eprime new file mode 100644 index 0000000000..8c27f375ef --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_3_2_3.eprime @@ -0,0 +1,39 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find y_ExplicitVarSizeWithMarker_Marker: int(0..4) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +branching on + [x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, + y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values] +such that + and([q19 <= x_ExplicitVarSizeWithMarker_Marker /\ q20 <= y_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q19] + 2 = y_ExplicitVarSizeWithMarker_Values[q20] + | q19 : int(1..4), q20 : int(1..4)]), + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..3)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 2 | q2 : int(1..4)]), + 1 <= x_ExplicitVarSizeWithMarker_Marker, + and([q4 + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithMarker_Values[q4] < y_ExplicitVarSizeWithMarker_Values[q4 + 1] + | q4 : int(1..3)]), + and([q5 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[q5] = 2 | q5 : int(1..4)]), + 1 <= y_ExplicitVarSizeWithMarker_Marker, + and([x_ExplicitVarSizeWithDummy[q7] < x_ExplicitVarSizeWithDummy[q7 + 1] \/ x_ExplicitVarSizeWithDummy[q7] = 6 + | q7 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q8] = 6 -> x_ExplicitVarSizeWithDummy[q8 + 1] = 6 | q8 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithDummy[q9] != 6) | q9 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q12] != 6 -> + or([q14 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q14] = x_ExplicitVarSizeWithDummy[q12] + | q14 : int(1..4)]) + | q12 : int(1..4)]), + and([q16 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q18] != 6 /\ + x_ExplicitVarSizeWithDummy[q18] = x_ExplicitVarSizeWithMarker_Values[q16] + | q18 : int(1..4)]) + | q16 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_3_3_2_4-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_3_3_2_4-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_3_2_4-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_3_3_2_4-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_3_3_2_4-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_3_2_4-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_3_3_2_4.eprime b/tests/exhaustive/basic/set09/expected/model_3_3_2_4.eprime new file mode 100644 index 0000000000..85a12b9508 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_3_2_4.eprime @@ -0,0 +1,59 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find y_ExplicitVarSizeWithMarker_Marker: int(0..4) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +branching on + [x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, + y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values, y_ExplicitVarSizeWithMarker_Marker, + y_ExplicitVarSizeWithMarker_Values] +such that + and([q32 <= x_ExplicitVarSizeWithMarker_Marker /\ q33 <= y_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q32] + 2 = y_ExplicitVarSizeWithMarker_Values[q33] + | q32 : int(1..4), q33 : int(1..4)]), + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..3)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 2 | q2 : int(1..4)]), + 1 <= x_ExplicitVarSizeWithMarker_Marker, + and([q4 + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithMarker_Values[q4] < y_ExplicitVarSizeWithMarker_Values[q4 + 1] + | q4 : int(1..3)]), + and([q5 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[q5] = 2 | q5 : int(1..4)]), + 1 <= y_ExplicitVarSizeWithMarker_Marker, + and([x_ExplicitVarSizeWithDummy[q7] < x_ExplicitVarSizeWithDummy[q7 + 1] \/ x_ExplicitVarSizeWithDummy[q7] = 6 + | q7 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q8] = 6 -> x_ExplicitVarSizeWithDummy[q8 + 1] = 6 | q8 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithDummy[q9] != 6) | q9 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q12] != 6 -> + or([q14 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q14] = x_ExplicitVarSizeWithDummy[q12] + | q14 : int(1..4)]) + | q12 : int(1..4)]), + and([q16 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q18] != 6 /\ + x_ExplicitVarSizeWithDummy[q18] = x_ExplicitVarSizeWithMarker_Values[q16] + | q18 : int(1..4)]) + | q16 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q19 + 1] -> + y_ExplicitVarSizeWithFlags_Values[q19] < y_ExplicitVarSizeWithFlags_Values[q19 + 1] + | q19 : int(1..3)]), + and([y_ExplicitVarSizeWithFlags_Flags[q20] = false -> y_ExplicitVarSizeWithFlags_Values[q20] = 2 + | q20 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q21 + 1] -> y_ExplicitVarSizeWithFlags_Flags[q21] | q21 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithFlags_Flags[q22]) | q22 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q25] -> + or([q27 <= y_ExplicitVarSizeWithMarker_Marker /\ + y_ExplicitVarSizeWithMarker_Values[q27] = y_ExplicitVarSizeWithFlags_Values[q25] + | q27 : int(1..4)]) + | q25 : int(1..4)]), + and([q29 <= y_ExplicitVarSizeWithMarker_Marker -> + or([y_ExplicitVarSizeWithFlags_Flags[q31] /\ + y_ExplicitVarSizeWithFlags_Values[q31] = y_ExplicitVarSizeWithMarker_Values[q29] + | q31 : int(1..4)]) + | q29 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_3_3_3_1-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_3_3_3_1-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_3_3_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_3_3_3_1-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_3_3_3_1-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_3_3_1-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_3_3_3_1.eprime b/tests/exhaustive/basic/set09/expected/model_3_3_3_1.eprime new file mode 100644 index 0000000000..66dc7e15ca --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_3_3_1.eprime @@ -0,0 +1,32 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithMarker_Marker: int(0..4) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_Occurrence: matrix indexed by [int(2..5)] of bool +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, y_Occurrence, + y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values] +such that + and([q13 <= x_ExplicitVarSizeWithMarker_Marker /\ q14 <= y_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q13] + 2 = y_ExplicitVarSizeWithMarker_Values[q14] + | q13 : int(1..4), q14 : int(1..4)]), + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..3)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 2 | q2 : int(1..4)]), + 1 <= x_ExplicitVarSizeWithMarker_Marker, + and([q4 + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithMarker_Values[q4] < y_ExplicitVarSizeWithMarker_Values[q4 + 1] + | q4 : int(1..3)]), + and([q5 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[q5] = 2 | q5 : int(1..4)]), + 1 <= y_ExplicitVarSizeWithMarker_Marker, + 1 <= sum([toInt(y_Occurrence[q7]) | q7 : int(2..5)]), + and([y_Occurrence[q8] -> + or([q10 <= y_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithMarker_Values[q10] = q8 + | q10 : int(1..4)]) + | q8 : int(2..5)]), + and([q12 <= y_ExplicitVarSizeWithMarker_Marker -> y_Occurrence[y_ExplicitVarSizeWithMarker_Values[q12]] + | q12 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_3_3_3_2-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_3_3_3_2-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_3_3_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_3_3_3_2-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_3_3_3_2-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_3_3_2-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_3_3_3_2.eprime b/tests/exhaustive/basic/set09/expected/model_3_3_3_2.eprime new file mode 100644 index 0000000000..9618629cd8 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_3_3_2.eprime @@ -0,0 +1,39 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithMarker_Marker: int(0..4) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, y_ExplicitVarSizeWithDummy, + y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values] +such that + and([q19 <= x_ExplicitVarSizeWithMarker_Marker /\ q20 <= y_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q19] + 2 = y_ExplicitVarSizeWithMarker_Values[q20] + | q19 : int(1..4), q20 : int(1..4)]), + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..3)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 2 | q2 : int(1..4)]), + 1 <= x_ExplicitVarSizeWithMarker_Marker, + and([q4 + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithMarker_Values[q4] < y_ExplicitVarSizeWithMarker_Values[q4 + 1] + | q4 : int(1..3)]), + and([q5 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[q5] = 2 | q5 : int(1..4)]), + 1 <= y_ExplicitVarSizeWithMarker_Marker, + and([y_ExplicitVarSizeWithDummy[q7] < y_ExplicitVarSizeWithDummy[q7 + 1] \/ y_ExplicitVarSizeWithDummy[q7] = 6 + | q7 : int(1..3)]), + and([y_ExplicitVarSizeWithDummy[q8] = 6 -> y_ExplicitVarSizeWithDummy[q8 + 1] = 6 | q8 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithDummy[q9] != 6) | q9 : int(1..4)]), + and([y_ExplicitVarSizeWithDummy[q12] != 6 -> + or([q14 <= y_ExplicitVarSizeWithMarker_Marker /\ + y_ExplicitVarSizeWithMarker_Values[q14] = y_ExplicitVarSizeWithDummy[q12] + | q14 : int(1..4)]) + | q12 : int(1..4)]), + and([q16 <= y_ExplicitVarSizeWithMarker_Marker -> + or([y_ExplicitVarSizeWithDummy[q18] != 6 /\ + y_ExplicitVarSizeWithDummy[q18] = y_ExplicitVarSizeWithMarker_Values[q16] + | q18 : int(1..4)]) + | q16 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_3_3_3_3-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_3_3_3_3-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_3_3_3-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_3_3_3_3-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_3_3_3_3-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_3_3_3-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_3_3_3_3.eprime b/tests/exhaustive/basic/set09/expected/model_3_3_3_3.eprime new file mode 100644 index 0000000000..ad1e9ea981 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_3_3_3.eprime @@ -0,0 +1,24 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithMarker_Marker: int(0..4) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, y_ExplicitVarSizeWithMarker_Marker, + y_ExplicitVarSizeWithMarker_Values] +such that + and([q7 <= x_ExplicitVarSizeWithMarker_Marker /\ q8 <= y_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q7] + 2 = y_ExplicitVarSizeWithMarker_Values[q8] + | q7 : int(1..4), q8 : int(1..4)]), + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..3)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 2 | q2 : int(1..4)]), + 1 <= x_ExplicitVarSizeWithMarker_Marker, + and([q4 + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithMarker_Values[q4] < y_ExplicitVarSizeWithMarker_Values[q4 + 1] + | q4 : int(1..3)]), + and([q5 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[q5] = 2 | q5 : int(1..4)]), + 1 <= y_ExplicitVarSizeWithMarker_Marker + diff --git a/tests/exhaustive/basic/set09/expected/model_3_3_3_4-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_3_3_3_4-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_3_3_4-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_3_3_3_4-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_3_3_3_4-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_3_3_4-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_3_3_3_4.eprime b/tests/exhaustive/basic/set09/expected/model_3_3_3_4.eprime new file mode 100644 index 0000000000..4fbee84c05 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_3_3_4.eprime @@ -0,0 +1,42 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithMarker_Marker: int(0..4) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, y_ExplicitVarSizeWithFlags_Flags, + y_ExplicitVarSizeWithFlags_Values, y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values] +such that + and([q20 <= x_ExplicitVarSizeWithMarker_Marker /\ q21 <= y_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q20] + 2 = y_ExplicitVarSizeWithMarker_Values[q21] + | q20 : int(1..4), q21 : int(1..4)]), + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..3)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 2 | q2 : int(1..4)]), + 1 <= x_ExplicitVarSizeWithMarker_Marker, + and([q4 + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithMarker_Values[q4] < y_ExplicitVarSizeWithMarker_Values[q4 + 1] + | q4 : int(1..3)]), + and([q5 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[q5] = 2 | q5 : int(1..4)]), + 1 <= y_ExplicitVarSizeWithMarker_Marker, + and([y_ExplicitVarSizeWithFlags_Flags[q7 + 1] -> + y_ExplicitVarSizeWithFlags_Values[q7] < y_ExplicitVarSizeWithFlags_Values[q7 + 1] + | q7 : int(1..3)]), + and([y_ExplicitVarSizeWithFlags_Flags[q8] = false -> y_ExplicitVarSizeWithFlags_Values[q8] = 2 | q8 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q9 + 1] -> y_ExplicitVarSizeWithFlags_Flags[q9] | q9 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithFlags_Flags[q10]) | q10 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q13] -> + or([q15 <= y_ExplicitVarSizeWithMarker_Marker /\ + y_ExplicitVarSizeWithMarker_Values[q15] = y_ExplicitVarSizeWithFlags_Values[q13] + | q15 : int(1..4)]) + | q13 : int(1..4)]), + and([q17 <= y_ExplicitVarSizeWithMarker_Marker -> + or([y_ExplicitVarSizeWithFlags_Flags[q19] /\ + y_ExplicitVarSizeWithFlags_Values[q19] = y_ExplicitVarSizeWithMarker_Values[q17] + | q19 : int(1..4)]) + | q17 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_3_3_4_1-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_3_3_4_1-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_3_4_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_3_3_4_1-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_3_3_4_1-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_3_4_1-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_3_3_4_1.eprime b/tests/exhaustive/basic/set09/expected/model_3_3_4_1.eprime new file mode 100644 index 0000000000..54b4d0bf42 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_3_4_1.eprime @@ -0,0 +1,51 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithMarker_Marker: int(0..4) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_Occurrence: matrix indexed by [int(2..5)] of bool +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_ExplicitVarSizeWithMarker_Marker, + x_ExplicitVarSizeWithMarker_Values, y_Occurrence, y_ExplicitVarSizeWithMarker_Marker, + y_ExplicitVarSizeWithMarker_Values] +such that + and([q26 <= x_ExplicitVarSizeWithMarker_Marker /\ q27 <= y_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q26] + 2 = y_ExplicitVarSizeWithMarker_Values[q27] + | q26 : int(1..4), q27 : int(1..4)]), + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..3)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 2 | q2 : int(1..4)]), + 1 <= x_ExplicitVarSizeWithMarker_Marker, + and([q4 + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithMarker_Values[q4] < y_ExplicitVarSizeWithMarker_Values[q4 + 1] + | q4 : int(1..3)]), + and([q5 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[q5] = 2 | q5 : int(1..4)]), + 1 <= y_ExplicitVarSizeWithMarker_Marker, + and([x_ExplicitVarSizeWithFlags_Flags[q7 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q7] < x_ExplicitVarSizeWithFlags_Values[q7 + 1] + | q7 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q8] = false -> x_ExplicitVarSizeWithFlags_Values[q8] = 2 | q8 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q9 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q9] | q9 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q10]) | q10 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q13] -> + or([q15 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q15] = x_ExplicitVarSizeWithFlags_Values[q13] + | q15 : int(1..4)]) + | q13 : int(1..4)]), + and([q17 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q19] /\ + x_ExplicitVarSizeWithFlags_Values[q19] = x_ExplicitVarSizeWithMarker_Values[q17] + | q19 : int(1..4)]) + | q17 : int(1..4)]), + 1 <= sum([toInt(y_Occurrence[q20]) | q20 : int(2..5)]), + and([y_Occurrence[q21] -> + or([q23 <= y_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithMarker_Values[q23] = q21 + | q23 : int(1..4)]) + | q21 : int(2..5)]), + and([q25 <= y_ExplicitVarSizeWithMarker_Marker -> y_Occurrence[y_ExplicitVarSizeWithMarker_Values[q25]] + | q25 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_3_3_4_2-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_3_3_4_2-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_3_4_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_3_3_4_2-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_3_3_4_2-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_3_4_2-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_3_3_4_2.eprime b/tests/exhaustive/basic/set09/expected/model_3_3_4_2.eprime new file mode 100644 index 0000000000..157e866343 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_3_4_2.eprime @@ -0,0 +1,58 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithMarker_Marker: int(0..4) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_ExplicitVarSizeWithMarker_Marker, + x_ExplicitVarSizeWithMarker_Values, y_ExplicitVarSizeWithDummy, y_ExplicitVarSizeWithMarker_Marker, + y_ExplicitVarSizeWithMarker_Values] +such that + and([q32 <= x_ExplicitVarSizeWithMarker_Marker /\ q33 <= y_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q32] + 2 = y_ExplicitVarSizeWithMarker_Values[q33] + | q32 : int(1..4), q33 : int(1..4)]), + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..3)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 2 | q2 : int(1..4)]), + 1 <= x_ExplicitVarSizeWithMarker_Marker, + and([q4 + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithMarker_Values[q4] < y_ExplicitVarSizeWithMarker_Values[q4 + 1] + | q4 : int(1..3)]), + and([q5 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[q5] = 2 | q5 : int(1..4)]), + 1 <= y_ExplicitVarSizeWithMarker_Marker, + and([x_ExplicitVarSizeWithFlags_Flags[q7 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q7] < x_ExplicitVarSizeWithFlags_Values[q7 + 1] + | q7 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q8] = false -> x_ExplicitVarSizeWithFlags_Values[q8] = 2 | q8 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q9 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q9] | q9 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q10]) | q10 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q13] -> + or([q15 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q15] = x_ExplicitVarSizeWithFlags_Values[q13] + | q15 : int(1..4)]) + | q13 : int(1..4)]), + and([q17 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q19] /\ + x_ExplicitVarSizeWithFlags_Values[q19] = x_ExplicitVarSizeWithMarker_Values[q17] + | q19 : int(1..4)]) + | q17 : int(1..4)]), + and([y_ExplicitVarSizeWithDummy[q20] < y_ExplicitVarSizeWithDummy[q20 + 1] \/ y_ExplicitVarSizeWithDummy[q20] = 6 + | q20 : int(1..3)]), + and([y_ExplicitVarSizeWithDummy[q21] = 6 -> y_ExplicitVarSizeWithDummy[q21 + 1] = 6 | q21 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithDummy[q22] != 6) | q22 : int(1..4)]), + and([y_ExplicitVarSizeWithDummy[q25] != 6 -> + or([q27 <= y_ExplicitVarSizeWithMarker_Marker /\ + y_ExplicitVarSizeWithMarker_Values[q27] = y_ExplicitVarSizeWithDummy[q25] + | q27 : int(1..4)]) + | q25 : int(1..4)]), + and([q29 <= y_ExplicitVarSizeWithMarker_Marker -> + or([y_ExplicitVarSizeWithDummy[q31] != 6 /\ + y_ExplicitVarSizeWithDummy[q31] = y_ExplicitVarSizeWithMarker_Values[q29] + | q31 : int(1..4)]) + | q29 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_3_3_4_3-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_3_3_4_3-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_3_4_3-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_3_3_4_3-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_3_3_4_3-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_3_4_3-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_3_3_4_3.eprime b/tests/exhaustive/basic/set09/expected/model_3_3_4_3.eprime new file mode 100644 index 0000000000..58d27cf48a --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_3_4_3.eprime @@ -0,0 +1,42 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithMarker_Marker: int(0..4) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_ExplicitVarSizeWithMarker_Marker, + x_ExplicitVarSizeWithMarker_Values, y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values] +such that + and([q20 <= x_ExplicitVarSizeWithMarker_Marker /\ q21 <= y_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q20] + 2 = y_ExplicitVarSizeWithMarker_Values[q21] + | q20 : int(1..4), q21 : int(1..4)]), + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..3)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 2 | q2 : int(1..4)]), + 1 <= x_ExplicitVarSizeWithMarker_Marker, + and([q4 + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithMarker_Values[q4] < y_ExplicitVarSizeWithMarker_Values[q4 + 1] + | q4 : int(1..3)]), + and([q5 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[q5] = 2 | q5 : int(1..4)]), + 1 <= y_ExplicitVarSizeWithMarker_Marker, + and([x_ExplicitVarSizeWithFlags_Flags[q7 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q7] < x_ExplicitVarSizeWithFlags_Values[q7 + 1] + | q7 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q8] = false -> x_ExplicitVarSizeWithFlags_Values[q8] = 2 | q8 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q9 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q9] | q9 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q10]) | q10 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q13] -> + or([q15 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q15] = x_ExplicitVarSizeWithFlags_Values[q13] + | q15 : int(1..4)]) + | q13 : int(1..4)]), + and([q17 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q19] /\ + x_ExplicitVarSizeWithFlags_Values[q19] = x_ExplicitVarSizeWithMarker_Values[q17] + | q19 : int(1..4)]) + | q17 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_3_3_4_4-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_3_3_4_4-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_3_4_4-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_3_3_4_4-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_3_3_4_4-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_3_4_4-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_3_3_4_4.eprime b/tests/exhaustive/basic/set09/expected/model_3_3_4_4.eprime new file mode 100644 index 0000000000..8eeab52a56 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_3_4_4.eprime @@ -0,0 +1,62 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithMarker_Marker: int(0..4) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_ExplicitVarSizeWithMarker_Marker, + x_ExplicitVarSizeWithMarker_Values, y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values, + y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values] +such that + and([q33 <= x_ExplicitVarSizeWithMarker_Marker /\ q34 <= y_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q33] + 2 = y_ExplicitVarSizeWithMarker_Values[q34] + | q33 : int(1..4), q34 : int(1..4)]), + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..3)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 2 | q2 : int(1..4)]), + 1 <= x_ExplicitVarSizeWithMarker_Marker, + and([q4 + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithMarker_Values[q4] < y_ExplicitVarSizeWithMarker_Values[q4 + 1] + | q4 : int(1..3)]), + and([q5 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[q5] = 2 | q5 : int(1..4)]), + 1 <= y_ExplicitVarSizeWithMarker_Marker, + and([x_ExplicitVarSizeWithFlags_Flags[q7 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q7] < x_ExplicitVarSizeWithFlags_Values[q7 + 1] + | q7 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q8] = false -> x_ExplicitVarSizeWithFlags_Values[q8] = 2 | q8 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q9 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q9] | q9 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q10]) | q10 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q13] -> + or([q15 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q15] = x_ExplicitVarSizeWithFlags_Values[q13] + | q15 : int(1..4)]) + | q13 : int(1..4)]), + and([q17 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q19] /\ + x_ExplicitVarSizeWithFlags_Values[q19] = x_ExplicitVarSizeWithMarker_Values[q17] + | q19 : int(1..4)]) + | q17 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q20 + 1] -> + y_ExplicitVarSizeWithFlags_Values[q20] < y_ExplicitVarSizeWithFlags_Values[q20 + 1] + | q20 : int(1..3)]), + and([y_ExplicitVarSizeWithFlags_Flags[q21] = false -> y_ExplicitVarSizeWithFlags_Values[q21] = 2 + | q21 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q22 + 1] -> y_ExplicitVarSizeWithFlags_Flags[q22] | q22 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithFlags_Flags[q23]) | q23 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q26] -> + or([q28 <= y_ExplicitVarSizeWithMarker_Marker /\ + y_ExplicitVarSizeWithMarker_Values[q28] = y_ExplicitVarSizeWithFlags_Values[q26] + | q28 : int(1..4)]) + | q26 : int(1..4)]), + and([q30 <= y_ExplicitVarSizeWithMarker_Marker -> + or([y_ExplicitVarSizeWithFlags_Flags[q32] /\ + y_ExplicitVarSizeWithFlags_Values[q32] = y_ExplicitVarSizeWithMarker_Values[q30] + | q32 : int(1..4)]) + | q30 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_3_4_1_1-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_3_4_1_1-solution000001.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_4_1_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_3_4_1_1-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_3_4_1_1-solution000002.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_4_1_1-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_3_4_1_1.eprime b/tests/exhaustive/basic/set09/expected/model_3_4_1_1.eprime new file mode 100644 index 0000000000..842f840473 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_4_1_1.eprime @@ -0,0 +1,40 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find x_Occurrence: matrix indexed by [int(2..5)] of bool +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_Occurrence: matrix indexed by [int(2..5)] of bool +branching on + [x_Occurrence, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, y_Occurrence, + y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values] +such that + and([q16 <= x_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithFlags_Flags[q17] -> + x_ExplicitVarSizeWithMarker_Values[q16] + 2 = y_ExplicitVarSizeWithFlags_Values[q17] + | q16 : int(1..4), q17 : int(1..4)]), + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..3)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 2 | q2 : int(1..4)]), + 1 <= x_ExplicitVarSizeWithMarker_Marker, + and([y_ExplicitVarSizeWithFlags_Flags[q4 + 1] -> + y_ExplicitVarSizeWithFlags_Values[q4] < y_ExplicitVarSizeWithFlags_Values[q4 + 1] + | q4 : int(1..3)]), + and([y_ExplicitVarSizeWithFlags_Flags[q5] = false -> y_ExplicitVarSizeWithFlags_Values[q5] = 2 | q5 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q6 + 1] -> y_ExplicitVarSizeWithFlags_Flags[q6] | q6 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithFlags_Flags[q7]) | q7 : int(1..4)]), + 1 <= sum([toInt(x_Occurrence[q9]) | q9 : int(2..5)]), + and([x_Occurrence[q18] -> + or([q20 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q20] = q18 + | q20 : int(1..4)]) + | q18 : int(2..5)]), + and([q22 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q22]] + | q22 : int(1..4)]), + 1 <= sum([toInt(y_Occurrence[q10]) | q10 : int(2..5)]), + and([y_Occurrence[q11] -> + or([y_ExplicitVarSizeWithFlags_Flags[q13] /\ y_ExplicitVarSizeWithFlags_Values[q13] = q11 | q13 : int(1..4)]) + | q11 : int(2..5)]), + and([y_ExplicitVarSizeWithFlags_Flags[q15] -> y_Occurrence[y_ExplicitVarSizeWithFlags_Values[q15]] + | q15 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_3_4_1_2-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_3_4_1_2-solution000001.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_4_1_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_3_4_1_2-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_3_4_1_2-solution000002.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_4_1_2-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_3_4_1_2.eprime b/tests/exhaustive/basic/set09/expected/model_3_4_1_2.eprime new file mode 100644 index 0000000000..5d8608bb70 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_4_1_2.eprime @@ -0,0 +1,48 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find x_Occurrence: matrix indexed by [int(2..5)] of bool +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +branching on + [x_Occurrence, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, y_ExplicitVarSizeWithDummy, + y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values] +such that + and([q27 <= x_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithFlags_Flags[q28] -> + x_ExplicitVarSizeWithMarker_Values[q27] + 2 = y_ExplicitVarSizeWithFlags_Values[q28] + | q27 : int(1..4), q28 : int(1..4)]), + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..3)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 2 | q2 : int(1..4)]), + 1 <= x_ExplicitVarSizeWithMarker_Marker, + and([y_ExplicitVarSizeWithFlags_Flags[q4 + 1] -> + y_ExplicitVarSizeWithFlags_Values[q4] < y_ExplicitVarSizeWithFlags_Values[q4 + 1] + | q4 : int(1..3)]), + and([y_ExplicitVarSizeWithFlags_Flags[q5] = false -> y_ExplicitVarSizeWithFlags_Values[q5] = 2 | q5 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q6 + 1] -> y_ExplicitVarSizeWithFlags_Flags[q6] | q6 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithFlags_Flags[q7]) | q7 : int(1..4)]), + 1 <= sum([toInt(x_Occurrence[q9]) | q9 : int(2..5)]), + and([x_Occurrence[q22] -> + or([q24 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q24] = q22 + | q24 : int(1..4)]) + | q22 : int(2..5)]), + and([q26 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q26]] + | q26 : int(1..4)]), + and([y_ExplicitVarSizeWithDummy[q10] < y_ExplicitVarSizeWithDummy[q10 + 1] \/ y_ExplicitVarSizeWithDummy[q10] = 6 + | q10 : int(1..3)]), + and([y_ExplicitVarSizeWithDummy[q11] = 6 -> y_ExplicitVarSizeWithDummy[q11 + 1] = 6 | q11 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithDummy[q12] != 6) | q12 : int(1..4)]), + and([y_ExplicitVarSizeWithDummy[q15] != 6 -> + or([y_ExplicitVarSizeWithFlags_Flags[q17] /\ + y_ExplicitVarSizeWithFlags_Values[q17] = y_ExplicitVarSizeWithDummy[q15] + | q17 : int(1..4)]) + | q15 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q19] -> + or([y_ExplicitVarSizeWithDummy[q21] != 6 /\ + y_ExplicitVarSizeWithDummy[q21] = y_ExplicitVarSizeWithFlags_Values[q19] + | q21 : int(1..4)]) + | q19 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_3_4_1_3-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_3_4_1_3-solution000001.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_4_1_3-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_3_4_1_3-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_3_4_1_3-solution000002.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_4_1_3-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_3_4_1_3.eprime b/tests/exhaustive/basic/set09/expected/model_3_4_1_3.eprime new file mode 100644 index 0000000000..0920bc13d0 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_4_1_3.eprime @@ -0,0 +1,51 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find x_Occurrence: matrix indexed by [int(2..5)] of bool +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithMarker_Marker: int(0..4) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +branching on + [x_Occurrence, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, + y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values, y_ExplicitVarSizeWithFlags_Flags, + y_ExplicitVarSizeWithFlags_Values] +such that + and([q26 <= x_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithFlags_Flags[q27] -> + x_ExplicitVarSizeWithMarker_Values[q26] + 2 = y_ExplicitVarSizeWithFlags_Values[q27] + | q26 : int(1..4), q27 : int(1..4)]), + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..3)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 2 | q2 : int(1..4)]), + 1 <= x_ExplicitVarSizeWithMarker_Marker, + and([y_ExplicitVarSizeWithFlags_Flags[q4 + 1] -> + y_ExplicitVarSizeWithFlags_Values[q4] < y_ExplicitVarSizeWithFlags_Values[q4 + 1] + | q4 : int(1..3)]), + and([y_ExplicitVarSizeWithFlags_Flags[q5] = false -> y_ExplicitVarSizeWithFlags_Values[q5] = 2 | q5 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q6 + 1] -> y_ExplicitVarSizeWithFlags_Flags[q6] | q6 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithFlags_Flags[q7]) | q7 : int(1..4)]), + 1 <= sum([toInt(x_Occurrence[q9]) | q9 : int(2..5)]), + and([x_Occurrence[q21] -> + or([q23 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q23] = q21 + | q23 : int(1..4)]) + | q21 : int(2..5)]), + and([q25 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q25]] + | q25 : int(1..4)]), + and([q10 + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithMarker_Values[q10] < y_ExplicitVarSizeWithMarker_Values[q10 + 1] + | q10 : int(1..3)]), + and([q11 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[q11] = 2 | q11 : int(1..4)]), + 1 <= y_ExplicitVarSizeWithMarker_Marker, + and([q14 <= y_ExplicitVarSizeWithMarker_Marker -> + or([y_ExplicitVarSizeWithFlags_Flags[q16] /\ + y_ExplicitVarSizeWithFlags_Values[q16] = y_ExplicitVarSizeWithMarker_Values[q14] + | q16 : int(1..4)]) + | q14 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q18] -> + or([q20 <= y_ExplicitVarSizeWithMarker_Marker /\ + y_ExplicitVarSizeWithMarker_Values[q20] = y_ExplicitVarSizeWithFlags_Values[q18] + | q20 : int(1..4)]) + | q18 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_3_4_1_4-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_3_4_1_4-solution000001.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_4_1_4-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_3_4_1_4-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_3_4_1_4-solution000002.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_4_1_4-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_3_4_1_4.eprime b/tests/exhaustive/basic/set09/expected/model_3_4_1_4.eprime new file mode 100644 index 0000000000..7ce0db61d8 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_4_1_4.eprime @@ -0,0 +1,33 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find x_Occurrence: matrix indexed by [int(2..5)] of bool +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +branching on + [x_Occurrence, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, + y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values] +such that + and([q15 <= x_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithFlags_Flags[q16] -> + x_ExplicitVarSizeWithMarker_Values[q15] + 2 = y_ExplicitVarSizeWithFlags_Values[q16] + | q15 : int(1..4), q16 : int(1..4)]), + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..3)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 2 | q2 : int(1..4)]), + 1 <= x_ExplicitVarSizeWithMarker_Marker, + and([y_ExplicitVarSizeWithFlags_Flags[q4 + 1] -> + y_ExplicitVarSizeWithFlags_Values[q4] < y_ExplicitVarSizeWithFlags_Values[q4 + 1] + | q4 : int(1..3)]), + and([y_ExplicitVarSizeWithFlags_Flags[q5] = false -> y_ExplicitVarSizeWithFlags_Values[q5] = 2 | q5 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q6 + 1] -> y_ExplicitVarSizeWithFlags_Flags[q6] | q6 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithFlags_Flags[q7]) | q7 : int(1..4)]), + 1 <= sum([toInt(x_Occurrence[q9]) | q9 : int(2..5)]), + and([x_Occurrence[q10] -> + or([q12 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[q12] = q10 + | q12 : int(1..4)]) + | q10 : int(2..5)]), + and([q14 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[q14]] + | q14 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_3_4_2_1-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_3_4_2_1-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_4_2_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_3_4_2_1-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_3_4_2_1-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_4_2_1-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_3_4_2_1.eprime b/tests/exhaustive/basic/set09/expected/model_3_4_2_1.eprime new file mode 100644 index 0000000000..61f44c9622 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_4_2_1.eprime @@ -0,0 +1,47 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_Occurrence: matrix indexed by [int(2..5)] of bool +branching on + [x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, y_Occurrence, + y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values] +such that + and([q27 <= x_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithFlags_Flags[q28] -> + x_ExplicitVarSizeWithMarker_Values[q27] + 2 = y_ExplicitVarSizeWithFlags_Values[q28] + | q27 : int(1..4), q28 : int(1..4)]), + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..3)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 2 | q2 : int(1..4)]), + 1 <= x_ExplicitVarSizeWithMarker_Marker, + and([y_ExplicitVarSizeWithFlags_Flags[q4 + 1] -> + y_ExplicitVarSizeWithFlags_Values[q4] < y_ExplicitVarSizeWithFlags_Values[q4 + 1] + | q4 : int(1..3)]), + and([y_ExplicitVarSizeWithFlags_Flags[q5] = false -> y_ExplicitVarSizeWithFlags_Values[q5] = 2 | q5 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q6 + 1] -> y_ExplicitVarSizeWithFlags_Flags[q6] | q6 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithFlags_Flags[q7]) | q7 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q9] < x_ExplicitVarSizeWithDummy[q9 + 1] \/ x_ExplicitVarSizeWithDummy[q9] = 6 + | q9 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q10] = 6 -> x_ExplicitVarSizeWithDummy[q10 + 1] = 6 | q10 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithDummy[q11] != 6) | q11 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q14] != 6 -> + or([q16 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q16] = x_ExplicitVarSizeWithDummy[q14] + | q16 : int(1..4)]) + | q14 : int(1..4)]), + and([q18 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q20] != 6 /\ + x_ExplicitVarSizeWithDummy[q20] = x_ExplicitVarSizeWithMarker_Values[q18] + | q20 : int(1..4)]) + | q18 : int(1..4)]), + 1 <= sum([toInt(y_Occurrence[q21]) | q21 : int(2..5)]), + and([y_Occurrence[q22] -> + or([y_ExplicitVarSizeWithFlags_Flags[q24] /\ y_ExplicitVarSizeWithFlags_Values[q24] = q22 | q24 : int(1..4)]) + | q22 : int(2..5)]), + and([y_ExplicitVarSizeWithFlags_Flags[q26] -> y_Occurrence[y_ExplicitVarSizeWithFlags_Values[q26]] + | q26 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_3_4_2_2-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_3_4_2_2-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_4_2_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_3_4_2_2-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_3_4_2_2-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_4_2_2-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_3_4_2_2.eprime b/tests/exhaustive/basic/set09/expected/model_3_4_2_2.eprime new file mode 100644 index 0000000000..0fed7c779e --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_4_2_2.eprime @@ -0,0 +1,55 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +branching on + [x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, + y_ExplicitVarSizeWithDummy, y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values] +such that + and([q33 <= x_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithFlags_Flags[q34] -> + x_ExplicitVarSizeWithMarker_Values[q33] + 2 = y_ExplicitVarSizeWithFlags_Values[q34] + | q33 : int(1..4), q34 : int(1..4)]), + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..3)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 2 | q2 : int(1..4)]), + 1 <= x_ExplicitVarSizeWithMarker_Marker, + and([y_ExplicitVarSizeWithFlags_Flags[q4 + 1] -> + y_ExplicitVarSizeWithFlags_Values[q4] < y_ExplicitVarSizeWithFlags_Values[q4 + 1] + | q4 : int(1..3)]), + and([y_ExplicitVarSizeWithFlags_Flags[q5] = false -> y_ExplicitVarSizeWithFlags_Values[q5] = 2 | q5 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q6 + 1] -> y_ExplicitVarSizeWithFlags_Flags[q6] | q6 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithFlags_Flags[q7]) | q7 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q9] < x_ExplicitVarSizeWithDummy[q9 + 1] \/ x_ExplicitVarSizeWithDummy[q9] = 6 + | q9 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q10] = 6 -> x_ExplicitVarSizeWithDummy[q10 + 1] = 6 | q10 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithDummy[q11] != 6) | q11 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q14] != 6 -> + or([q16 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q16] = x_ExplicitVarSizeWithDummy[q14] + | q16 : int(1..4)]) + | q14 : int(1..4)]), + and([q18 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q20] != 6 /\ + x_ExplicitVarSizeWithDummy[q20] = x_ExplicitVarSizeWithMarker_Values[q18] + | q20 : int(1..4)]) + | q18 : int(1..4)]), + and([y_ExplicitVarSizeWithDummy[q21] < y_ExplicitVarSizeWithDummy[q21 + 1] \/ y_ExplicitVarSizeWithDummy[q21] = 6 + | q21 : int(1..3)]), + and([y_ExplicitVarSizeWithDummy[q22] = 6 -> y_ExplicitVarSizeWithDummy[q22 + 1] = 6 | q22 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithDummy[q23] != 6) | q23 : int(1..4)]), + and([y_ExplicitVarSizeWithDummy[q26] != 6 -> + or([y_ExplicitVarSizeWithFlags_Flags[q28] /\ + y_ExplicitVarSizeWithFlags_Values[q28] = y_ExplicitVarSizeWithDummy[q26] + | q28 : int(1..4)]) + | q26 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q30] -> + or([y_ExplicitVarSizeWithDummy[q32] != 6 /\ + y_ExplicitVarSizeWithDummy[q32] = y_ExplicitVarSizeWithFlags_Values[q30] + | q32 : int(1..4)]) + | q30 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_3_4_2_3-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_3_4_2_3-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_4_2_3-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_3_4_2_3-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_3_4_2_3-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_4_2_3-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_3_4_2_3.eprime b/tests/exhaustive/basic/set09/expected/model_3_4_2_3.eprime new file mode 100644 index 0000000000..0a78494f0e --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_4_2_3.eprime @@ -0,0 +1,58 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithMarker_Marker: int(0..4) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +branching on + [x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, + y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values, y_ExplicitVarSizeWithFlags_Flags, + y_ExplicitVarSizeWithFlags_Values] +such that + and([q32 <= x_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithFlags_Flags[q33] -> + x_ExplicitVarSizeWithMarker_Values[q32] + 2 = y_ExplicitVarSizeWithFlags_Values[q33] + | q32 : int(1..4), q33 : int(1..4)]), + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..3)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 2 | q2 : int(1..4)]), + 1 <= x_ExplicitVarSizeWithMarker_Marker, + and([y_ExplicitVarSizeWithFlags_Flags[q4 + 1] -> + y_ExplicitVarSizeWithFlags_Values[q4] < y_ExplicitVarSizeWithFlags_Values[q4 + 1] + | q4 : int(1..3)]), + and([y_ExplicitVarSizeWithFlags_Flags[q5] = false -> y_ExplicitVarSizeWithFlags_Values[q5] = 2 | q5 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q6 + 1] -> y_ExplicitVarSizeWithFlags_Flags[q6] | q6 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithFlags_Flags[q7]) | q7 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q9] < x_ExplicitVarSizeWithDummy[q9 + 1] \/ x_ExplicitVarSizeWithDummy[q9] = 6 + | q9 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q10] = 6 -> x_ExplicitVarSizeWithDummy[q10 + 1] = 6 | q10 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithDummy[q11] != 6) | q11 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q14] != 6 -> + or([q16 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q16] = x_ExplicitVarSizeWithDummy[q14] + | q16 : int(1..4)]) + | q14 : int(1..4)]), + and([q18 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q20] != 6 /\ + x_ExplicitVarSizeWithDummy[q20] = x_ExplicitVarSizeWithMarker_Values[q18] + | q20 : int(1..4)]) + | q18 : int(1..4)]), + and([q21 + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithMarker_Values[q21] < y_ExplicitVarSizeWithMarker_Values[q21 + 1] + | q21 : int(1..3)]), + and([q22 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[q22] = 2 | q22 : int(1..4)]), + 1 <= y_ExplicitVarSizeWithMarker_Marker, + and([q25 <= y_ExplicitVarSizeWithMarker_Marker -> + or([y_ExplicitVarSizeWithFlags_Flags[q27] /\ + y_ExplicitVarSizeWithFlags_Values[q27] = y_ExplicitVarSizeWithMarker_Values[q25] + | q27 : int(1..4)]) + | q25 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q29] -> + or([q31 <= y_ExplicitVarSizeWithMarker_Marker /\ + y_ExplicitVarSizeWithMarker_Values[q31] = y_ExplicitVarSizeWithFlags_Values[q29] + | q31 : int(1..4)]) + | q29 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_3_4_2_4-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_3_4_2_4-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_4_2_4-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_3_4_2_4-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_3_4_2_4-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_4_2_4-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_3_4_2_4.eprime b/tests/exhaustive/basic/set09/expected/model_3_4_2_4.eprime new file mode 100644 index 0000000000..e10ef03824 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_4_2_4.eprime @@ -0,0 +1,40 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +branching on + [x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, + y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values] +such that + and([q21 <= x_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithFlags_Flags[q22] -> + x_ExplicitVarSizeWithMarker_Values[q21] + 2 = y_ExplicitVarSizeWithFlags_Values[q22] + | q21 : int(1..4), q22 : int(1..4)]), + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..3)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 2 | q2 : int(1..4)]), + 1 <= x_ExplicitVarSizeWithMarker_Marker, + and([y_ExplicitVarSizeWithFlags_Flags[q4 + 1] -> + y_ExplicitVarSizeWithFlags_Values[q4] < y_ExplicitVarSizeWithFlags_Values[q4 + 1] + | q4 : int(1..3)]), + and([y_ExplicitVarSizeWithFlags_Flags[q5] = false -> y_ExplicitVarSizeWithFlags_Values[q5] = 2 | q5 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q6 + 1] -> y_ExplicitVarSizeWithFlags_Flags[q6] | q6 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithFlags_Flags[q7]) | q7 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q9] < x_ExplicitVarSizeWithDummy[q9 + 1] \/ x_ExplicitVarSizeWithDummy[q9] = 6 + | q9 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q10] = 6 -> x_ExplicitVarSizeWithDummy[q10 + 1] = 6 | q10 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithDummy[q11] != 6) | q11 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q14] != 6 -> + or([q16 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q16] = x_ExplicitVarSizeWithDummy[q14] + | q16 : int(1..4)]) + | q14 : int(1..4)]), + and([q18 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithDummy[q20] != 6 /\ + x_ExplicitVarSizeWithDummy[q20] = x_ExplicitVarSizeWithMarker_Values[q18] + | q20 : int(1..4)]) + | q18 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_3_4_3_1-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_3_4_3_1-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_4_3_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_3_4_3_1-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_3_4_3_1-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_4_3_1-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_3_4_3_1.eprime b/tests/exhaustive/basic/set09/expected/model_3_4_3_1.eprime new file mode 100644 index 0000000000..d7781435b7 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_4_3_1.eprime @@ -0,0 +1,32 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_Occurrence: matrix indexed by [int(2..5)] of bool +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, y_Occurrence, + y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values] +such that + and([q15 <= x_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithFlags_Flags[q16] -> + x_ExplicitVarSizeWithMarker_Values[q15] + 2 = y_ExplicitVarSizeWithFlags_Values[q16] + | q15 : int(1..4), q16 : int(1..4)]), + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..3)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 2 | q2 : int(1..4)]), + 1 <= x_ExplicitVarSizeWithMarker_Marker, + and([y_ExplicitVarSizeWithFlags_Flags[q4 + 1] -> + y_ExplicitVarSizeWithFlags_Values[q4] < y_ExplicitVarSizeWithFlags_Values[q4 + 1] + | q4 : int(1..3)]), + and([y_ExplicitVarSizeWithFlags_Flags[q5] = false -> y_ExplicitVarSizeWithFlags_Values[q5] = 2 | q5 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q6 + 1] -> y_ExplicitVarSizeWithFlags_Flags[q6] | q6 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithFlags_Flags[q7]) | q7 : int(1..4)]), + 1 <= sum([toInt(y_Occurrence[q9]) | q9 : int(2..5)]), + and([y_Occurrence[q10] -> + or([y_ExplicitVarSizeWithFlags_Flags[q12] /\ y_ExplicitVarSizeWithFlags_Values[q12] = q10 | q12 : int(1..4)]) + | q10 : int(2..5)]), + and([y_ExplicitVarSizeWithFlags_Flags[q14] -> y_Occurrence[y_ExplicitVarSizeWithFlags_Values[q14]] + | q14 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_3_4_3_2-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_3_4_3_2-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_4_3_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_3_4_3_2-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_3_4_3_2-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_4_3_2-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_3_4_3_2.eprime b/tests/exhaustive/basic/set09/expected/model_3_4_3_2.eprime new file mode 100644 index 0000000000..2ce2ee5eab --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_4_3_2.eprime @@ -0,0 +1,40 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, y_ExplicitVarSizeWithDummy, + y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values] +such that + and([q21 <= x_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithFlags_Flags[q22] -> + x_ExplicitVarSizeWithMarker_Values[q21] + 2 = y_ExplicitVarSizeWithFlags_Values[q22] + | q21 : int(1..4), q22 : int(1..4)]), + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..3)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 2 | q2 : int(1..4)]), + 1 <= x_ExplicitVarSizeWithMarker_Marker, + and([y_ExplicitVarSizeWithFlags_Flags[q4 + 1] -> + y_ExplicitVarSizeWithFlags_Values[q4] < y_ExplicitVarSizeWithFlags_Values[q4 + 1] + | q4 : int(1..3)]), + and([y_ExplicitVarSizeWithFlags_Flags[q5] = false -> y_ExplicitVarSizeWithFlags_Values[q5] = 2 | q5 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q6 + 1] -> y_ExplicitVarSizeWithFlags_Flags[q6] | q6 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithFlags_Flags[q7]) | q7 : int(1..4)]), + and([y_ExplicitVarSizeWithDummy[q9] < y_ExplicitVarSizeWithDummy[q9 + 1] \/ y_ExplicitVarSizeWithDummy[q9] = 6 + | q9 : int(1..3)]), + and([y_ExplicitVarSizeWithDummy[q10] = 6 -> y_ExplicitVarSizeWithDummy[q10 + 1] = 6 | q10 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithDummy[q11] != 6) | q11 : int(1..4)]), + and([y_ExplicitVarSizeWithDummy[q14] != 6 -> + or([y_ExplicitVarSizeWithFlags_Flags[q16] /\ + y_ExplicitVarSizeWithFlags_Values[q16] = y_ExplicitVarSizeWithDummy[q14] + | q16 : int(1..4)]) + | q14 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q18] -> + or([y_ExplicitVarSizeWithDummy[q20] != 6 /\ + y_ExplicitVarSizeWithDummy[q20] = y_ExplicitVarSizeWithFlags_Values[q18] + | q20 : int(1..4)]) + | q18 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_3_4_3_3-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_3_4_3_3-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_4_3_3-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_3_4_3_3-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_3_4_3_3-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_4_3_3-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_3_4_3_3.eprime b/tests/exhaustive/basic/set09/expected/model_3_4_3_3.eprime new file mode 100644 index 0000000000..c121faa238 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_4_3_3.eprime @@ -0,0 +1,42 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithMarker_Marker: int(0..4) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, y_ExplicitVarSizeWithMarker_Marker, + y_ExplicitVarSizeWithMarker_Values, y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values] +such that + and([q20 <= x_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithFlags_Flags[q21] -> + x_ExplicitVarSizeWithMarker_Values[q20] + 2 = y_ExplicitVarSizeWithFlags_Values[q21] + | q20 : int(1..4), q21 : int(1..4)]), + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..3)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 2 | q2 : int(1..4)]), + 1 <= x_ExplicitVarSizeWithMarker_Marker, + and([y_ExplicitVarSizeWithFlags_Flags[q4 + 1] -> + y_ExplicitVarSizeWithFlags_Values[q4] < y_ExplicitVarSizeWithFlags_Values[q4 + 1] + | q4 : int(1..3)]), + and([y_ExplicitVarSizeWithFlags_Flags[q5] = false -> y_ExplicitVarSizeWithFlags_Values[q5] = 2 | q5 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q6 + 1] -> y_ExplicitVarSizeWithFlags_Flags[q6] | q6 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithFlags_Flags[q7]) | q7 : int(1..4)]), + and([q9 + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithMarker_Values[q9] < y_ExplicitVarSizeWithMarker_Values[q9 + 1] + | q9 : int(1..3)]), + and([q10 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[q10] = 2 | q10 : int(1..4)]), + 1 <= y_ExplicitVarSizeWithMarker_Marker, + and([q13 <= y_ExplicitVarSizeWithMarker_Marker -> + or([y_ExplicitVarSizeWithFlags_Flags[q15] /\ + y_ExplicitVarSizeWithFlags_Values[q15] = y_ExplicitVarSizeWithMarker_Values[q13] + | q15 : int(1..4)]) + | q13 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q17] -> + or([q19 <= y_ExplicitVarSizeWithMarker_Marker /\ + y_ExplicitVarSizeWithMarker_Values[q19] = y_ExplicitVarSizeWithFlags_Values[q17] + | q19 : int(1..4)]) + | q17 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_3_4_3_4-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_3_4_3_4-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_4_3_4-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_3_4_3_4-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_3_4_3_4-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_4_3_4-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_3_4_3_4.eprime b/tests/exhaustive/basic/set09/expected/model_3_4_3_4.eprime new file mode 100644 index 0000000000..ca62bca40e --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_4_3_4.eprime @@ -0,0 +1,25 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, y_ExplicitVarSizeWithFlags_Flags, + y_ExplicitVarSizeWithFlags_Values] +such that + and([q9 <= x_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithFlags_Flags[q10] -> + x_ExplicitVarSizeWithMarker_Values[q9] + 2 = y_ExplicitVarSizeWithFlags_Values[q10] + | q9 : int(1..4), q10 : int(1..4)]), + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..3)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 2 | q2 : int(1..4)]), + 1 <= x_ExplicitVarSizeWithMarker_Marker, + and([y_ExplicitVarSizeWithFlags_Flags[q4 + 1] -> + y_ExplicitVarSizeWithFlags_Values[q4] < y_ExplicitVarSizeWithFlags_Values[q4 + 1] + | q4 : int(1..3)]), + and([y_ExplicitVarSizeWithFlags_Flags[q5] = false -> y_ExplicitVarSizeWithFlags_Values[q5] = 2 | q5 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q6 + 1] -> y_ExplicitVarSizeWithFlags_Flags[q6] | q6 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithFlags_Flags[q7]) | q7 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_3_4_4_1-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_3_4_4_1-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_4_4_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_3_4_4_1-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_3_4_4_1-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_4_4_1-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_3_4_4_1.eprime b/tests/exhaustive/basic/set09/expected/model_3_4_4_1.eprime new file mode 100644 index 0000000000..196b11abfb --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_4_4_1.eprime @@ -0,0 +1,52 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_Occurrence: matrix indexed by [int(2..5)] of bool +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_ExplicitVarSizeWithMarker_Marker, + x_ExplicitVarSizeWithMarker_Values, y_Occurrence, y_ExplicitVarSizeWithFlags_Flags, + y_ExplicitVarSizeWithFlags_Values] +such that + and([q28 <= x_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithFlags_Flags[q29] -> + x_ExplicitVarSizeWithMarker_Values[q28] + 2 = y_ExplicitVarSizeWithFlags_Values[q29] + | q28 : int(1..4), q29 : int(1..4)]), + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..3)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 2 | q2 : int(1..4)]), + 1 <= x_ExplicitVarSizeWithMarker_Marker, + and([y_ExplicitVarSizeWithFlags_Flags[q4 + 1] -> + y_ExplicitVarSizeWithFlags_Values[q4] < y_ExplicitVarSizeWithFlags_Values[q4 + 1] + | q4 : int(1..3)]), + and([y_ExplicitVarSizeWithFlags_Flags[q5] = false -> y_ExplicitVarSizeWithFlags_Values[q5] = 2 | q5 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q6 + 1] -> y_ExplicitVarSizeWithFlags_Flags[q6] | q6 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithFlags_Flags[q7]) | q7 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q9 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q9] < x_ExplicitVarSizeWithFlags_Values[q9 + 1] + | q9 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q10] = false -> x_ExplicitVarSizeWithFlags_Values[q10] = 2 + | q10 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q11 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q11] | q11 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q12]) | q12 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q15] -> + or([q17 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q17] = x_ExplicitVarSizeWithFlags_Values[q15] + | q17 : int(1..4)]) + | q15 : int(1..4)]), + and([q19 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q21] /\ + x_ExplicitVarSizeWithFlags_Values[q21] = x_ExplicitVarSizeWithMarker_Values[q19] + | q21 : int(1..4)]) + | q19 : int(1..4)]), + 1 <= sum([toInt(y_Occurrence[q22]) | q22 : int(2..5)]), + and([y_Occurrence[q23] -> + or([y_ExplicitVarSizeWithFlags_Flags[q25] /\ y_ExplicitVarSizeWithFlags_Values[q25] = q23 | q25 : int(1..4)]) + | q23 : int(2..5)]), + and([y_ExplicitVarSizeWithFlags_Flags[q27] -> y_Occurrence[y_ExplicitVarSizeWithFlags_Values[q27]] + | q27 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_3_4_4_2-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_3_4_4_2-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_4_4_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_3_4_4_2-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_3_4_4_2-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_4_4_2-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_3_4_4_2.eprime b/tests/exhaustive/basic/set09/expected/model_3_4_4_2.eprime new file mode 100644 index 0000000000..fe5ba424a2 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_4_4_2.eprime @@ -0,0 +1,60 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_ExplicitVarSizeWithMarker_Marker, + x_ExplicitVarSizeWithMarker_Values, y_ExplicitVarSizeWithDummy, y_ExplicitVarSizeWithFlags_Flags, + y_ExplicitVarSizeWithFlags_Values] +such that + and([q34 <= x_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithFlags_Flags[q35] -> + x_ExplicitVarSizeWithMarker_Values[q34] + 2 = y_ExplicitVarSizeWithFlags_Values[q35] + | q34 : int(1..4), q35 : int(1..4)]), + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..3)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 2 | q2 : int(1..4)]), + 1 <= x_ExplicitVarSizeWithMarker_Marker, + and([y_ExplicitVarSizeWithFlags_Flags[q4 + 1] -> + y_ExplicitVarSizeWithFlags_Values[q4] < y_ExplicitVarSizeWithFlags_Values[q4 + 1] + | q4 : int(1..3)]), + and([y_ExplicitVarSizeWithFlags_Flags[q5] = false -> y_ExplicitVarSizeWithFlags_Values[q5] = 2 | q5 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q6 + 1] -> y_ExplicitVarSizeWithFlags_Flags[q6] | q6 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithFlags_Flags[q7]) | q7 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q9 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q9] < x_ExplicitVarSizeWithFlags_Values[q9 + 1] + | q9 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q10] = false -> x_ExplicitVarSizeWithFlags_Values[q10] = 2 + | q10 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q11 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q11] | q11 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q12]) | q12 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q15] -> + or([q17 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q17] = x_ExplicitVarSizeWithFlags_Values[q15] + | q17 : int(1..4)]) + | q15 : int(1..4)]), + and([q19 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q21] /\ + x_ExplicitVarSizeWithFlags_Values[q21] = x_ExplicitVarSizeWithMarker_Values[q19] + | q21 : int(1..4)]) + | q19 : int(1..4)]), + and([y_ExplicitVarSizeWithDummy[q22] < y_ExplicitVarSizeWithDummy[q22 + 1] \/ y_ExplicitVarSizeWithDummy[q22] = 6 + | q22 : int(1..3)]), + and([y_ExplicitVarSizeWithDummy[q23] = 6 -> y_ExplicitVarSizeWithDummy[q23 + 1] = 6 | q23 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithDummy[q24] != 6) | q24 : int(1..4)]), + and([y_ExplicitVarSizeWithDummy[q27] != 6 -> + or([y_ExplicitVarSizeWithFlags_Flags[q29] /\ + y_ExplicitVarSizeWithFlags_Values[q29] = y_ExplicitVarSizeWithDummy[q27] + | q29 : int(1..4)]) + | q27 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q31] -> + or([y_ExplicitVarSizeWithDummy[q33] != 6 /\ + y_ExplicitVarSizeWithDummy[q33] = y_ExplicitVarSizeWithFlags_Values[q31] + | q33 : int(1..4)]) + | q31 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_3_4_4_3-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_3_4_4_3-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_4_4_3-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_3_4_4_3-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_3_4_4_3-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_4_4_3-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_3_4_4_3.eprime b/tests/exhaustive/basic/set09/expected/model_3_4_4_3.eprime new file mode 100644 index 0000000000..6761996efd --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_4_4_3.eprime @@ -0,0 +1,62 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithMarker_Marker: int(0..4) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_ExplicitVarSizeWithMarker_Marker, + x_ExplicitVarSizeWithMarker_Values, y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values, + y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values] +such that + and([q33 <= x_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithFlags_Flags[q34] -> + x_ExplicitVarSizeWithMarker_Values[q33] + 2 = y_ExplicitVarSizeWithFlags_Values[q34] + | q33 : int(1..4), q34 : int(1..4)]), + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..3)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 2 | q2 : int(1..4)]), + 1 <= x_ExplicitVarSizeWithMarker_Marker, + and([y_ExplicitVarSizeWithFlags_Flags[q4 + 1] -> + y_ExplicitVarSizeWithFlags_Values[q4] < y_ExplicitVarSizeWithFlags_Values[q4 + 1] + | q4 : int(1..3)]), + and([y_ExplicitVarSizeWithFlags_Flags[q5] = false -> y_ExplicitVarSizeWithFlags_Values[q5] = 2 | q5 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q6 + 1] -> y_ExplicitVarSizeWithFlags_Flags[q6] | q6 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithFlags_Flags[q7]) | q7 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q9 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q9] < x_ExplicitVarSizeWithFlags_Values[q9 + 1] + | q9 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q10] = false -> x_ExplicitVarSizeWithFlags_Values[q10] = 2 + | q10 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q11 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q11] | q11 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q12]) | q12 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q15] -> + or([q17 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q17] = x_ExplicitVarSizeWithFlags_Values[q15] + | q17 : int(1..4)]) + | q15 : int(1..4)]), + and([q19 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q21] /\ + x_ExplicitVarSizeWithFlags_Values[q21] = x_ExplicitVarSizeWithMarker_Values[q19] + | q21 : int(1..4)]) + | q19 : int(1..4)]), + and([q22 + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithMarker_Values[q22] < y_ExplicitVarSizeWithMarker_Values[q22 + 1] + | q22 : int(1..3)]), + and([q23 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[q23] = 2 | q23 : int(1..4)]), + 1 <= y_ExplicitVarSizeWithMarker_Marker, + and([q26 <= y_ExplicitVarSizeWithMarker_Marker -> + or([y_ExplicitVarSizeWithFlags_Flags[q28] /\ + y_ExplicitVarSizeWithFlags_Values[q28] = y_ExplicitVarSizeWithMarker_Values[q26] + | q28 : int(1..4)]) + | q26 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q30] -> + or([q32 <= y_ExplicitVarSizeWithMarker_Marker /\ + y_ExplicitVarSizeWithMarker_Values[q32] = y_ExplicitVarSizeWithFlags_Values[q30] + | q32 : int(1..4)]) + | q30 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_3_4_4_4-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_3_4_4_4-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_4_4_4-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_3_4_4_4-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_3_4_4_4-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_4_4_4-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_3_4_4_4.eprime b/tests/exhaustive/basic/set09/expected/model_3_4_4_4.eprime new file mode 100644 index 0000000000..647b4c3d5f --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_3_4_4_4.eprime @@ -0,0 +1,44 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_ExplicitVarSizeWithMarker_Marker, + x_ExplicitVarSizeWithMarker_Values, y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values] +such that + and([q22 <= x_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithFlags_Flags[q23] -> + x_ExplicitVarSizeWithMarker_Values[q22] + 2 = y_ExplicitVarSizeWithFlags_Values[q23] + | q22 : int(1..4), q23 : int(1..4)]), + and([q1 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q1] < x_ExplicitVarSizeWithMarker_Values[q1 + 1] + | q1 : int(1..3)]), + and([q2 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q2] = 2 | q2 : int(1..4)]), + 1 <= x_ExplicitVarSizeWithMarker_Marker, + and([y_ExplicitVarSizeWithFlags_Flags[q4 + 1] -> + y_ExplicitVarSizeWithFlags_Values[q4] < y_ExplicitVarSizeWithFlags_Values[q4 + 1] + | q4 : int(1..3)]), + and([y_ExplicitVarSizeWithFlags_Flags[q5] = false -> y_ExplicitVarSizeWithFlags_Values[q5] = 2 | q5 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q6 + 1] -> y_ExplicitVarSizeWithFlags_Flags[q6] | q6 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithFlags_Flags[q7]) | q7 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q9 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q9] < x_ExplicitVarSizeWithFlags_Values[q9 + 1] + | q9 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q10] = false -> x_ExplicitVarSizeWithFlags_Values[q10] = 2 + | q10 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q11 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q11] | q11 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q12]) | q12 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q15] -> + or([q17 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q17] = x_ExplicitVarSizeWithFlags_Values[q15] + | q17 : int(1..4)]) + | q15 : int(1..4)]), + and([q19 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q21] /\ + x_ExplicitVarSizeWithFlags_Values[q21] = x_ExplicitVarSizeWithMarker_Values[q19] + | q21 : int(1..4)]) + | q19 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_4_1_1_1-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_4_1_1_1-solution000001.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_1_1_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_4_1_1_1-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_4_1_1_1-solution000002.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_1_1_1-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_4_1_1_1.eprime b/tests/exhaustive/basic/set09/expected/model_4_1_1_1.eprime new file mode 100644 index 0000000000..3b3dd72895 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_1_1_1.eprime @@ -0,0 +1,24 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find x_Occurrence: matrix indexed by [int(2..5)] of bool +find y_Occurrence: matrix indexed by [int(2..5)] of bool +branching on [x_Occurrence, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, y_Occurrence] +such that + and([x_ExplicitVarSizeWithFlags_Flags[q13] /\ y_Occurrence[j] -> x_ExplicitVarSizeWithFlags_Values[q13] + 2 = j + | q13 : int(1..4), j : int(2..5)]), + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 2 | q2 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q4]) | q4 : int(1..4)]), + 1 <= sum([toInt(y_Occurrence[q6]) | q6 : int(2..5)]), + 1 <= sum([toInt(x_Occurrence[q7]) | q7 : int(2..5)]), + and([x_Occurrence[q8] -> + or([x_ExplicitVarSizeWithFlags_Flags[q10] /\ x_ExplicitVarSizeWithFlags_Values[q10] = q8 | q10 : int(1..4)]) + | q8 : int(2..5)]), + and([x_ExplicitVarSizeWithFlags_Flags[q12] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q12]] + | q12 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_4_1_1_2-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_4_1_1_2-solution000001.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_1_1_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_4_1_1_2-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_4_1_1_2-solution000002.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_1_1_2-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_4_1_1_2.eprime b/tests/exhaustive/basic/set09/expected/model_4_1_1_2.eprime new file mode 100644 index 0000000000..c7b6641b99 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_1_1_2.eprime @@ -0,0 +1,35 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find x_Occurrence: matrix indexed by [int(2..5)] of bool +find y_Occurrence: matrix indexed by [int(2..5)] of bool +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +branching on + [x_Occurrence, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, y_ExplicitVarSizeWithDummy, + y_Occurrence] +such that + and([x_ExplicitVarSizeWithFlags_Flags[q22] /\ y_Occurrence[j] -> x_ExplicitVarSizeWithFlags_Values[q22] + 2 = j + | q22 : int(1..4), j : int(2..5)]), + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 2 | q2 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q4]) | q4 : int(1..4)]), + 1 <= sum([toInt(y_Occurrence[q6]) | q6 : int(2..5)]), + 1 <= sum([toInt(x_Occurrence[q7]) | q7 : int(2..5)]), + and([x_Occurrence[q17] -> + or([x_ExplicitVarSizeWithFlags_Flags[q19] /\ x_ExplicitVarSizeWithFlags_Values[q19] = q17 | q19 : int(1..4)]) + | q17 : int(2..5)]), + and([x_ExplicitVarSizeWithFlags_Flags[q21] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q21]] + | q21 : int(1..4)]), + and([y_ExplicitVarSizeWithDummy[q8] < y_ExplicitVarSizeWithDummy[q8 + 1] \/ y_ExplicitVarSizeWithDummy[q8] = 6 + | q8 : int(1..3)]), + and([y_ExplicitVarSizeWithDummy[q9] = 6 -> y_ExplicitVarSizeWithDummy[q9 + 1] = 6 | q9 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithDummy[q10] != 6) | q10 : int(1..4)]), + and([y_ExplicitVarSizeWithDummy[q13] != 6 -> y_Occurrence[y_ExplicitVarSizeWithDummy[q13]] | q13 : int(1..4)]), + and([y_Occurrence[q14] -> + or([y_ExplicitVarSizeWithDummy[q16] != 6 /\ y_ExplicitVarSizeWithDummy[q16] = q14 | q16 : int(1..4)]) + | q14 : int(2..5)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_4_1_1_3-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_4_1_1_3-solution000001.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_1_1_3-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_4_1_1_3-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_4_1_1_3-solution000002.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_1_1_3-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_4_1_1_3.eprime b/tests/exhaustive/basic/set09/expected/model_4_1_1_3.eprime new file mode 100644 index 0000000000..8883ffc92f --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_1_1_3.eprime @@ -0,0 +1,39 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find x_Occurrence: matrix indexed by [int(2..5)] of bool +find y_Occurrence: matrix indexed by [int(2..5)] of bool +find y_ExplicitVarSizeWithMarker_Marker: int(0..4) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +branching on + [x_Occurrence, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, + y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values, y_Occurrence] +such that + and([x_ExplicitVarSizeWithFlags_Flags[q21] /\ y_Occurrence[j] -> x_ExplicitVarSizeWithFlags_Values[q21] + 2 = j + | q21 : int(1..4), j : int(2..5)]), + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 2 | q2 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q4]) | q4 : int(1..4)]), + 1 <= sum([toInt(y_Occurrence[q6]) | q6 : int(2..5)]), + 1 <= sum([toInt(x_Occurrence[q7]) | q7 : int(2..5)]), + and([x_Occurrence[q16] -> + or([x_ExplicitVarSizeWithFlags_Flags[q18] /\ x_ExplicitVarSizeWithFlags_Values[q18] = q16 | q18 : int(1..4)]) + | q16 : int(2..5)]), + and([x_ExplicitVarSizeWithFlags_Flags[q20] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q20]] + | q20 : int(1..4)]), + and([q8 + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithMarker_Values[q8] < y_ExplicitVarSizeWithMarker_Values[q8 + 1] + | q8 : int(1..3)]), + and([q9 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[q9] = 2 | q9 : int(1..4)]), + 1 <= y_ExplicitVarSizeWithMarker_Marker, + and([q12 <= y_ExplicitVarSizeWithMarker_Marker -> y_Occurrence[y_ExplicitVarSizeWithMarker_Values[q12]] + | q12 : int(1..4)]), + and([y_Occurrence[q13] -> + or([q15 <= y_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithMarker_Values[q15] = q13 + | q15 : int(1..4)]) + | q13 : int(2..5)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_4_1_1_4-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_4_1_1_4-solution000001.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_1_1_4-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_4_1_1_4-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_4_1_1_4-solution000002.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_1_1_4-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_4_1_1_4.eprime b/tests/exhaustive/basic/set09/expected/model_4_1_1_4.eprime new file mode 100644 index 0000000000..e566516efd --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_1_1_4.eprime @@ -0,0 +1,39 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find x_Occurrence: matrix indexed by [int(2..5)] of bool +find y_Occurrence: matrix indexed by [int(2..5)] of bool +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +branching on + [x_Occurrence, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, + y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values, y_Occurrence] +such that + and([x_ExplicitVarSizeWithFlags_Flags[q23] /\ y_Occurrence[j] -> x_ExplicitVarSizeWithFlags_Values[q23] + 2 = j + | q23 : int(1..4), j : int(2..5)]), + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 2 | q2 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q4]) | q4 : int(1..4)]), + 1 <= sum([toInt(y_Occurrence[q6]) | q6 : int(2..5)]), + 1 <= sum([toInt(x_Occurrence[q7]) | q7 : int(2..5)]), + and([x_Occurrence[q18] -> + or([x_ExplicitVarSizeWithFlags_Flags[q20] /\ x_ExplicitVarSizeWithFlags_Values[q20] = q18 | q20 : int(1..4)]) + | q18 : int(2..5)]), + and([x_ExplicitVarSizeWithFlags_Flags[q22] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q22]] + | q22 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q8 + 1] -> + y_ExplicitVarSizeWithFlags_Values[q8] < y_ExplicitVarSizeWithFlags_Values[q8 + 1] + | q8 : int(1..3)]), + and([y_ExplicitVarSizeWithFlags_Flags[q9] = false -> y_ExplicitVarSizeWithFlags_Values[q9] = 2 | q9 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q10 + 1] -> y_ExplicitVarSizeWithFlags_Flags[q10] | q10 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithFlags_Flags[q11]) | q11 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q14] -> y_Occurrence[y_ExplicitVarSizeWithFlags_Values[q14]] + | q14 : int(1..4)]), + and([y_Occurrence[q15] -> + or([y_ExplicitVarSizeWithFlags_Flags[q17] /\ y_ExplicitVarSizeWithFlags_Values[q17] = q15 | q17 : int(1..4)]) + | q15 : int(2..5)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_4_1_2_1-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_4_1_2_1-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_1_2_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_4_1_2_1-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_4_1_2_1-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_1_2_1-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_4_1_2_1.eprime b/tests/exhaustive/basic/set09/expected/model_4_1_2_1.eprime new file mode 100644 index 0000000000..afaea477ca --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_1_2_1.eprime @@ -0,0 +1,33 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find y_Occurrence: matrix indexed by [int(2..5)] of bool +branching on + [x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, y_Occurrence] +such that + and([x_ExplicitVarSizeWithFlags_Flags[q19] /\ y_Occurrence[j] -> x_ExplicitVarSizeWithFlags_Values[q19] + 2 = j + | q19 : int(1..4), j : int(2..5)]), + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 2 | q2 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q4]) | q4 : int(1..4)]), + 1 <= sum([toInt(y_Occurrence[q6]) | q6 : int(2..5)]), + and([x_ExplicitVarSizeWithDummy[q7] < x_ExplicitVarSizeWithDummy[q7 + 1] \/ x_ExplicitVarSizeWithDummy[q7] = 6 + | q7 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q8] = 6 -> x_ExplicitVarSizeWithDummy[q8 + 1] = 6 | q8 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithDummy[q9] != 6) | q9 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q12] != 6 -> + or([x_ExplicitVarSizeWithFlags_Flags[q14] /\ + x_ExplicitVarSizeWithFlags_Values[q14] = x_ExplicitVarSizeWithDummy[q12] + | q14 : int(1..4)]) + | q12 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q16] -> + or([x_ExplicitVarSizeWithDummy[q18] != 6 /\ + x_ExplicitVarSizeWithDummy[q18] = x_ExplicitVarSizeWithFlags_Values[q16] + | q18 : int(1..4)]) + | q16 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_4_1_2_2-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_4_1_2_2-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_1_2_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_4_1_2_2-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_4_1_2_2-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_1_2_2-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_4_1_2_2.eprime b/tests/exhaustive/basic/set09/expected/model_4_1_2_2.eprime new file mode 100644 index 0000000000..2de99626cb --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_1_2_2.eprime @@ -0,0 +1,43 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find y_Occurrence: matrix indexed by [int(2..5)] of bool +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +branching on + [x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, + y_ExplicitVarSizeWithDummy, y_Occurrence] +such that + and([x_ExplicitVarSizeWithFlags_Flags[q28] /\ y_Occurrence[j] -> x_ExplicitVarSizeWithFlags_Values[q28] + 2 = j + | q28 : int(1..4), j : int(2..5)]), + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 2 | q2 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q4]) | q4 : int(1..4)]), + 1 <= sum([toInt(y_Occurrence[q6]) | q6 : int(2..5)]), + and([x_ExplicitVarSizeWithDummy[q7] < x_ExplicitVarSizeWithDummy[q7 + 1] \/ x_ExplicitVarSizeWithDummy[q7] = 6 + | q7 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q8] = 6 -> x_ExplicitVarSizeWithDummy[q8 + 1] = 6 | q8 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithDummy[q9] != 6) | q9 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q12] != 6 -> + or([x_ExplicitVarSizeWithFlags_Flags[q14] /\ + x_ExplicitVarSizeWithFlags_Values[q14] = x_ExplicitVarSizeWithDummy[q12] + | q14 : int(1..4)]) + | q12 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q16] -> + or([x_ExplicitVarSizeWithDummy[q18] != 6 /\ + x_ExplicitVarSizeWithDummy[q18] = x_ExplicitVarSizeWithFlags_Values[q16] + | q18 : int(1..4)]) + | q16 : int(1..4)]), + and([y_ExplicitVarSizeWithDummy[q19] < y_ExplicitVarSizeWithDummy[q19 + 1] \/ y_ExplicitVarSizeWithDummy[q19] = 6 + | q19 : int(1..3)]), + and([y_ExplicitVarSizeWithDummy[q20] = 6 -> y_ExplicitVarSizeWithDummy[q20 + 1] = 6 | q20 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithDummy[q21] != 6) | q21 : int(1..4)]), + and([y_ExplicitVarSizeWithDummy[q24] != 6 -> y_Occurrence[y_ExplicitVarSizeWithDummy[q24]] | q24 : int(1..4)]), + and([y_Occurrence[q25] -> + or([y_ExplicitVarSizeWithDummy[q27] != 6 /\ y_ExplicitVarSizeWithDummy[q27] = q25 | q27 : int(1..4)]) + | q25 : int(2..5)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_4_1_2_3-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_4_1_2_3-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_1_2_3-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_4_1_2_3-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_4_1_2_3-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_1_2_3-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_4_1_2_3.eprime b/tests/exhaustive/basic/set09/expected/model_4_1_2_3.eprime new file mode 100644 index 0000000000..654da549aa --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_1_2_3.eprime @@ -0,0 +1,47 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find y_Occurrence: matrix indexed by [int(2..5)] of bool +find y_ExplicitVarSizeWithMarker_Marker: int(0..4) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +branching on + [x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, + y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values, y_Occurrence] +such that + and([x_ExplicitVarSizeWithFlags_Flags[q27] /\ y_Occurrence[j] -> x_ExplicitVarSizeWithFlags_Values[q27] + 2 = j + | q27 : int(1..4), j : int(2..5)]), + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 2 | q2 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q4]) | q4 : int(1..4)]), + 1 <= sum([toInt(y_Occurrence[q6]) | q6 : int(2..5)]), + and([x_ExplicitVarSizeWithDummy[q7] < x_ExplicitVarSizeWithDummy[q7 + 1] \/ x_ExplicitVarSizeWithDummy[q7] = 6 + | q7 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q8] = 6 -> x_ExplicitVarSizeWithDummy[q8 + 1] = 6 | q8 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithDummy[q9] != 6) | q9 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q12] != 6 -> + or([x_ExplicitVarSizeWithFlags_Flags[q14] /\ + x_ExplicitVarSizeWithFlags_Values[q14] = x_ExplicitVarSizeWithDummy[q12] + | q14 : int(1..4)]) + | q12 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q16] -> + or([x_ExplicitVarSizeWithDummy[q18] != 6 /\ + x_ExplicitVarSizeWithDummy[q18] = x_ExplicitVarSizeWithFlags_Values[q16] + | q18 : int(1..4)]) + | q16 : int(1..4)]), + and([q19 + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithMarker_Values[q19] < y_ExplicitVarSizeWithMarker_Values[q19 + 1] + | q19 : int(1..3)]), + and([q20 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[q20] = 2 | q20 : int(1..4)]), + 1 <= y_ExplicitVarSizeWithMarker_Marker, + and([q23 <= y_ExplicitVarSizeWithMarker_Marker -> y_Occurrence[y_ExplicitVarSizeWithMarker_Values[q23]] + | q23 : int(1..4)]), + and([y_Occurrence[q24] -> + or([q26 <= y_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithMarker_Values[q26] = q24 + | q26 : int(1..4)]) + | q24 : int(2..5)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_4_1_2_4-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_4_1_2_4-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_1_2_4-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_4_1_2_4-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_4_1_2_4-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_1_2_4-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_4_1_2_4.eprime b/tests/exhaustive/basic/set09/expected/model_4_1_2_4.eprime new file mode 100644 index 0000000000..af1a93b8b4 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_1_2_4.eprime @@ -0,0 +1,48 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find y_Occurrence: matrix indexed by [int(2..5)] of bool +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +branching on + [x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, + y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values, y_Occurrence] +such that + and([x_ExplicitVarSizeWithFlags_Flags[q29] /\ y_Occurrence[j] -> x_ExplicitVarSizeWithFlags_Values[q29] + 2 = j + | q29 : int(1..4), j : int(2..5)]), + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 2 | q2 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q4]) | q4 : int(1..4)]), + 1 <= sum([toInt(y_Occurrence[q6]) | q6 : int(2..5)]), + and([x_ExplicitVarSizeWithDummy[q7] < x_ExplicitVarSizeWithDummy[q7 + 1] \/ x_ExplicitVarSizeWithDummy[q7] = 6 + | q7 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q8] = 6 -> x_ExplicitVarSizeWithDummy[q8 + 1] = 6 | q8 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithDummy[q9] != 6) | q9 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q12] != 6 -> + or([x_ExplicitVarSizeWithFlags_Flags[q14] /\ + x_ExplicitVarSizeWithFlags_Values[q14] = x_ExplicitVarSizeWithDummy[q12] + | q14 : int(1..4)]) + | q12 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q16] -> + or([x_ExplicitVarSizeWithDummy[q18] != 6 /\ + x_ExplicitVarSizeWithDummy[q18] = x_ExplicitVarSizeWithFlags_Values[q16] + | q18 : int(1..4)]) + | q16 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q19 + 1] -> + y_ExplicitVarSizeWithFlags_Values[q19] < y_ExplicitVarSizeWithFlags_Values[q19 + 1] + | q19 : int(1..3)]), + and([y_ExplicitVarSizeWithFlags_Flags[q20] = false -> y_ExplicitVarSizeWithFlags_Values[q20] = 2 + | q20 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q21 + 1] -> y_ExplicitVarSizeWithFlags_Flags[q21] | q21 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithFlags_Flags[q22]) | q22 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q25] -> y_Occurrence[y_ExplicitVarSizeWithFlags_Values[q25]] + | q25 : int(1..4)]), + and([y_Occurrence[q26] -> + or([y_ExplicitVarSizeWithFlags_Flags[q28] /\ y_ExplicitVarSizeWithFlags_Values[q28] = q26 | q28 : int(1..4)]) + | q26 : int(2..5)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_4_1_3_1-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_4_1_3_1-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_1_3_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_4_1_3_1-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_4_1_3_1-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_1_3_1-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_4_1_3_1.eprime b/tests/exhaustive/basic/set09/expected/model_4_1_3_1.eprime new file mode 100644 index 0000000000..2a4f8d9d12 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_1_3_1.eprime @@ -0,0 +1,36 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_Occurrence: matrix indexed by [int(2..5)] of bool +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_ExplicitVarSizeWithFlags_Flags, + x_ExplicitVarSizeWithFlags_Values, y_Occurrence] +such that + and([x_ExplicitVarSizeWithFlags_Flags[q18] /\ y_Occurrence[j] -> x_ExplicitVarSizeWithFlags_Values[q18] + 2 = j + | q18 : int(1..4), j : int(2..5)]), + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 2 | q2 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q4]) | q4 : int(1..4)]), + 1 <= sum([toInt(y_Occurrence[q6]) | q6 : int(2..5)]), + and([q7 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q7] < x_ExplicitVarSizeWithMarker_Values[q7 + 1] + | q7 : int(1..3)]), + and([q8 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q8] = 2 | q8 : int(1..4)]), + 1 <= x_ExplicitVarSizeWithMarker_Marker, + and([q11 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q13] /\ + x_ExplicitVarSizeWithFlags_Values[q13] = x_ExplicitVarSizeWithMarker_Values[q11] + | q13 : int(1..4)]) + | q11 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q15] -> + or([q17 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q17] = x_ExplicitVarSizeWithFlags_Values[q15] + | q17 : int(1..4)]) + | q15 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_4_1_3_2-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_4_1_3_2-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_1_3_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_4_1_3_2-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_4_1_3_2-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_1_3_2-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_4_1_3_2.eprime b/tests/exhaustive/basic/set09/expected/model_4_1_3_2.eprime new file mode 100644 index 0000000000..237665c083 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_1_3_2.eprime @@ -0,0 +1,45 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_Occurrence: matrix indexed by [int(2..5)] of bool +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_ExplicitVarSizeWithFlags_Flags, + x_ExplicitVarSizeWithFlags_Values, y_ExplicitVarSizeWithDummy, y_Occurrence] +such that + and([x_ExplicitVarSizeWithFlags_Flags[q27] /\ y_Occurrence[j] -> x_ExplicitVarSizeWithFlags_Values[q27] + 2 = j + | q27 : int(1..4), j : int(2..5)]), + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 2 | q2 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q4]) | q4 : int(1..4)]), + 1 <= sum([toInt(y_Occurrence[q6]) | q6 : int(2..5)]), + and([q7 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q7] < x_ExplicitVarSizeWithMarker_Values[q7 + 1] + | q7 : int(1..3)]), + and([q8 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q8] = 2 | q8 : int(1..4)]), + 1 <= x_ExplicitVarSizeWithMarker_Marker, + and([q11 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q13] /\ + x_ExplicitVarSizeWithFlags_Values[q13] = x_ExplicitVarSizeWithMarker_Values[q11] + | q13 : int(1..4)]) + | q11 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q15] -> + or([q17 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q17] = x_ExplicitVarSizeWithFlags_Values[q15] + | q17 : int(1..4)]) + | q15 : int(1..4)]), + and([y_ExplicitVarSizeWithDummy[q18] < y_ExplicitVarSizeWithDummy[q18 + 1] \/ y_ExplicitVarSizeWithDummy[q18] = 6 + | q18 : int(1..3)]), + and([y_ExplicitVarSizeWithDummy[q19] = 6 -> y_ExplicitVarSizeWithDummy[q19 + 1] = 6 | q19 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithDummy[q20] != 6) | q20 : int(1..4)]), + and([y_ExplicitVarSizeWithDummy[q23] != 6 -> y_Occurrence[y_ExplicitVarSizeWithDummy[q23]] | q23 : int(1..4)]), + and([y_Occurrence[q24] -> + or([y_ExplicitVarSizeWithDummy[q26] != 6 /\ y_ExplicitVarSizeWithDummy[q26] = q24 | q26 : int(1..4)]) + | q24 : int(2..5)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_4_1_3_3-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_4_1_3_3-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_1_3_3-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_4_1_3_3-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_4_1_3_3-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_1_3_3-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_4_1_3_3.eprime b/tests/exhaustive/basic/set09/expected/model_4_1_3_3.eprime new file mode 100644 index 0000000000..78ff28ba58 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_1_3_3.eprime @@ -0,0 +1,50 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_Occurrence: matrix indexed by [int(2..5)] of bool +find y_ExplicitVarSizeWithMarker_Marker: int(0..4) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_ExplicitVarSizeWithFlags_Flags, + x_ExplicitVarSizeWithFlags_Values, y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values, + y_Occurrence] +such that + and([x_ExplicitVarSizeWithFlags_Flags[q26] /\ y_Occurrence[j] -> x_ExplicitVarSizeWithFlags_Values[q26] + 2 = j + | q26 : int(1..4), j : int(2..5)]), + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 2 | q2 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q4]) | q4 : int(1..4)]), + 1 <= sum([toInt(y_Occurrence[q6]) | q6 : int(2..5)]), + and([q7 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q7] < x_ExplicitVarSizeWithMarker_Values[q7 + 1] + | q7 : int(1..3)]), + and([q8 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q8] = 2 | q8 : int(1..4)]), + 1 <= x_ExplicitVarSizeWithMarker_Marker, + and([q11 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q13] /\ + x_ExplicitVarSizeWithFlags_Values[q13] = x_ExplicitVarSizeWithMarker_Values[q11] + | q13 : int(1..4)]) + | q11 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q15] -> + or([q17 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q17] = x_ExplicitVarSizeWithFlags_Values[q15] + | q17 : int(1..4)]) + | q15 : int(1..4)]), + and([q18 + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithMarker_Values[q18] < y_ExplicitVarSizeWithMarker_Values[q18 + 1] + | q18 : int(1..3)]), + and([q19 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[q19] = 2 | q19 : int(1..4)]), + 1 <= y_ExplicitVarSizeWithMarker_Marker, + and([q22 <= y_ExplicitVarSizeWithMarker_Marker -> y_Occurrence[y_ExplicitVarSizeWithMarker_Values[q22]] + | q22 : int(1..4)]), + and([y_Occurrence[q23] -> + or([q25 <= y_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithMarker_Values[q25] = q23 + | q25 : int(1..4)]) + | q23 : int(2..5)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_4_1_3_4-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_4_1_3_4-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_1_3_4-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_4_1_3_4-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_4_1_3_4-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_1_3_4-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_4_1_3_4.eprime b/tests/exhaustive/basic/set09/expected/model_4_1_3_4.eprime new file mode 100644 index 0000000000..e8221a747a --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_1_3_4.eprime @@ -0,0 +1,51 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_Occurrence: matrix indexed by [int(2..5)] of bool +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_ExplicitVarSizeWithFlags_Flags, + x_ExplicitVarSizeWithFlags_Values, y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values, + y_Occurrence] +such that + and([x_ExplicitVarSizeWithFlags_Flags[q28] /\ y_Occurrence[j] -> x_ExplicitVarSizeWithFlags_Values[q28] + 2 = j + | q28 : int(1..4), j : int(2..5)]), + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 2 | q2 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q4]) | q4 : int(1..4)]), + 1 <= sum([toInt(y_Occurrence[q6]) | q6 : int(2..5)]), + and([q7 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q7] < x_ExplicitVarSizeWithMarker_Values[q7 + 1] + | q7 : int(1..3)]), + and([q8 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q8] = 2 | q8 : int(1..4)]), + 1 <= x_ExplicitVarSizeWithMarker_Marker, + and([q11 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q13] /\ + x_ExplicitVarSizeWithFlags_Values[q13] = x_ExplicitVarSizeWithMarker_Values[q11] + | q13 : int(1..4)]) + | q11 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q15] -> + or([q17 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q17] = x_ExplicitVarSizeWithFlags_Values[q15] + | q17 : int(1..4)]) + | q15 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q18 + 1] -> + y_ExplicitVarSizeWithFlags_Values[q18] < y_ExplicitVarSizeWithFlags_Values[q18 + 1] + | q18 : int(1..3)]), + and([y_ExplicitVarSizeWithFlags_Flags[q19] = false -> y_ExplicitVarSizeWithFlags_Values[q19] = 2 + | q19 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q20 + 1] -> y_ExplicitVarSizeWithFlags_Flags[q20] | q20 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithFlags_Flags[q21]) | q21 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q24] -> y_Occurrence[y_ExplicitVarSizeWithFlags_Values[q24]] + | q24 : int(1..4)]), + and([y_Occurrence[q25] -> + or([y_ExplicitVarSizeWithFlags_Flags[q27] /\ y_ExplicitVarSizeWithFlags_Values[q27] = q25 | q27 : int(1..4)]) + | q25 : int(2..5)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_4_1_4_1-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_4_1_4_1-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_1_4_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_4_1_4_1-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_4_1_4_1-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_1_4_1-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_4_1_4_1.eprime b/tests/exhaustive/basic/set09/expected/model_4_1_4_1.eprime new file mode 100644 index 0000000000..109e0f0711 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_1_4_1.eprime @@ -0,0 +1,17 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_Occurrence: matrix indexed by [int(2..5)] of bool +branching on [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, y_Occurrence] +such that + and([x_ExplicitVarSizeWithFlags_Flags[q7] /\ y_Occurrence[j] -> x_ExplicitVarSizeWithFlags_Values[q7] + 2 = j + | q7 : int(1..4), j : int(2..5)]), + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 2 | q2 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q4]) | q4 : int(1..4)]), + 1 <= sum([toInt(y_Occurrence[q6]) | q6 : int(2..5)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_4_1_4_2-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_4_1_4_2-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_1_4_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_4_1_4_2-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_4_1_4_2-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_1_4_2-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_4_1_4_2.eprime b/tests/exhaustive/basic/set09/expected/model_4_1_4_2.eprime new file mode 100644 index 0000000000..76ef2af84d --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_1_4_2.eprime @@ -0,0 +1,27 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_Occurrence: matrix indexed by [int(2..5)] of bool +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, y_ExplicitVarSizeWithDummy, y_Occurrence] +such that + and([x_ExplicitVarSizeWithFlags_Flags[q16] /\ y_Occurrence[j] -> x_ExplicitVarSizeWithFlags_Values[q16] + 2 = j + | q16 : int(1..4), j : int(2..5)]), + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 2 | q2 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q4]) | q4 : int(1..4)]), + 1 <= sum([toInt(y_Occurrence[q6]) | q6 : int(2..5)]), + and([y_ExplicitVarSizeWithDummy[q7] < y_ExplicitVarSizeWithDummy[q7 + 1] \/ y_ExplicitVarSizeWithDummy[q7] = 6 + | q7 : int(1..3)]), + and([y_ExplicitVarSizeWithDummy[q8] = 6 -> y_ExplicitVarSizeWithDummy[q8 + 1] = 6 | q8 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithDummy[q9] != 6) | q9 : int(1..4)]), + and([y_ExplicitVarSizeWithDummy[q12] != 6 -> y_Occurrence[y_ExplicitVarSizeWithDummy[q12]] | q12 : int(1..4)]), + and([y_Occurrence[q13] -> + or([y_ExplicitVarSizeWithDummy[q15] != 6 /\ y_ExplicitVarSizeWithDummy[q15] = q13 | q15 : int(1..4)]) + | q13 : int(2..5)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_4_1_4_3-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_4_1_4_3-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_1_4_3-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_4_1_4_3-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_4_1_4_3-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_1_4_3-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_4_1_4_3.eprime b/tests/exhaustive/basic/set09/expected/model_4_1_4_3.eprime new file mode 100644 index 0000000000..c7bf7b7442 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_1_4_3.eprime @@ -0,0 +1,32 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_Occurrence: matrix indexed by [int(2..5)] of bool +find y_ExplicitVarSizeWithMarker_Marker: int(0..4) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, y_ExplicitVarSizeWithMarker_Marker, + y_ExplicitVarSizeWithMarker_Values, y_Occurrence] +such that + and([x_ExplicitVarSizeWithFlags_Flags[q15] /\ y_Occurrence[j] -> x_ExplicitVarSizeWithFlags_Values[q15] + 2 = j + | q15 : int(1..4), j : int(2..5)]), + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 2 | q2 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q4]) | q4 : int(1..4)]), + 1 <= sum([toInt(y_Occurrence[q6]) | q6 : int(2..5)]), + and([q7 + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithMarker_Values[q7] < y_ExplicitVarSizeWithMarker_Values[q7 + 1] + | q7 : int(1..3)]), + and([q8 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[q8] = 2 | q8 : int(1..4)]), + 1 <= y_ExplicitVarSizeWithMarker_Marker, + and([q11 <= y_ExplicitVarSizeWithMarker_Marker -> y_Occurrence[y_ExplicitVarSizeWithMarker_Values[q11]] + | q11 : int(1..4)]), + and([y_Occurrence[q12] -> + or([q14 <= y_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithMarker_Values[q14] = q12 + | q14 : int(1..4)]) + | q12 : int(2..5)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_4_1_4_4-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_4_1_4_4-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_1_4_4-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_4_1_4_4-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_4_1_4_4-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_1_4_4-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_4_1_4_4.eprime b/tests/exhaustive/basic/set09/expected/model_4_1_4_4.eprime new file mode 100644 index 0000000000..8108a5b294 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_1_4_4.eprime @@ -0,0 +1,32 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_Occurrence: matrix indexed by [int(2..5)] of bool +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, y_ExplicitVarSizeWithFlags_Flags, + y_ExplicitVarSizeWithFlags_Values, y_Occurrence] +such that + and([x_ExplicitVarSizeWithFlags_Flags[q17] /\ y_Occurrence[j] -> x_ExplicitVarSizeWithFlags_Values[q17] + 2 = j + | q17 : int(1..4), j : int(2..5)]), + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 2 | q2 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q4]) | q4 : int(1..4)]), + 1 <= sum([toInt(y_Occurrence[q6]) | q6 : int(2..5)]), + and([y_ExplicitVarSizeWithFlags_Flags[q7 + 1] -> + y_ExplicitVarSizeWithFlags_Values[q7] < y_ExplicitVarSizeWithFlags_Values[q7 + 1] + | q7 : int(1..3)]), + and([y_ExplicitVarSizeWithFlags_Flags[q8] = false -> y_ExplicitVarSizeWithFlags_Values[q8] = 2 | q8 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q9 + 1] -> y_ExplicitVarSizeWithFlags_Flags[q9] | q9 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithFlags_Flags[q10]) | q10 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q13] -> y_Occurrence[y_ExplicitVarSizeWithFlags_Values[q13]] + | q13 : int(1..4)]), + and([y_Occurrence[q14] -> + or([y_ExplicitVarSizeWithFlags_Flags[q16] /\ y_ExplicitVarSizeWithFlags_Values[q16] = q14 | q16 : int(1..4)]) + | q14 : int(2..5)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_4_2_1_1-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_4_2_1_1-solution000001.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_2_1_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_4_2_1_1-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_4_2_1_1-solution000002.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_2_1_1-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_4_2_1_1.eprime b/tests/exhaustive/basic/set09/expected/model_4_2_1_1.eprime new file mode 100644 index 0000000000..58ed3249aa --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_2_1_1.eprime @@ -0,0 +1,36 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find x_Occurrence: matrix indexed by [int(2..5)] of bool +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find y_Occurrence: matrix indexed by [int(2..5)] of bool +branching on + [x_Occurrence, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, y_Occurrence, + y_ExplicitVarSizeWithDummy] +such that + and([x_ExplicitVarSizeWithFlags_Flags[q17] /\ y_ExplicitVarSizeWithDummy[q18] != 6 -> + x_ExplicitVarSizeWithFlags_Values[q17] + 2 = y_ExplicitVarSizeWithDummy[q18] + | q17 : int(1..4), q18 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 2 | q2 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q4]) | q4 : int(1..4)]), + and([y_ExplicitVarSizeWithDummy[q6] < y_ExplicitVarSizeWithDummy[q6 + 1] \/ y_ExplicitVarSizeWithDummy[q6] = 6 + | q6 : int(1..3)]), + and([y_ExplicitVarSizeWithDummy[q7] = 6 -> y_ExplicitVarSizeWithDummy[q7 + 1] = 6 | q7 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithDummy[q8] != 6) | q8 : int(1..4)]), + 1 <= sum([toInt(x_Occurrence[q10]) | q10 : int(2..5)]), + and([x_Occurrence[q19] -> + or([x_ExplicitVarSizeWithFlags_Flags[q21] /\ x_ExplicitVarSizeWithFlags_Values[q21] = q19 | q21 : int(1..4)]) + | q19 : int(2..5)]), + and([x_ExplicitVarSizeWithFlags_Flags[q23] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q23]] + | q23 : int(1..4)]), + 1 <= sum([toInt(y_Occurrence[q11]) | q11 : int(2..5)]), + and([y_Occurrence[q12] -> + or([y_ExplicitVarSizeWithDummy[q14] != 6 /\ y_ExplicitVarSizeWithDummy[q14] = q12 | q14 : int(1..4)]) + | q12 : int(2..5)]), + and([y_ExplicitVarSizeWithDummy[q16] != 6 -> y_Occurrence[y_ExplicitVarSizeWithDummy[q16]] | q16 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_4_2_1_2-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_4_2_1_2-solution000001.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_2_1_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_4_2_1_2-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_4_2_1_2-solution000002.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_2_1_2-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_4_2_1_2.eprime b/tests/exhaustive/basic/set09/expected/model_4_2_1_2.eprime new file mode 100644 index 0000000000..b326331c8d --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_2_1_2.eprime @@ -0,0 +1,29 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find x_Occurrence: matrix indexed by [int(2..5)] of bool +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +branching on + [x_Occurrence, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, y_ExplicitVarSizeWithDummy] +such that + and([x_ExplicitVarSizeWithFlags_Flags[q16] /\ y_ExplicitVarSizeWithDummy[q17] != 6 -> + x_ExplicitVarSizeWithFlags_Values[q16] + 2 = y_ExplicitVarSizeWithDummy[q17] + | q16 : int(1..4), q17 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 2 | q2 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q4]) | q4 : int(1..4)]), + and([y_ExplicitVarSizeWithDummy[q6] < y_ExplicitVarSizeWithDummy[q6 + 1] \/ y_ExplicitVarSizeWithDummy[q6] = 6 + | q6 : int(1..3)]), + and([y_ExplicitVarSizeWithDummy[q7] = 6 -> y_ExplicitVarSizeWithDummy[q7 + 1] = 6 | q7 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithDummy[q8] != 6) | q8 : int(1..4)]), + 1 <= sum([toInt(x_Occurrence[q10]) | q10 : int(2..5)]), + and([x_Occurrence[q11] -> + or([x_ExplicitVarSizeWithFlags_Flags[q13] /\ x_ExplicitVarSizeWithFlags_Values[q13] = q11 | q13 : int(1..4)]) + | q11 : int(2..5)]), + and([x_ExplicitVarSizeWithFlags_Flags[q15] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q15]] + | q15 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_4_2_1_3-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_4_2_1_3-solution000001.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_2_1_3-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_4_2_1_3-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_4_2_1_3-solution000002.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_2_1_3-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_4_2_1_3.eprime b/tests/exhaustive/basic/set09/expected/model_4_2_1_3.eprime new file mode 100644 index 0000000000..10b83edfd1 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_2_1_3.eprime @@ -0,0 +1,47 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find x_Occurrence: matrix indexed by [int(2..5)] of bool +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find y_ExplicitVarSizeWithMarker_Marker: int(0..4) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +branching on + [x_Occurrence, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, + y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values, y_ExplicitVarSizeWithDummy] +such that + and([x_ExplicitVarSizeWithFlags_Flags[q27] /\ y_ExplicitVarSizeWithDummy[q28] != 6 -> + x_ExplicitVarSizeWithFlags_Values[q27] + 2 = y_ExplicitVarSizeWithDummy[q28] + | q27 : int(1..4), q28 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 2 | q2 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q4]) | q4 : int(1..4)]), + and([y_ExplicitVarSizeWithDummy[q6] < y_ExplicitVarSizeWithDummy[q6 + 1] \/ y_ExplicitVarSizeWithDummy[q6] = 6 + | q6 : int(1..3)]), + and([y_ExplicitVarSizeWithDummy[q7] = 6 -> y_ExplicitVarSizeWithDummy[q7 + 1] = 6 | q7 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithDummy[q8] != 6) | q8 : int(1..4)]), + 1 <= sum([toInt(x_Occurrence[q10]) | q10 : int(2..5)]), + and([x_Occurrence[q22] -> + or([x_ExplicitVarSizeWithFlags_Flags[q24] /\ x_ExplicitVarSizeWithFlags_Values[q24] = q22 | q24 : int(1..4)]) + | q22 : int(2..5)]), + and([x_ExplicitVarSizeWithFlags_Flags[q26] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q26]] + | q26 : int(1..4)]), + and([q11 + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithMarker_Values[q11] < y_ExplicitVarSizeWithMarker_Values[q11 + 1] + | q11 : int(1..3)]), + and([q12 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[q12] = 2 | q12 : int(1..4)]), + 1 <= y_ExplicitVarSizeWithMarker_Marker, + and([q15 <= y_ExplicitVarSizeWithMarker_Marker -> + or([y_ExplicitVarSizeWithDummy[q17] != 6 /\ + y_ExplicitVarSizeWithDummy[q17] = y_ExplicitVarSizeWithMarker_Values[q15] + | q17 : int(1..4)]) + | q15 : int(1..4)]), + and([y_ExplicitVarSizeWithDummy[q19] != 6 -> + or([q21 <= y_ExplicitVarSizeWithMarker_Marker /\ + y_ExplicitVarSizeWithMarker_Values[q21] = y_ExplicitVarSizeWithDummy[q19] + | q21 : int(1..4)]) + | q19 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_4_2_1_4-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_4_2_1_4-solution000001.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_2_1_4-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_4_2_1_4-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_4_2_1_4-solution000002.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_2_1_4-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_4_2_1_4.eprime b/tests/exhaustive/basic/set09/expected/model_4_2_1_4.eprime new file mode 100644 index 0000000000..9b32a426d0 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_2_1_4.eprime @@ -0,0 +1,49 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find x_Occurrence: matrix indexed by [int(2..5)] of bool +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +branching on + [x_Occurrence, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, + y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values, y_ExplicitVarSizeWithDummy] +such that + and([x_ExplicitVarSizeWithFlags_Flags[q29] /\ y_ExplicitVarSizeWithDummy[q30] != 6 -> + x_ExplicitVarSizeWithFlags_Values[q29] + 2 = y_ExplicitVarSizeWithDummy[q30] + | q29 : int(1..4), q30 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 2 | q2 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q4]) | q4 : int(1..4)]), + and([y_ExplicitVarSizeWithDummy[q6] < y_ExplicitVarSizeWithDummy[q6 + 1] \/ y_ExplicitVarSizeWithDummy[q6] = 6 + | q6 : int(1..3)]), + and([y_ExplicitVarSizeWithDummy[q7] = 6 -> y_ExplicitVarSizeWithDummy[q7 + 1] = 6 | q7 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithDummy[q8] != 6) | q8 : int(1..4)]), + 1 <= sum([toInt(x_Occurrence[q10]) | q10 : int(2..5)]), + and([x_Occurrence[q24] -> + or([x_ExplicitVarSizeWithFlags_Flags[q26] /\ x_ExplicitVarSizeWithFlags_Values[q26] = q24 | q26 : int(1..4)]) + | q24 : int(2..5)]), + and([x_ExplicitVarSizeWithFlags_Flags[q28] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q28]] + | q28 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q11 + 1] -> + y_ExplicitVarSizeWithFlags_Values[q11] < y_ExplicitVarSizeWithFlags_Values[q11 + 1] + | q11 : int(1..3)]), + and([y_ExplicitVarSizeWithFlags_Flags[q12] = false -> y_ExplicitVarSizeWithFlags_Values[q12] = 2 + | q12 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q13 + 1] -> y_ExplicitVarSizeWithFlags_Flags[q13] | q13 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithFlags_Flags[q14]) | q14 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q17] -> + or([y_ExplicitVarSizeWithDummy[q19] != 6 /\ + y_ExplicitVarSizeWithDummy[q19] = y_ExplicitVarSizeWithFlags_Values[q17] + | q19 : int(1..4)]) + | q17 : int(1..4)]), + and([y_ExplicitVarSizeWithDummy[q21] != 6 -> + or([y_ExplicitVarSizeWithFlags_Flags[q23] /\ + y_ExplicitVarSizeWithFlags_Values[q23] = y_ExplicitVarSizeWithDummy[q21] + | q23 : int(1..4)]) + | q21 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_4_2_2_1-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_4_2_2_1-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_2_2_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_4_2_2_1-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_4_2_2_1-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_2_2_1-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_4_2_2_1.eprime b/tests/exhaustive/basic/set09/expected/model_4_2_2_1.eprime new file mode 100644 index 0000000000..04f00777cf --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_2_2_1.eprime @@ -0,0 +1,44 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find y_Occurrence: matrix indexed by [int(2..5)] of bool +branching on + [x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, y_Occurrence, + y_ExplicitVarSizeWithDummy] +such that + and([x_ExplicitVarSizeWithFlags_Flags[q28] /\ y_ExplicitVarSizeWithDummy[q29] != 6 -> + x_ExplicitVarSizeWithFlags_Values[q28] + 2 = y_ExplicitVarSizeWithDummy[q29] + | q28 : int(1..4), q29 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 2 | q2 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q4]) | q4 : int(1..4)]), + and([y_ExplicitVarSizeWithDummy[q6] < y_ExplicitVarSizeWithDummy[q6 + 1] \/ y_ExplicitVarSizeWithDummy[q6] = 6 + | q6 : int(1..3)]), + and([y_ExplicitVarSizeWithDummy[q7] = 6 -> y_ExplicitVarSizeWithDummy[q7 + 1] = 6 | q7 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithDummy[q8] != 6) | q8 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q10] < x_ExplicitVarSizeWithDummy[q10 + 1] \/ x_ExplicitVarSizeWithDummy[q10] = 6 + | q10 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q11] = 6 -> x_ExplicitVarSizeWithDummy[q11 + 1] = 6 | q11 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithDummy[q12] != 6) | q12 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q15] != 6 -> + or([x_ExplicitVarSizeWithFlags_Flags[q17] /\ + x_ExplicitVarSizeWithFlags_Values[q17] = x_ExplicitVarSizeWithDummy[q15] + | q17 : int(1..4)]) + | q15 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q19] -> + or([x_ExplicitVarSizeWithDummy[q21] != 6 /\ + x_ExplicitVarSizeWithDummy[q21] = x_ExplicitVarSizeWithFlags_Values[q19] + | q21 : int(1..4)]) + | q19 : int(1..4)]), + 1 <= sum([toInt(y_Occurrence[q22]) | q22 : int(2..5)]), + and([y_Occurrence[q23] -> + or([y_ExplicitVarSizeWithDummy[q25] != 6 /\ y_ExplicitVarSizeWithDummy[q25] = q23 | q25 : int(1..4)]) + | q23 : int(2..5)]), + and([y_ExplicitVarSizeWithDummy[q27] != 6 -> y_Occurrence[y_ExplicitVarSizeWithDummy[q27]] | q27 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_4_2_2_2-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_4_2_2_2-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_2_2_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_4_2_2_2-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_4_2_2_2-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_2_2_2-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_4_2_2_2.eprime b/tests/exhaustive/basic/set09/expected/model_4_2_2_2.eprime new file mode 100644 index 0000000000..6d1e92a973 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_2_2_2.eprime @@ -0,0 +1,38 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +branching on + [x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, + y_ExplicitVarSizeWithDummy] +such that + and([x_ExplicitVarSizeWithFlags_Flags[q22] /\ y_ExplicitVarSizeWithDummy[q23] != 6 -> + x_ExplicitVarSizeWithFlags_Values[q22] + 2 = y_ExplicitVarSizeWithDummy[q23] + | q22 : int(1..4), q23 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 2 | q2 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q4]) | q4 : int(1..4)]), + and([y_ExplicitVarSizeWithDummy[q6] < y_ExplicitVarSizeWithDummy[q6 + 1] \/ y_ExplicitVarSizeWithDummy[q6] = 6 + | q6 : int(1..3)]), + and([y_ExplicitVarSizeWithDummy[q7] = 6 -> y_ExplicitVarSizeWithDummy[q7 + 1] = 6 | q7 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithDummy[q8] != 6) | q8 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q10] < x_ExplicitVarSizeWithDummy[q10 + 1] \/ x_ExplicitVarSizeWithDummy[q10] = 6 + | q10 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q11] = 6 -> x_ExplicitVarSizeWithDummy[q11 + 1] = 6 | q11 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithDummy[q12] != 6) | q12 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q15] != 6 -> + or([x_ExplicitVarSizeWithFlags_Flags[q17] /\ + x_ExplicitVarSizeWithFlags_Values[q17] = x_ExplicitVarSizeWithDummy[q15] + | q17 : int(1..4)]) + | q15 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q19] -> + or([x_ExplicitVarSizeWithDummy[q21] != 6 /\ + x_ExplicitVarSizeWithDummy[q21] = x_ExplicitVarSizeWithFlags_Values[q19] + | q21 : int(1..4)]) + | q19 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_4_2_2_3-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_4_2_2_3-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_2_2_3-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_4_2_2_3-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_4_2_2_3-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_2_2_3-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_4_2_2_3.eprime b/tests/exhaustive/basic/set09/expected/model_4_2_2_3.eprime new file mode 100644 index 0000000000..10a511c037 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_2_2_3.eprime @@ -0,0 +1,55 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find y_ExplicitVarSizeWithMarker_Marker: int(0..4) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +branching on + [x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, + y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values, y_ExplicitVarSizeWithDummy] +such that + and([x_ExplicitVarSizeWithFlags_Flags[q33] /\ y_ExplicitVarSizeWithDummy[q34] != 6 -> + x_ExplicitVarSizeWithFlags_Values[q33] + 2 = y_ExplicitVarSizeWithDummy[q34] + | q33 : int(1..4), q34 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 2 | q2 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q4]) | q4 : int(1..4)]), + and([y_ExplicitVarSizeWithDummy[q6] < y_ExplicitVarSizeWithDummy[q6 + 1] \/ y_ExplicitVarSizeWithDummy[q6] = 6 + | q6 : int(1..3)]), + and([y_ExplicitVarSizeWithDummy[q7] = 6 -> y_ExplicitVarSizeWithDummy[q7 + 1] = 6 | q7 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithDummy[q8] != 6) | q8 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q10] < x_ExplicitVarSizeWithDummy[q10 + 1] \/ x_ExplicitVarSizeWithDummy[q10] = 6 + | q10 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q11] = 6 -> x_ExplicitVarSizeWithDummy[q11 + 1] = 6 | q11 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithDummy[q12] != 6) | q12 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q15] != 6 -> + or([x_ExplicitVarSizeWithFlags_Flags[q17] /\ + x_ExplicitVarSizeWithFlags_Values[q17] = x_ExplicitVarSizeWithDummy[q15] + | q17 : int(1..4)]) + | q15 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q19] -> + or([x_ExplicitVarSizeWithDummy[q21] != 6 /\ + x_ExplicitVarSizeWithDummy[q21] = x_ExplicitVarSizeWithFlags_Values[q19] + | q21 : int(1..4)]) + | q19 : int(1..4)]), + and([q22 + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithMarker_Values[q22] < y_ExplicitVarSizeWithMarker_Values[q22 + 1] + | q22 : int(1..3)]), + and([q23 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[q23] = 2 | q23 : int(1..4)]), + 1 <= y_ExplicitVarSizeWithMarker_Marker, + and([q26 <= y_ExplicitVarSizeWithMarker_Marker -> + or([y_ExplicitVarSizeWithDummy[q28] != 6 /\ + y_ExplicitVarSizeWithDummy[q28] = y_ExplicitVarSizeWithMarker_Values[q26] + | q28 : int(1..4)]) + | q26 : int(1..4)]), + and([y_ExplicitVarSizeWithDummy[q30] != 6 -> + or([q32 <= y_ExplicitVarSizeWithMarker_Marker /\ + y_ExplicitVarSizeWithMarker_Values[q32] = y_ExplicitVarSizeWithDummy[q30] + | q32 : int(1..4)]) + | q30 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_4_2_2_4-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_4_2_2_4-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_2_2_4-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_4_2_2_4-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_4_2_2_4-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_2_2_4-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_4_2_2_4.eprime b/tests/exhaustive/basic/set09/expected/model_4_2_2_4.eprime new file mode 100644 index 0000000000..fbaabfe3f8 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_2_2_4.eprime @@ -0,0 +1,57 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +branching on + [x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, + y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values, y_ExplicitVarSizeWithDummy] +such that + and([x_ExplicitVarSizeWithFlags_Flags[q35] /\ y_ExplicitVarSizeWithDummy[q36] != 6 -> + x_ExplicitVarSizeWithFlags_Values[q35] + 2 = y_ExplicitVarSizeWithDummy[q36] + | q35 : int(1..4), q36 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 2 | q2 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q4]) | q4 : int(1..4)]), + and([y_ExplicitVarSizeWithDummy[q6] < y_ExplicitVarSizeWithDummy[q6 + 1] \/ y_ExplicitVarSizeWithDummy[q6] = 6 + | q6 : int(1..3)]), + and([y_ExplicitVarSizeWithDummy[q7] = 6 -> y_ExplicitVarSizeWithDummy[q7 + 1] = 6 | q7 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithDummy[q8] != 6) | q8 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q10] < x_ExplicitVarSizeWithDummy[q10 + 1] \/ x_ExplicitVarSizeWithDummy[q10] = 6 + | q10 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q11] = 6 -> x_ExplicitVarSizeWithDummy[q11 + 1] = 6 | q11 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithDummy[q12] != 6) | q12 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q15] != 6 -> + or([x_ExplicitVarSizeWithFlags_Flags[q17] /\ + x_ExplicitVarSizeWithFlags_Values[q17] = x_ExplicitVarSizeWithDummy[q15] + | q17 : int(1..4)]) + | q15 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q19] -> + or([x_ExplicitVarSizeWithDummy[q21] != 6 /\ + x_ExplicitVarSizeWithDummy[q21] = x_ExplicitVarSizeWithFlags_Values[q19] + | q21 : int(1..4)]) + | q19 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q22 + 1] -> + y_ExplicitVarSizeWithFlags_Values[q22] < y_ExplicitVarSizeWithFlags_Values[q22 + 1] + | q22 : int(1..3)]), + and([y_ExplicitVarSizeWithFlags_Flags[q23] = false -> y_ExplicitVarSizeWithFlags_Values[q23] = 2 + | q23 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q24 + 1] -> y_ExplicitVarSizeWithFlags_Flags[q24] | q24 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithFlags_Flags[q25]) | q25 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q28] -> + or([y_ExplicitVarSizeWithDummy[q30] != 6 /\ + y_ExplicitVarSizeWithDummy[q30] = y_ExplicitVarSizeWithFlags_Values[q28] + | q30 : int(1..4)]) + | q28 : int(1..4)]), + and([y_ExplicitVarSizeWithDummy[q32] != 6 -> + or([y_ExplicitVarSizeWithFlags_Flags[q34] /\ + y_ExplicitVarSizeWithFlags_Values[q34] = y_ExplicitVarSizeWithDummy[q32] + | q34 : int(1..4)]) + | q32 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_4_2_3_1-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_4_2_3_1-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_2_3_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_4_2_3_1-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_4_2_3_1-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_2_3_1-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_4_2_3_1.eprime b/tests/exhaustive/basic/set09/expected/model_4_2_3_1.eprime new file mode 100644 index 0000000000..457cc6deb1 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_2_3_1.eprime @@ -0,0 +1,46 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find y_Occurrence: matrix indexed by [int(2..5)] of bool +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_ExplicitVarSizeWithFlags_Flags, + x_ExplicitVarSizeWithFlags_Values, y_Occurrence, y_ExplicitVarSizeWithDummy] +such that + and([x_ExplicitVarSizeWithFlags_Flags[q27] /\ y_ExplicitVarSizeWithDummy[q28] != 6 -> + x_ExplicitVarSizeWithFlags_Values[q27] + 2 = y_ExplicitVarSizeWithDummy[q28] + | q27 : int(1..4), q28 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 2 | q2 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q4]) | q4 : int(1..4)]), + and([y_ExplicitVarSizeWithDummy[q6] < y_ExplicitVarSizeWithDummy[q6 + 1] \/ y_ExplicitVarSizeWithDummy[q6] = 6 + | q6 : int(1..3)]), + and([y_ExplicitVarSizeWithDummy[q7] = 6 -> y_ExplicitVarSizeWithDummy[q7 + 1] = 6 | q7 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithDummy[q8] != 6) | q8 : int(1..4)]), + and([q10 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q10] < x_ExplicitVarSizeWithMarker_Values[q10 + 1] + | q10 : int(1..3)]), + and([q11 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q11] = 2 | q11 : int(1..4)]), + 1 <= x_ExplicitVarSizeWithMarker_Marker, + and([q14 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q16] /\ + x_ExplicitVarSizeWithFlags_Values[q16] = x_ExplicitVarSizeWithMarker_Values[q14] + | q16 : int(1..4)]) + | q14 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q18] -> + or([q20 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q20] = x_ExplicitVarSizeWithFlags_Values[q18] + | q20 : int(1..4)]) + | q18 : int(1..4)]), + 1 <= sum([toInt(y_Occurrence[q21]) | q21 : int(2..5)]), + and([y_Occurrence[q22] -> + or([y_ExplicitVarSizeWithDummy[q24] != 6 /\ y_ExplicitVarSizeWithDummy[q24] = q22 | q24 : int(1..4)]) + | q22 : int(2..5)]), + and([y_ExplicitVarSizeWithDummy[q26] != 6 -> y_Occurrence[y_ExplicitVarSizeWithDummy[q26]] | q26 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_4_2_3_2-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_4_2_3_2-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_2_3_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_4_2_3_2-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_4_2_3_2-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_2_3_2-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_4_2_3_2.eprime b/tests/exhaustive/basic/set09/expected/model_4_2_3_2.eprime new file mode 100644 index 0000000000..1fdcd43cc3 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_2_3_2.eprime @@ -0,0 +1,40 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_ExplicitVarSizeWithFlags_Flags, + x_ExplicitVarSizeWithFlags_Values, y_ExplicitVarSizeWithDummy] +such that + and([x_ExplicitVarSizeWithFlags_Flags[q21] /\ y_ExplicitVarSizeWithDummy[q22] != 6 -> + x_ExplicitVarSizeWithFlags_Values[q21] + 2 = y_ExplicitVarSizeWithDummy[q22] + | q21 : int(1..4), q22 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 2 | q2 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q4]) | q4 : int(1..4)]), + and([y_ExplicitVarSizeWithDummy[q6] < y_ExplicitVarSizeWithDummy[q6 + 1] \/ y_ExplicitVarSizeWithDummy[q6] = 6 + | q6 : int(1..3)]), + and([y_ExplicitVarSizeWithDummy[q7] = 6 -> y_ExplicitVarSizeWithDummy[q7 + 1] = 6 | q7 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithDummy[q8] != 6) | q8 : int(1..4)]), + and([q10 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q10] < x_ExplicitVarSizeWithMarker_Values[q10 + 1] + | q10 : int(1..3)]), + and([q11 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q11] = 2 | q11 : int(1..4)]), + 1 <= x_ExplicitVarSizeWithMarker_Marker, + and([q14 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q16] /\ + x_ExplicitVarSizeWithFlags_Values[q16] = x_ExplicitVarSizeWithMarker_Values[q14] + | q16 : int(1..4)]) + | q14 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q18] -> + or([q20 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q20] = x_ExplicitVarSizeWithFlags_Values[q18] + | q20 : int(1..4)]) + | q18 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_4_2_3_3-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_4_2_3_3-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_2_3_3-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_4_2_3_3-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_4_2_3_3-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_2_3_3-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_4_2_3_3.eprime b/tests/exhaustive/basic/set09/expected/model_4_2_3_3.eprime new file mode 100644 index 0000000000..18c16908d3 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_2_3_3.eprime @@ -0,0 +1,58 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find y_ExplicitVarSizeWithMarker_Marker: int(0..4) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_ExplicitVarSizeWithFlags_Flags, + x_ExplicitVarSizeWithFlags_Values, y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values, + y_ExplicitVarSizeWithDummy] +such that + and([x_ExplicitVarSizeWithFlags_Flags[q32] /\ y_ExplicitVarSizeWithDummy[q33] != 6 -> + x_ExplicitVarSizeWithFlags_Values[q32] + 2 = y_ExplicitVarSizeWithDummy[q33] + | q32 : int(1..4), q33 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 2 | q2 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q4]) | q4 : int(1..4)]), + and([y_ExplicitVarSizeWithDummy[q6] < y_ExplicitVarSizeWithDummy[q6 + 1] \/ y_ExplicitVarSizeWithDummy[q6] = 6 + | q6 : int(1..3)]), + and([y_ExplicitVarSizeWithDummy[q7] = 6 -> y_ExplicitVarSizeWithDummy[q7 + 1] = 6 | q7 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithDummy[q8] != 6) | q8 : int(1..4)]), + and([q10 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q10] < x_ExplicitVarSizeWithMarker_Values[q10 + 1] + | q10 : int(1..3)]), + and([q11 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q11] = 2 | q11 : int(1..4)]), + 1 <= x_ExplicitVarSizeWithMarker_Marker, + and([q14 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q16] /\ + x_ExplicitVarSizeWithFlags_Values[q16] = x_ExplicitVarSizeWithMarker_Values[q14] + | q16 : int(1..4)]) + | q14 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q18] -> + or([q20 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q20] = x_ExplicitVarSizeWithFlags_Values[q18] + | q20 : int(1..4)]) + | q18 : int(1..4)]), + and([q21 + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithMarker_Values[q21] < y_ExplicitVarSizeWithMarker_Values[q21 + 1] + | q21 : int(1..3)]), + and([q22 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[q22] = 2 | q22 : int(1..4)]), + 1 <= y_ExplicitVarSizeWithMarker_Marker, + and([q25 <= y_ExplicitVarSizeWithMarker_Marker -> + or([y_ExplicitVarSizeWithDummy[q27] != 6 /\ + y_ExplicitVarSizeWithDummy[q27] = y_ExplicitVarSizeWithMarker_Values[q25] + | q27 : int(1..4)]) + | q25 : int(1..4)]), + and([y_ExplicitVarSizeWithDummy[q29] != 6 -> + or([q31 <= y_ExplicitVarSizeWithMarker_Marker /\ + y_ExplicitVarSizeWithMarker_Values[q31] = y_ExplicitVarSizeWithDummy[q29] + | q31 : int(1..4)]) + | q29 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_4_2_3_4-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_4_2_3_4-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_2_3_4-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_4_2_3_4-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_4_2_3_4-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_2_3_4-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_4_2_3_4.eprime b/tests/exhaustive/basic/set09/expected/model_4_2_3_4.eprime new file mode 100644 index 0000000000..d099b0582b --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_2_3_4.eprime @@ -0,0 +1,60 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_ExplicitVarSizeWithFlags_Flags, + x_ExplicitVarSizeWithFlags_Values, y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values, + y_ExplicitVarSizeWithDummy] +such that + and([x_ExplicitVarSizeWithFlags_Flags[q34] /\ y_ExplicitVarSizeWithDummy[q35] != 6 -> + x_ExplicitVarSizeWithFlags_Values[q34] + 2 = y_ExplicitVarSizeWithDummy[q35] + | q34 : int(1..4), q35 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 2 | q2 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q4]) | q4 : int(1..4)]), + and([y_ExplicitVarSizeWithDummy[q6] < y_ExplicitVarSizeWithDummy[q6 + 1] \/ y_ExplicitVarSizeWithDummy[q6] = 6 + | q6 : int(1..3)]), + and([y_ExplicitVarSizeWithDummy[q7] = 6 -> y_ExplicitVarSizeWithDummy[q7 + 1] = 6 | q7 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithDummy[q8] != 6) | q8 : int(1..4)]), + and([q10 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q10] < x_ExplicitVarSizeWithMarker_Values[q10 + 1] + | q10 : int(1..3)]), + and([q11 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q11] = 2 | q11 : int(1..4)]), + 1 <= x_ExplicitVarSizeWithMarker_Marker, + and([q14 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q16] /\ + x_ExplicitVarSizeWithFlags_Values[q16] = x_ExplicitVarSizeWithMarker_Values[q14] + | q16 : int(1..4)]) + | q14 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q18] -> + or([q20 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q20] = x_ExplicitVarSizeWithFlags_Values[q18] + | q20 : int(1..4)]) + | q18 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q21 + 1] -> + y_ExplicitVarSizeWithFlags_Values[q21] < y_ExplicitVarSizeWithFlags_Values[q21 + 1] + | q21 : int(1..3)]), + and([y_ExplicitVarSizeWithFlags_Flags[q22] = false -> y_ExplicitVarSizeWithFlags_Values[q22] = 2 + | q22 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q23 + 1] -> y_ExplicitVarSizeWithFlags_Flags[q23] | q23 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithFlags_Flags[q24]) | q24 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q27] -> + or([y_ExplicitVarSizeWithDummy[q29] != 6 /\ + y_ExplicitVarSizeWithDummy[q29] = y_ExplicitVarSizeWithFlags_Values[q27] + | q29 : int(1..4)]) + | q27 : int(1..4)]), + and([y_ExplicitVarSizeWithDummy[q31] != 6 -> + or([y_ExplicitVarSizeWithFlags_Flags[q33] /\ + y_ExplicitVarSizeWithFlags_Values[q33] = y_ExplicitVarSizeWithDummy[q31] + | q33 : int(1..4)]) + | q31 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_4_2_4_1-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_4_2_4_1-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_2_4_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_4_2_4_1-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_4_2_4_1-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_2_4_1-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_4_2_4_1.eprime b/tests/exhaustive/basic/set09/expected/model_4_2_4_1.eprime new file mode 100644 index 0000000000..f587016cd9 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_2_4_1.eprime @@ -0,0 +1,28 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find y_Occurrence: matrix indexed by [int(2..5)] of bool +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, y_Occurrence, y_ExplicitVarSizeWithDummy] +such that + and([x_ExplicitVarSizeWithFlags_Flags[q16] /\ y_ExplicitVarSizeWithDummy[q17] != 6 -> + x_ExplicitVarSizeWithFlags_Values[q16] + 2 = y_ExplicitVarSizeWithDummy[q17] + | q16 : int(1..4), q17 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 2 | q2 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q4]) | q4 : int(1..4)]), + and([y_ExplicitVarSizeWithDummy[q6] < y_ExplicitVarSizeWithDummy[q6 + 1] \/ y_ExplicitVarSizeWithDummy[q6] = 6 + | q6 : int(1..3)]), + and([y_ExplicitVarSizeWithDummy[q7] = 6 -> y_ExplicitVarSizeWithDummy[q7 + 1] = 6 | q7 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithDummy[q8] != 6) | q8 : int(1..4)]), + 1 <= sum([toInt(y_Occurrence[q10]) | q10 : int(2..5)]), + and([y_Occurrence[q11] -> + or([y_ExplicitVarSizeWithDummy[q13] != 6 /\ y_ExplicitVarSizeWithDummy[q13] = q11 | q13 : int(1..4)]) + | q11 : int(2..5)]), + and([y_ExplicitVarSizeWithDummy[q15] != 6 -> y_Occurrence[y_ExplicitVarSizeWithDummy[q15]] | q15 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_4_2_4_2-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_4_2_4_2-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_2_4_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_4_2_4_2-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_4_2_4_2-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_2_4_2-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_4_2_4_2.eprime b/tests/exhaustive/basic/set09/expected/model_4_2_4_2.eprime new file mode 100644 index 0000000000..f30467528a --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_2_4_2.eprime @@ -0,0 +1,21 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +branching on [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, y_ExplicitVarSizeWithDummy] +such that + and([x_ExplicitVarSizeWithFlags_Flags[q10] /\ y_ExplicitVarSizeWithDummy[q11] != 6 -> + x_ExplicitVarSizeWithFlags_Values[q10] + 2 = y_ExplicitVarSizeWithDummy[q11] + | q10 : int(1..4), q11 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 2 | q2 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q4]) | q4 : int(1..4)]), + and([y_ExplicitVarSizeWithDummy[q6] < y_ExplicitVarSizeWithDummy[q6 + 1] \/ y_ExplicitVarSizeWithDummy[q6] = 6 + | q6 : int(1..3)]), + and([y_ExplicitVarSizeWithDummy[q7] = 6 -> y_ExplicitVarSizeWithDummy[q7 + 1] = 6 | q7 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithDummy[q8] != 6) | q8 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_4_2_4_3-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_4_2_4_3-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_2_4_3-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_4_2_4_3-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_4_2_4_3-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_2_4_3-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_4_2_4_3.eprime b/tests/exhaustive/basic/set09/expected/model_4_2_4_3.eprime new file mode 100644 index 0000000000..e871f919f3 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_2_4_3.eprime @@ -0,0 +1,40 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find y_ExplicitVarSizeWithMarker_Marker: int(0..4) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, y_ExplicitVarSizeWithMarker_Marker, + y_ExplicitVarSizeWithMarker_Values, y_ExplicitVarSizeWithDummy] +such that + and([x_ExplicitVarSizeWithFlags_Flags[q21] /\ y_ExplicitVarSizeWithDummy[q22] != 6 -> + x_ExplicitVarSizeWithFlags_Values[q21] + 2 = y_ExplicitVarSizeWithDummy[q22] + | q21 : int(1..4), q22 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 2 | q2 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q4]) | q4 : int(1..4)]), + and([y_ExplicitVarSizeWithDummy[q6] < y_ExplicitVarSizeWithDummy[q6 + 1] \/ y_ExplicitVarSizeWithDummy[q6] = 6 + | q6 : int(1..3)]), + and([y_ExplicitVarSizeWithDummy[q7] = 6 -> y_ExplicitVarSizeWithDummy[q7 + 1] = 6 | q7 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithDummy[q8] != 6) | q8 : int(1..4)]), + and([q10 + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithMarker_Values[q10] < y_ExplicitVarSizeWithMarker_Values[q10 + 1] + | q10 : int(1..3)]), + and([q11 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[q11] = 2 | q11 : int(1..4)]), + 1 <= y_ExplicitVarSizeWithMarker_Marker, + and([q14 <= y_ExplicitVarSizeWithMarker_Marker -> + or([y_ExplicitVarSizeWithDummy[q16] != 6 /\ + y_ExplicitVarSizeWithDummy[q16] = y_ExplicitVarSizeWithMarker_Values[q14] + | q16 : int(1..4)]) + | q14 : int(1..4)]), + and([y_ExplicitVarSizeWithDummy[q18] != 6 -> + or([q20 <= y_ExplicitVarSizeWithMarker_Marker /\ + y_ExplicitVarSizeWithMarker_Values[q20] = y_ExplicitVarSizeWithDummy[q18] + | q20 : int(1..4)]) + | q18 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_4_2_4_4-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_4_2_4_4-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_2_4_4-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_4_2_4_4-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_4_2_4_4-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_2_4_4-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_4_2_4_4.eprime b/tests/exhaustive/basic/set09/expected/model_4_2_4_4.eprime new file mode 100644 index 0000000000..8954f9bfa2 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_2_4_4.eprime @@ -0,0 +1,42 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, y_ExplicitVarSizeWithFlags_Flags, + y_ExplicitVarSizeWithFlags_Values, y_ExplicitVarSizeWithDummy] +such that + and([x_ExplicitVarSizeWithFlags_Flags[q23] /\ y_ExplicitVarSizeWithDummy[q24] != 6 -> + x_ExplicitVarSizeWithFlags_Values[q23] + 2 = y_ExplicitVarSizeWithDummy[q24] + | q23 : int(1..4), q24 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 2 | q2 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q4]) | q4 : int(1..4)]), + and([y_ExplicitVarSizeWithDummy[q6] < y_ExplicitVarSizeWithDummy[q6 + 1] \/ y_ExplicitVarSizeWithDummy[q6] = 6 + | q6 : int(1..3)]), + and([y_ExplicitVarSizeWithDummy[q7] = 6 -> y_ExplicitVarSizeWithDummy[q7 + 1] = 6 | q7 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithDummy[q8] != 6) | q8 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q10 + 1] -> + y_ExplicitVarSizeWithFlags_Values[q10] < y_ExplicitVarSizeWithFlags_Values[q10 + 1] + | q10 : int(1..3)]), + and([y_ExplicitVarSizeWithFlags_Flags[q11] = false -> y_ExplicitVarSizeWithFlags_Values[q11] = 2 + | q11 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q12 + 1] -> y_ExplicitVarSizeWithFlags_Flags[q12] | q12 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithFlags_Flags[q13]) | q13 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q16] -> + or([y_ExplicitVarSizeWithDummy[q18] != 6 /\ + y_ExplicitVarSizeWithDummy[q18] = y_ExplicitVarSizeWithFlags_Values[q16] + | q18 : int(1..4)]) + | q16 : int(1..4)]), + and([y_ExplicitVarSizeWithDummy[q20] != 6 -> + or([y_ExplicitVarSizeWithFlags_Flags[q22] /\ + y_ExplicitVarSizeWithFlags_Values[q22] = y_ExplicitVarSizeWithDummy[q20] + | q22 : int(1..4)]) + | q20 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_4_3_1_1-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_4_3_1_1-solution000001.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_3_1_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_4_3_1_1-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_4_3_1_1-solution000002.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_3_1_1-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_4_3_1_1.eprime b/tests/exhaustive/basic/set09/expected/model_4_3_1_1.eprime new file mode 100644 index 0000000000..e2ae63fc2c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_3_1_1.eprime @@ -0,0 +1,40 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find x_Occurrence: matrix indexed by [int(2..5)] of bool +find y_ExplicitVarSizeWithMarker_Marker: int(0..4) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_Occurrence: matrix indexed by [int(2..5)] of bool +branching on + [x_Occurrence, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, y_Occurrence, + y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values] +such that + and([x_ExplicitVarSizeWithFlags_Flags[q16] /\ q17 <= y_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithFlags_Values[q16] + 2 = y_ExplicitVarSizeWithMarker_Values[q17] + | q16 : int(1..4), q17 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 2 | q2 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q4]) | q4 : int(1..4)]), + and([q6 + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithMarker_Values[q6] < y_ExplicitVarSizeWithMarker_Values[q6 + 1] + | q6 : int(1..3)]), + and([q7 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[q7] = 2 | q7 : int(1..4)]), + 1 <= y_ExplicitVarSizeWithMarker_Marker, + 1 <= sum([toInt(x_Occurrence[q9]) | q9 : int(2..5)]), + and([x_Occurrence[q18] -> + or([x_ExplicitVarSizeWithFlags_Flags[q20] /\ x_ExplicitVarSizeWithFlags_Values[q20] = q18 | q20 : int(1..4)]) + | q18 : int(2..5)]), + and([x_ExplicitVarSizeWithFlags_Flags[q22] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q22]] + | q22 : int(1..4)]), + 1 <= sum([toInt(y_Occurrence[q10]) | q10 : int(2..5)]), + and([y_Occurrence[q11] -> + or([q13 <= y_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithMarker_Values[q13] = q11 + | q13 : int(1..4)]) + | q11 : int(2..5)]), + and([q15 <= y_ExplicitVarSizeWithMarker_Marker -> y_Occurrence[y_ExplicitVarSizeWithMarker_Values[q15]] + | q15 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_4_3_1_2-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_4_3_1_2-solution000001.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_3_1_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_4_3_1_2-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_4_3_1_2-solution000002.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_3_1_2-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_4_3_1_2.eprime b/tests/exhaustive/basic/set09/expected/model_4_3_1_2.eprime new file mode 100644 index 0000000000..ae45352286 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_3_1_2.eprime @@ -0,0 +1,47 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find x_Occurrence: matrix indexed by [int(2..5)] of bool +find y_ExplicitVarSizeWithMarker_Marker: int(0..4) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +branching on + [x_Occurrence, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, y_ExplicitVarSizeWithDummy, + y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values] +such that + and([x_ExplicitVarSizeWithFlags_Flags[q27] /\ q28 <= y_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithFlags_Values[q27] + 2 = y_ExplicitVarSizeWithMarker_Values[q28] + | q27 : int(1..4), q28 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 2 | q2 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q4]) | q4 : int(1..4)]), + and([q6 + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithMarker_Values[q6] < y_ExplicitVarSizeWithMarker_Values[q6 + 1] + | q6 : int(1..3)]), + and([q7 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[q7] = 2 | q7 : int(1..4)]), + 1 <= y_ExplicitVarSizeWithMarker_Marker, + 1 <= sum([toInt(x_Occurrence[q9]) | q9 : int(2..5)]), + and([x_Occurrence[q22] -> + or([x_ExplicitVarSizeWithFlags_Flags[q24] /\ x_ExplicitVarSizeWithFlags_Values[q24] = q22 | q24 : int(1..4)]) + | q22 : int(2..5)]), + and([x_ExplicitVarSizeWithFlags_Flags[q26] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q26]] + | q26 : int(1..4)]), + and([y_ExplicitVarSizeWithDummy[q10] < y_ExplicitVarSizeWithDummy[q10 + 1] \/ y_ExplicitVarSizeWithDummy[q10] = 6 + | q10 : int(1..3)]), + and([y_ExplicitVarSizeWithDummy[q11] = 6 -> y_ExplicitVarSizeWithDummy[q11 + 1] = 6 | q11 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithDummy[q12] != 6) | q12 : int(1..4)]), + and([y_ExplicitVarSizeWithDummy[q15] != 6 -> + or([q17 <= y_ExplicitVarSizeWithMarker_Marker /\ + y_ExplicitVarSizeWithMarker_Values[q17] = y_ExplicitVarSizeWithDummy[q15] + | q17 : int(1..4)]) + | q15 : int(1..4)]), + and([q19 <= y_ExplicitVarSizeWithMarker_Marker -> + or([y_ExplicitVarSizeWithDummy[q21] != 6 /\ + y_ExplicitVarSizeWithDummy[q21] = y_ExplicitVarSizeWithMarker_Values[q19] + | q21 : int(1..4)]) + | q19 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_4_3_1_3-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_4_3_1_3-solution000001.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_3_1_3-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_4_3_1_3-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_4_3_1_3-solution000002.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_3_1_3-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_4_3_1_3.eprime b/tests/exhaustive/basic/set09/expected/model_4_3_1_3.eprime new file mode 100644 index 0000000000..cd001ff305 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_3_1_3.eprime @@ -0,0 +1,32 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find x_Occurrence: matrix indexed by [int(2..5)] of bool +find y_ExplicitVarSizeWithMarker_Marker: int(0..4) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +branching on + [x_Occurrence, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, + y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values] +such that + and([x_ExplicitVarSizeWithFlags_Flags[q15] /\ q16 <= y_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithFlags_Values[q15] + 2 = y_ExplicitVarSizeWithMarker_Values[q16] + | q15 : int(1..4), q16 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 2 | q2 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q4]) | q4 : int(1..4)]), + and([q6 + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithMarker_Values[q6] < y_ExplicitVarSizeWithMarker_Values[q6 + 1] + | q6 : int(1..3)]), + and([q7 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[q7] = 2 | q7 : int(1..4)]), + 1 <= y_ExplicitVarSizeWithMarker_Marker, + 1 <= sum([toInt(x_Occurrence[q9]) | q9 : int(2..5)]), + and([x_Occurrence[q10] -> + or([x_ExplicitVarSizeWithFlags_Flags[q12] /\ x_ExplicitVarSizeWithFlags_Values[q12] = q10 | q12 : int(1..4)]) + | q10 : int(2..5)]), + and([x_ExplicitVarSizeWithFlags_Flags[q14] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q14]] + | q14 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_4_3_1_4-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_4_3_1_4-solution000001.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_3_1_4-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_4_3_1_4-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_4_3_1_4-solution000002.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_3_1_4-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_4_3_1_4.eprime b/tests/exhaustive/basic/set09/expected/model_4_3_1_4.eprime new file mode 100644 index 0000000000..c1ff4e46c8 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_3_1_4.eprime @@ -0,0 +1,52 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find x_Occurrence: matrix indexed by [int(2..5)] of bool +find y_ExplicitVarSizeWithMarker_Marker: int(0..4) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +branching on + [x_Occurrence, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, + y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values, y_ExplicitVarSizeWithMarker_Marker, + y_ExplicitVarSizeWithMarker_Values] +such that + and([x_ExplicitVarSizeWithFlags_Flags[q28] /\ q29 <= y_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithFlags_Values[q28] + 2 = y_ExplicitVarSizeWithMarker_Values[q29] + | q28 : int(1..4), q29 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 2 | q2 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q4]) | q4 : int(1..4)]), + and([q6 + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithMarker_Values[q6] < y_ExplicitVarSizeWithMarker_Values[q6 + 1] + | q6 : int(1..3)]), + and([q7 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[q7] = 2 | q7 : int(1..4)]), + 1 <= y_ExplicitVarSizeWithMarker_Marker, + 1 <= sum([toInt(x_Occurrence[q9]) | q9 : int(2..5)]), + and([x_Occurrence[q23] -> + or([x_ExplicitVarSizeWithFlags_Flags[q25] /\ x_ExplicitVarSizeWithFlags_Values[q25] = q23 | q25 : int(1..4)]) + | q23 : int(2..5)]), + and([x_ExplicitVarSizeWithFlags_Flags[q27] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q27]] + | q27 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q10 + 1] -> + y_ExplicitVarSizeWithFlags_Values[q10] < y_ExplicitVarSizeWithFlags_Values[q10 + 1] + | q10 : int(1..3)]), + and([y_ExplicitVarSizeWithFlags_Flags[q11] = false -> y_ExplicitVarSizeWithFlags_Values[q11] = 2 + | q11 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q12 + 1] -> y_ExplicitVarSizeWithFlags_Flags[q12] | q12 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithFlags_Flags[q13]) | q13 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q16] -> + or([q18 <= y_ExplicitVarSizeWithMarker_Marker /\ + y_ExplicitVarSizeWithMarker_Values[q18] = y_ExplicitVarSizeWithFlags_Values[q16] + | q18 : int(1..4)]) + | q16 : int(1..4)]), + and([q20 <= y_ExplicitVarSizeWithMarker_Marker -> + or([y_ExplicitVarSizeWithFlags_Flags[q22] /\ + y_ExplicitVarSizeWithFlags_Values[q22] = y_ExplicitVarSizeWithMarker_Values[q20] + | q22 : int(1..4)]) + | q20 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_4_3_2_1-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_4_3_2_1-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_3_2_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_4_3_2_1-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_4_3_2_1-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_3_2_1-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_4_3_2_1.eprime b/tests/exhaustive/basic/set09/expected/model_4_3_2_1.eprime new file mode 100644 index 0000000000..ebbb2075a2 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_3_2_1.eprime @@ -0,0 +1,48 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find y_ExplicitVarSizeWithMarker_Marker: int(0..4) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_Occurrence: matrix indexed by [int(2..5)] of bool +branching on + [x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, y_Occurrence, + y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values] +such that + and([x_ExplicitVarSizeWithFlags_Flags[q27] /\ q28 <= y_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithFlags_Values[q27] + 2 = y_ExplicitVarSizeWithMarker_Values[q28] + | q27 : int(1..4), q28 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 2 | q2 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q4]) | q4 : int(1..4)]), + and([q6 + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithMarker_Values[q6] < y_ExplicitVarSizeWithMarker_Values[q6 + 1] + | q6 : int(1..3)]), + and([q7 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[q7] = 2 | q7 : int(1..4)]), + 1 <= y_ExplicitVarSizeWithMarker_Marker, + and([x_ExplicitVarSizeWithDummy[q9] < x_ExplicitVarSizeWithDummy[q9 + 1] \/ x_ExplicitVarSizeWithDummy[q9] = 6 + | q9 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q10] = 6 -> x_ExplicitVarSizeWithDummy[q10 + 1] = 6 | q10 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithDummy[q11] != 6) | q11 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q14] != 6 -> + or([x_ExplicitVarSizeWithFlags_Flags[q16] /\ + x_ExplicitVarSizeWithFlags_Values[q16] = x_ExplicitVarSizeWithDummy[q14] + | q16 : int(1..4)]) + | q14 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q18] -> + or([x_ExplicitVarSizeWithDummy[q20] != 6 /\ + x_ExplicitVarSizeWithDummy[q20] = x_ExplicitVarSizeWithFlags_Values[q18] + | q20 : int(1..4)]) + | q18 : int(1..4)]), + 1 <= sum([toInt(y_Occurrence[q21]) | q21 : int(2..5)]), + and([y_Occurrence[q22] -> + or([q24 <= y_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithMarker_Values[q24] = q22 + | q24 : int(1..4)]) + | q22 : int(2..5)]), + and([q26 <= y_ExplicitVarSizeWithMarker_Marker -> y_Occurrence[y_ExplicitVarSizeWithMarker_Values[q26]] + | q26 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_4_3_2_2-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_4_3_2_2-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_3_2_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_4_3_2_2-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_4_3_2_2-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_3_2_2-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_4_3_2_2.eprime b/tests/exhaustive/basic/set09/expected/model_4_3_2_2.eprime new file mode 100644 index 0000000000..96ae673549 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_3_2_2.eprime @@ -0,0 +1,55 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find y_ExplicitVarSizeWithMarker_Marker: int(0..4) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +branching on + [x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, + y_ExplicitVarSizeWithDummy, y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values] +such that + and([x_ExplicitVarSizeWithFlags_Flags[q33] /\ q34 <= y_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithFlags_Values[q33] + 2 = y_ExplicitVarSizeWithMarker_Values[q34] + | q33 : int(1..4), q34 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 2 | q2 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q4]) | q4 : int(1..4)]), + and([q6 + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithMarker_Values[q6] < y_ExplicitVarSizeWithMarker_Values[q6 + 1] + | q6 : int(1..3)]), + and([q7 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[q7] = 2 | q7 : int(1..4)]), + 1 <= y_ExplicitVarSizeWithMarker_Marker, + and([x_ExplicitVarSizeWithDummy[q9] < x_ExplicitVarSizeWithDummy[q9 + 1] \/ x_ExplicitVarSizeWithDummy[q9] = 6 + | q9 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q10] = 6 -> x_ExplicitVarSizeWithDummy[q10 + 1] = 6 | q10 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithDummy[q11] != 6) | q11 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q14] != 6 -> + or([x_ExplicitVarSizeWithFlags_Flags[q16] /\ + x_ExplicitVarSizeWithFlags_Values[q16] = x_ExplicitVarSizeWithDummy[q14] + | q16 : int(1..4)]) + | q14 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q18] -> + or([x_ExplicitVarSizeWithDummy[q20] != 6 /\ + x_ExplicitVarSizeWithDummy[q20] = x_ExplicitVarSizeWithFlags_Values[q18] + | q20 : int(1..4)]) + | q18 : int(1..4)]), + and([y_ExplicitVarSizeWithDummy[q21] < y_ExplicitVarSizeWithDummy[q21 + 1] \/ y_ExplicitVarSizeWithDummy[q21] = 6 + | q21 : int(1..3)]), + and([y_ExplicitVarSizeWithDummy[q22] = 6 -> y_ExplicitVarSizeWithDummy[q22 + 1] = 6 | q22 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithDummy[q23] != 6) | q23 : int(1..4)]), + and([y_ExplicitVarSizeWithDummy[q26] != 6 -> + or([q28 <= y_ExplicitVarSizeWithMarker_Marker /\ + y_ExplicitVarSizeWithMarker_Values[q28] = y_ExplicitVarSizeWithDummy[q26] + | q28 : int(1..4)]) + | q26 : int(1..4)]), + and([q30 <= y_ExplicitVarSizeWithMarker_Marker -> + or([y_ExplicitVarSizeWithDummy[q32] != 6 /\ + y_ExplicitVarSizeWithDummy[q32] = y_ExplicitVarSizeWithMarker_Values[q30] + | q32 : int(1..4)]) + | q30 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_4_3_2_3-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_4_3_2_3-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_3_2_3-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_4_3_2_3-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_4_3_2_3-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_3_2_3-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_4_3_2_3.eprime b/tests/exhaustive/basic/set09/expected/model_4_3_2_3.eprime new file mode 100644 index 0000000000..6f50c8c681 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_3_2_3.eprime @@ -0,0 +1,40 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find y_ExplicitVarSizeWithMarker_Marker: int(0..4) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +branching on + [x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, + y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values] +such that + and([x_ExplicitVarSizeWithFlags_Flags[q21] /\ q22 <= y_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithFlags_Values[q21] + 2 = y_ExplicitVarSizeWithMarker_Values[q22] + | q21 : int(1..4), q22 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 2 | q2 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q4]) | q4 : int(1..4)]), + and([q6 + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithMarker_Values[q6] < y_ExplicitVarSizeWithMarker_Values[q6 + 1] + | q6 : int(1..3)]), + and([q7 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[q7] = 2 | q7 : int(1..4)]), + 1 <= y_ExplicitVarSizeWithMarker_Marker, + and([x_ExplicitVarSizeWithDummy[q9] < x_ExplicitVarSizeWithDummy[q9 + 1] \/ x_ExplicitVarSizeWithDummy[q9] = 6 + | q9 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q10] = 6 -> x_ExplicitVarSizeWithDummy[q10 + 1] = 6 | q10 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithDummy[q11] != 6) | q11 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q14] != 6 -> + or([x_ExplicitVarSizeWithFlags_Flags[q16] /\ + x_ExplicitVarSizeWithFlags_Values[q16] = x_ExplicitVarSizeWithDummy[q14] + | q16 : int(1..4)]) + | q14 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q18] -> + or([x_ExplicitVarSizeWithDummy[q20] != 6 /\ + x_ExplicitVarSizeWithDummy[q20] = x_ExplicitVarSizeWithFlags_Values[q18] + | q20 : int(1..4)]) + | q18 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_4_3_2_4-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_4_3_2_4-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_3_2_4-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_4_3_2_4-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_4_3_2_4-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_3_2_4-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_4_3_2_4.eprime b/tests/exhaustive/basic/set09/expected/model_4_3_2_4.eprime new file mode 100644 index 0000000000..a06fe066bf --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_3_2_4.eprime @@ -0,0 +1,60 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find y_ExplicitVarSizeWithMarker_Marker: int(0..4) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +branching on + [x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, + y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values, y_ExplicitVarSizeWithMarker_Marker, + y_ExplicitVarSizeWithMarker_Values] +such that + and([x_ExplicitVarSizeWithFlags_Flags[q34] /\ q35 <= y_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithFlags_Values[q34] + 2 = y_ExplicitVarSizeWithMarker_Values[q35] + | q34 : int(1..4), q35 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 2 | q2 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q4]) | q4 : int(1..4)]), + and([q6 + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithMarker_Values[q6] < y_ExplicitVarSizeWithMarker_Values[q6 + 1] + | q6 : int(1..3)]), + and([q7 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[q7] = 2 | q7 : int(1..4)]), + 1 <= y_ExplicitVarSizeWithMarker_Marker, + and([x_ExplicitVarSizeWithDummy[q9] < x_ExplicitVarSizeWithDummy[q9 + 1] \/ x_ExplicitVarSizeWithDummy[q9] = 6 + | q9 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q10] = 6 -> x_ExplicitVarSizeWithDummy[q10 + 1] = 6 | q10 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithDummy[q11] != 6) | q11 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q14] != 6 -> + or([x_ExplicitVarSizeWithFlags_Flags[q16] /\ + x_ExplicitVarSizeWithFlags_Values[q16] = x_ExplicitVarSizeWithDummy[q14] + | q16 : int(1..4)]) + | q14 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q18] -> + or([x_ExplicitVarSizeWithDummy[q20] != 6 /\ + x_ExplicitVarSizeWithDummy[q20] = x_ExplicitVarSizeWithFlags_Values[q18] + | q20 : int(1..4)]) + | q18 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q21 + 1] -> + y_ExplicitVarSizeWithFlags_Values[q21] < y_ExplicitVarSizeWithFlags_Values[q21 + 1] + | q21 : int(1..3)]), + and([y_ExplicitVarSizeWithFlags_Flags[q22] = false -> y_ExplicitVarSizeWithFlags_Values[q22] = 2 + | q22 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q23 + 1] -> y_ExplicitVarSizeWithFlags_Flags[q23] | q23 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithFlags_Flags[q24]) | q24 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q27] -> + or([q29 <= y_ExplicitVarSizeWithMarker_Marker /\ + y_ExplicitVarSizeWithMarker_Values[q29] = y_ExplicitVarSizeWithFlags_Values[q27] + | q29 : int(1..4)]) + | q27 : int(1..4)]), + and([q31 <= y_ExplicitVarSizeWithMarker_Marker -> + or([y_ExplicitVarSizeWithFlags_Flags[q33] /\ + y_ExplicitVarSizeWithFlags_Values[q33] = y_ExplicitVarSizeWithMarker_Values[q31] + | q33 : int(1..4)]) + | q31 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_4_3_3_1-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_4_3_3_1-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_3_3_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_4_3_3_1-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_4_3_3_1-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_3_3_1-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_4_3_3_1.eprime b/tests/exhaustive/basic/set09/expected/model_4_3_3_1.eprime new file mode 100644 index 0000000000..956990ea06 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_3_3_1.eprime @@ -0,0 +1,51 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithMarker_Marker: int(0..4) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_Occurrence: matrix indexed by [int(2..5)] of bool +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_ExplicitVarSizeWithFlags_Flags, + x_ExplicitVarSizeWithFlags_Values, y_Occurrence, y_ExplicitVarSizeWithMarker_Marker, + y_ExplicitVarSizeWithMarker_Values] +such that + and([x_ExplicitVarSizeWithFlags_Flags[q26] /\ q27 <= y_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithFlags_Values[q26] + 2 = y_ExplicitVarSizeWithMarker_Values[q27] + | q26 : int(1..4), q27 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 2 | q2 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q4]) | q4 : int(1..4)]), + and([q6 + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithMarker_Values[q6] < y_ExplicitVarSizeWithMarker_Values[q6 + 1] + | q6 : int(1..3)]), + and([q7 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[q7] = 2 | q7 : int(1..4)]), + 1 <= y_ExplicitVarSizeWithMarker_Marker, + and([q9 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q9] < x_ExplicitVarSizeWithMarker_Values[q9 + 1] + | q9 : int(1..3)]), + and([q10 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q10] = 2 | q10 : int(1..4)]), + 1 <= x_ExplicitVarSizeWithMarker_Marker, + and([q13 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q15] /\ + x_ExplicitVarSizeWithFlags_Values[q15] = x_ExplicitVarSizeWithMarker_Values[q13] + | q15 : int(1..4)]) + | q13 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q17] -> + or([q19 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q19] = x_ExplicitVarSizeWithFlags_Values[q17] + | q19 : int(1..4)]) + | q17 : int(1..4)]), + 1 <= sum([toInt(y_Occurrence[q20]) | q20 : int(2..5)]), + and([y_Occurrence[q21] -> + or([q23 <= y_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithMarker_Values[q23] = q21 + | q23 : int(1..4)]) + | q21 : int(2..5)]), + and([q25 <= y_ExplicitVarSizeWithMarker_Marker -> y_Occurrence[y_ExplicitVarSizeWithMarker_Values[q25]] + | q25 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_4_3_3_2-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_4_3_3_2-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_3_3_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_4_3_3_2-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_4_3_3_2-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_3_3_2-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_4_3_3_2.eprime b/tests/exhaustive/basic/set09/expected/model_4_3_3_2.eprime new file mode 100644 index 0000000000..76cc5a8aed --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_3_3_2.eprime @@ -0,0 +1,58 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithMarker_Marker: int(0..4) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_ExplicitVarSizeWithFlags_Flags, + x_ExplicitVarSizeWithFlags_Values, y_ExplicitVarSizeWithDummy, y_ExplicitVarSizeWithMarker_Marker, + y_ExplicitVarSizeWithMarker_Values] +such that + and([x_ExplicitVarSizeWithFlags_Flags[q32] /\ q33 <= y_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithFlags_Values[q32] + 2 = y_ExplicitVarSizeWithMarker_Values[q33] + | q32 : int(1..4), q33 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 2 | q2 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q4]) | q4 : int(1..4)]), + and([q6 + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithMarker_Values[q6] < y_ExplicitVarSizeWithMarker_Values[q6 + 1] + | q6 : int(1..3)]), + and([q7 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[q7] = 2 | q7 : int(1..4)]), + 1 <= y_ExplicitVarSizeWithMarker_Marker, + and([q9 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q9] < x_ExplicitVarSizeWithMarker_Values[q9 + 1] + | q9 : int(1..3)]), + and([q10 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q10] = 2 | q10 : int(1..4)]), + 1 <= x_ExplicitVarSizeWithMarker_Marker, + and([q13 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q15] /\ + x_ExplicitVarSizeWithFlags_Values[q15] = x_ExplicitVarSizeWithMarker_Values[q13] + | q15 : int(1..4)]) + | q13 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q17] -> + or([q19 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q19] = x_ExplicitVarSizeWithFlags_Values[q17] + | q19 : int(1..4)]) + | q17 : int(1..4)]), + and([y_ExplicitVarSizeWithDummy[q20] < y_ExplicitVarSizeWithDummy[q20 + 1] \/ y_ExplicitVarSizeWithDummy[q20] = 6 + | q20 : int(1..3)]), + and([y_ExplicitVarSizeWithDummy[q21] = 6 -> y_ExplicitVarSizeWithDummy[q21 + 1] = 6 | q21 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithDummy[q22] != 6) | q22 : int(1..4)]), + and([y_ExplicitVarSizeWithDummy[q25] != 6 -> + or([q27 <= y_ExplicitVarSizeWithMarker_Marker /\ + y_ExplicitVarSizeWithMarker_Values[q27] = y_ExplicitVarSizeWithDummy[q25] + | q27 : int(1..4)]) + | q25 : int(1..4)]), + and([q29 <= y_ExplicitVarSizeWithMarker_Marker -> + or([y_ExplicitVarSizeWithDummy[q31] != 6 /\ + y_ExplicitVarSizeWithDummy[q31] = y_ExplicitVarSizeWithMarker_Values[q29] + | q31 : int(1..4)]) + | q29 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_4_3_3_3-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_4_3_3_3-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_3_3_3-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_4_3_3_3-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_4_3_3_3-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_3_3_3-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_4_3_3_3.eprime b/tests/exhaustive/basic/set09/expected/model_4_3_3_3.eprime new file mode 100644 index 0000000000..f90dae8a31 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_3_3_3.eprime @@ -0,0 +1,42 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithMarker_Marker: int(0..4) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_ExplicitVarSizeWithFlags_Flags, + x_ExplicitVarSizeWithFlags_Values, y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values] +such that + and([x_ExplicitVarSizeWithFlags_Flags[q20] /\ q21 <= y_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithFlags_Values[q20] + 2 = y_ExplicitVarSizeWithMarker_Values[q21] + | q20 : int(1..4), q21 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 2 | q2 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q4]) | q4 : int(1..4)]), + and([q6 + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithMarker_Values[q6] < y_ExplicitVarSizeWithMarker_Values[q6 + 1] + | q6 : int(1..3)]), + and([q7 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[q7] = 2 | q7 : int(1..4)]), + 1 <= y_ExplicitVarSizeWithMarker_Marker, + and([q9 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q9] < x_ExplicitVarSizeWithMarker_Values[q9 + 1] + | q9 : int(1..3)]), + and([q10 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q10] = 2 | q10 : int(1..4)]), + 1 <= x_ExplicitVarSizeWithMarker_Marker, + and([q13 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q15] /\ + x_ExplicitVarSizeWithFlags_Values[q15] = x_ExplicitVarSizeWithMarker_Values[q13] + | q15 : int(1..4)]) + | q13 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q17] -> + or([q19 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q19] = x_ExplicitVarSizeWithFlags_Values[q17] + | q19 : int(1..4)]) + | q17 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_4_3_3_4-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_4_3_3_4-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_3_3_4-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_4_3_3_4-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_4_3_3_4-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_3_3_4-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_4_3_3_4.eprime b/tests/exhaustive/basic/set09/expected/model_4_3_3_4.eprime new file mode 100644 index 0000000000..a3ac3373bb --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_3_3_4.eprime @@ -0,0 +1,62 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithMarker_Marker: int(0..4) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_ExplicitVarSizeWithFlags_Flags, + x_ExplicitVarSizeWithFlags_Values, y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values, + y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values] +such that + and([x_ExplicitVarSizeWithFlags_Flags[q33] /\ q34 <= y_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithFlags_Values[q33] + 2 = y_ExplicitVarSizeWithMarker_Values[q34] + | q33 : int(1..4), q34 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 2 | q2 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q4]) | q4 : int(1..4)]), + and([q6 + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithMarker_Values[q6] < y_ExplicitVarSizeWithMarker_Values[q6 + 1] + | q6 : int(1..3)]), + and([q7 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[q7] = 2 | q7 : int(1..4)]), + 1 <= y_ExplicitVarSizeWithMarker_Marker, + and([q9 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q9] < x_ExplicitVarSizeWithMarker_Values[q9 + 1] + | q9 : int(1..3)]), + and([q10 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q10] = 2 | q10 : int(1..4)]), + 1 <= x_ExplicitVarSizeWithMarker_Marker, + and([q13 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q15] /\ + x_ExplicitVarSizeWithFlags_Values[q15] = x_ExplicitVarSizeWithMarker_Values[q13] + | q15 : int(1..4)]) + | q13 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q17] -> + or([q19 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q19] = x_ExplicitVarSizeWithFlags_Values[q17] + | q19 : int(1..4)]) + | q17 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q20 + 1] -> + y_ExplicitVarSizeWithFlags_Values[q20] < y_ExplicitVarSizeWithFlags_Values[q20 + 1] + | q20 : int(1..3)]), + and([y_ExplicitVarSizeWithFlags_Flags[q21] = false -> y_ExplicitVarSizeWithFlags_Values[q21] = 2 + | q21 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q22 + 1] -> y_ExplicitVarSizeWithFlags_Flags[q22] | q22 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithFlags_Flags[q23]) | q23 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q26] -> + or([q28 <= y_ExplicitVarSizeWithMarker_Marker /\ + y_ExplicitVarSizeWithMarker_Values[q28] = y_ExplicitVarSizeWithFlags_Values[q26] + | q28 : int(1..4)]) + | q26 : int(1..4)]), + and([q30 <= y_ExplicitVarSizeWithMarker_Marker -> + or([y_ExplicitVarSizeWithFlags_Flags[q32] /\ + y_ExplicitVarSizeWithFlags_Values[q32] = y_ExplicitVarSizeWithMarker_Values[q30] + | q32 : int(1..4)]) + | q30 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_4_3_4_1-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_4_3_4_1-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_3_4_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_4_3_4_1-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_4_3_4_1-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_3_4_1-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_4_3_4_1.eprime b/tests/exhaustive/basic/set09/expected/model_4_3_4_1.eprime new file mode 100644 index 0000000000..d57282a34a --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_3_4_1.eprime @@ -0,0 +1,33 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithMarker_Marker: int(0..4) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_Occurrence: matrix indexed by [int(2..5)] of bool +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, y_Occurrence, + y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values] +such that + and([x_ExplicitVarSizeWithFlags_Flags[q15] /\ q16 <= y_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithFlags_Values[q15] + 2 = y_ExplicitVarSizeWithMarker_Values[q16] + | q15 : int(1..4), q16 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 2 | q2 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q4]) | q4 : int(1..4)]), + and([q6 + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithMarker_Values[q6] < y_ExplicitVarSizeWithMarker_Values[q6 + 1] + | q6 : int(1..3)]), + and([q7 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[q7] = 2 | q7 : int(1..4)]), + 1 <= y_ExplicitVarSizeWithMarker_Marker, + 1 <= sum([toInt(y_Occurrence[q9]) | q9 : int(2..5)]), + and([y_Occurrence[q10] -> + or([q12 <= y_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithMarker_Values[q12] = q10 + | q12 : int(1..4)]) + | q10 : int(2..5)]), + and([q14 <= y_ExplicitVarSizeWithMarker_Marker -> y_Occurrence[y_ExplicitVarSizeWithMarker_Values[q14]] + | q14 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_4_3_4_2-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_4_3_4_2-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_3_4_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_4_3_4_2-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_4_3_4_2-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_3_4_2-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_4_3_4_2.eprime b/tests/exhaustive/basic/set09/expected/model_4_3_4_2.eprime new file mode 100644 index 0000000000..71131e9ed0 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_3_4_2.eprime @@ -0,0 +1,40 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithMarker_Marker: int(0..4) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, y_ExplicitVarSizeWithDummy, + y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values] +such that + and([x_ExplicitVarSizeWithFlags_Flags[q21] /\ q22 <= y_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithFlags_Values[q21] + 2 = y_ExplicitVarSizeWithMarker_Values[q22] + | q21 : int(1..4), q22 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 2 | q2 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q4]) | q4 : int(1..4)]), + and([q6 + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithMarker_Values[q6] < y_ExplicitVarSizeWithMarker_Values[q6 + 1] + | q6 : int(1..3)]), + and([q7 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[q7] = 2 | q7 : int(1..4)]), + 1 <= y_ExplicitVarSizeWithMarker_Marker, + and([y_ExplicitVarSizeWithDummy[q9] < y_ExplicitVarSizeWithDummy[q9 + 1] \/ y_ExplicitVarSizeWithDummy[q9] = 6 + | q9 : int(1..3)]), + and([y_ExplicitVarSizeWithDummy[q10] = 6 -> y_ExplicitVarSizeWithDummy[q10 + 1] = 6 | q10 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithDummy[q11] != 6) | q11 : int(1..4)]), + and([y_ExplicitVarSizeWithDummy[q14] != 6 -> + or([q16 <= y_ExplicitVarSizeWithMarker_Marker /\ + y_ExplicitVarSizeWithMarker_Values[q16] = y_ExplicitVarSizeWithDummy[q14] + | q16 : int(1..4)]) + | q14 : int(1..4)]), + and([q18 <= y_ExplicitVarSizeWithMarker_Marker -> + or([y_ExplicitVarSizeWithDummy[q20] != 6 /\ + y_ExplicitVarSizeWithDummy[q20] = y_ExplicitVarSizeWithMarker_Values[q18] + | q20 : int(1..4)]) + | q18 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_4_3_4_3-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_4_3_4_3-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_3_4_3-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_4_3_4_3-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_4_3_4_3-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_3_4_3-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_4_3_4_3.eprime b/tests/exhaustive/basic/set09/expected/model_4_3_4_3.eprime new file mode 100644 index 0000000000..926828d190 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_3_4_3.eprime @@ -0,0 +1,25 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithMarker_Marker: int(0..4) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, y_ExplicitVarSizeWithMarker_Marker, + y_ExplicitVarSizeWithMarker_Values] +such that + and([x_ExplicitVarSizeWithFlags_Flags[q9] /\ q10 <= y_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithFlags_Values[q9] + 2 = y_ExplicitVarSizeWithMarker_Values[q10] + | q9 : int(1..4), q10 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 2 | q2 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q4]) | q4 : int(1..4)]), + and([q6 + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithMarker_Values[q6] < y_ExplicitVarSizeWithMarker_Values[q6 + 1] + | q6 : int(1..3)]), + and([q7 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[q7] = 2 | q7 : int(1..4)]), + 1 <= y_ExplicitVarSizeWithMarker_Marker + diff --git a/tests/exhaustive/basic/set09/expected/model_4_3_4_4-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_4_3_4_4-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_3_4_4-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_4_3_4_4-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_4_3_4_4-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_3_4_4-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_4_3_4_4.eprime b/tests/exhaustive/basic/set09/expected/model_4_3_4_4.eprime new file mode 100644 index 0000000000..e141685012 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_3_4_4.eprime @@ -0,0 +1,44 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithMarker_Marker: int(0..4) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, y_ExplicitVarSizeWithFlags_Flags, + y_ExplicitVarSizeWithFlags_Values, y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values] +such that + and([x_ExplicitVarSizeWithFlags_Flags[q22] /\ q23 <= y_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithFlags_Values[q22] + 2 = y_ExplicitVarSizeWithMarker_Values[q23] + | q22 : int(1..4), q23 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 2 | q2 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q4]) | q4 : int(1..4)]), + and([q6 + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithMarker_Values[q6] < y_ExplicitVarSizeWithMarker_Values[q6 + 1] + | q6 : int(1..3)]), + and([q7 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[q7] = 2 | q7 : int(1..4)]), + 1 <= y_ExplicitVarSizeWithMarker_Marker, + and([y_ExplicitVarSizeWithFlags_Flags[q9 + 1] -> + y_ExplicitVarSizeWithFlags_Values[q9] < y_ExplicitVarSizeWithFlags_Values[q9 + 1] + | q9 : int(1..3)]), + and([y_ExplicitVarSizeWithFlags_Flags[q10] = false -> y_ExplicitVarSizeWithFlags_Values[q10] = 2 + | q10 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q11 + 1] -> y_ExplicitVarSizeWithFlags_Flags[q11] | q11 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithFlags_Flags[q12]) | q12 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q15] -> + or([q17 <= y_ExplicitVarSizeWithMarker_Marker /\ + y_ExplicitVarSizeWithMarker_Values[q17] = y_ExplicitVarSizeWithFlags_Values[q15] + | q17 : int(1..4)]) + | q15 : int(1..4)]), + and([q19 <= y_ExplicitVarSizeWithMarker_Marker -> + or([y_ExplicitVarSizeWithFlags_Flags[q21] /\ + y_ExplicitVarSizeWithFlags_Values[q21] = y_ExplicitVarSizeWithMarker_Values[q19] + | q21 : int(1..4)]) + | q19 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_4_4_1_1-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_4_4_1_1-solution000001.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_4_1_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_4_4_1_1-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_4_4_1_1-solution000002.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_4_1_1-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_4_4_1_1.eprime b/tests/exhaustive/basic/set09/expected/model_4_4_1_1.eprime new file mode 100644 index 0000000000..902354c009 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_4_1_1.eprime @@ -0,0 +1,40 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find x_Occurrence: matrix indexed by [int(2..5)] of bool +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_Occurrence: matrix indexed by [int(2..5)] of bool +branching on + [x_Occurrence, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, y_Occurrence, + y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values] +such that + and([x_ExplicitVarSizeWithFlags_Flags[q18] /\ y_ExplicitVarSizeWithFlags_Flags[q19] -> + x_ExplicitVarSizeWithFlags_Values[q18] + 2 = y_ExplicitVarSizeWithFlags_Values[q19] + | q18 : int(1..4), q19 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 2 | q2 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q4]) | q4 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q6 + 1] -> + y_ExplicitVarSizeWithFlags_Values[q6] < y_ExplicitVarSizeWithFlags_Values[q6 + 1] + | q6 : int(1..3)]), + and([y_ExplicitVarSizeWithFlags_Flags[q7] = false -> y_ExplicitVarSizeWithFlags_Values[q7] = 2 | q7 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q8 + 1] -> y_ExplicitVarSizeWithFlags_Flags[q8] | q8 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithFlags_Flags[q9]) | q9 : int(1..4)]), + 1 <= sum([toInt(x_Occurrence[q11]) | q11 : int(2..5)]), + and([x_Occurrence[q20] -> + or([x_ExplicitVarSizeWithFlags_Flags[q22] /\ x_ExplicitVarSizeWithFlags_Values[q22] = q20 | q22 : int(1..4)]) + | q20 : int(2..5)]), + and([x_ExplicitVarSizeWithFlags_Flags[q24] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q24]] + | q24 : int(1..4)]), + 1 <= sum([toInt(y_Occurrence[q12]) | q12 : int(2..5)]), + and([y_Occurrence[q13] -> + or([y_ExplicitVarSizeWithFlags_Flags[q15] /\ y_ExplicitVarSizeWithFlags_Values[q15] = q13 | q15 : int(1..4)]) + | q13 : int(2..5)]), + and([y_ExplicitVarSizeWithFlags_Flags[q17] -> y_Occurrence[y_ExplicitVarSizeWithFlags_Values[q17]] + | q17 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_4_4_1_2-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_4_4_1_2-solution000001.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_4_1_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_4_4_1_2-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_4_4_1_2-solution000002.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_4_1_2-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_4_4_1_2.eprime b/tests/exhaustive/basic/set09/expected/model_4_4_1_2.eprime new file mode 100644 index 0000000000..2093b2c8e5 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_4_1_2.eprime @@ -0,0 +1,48 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find x_Occurrence: matrix indexed by [int(2..5)] of bool +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +branching on + [x_Occurrence, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, y_ExplicitVarSizeWithDummy, + y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values] +such that + and([x_ExplicitVarSizeWithFlags_Flags[q29] /\ y_ExplicitVarSizeWithFlags_Flags[q30] -> + x_ExplicitVarSizeWithFlags_Values[q29] + 2 = y_ExplicitVarSizeWithFlags_Values[q30] + | q29 : int(1..4), q30 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 2 | q2 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q4]) | q4 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q6 + 1] -> + y_ExplicitVarSizeWithFlags_Values[q6] < y_ExplicitVarSizeWithFlags_Values[q6 + 1] + | q6 : int(1..3)]), + and([y_ExplicitVarSizeWithFlags_Flags[q7] = false -> y_ExplicitVarSizeWithFlags_Values[q7] = 2 | q7 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q8 + 1] -> y_ExplicitVarSizeWithFlags_Flags[q8] | q8 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithFlags_Flags[q9]) | q9 : int(1..4)]), + 1 <= sum([toInt(x_Occurrence[q11]) | q11 : int(2..5)]), + and([x_Occurrence[q24] -> + or([x_ExplicitVarSizeWithFlags_Flags[q26] /\ x_ExplicitVarSizeWithFlags_Values[q26] = q24 | q26 : int(1..4)]) + | q24 : int(2..5)]), + and([x_ExplicitVarSizeWithFlags_Flags[q28] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q28]] + | q28 : int(1..4)]), + and([y_ExplicitVarSizeWithDummy[q12] < y_ExplicitVarSizeWithDummy[q12 + 1] \/ y_ExplicitVarSizeWithDummy[q12] = 6 + | q12 : int(1..3)]), + and([y_ExplicitVarSizeWithDummy[q13] = 6 -> y_ExplicitVarSizeWithDummy[q13 + 1] = 6 | q13 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithDummy[q14] != 6) | q14 : int(1..4)]), + and([y_ExplicitVarSizeWithDummy[q17] != 6 -> + or([y_ExplicitVarSizeWithFlags_Flags[q19] /\ + y_ExplicitVarSizeWithFlags_Values[q19] = y_ExplicitVarSizeWithDummy[q17] + | q19 : int(1..4)]) + | q17 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q21] -> + or([y_ExplicitVarSizeWithDummy[q23] != 6 /\ + y_ExplicitVarSizeWithDummy[q23] = y_ExplicitVarSizeWithFlags_Values[q21] + | q23 : int(1..4)]) + | q21 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_4_4_1_3-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_4_4_1_3-solution000001.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_4_1_3-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_4_4_1_3-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_4_4_1_3-solution000002.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_4_1_3-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_4_4_1_3.eprime b/tests/exhaustive/basic/set09/expected/model_4_4_1_3.eprime new file mode 100644 index 0000000000..f2ea1ae61a --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_4_1_3.eprime @@ -0,0 +1,51 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find x_Occurrence: matrix indexed by [int(2..5)] of bool +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithMarker_Marker: int(0..4) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +branching on + [x_Occurrence, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, + y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values, y_ExplicitVarSizeWithFlags_Flags, + y_ExplicitVarSizeWithFlags_Values] +such that + and([x_ExplicitVarSizeWithFlags_Flags[q28] /\ y_ExplicitVarSizeWithFlags_Flags[q29] -> + x_ExplicitVarSizeWithFlags_Values[q28] + 2 = y_ExplicitVarSizeWithFlags_Values[q29] + | q28 : int(1..4), q29 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 2 | q2 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q4]) | q4 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q6 + 1] -> + y_ExplicitVarSizeWithFlags_Values[q6] < y_ExplicitVarSizeWithFlags_Values[q6 + 1] + | q6 : int(1..3)]), + and([y_ExplicitVarSizeWithFlags_Flags[q7] = false -> y_ExplicitVarSizeWithFlags_Values[q7] = 2 | q7 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q8 + 1] -> y_ExplicitVarSizeWithFlags_Flags[q8] | q8 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithFlags_Flags[q9]) | q9 : int(1..4)]), + 1 <= sum([toInt(x_Occurrence[q11]) | q11 : int(2..5)]), + and([x_Occurrence[q23] -> + or([x_ExplicitVarSizeWithFlags_Flags[q25] /\ x_ExplicitVarSizeWithFlags_Values[q25] = q23 | q25 : int(1..4)]) + | q23 : int(2..5)]), + and([x_ExplicitVarSizeWithFlags_Flags[q27] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q27]] + | q27 : int(1..4)]), + and([q12 + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithMarker_Values[q12] < y_ExplicitVarSizeWithMarker_Values[q12 + 1] + | q12 : int(1..3)]), + and([q13 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[q13] = 2 | q13 : int(1..4)]), + 1 <= y_ExplicitVarSizeWithMarker_Marker, + and([q16 <= y_ExplicitVarSizeWithMarker_Marker -> + or([y_ExplicitVarSizeWithFlags_Flags[q18] /\ + y_ExplicitVarSizeWithFlags_Values[q18] = y_ExplicitVarSizeWithMarker_Values[q16] + | q18 : int(1..4)]) + | q16 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q20] -> + or([q22 <= y_ExplicitVarSizeWithMarker_Marker /\ + y_ExplicitVarSizeWithMarker_Values[q22] = y_ExplicitVarSizeWithFlags_Values[q20] + | q22 : int(1..4)]) + | q20 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_4_4_1_4-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_4_4_1_4-solution000001.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_4_1_4-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_4_4_1_4-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_4_4_1_4-solution000002.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_4_1_4-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_4_4_1_4.eprime b/tests/exhaustive/basic/set09/expected/model_4_4_1_4.eprime new file mode 100644 index 0000000000..ca5e2cadb0 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_4_1_4.eprime @@ -0,0 +1,33 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find x_Occurrence: matrix indexed by [int(2..5)] of bool +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +branching on + [x_Occurrence, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, + y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values] +such that + and([x_ExplicitVarSizeWithFlags_Flags[q17] /\ y_ExplicitVarSizeWithFlags_Flags[q18] -> + x_ExplicitVarSizeWithFlags_Values[q17] + 2 = y_ExplicitVarSizeWithFlags_Values[q18] + | q17 : int(1..4), q18 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 2 | q2 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q4]) | q4 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q6 + 1] -> + y_ExplicitVarSizeWithFlags_Values[q6] < y_ExplicitVarSizeWithFlags_Values[q6 + 1] + | q6 : int(1..3)]), + and([y_ExplicitVarSizeWithFlags_Flags[q7] = false -> y_ExplicitVarSizeWithFlags_Values[q7] = 2 | q7 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q8 + 1] -> y_ExplicitVarSizeWithFlags_Flags[q8] | q8 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithFlags_Flags[q9]) | q9 : int(1..4)]), + 1 <= sum([toInt(x_Occurrence[q11]) | q11 : int(2..5)]), + and([x_Occurrence[q12] -> + or([x_ExplicitVarSizeWithFlags_Flags[q14] /\ x_ExplicitVarSizeWithFlags_Values[q14] = q12 | q14 : int(1..4)]) + | q12 : int(2..5)]), + and([x_ExplicitVarSizeWithFlags_Flags[q16] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[q16]] + | q16 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_4_4_2_1-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_4_4_2_1-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_4_2_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_4_4_2_1-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_4_4_2_1-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_4_2_1-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_4_4_2_1.eprime b/tests/exhaustive/basic/set09/expected/model_4_4_2_1.eprime new file mode 100644 index 0000000000..627fd329ca --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_4_2_1.eprime @@ -0,0 +1,48 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_Occurrence: matrix indexed by [int(2..5)] of bool +branching on + [x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, y_Occurrence, + y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values] +such that + and([x_ExplicitVarSizeWithFlags_Flags[q29] /\ y_ExplicitVarSizeWithFlags_Flags[q30] -> + x_ExplicitVarSizeWithFlags_Values[q29] + 2 = y_ExplicitVarSizeWithFlags_Values[q30] + | q29 : int(1..4), q30 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 2 | q2 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q4]) | q4 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q6 + 1] -> + y_ExplicitVarSizeWithFlags_Values[q6] < y_ExplicitVarSizeWithFlags_Values[q6 + 1] + | q6 : int(1..3)]), + and([y_ExplicitVarSizeWithFlags_Flags[q7] = false -> y_ExplicitVarSizeWithFlags_Values[q7] = 2 | q7 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q8 + 1] -> y_ExplicitVarSizeWithFlags_Flags[q8] | q8 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithFlags_Flags[q9]) | q9 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q11] < x_ExplicitVarSizeWithDummy[q11 + 1] \/ x_ExplicitVarSizeWithDummy[q11] = 6 + | q11 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q12] = 6 -> x_ExplicitVarSizeWithDummy[q12 + 1] = 6 | q12 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithDummy[q13] != 6) | q13 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q16] != 6 -> + or([x_ExplicitVarSizeWithFlags_Flags[q18] /\ + x_ExplicitVarSizeWithFlags_Values[q18] = x_ExplicitVarSizeWithDummy[q16] + | q18 : int(1..4)]) + | q16 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q20] -> + or([x_ExplicitVarSizeWithDummy[q22] != 6 /\ + x_ExplicitVarSizeWithDummy[q22] = x_ExplicitVarSizeWithFlags_Values[q20] + | q22 : int(1..4)]) + | q20 : int(1..4)]), + 1 <= sum([toInt(y_Occurrence[q23]) | q23 : int(2..5)]), + and([y_Occurrence[q24] -> + or([y_ExplicitVarSizeWithFlags_Flags[q26] /\ y_ExplicitVarSizeWithFlags_Values[q26] = q24 | q26 : int(1..4)]) + | q24 : int(2..5)]), + and([y_ExplicitVarSizeWithFlags_Flags[q28] -> y_Occurrence[y_ExplicitVarSizeWithFlags_Values[q28]] + | q28 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_4_4_2_2-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_4_4_2_2-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_4_2_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_4_4_2_2-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_4_4_2_2-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_4_2_2-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_4_4_2_2.eprime b/tests/exhaustive/basic/set09/expected/model_4_4_2_2.eprime new file mode 100644 index 0000000000..0002083a4b --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_4_2_2.eprime @@ -0,0 +1,56 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +branching on + [x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, + y_ExplicitVarSizeWithDummy, y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values] +such that + and([x_ExplicitVarSizeWithFlags_Flags[q35] /\ y_ExplicitVarSizeWithFlags_Flags[q36] -> + x_ExplicitVarSizeWithFlags_Values[q35] + 2 = y_ExplicitVarSizeWithFlags_Values[q36] + | q35 : int(1..4), q36 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 2 | q2 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q4]) | q4 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q6 + 1] -> + y_ExplicitVarSizeWithFlags_Values[q6] < y_ExplicitVarSizeWithFlags_Values[q6 + 1] + | q6 : int(1..3)]), + and([y_ExplicitVarSizeWithFlags_Flags[q7] = false -> y_ExplicitVarSizeWithFlags_Values[q7] = 2 | q7 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q8 + 1] -> y_ExplicitVarSizeWithFlags_Flags[q8] | q8 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithFlags_Flags[q9]) | q9 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q11] < x_ExplicitVarSizeWithDummy[q11 + 1] \/ x_ExplicitVarSizeWithDummy[q11] = 6 + | q11 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q12] = 6 -> x_ExplicitVarSizeWithDummy[q12 + 1] = 6 | q12 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithDummy[q13] != 6) | q13 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q16] != 6 -> + or([x_ExplicitVarSizeWithFlags_Flags[q18] /\ + x_ExplicitVarSizeWithFlags_Values[q18] = x_ExplicitVarSizeWithDummy[q16] + | q18 : int(1..4)]) + | q16 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q20] -> + or([x_ExplicitVarSizeWithDummy[q22] != 6 /\ + x_ExplicitVarSizeWithDummy[q22] = x_ExplicitVarSizeWithFlags_Values[q20] + | q22 : int(1..4)]) + | q20 : int(1..4)]), + and([y_ExplicitVarSizeWithDummy[q23] < y_ExplicitVarSizeWithDummy[q23 + 1] \/ y_ExplicitVarSizeWithDummy[q23] = 6 + | q23 : int(1..3)]), + and([y_ExplicitVarSizeWithDummy[q24] = 6 -> y_ExplicitVarSizeWithDummy[q24 + 1] = 6 | q24 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithDummy[q25] != 6) | q25 : int(1..4)]), + and([y_ExplicitVarSizeWithDummy[q28] != 6 -> + or([y_ExplicitVarSizeWithFlags_Flags[q30] /\ + y_ExplicitVarSizeWithFlags_Values[q30] = y_ExplicitVarSizeWithDummy[q28] + | q30 : int(1..4)]) + | q28 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q32] -> + or([y_ExplicitVarSizeWithDummy[q34] != 6 /\ + y_ExplicitVarSizeWithDummy[q34] = y_ExplicitVarSizeWithFlags_Values[q32] + | q34 : int(1..4)]) + | q32 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_4_4_2_3-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_4_4_2_3-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_4_2_3-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_4_4_2_3-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_4_4_2_3-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_4_2_3-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_4_4_2_3.eprime b/tests/exhaustive/basic/set09/expected/model_4_4_2_3.eprime new file mode 100644 index 0000000000..95276e3dcb --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_4_2_3.eprime @@ -0,0 +1,59 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithMarker_Marker: int(0..4) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +branching on + [x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, + y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values, y_ExplicitVarSizeWithFlags_Flags, + y_ExplicitVarSizeWithFlags_Values] +such that + and([x_ExplicitVarSizeWithFlags_Flags[q34] /\ y_ExplicitVarSizeWithFlags_Flags[q35] -> + x_ExplicitVarSizeWithFlags_Values[q34] + 2 = y_ExplicitVarSizeWithFlags_Values[q35] + | q34 : int(1..4), q35 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 2 | q2 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q4]) | q4 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q6 + 1] -> + y_ExplicitVarSizeWithFlags_Values[q6] < y_ExplicitVarSizeWithFlags_Values[q6 + 1] + | q6 : int(1..3)]), + and([y_ExplicitVarSizeWithFlags_Flags[q7] = false -> y_ExplicitVarSizeWithFlags_Values[q7] = 2 | q7 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q8 + 1] -> y_ExplicitVarSizeWithFlags_Flags[q8] | q8 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithFlags_Flags[q9]) | q9 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q11] < x_ExplicitVarSizeWithDummy[q11 + 1] \/ x_ExplicitVarSizeWithDummy[q11] = 6 + | q11 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q12] = 6 -> x_ExplicitVarSizeWithDummy[q12 + 1] = 6 | q12 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithDummy[q13] != 6) | q13 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q16] != 6 -> + or([x_ExplicitVarSizeWithFlags_Flags[q18] /\ + x_ExplicitVarSizeWithFlags_Values[q18] = x_ExplicitVarSizeWithDummy[q16] + | q18 : int(1..4)]) + | q16 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q20] -> + or([x_ExplicitVarSizeWithDummy[q22] != 6 /\ + x_ExplicitVarSizeWithDummy[q22] = x_ExplicitVarSizeWithFlags_Values[q20] + | q22 : int(1..4)]) + | q20 : int(1..4)]), + and([q23 + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithMarker_Values[q23] < y_ExplicitVarSizeWithMarker_Values[q23 + 1] + | q23 : int(1..3)]), + and([q24 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[q24] = 2 | q24 : int(1..4)]), + 1 <= y_ExplicitVarSizeWithMarker_Marker, + and([q27 <= y_ExplicitVarSizeWithMarker_Marker -> + or([y_ExplicitVarSizeWithFlags_Flags[q29] /\ + y_ExplicitVarSizeWithFlags_Values[q29] = y_ExplicitVarSizeWithMarker_Values[q27] + | q29 : int(1..4)]) + | q27 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q31] -> + or([q33 <= y_ExplicitVarSizeWithMarker_Marker /\ + y_ExplicitVarSizeWithMarker_Values[q33] = y_ExplicitVarSizeWithFlags_Values[q31] + | q33 : int(1..4)]) + | q31 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_4_4_2_4-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_4_4_2_4-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_4_2_4-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_4_4_2_4-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_4_4_2_4-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_4_2_4-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_4_4_2_4.eprime b/tests/exhaustive/basic/set09/expected/model_4_4_2_4.eprime new file mode 100644 index 0000000000..05c62046ee --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_4_2_4.eprime @@ -0,0 +1,41 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +branching on + [x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, + y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values] +such that + and([x_ExplicitVarSizeWithFlags_Flags[q23] /\ y_ExplicitVarSizeWithFlags_Flags[q24] -> + x_ExplicitVarSizeWithFlags_Values[q23] + 2 = y_ExplicitVarSizeWithFlags_Values[q24] + | q23 : int(1..4), q24 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 2 | q2 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q4]) | q4 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q6 + 1] -> + y_ExplicitVarSizeWithFlags_Values[q6] < y_ExplicitVarSizeWithFlags_Values[q6 + 1] + | q6 : int(1..3)]), + and([y_ExplicitVarSizeWithFlags_Flags[q7] = false -> y_ExplicitVarSizeWithFlags_Values[q7] = 2 | q7 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q8 + 1] -> y_ExplicitVarSizeWithFlags_Flags[q8] | q8 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithFlags_Flags[q9]) | q9 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q11] < x_ExplicitVarSizeWithDummy[q11 + 1] \/ x_ExplicitVarSizeWithDummy[q11] = 6 + | q11 : int(1..3)]), + and([x_ExplicitVarSizeWithDummy[q12] = 6 -> x_ExplicitVarSizeWithDummy[q12 + 1] = 6 | q12 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithDummy[q13] != 6) | q13 : int(1..4)]), + and([x_ExplicitVarSizeWithDummy[q16] != 6 -> + or([x_ExplicitVarSizeWithFlags_Flags[q18] /\ + x_ExplicitVarSizeWithFlags_Values[q18] = x_ExplicitVarSizeWithDummy[q16] + | q18 : int(1..4)]) + | q16 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q20] -> + or([x_ExplicitVarSizeWithDummy[q22] != 6 /\ + x_ExplicitVarSizeWithDummy[q22] = x_ExplicitVarSizeWithFlags_Values[q20] + | q22 : int(1..4)]) + | q20 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_4_4_3_1-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_4_4_3_1-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_4_3_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_4_4_3_1-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_4_4_3_1-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_4_3_1-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_4_4_3_1.eprime b/tests/exhaustive/basic/set09/expected/model_4_4_3_1.eprime new file mode 100644 index 0000000000..310494b661 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_4_3_1.eprime @@ -0,0 +1,51 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_Occurrence: matrix indexed by [int(2..5)] of bool +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_ExplicitVarSizeWithFlags_Flags, + x_ExplicitVarSizeWithFlags_Values, y_Occurrence, y_ExplicitVarSizeWithFlags_Flags, + y_ExplicitVarSizeWithFlags_Values] +such that + and([x_ExplicitVarSizeWithFlags_Flags[q28] /\ y_ExplicitVarSizeWithFlags_Flags[q29] -> + x_ExplicitVarSizeWithFlags_Values[q28] + 2 = y_ExplicitVarSizeWithFlags_Values[q29] + | q28 : int(1..4), q29 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 2 | q2 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q4]) | q4 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q6 + 1] -> + y_ExplicitVarSizeWithFlags_Values[q6] < y_ExplicitVarSizeWithFlags_Values[q6 + 1] + | q6 : int(1..3)]), + and([y_ExplicitVarSizeWithFlags_Flags[q7] = false -> y_ExplicitVarSizeWithFlags_Values[q7] = 2 | q7 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q8 + 1] -> y_ExplicitVarSizeWithFlags_Flags[q8] | q8 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithFlags_Flags[q9]) | q9 : int(1..4)]), + and([q11 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q11] < x_ExplicitVarSizeWithMarker_Values[q11 + 1] + | q11 : int(1..3)]), + and([q12 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q12] = 2 | q12 : int(1..4)]), + 1 <= x_ExplicitVarSizeWithMarker_Marker, + and([q15 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q17] /\ + x_ExplicitVarSizeWithFlags_Values[q17] = x_ExplicitVarSizeWithMarker_Values[q15] + | q17 : int(1..4)]) + | q15 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q19] -> + or([q21 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q21] = x_ExplicitVarSizeWithFlags_Values[q19] + | q21 : int(1..4)]) + | q19 : int(1..4)]), + 1 <= sum([toInt(y_Occurrence[q22]) | q22 : int(2..5)]), + and([y_Occurrence[q23] -> + or([y_ExplicitVarSizeWithFlags_Flags[q25] /\ y_ExplicitVarSizeWithFlags_Values[q25] = q23 | q25 : int(1..4)]) + | q23 : int(2..5)]), + and([y_ExplicitVarSizeWithFlags_Flags[q27] -> y_Occurrence[y_ExplicitVarSizeWithFlags_Values[q27]] + | q27 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_4_4_3_2-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_4_4_3_2-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_4_3_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_4_4_3_2-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_4_4_3_2-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_4_3_2-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_4_4_3_2.eprime b/tests/exhaustive/basic/set09/expected/model_4_4_3_2.eprime new file mode 100644 index 0000000000..8fbea0fc93 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_4_3_2.eprime @@ -0,0 +1,59 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_ExplicitVarSizeWithFlags_Flags, + x_ExplicitVarSizeWithFlags_Values, y_ExplicitVarSizeWithDummy, y_ExplicitVarSizeWithFlags_Flags, + y_ExplicitVarSizeWithFlags_Values] +such that + and([x_ExplicitVarSizeWithFlags_Flags[q34] /\ y_ExplicitVarSizeWithFlags_Flags[q35] -> + x_ExplicitVarSizeWithFlags_Values[q34] + 2 = y_ExplicitVarSizeWithFlags_Values[q35] + | q34 : int(1..4), q35 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 2 | q2 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q4]) | q4 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q6 + 1] -> + y_ExplicitVarSizeWithFlags_Values[q6] < y_ExplicitVarSizeWithFlags_Values[q6 + 1] + | q6 : int(1..3)]), + and([y_ExplicitVarSizeWithFlags_Flags[q7] = false -> y_ExplicitVarSizeWithFlags_Values[q7] = 2 | q7 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q8 + 1] -> y_ExplicitVarSizeWithFlags_Flags[q8] | q8 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithFlags_Flags[q9]) | q9 : int(1..4)]), + and([q11 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q11] < x_ExplicitVarSizeWithMarker_Values[q11 + 1] + | q11 : int(1..3)]), + and([q12 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q12] = 2 | q12 : int(1..4)]), + 1 <= x_ExplicitVarSizeWithMarker_Marker, + and([q15 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q17] /\ + x_ExplicitVarSizeWithFlags_Values[q17] = x_ExplicitVarSizeWithMarker_Values[q15] + | q17 : int(1..4)]) + | q15 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q19] -> + or([q21 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q21] = x_ExplicitVarSizeWithFlags_Values[q19] + | q21 : int(1..4)]) + | q19 : int(1..4)]), + and([y_ExplicitVarSizeWithDummy[q22] < y_ExplicitVarSizeWithDummy[q22 + 1] \/ y_ExplicitVarSizeWithDummy[q22] = 6 + | q22 : int(1..3)]), + and([y_ExplicitVarSizeWithDummy[q23] = 6 -> y_ExplicitVarSizeWithDummy[q23 + 1] = 6 | q23 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithDummy[q24] != 6) | q24 : int(1..4)]), + and([y_ExplicitVarSizeWithDummy[q27] != 6 -> + or([y_ExplicitVarSizeWithFlags_Flags[q29] /\ + y_ExplicitVarSizeWithFlags_Values[q29] = y_ExplicitVarSizeWithDummy[q27] + | q29 : int(1..4)]) + | q27 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q31] -> + or([y_ExplicitVarSizeWithDummy[q33] != 6 /\ + y_ExplicitVarSizeWithDummy[q33] = y_ExplicitVarSizeWithFlags_Values[q31] + | q33 : int(1..4)]) + | q31 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_4_4_3_3-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_4_4_3_3-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_4_3_3-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_4_4_3_3-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_4_4_3_3-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_4_3_3-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_4_4_3_3.eprime b/tests/exhaustive/basic/set09/expected/model_4_4_3_3.eprime new file mode 100644 index 0000000000..a1e6b33da9 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_4_3_3.eprime @@ -0,0 +1,61 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithMarker_Marker: int(0..4) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_ExplicitVarSizeWithFlags_Flags, + x_ExplicitVarSizeWithFlags_Values, y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values, + y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values] +such that + and([x_ExplicitVarSizeWithFlags_Flags[q33] /\ y_ExplicitVarSizeWithFlags_Flags[q34] -> + x_ExplicitVarSizeWithFlags_Values[q33] + 2 = y_ExplicitVarSizeWithFlags_Values[q34] + | q33 : int(1..4), q34 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 2 | q2 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q4]) | q4 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q6 + 1] -> + y_ExplicitVarSizeWithFlags_Values[q6] < y_ExplicitVarSizeWithFlags_Values[q6 + 1] + | q6 : int(1..3)]), + and([y_ExplicitVarSizeWithFlags_Flags[q7] = false -> y_ExplicitVarSizeWithFlags_Values[q7] = 2 | q7 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q8 + 1] -> y_ExplicitVarSizeWithFlags_Flags[q8] | q8 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithFlags_Flags[q9]) | q9 : int(1..4)]), + and([q11 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q11] < x_ExplicitVarSizeWithMarker_Values[q11 + 1] + | q11 : int(1..3)]), + and([q12 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q12] = 2 | q12 : int(1..4)]), + 1 <= x_ExplicitVarSizeWithMarker_Marker, + and([q15 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q17] /\ + x_ExplicitVarSizeWithFlags_Values[q17] = x_ExplicitVarSizeWithMarker_Values[q15] + | q17 : int(1..4)]) + | q15 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q19] -> + or([q21 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q21] = x_ExplicitVarSizeWithFlags_Values[q19] + | q21 : int(1..4)]) + | q19 : int(1..4)]), + and([q22 + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithMarker_Values[q22] < y_ExplicitVarSizeWithMarker_Values[q22 + 1] + | q22 : int(1..3)]), + and([q23 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[q23] = 2 | q23 : int(1..4)]), + 1 <= y_ExplicitVarSizeWithMarker_Marker, + and([q26 <= y_ExplicitVarSizeWithMarker_Marker -> + or([y_ExplicitVarSizeWithFlags_Flags[q28] /\ + y_ExplicitVarSizeWithFlags_Values[q28] = y_ExplicitVarSizeWithMarker_Values[q26] + | q28 : int(1..4)]) + | q26 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q30] -> + or([q32 <= y_ExplicitVarSizeWithMarker_Marker /\ + y_ExplicitVarSizeWithMarker_Values[q32] = y_ExplicitVarSizeWithFlags_Values[q30] + | q32 : int(1..4)]) + | q30 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_4_4_3_4-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_4_4_3_4-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_4_3_4-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_4_4_3_4-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_4_4_3_4-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_4_3_4-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_4_4_3_4.eprime b/tests/exhaustive/basic/set09/expected/model_4_4_3_4.eprime new file mode 100644 index 0000000000..fd4427c028 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_4_3_4.eprime @@ -0,0 +1,43 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find x_ExplicitVarSizeWithMarker_Marker: int(0..4) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_ExplicitVarSizeWithFlags_Flags, + x_ExplicitVarSizeWithFlags_Values, y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values] +such that + and([x_ExplicitVarSizeWithFlags_Flags[q22] /\ y_ExplicitVarSizeWithFlags_Flags[q23] -> + x_ExplicitVarSizeWithFlags_Values[q22] + 2 = y_ExplicitVarSizeWithFlags_Values[q23] + | q22 : int(1..4), q23 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 2 | q2 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q4]) | q4 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q6 + 1] -> + y_ExplicitVarSizeWithFlags_Values[q6] < y_ExplicitVarSizeWithFlags_Values[q6 + 1] + | q6 : int(1..3)]), + and([y_ExplicitVarSizeWithFlags_Flags[q7] = false -> y_ExplicitVarSizeWithFlags_Values[q7] = 2 | q7 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q8 + 1] -> y_ExplicitVarSizeWithFlags_Flags[q8] | q8 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithFlags_Flags[q9]) | q9 : int(1..4)]), + and([q11 + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithMarker_Values[q11] < x_ExplicitVarSizeWithMarker_Values[q11 + 1] + | q11 : int(1..3)]), + and([q12 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[q12] = 2 | q12 : int(1..4)]), + 1 <= x_ExplicitVarSizeWithMarker_Marker, + and([q15 <= x_ExplicitVarSizeWithMarker_Marker -> + or([x_ExplicitVarSizeWithFlags_Flags[q17] /\ + x_ExplicitVarSizeWithFlags_Values[q17] = x_ExplicitVarSizeWithMarker_Values[q15] + | q17 : int(1..4)]) + | q15 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q19] -> + or([q21 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[q21] = x_ExplicitVarSizeWithFlags_Values[q19] + | q21 : int(1..4)]) + | q19 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_4_4_4_1-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_4_4_4_1-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_4_4_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_4_4_4_1-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_4_4_4_1-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_4_4_1-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_4_4_4_1.eprime b/tests/exhaustive/basic/set09/expected/model_4_4_4_1.eprime new file mode 100644 index 0000000000..3dd731472f --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_4_4_1.eprime @@ -0,0 +1,33 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_Occurrence: matrix indexed by [int(2..5)] of bool +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, y_Occurrence, + y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values] +such that + and([x_ExplicitVarSizeWithFlags_Flags[q17] /\ y_ExplicitVarSizeWithFlags_Flags[q18] -> + x_ExplicitVarSizeWithFlags_Values[q17] + 2 = y_ExplicitVarSizeWithFlags_Values[q18] + | q17 : int(1..4), q18 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 2 | q2 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q4]) | q4 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q6 + 1] -> + y_ExplicitVarSizeWithFlags_Values[q6] < y_ExplicitVarSizeWithFlags_Values[q6 + 1] + | q6 : int(1..3)]), + and([y_ExplicitVarSizeWithFlags_Flags[q7] = false -> y_ExplicitVarSizeWithFlags_Values[q7] = 2 | q7 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q8 + 1] -> y_ExplicitVarSizeWithFlags_Flags[q8] | q8 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithFlags_Flags[q9]) | q9 : int(1..4)]), + 1 <= sum([toInt(y_Occurrence[q11]) | q11 : int(2..5)]), + and([y_Occurrence[q12] -> + or([y_ExplicitVarSizeWithFlags_Flags[q14] /\ y_ExplicitVarSizeWithFlags_Values[q14] = q12 | q14 : int(1..4)]) + | q12 : int(2..5)]), + and([y_ExplicitVarSizeWithFlags_Flags[q16] -> y_Occurrence[y_ExplicitVarSizeWithFlags_Values[q16]] + | q16 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_4_4_4_2-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_4_4_4_2-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_4_4_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_4_4_4_2-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_4_4_4_2-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_4_4_2-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_4_4_4_2.eprime b/tests/exhaustive/basic/set09/expected/model_4_4_4_2.eprime new file mode 100644 index 0000000000..256ad5b5d2 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_4_4_2.eprime @@ -0,0 +1,41 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4)] of int(2..6) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, y_ExplicitVarSizeWithDummy, + y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values] +such that + and([x_ExplicitVarSizeWithFlags_Flags[q23] /\ y_ExplicitVarSizeWithFlags_Flags[q24] -> + x_ExplicitVarSizeWithFlags_Values[q23] + 2 = y_ExplicitVarSizeWithFlags_Values[q24] + | q23 : int(1..4), q24 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 2 | q2 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q4]) | q4 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q6 + 1] -> + y_ExplicitVarSizeWithFlags_Values[q6] < y_ExplicitVarSizeWithFlags_Values[q6 + 1] + | q6 : int(1..3)]), + and([y_ExplicitVarSizeWithFlags_Flags[q7] = false -> y_ExplicitVarSizeWithFlags_Values[q7] = 2 | q7 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q8 + 1] -> y_ExplicitVarSizeWithFlags_Flags[q8] | q8 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithFlags_Flags[q9]) | q9 : int(1..4)]), + and([y_ExplicitVarSizeWithDummy[q11] < y_ExplicitVarSizeWithDummy[q11 + 1] \/ y_ExplicitVarSizeWithDummy[q11] = 6 + | q11 : int(1..3)]), + and([y_ExplicitVarSizeWithDummy[q12] = 6 -> y_ExplicitVarSizeWithDummy[q12 + 1] = 6 | q12 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithDummy[q13] != 6) | q13 : int(1..4)]), + and([y_ExplicitVarSizeWithDummy[q16] != 6 -> + or([y_ExplicitVarSizeWithFlags_Flags[q18] /\ + y_ExplicitVarSizeWithFlags_Values[q18] = y_ExplicitVarSizeWithDummy[q16] + | q18 : int(1..4)]) + | q16 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q20] -> + or([y_ExplicitVarSizeWithDummy[q22] != 6 /\ + y_ExplicitVarSizeWithDummy[q22] = y_ExplicitVarSizeWithFlags_Values[q20] + | q22 : int(1..4)]) + | q20 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_4_4_4_3-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_4_4_4_3-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_4_4_3-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_4_4_4_3-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_4_4_4_3-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_4_4_3-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_4_4_4_3.eprime b/tests/exhaustive/basic/set09/expected/model_4_4_4_3.eprime new file mode 100644 index 0000000000..c694863719 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_4_4_3.eprime @@ -0,0 +1,43 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithMarker_Marker: int(0..4) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..4)] of int(2..5) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, y_ExplicitVarSizeWithMarker_Marker, + y_ExplicitVarSizeWithMarker_Values, y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values] +such that + and([x_ExplicitVarSizeWithFlags_Flags[q22] /\ y_ExplicitVarSizeWithFlags_Flags[q23] -> + x_ExplicitVarSizeWithFlags_Values[q22] + 2 = y_ExplicitVarSizeWithFlags_Values[q23] + | q22 : int(1..4), q23 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 2 | q2 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q4]) | q4 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q6 + 1] -> + y_ExplicitVarSizeWithFlags_Values[q6] < y_ExplicitVarSizeWithFlags_Values[q6 + 1] + | q6 : int(1..3)]), + and([y_ExplicitVarSizeWithFlags_Flags[q7] = false -> y_ExplicitVarSizeWithFlags_Values[q7] = 2 | q7 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q8 + 1] -> y_ExplicitVarSizeWithFlags_Flags[q8] | q8 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithFlags_Flags[q9]) | q9 : int(1..4)]), + and([q11 + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithMarker_Values[q11] < y_ExplicitVarSizeWithMarker_Values[q11 + 1] + | q11 : int(1..3)]), + and([q12 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[q12] = 2 | q12 : int(1..4)]), + 1 <= y_ExplicitVarSizeWithMarker_Marker, + and([q15 <= y_ExplicitVarSizeWithMarker_Marker -> + or([y_ExplicitVarSizeWithFlags_Flags[q17] /\ + y_ExplicitVarSizeWithFlags_Values[q17] = y_ExplicitVarSizeWithMarker_Values[q15] + | q17 : int(1..4)]) + | q15 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q19] -> + or([q21 <= y_ExplicitVarSizeWithMarker_Marker /\ + y_ExplicitVarSizeWithMarker_Values[q21] = y_ExplicitVarSizeWithFlags_Values[q19] + | q21 : int(1..4)]) + | q19 : int(1..4)]) + diff --git a/tests/exhaustive/basic/set09/expected/model_4_4_4_4-solution000001.solution b/tests/exhaustive/basic/set09/expected/model_4_4_4_4-solution000001.solution new file mode 100644 index 0000000000..48003f5fce --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_4_4_4-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {2} +letting y be {4} diff --git a/tests/exhaustive/basic/set09/expected/model_4_4_4_4-solution000002.solution b/tests/exhaustive/basic/set09/expected/model_4_4_4_4-solution000002.solution new file mode 100644 index 0000000000..0b94905e4c --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_4_4_4-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {3} +letting y be {5} diff --git a/tests/exhaustive/basic/set09/expected/model_4_4_4_4.eprime b/tests/exhaustive/basic/set09/expected/model_4_4_4_4.eprime new file mode 100644 index 0000000000..1741be5b67 --- /dev/null +++ b/tests/exhaustive/basic/set09/expected/model_4_4_4_4.eprime @@ -0,0 +1,26 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..4)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..4)] of int(2..5) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, y_ExplicitVarSizeWithFlags_Flags, + y_ExplicitVarSizeWithFlags_Values] +such that + and([x_ExplicitVarSizeWithFlags_Flags[q11] /\ y_ExplicitVarSizeWithFlags_Flags[q12] -> + x_ExplicitVarSizeWithFlags_Values[q11] + 2 = y_ExplicitVarSizeWithFlags_Values[q12] + | q11 : int(1..4), q12 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q1 + 1] -> + x_ExplicitVarSizeWithFlags_Values[q1] < x_ExplicitVarSizeWithFlags_Values[q1 + 1] + | q1 : int(1..3)]), + and([x_ExplicitVarSizeWithFlags_Flags[q2] = false -> x_ExplicitVarSizeWithFlags_Values[q2] = 2 | q2 : int(1..4)]), + and([x_ExplicitVarSizeWithFlags_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlags_Flags[q3] | q3 : int(1..3)]), + 1 <= sum([toInt(x_ExplicitVarSizeWithFlags_Flags[q4]) | q4 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q6 + 1] -> + y_ExplicitVarSizeWithFlags_Values[q6] < y_ExplicitVarSizeWithFlags_Values[q6 + 1] + | q6 : int(1..3)]), + and([y_ExplicitVarSizeWithFlags_Flags[q7] = false -> y_ExplicitVarSizeWithFlags_Values[q7] = 2 | q7 : int(1..4)]), + and([y_ExplicitVarSizeWithFlags_Flags[q8 + 1] -> y_ExplicitVarSizeWithFlags_Flags[q8] | q8 : int(1..3)]), + 1 <= sum([toInt(y_ExplicitVarSizeWithFlags_Flags[q9]) | q9 : int(1..4)]) + diff --git a/tests/exhaustive/basic/setOfSet01/expected/model_1-solution000001.solution b/tests/exhaustive/basic/setOfSet01/expected/model_1-solution000001.solution new file mode 100644 index 0000000000..1a734343d9 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet01/expected/model_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {} diff --git a/tests/exhaustive/basic/setOfSet01/expected/model_1-solution000002.solution b/tests/exhaustive/basic/setOfSet01/expected/model_1-solution000002.solution new file mode 100644 index 0000000000..7c5b3bfc58 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet01/expected/model_1-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {{}} diff --git a/tests/exhaustive/basic/setOfSet01/expected/model_1-solution000003.solution b/tests/exhaustive/basic/setOfSet01/expected/model_1-solution000003.solution new file mode 100644 index 0000000000..550c68f48c --- /dev/null +++ b/tests/exhaustive/basic/setOfSet01/expected/model_1-solution000003.solution @@ -0,0 +1,6 @@ +language Essence 1.3 + +letting x be {{2}} +$ Visualisation for x +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet01/expected/model_1-solution000004.solution b/tests/exhaustive/basic/setOfSet01/expected/model_1-solution000004.solution new file mode 100644 index 0000000000..69bc828bbc --- /dev/null +++ b/tests/exhaustive/basic/setOfSet01/expected/model_1-solution000004.solution @@ -0,0 +1,6 @@ +language Essence 1.3 + +letting x be {{1}} +$ Visualisation for x +$ 1 + diff --git a/tests/exhaustive/basic/setOfSet01/expected/model_1-solution000005.solution b/tests/exhaustive/basic/setOfSet01/expected/model_1-solution000005.solution new file mode 100644 index 0000000000..114bad5315 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet01/expected/model_1-solution000005.solution @@ -0,0 +1,6 @@ +language Essence 1.3 + +letting x be {{1, 2}} +$ Visualisation for x +$ 1 2 + diff --git a/tests/exhaustive/basic/setOfSet01/expected/model_1-solution000006.solution b/tests/exhaustive/basic/setOfSet01/expected/model_1-solution000006.solution new file mode 100644 index 0000000000..c8946f3d06 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet01/expected/model_1-solution000006.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{}, {2}} +$ Visualisation for x +$ +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet01/expected/model_1-solution000007.solution b/tests/exhaustive/basic/setOfSet01/expected/model_1-solution000007.solution new file mode 100644 index 0000000000..3ec452354e --- /dev/null +++ b/tests/exhaustive/basic/setOfSet01/expected/model_1-solution000007.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{}, {1}} +$ Visualisation for x +$ +$ 1 + diff --git a/tests/exhaustive/basic/setOfSet01/expected/model_1-solution000008.solution b/tests/exhaustive/basic/setOfSet01/expected/model_1-solution000008.solution new file mode 100644 index 0000000000..af16592c51 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet01/expected/model_1-solution000008.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{1}, {2}} +$ Visualisation for x +$ 1 +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet01/expected/model_1-solution000009.solution b/tests/exhaustive/basic/setOfSet01/expected/model_1-solution000009.solution new file mode 100644 index 0000000000..a6c0b6a43e --- /dev/null +++ b/tests/exhaustive/basic/setOfSet01/expected/model_1-solution000009.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{}, {1, 2}} +$ Visualisation for x +$ +$ 1 2 + diff --git a/tests/exhaustive/basic/setOfSet01/expected/model_1-solution000010.solution b/tests/exhaustive/basic/setOfSet01/expected/model_1-solution000010.solution new file mode 100644 index 0000000000..9bf2af0712 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet01/expected/model_1-solution000010.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{1, 2}, {2}} +$ Visualisation for x +$ 1 2 +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet01/expected/model_1-solution000011.solution b/tests/exhaustive/basic/setOfSet01/expected/model_1-solution000011.solution new file mode 100644 index 0000000000..38937c9389 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet01/expected/model_1-solution000011.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{1}, {1, 2}} +$ Visualisation for x +$ 1 +$ 1 2 + diff --git a/tests/exhaustive/basic/setOfSet01/expected/model_1-solution000012.solution b/tests/exhaustive/basic/setOfSet01/expected/model_1-solution000012.solution new file mode 100644 index 0000000000..f1a04b347c --- /dev/null +++ b/tests/exhaustive/basic/setOfSet01/expected/model_1-solution000012.solution @@ -0,0 +1,8 @@ +language Essence 1.3 + +letting x be {{}, {1}, {2}} +$ Visualisation for x +$ +$ 1 +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet01/expected/model_1-solution000013.solution b/tests/exhaustive/basic/setOfSet01/expected/model_1-solution000013.solution new file mode 100644 index 0000000000..b1673f700a --- /dev/null +++ b/tests/exhaustive/basic/setOfSet01/expected/model_1-solution000013.solution @@ -0,0 +1,8 @@ +language Essence 1.3 + +letting x be {{}, {1, 2}, {2}} +$ Visualisation for x +$ +$ 1 2 +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet01/expected/model_1-solution000014.solution b/tests/exhaustive/basic/setOfSet01/expected/model_1-solution000014.solution new file mode 100644 index 0000000000..8400fcb8c1 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet01/expected/model_1-solution000014.solution @@ -0,0 +1,8 @@ +language Essence 1.3 + +letting x be {{}, {1}, {1, 2}} +$ Visualisation for x +$ +$ 1 +$ 1 2 + diff --git a/tests/exhaustive/basic/setOfSet01/expected/model_1-solution000015.solution b/tests/exhaustive/basic/setOfSet01/expected/model_1-solution000015.solution new file mode 100644 index 0000000000..7c7f2e98ea --- /dev/null +++ b/tests/exhaustive/basic/setOfSet01/expected/model_1-solution000015.solution @@ -0,0 +1,8 @@ +language Essence 1.3 + +letting x be {{1}, {1, 2}, {2}} +$ Visualisation for x +$ 1 +$ 1 2 +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet01/expected/model_1-solution000016.solution b/tests/exhaustive/basic/setOfSet01/expected/model_1-solution000016.solution new file mode 100644 index 0000000000..29f10f5fb0 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet01/expected/model_1-solution000016.solution @@ -0,0 +1,9 @@ +language Essence 1.3 + +letting x be {{}, {1}, {1, 2}, {2}} +$ Visualisation for x +$ +$ 1 +$ 1 2 +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet01/expected/model_1.eprime b/tests/exhaustive/basic/setOfSet01/expected/model_1.eprime new file mode 100644 index 0000000000..ec206e1289 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet01/expected/model_1.eprime @@ -0,0 +1,14 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarkerR2_Marker: int(0..4) +find x_ExplicitVarSizeWithMarkerR2_Values_Occurrence: matrix indexed by [int(1..4), int(1..2)] of bool +branching on [x_ExplicitVarSizeWithMarkerR2_Marker, x_ExplicitVarSizeWithMarkerR2_Values_Occurrence] +such that + and([q1 + 1 <= x_ExplicitVarSizeWithMarkerR2_Marker -> + [-toInt(x_ExplicitVarSizeWithMarkerR2_Values_Occurrence[q1, q5]) | q5 : int(1..2)] x_ExplicitVarSizeWithMarkerR2_Marker -> + and([x_ExplicitVarSizeWithMarkerR2_Values_Occurrence[q2, q7] = false | q7 : int(1..2)]) + | q2 : int(1..4)]) + diff --git a/tests/exhaustive/basic/setOfSet01/expected/model_2-solution000001.solution b/tests/exhaustive/basic/setOfSet01/expected/model_2-solution000001.solution new file mode 100644 index 0000000000..1a734343d9 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet01/expected/model_2-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {} diff --git a/tests/exhaustive/basic/setOfSet01/expected/model_2-solution000002.solution b/tests/exhaustive/basic/setOfSet01/expected/model_2-solution000002.solution new file mode 100644 index 0000000000..114bad5315 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet01/expected/model_2-solution000002.solution @@ -0,0 +1,6 @@ +language Essence 1.3 + +letting x be {{1, 2}} +$ Visualisation for x +$ 1 2 + diff --git a/tests/exhaustive/basic/setOfSet01/expected/model_2-solution000003.solution b/tests/exhaustive/basic/setOfSet01/expected/model_2-solution000003.solution new file mode 100644 index 0000000000..69bc828bbc --- /dev/null +++ b/tests/exhaustive/basic/setOfSet01/expected/model_2-solution000003.solution @@ -0,0 +1,6 @@ +language Essence 1.3 + +letting x be {{1}} +$ Visualisation for x +$ 1 + diff --git a/tests/exhaustive/basic/setOfSet01/expected/model_2-solution000004.solution b/tests/exhaustive/basic/setOfSet01/expected/model_2-solution000004.solution new file mode 100644 index 0000000000..550c68f48c --- /dev/null +++ b/tests/exhaustive/basic/setOfSet01/expected/model_2-solution000004.solution @@ -0,0 +1,6 @@ +language Essence 1.3 + +letting x be {{2}} +$ Visualisation for x +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet01/expected/model_2-solution000005.solution b/tests/exhaustive/basic/setOfSet01/expected/model_2-solution000005.solution new file mode 100644 index 0000000000..7c5b3bfc58 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet01/expected/model_2-solution000005.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {{}} diff --git a/tests/exhaustive/basic/setOfSet01/expected/model_2-solution000006.solution b/tests/exhaustive/basic/setOfSet01/expected/model_2-solution000006.solution new file mode 100644 index 0000000000..38937c9389 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet01/expected/model_2-solution000006.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{1}, {1, 2}} +$ Visualisation for x +$ 1 +$ 1 2 + diff --git a/tests/exhaustive/basic/setOfSet01/expected/model_2-solution000007.solution b/tests/exhaustive/basic/setOfSet01/expected/model_2-solution000007.solution new file mode 100644 index 0000000000..9bf2af0712 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet01/expected/model_2-solution000007.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{1, 2}, {2}} +$ Visualisation for x +$ 1 2 +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet01/expected/model_2-solution000008.solution b/tests/exhaustive/basic/setOfSet01/expected/model_2-solution000008.solution new file mode 100644 index 0000000000..a6c0b6a43e --- /dev/null +++ b/tests/exhaustive/basic/setOfSet01/expected/model_2-solution000008.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{}, {1, 2}} +$ Visualisation for x +$ +$ 1 2 + diff --git a/tests/exhaustive/basic/setOfSet01/expected/model_2-solution000009.solution b/tests/exhaustive/basic/setOfSet01/expected/model_2-solution000009.solution new file mode 100644 index 0000000000..af16592c51 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet01/expected/model_2-solution000009.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{1}, {2}} +$ Visualisation for x +$ 1 +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet01/expected/model_2-solution000010.solution b/tests/exhaustive/basic/setOfSet01/expected/model_2-solution000010.solution new file mode 100644 index 0000000000..3ec452354e --- /dev/null +++ b/tests/exhaustive/basic/setOfSet01/expected/model_2-solution000010.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{}, {1}} +$ Visualisation for x +$ +$ 1 + diff --git a/tests/exhaustive/basic/setOfSet01/expected/model_2-solution000011.solution b/tests/exhaustive/basic/setOfSet01/expected/model_2-solution000011.solution new file mode 100644 index 0000000000..c8946f3d06 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet01/expected/model_2-solution000011.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{}, {2}} +$ Visualisation for x +$ +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet01/expected/model_2-solution000012.solution b/tests/exhaustive/basic/setOfSet01/expected/model_2-solution000012.solution new file mode 100644 index 0000000000..7c7f2e98ea --- /dev/null +++ b/tests/exhaustive/basic/setOfSet01/expected/model_2-solution000012.solution @@ -0,0 +1,8 @@ +language Essence 1.3 + +letting x be {{1}, {1, 2}, {2}} +$ Visualisation for x +$ 1 +$ 1 2 +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet01/expected/model_2-solution000013.solution b/tests/exhaustive/basic/setOfSet01/expected/model_2-solution000013.solution new file mode 100644 index 0000000000..8400fcb8c1 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet01/expected/model_2-solution000013.solution @@ -0,0 +1,8 @@ +language Essence 1.3 + +letting x be {{}, {1}, {1, 2}} +$ Visualisation for x +$ +$ 1 +$ 1 2 + diff --git a/tests/exhaustive/basic/setOfSet01/expected/model_2-solution000014.solution b/tests/exhaustive/basic/setOfSet01/expected/model_2-solution000014.solution new file mode 100644 index 0000000000..b1673f700a --- /dev/null +++ b/tests/exhaustive/basic/setOfSet01/expected/model_2-solution000014.solution @@ -0,0 +1,8 @@ +language Essence 1.3 + +letting x be {{}, {1, 2}, {2}} +$ Visualisation for x +$ +$ 1 2 +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet01/expected/model_2-solution000015.solution b/tests/exhaustive/basic/setOfSet01/expected/model_2-solution000015.solution new file mode 100644 index 0000000000..f1a04b347c --- /dev/null +++ b/tests/exhaustive/basic/setOfSet01/expected/model_2-solution000015.solution @@ -0,0 +1,8 @@ +language Essence 1.3 + +letting x be {{}, {1}, {2}} +$ Visualisation for x +$ +$ 1 +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet01/expected/model_2-solution000016.solution b/tests/exhaustive/basic/setOfSet01/expected/model_2-solution000016.solution new file mode 100644 index 0000000000..29f10f5fb0 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet01/expected/model_2-solution000016.solution @@ -0,0 +1,9 @@ +language Essence 1.3 + +letting x be {{}, {1}, {1, 2}, {2}} +$ Visualisation for x +$ +$ 1 +$ 1 2 +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet01/expected/model_2.eprime b/tests/exhaustive/basic/setOfSet01/expected/model_2.eprime new file mode 100644 index 0000000000..2bba65c207 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet01/expected/model_2.eprime @@ -0,0 +1,24 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarkerR6_Marker: int(0..4) +find x_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy: + matrix indexed by [int(1..4), int(1..2)] of int(1..3) +branching on [x_ExplicitVarSizeWithMarkerR6_Marker, x_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy] +such that + and([q1 + 1 <= x_ExplicitVarSizeWithMarkerR6_Marker -> + [x_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q1, q8] | q8 : int(1..2)] x_ExplicitVarSizeWithMarkerR6_Marker -> + and([x_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q2, q10] = 1 | q10 : int(1..2)]) + | q2 : int(1..4)]), + and([q3 <= x_ExplicitVarSizeWithMarkerR6_Marker -> + x_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q3, 1] < + x_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q3, 2] + \/ x_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q3, 1] = 3 + | q3 : int(1..4)]), + and([q3 <= x_ExplicitVarSizeWithMarkerR6_Marker -> + (x_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q3, 1] = 3 -> + x_ExplicitVarSizeWithMarkerR6_Values_ExplicitVarSizeWithDummy[q3, 2] = 3) + | q3 : int(1..4)]) + diff --git a/tests/exhaustive/basic/setOfSet01/expected/model_3-solution000001.solution b/tests/exhaustive/basic/setOfSet01/expected/model_3-solution000001.solution new file mode 100644 index 0000000000..1a734343d9 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet01/expected/model_3-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {} diff --git a/tests/exhaustive/basic/setOfSet01/expected/model_3-solution000002.solution b/tests/exhaustive/basic/setOfSet01/expected/model_3-solution000002.solution new file mode 100644 index 0000000000..7c5b3bfc58 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet01/expected/model_3-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {{}} diff --git a/tests/exhaustive/basic/setOfSet01/expected/model_3-solution000003.solution b/tests/exhaustive/basic/setOfSet01/expected/model_3-solution000003.solution new file mode 100644 index 0000000000..69bc828bbc --- /dev/null +++ b/tests/exhaustive/basic/setOfSet01/expected/model_3-solution000003.solution @@ -0,0 +1,6 @@ +language Essence 1.3 + +letting x be {{1}} +$ Visualisation for x +$ 1 + diff --git a/tests/exhaustive/basic/setOfSet01/expected/model_3-solution000004.solution b/tests/exhaustive/basic/setOfSet01/expected/model_3-solution000004.solution new file mode 100644 index 0000000000..550c68f48c --- /dev/null +++ b/tests/exhaustive/basic/setOfSet01/expected/model_3-solution000004.solution @@ -0,0 +1,6 @@ +language Essence 1.3 + +letting x be {{2}} +$ Visualisation for x +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet01/expected/model_3-solution000005.solution b/tests/exhaustive/basic/setOfSet01/expected/model_3-solution000005.solution new file mode 100644 index 0000000000..114bad5315 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet01/expected/model_3-solution000005.solution @@ -0,0 +1,6 @@ +language Essence 1.3 + +letting x be {{1, 2}} +$ Visualisation for x +$ 1 2 + diff --git a/tests/exhaustive/basic/setOfSet01/expected/model_3-solution000006.solution b/tests/exhaustive/basic/setOfSet01/expected/model_3-solution000006.solution new file mode 100644 index 0000000000..3ec452354e --- /dev/null +++ b/tests/exhaustive/basic/setOfSet01/expected/model_3-solution000006.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{}, {1}} +$ Visualisation for x +$ +$ 1 + diff --git a/tests/exhaustive/basic/setOfSet01/expected/model_3-solution000007.solution b/tests/exhaustive/basic/setOfSet01/expected/model_3-solution000007.solution new file mode 100644 index 0000000000..c8946f3d06 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet01/expected/model_3-solution000007.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{}, {2}} +$ Visualisation for x +$ +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet01/expected/model_3-solution000008.solution b/tests/exhaustive/basic/setOfSet01/expected/model_3-solution000008.solution new file mode 100644 index 0000000000..a6c0b6a43e --- /dev/null +++ b/tests/exhaustive/basic/setOfSet01/expected/model_3-solution000008.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{}, {1, 2}} +$ Visualisation for x +$ +$ 1 2 + diff --git a/tests/exhaustive/basic/setOfSet01/expected/model_3-solution000009.solution b/tests/exhaustive/basic/setOfSet01/expected/model_3-solution000009.solution new file mode 100644 index 0000000000..af16592c51 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet01/expected/model_3-solution000009.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{1}, {2}} +$ Visualisation for x +$ 1 +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet01/expected/model_3-solution000010.solution b/tests/exhaustive/basic/setOfSet01/expected/model_3-solution000010.solution new file mode 100644 index 0000000000..38937c9389 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet01/expected/model_3-solution000010.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{1}, {1, 2}} +$ Visualisation for x +$ 1 +$ 1 2 + diff --git a/tests/exhaustive/basic/setOfSet01/expected/model_3-solution000011.solution b/tests/exhaustive/basic/setOfSet01/expected/model_3-solution000011.solution new file mode 100644 index 0000000000..9bf2af0712 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet01/expected/model_3-solution000011.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{1, 2}, {2}} +$ Visualisation for x +$ 1 2 +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet01/expected/model_3-solution000012.solution b/tests/exhaustive/basic/setOfSet01/expected/model_3-solution000012.solution new file mode 100644 index 0000000000..f1a04b347c --- /dev/null +++ b/tests/exhaustive/basic/setOfSet01/expected/model_3-solution000012.solution @@ -0,0 +1,8 @@ +language Essence 1.3 + +letting x be {{}, {1}, {2}} +$ Visualisation for x +$ +$ 1 +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet01/expected/model_3-solution000013.solution b/tests/exhaustive/basic/setOfSet01/expected/model_3-solution000013.solution new file mode 100644 index 0000000000..8400fcb8c1 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet01/expected/model_3-solution000013.solution @@ -0,0 +1,8 @@ +language Essence 1.3 + +letting x be {{}, {1}, {1, 2}} +$ Visualisation for x +$ +$ 1 +$ 1 2 + diff --git a/tests/exhaustive/basic/setOfSet01/expected/model_3-solution000014.solution b/tests/exhaustive/basic/setOfSet01/expected/model_3-solution000014.solution new file mode 100644 index 0000000000..b1673f700a --- /dev/null +++ b/tests/exhaustive/basic/setOfSet01/expected/model_3-solution000014.solution @@ -0,0 +1,8 @@ +language Essence 1.3 + +letting x be {{}, {1, 2}, {2}} +$ Visualisation for x +$ +$ 1 2 +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet01/expected/model_3-solution000015.solution b/tests/exhaustive/basic/setOfSet01/expected/model_3-solution000015.solution new file mode 100644 index 0000000000..7c7f2e98ea --- /dev/null +++ b/tests/exhaustive/basic/setOfSet01/expected/model_3-solution000015.solution @@ -0,0 +1,8 @@ +language Essence 1.3 + +letting x be {{1}, {1, 2}, {2}} +$ Visualisation for x +$ 1 +$ 1 2 +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet01/expected/model_3-solution000016.solution b/tests/exhaustive/basic/setOfSet01/expected/model_3-solution000016.solution new file mode 100644 index 0000000000..29f10f5fb0 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet01/expected/model_3-solution000016.solution @@ -0,0 +1,9 @@ +language Essence 1.3 + +letting x be {{}, {1}, {1, 2}, {2}} +$ Visualisation for x +$ +$ 1 +$ 1 2 +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet01/expected/model_3.eprime.orig b/tests/exhaustive/basic/setOfSet01/expected/model_3.eprime.orig deleted file mode 100644 index a8557ffeaf..0000000000 --- a/tests/exhaustive/basic/setOfSet01/expected/model_3.eprime.orig +++ /dev/null @@ -1,34 +0,0 @@ -language ESSENCE' 1.0 - -find x_ExplicitVarSizeWithMarkerR5_Marker: int(0..4) -find x_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker: matrix indexed by [int(1..4)] of int(0..2) -find x_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values: - matrix indexed by [int(1..4), int(1..2)] of int(1..2) -branching on - [x_ExplicitVarSizeWithMarkerR5_Marker, x_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker, - x_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values] -such that - and([q1 + 1 <= x_ExplicitVarSizeWithMarkerR5_Marker -> - flatten([[x_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q1]; int(1)], - [x_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q1, q7] | q7 : int(1..2)]; - int(1..2)]) - x_ExplicitVarSizeWithMarkerR5_Marker -> - x_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q2] = 0 /\ - and([x_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q2, q9] = 1 | q9 : int(1..2)]) - | q2 : int(1..4)]), - and([q3 <= x_ExplicitVarSizeWithMarkerR5_Marker -> - (2 <= x_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q3] -> - x_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q3, 1] < - x_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q3, 2]) - | q3 : int(1..4)]), - and([q3 <= x_ExplicitVarSizeWithMarkerR5_Marker -> - and([q5 > x_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Marker[q3] -> - x_ExplicitVarSizeWithMarkerR5_Values_ExplicitVarSizeWithMarker_Values[q3, q5] = 1 - | q5 : int(1..2)]) - | q3 : int(1..4)]) - diff --git a/tests/exhaustive/basic/setOfSet01/expected/model_4-solution000001.solution b/tests/exhaustive/basic/setOfSet01/expected/model_4-solution000001.solution new file mode 100644 index 0000000000..1a734343d9 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet01/expected/model_4-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {} diff --git a/tests/exhaustive/basic/setOfSet01/expected/model_4-solution000002.solution b/tests/exhaustive/basic/setOfSet01/expected/model_4-solution000002.solution new file mode 100644 index 0000000000..7c5b3bfc58 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet01/expected/model_4-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {{}} diff --git a/tests/exhaustive/basic/setOfSet01/expected/model_4-solution000003.solution b/tests/exhaustive/basic/setOfSet01/expected/model_4-solution000003.solution new file mode 100644 index 0000000000..69bc828bbc --- /dev/null +++ b/tests/exhaustive/basic/setOfSet01/expected/model_4-solution000003.solution @@ -0,0 +1,6 @@ +language Essence 1.3 + +letting x be {{1}} +$ Visualisation for x +$ 1 + diff --git a/tests/exhaustive/basic/setOfSet01/expected/model_4-solution000004.solution b/tests/exhaustive/basic/setOfSet01/expected/model_4-solution000004.solution new file mode 100644 index 0000000000..550c68f48c --- /dev/null +++ b/tests/exhaustive/basic/setOfSet01/expected/model_4-solution000004.solution @@ -0,0 +1,6 @@ +language Essence 1.3 + +letting x be {{2}} +$ Visualisation for x +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet01/expected/model_4-solution000005.solution b/tests/exhaustive/basic/setOfSet01/expected/model_4-solution000005.solution new file mode 100644 index 0000000000..114bad5315 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet01/expected/model_4-solution000005.solution @@ -0,0 +1,6 @@ +language Essence 1.3 + +letting x be {{1, 2}} +$ Visualisation for x +$ 1 2 + diff --git a/tests/exhaustive/basic/setOfSet01/expected/model_4-solution000006.solution b/tests/exhaustive/basic/setOfSet01/expected/model_4-solution000006.solution new file mode 100644 index 0000000000..3ec452354e --- /dev/null +++ b/tests/exhaustive/basic/setOfSet01/expected/model_4-solution000006.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{}, {1}} +$ Visualisation for x +$ +$ 1 + diff --git a/tests/exhaustive/basic/setOfSet01/expected/model_4-solution000007.solution b/tests/exhaustive/basic/setOfSet01/expected/model_4-solution000007.solution new file mode 100644 index 0000000000..c8946f3d06 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet01/expected/model_4-solution000007.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{}, {2}} +$ Visualisation for x +$ +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet01/expected/model_4-solution000008.solution b/tests/exhaustive/basic/setOfSet01/expected/model_4-solution000008.solution new file mode 100644 index 0000000000..af16592c51 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet01/expected/model_4-solution000008.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{1}, {2}} +$ Visualisation for x +$ 1 +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet01/expected/model_4-solution000009.solution b/tests/exhaustive/basic/setOfSet01/expected/model_4-solution000009.solution new file mode 100644 index 0000000000..a6c0b6a43e --- /dev/null +++ b/tests/exhaustive/basic/setOfSet01/expected/model_4-solution000009.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{}, {1, 2}} +$ Visualisation for x +$ +$ 1 2 + diff --git a/tests/exhaustive/basic/setOfSet01/expected/model_4-solution000010.solution b/tests/exhaustive/basic/setOfSet01/expected/model_4-solution000010.solution new file mode 100644 index 0000000000..38937c9389 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet01/expected/model_4-solution000010.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{1}, {1, 2}} +$ Visualisation for x +$ 1 +$ 1 2 + diff --git a/tests/exhaustive/basic/setOfSet01/expected/model_4-solution000011.solution b/tests/exhaustive/basic/setOfSet01/expected/model_4-solution000011.solution new file mode 100644 index 0000000000..9bf2af0712 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet01/expected/model_4-solution000011.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{1, 2}, {2}} +$ Visualisation for x +$ 1 2 +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet01/expected/model_4-solution000012.solution b/tests/exhaustive/basic/setOfSet01/expected/model_4-solution000012.solution new file mode 100644 index 0000000000..f1a04b347c --- /dev/null +++ b/tests/exhaustive/basic/setOfSet01/expected/model_4-solution000012.solution @@ -0,0 +1,8 @@ +language Essence 1.3 + +letting x be {{}, {1}, {2}} +$ Visualisation for x +$ +$ 1 +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet01/expected/model_4-solution000013.solution b/tests/exhaustive/basic/setOfSet01/expected/model_4-solution000013.solution new file mode 100644 index 0000000000..8400fcb8c1 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet01/expected/model_4-solution000013.solution @@ -0,0 +1,8 @@ +language Essence 1.3 + +letting x be {{}, {1}, {1, 2}} +$ Visualisation for x +$ +$ 1 +$ 1 2 + diff --git a/tests/exhaustive/basic/setOfSet01/expected/model_4-solution000014.solution b/tests/exhaustive/basic/setOfSet01/expected/model_4-solution000014.solution new file mode 100644 index 0000000000..b1673f700a --- /dev/null +++ b/tests/exhaustive/basic/setOfSet01/expected/model_4-solution000014.solution @@ -0,0 +1,8 @@ +language Essence 1.3 + +letting x be {{}, {1, 2}, {2}} +$ Visualisation for x +$ +$ 1 2 +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet01/expected/model_4-solution000015.solution b/tests/exhaustive/basic/setOfSet01/expected/model_4-solution000015.solution new file mode 100644 index 0000000000..7c7f2e98ea --- /dev/null +++ b/tests/exhaustive/basic/setOfSet01/expected/model_4-solution000015.solution @@ -0,0 +1,8 @@ +language Essence 1.3 + +letting x be {{1}, {1, 2}, {2}} +$ Visualisation for x +$ 1 +$ 1 2 +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet01/expected/model_4-solution000016.solution b/tests/exhaustive/basic/setOfSet01/expected/model_4-solution000016.solution new file mode 100644 index 0000000000..29f10f5fb0 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet01/expected/model_4-solution000016.solution @@ -0,0 +1,9 @@ +language Essence 1.3 + +letting x be {{}, {1}, {1, 2}, {2}} +$ Visualisation for x +$ +$ 1 +$ 1 2 +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet01/expected/model_4.eprime b/tests/exhaustive/basic/setOfSet01/expected/model_4.eprime new file mode 100644 index 0000000000..979f6d52c7 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet01/expected/model_4.eprime @@ -0,0 +1,43 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarkerR4_Marker: int(0..4) +find x_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Flags: + matrix indexed by [int(1..4), int(1..2)] of bool +find x_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Values: + matrix indexed by [int(1..4), int(1..2)] of int(1..2) +branching on + [x_ExplicitVarSizeWithMarkerR4_Marker, x_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Flags, + x_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Values] +such that + and([q1 + 1 <= x_ExplicitVarSizeWithMarkerR4_Marker -> + flatten([flatten([[-toInt(x_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Flags[q1, q9]); + int(1)], + [x_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Values[q1, q9]; int(1)]; + int(1..2)]) + | q9 : int(1..2)]) + x_ExplicitVarSizeWithMarkerR4_Marker -> + and([x_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Flags[q2, q11] = false | q11 : int(1..2)]) + /\ and([x_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Values[q2, q12] = 1 | q12 : int(1..2)]) + | q2 : int(1..4)]), + and([q3 <= x_ExplicitVarSizeWithMarkerR4_Marker -> + (x_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Flags[q3, 2] -> + x_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Values[q3, 1] < + x_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Values[q3, 2]) + | q3 : int(1..4)]), + and([q3 <= x_ExplicitVarSizeWithMarkerR4_Marker -> + and([x_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Flags[q3, q5] = false -> + x_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Values[q3, q5] = 1 + | q5 : int(1..2)]) + | q3 : int(1..4)]), + and([q3 <= x_ExplicitVarSizeWithMarkerR4_Marker -> + (x_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Flags[q3, 2] -> + x_ExplicitVarSizeWithMarkerR4_Values_ExplicitVarSizeWithFlags_Flags[q3, 1]) + | q3 : int(1..4)]) + diff --git a/tests/exhaustive/basic/setOfSet01/expected/model_5-solution000001.solution b/tests/exhaustive/basic/setOfSet01/expected/model_5-solution000001.solution new file mode 100644 index 0000000000..1a734343d9 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet01/expected/model_5-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {} diff --git a/tests/exhaustive/basic/setOfSet01/expected/model_5-solution000002.solution b/tests/exhaustive/basic/setOfSet01/expected/model_5-solution000002.solution new file mode 100644 index 0000000000..7c5b3bfc58 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet01/expected/model_5-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {{}} diff --git a/tests/exhaustive/basic/setOfSet01/expected/model_5-solution000003.solution b/tests/exhaustive/basic/setOfSet01/expected/model_5-solution000003.solution new file mode 100644 index 0000000000..550c68f48c --- /dev/null +++ b/tests/exhaustive/basic/setOfSet01/expected/model_5-solution000003.solution @@ -0,0 +1,6 @@ +language Essence 1.3 + +letting x be {{2}} +$ Visualisation for x +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet01/expected/model_5-solution000004.solution b/tests/exhaustive/basic/setOfSet01/expected/model_5-solution000004.solution new file mode 100644 index 0000000000..69bc828bbc --- /dev/null +++ b/tests/exhaustive/basic/setOfSet01/expected/model_5-solution000004.solution @@ -0,0 +1,6 @@ +language Essence 1.3 + +letting x be {{1}} +$ Visualisation for x +$ 1 + diff --git a/tests/exhaustive/basic/setOfSet01/expected/model_5-solution000005.solution b/tests/exhaustive/basic/setOfSet01/expected/model_5-solution000005.solution new file mode 100644 index 0000000000..114bad5315 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet01/expected/model_5-solution000005.solution @@ -0,0 +1,6 @@ +language Essence 1.3 + +letting x be {{1, 2}} +$ Visualisation for x +$ 1 2 + diff --git a/tests/exhaustive/basic/setOfSet01/expected/model_5-solution000006.solution b/tests/exhaustive/basic/setOfSet01/expected/model_5-solution000006.solution new file mode 100644 index 0000000000..c8946f3d06 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet01/expected/model_5-solution000006.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{}, {2}} +$ Visualisation for x +$ +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet01/expected/model_5-solution000007.solution b/tests/exhaustive/basic/setOfSet01/expected/model_5-solution000007.solution new file mode 100644 index 0000000000..3ec452354e --- /dev/null +++ b/tests/exhaustive/basic/setOfSet01/expected/model_5-solution000007.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{}, {1}} +$ Visualisation for x +$ +$ 1 + diff --git a/tests/exhaustive/basic/setOfSet01/expected/model_5-solution000008.solution b/tests/exhaustive/basic/setOfSet01/expected/model_5-solution000008.solution new file mode 100644 index 0000000000..af16592c51 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet01/expected/model_5-solution000008.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{1}, {2}} +$ Visualisation for x +$ 1 +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet01/expected/model_5-solution000009.solution b/tests/exhaustive/basic/setOfSet01/expected/model_5-solution000009.solution new file mode 100644 index 0000000000..a6c0b6a43e --- /dev/null +++ b/tests/exhaustive/basic/setOfSet01/expected/model_5-solution000009.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{}, {1, 2}} +$ Visualisation for x +$ +$ 1 2 + diff --git a/tests/exhaustive/basic/setOfSet01/expected/model_5-solution000010.solution b/tests/exhaustive/basic/setOfSet01/expected/model_5-solution000010.solution new file mode 100644 index 0000000000..9bf2af0712 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet01/expected/model_5-solution000010.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{1, 2}, {2}} +$ Visualisation for x +$ 1 2 +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet01/expected/model_5-solution000011.solution b/tests/exhaustive/basic/setOfSet01/expected/model_5-solution000011.solution new file mode 100644 index 0000000000..38937c9389 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet01/expected/model_5-solution000011.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{1}, {1, 2}} +$ Visualisation for x +$ 1 +$ 1 2 + diff --git a/tests/exhaustive/basic/setOfSet01/expected/model_5-solution000012.solution b/tests/exhaustive/basic/setOfSet01/expected/model_5-solution000012.solution new file mode 100644 index 0000000000..f1a04b347c --- /dev/null +++ b/tests/exhaustive/basic/setOfSet01/expected/model_5-solution000012.solution @@ -0,0 +1,8 @@ +language Essence 1.3 + +letting x be {{}, {1}, {2}} +$ Visualisation for x +$ +$ 1 +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet01/expected/model_5-solution000013.solution b/tests/exhaustive/basic/setOfSet01/expected/model_5-solution000013.solution new file mode 100644 index 0000000000..b1673f700a --- /dev/null +++ b/tests/exhaustive/basic/setOfSet01/expected/model_5-solution000013.solution @@ -0,0 +1,8 @@ +language Essence 1.3 + +letting x be {{}, {1, 2}, {2}} +$ Visualisation for x +$ +$ 1 2 +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet01/expected/model_5-solution000014.solution b/tests/exhaustive/basic/setOfSet01/expected/model_5-solution000014.solution new file mode 100644 index 0000000000..8400fcb8c1 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet01/expected/model_5-solution000014.solution @@ -0,0 +1,8 @@ +language Essence 1.3 + +letting x be {{}, {1}, {1, 2}} +$ Visualisation for x +$ +$ 1 +$ 1 2 + diff --git a/tests/exhaustive/basic/setOfSet01/expected/model_5-solution000015.solution b/tests/exhaustive/basic/setOfSet01/expected/model_5-solution000015.solution new file mode 100644 index 0000000000..7c7f2e98ea --- /dev/null +++ b/tests/exhaustive/basic/setOfSet01/expected/model_5-solution000015.solution @@ -0,0 +1,8 @@ +language Essence 1.3 + +letting x be {{1}, {1, 2}, {2}} +$ Visualisation for x +$ 1 +$ 1 2 +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet01/expected/model_5-solution000016.solution b/tests/exhaustive/basic/setOfSet01/expected/model_5-solution000016.solution new file mode 100644 index 0000000000..29f10f5fb0 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet01/expected/model_5-solution000016.solution @@ -0,0 +1,9 @@ +language Essence 1.3 + +letting x be {{}, {1}, {1, 2}, {2}} +$ Visualisation for x +$ +$ 1 +$ 1 2 +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet01/expected/model_5.eprime b/tests/exhaustive/basic/setOfSet01/expected/model_5.eprime new file mode 100644 index 0000000000..f99416596c --- /dev/null +++ b/tests/exhaustive/basic/setOfSet01/expected/model_5.eprime @@ -0,0 +1,15 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlagsR2_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlagsR2_Values_Occurrence: matrix indexed by [int(1..4), int(1..2)] of bool +branching on [x_ExplicitVarSizeWithFlagsR2_Flags, x_ExplicitVarSizeWithFlagsR2_Values_Occurrence] +such that + and([x_ExplicitVarSizeWithFlagsR2_Flags[q1 + 1] -> + [-toInt(x_ExplicitVarSizeWithFlagsR2_Values_Occurrence[q1, q7]) | q7 : int(1..2)] + and([x_ExplicitVarSizeWithFlagsR2_Values_Occurrence[q2, q9] = false | q9 : int(1..2)]) + | q2 : int(1..4)]), + and([x_ExplicitVarSizeWithFlagsR2_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlagsR2_Flags[q3] | q3 : int(1..3)]) + diff --git a/tests/exhaustive/basic/setOfSet01/expected/model_6-solution000001.solution b/tests/exhaustive/basic/setOfSet01/expected/model_6-solution000001.solution new file mode 100644 index 0000000000..1a734343d9 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet01/expected/model_6-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {} diff --git a/tests/exhaustive/basic/setOfSet01/expected/model_6-solution000002.solution b/tests/exhaustive/basic/setOfSet01/expected/model_6-solution000002.solution new file mode 100644 index 0000000000..114bad5315 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet01/expected/model_6-solution000002.solution @@ -0,0 +1,6 @@ +language Essence 1.3 + +letting x be {{1, 2}} +$ Visualisation for x +$ 1 2 + diff --git a/tests/exhaustive/basic/setOfSet01/expected/model_6-solution000003.solution b/tests/exhaustive/basic/setOfSet01/expected/model_6-solution000003.solution new file mode 100644 index 0000000000..69bc828bbc --- /dev/null +++ b/tests/exhaustive/basic/setOfSet01/expected/model_6-solution000003.solution @@ -0,0 +1,6 @@ +language Essence 1.3 + +letting x be {{1}} +$ Visualisation for x +$ 1 + diff --git a/tests/exhaustive/basic/setOfSet01/expected/model_6-solution000004.solution b/tests/exhaustive/basic/setOfSet01/expected/model_6-solution000004.solution new file mode 100644 index 0000000000..550c68f48c --- /dev/null +++ b/tests/exhaustive/basic/setOfSet01/expected/model_6-solution000004.solution @@ -0,0 +1,6 @@ +language Essence 1.3 + +letting x be {{2}} +$ Visualisation for x +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet01/expected/model_6-solution000005.solution b/tests/exhaustive/basic/setOfSet01/expected/model_6-solution000005.solution new file mode 100644 index 0000000000..7c5b3bfc58 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet01/expected/model_6-solution000005.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {{}} diff --git a/tests/exhaustive/basic/setOfSet01/expected/model_6-solution000006.solution b/tests/exhaustive/basic/setOfSet01/expected/model_6-solution000006.solution new file mode 100644 index 0000000000..38937c9389 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet01/expected/model_6-solution000006.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{1}, {1, 2}} +$ Visualisation for x +$ 1 +$ 1 2 + diff --git a/tests/exhaustive/basic/setOfSet01/expected/model_6-solution000007.solution b/tests/exhaustive/basic/setOfSet01/expected/model_6-solution000007.solution new file mode 100644 index 0000000000..9bf2af0712 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet01/expected/model_6-solution000007.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{1, 2}, {2}} +$ Visualisation for x +$ 1 2 +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet01/expected/model_6-solution000008.solution b/tests/exhaustive/basic/setOfSet01/expected/model_6-solution000008.solution new file mode 100644 index 0000000000..a6c0b6a43e --- /dev/null +++ b/tests/exhaustive/basic/setOfSet01/expected/model_6-solution000008.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{}, {1, 2}} +$ Visualisation for x +$ +$ 1 2 + diff --git a/tests/exhaustive/basic/setOfSet01/expected/model_6-solution000009.solution b/tests/exhaustive/basic/setOfSet01/expected/model_6-solution000009.solution new file mode 100644 index 0000000000..af16592c51 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet01/expected/model_6-solution000009.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{1}, {2}} +$ Visualisation for x +$ 1 +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet01/expected/model_6-solution000010.solution b/tests/exhaustive/basic/setOfSet01/expected/model_6-solution000010.solution new file mode 100644 index 0000000000..3ec452354e --- /dev/null +++ b/tests/exhaustive/basic/setOfSet01/expected/model_6-solution000010.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{}, {1}} +$ Visualisation for x +$ +$ 1 + diff --git a/tests/exhaustive/basic/setOfSet01/expected/model_6-solution000011.solution b/tests/exhaustive/basic/setOfSet01/expected/model_6-solution000011.solution new file mode 100644 index 0000000000..c8946f3d06 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet01/expected/model_6-solution000011.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{}, {2}} +$ Visualisation for x +$ +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet01/expected/model_6-solution000012.solution b/tests/exhaustive/basic/setOfSet01/expected/model_6-solution000012.solution new file mode 100644 index 0000000000..7c7f2e98ea --- /dev/null +++ b/tests/exhaustive/basic/setOfSet01/expected/model_6-solution000012.solution @@ -0,0 +1,8 @@ +language Essence 1.3 + +letting x be {{1}, {1, 2}, {2}} +$ Visualisation for x +$ 1 +$ 1 2 +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet01/expected/model_6-solution000013.solution b/tests/exhaustive/basic/setOfSet01/expected/model_6-solution000013.solution new file mode 100644 index 0000000000..8400fcb8c1 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet01/expected/model_6-solution000013.solution @@ -0,0 +1,8 @@ +language Essence 1.3 + +letting x be {{}, {1}, {1, 2}} +$ Visualisation for x +$ +$ 1 +$ 1 2 + diff --git a/tests/exhaustive/basic/setOfSet01/expected/model_6-solution000014.solution b/tests/exhaustive/basic/setOfSet01/expected/model_6-solution000014.solution new file mode 100644 index 0000000000..b1673f700a --- /dev/null +++ b/tests/exhaustive/basic/setOfSet01/expected/model_6-solution000014.solution @@ -0,0 +1,8 @@ +language Essence 1.3 + +letting x be {{}, {1, 2}, {2}} +$ Visualisation for x +$ +$ 1 2 +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet01/expected/model_6-solution000015.solution b/tests/exhaustive/basic/setOfSet01/expected/model_6-solution000015.solution new file mode 100644 index 0000000000..f1a04b347c --- /dev/null +++ b/tests/exhaustive/basic/setOfSet01/expected/model_6-solution000015.solution @@ -0,0 +1,8 @@ +language Essence 1.3 + +letting x be {{}, {1}, {2}} +$ Visualisation for x +$ +$ 1 +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet01/expected/model_6-solution000016.solution b/tests/exhaustive/basic/setOfSet01/expected/model_6-solution000016.solution new file mode 100644 index 0000000000..29f10f5fb0 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet01/expected/model_6-solution000016.solution @@ -0,0 +1,9 @@ +language Essence 1.3 + +letting x be {{}, {1}, {1, 2}, {2}} +$ Visualisation for x +$ +$ 1 +$ 1 2 +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet01/expected/model_6.eprime b/tests/exhaustive/basic/setOfSet01/expected/model_6.eprime new file mode 100644 index 0000000000..f1ff4362d3 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet01/expected/model_6.eprime @@ -0,0 +1,24 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlagsR6_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlagsR6_Values_ExplicitVarSizeWithDummy: matrix indexed by [int(1..4), int(1..2)] of int(1..3) +branching on [x_ExplicitVarSizeWithFlagsR6_Flags, x_ExplicitVarSizeWithFlagsR6_Values_ExplicitVarSizeWithDummy] +such that + and([x_ExplicitVarSizeWithFlagsR6_Flags[q1 + 1] -> + [x_ExplicitVarSizeWithFlagsR6_Values_ExplicitVarSizeWithDummy[q1, q10] | q10 : int(1..2)] + and([x_ExplicitVarSizeWithFlagsR6_Values_ExplicitVarSizeWithDummy[q2, q12] = 1 | q12 : int(1..2)]) + | q2 : int(1..4)]), + and([x_ExplicitVarSizeWithFlagsR6_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlagsR6_Flags[q3] | q3 : int(1..3)]), + and([x_ExplicitVarSizeWithFlagsR6_Flags[q5] -> + x_ExplicitVarSizeWithFlagsR6_Values_ExplicitVarSizeWithDummy[q5, 1] < + x_ExplicitVarSizeWithFlagsR6_Values_ExplicitVarSizeWithDummy[q5, 2] + \/ x_ExplicitVarSizeWithFlagsR6_Values_ExplicitVarSizeWithDummy[q5, 1] = 3 + | q5 : int(1..4)]), + and([x_ExplicitVarSizeWithFlagsR6_Flags[q5] -> + (x_ExplicitVarSizeWithFlagsR6_Values_ExplicitVarSizeWithDummy[q5, 1] = 3 -> + x_ExplicitVarSizeWithFlagsR6_Values_ExplicitVarSizeWithDummy[q5, 2] = 3) + | q5 : int(1..4)]) + diff --git a/tests/exhaustive/basic/setOfSet01/expected/model_7-solution000001.solution b/tests/exhaustive/basic/setOfSet01/expected/model_7-solution000001.solution new file mode 100644 index 0000000000..1a734343d9 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet01/expected/model_7-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {} diff --git a/tests/exhaustive/basic/setOfSet01/expected/model_7-solution000002.solution b/tests/exhaustive/basic/setOfSet01/expected/model_7-solution000002.solution new file mode 100644 index 0000000000..7c5b3bfc58 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet01/expected/model_7-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {{}} diff --git a/tests/exhaustive/basic/setOfSet01/expected/model_7-solution000003.solution b/tests/exhaustive/basic/setOfSet01/expected/model_7-solution000003.solution new file mode 100644 index 0000000000..69bc828bbc --- /dev/null +++ b/tests/exhaustive/basic/setOfSet01/expected/model_7-solution000003.solution @@ -0,0 +1,6 @@ +language Essence 1.3 + +letting x be {{1}} +$ Visualisation for x +$ 1 + diff --git a/tests/exhaustive/basic/setOfSet01/expected/model_7-solution000004.solution b/tests/exhaustive/basic/setOfSet01/expected/model_7-solution000004.solution new file mode 100644 index 0000000000..550c68f48c --- /dev/null +++ b/tests/exhaustive/basic/setOfSet01/expected/model_7-solution000004.solution @@ -0,0 +1,6 @@ +language Essence 1.3 + +letting x be {{2}} +$ Visualisation for x +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet01/expected/model_7-solution000005.solution b/tests/exhaustive/basic/setOfSet01/expected/model_7-solution000005.solution new file mode 100644 index 0000000000..114bad5315 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet01/expected/model_7-solution000005.solution @@ -0,0 +1,6 @@ +language Essence 1.3 + +letting x be {{1, 2}} +$ Visualisation for x +$ 1 2 + diff --git a/tests/exhaustive/basic/setOfSet01/expected/model_7-solution000006.solution b/tests/exhaustive/basic/setOfSet01/expected/model_7-solution000006.solution new file mode 100644 index 0000000000..3ec452354e --- /dev/null +++ b/tests/exhaustive/basic/setOfSet01/expected/model_7-solution000006.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{}, {1}} +$ Visualisation for x +$ +$ 1 + diff --git a/tests/exhaustive/basic/setOfSet01/expected/model_7-solution000007.solution b/tests/exhaustive/basic/setOfSet01/expected/model_7-solution000007.solution new file mode 100644 index 0000000000..c8946f3d06 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet01/expected/model_7-solution000007.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{}, {2}} +$ Visualisation for x +$ +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet01/expected/model_7-solution000008.solution b/tests/exhaustive/basic/setOfSet01/expected/model_7-solution000008.solution new file mode 100644 index 0000000000..a6c0b6a43e --- /dev/null +++ b/tests/exhaustive/basic/setOfSet01/expected/model_7-solution000008.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{}, {1, 2}} +$ Visualisation for x +$ +$ 1 2 + diff --git a/tests/exhaustive/basic/setOfSet01/expected/model_7-solution000009.solution b/tests/exhaustive/basic/setOfSet01/expected/model_7-solution000009.solution new file mode 100644 index 0000000000..af16592c51 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet01/expected/model_7-solution000009.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{1}, {2}} +$ Visualisation for x +$ 1 +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet01/expected/model_7-solution000010.solution b/tests/exhaustive/basic/setOfSet01/expected/model_7-solution000010.solution new file mode 100644 index 0000000000..38937c9389 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet01/expected/model_7-solution000010.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{1}, {1, 2}} +$ Visualisation for x +$ 1 +$ 1 2 + diff --git a/tests/exhaustive/basic/setOfSet01/expected/model_7-solution000011.solution b/tests/exhaustive/basic/setOfSet01/expected/model_7-solution000011.solution new file mode 100644 index 0000000000..9bf2af0712 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet01/expected/model_7-solution000011.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{1, 2}, {2}} +$ Visualisation for x +$ 1 2 +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet01/expected/model_7-solution000012.solution b/tests/exhaustive/basic/setOfSet01/expected/model_7-solution000012.solution new file mode 100644 index 0000000000..f1a04b347c --- /dev/null +++ b/tests/exhaustive/basic/setOfSet01/expected/model_7-solution000012.solution @@ -0,0 +1,8 @@ +language Essence 1.3 + +letting x be {{}, {1}, {2}} +$ Visualisation for x +$ +$ 1 +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet01/expected/model_7-solution000013.solution b/tests/exhaustive/basic/setOfSet01/expected/model_7-solution000013.solution new file mode 100644 index 0000000000..8400fcb8c1 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet01/expected/model_7-solution000013.solution @@ -0,0 +1,8 @@ +language Essence 1.3 + +letting x be {{}, {1}, {1, 2}} +$ Visualisation for x +$ +$ 1 +$ 1 2 + diff --git a/tests/exhaustive/basic/setOfSet01/expected/model_7-solution000014.solution b/tests/exhaustive/basic/setOfSet01/expected/model_7-solution000014.solution new file mode 100644 index 0000000000..b1673f700a --- /dev/null +++ b/tests/exhaustive/basic/setOfSet01/expected/model_7-solution000014.solution @@ -0,0 +1,8 @@ +language Essence 1.3 + +letting x be {{}, {1, 2}, {2}} +$ Visualisation for x +$ +$ 1 2 +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet01/expected/model_7-solution000015.solution b/tests/exhaustive/basic/setOfSet01/expected/model_7-solution000015.solution new file mode 100644 index 0000000000..7c7f2e98ea --- /dev/null +++ b/tests/exhaustive/basic/setOfSet01/expected/model_7-solution000015.solution @@ -0,0 +1,8 @@ +language Essence 1.3 + +letting x be {{1}, {1, 2}, {2}} +$ Visualisation for x +$ 1 +$ 1 2 +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet01/expected/model_7-solution000016.solution b/tests/exhaustive/basic/setOfSet01/expected/model_7-solution000016.solution new file mode 100644 index 0000000000..29f10f5fb0 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet01/expected/model_7-solution000016.solution @@ -0,0 +1,9 @@ +language Essence 1.3 + +letting x be {{}, {1}, {1, 2}, {2}} +$ Visualisation for x +$ +$ 1 +$ 1 2 +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet01/expected/model_7.eprime.orig b/tests/exhaustive/basic/setOfSet01/expected/model_7.eprime.orig deleted file mode 100644 index e21b02711c..0000000000 --- a/tests/exhaustive/basic/setOfSet01/expected/model_7.eprime.orig +++ /dev/null @@ -1,35 +0,0 @@ -language ESSENCE' 1.0 - -find x_ExplicitVarSizeWithFlagsR5_Flags: matrix indexed by [int(1..4)] of bool -find x_ExplicitVarSizeWithFlagsR5_Values_ExplicitVarSizeWithMarker_Marker: matrix indexed by [int(1..4)] of int(0..2) -find x_ExplicitVarSizeWithFlagsR5_Values_ExplicitVarSizeWithMarker_Values: - matrix indexed by [int(1..4), int(1..2)] of int(1..2) -branching on - [x_ExplicitVarSizeWithFlagsR5_Flags, x_ExplicitVarSizeWithFlagsR5_Values_ExplicitVarSizeWithMarker_Marker, - x_ExplicitVarSizeWithFlagsR5_Values_ExplicitVarSizeWithMarker_Values] -such that - and([x_ExplicitVarSizeWithFlagsR5_Flags[q1 + 1] -> - flatten([[x_ExplicitVarSizeWithFlagsR5_Values_ExplicitVarSizeWithMarker_Marker[q1]; int(1)], - [x_ExplicitVarSizeWithFlagsR5_Values_ExplicitVarSizeWithMarker_Values[q1, q9] | q9 : int(1..2)]; - int(1..2)]) - - x_ExplicitVarSizeWithFlagsR5_Values_ExplicitVarSizeWithMarker_Marker[q2] = 0 /\ - and([x_ExplicitVarSizeWithFlagsR5_Values_ExplicitVarSizeWithMarker_Values[q2, q11] = 1 | q11 : int(1..2)]) - | q2 : int(1..4)]), - and([x_ExplicitVarSizeWithFlagsR5_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlagsR5_Flags[q3] | q3 : int(1..3)]), - and([x_ExplicitVarSizeWithFlagsR5_Flags[q5] -> - (2 <= x_ExplicitVarSizeWithFlagsR5_Values_ExplicitVarSizeWithMarker_Marker[q5] -> - x_ExplicitVarSizeWithFlagsR5_Values_ExplicitVarSizeWithMarker_Values[q5, 1] < - x_ExplicitVarSizeWithFlagsR5_Values_ExplicitVarSizeWithMarker_Values[q5, 2]) - | q5 : int(1..4)]), - and([x_ExplicitVarSizeWithFlagsR5_Flags[q5] -> - and([q7 > x_ExplicitVarSizeWithFlagsR5_Values_ExplicitVarSizeWithMarker_Marker[q5] -> - x_ExplicitVarSizeWithFlagsR5_Values_ExplicitVarSizeWithMarker_Values[q5, q7] = 1 - | q7 : int(1..2)]) - | q5 : int(1..4)]) - diff --git a/tests/exhaustive/basic/setOfSet01/expected/model_8-solution000001.solution b/tests/exhaustive/basic/setOfSet01/expected/model_8-solution000001.solution new file mode 100644 index 0000000000..1a734343d9 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet01/expected/model_8-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {} diff --git a/tests/exhaustive/basic/setOfSet01/expected/model_8-solution000002.solution b/tests/exhaustive/basic/setOfSet01/expected/model_8-solution000002.solution new file mode 100644 index 0000000000..7c5b3bfc58 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet01/expected/model_8-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting x be {{}} diff --git a/tests/exhaustive/basic/setOfSet01/expected/model_8-solution000003.solution b/tests/exhaustive/basic/setOfSet01/expected/model_8-solution000003.solution new file mode 100644 index 0000000000..69bc828bbc --- /dev/null +++ b/tests/exhaustive/basic/setOfSet01/expected/model_8-solution000003.solution @@ -0,0 +1,6 @@ +language Essence 1.3 + +letting x be {{1}} +$ Visualisation for x +$ 1 + diff --git a/tests/exhaustive/basic/setOfSet01/expected/model_8-solution000004.solution b/tests/exhaustive/basic/setOfSet01/expected/model_8-solution000004.solution new file mode 100644 index 0000000000..550c68f48c --- /dev/null +++ b/tests/exhaustive/basic/setOfSet01/expected/model_8-solution000004.solution @@ -0,0 +1,6 @@ +language Essence 1.3 + +letting x be {{2}} +$ Visualisation for x +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet01/expected/model_8-solution000005.solution b/tests/exhaustive/basic/setOfSet01/expected/model_8-solution000005.solution new file mode 100644 index 0000000000..114bad5315 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet01/expected/model_8-solution000005.solution @@ -0,0 +1,6 @@ +language Essence 1.3 + +letting x be {{1, 2}} +$ Visualisation for x +$ 1 2 + diff --git a/tests/exhaustive/basic/setOfSet01/expected/model_8-solution000006.solution b/tests/exhaustive/basic/setOfSet01/expected/model_8-solution000006.solution new file mode 100644 index 0000000000..3ec452354e --- /dev/null +++ b/tests/exhaustive/basic/setOfSet01/expected/model_8-solution000006.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{}, {1}} +$ Visualisation for x +$ +$ 1 + diff --git a/tests/exhaustive/basic/setOfSet01/expected/model_8-solution000007.solution b/tests/exhaustive/basic/setOfSet01/expected/model_8-solution000007.solution new file mode 100644 index 0000000000..c8946f3d06 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet01/expected/model_8-solution000007.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{}, {2}} +$ Visualisation for x +$ +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet01/expected/model_8-solution000008.solution b/tests/exhaustive/basic/setOfSet01/expected/model_8-solution000008.solution new file mode 100644 index 0000000000..af16592c51 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet01/expected/model_8-solution000008.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{1}, {2}} +$ Visualisation for x +$ 1 +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet01/expected/model_8-solution000009.solution b/tests/exhaustive/basic/setOfSet01/expected/model_8-solution000009.solution new file mode 100644 index 0000000000..a6c0b6a43e --- /dev/null +++ b/tests/exhaustive/basic/setOfSet01/expected/model_8-solution000009.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{}, {1, 2}} +$ Visualisation for x +$ +$ 1 2 + diff --git a/tests/exhaustive/basic/setOfSet01/expected/model_8-solution000010.solution b/tests/exhaustive/basic/setOfSet01/expected/model_8-solution000010.solution new file mode 100644 index 0000000000..38937c9389 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet01/expected/model_8-solution000010.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{1}, {1, 2}} +$ Visualisation for x +$ 1 +$ 1 2 + diff --git a/tests/exhaustive/basic/setOfSet01/expected/model_8-solution000011.solution b/tests/exhaustive/basic/setOfSet01/expected/model_8-solution000011.solution new file mode 100644 index 0000000000..9bf2af0712 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet01/expected/model_8-solution000011.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{1, 2}, {2}} +$ Visualisation for x +$ 1 2 +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet01/expected/model_8-solution000012.solution b/tests/exhaustive/basic/setOfSet01/expected/model_8-solution000012.solution new file mode 100644 index 0000000000..f1a04b347c --- /dev/null +++ b/tests/exhaustive/basic/setOfSet01/expected/model_8-solution000012.solution @@ -0,0 +1,8 @@ +language Essence 1.3 + +letting x be {{}, {1}, {2}} +$ Visualisation for x +$ +$ 1 +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet01/expected/model_8-solution000013.solution b/tests/exhaustive/basic/setOfSet01/expected/model_8-solution000013.solution new file mode 100644 index 0000000000..8400fcb8c1 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet01/expected/model_8-solution000013.solution @@ -0,0 +1,8 @@ +language Essence 1.3 + +letting x be {{}, {1}, {1, 2}} +$ Visualisation for x +$ +$ 1 +$ 1 2 + diff --git a/tests/exhaustive/basic/setOfSet01/expected/model_8-solution000014.solution b/tests/exhaustive/basic/setOfSet01/expected/model_8-solution000014.solution new file mode 100644 index 0000000000..b1673f700a --- /dev/null +++ b/tests/exhaustive/basic/setOfSet01/expected/model_8-solution000014.solution @@ -0,0 +1,8 @@ +language Essence 1.3 + +letting x be {{}, {1, 2}, {2}} +$ Visualisation for x +$ +$ 1 2 +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet01/expected/model_8-solution000015.solution b/tests/exhaustive/basic/setOfSet01/expected/model_8-solution000015.solution new file mode 100644 index 0000000000..7c7f2e98ea --- /dev/null +++ b/tests/exhaustive/basic/setOfSet01/expected/model_8-solution000015.solution @@ -0,0 +1,8 @@ +language Essence 1.3 + +letting x be {{1}, {1, 2}, {2}} +$ Visualisation for x +$ 1 +$ 1 2 +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet01/expected/model_8-solution000016.solution b/tests/exhaustive/basic/setOfSet01/expected/model_8-solution000016.solution new file mode 100644 index 0000000000..29f10f5fb0 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet01/expected/model_8-solution000016.solution @@ -0,0 +1,9 @@ +language Essence 1.3 + +letting x be {{}, {1}, {1, 2}, {2}} +$ Visualisation for x +$ +$ 1 +$ 1 2 +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet01/expected/model_8.eprime b/tests/exhaustive/basic/setOfSet01/expected/model_8.eprime new file mode 100644 index 0000000000..2e31cf9b1f --- /dev/null +++ b/tests/exhaustive/basic/setOfSet01/expected/model_8.eprime @@ -0,0 +1,44 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlagsR4_Flags: matrix indexed by [int(1..4)] of bool +find x_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Flags: + matrix indexed by [int(1..4), int(1..2)] of bool +find x_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Values: + matrix indexed by [int(1..4), int(1..2)] of int(1..2) +branching on + [x_ExplicitVarSizeWithFlagsR4_Flags, x_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Flags, + x_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Values] +such that + and([x_ExplicitVarSizeWithFlagsR4_Flags[q1 + 1] -> + flatten([flatten([[-toInt(x_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Flags[q1, q11]); + int(1)], + [x_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Values[q1, q11]; int(1)]; + int(1..2)]) + | q11 : int(1..2)]) + + and([x_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Flags[q2, q13] = false | q13 : int(1..2)]) /\ + and([x_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Values[q2, q14] = 1 | q14 : int(1..2)]) + | q2 : int(1..4)]), + and([x_ExplicitVarSizeWithFlagsR4_Flags[q3 + 1] -> x_ExplicitVarSizeWithFlagsR4_Flags[q3] | q3 : int(1..3)]), + and([x_ExplicitVarSizeWithFlagsR4_Flags[q5] -> + (x_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Flags[q5, 2] -> + x_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Values[q5, 1] < + x_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Values[q5, 2]) + | q5 : int(1..4)]), + and([x_ExplicitVarSizeWithFlagsR4_Flags[q5] -> + and([x_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Flags[q5, q7] = false -> + x_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Values[q5, q7] = 1 + | q7 : int(1..2)]) + | q5 : int(1..4)]), + and([x_ExplicitVarSizeWithFlagsR4_Flags[q5] -> + (x_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Flags[q5, 2] -> + x_ExplicitVarSizeWithFlagsR4_Values_ExplicitVarSizeWithFlags_Flags[q5, 1]) + | q5 : int(1..4)]) + diff --git a/tests/exhaustive/basic/setOfSet02/expected/model_1_1-solution000002.solution b/tests/exhaustive/basic/setOfSet02/expected/model_1_1-solution000002.solution new file mode 100644 index 0000000000..707d6ddaf7 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet02/expected/model_1_1-solution000002.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{1, 2, 3}, {1, 3, 4}} +$ Visualisation for x +$ 1 2 3 +$ 1 3 4 + diff --git a/tests/exhaustive/basic/setOfSet02/expected/model_1_2-solution000002.solution b/tests/exhaustive/basic/setOfSet02/expected/model_1_2-solution000002.solution new file mode 100644 index 0000000000..707d6ddaf7 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet02/expected/model_1_2-solution000002.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{1, 2, 3}, {1, 3, 4}} +$ Visualisation for x +$ 1 2 3 +$ 1 3 4 + diff --git a/tests/exhaustive/basic/setOfSet02/expected/model_1_2.eprime.orig b/tests/exhaustive/basic/setOfSet02/expected/model_1_2.eprime.orig deleted file mode 100644 index 16addfde90..0000000000 --- a/tests/exhaustive/basic/setOfSet02/expected/model_1_2.eprime.orig +++ /dev/null @@ -1,26 +0,0 @@ -language ESSENCE' 1.0 - -find x_ExplicitR2_Occurrence: matrix indexed by [int(1..2), int(1..4)] of bool -find x_ExplicitR3_Explicit: matrix indexed by [int(1..2), int(1..3)] of int(1..4) -branching on [x_ExplicitR3_Explicit, x_ExplicitR2_Occurrence] -such that - or([and([x_ExplicitR2_Occurrence[q31, q32] -> or([1 = q32, 2 = q32, 3 = q32; int(1..3)]) | q32 : int(1..4)]) /\ - and([x_ExplicitR2_Occurrence[q31, 1], x_ExplicitR2_Occurrence[q31, 2], x_ExplicitR2_Occurrence[q31, 3]; - int(1..3)]) - | q31 : int(1..2)]), - [-toInt(x_ExplicitR2_Occurrence[1, q4]) | q4 : int(1..4)] or([x_ExplicitR3_Explicit[q13, q18] = q16 | q18 : int(1..3)]) - | q16 : int(1..4)]) - /\ and([x_ExplicitR2_Occurrence[q15, x_ExplicitR3_Explicit[q13, q20]] | q20 : int(1..3)]) - | q15 : int(1..2)]) - | q13 : int(1..2)]), - and([or([and([x_ExplicitR2_Occurrence[q22, x_ExplicitR3_Explicit[q24, q26]] | q26 : int(1..3)]) /\ - and([x_ExplicitR2_Occurrence[q22, q27] -> or([x_ExplicitR3_Explicit[q24, q29] = q27 | q29 : int(1..3)]) - | q27 : int(1..4)]) - | q24 : int(1..2)]) - | q22 : int(1..2)]) - diff --git a/tests/exhaustive/basic/setOfSet02/expected/model_2_1-solution000002.solution b/tests/exhaustive/basic/setOfSet02/expected/model_2_1-solution000002.solution new file mode 100644 index 0000000000..707d6ddaf7 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet02/expected/model_2_1-solution000002.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{1, 2, 3}, {1, 3, 4}} +$ Visualisation for x +$ 1 2 3 +$ 1 3 4 + diff --git a/tests/exhaustive/basic/setOfSet02/expected/model_2_1.eprime.orig b/tests/exhaustive/basic/setOfSet02/expected/model_2_1.eprime.orig deleted file mode 100644 index 443becc194..0000000000 --- a/tests/exhaustive/basic/setOfSet02/expected/model_2_1.eprime.orig +++ /dev/null @@ -1,32 +0,0 @@ -language ESSENCE' 1.0 - -find x_ExplicitR3_Explicit: matrix indexed by [int(1..2), int(1..3)] of int(1..4) -find x_ExplicitR2_Occurrence: matrix indexed by [int(1..2), int(1..4)] of bool -branching on [x_ExplicitR2_Occurrence, x_ExplicitR3_Explicit] -such that - or([and([or([1 = x_ExplicitR3_Explicit[q31, q33], 2 = x_ExplicitR3_Explicit[q31, q33], - 3 = x_ExplicitR3_Explicit[q31, q33]; - int(1..3)]) - | q33 : int(1..3)]) - /\ - and([or([x_ExplicitR3_Explicit[q31, q37] = 1 | q37 : int(1..3)]), - or([x_ExplicitR3_Explicit[q31, q39] = 2 | q39 : int(1..3)]), - or([x_ExplicitR3_Explicit[q31, q41] = 3 | q41 : int(1..3)]); - int(1..3)]) - | q31 : int(1..2)]), - [x_ExplicitR3_Explicit[1, q5] | q5 : int(1..3)] or([x_ExplicitR3_Explicit[q15, q20] = q18 | q20 : int(1..3)]) - | q18 : int(1..4)]) - | q15 : int(1..2)]) - | q13 : int(1..2)]), - and([or([and([x_ExplicitR2_Occurrence[q24, q25] -> or([x_ExplicitR3_Explicit[q22, q27] = q25 | q27 : int(1..3)]) - | q25 : int(1..4)]) - /\ and([x_ExplicitR2_Occurrence[q24, x_ExplicitR3_Explicit[q22, q29]] | q29 : int(1..3)]) - | q24 : int(1..2)]) - | q22 : int(1..2)]) - diff --git a/tests/exhaustive/basic/setOfSet02/expected/model_2_2-solution000002.solution b/tests/exhaustive/basic/setOfSet02/expected/model_2_2-solution000002.solution new file mode 100644 index 0000000000..707d6ddaf7 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet02/expected/model_2_2-solution000002.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{1, 2, 3}, {1, 3, 4}} +$ Visualisation for x +$ 1 2 3 +$ 1 3 4 + diff --git a/tests/exhaustive/basic/setOfSet02/expected/model_2_2.eprime.orig b/tests/exhaustive/basic/setOfSet02/expected/model_2_2.eprime.orig deleted file mode 100644 index 72c33b3766..0000000000 --- a/tests/exhaustive/basic/setOfSet02/expected/model_2_2.eprime.orig +++ /dev/null @@ -1,18 +0,0 @@ -language ESSENCE' 1.0 - -find x_ExplicitR3_Explicit: matrix indexed by [int(1..2), int(1..3)] of int(1..4) -branching on [x_ExplicitR3_Explicit] -such that - or([and([or([1 = x_ExplicitR3_Explicit[q8, q10], 2 = x_ExplicitR3_Explicit[q8, q10], - 3 = x_ExplicitR3_Explicit[q8, q10]; - int(1..3)]) - | q10 : int(1..3)]) - /\ - and([or([x_ExplicitR3_Explicit[q8, q14] = 1 | q14 : int(1..3)]), - or([x_ExplicitR3_Explicit[q8, q16] = 2 | q16 : int(1..3)]), - or([x_ExplicitR3_Explicit[q8, q18] = 3 | q18 : int(1..3)]); - int(1..3)]) - | q8 : int(1..2)]), - [x_ExplicitR3_Explicit[1, q5] | q5 : int(1..3)] >>>>>> master -======= [-toInt(x_ExplicitR2_Occurrence[1, q4]) | q4 : int(1..4)] >>>>>> main diff --git a/tests/exhaustive/basic/setOfSet03/expected/model_2.eprime.orig b/tests/exhaustive/basic/setOfSet03/expected/model_2.eprime.orig deleted file mode 100644 index 0c8fc4a8a1..0000000000 --- a/tests/exhaustive/basic/setOfSet03/expected/model_2.eprime.orig +++ /dev/null @@ -1,14 +0,0 @@ -language ESSENCE' 1.0 - -find x_ExplicitR3_Explicit: matrix indexed by [int(1..2), int(1..3)] of int(1..4) -branching on [x_ExplicitR3_Explicit] -such that - [x_ExplicitR3_Explicit[1, q5] | q5 : int(1..3)] >>>>>> master - diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_1_1_1-solution000001.solution b/tests/exhaustive/basic/setOfSet04/expected/model_1_1_1-solution000001.solution new file mode 100644 index 0000000000..c8946f3d06 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_1_1_1-solution000001.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{}, {2}} +$ Visualisation for x +$ +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_1_1_1-solution000002.solution b/tests/exhaustive/basic/setOfSet04/expected/model_1_1_1-solution000002.solution new file mode 100644 index 0000000000..3ec452354e --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_1_1_1-solution000002.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{}, {1}} +$ Visualisation for x +$ +$ 1 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_1_1_1-solution000003.solution b/tests/exhaustive/basic/setOfSet04/expected/model_1_1_1-solution000003.solution new file mode 100644 index 0000000000..af16592c51 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_1_1_1-solution000003.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{1}, {2}} +$ Visualisation for x +$ 1 +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_1_1_1-solution000004.solution b/tests/exhaustive/basic/setOfSet04/expected/model_1_1_1-solution000004.solution new file mode 100644 index 0000000000..a6c0b6a43e --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_1_1_1-solution000004.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{}, {1, 2}} +$ Visualisation for x +$ +$ 1 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_1_1_1-solution000005.solution b/tests/exhaustive/basic/setOfSet04/expected/model_1_1_1-solution000005.solution new file mode 100644 index 0000000000..9bf2af0712 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_1_1_1-solution000005.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{1, 2}, {2}} +$ Visualisation for x +$ 1 2 +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_1_1_1-solution000006.solution b/tests/exhaustive/basic/setOfSet04/expected/model_1_1_1-solution000006.solution new file mode 100644 index 0000000000..38937c9389 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_1_1_1-solution000006.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{1}, {1, 2}} +$ Visualisation for x +$ 1 +$ 1 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_1_1_1.eprime b/tests/exhaustive/basic/setOfSet04/expected/model_1_1_1.eprime new file mode 100644 index 0000000000..2aa55abc0e --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_1_1_1.eprime @@ -0,0 +1,9 @@ +language ESSENCE' 1.0 + +find x_ExplicitR2_Occurrence: matrix indexed by [int(1..2), int(1..2)] of bool +branching on [x_ExplicitR2_Occurrence] +such that + [-toInt(x_ExplicitR2_Occurrence[1, q4]) | q4 : int(1..2)] x_ExplicitR6_ExplicitVarSizeWithDummy[q7, q9 + 1] = 3 + | q9 : int(1..2)]) + | q7 : int(1..2)]), + and([sum([toInt(x_ExplicitR6_ExplicitVarSizeWithDummy[q7, q10] != 3) | q10 : int(1..3)]) <= 3 | q7 : int(1..2)]), + and([or([and([x_ExplicitR2_Occurrence[q17, q18] -> + or([x_ExplicitR6_ExplicitVarSizeWithDummy[q15, q20] != 3 /\ + x_ExplicitR6_ExplicitVarSizeWithDummy[q15, q20] = q18 + | q20 : int(1..3)]) + | q18 : int(1..2)]) + /\ + and([x_ExplicitR6_ExplicitVarSizeWithDummy[q15, q22] != 3 -> + x_ExplicitR2_Occurrence[q17, x_ExplicitR6_ExplicitVarSizeWithDummy[q15, q22]] + | q22 : int(1..3)]) + | q17 : int(1..2)]) + | q15 : int(1..2)]), + and([or([and([x_ExplicitR6_ExplicitVarSizeWithDummy[q26, q28] != 3 -> + x_ExplicitR2_Occurrence[q24, x_ExplicitR6_ExplicitVarSizeWithDummy[q26, q28]] + | q28 : int(1..3)]) + /\ + and([x_ExplicitR2_Occurrence[q24, q29] -> + or([x_ExplicitR6_ExplicitVarSizeWithDummy[q26, q31] != 3 /\ + x_ExplicitR6_ExplicitVarSizeWithDummy[q26, q31] = q29 + | q31 : int(1..3)]) + | q29 : int(1..2)]) + | q26 : int(1..2)]) + | q24 : int(1..2)]) + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_1_1_3-solution000001.solution b/tests/exhaustive/basic/setOfSet04/expected/model_1_1_3-solution000001.solution new file mode 100644 index 0000000000..3ec452354e --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_1_1_3-solution000001.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{}, {1}} +$ Visualisation for x +$ +$ 1 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_1_1_3-solution000002.solution b/tests/exhaustive/basic/setOfSet04/expected/model_1_1_3-solution000002.solution new file mode 100644 index 0000000000..c8946f3d06 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_1_1_3-solution000002.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{}, {2}} +$ Visualisation for x +$ +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_1_1_3-solution000003.solution b/tests/exhaustive/basic/setOfSet04/expected/model_1_1_3-solution000003.solution new file mode 100644 index 0000000000..a6c0b6a43e --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_1_1_3-solution000003.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{}, {1, 2}} +$ Visualisation for x +$ +$ 1 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_1_1_3-solution000004.solution b/tests/exhaustive/basic/setOfSet04/expected/model_1_1_3-solution000004.solution new file mode 100644 index 0000000000..af16592c51 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_1_1_3-solution000004.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{1}, {2}} +$ Visualisation for x +$ 1 +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_1_1_3-solution000005.solution b/tests/exhaustive/basic/setOfSet04/expected/model_1_1_3-solution000005.solution new file mode 100644 index 0000000000..38937c9389 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_1_1_3-solution000005.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{1}, {1, 2}} +$ Visualisation for x +$ 1 +$ 1 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_1_1_3-solution000006.solution b/tests/exhaustive/basic/setOfSet04/expected/model_1_1_3-solution000006.solution new file mode 100644 index 0000000000..9bf2af0712 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_1_1_3-solution000006.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{1, 2}, {2}} +$ Visualisation for x +$ 1 2 +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_1_1_3.eprime.orig b/tests/exhaustive/basic/setOfSet04/expected/model_1_1_3.eprime.orig deleted file mode 100644 index cfc048dd79..0000000000 --- a/tests/exhaustive/basic/setOfSet04/expected/model_1_1_3.eprime.orig +++ /dev/null @@ -1,52 +0,0 @@ -language ESSENCE' 1.0 - -find x_ExplicitR2_Occurrence: matrix indexed by [int(1..2), int(1..2)] of bool -find x_ExplicitR5_ExplicitVarSizeWithMarker_Marker: matrix indexed by [int(1..2)] of int(0..3) -find x_ExplicitR5_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..2), int(1..3)] of int(1..2) -branching on - [x_ExplicitR5_ExplicitVarSizeWithMarker_Marker, x_ExplicitR5_ExplicitVarSizeWithMarker_Values, - x_ExplicitR2_Occurrence] -such that - [-toInt(x_ExplicitR2_Occurrence[1, q4]) | q4 : int(1..2)] - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q7, q8] < - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q7, q8 + 1] - | q8 : int(1..2)]) - | q7 : int(1..2)]), - and([and([q9 > x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q7] -> - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q7, q9] = 1 - | q9 : int(1..3)]) - | q7 : int(1..2)]), - and([x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q7] <= 3 | q7 : int(1..2)]), - and([or([and([x_ExplicitR2_Occurrence[q16, q17] -> - or([q19 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q14] /\ - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q14, q19] = q17 - | q19 : int(1..3)]) - | q17 : int(1..2)]) - /\ - and([q21 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q14] -> - x_ExplicitR2_Occurrence[q16, x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q14, q21]] - | q21 : int(1..3)]) - | q16 : int(1..2)]) - | q14 : int(1..2)]), - and([or([and([q27 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q25] -> - x_ExplicitR2_Occurrence[q23, x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q25, q27]] - | q27 : int(1..3)]) - /\ - and([x_ExplicitR2_Occurrence[q23, q28] -> - or([q30 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q25] /\ - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q25, q30] = q28 - | q30 : int(1..3)]) - | q28 : int(1..2)]) - | q25 : int(1..2)]) - | q23 : int(1..2)]) - diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_1_1_4-solution000001.solution b/tests/exhaustive/basic/setOfSet04/expected/model_1_1_4-solution000001.solution new file mode 100644 index 0000000000..3ec452354e --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_1_1_4-solution000001.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{}, {1}} +$ Visualisation for x +$ +$ 1 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_1_1_4-solution000002.solution b/tests/exhaustive/basic/setOfSet04/expected/model_1_1_4-solution000002.solution new file mode 100644 index 0000000000..c8946f3d06 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_1_1_4-solution000002.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{}, {2}} +$ Visualisation for x +$ +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_1_1_4-solution000003.solution b/tests/exhaustive/basic/setOfSet04/expected/model_1_1_4-solution000003.solution new file mode 100644 index 0000000000..af16592c51 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_1_1_4-solution000003.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{1}, {2}} +$ Visualisation for x +$ 1 +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_1_1_4-solution000004.solution b/tests/exhaustive/basic/setOfSet04/expected/model_1_1_4-solution000004.solution new file mode 100644 index 0000000000..a6c0b6a43e --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_1_1_4-solution000004.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{}, {1, 2}} +$ Visualisation for x +$ +$ 1 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_1_1_4-solution000005.solution b/tests/exhaustive/basic/setOfSet04/expected/model_1_1_4-solution000005.solution new file mode 100644 index 0000000000..38937c9389 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_1_1_4-solution000005.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{1}, {1, 2}} +$ Visualisation for x +$ 1 +$ 1 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_1_1_4-solution000006.solution b/tests/exhaustive/basic/setOfSet04/expected/model_1_1_4-solution000006.solution new file mode 100644 index 0000000000..9bf2af0712 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_1_1_4-solution000006.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{1, 2}, {2}} +$ Visualisation for x +$ 1 2 +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_1_1_4.eprime b/tests/exhaustive/basic/setOfSet04/expected/model_1_1_4.eprime new file mode 100644 index 0000000000..47eebe1823 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_1_1_4.eprime @@ -0,0 +1,57 @@ +language ESSENCE' 1.0 + +find x_ExplicitR2_Occurrence: matrix indexed by [int(1..2), int(1..2)] of bool +find x_ExplicitR4_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..2), int(1..3)] of bool +find x_ExplicitR4_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..2), int(1..3)] of int(1..2) +branching on + [x_ExplicitR4_ExplicitVarSizeWithFlags_Flags, x_ExplicitR4_ExplicitVarSizeWithFlags_Values, x_ExplicitR2_Occurrence] +such that + [-toInt(x_ExplicitR2_Occurrence[1, q4]) | q4 : int(1..2)] + x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q7, q8] < + x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q7, q8 + 1] + | q8 : int(1..2)]) + | q7 : int(1..2)]), + and([and([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q7, q9] = false -> + x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q7, q9] = 1 + | q9 : int(1..3)]) + | q7 : int(1..2)]), + and([and([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q7, q10 + 1] -> + x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q7, q10] + | q10 : int(1..2)]) + | q7 : int(1..2)]), + and([sum([toInt(x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q7, q11]) | q11 : int(1..3)]) <= 3 | q7 : int(1..2)]), + and([or([and([x_ExplicitR2_Occurrence[q18, q19] -> + or([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q16, q21] /\ + x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q16, q21] = q19 + | q21 : int(1..3)]) + | q19 : int(1..2)]) + /\ + and([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q16, q23] -> + x_ExplicitR2_Occurrence[q18, x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q16, q23]] + | q23 : int(1..3)]) + | q18 : int(1..2)]) + | q16 : int(1..2)]), + and([or([and([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q27, q29] -> + x_ExplicitR2_Occurrence[q25, x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q27, q29]] + | q29 : int(1..3)]) + /\ + and([x_ExplicitR2_Occurrence[q25, q30] -> + or([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q27, q32] /\ + x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q27, q32] = q30 + | q32 : int(1..3)]) + | q30 : int(1..2)]) + | q27 : int(1..2)]) + | q25 : int(1..2)]) + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_1_2_3-solution000001.solution b/tests/exhaustive/basic/setOfSet04/expected/model_1_2_3-solution000001.solution new file mode 100644 index 0000000000..3ec452354e --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_1_2_3-solution000001.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{}, {1}} +$ Visualisation for x +$ +$ 1 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_1_2_3-solution000002.solution b/tests/exhaustive/basic/setOfSet04/expected/model_1_2_3-solution000002.solution new file mode 100644 index 0000000000..c8946f3d06 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_1_2_3-solution000002.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{}, {2}} +$ Visualisation for x +$ +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_1_2_3-solution000003.solution b/tests/exhaustive/basic/setOfSet04/expected/model_1_2_3-solution000003.solution new file mode 100644 index 0000000000..a6c0b6a43e --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_1_2_3-solution000003.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{}, {1, 2}} +$ Visualisation for x +$ +$ 1 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_1_2_3-solution000004.solution b/tests/exhaustive/basic/setOfSet04/expected/model_1_2_3-solution000004.solution new file mode 100644 index 0000000000..af16592c51 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_1_2_3-solution000004.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{1}, {2}} +$ Visualisation for x +$ 1 +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_1_2_3-solution000005.solution b/tests/exhaustive/basic/setOfSet04/expected/model_1_2_3-solution000005.solution new file mode 100644 index 0000000000..38937c9389 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_1_2_3-solution000005.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{1}, {1, 2}} +$ Visualisation for x +$ 1 +$ 1 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_1_2_3-solution000006.solution b/tests/exhaustive/basic/setOfSet04/expected/model_1_2_3-solution000006.solution new file mode 100644 index 0000000000..9bf2af0712 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_1_2_3-solution000006.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{1, 2}, {2}} +$ Visualisation for x +$ 1 2 +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_1_2_3.eprime.orig b/tests/exhaustive/basic/setOfSet04/expected/model_1_2_3.eprime.orig deleted file mode 100644 index 392506e889..0000000000 --- a/tests/exhaustive/basic/setOfSet04/expected/model_1_2_3.eprime.orig +++ /dev/null @@ -1,115 +0,0 @@ -language ESSENCE' 1.0 - -find x_ExplicitR2_Occurrence: matrix indexed by [int(1..2), int(1..2)] of bool -find x_ExplicitR6_ExplicitVarSizeWithDummy: matrix indexed by [int(1..2), int(1..3)] of int(1..3) -find x_ExplicitR5_ExplicitVarSizeWithMarker_Marker: matrix indexed by [int(1..2)] of int(0..3) -find x_ExplicitR5_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..2), int(1..3)] of int(1..2) -branching on - [x_ExplicitR5_ExplicitVarSizeWithMarker_Marker, x_ExplicitR5_ExplicitVarSizeWithMarker_Values, - x_ExplicitR2_Occurrence, x_ExplicitR6_ExplicitVarSizeWithDummy] -such that - [-toInt(x_ExplicitR2_Occurrence[1, q4]) | q4 : int(1..2)] x_ExplicitR6_ExplicitVarSizeWithDummy[q7, q9 + 1] = 3 - | q9 : int(1..2)]) - | q7 : int(1..2)]), - and([sum([toInt(x_ExplicitR6_ExplicitVarSizeWithDummy[q7, q10] != 3) | q10 : int(1..3)]) <= 3 | q7 : int(1..2)]), - and([or([and([x_ExplicitR2_Occurrence[q17, q18] -> - or([x_ExplicitR6_ExplicitVarSizeWithDummy[q15, q20] != 3 /\ - x_ExplicitR6_ExplicitVarSizeWithDummy[q15, q20] = q18 - | q20 : int(1..3)]) - | q18 : int(1..2)]) - /\ - and([x_ExplicitR6_ExplicitVarSizeWithDummy[q15, q22] != 3 -> - x_ExplicitR2_Occurrence[q17, x_ExplicitR6_ExplicitVarSizeWithDummy[q15, q22]] - | q22 : int(1..3)]) - | q17 : int(1..2)]) - | q15 : int(1..2)]), - and([or([and([x_ExplicitR6_ExplicitVarSizeWithDummy[q26, q28] != 3 -> - x_ExplicitR2_Occurrence[q24, x_ExplicitR6_ExplicitVarSizeWithDummy[q26, q28]] - | q28 : int(1..3)]) - /\ - and([x_ExplicitR2_Occurrence[q24, q29] -> - or([x_ExplicitR6_ExplicitVarSizeWithDummy[q26, q31] != 3 /\ - x_ExplicitR6_ExplicitVarSizeWithDummy[q26, q31] = q29 - | q31 : int(1..3)]) - | q29 : int(1..2)]) - | q26 : int(1..2)]) - | q24 : int(1..2)]), - flatten([[x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[1]; int(1)], - [x_ExplicitR5_ExplicitVarSizeWithMarker_Values[1, q37] | q37 : int(1..3)]; - int(1..2)]) - - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q33, q34] < - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q33, q34 + 1] - | q34 : int(1..2)]) - | q33 : int(1..2)]), - and([and([q35 > x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q33] -> - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q33, q35] = 1 - | q35 : int(1..3)]) - | q33 : int(1..2)]), - and([x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q33] <= 3 | q33 : int(1..2)]), - and([or([and([x_ExplicitR2_Occurrence[q42, q43] -> - or([q45 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q40] /\ - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q40, q45] = q43 - | q45 : int(1..3)]) - | q43 : int(1..2)]) - /\ - and([q47 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q40] -> - x_ExplicitR2_Occurrence[q42, x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q40, q47]] - | q47 : int(1..3)]) - | q42 : int(1..2)]) - | q40 : int(1..2)]), - and([or([and([q53 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q51] -> - x_ExplicitR2_Occurrence[q49, x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q51, q53]] - | q53 : int(1..3)]) - /\ - and([x_ExplicitR2_Occurrence[q49, q54] -> - or([q56 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q51] /\ - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q51, q56] = q54 - | q56 : int(1..3)]) - | q54 : int(1..2)]) - | q51 : int(1..2)]) - | q49 : int(1..2)]), - and([or([and([x_ExplicitR6_ExplicitVarSizeWithDummy[q60, q62] != 3 -> - or([q64 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q58] /\ - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q58, q64] = - x_ExplicitR6_ExplicitVarSizeWithDummy[q60, q62] - | q64 : int(1..3)]) - | q62 : int(1..3)]) - /\ - and([q66 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q58] -> - or([x_ExplicitR6_ExplicitVarSizeWithDummy[q60, q68] != 3 /\ - x_ExplicitR6_ExplicitVarSizeWithDummy[q60, q68] = - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q58, q66] - | q68 : int(1..3)]) - | q66 : int(1..3)]) - | q60 : int(1..2)]) - | q58 : int(1..2)]), - and([or([and([q74 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q72] -> - or([x_ExplicitR6_ExplicitVarSizeWithDummy[q70, q76] != 3 /\ - x_ExplicitR6_ExplicitVarSizeWithDummy[q70, q76] = - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q72, q74] - | q76 : int(1..3)]) - | q74 : int(1..3)]) - /\ - and([x_ExplicitR6_ExplicitVarSizeWithDummy[q70, q78] != 3 -> - or([q80 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q72] /\ - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q72, q80] = - x_ExplicitR6_ExplicitVarSizeWithDummy[q70, q78] - | q80 : int(1..3)]) - | q78 : int(1..3)]) - | q72 : int(1..2)]) - | q70 : int(1..2)]) - diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_1_2_4-solution000001.solution b/tests/exhaustive/basic/setOfSet04/expected/model_1_2_4-solution000001.solution new file mode 100644 index 0000000000..3ec452354e --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_1_2_4-solution000001.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{}, {1}} +$ Visualisation for x +$ +$ 1 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_1_2_4-solution000002.solution b/tests/exhaustive/basic/setOfSet04/expected/model_1_2_4-solution000002.solution new file mode 100644 index 0000000000..c8946f3d06 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_1_2_4-solution000002.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{}, {2}} +$ Visualisation for x +$ +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_1_2_4-solution000003.solution b/tests/exhaustive/basic/setOfSet04/expected/model_1_2_4-solution000003.solution new file mode 100644 index 0000000000..af16592c51 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_1_2_4-solution000003.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{1}, {2}} +$ Visualisation for x +$ 1 +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_1_2_4-solution000004.solution b/tests/exhaustive/basic/setOfSet04/expected/model_1_2_4-solution000004.solution new file mode 100644 index 0000000000..a6c0b6a43e --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_1_2_4-solution000004.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{}, {1, 2}} +$ Visualisation for x +$ +$ 1 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_1_2_4-solution000005.solution b/tests/exhaustive/basic/setOfSet04/expected/model_1_2_4-solution000005.solution new file mode 100644 index 0000000000..38937c9389 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_1_2_4-solution000005.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{1}, {1, 2}} +$ Visualisation for x +$ 1 +$ 1 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_1_2_4-solution000006.solution b/tests/exhaustive/basic/setOfSet04/expected/model_1_2_4-solution000006.solution new file mode 100644 index 0000000000..9bf2af0712 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_1_2_4-solution000006.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{1, 2}, {2}} +$ Visualisation for x +$ 1 2 +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_1_2_4.eprime b/tests/exhaustive/basic/setOfSet04/expected/model_1_2_4.eprime new file mode 100644 index 0000000000..46fba1f2be --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_1_2_4.eprime @@ -0,0 +1,121 @@ +language ESSENCE' 1.0 + +find x_ExplicitR2_Occurrence: matrix indexed by [int(1..2), int(1..2)] of bool +find x_ExplicitR6_ExplicitVarSizeWithDummy: matrix indexed by [int(1..2), int(1..3)] of int(1..3) +find x_ExplicitR4_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..2), int(1..3)] of bool +find x_ExplicitR4_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..2), int(1..3)] of int(1..2) +branching on + [x_ExplicitR4_ExplicitVarSizeWithFlags_Flags, x_ExplicitR4_ExplicitVarSizeWithFlags_Values, x_ExplicitR2_Occurrence, + x_ExplicitR6_ExplicitVarSizeWithDummy] +such that + [-toInt(x_ExplicitR2_Occurrence[1, q4]) | q4 : int(1..2)] x_ExplicitR6_ExplicitVarSizeWithDummy[q7, q9 + 1] = 3 + | q9 : int(1..2)]) + | q7 : int(1..2)]), + and([sum([toInt(x_ExplicitR6_ExplicitVarSizeWithDummy[q7, q10] != 3) | q10 : int(1..3)]) <= 3 | q7 : int(1..2)]), + and([or([and([x_ExplicitR2_Occurrence[q17, q18] -> + or([x_ExplicitR6_ExplicitVarSizeWithDummy[q15, q20] != 3 /\ + x_ExplicitR6_ExplicitVarSizeWithDummy[q15, q20] = q18 + | q20 : int(1..3)]) + | q18 : int(1..2)]) + /\ + and([x_ExplicitR6_ExplicitVarSizeWithDummy[q15, q22] != 3 -> + x_ExplicitR2_Occurrence[q17, x_ExplicitR6_ExplicitVarSizeWithDummy[q15, q22]] + | q22 : int(1..3)]) + | q17 : int(1..2)]) + | q15 : int(1..2)]), + and([or([and([x_ExplicitR6_ExplicitVarSizeWithDummy[q26, q28] != 3 -> + x_ExplicitR2_Occurrence[q24, x_ExplicitR6_ExplicitVarSizeWithDummy[q26, q28]] + | q28 : int(1..3)]) + /\ + and([x_ExplicitR2_Occurrence[q24, q29] -> + or([x_ExplicitR6_ExplicitVarSizeWithDummy[q26, q31] != 3 /\ + x_ExplicitR6_ExplicitVarSizeWithDummy[q26, q31] = q29 + | q31 : int(1..3)]) + | q29 : int(1..2)]) + | q26 : int(1..2)]) + | q24 : int(1..2)]), + flatten([flatten([[-toInt(x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[1, q39]); int(1)], + [x_ExplicitR4_ExplicitVarSizeWithFlags_Values[1, q39]; int(1)]; + int(1..2)]) + | q39 : int(1..3)]) + + x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q33, q34] < + x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q33, q34 + 1] + | q34 : int(1..2)]) + | q33 : int(1..2)]), + and([and([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q33, q35] = false -> + x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q33, q35] = 1 + | q35 : int(1..3)]) + | q33 : int(1..2)]), + and([and([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q33, q36 + 1] -> + x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q33, q36] + | q36 : int(1..2)]) + | q33 : int(1..2)]), + and([sum([toInt(x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q33, q37]) | q37 : int(1..3)]) <= 3 | q33 : int(1..2)]), + and([or([and([x_ExplicitR2_Occurrence[q44, q45] -> + or([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q42, q47] /\ + x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q42, q47] = q45 + | q47 : int(1..3)]) + | q45 : int(1..2)]) + /\ + and([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q42, q49] -> + x_ExplicitR2_Occurrence[q44, x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q42, q49]] + | q49 : int(1..3)]) + | q44 : int(1..2)]) + | q42 : int(1..2)]), + and([or([and([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q53, q55] -> + x_ExplicitR2_Occurrence[q51, x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q53, q55]] + | q55 : int(1..3)]) + /\ + and([x_ExplicitR2_Occurrence[q51, q56] -> + or([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q53, q58] /\ + x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q53, q58] = q56 + | q58 : int(1..3)]) + | q56 : int(1..2)]) + | q53 : int(1..2)]) + | q51 : int(1..2)]), + and([or([and([x_ExplicitR6_ExplicitVarSizeWithDummy[q62, q64] != 3 -> + or([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q60, q66] /\ + x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q60, q66] = + x_ExplicitR6_ExplicitVarSizeWithDummy[q62, q64] + | q66 : int(1..3)]) + | q64 : int(1..3)]) + /\ + and([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q60, q68] -> + or([x_ExplicitR6_ExplicitVarSizeWithDummy[q62, q70] != 3 /\ + x_ExplicitR6_ExplicitVarSizeWithDummy[q62, q70] = + x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q60, q68] + | q70 : int(1..3)]) + | q68 : int(1..3)]) + | q62 : int(1..2)]) + | q60 : int(1..2)]), + and([or([and([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q74, q76] -> + or([x_ExplicitR6_ExplicitVarSizeWithDummy[q72, q78] != 3 /\ + x_ExplicitR6_ExplicitVarSizeWithDummy[q72, q78] = + x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q74, q76] + | q78 : int(1..3)]) + | q76 : int(1..3)]) + /\ + and([x_ExplicitR6_ExplicitVarSizeWithDummy[q72, q80] != 3 -> + or([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q74, q82] /\ + x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q74, q82] = + x_ExplicitR6_ExplicitVarSizeWithDummy[q72, q80] + | q82 : int(1..3)]) + | q80 : int(1..3)]) + | q74 : int(1..2)]) + | q72 : int(1..2)]) + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_1_3_1.eprime.orig b/tests/exhaustive/basic/setOfSet04/expected/model_1_3_1.eprime.orig deleted file mode 100644 index cfc048dd79..0000000000 --- a/tests/exhaustive/basic/setOfSet04/expected/model_1_3_1.eprime.orig +++ /dev/null @@ -1,52 +0,0 @@ -language ESSENCE' 1.0 - -find x_ExplicitR2_Occurrence: matrix indexed by [int(1..2), int(1..2)] of bool -find x_ExplicitR5_ExplicitVarSizeWithMarker_Marker: matrix indexed by [int(1..2)] of int(0..3) -find x_ExplicitR5_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..2), int(1..3)] of int(1..2) -branching on - [x_ExplicitR5_ExplicitVarSizeWithMarker_Marker, x_ExplicitR5_ExplicitVarSizeWithMarker_Values, - x_ExplicitR2_Occurrence] -such that - [-toInt(x_ExplicitR2_Occurrence[1, q4]) | q4 : int(1..2)] - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q7, q8] < - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q7, q8 + 1] - | q8 : int(1..2)]) - | q7 : int(1..2)]), - and([and([q9 > x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q7] -> - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q7, q9] = 1 - | q9 : int(1..3)]) - | q7 : int(1..2)]), - and([x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q7] <= 3 | q7 : int(1..2)]), - and([or([and([x_ExplicitR2_Occurrence[q16, q17] -> - or([q19 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q14] /\ - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q14, q19] = q17 - | q19 : int(1..3)]) - | q17 : int(1..2)]) - /\ - and([q21 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q14] -> - x_ExplicitR2_Occurrence[q16, x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q14, q21]] - | q21 : int(1..3)]) - | q16 : int(1..2)]) - | q14 : int(1..2)]), - and([or([and([q27 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q25] -> - x_ExplicitR2_Occurrence[q23, x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q25, q27]] - | q27 : int(1..3)]) - /\ - and([x_ExplicitR2_Occurrence[q23, q28] -> - or([q30 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q25] /\ - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q25, q30] = q28 - | q30 : int(1..3)]) - | q28 : int(1..2)]) - | q25 : int(1..2)]) - | q23 : int(1..2)]) - diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_1_3_2-solution000001.solution b/tests/exhaustive/basic/setOfSet04/expected/model_1_3_2-solution000001.solution new file mode 100644 index 0000000000..38937c9389 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_1_3_2-solution000001.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{1}, {1, 2}} +$ Visualisation for x +$ 1 +$ 1 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_1_3_2-solution000002.solution b/tests/exhaustive/basic/setOfSet04/expected/model_1_3_2-solution000002.solution new file mode 100644 index 0000000000..9bf2af0712 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_1_3_2-solution000002.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{1, 2}, {2}} +$ Visualisation for x +$ 1 2 +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_1_3_2-solution000003.solution b/tests/exhaustive/basic/setOfSet04/expected/model_1_3_2-solution000003.solution new file mode 100644 index 0000000000..a6c0b6a43e --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_1_3_2-solution000003.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{}, {1, 2}} +$ Visualisation for x +$ +$ 1 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_1_3_2-solution000004.solution b/tests/exhaustive/basic/setOfSet04/expected/model_1_3_2-solution000004.solution new file mode 100644 index 0000000000..af16592c51 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_1_3_2-solution000004.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{1}, {2}} +$ Visualisation for x +$ 1 +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_1_3_2-solution000005.solution b/tests/exhaustive/basic/setOfSet04/expected/model_1_3_2-solution000005.solution new file mode 100644 index 0000000000..3ec452354e --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_1_3_2-solution000005.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{}, {1}} +$ Visualisation for x +$ +$ 1 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_1_3_2-solution000006.solution b/tests/exhaustive/basic/setOfSet04/expected/model_1_3_2-solution000006.solution new file mode 100644 index 0000000000..c8946f3d06 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_1_3_2-solution000006.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{}, {2}} +$ Visualisation for x +$ +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_1_3_2.eprime.orig b/tests/exhaustive/basic/setOfSet04/expected/model_1_3_2.eprime.orig deleted file mode 100644 index ee38a53845..0000000000 --- a/tests/exhaustive/basic/setOfSet04/expected/model_1_3_2.eprime.orig +++ /dev/null @@ -1,116 +0,0 @@ -language ESSENCE' 1.0 - -find x_ExplicitR2_Occurrence: matrix indexed by [int(1..2), int(1..2)] of bool -find x_ExplicitR5_ExplicitVarSizeWithMarker_Marker: matrix indexed by [int(1..2)] of int(0..3) -find x_ExplicitR5_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..2), int(1..3)] of int(1..2) -find x_ExplicitR6_ExplicitVarSizeWithDummy: matrix indexed by [int(1..2), int(1..3)] of int(1..3) -branching on - [x_ExplicitR6_ExplicitVarSizeWithDummy, x_ExplicitR2_Occurrence, x_ExplicitR5_ExplicitVarSizeWithMarker_Marker, - x_ExplicitR5_ExplicitVarSizeWithMarker_Values] -such that - [-toInt(x_ExplicitR2_Occurrence[1, q4]) | q4 : int(1..2)] - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q7, q8] < - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q7, q8 + 1] - | q8 : int(1..2)]) - | q7 : int(1..2)]), - and([and([q9 > x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q7] -> - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q7, q9] = 1 - | q9 : int(1..3)]) - | q7 : int(1..2)]), - and([x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q7] <= 3 | q7 : int(1..2)]), - and([or([and([x_ExplicitR2_Occurrence[q16, q17] -> - or([q19 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q14] /\ - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q14, q19] = q17 - | q19 : int(1..3)]) - | q17 : int(1..2)]) - /\ - and([q21 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q14] -> - x_ExplicitR2_Occurrence[q16, x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q14, q21]] - | q21 : int(1..3)]) - | q16 : int(1..2)]) - | q14 : int(1..2)]), - and([or([and([q27 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q25] -> - x_ExplicitR2_Occurrence[q23, x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q25, q27]] - | q27 : int(1..3)]) - /\ - and([x_ExplicitR2_Occurrence[q23, q28] -> - or([q30 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q25] /\ - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q25, q30] = q28 - | q30 : int(1..3)]) - | q28 : int(1..2)]) - | q25 : int(1..2)]) - | q23 : int(1..2)]), - [x_ExplicitR6_ExplicitVarSizeWithDummy[1, q37] | q37 : int(1..3)] - x_ExplicitR6_ExplicitVarSizeWithDummy[q32, q34 + 1] = 3 - | q34 : int(1..2)]) - | q32 : int(1..2)]), - and([sum([toInt(x_ExplicitR6_ExplicitVarSizeWithDummy[q32, q35] != 3) | q35 : int(1..3)]) <= 3 | q32 : int(1..2)]), - and([or([and([x_ExplicitR2_Occurrence[q42, q43] -> - or([x_ExplicitR6_ExplicitVarSizeWithDummy[q40, q45] != 3 /\ - x_ExplicitR6_ExplicitVarSizeWithDummy[q40, q45] = q43 - | q45 : int(1..3)]) - | q43 : int(1..2)]) - /\ - and([x_ExplicitR6_ExplicitVarSizeWithDummy[q40, q47] != 3 -> - x_ExplicitR2_Occurrence[q42, x_ExplicitR6_ExplicitVarSizeWithDummy[q40, q47]] - | q47 : int(1..3)]) - | q42 : int(1..2)]) - | q40 : int(1..2)]), - and([or([and([x_ExplicitR6_ExplicitVarSizeWithDummy[q51, q53] != 3 -> - x_ExplicitR2_Occurrence[q49, x_ExplicitR6_ExplicitVarSizeWithDummy[q51, q53]] - | q53 : int(1..3)]) - /\ - and([x_ExplicitR2_Occurrence[q49, q54] -> - or([x_ExplicitR6_ExplicitVarSizeWithDummy[q51, q56] != 3 /\ - x_ExplicitR6_ExplicitVarSizeWithDummy[q51, q56] = q54 - | q56 : int(1..3)]) - | q54 : int(1..2)]) - | q51 : int(1..2)]) - | q49 : int(1..2)]), - and([or([and([q62 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q60] -> - or([x_ExplicitR6_ExplicitVarSizeWithDummy[q58, q64] != 3 /\ - x_ExplicitR6_ExplicitVarSizeWithDummy[q58, q64] = - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q60, q62] - | q64 : int(1..3)]) - | q62 : int(1..3)]) - /\ - and([x_ExplicitR6_ExplicitVarSizeWithDummy[q58, q66] != 3 -> - or([q68 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q60] /\ - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q60, q68] = - x_ExplicitR6_ExplicitVarSizeWithDummy[q58, q66] - | q68 : int(1..3)]) - | q66 : int(1..3)]) - | q60 : int(1..2)]) - | q58 : int(1..2)]), - and([or([and([x_ExplicitR6_ExplicitVarSizeWithDummy[q72, q74] != 3 -> - or([q76 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q70] /\ - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q70, q76] = - x_ExplicitR6_ExplicitVarSizeWithDummy[q72, q74] - | q76 : int(1..3)]) - | q74 : int(1..3)]) - /\ - and([q78 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q70] -> - or([x_ExplicitR6_ExplicitVarSizeWithDummy[q72, q80] != 3 /\ - x_ExplicitR6_ExplicitVarSizeWithDummy[q72, q80] = - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q70, q78] - | q80 : int(1..3)]) - | q78 : int(1..3)]) - | q72 : int(1..2)]) - | q70 : int(1..2)]) - diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_1_3_3.eprime.orig b/tests/exhaustive/basic/setOfSet04/expected/model_1_3_3.eprime.orig deleted file mode 100644 index cfc048dd79..0000000000 --- a/tests/exhaustive/basic/setOfSet04/expected/model_1_3_3.eprime.orig +++ /dev/null @@ -1,52 +0,0 @@ -language ESSENCE' 1.0 - -find x_ExplicitR2_Occurrence: matrix indexed by [int(1..2), int(1..2)] of bool -find x_ExplicitR5_ExplicitVarSizeWithMarker_Marker: matrix indexed by [int(1..2)] of int(0..3) -find x_ExplicitR5_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..2), int(1..3)] of int(1..2) -branching on - [x_ExplicitR5_ExplicitVarSizeWithMarker_Marker, x_ExplicitR5_ExplicitVarSizeWithMarker_Values, - x_ExplicitR2_Occurrence] -such that - [-toInt(x_ExplicitR2_Occurrence[1, q4]) | q4 : int(1..2)] - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q7, q8] < - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q7, q8 + 1] - | q8 : int(1..2)]) - | q7 : int(1..2)]), - and([and([q9 > x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q7] -> - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q7, q9] = 1 - | q9 : int(1..3)]) - | q7 : int(1..2)]), - and([x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q7] <= 3 | q7 : int(1..2)]), - and([or([and([x_ExplicitR2_Occurrence[q16, q17] -> - or([q19 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q14] /\ - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q14, q19] = q17 - | q19 : int(1..3)]) - | q17 : int(1..2)]) - /\ - and([q21 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q14] -> - x_ExplicitR2_Occurrence[q16, x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q14, q21]] - | q21 : int(1..3)]) - | q16 : int(1..2)]) - | q14 : int(1..2)]), - and([or([and([q27 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q25] -> - x_ExplicitR2_Occurrence[q23, x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q25, q27]] - | q27 : int(1..3)]) - /\ - and([x_ExplicitR2_Occurrence[q23, q28] -> - or([q30 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q25] /\ - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q25, q30] = q28 - | q30 : int(1..3)]) - | q28 : int(1..2)]) - | q25 : int(1..2)]) - | q23 : int(1..2)]) - diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_1_3_4-solution000001.solution b/tests/exhaustive/basic/setOfSet04/expected/model_1_3_4-solution000001.solution new file mode 100644 index 0000000000..3ec452354e --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_1_3_4-solution000001.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{}, {1}} +$ Visualisation for x +$ +$ 1 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_1_3_4-solution000002.solution b/tests/exhaustive/basic/setOfSet04/expected/model_1_3_4-solution000002.solution new file mode 100644 index 0000000000..c8946f3d06 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_1_3_4-solution000002.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{}, {2}} +$ Visualisation for x +$ +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_1_3_4-solution000003.solution b/tests/exhaustive/basic/setOfSet04/expected/model_1_3_4-solution000003.solution new file mode 100644 index 0000000000..af16592c51 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_1_3_4-solution000003.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{1}, {2}} +$ Visualisation for x +$ 1 +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_1_3_4-solution000004.solution b/tests/exhaustive/basic/setOfSet04/expected/model_1_3_4-solution000004.solution new file mode 100644 index 0000000000..a6c0b6a43e --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_1_3_4-solution000004.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{}, {1, 2}} +$ Visualisation for x +$ +$ 1 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_1_3_4-solution000005.solution b/tests/exhaustive/basic/setOfSet04/expected/model_1_3_4-solution000005.solution new file mode 100644 index 0000000000..38937c9389 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_1_3_4-solution000005.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{1}, {1, 2}} +$ Visualisation for x +$ 1 +$ 1 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_1_3_4-solution000006.solution b/tests/exhaustive/basic/setOfSet04/expected/model_1_3_4-solution000006.solution new file mode 100644 index 0000000000..9bf2af0712 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_1_3_4-solution000006.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{1, 2}, {2}} +$ Visualisation for x +$ 1 2 +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_1_3_4.eprime.orig b/tests/exhaustive/basic/setOfSet04/expected/model_1_3_4.eprime.orig deleted file mode 100644 index 852454b6db..0000000000 --- a/tests/exhaustive/basic/setOfSet04/expected/model_1_3_4.eprime.orig +++ /dev/null @@ -1,129 +0,0 @@ -language ESSENCE' 1.0 - -find x_ExplicitR2_Occurrence: matrix indexed by [int(1..2), int(1..2)] of bool -find x_ExplicitR5_ExplicitVarSizeWithMarker_Marker: matrix indexed by [int(1..2)] of int(0..3) -find x_ExplicitR5_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..2), int(1..3)] of int(1..2) -find x_ExplicitR4_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..2), int(1..3)] of bool -find x_ExplicitR4_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..2), int(1..3)] of int(1..2) -branching on - [x_ExplicitR4_ExplicitVarSizeWithFlags_Flags, x_ExplicitR4_ExplicitVarSizeWithFlags_Values, x_ExplicitR2_Occurrence, - x_ExplicitR5_ExplicitVarSizeWithMarker_Marker, x_ExplicitR5_ExplicitVarSizeWithMarker_Values] -such that - [-toInt(x_ExplicitR2_Occurrence[1, q4]) | q4 : int(1..2)] - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q7, q8] < - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q7, q8 + 1] - | q8 : int(1..2)]) - | q7 : int(1..2)]), - and([and([q9 > x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q7] -> - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q7, q9] = 1 - | q9 : int(1..3)]) - | q7 : int(1..2)]), - and([x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q7] <= 3 | q7 : int(1..2)]), - and([or([and([x_ExplicitR2_Occurrence[q16, q17] -> - or([q19 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q14] /\ - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q14, q19] = q17 - | q19 : int(1..3)]) - | q17 : int(1..2)]) - /\ - and([q21 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q14] -> - x_ExplicitR2_Occurrence[q16, x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q14, q21]] - | q21 : int(1..3)]) - | q16 : int(1..2)]) - | q14 : int(1..2)]), - and([or([and([q27 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q25] -> - x_ExplicitR2_Occurrence[q23, x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q25, q27]] - | q27 : int(1..3)]) - /\ - and([x_ExplicitR2_Occurrence[q23, q28] -> - or([q30 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q25] /\ - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q25, q30] = q28 - | q30 : int(1..3)]) - | q28 : int(1..2)]) - | q25 : int(1..2)]) - | q23 : int(1..2)]), - flatten([flatten([[-toInt(x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[1, q38]); int(1)], - [x_ExplicitR4_ExplicitVarSizeWithFlags_Values[1, q38]; int(1)]; - int(1..2)]) - | q38 : int(1..3)]) - - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q32, q33] < - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q32, q33 + 1] - | q33 : int(1..2)]) - | q32 : int(1..2)]), - and([and([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q32, q34] = false -> - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q32, q34] = 1 - | q34 : int(1..3)]) - | q32 : int(1..2)]), - and([and([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q32, q35 + 1] -> - x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q32, q35] - | q35 : int(1..2)]) - | q32 : int(1..2)]), - and([sum([toInt(x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q32, q36]) | q36 : int(1..3)]) <= 3 | q32 : int(1..2)]), - and([or([and([x_ExplicitR2_Occurrence[q43, q44] -> - or([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q41, q46] /\ - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q41, q46] = q44 - | q46 : int(1..3)]) - | q44 : int(1..2)]) - /\ - and([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q41, q48] -> - x_ExplicitR2_Occurrence[q43, x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q41, q48]] - | q48 : int(1..3)]) - | q43 : int(1..2)]) - | q41 : int(1..2)]), - and([or([and([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q52, q54] -> - x_ExplicitR2_Occurrence[q50, x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q52, q54]] - | q54 : int(1..3)]) - /\ - and([x_ExplicitR2_Occurrence[q50, q55] -> - or([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q52, q57] /\ - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q52, q57] = q55 - | q57 : int(1..3)]) - | q55 : int(1..2)]) - | q52 : int(1..2)]) - | q50 : int(1..2)]), - and([or([and([q63 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q61] -> - or([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q59, q65] /\ - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q59, q65] = - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q61, q63] - | q65 : int(1..3)]) - | q63 : int(1..3)]) - /\ - and([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q59, q67] -> - or([q69 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q61] /\ - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q61, q69] = - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q59, q67] - | q69 : int(1..3)]) - | q67 : int(1..3)]) - | q61 : int(1..2)]) - | q59 : int(1..2)]), - and([or([and([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q73, q75] -> - or([q77 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q71] /\ - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q71, q77] = - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q73, q75] - | q77 : int(1..3)]) - | q75 : int(1..3)]) - /\ - and([q79 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q71] -> - or([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q73, q81] /\ - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q73, q81] = - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q71, q79] - | q81 : int(1..3)]) - | q79 : int(1..3)]) - | q73 : int(1..2)]) - | q71 : int(1..2)]) - diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_1_4_2-solution000001.solution b/tests/exhaustive/basic/setOfSet04/expected/model_1_4_2-solution000001.solution new file mode 100644 index 0000000000..38937c9389 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_1_4_2-solution000001.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{1}, {1, 2}} +$ Visualisation for x +$ 1 +$ 1 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_1_4_2-solution000002.solution b/tests/exhaustive/basic/setOfSet04/expected/model_1_4_2-solution000002.solution new file mode 100644 index 0000000000..9bf2af0712 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_1_4_2-solution000002.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{1, 2}, {2}} +$ Visualisation for x +$ 1 2 +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_1_4_2-solution000003.solution b/tests/exhaustive/basic/setOfSet04/expected/model_1_4_2-solution000003.solution new file mode 100644 index 0000000000..a6c0b6a43e --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_1_4_2-solution000003.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{}, {1, 2}} +$ Visualisation for x +$ +$ 1 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_1_4_2-solution000004.solution b/tests/exhaustive/basic/setOfSet04/expected/model_1_4_2-solution000004.solution new file mode 100644 index 0000000000..af16592c51 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_1_4_2-solution000004.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{1}, {2}} +$ Visualisation for x +$ 1 +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_1_4_2-solution000005.solution b/tests/exhaustive/basic/setOfSet04/expected/model_1_4_2-solution000005.solution new file mode 100644 index 0000000000..3ec452354e --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_1_4_2-solution000005.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{}, {1}} +$ Visualisation for x +$ +$ 1 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_1_4_2-solution000006.solution b/tests/exhaustive/basic/setOfSet04/expected/model_1_4_2-solution000006.solution new file mode 100644 index 0000000000..c8946f3d06 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_1_4_2-solution000006.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{}, {2}} +$ Visualisation for x +$ +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_1_4_2.eprime b/tests/exhaustive/basic/setOfSet04/expected/model_1_4_2.eprime new file mode 100644 index 0000000000..cd957e819c --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_1_4_2.eprime @@ -0,0 +1,122 @@ +language ESSENCE' 1.0 + +find x_ExplicitR2_Occurrence: matrix indexed by [int(1..2), int(1..2)] of bool +find x_ExplicitR4_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..2), int(1..3)] of bool +find x_ExplicitR4_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..2), int(1..3)] of int(1..2) +find x_ExplicitR6_ExplicitVarSizeWithDummy: matrix indexed by [int(1..2), int(1..3)] of int(1..3) +branching on + [x_ExplicitR6_ExplicitVarSizeWithDummy, x_ExplicitR2_Occurrence, x_ExplicitR4_ExplicitVarSizeWithFlags_Flags, + x_ExplicitR4_ExplicitVarSizeWithFlags_Values] +such that + [-toInt(x_ExplicitR2_Occurrence[1, q4]) | q4 : int(1..2)] + x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q7, q8] < + x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q7, q8 + 1] + | q8 : int(1..2)]) + | q7 : int(1..2)]), + and([and([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q7, q9] = false -> + x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q7, q9] = 1 + | q9 : int(1..3)]) + | q7 : int(1..2)]), + and([and([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q7, q10 + 1] -> + x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q7, q10] + | q10 : int(1..2)]) + | q7 : int(1..2)]), + and([sum([toInt(x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q7, q11]) | q11 : int(1..3)]) <= 3 | q7 : int(1..2)]), + and([or([and([x_ExplicitR2_Occurrence[q18, q19] -> + or([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q16, q21] /\ + x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q16, q21] = q19 + | q21 : int(1..3)]) + | q19 : int(1..2)]) + /\ + and([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q16, q23] -> + x_ExplicitR2_Occurrence[q18, x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q16, q23]] + | q23 : int(1..3)]) + | q18 : int(1..2)]) + | q16 : int(1..2)]), + and([or([and([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q27, q29] -> + x_ExplicitR2_Occurrence[q25, x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q27, q29]] + | q29 : int(1..3)]) + /\ + and([x_ExplicitR2_Occurrence[q25, q30] -> + or([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q27, q32] /\ + x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q27, q32] = q30 + | q32 : int(1..3)]) + | q30 : int(1..2)]) + | q27 : int(1..2)]) + | q25 : int(1..2)]), + [x_ExplicitR6_ExplicitVarSizeWithDummy[1, q39] | q39 : int(1..3)] + x_ExplicitR6_ExplicitVarSizeWithDummy[q34, q36 + 1] = 3 + | q36 : int(1..2)]) + | q34 : int(1..2)]), + and([sum([toInt(x_ExplicitR6_ExplicitVarSizeWithDummy[q34, q37] != 3) | q37 : int(1..3)]) <= 3 | q34 : int(1..2)]), + and([or([and([x_ExplicitR2_Occurrence[q44, q45] -> + or([x_ExplicitR6_ExplicitVarSizeWithDummy[q42, q47] != 3 /\ + x_ExplicitR6_ExplicitVarSizeWithDummy[q42, q47] = q45 + | q47 : int(1..3)]) + | q45 : int(1..2)]) + /\ + and([x_ExplicitR6_ExplicitVarSizeWithDummy[q42, q49] != 3 -> + x_ExplicitR2_Occurrence[q44, x_ExplicitR6_ExplicitVarSizeWithDummy[q42, q49]] + | q49 : int(1..3)]) + | q44 : int(1..2)]) + | q42 : int(1..2)]), + and([or([and([x_ExplicitR6_ExplicitVarSizeWithDummy[q53, q55] != 3 -> + x_ExplicitR2_Occurrence[q51, x_ExplicitR6_ExplicitVarSizeWithDummy[q53, q55]] + | q55 : int(1..3)]) + /\ + and([x_ExplicitR2_Occurrence[q51, q56] -> + or([x_ExplicitR6_ExplicitVarSizeWithDummy[q53, q58] != 3 /\ + x_ExplicitR6_ExplicitVarSizeWithDummy[q53, q58] = q56 + | q58 : int(1..3)]) + | q56 : int(1..2)]) + | q53 : int(1..2)]) + | q51 : int(1..2)]), + and([or([and([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q62, q64] -> + or([x_ExplicitR6_ExplicitVarSizeWithDummy[q60, q66] != 3 /\ + x_ExplicitR6_ExplicitVarSizeWithDummy[q60, q66] = + x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q62, q64] + | q66 : int(1..3)]) + | q64 : int(1..3)]) + /\ + and([x_ExplicitR6_ExplicitVarSizeWithDummy[q60, q68] != 3 -> + or([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q62, q70] /\ + x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q62, q70] = + x_ExplicitR6_ExplicitVarSizeWithDummy[q60, q68] + | q70 : int(1..3)]) + | q68 : int(1..3)]) + | q62 : int(1..2)]) + | q60 : int(1..2)]), + and([or([and([x_ExplicitR6_ExplicitVarSizeWithDummy[q74, q76] != 3 -> + or([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q72, q78] /\ + x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q72, q78] = + x_ExplicitR6_ExplicitVarSizeWithDummy[q74, q76] + | q78 : int(1..3)]) + | q76 : int(1..3)]) + /\ + and([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q72, q80] -> + or([x_ExplicitR6_ExplicitVarSizeWithDummy[q74, q82] != 3 /\ + x_ExplicitR6_ExplicitVarSizeWithDummy[q74, q82] = + x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q72, q80] + | q82 : int(1..3)]) + | q80 : int(1..3)]) + | q74 : int(1..2)]) + | q72 : int(1..2)]) + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_1_4_3-solution000001.solution b/tests/exhaustive/basic/setOfSet04/expected/model_1_4_3-solution000001.solution new file mode 100644 index 0000000000..3ec452354e --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_1_4_3-solution000001.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{}, {1}} +$ Visualisation for x +$ +$ 1 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_1_4_3-solution000002.solution b/tests/exhaustive/basic/setOfSet04/expected/model_1_4_3-solution000002.solution new file mode 100644 index 0000000000..c8946f3d06 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_1_4_3-solution000002.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{}, {2}} +$ Visualisation for x +$ +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_1_4_3-solution000003.solution b/tests/exhaustive/basic/setOfSet04/expected/model_1_4_3-solution000003.solution new file mode 100644 index 0000000000..a6c0b6a43e --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_1_4_3-solution000003.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{}, {1, 2}} +$ Visualisation for x +$ +$ 1 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_1_4_3-solution000004.solution b/tests/exhaustive/basic/setOfSet04/expected/model_1_4_3-solution000004.solution new file mode 100644 index 0000000000..af16592c51 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_1_4_3-solution000004.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{1}, {2}} +$ Visualisation for x +$ 1 +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_1_4_3-solution000005.solution b/tests/exhaustive/basic/setOfSet04/expected/model_1_4_3-solution000005.solution new file mode 100644 index 0000000000..38937c9389 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_1_4_3-solution000005.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{1}, {1, 2}} +$ Visualisation for x +$ 1 +$ 1 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_1_4_3-solution000006.solution b/tests/exhaustive/basic/setOfSet04/expected/model_1_4_3-solution000006.solution new file mode 100644 index 0000000000..9bf2af0712 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_1_4_3-solution000006.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{1, 2}, {2}} +$ Visualisation for x +$ 1 2 +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_1_4_3.eprime.orig b/tests/exhaustive/basic/setOfSet04/expected/model_1_4_3.eprime.orig deleted file mode 100644 index 71a5adaa9b..0000000000 --- a/tests/exhaustive/basic/setOfSet04/expected/model_1_4_3.eprime.orig +++ /dev/null @@ -1,129 +0,0 @@ -language ESSENCE' 1.0 - -find x_ExplicitR2_Occurrence: matrix indexed by [int(1..2), int(1..2)] of bool -find x_ExplicitR4_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..2), int(1..3)] of bool -find x_ExplicitR4_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..2), int(1..3)] of int(1..2) -find x_ExplicitR5_ExplicitVarSizeWithMarker_Marker: matrix indexed by [int(1..2)] of int(0..3) -find x_ExplicitR5_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..2), int(1..3)] of int(1..2) -branching on - [x_ExplicitR5_ExplicitVarSizeWithMarker_Marker, x_ExplicitR5_ExplicitVarSizeWithMarker_Values, - x_ExplicitR2_Occurrence, x_ExplicitR4_ExplicitVarSizeWithFlags_Flags, x_ExplicitR4_ExplicitVarSizeWithFlags_Values] -such that - [-toInt(x_ExplicitR2_Occurrence[1, q4]) | q4 : int(1..2)] - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q7, q8] < - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q7, q8 + 1] - | q8 : int(1..2)]) - | q7 : int(1..2)]), - and([and([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q7, q9] = false -> - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q7, q9] = 1 - | q9 : int(1..3)]) - | q7 : int(1..2)]), - and([and([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q7, q10 + 1] -> - x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q7, q10] - | q10 : int(1..2)]) - | q7 : int(1..2)]), - and([sum([toInt(x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q7, q11]) | q11 : int(1..3)]) <= 3 | q7 : int(1..2)]), - and([or([and([x_ExplicitR2_Occurrence[q18, q19] -> - or([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q16, q21] /\ - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q16, q21] = q19 - | q21 : int(1..3)]) - | q19 : int(1..2)]) - /\ - and([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q16, q23] -> - x_ExplicitR2_Occurrence[q18, x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q16, q23]] - | q23 : int(1..3)]) - | q18 : int(1..2)]) - | q16 : int(1..2)]), - and([or([and([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q27, q29] -> - x_ExplicitR2_Occurrence[q25, x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q27, q29]] - | q29 : int(1..3)]) - /\ - and([x_ExplicitR2_Occurrence[q25, q30] -> - or([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q27, q32] /\ - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q27, q32] = q30 - | q32 : int(1..3)]) - | q30 : int(1..2)]) - | q27 : int(1..2)]) - | q25 : int(1..2)]), - flatten([[x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[1]; int(1)], - [x_ExplicitR5_ExplicitVarSizeWithMarker_Values[1, q38] | q38 : int(1..3)]; - int(1..2)]) - - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q34, q35] < - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q34, q35 + 1] - | q35 : int(1..2)]) - | q34 : int(1..2)]), - and([and([q36 > x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q34] -> - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q34, q36] = 1 - | q36 : int(1..3)]) - | q34 : int(1..2)]), - and([x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q34] <= 3 | q34 : int(1..2)]), - and([or([and([x_ExplicitR2_Occurrence[q43, q44] -> - or([q46 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q41] /\ - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q41, q46] = q44 - | q46 : int(1..3)]) - | q44 : int(1..2)]) - /\ - and([q48 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q41] -> - x_ExplicitR2_Occurrence[q43, x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q41, q48]] - | q48 : int(1..3)]) - | q43 : int(1..2)]) - | q41 : int(1..2)]), - and([or([and([q54 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q52] -> - x_ExplicitR2_Occurrence[q50, x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q52, q54]] - | q54 : int(1..3)]) - /\ - and([x_ExplicitR2_Occurrence[q50, q55] -> - or([q57 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q52] /\ - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q52, q57] = q55 - | q57 : int(1..3)]) - | q55 : int(1..2)]) - | q52 : int(1..2)]) - | q50 : int(1..2)]), - and([or([and([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q61, q63] -> - or([q65 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q59] /\ - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q59, q65] = - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q61, q63] - | q65 : int(1..3)]) - | q63 : int(1..3)]) - /\ - and([q67 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q59] -> - or([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q61, q69] /\ - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q61, q69] = - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q59, q67] - | q69 : int(1..3)]) - | q67 : int(1..3)]) - | q61 : int(1..2)]) - | q59 : int(1..2)]), - and([or([and([q75 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q73] -> - or([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q71, q77] /\ - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q71, q77] = - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q73, q75] - | q77 : int(1..3)]) - | q75 : int(1..3)]) - /\ - and([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q71, q79] -> - or([q81 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q73] /\ - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q73, q81] = - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q71, q79] - | q81 : int(1..3)]) - | q79 : int(1..3)]) - | q73 : int(1..2)]) - | q71 : int(1..2)]) - diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_2_1_1-solution000001.solution b/tests/exhaustive/basic/setOfSet04/expected/model_2_1_1-solution000001.solution new file mode 100644 index 0000000000..c8946f3d06 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_2_1_1-solution000001.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{}, {2}} +$ Visualisation for x +$ +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_2_1_1-solution000002.solution b/tests/exhaustive/basic/setOfSet04/expected/model_2_1_1-solution000002.solution new file mode 100644 index 0000000000..3ec452354e --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_2_1_1-solution000002.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{}, {1}} +$ Visualisation for x +$ +$ 1 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_2_1_1-solution000003.solution b/tests/exhaustive/basic/setOfSet04/expected/model_2_1_1-solution000003.solution new file mode 100644 index 0000000000..af16592c51 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_2_1_1-solution000003.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{1}, {2}} +$ Visualisation for x +$ 1 +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_2_1_1-solution000004.solution b/tests/exhaustive/basic/setOfSet04/expected/model_2_1_1-solution000004.solution new file mode 100644 index 0000000000..a6c0b6a43e --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_2_1_1-solution000004.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{}, {1, 2}} +$ Visualisation for x +$ +$ 1 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_2_1_1-solution000005.solution b/tests/exhaustive/basic/setOfSet04/expected/model_2_1_1-solution000005.solution new file mode 100644 index 0000000000..9bf2af0712 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_2_1_1-solution000005.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{1, 2}, {2}} +$ Visualisation for x +$ 1 2 +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_2_1_1-solution000006.solution b/tests/exhaustive/basic/setOfSet04/expected/model_2_1_1-solution000006.solution new file mode 100644 index 0000000000..38937c9389 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_2_1_1-solution000006.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{1}, {1, 2}} +$ Visualisation for x +$ 1 +$ 1 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_2_1_1.eprime b/tests/exhaustive/basic/setOfSet04/expected/model_2_1_1.eprime new file mode 100644 index 0000000000..3b170dc84f --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_2_1_1.eprime @@ -0,0 +1,42 @@ +language ESSENCE' 1.0 + +find x_ExplicitR6_ExplicitVarSizeWithDummy: matrix indexed by [int(1..2), int(1..3)] of int(1..3) +find x_ExplicitR2_Occurrence: matrix indexed by [int(1..2), int(1..2)] of bool +branching on [x_ExplicitR2_Occurrence, x_ExplicitR6_ExplicitVarSizeWithDummy] +such that + [x_ExplicitR6_ExplicitVarSizeWithDummy[1, q7] | q7 : int(1..3)] x_ExplicitR6_ExplicitVarSizeWithDummy[q2, q4 + 1] = 3 + | q4 : int(1..2)]) + | q2 : int(1..2)]), + and([sum([toInt(x_ExplicitR6_ExplicitVarSizeWithDummy[q2, q5] != 3) | q5 : int(1..3)]) <= 3 | q2 : int(1..2)]), + [-toInt(x_ExplicitR2_Occurrence[1, q12]) | q12 : int(1..2)] + x_ExplicitR2_Occurrence[q15, x_ExplicitR6_ExplicitVarSizeWithDummy[q17, q19]] + | q19 : int(1..3)]) + /\ + and([x_ExplicitR2_Occurrence[q15, q20] -> + or([x_ExplicitR6_ExplicitVarSizeWithDummy[q17, q22] != 3 /\ + x_ExplicitR6_ExplicitVarSizeWithDummy[q17, q22] = q20 + | q22 : int(1..3)]) + | q20 : int(1..2)]) + | q17 : int(1..2)]) + | q15 : int(1..2)]), + and([or([and([x_ExplicitR2_Occurrence[q26, q27] -> + or([x_ExplicitR6_ExplicitVarSizeWithDummy[q24, q29] != 3 /\ + x_ExplicitR6_ExplicitVarSizeWithDummy[q24, q29] = q27 + | q29 : int(1..3)]) + | q27 : int(1..2)]) + /\ + and([x_ExplicitR6_ExplicitVarSizeWithDummy[q24, q31] != 3 -> + x_ExplicitR2_Occurrence[q26, x_ExplicitR6_ExplicitVarSizeWithDummy[q24, q31]] + | q31 : int(1..3)]) + | q26 : int(1..2)]) + | q24 : int(1..2)]) + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_2_1_3-solution000001.solution b/tests/exhaustive/basic/setOfSet04/expected/model_2_1_3-solution000001.solution new file mode 100644 index 0000000000..3ec452354e --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_2_1_3-solution000001.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{}, {1}} +$ Visualisation for x +$ +$ 1 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_2_1_3-solution000002.solution b/tests/exhaustive/basic/setOfSet04/expected/model_2_1_3-solution000002.solution new file mode 100644 index 0000000000..c8946f3d06 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_2_1_3-solution000002.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{}, {2}} +$ Visualisation for x +$ +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_2_1_3-solution000003.solution b/tests/exhaustive/basic/setOfSet04/expected/model_2_1_3-solution000003.solution new file mode 100644 index 0000000000..a6c0b6a43e --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_2_1_3-solution000003.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{}, {1, 2}} +$ Visualisation for x +$ +$ 1 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_2_1_3-solution000004.solution b/tests/exhaustive/basic/setOfSet04/expected/model_2_1_3-solution000004.solution new file mode 100644 index 0000000000..af16592c51 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_2_1_3-solution000004.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{1}, {2}} +$ Visualisation for x +$ 1 +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_2_1_3-solution000005.solution b/tests/exhaustive/basic/setOfSet04/expected/model_2_1_3-solution000005.solution new file mode 100644 index 0000000000..38937c9389 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_2_1_3-solution000005.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{1}, {1, 2}} +$ Visualisation for x +$ 1 +$ 1 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_2_1_3-solution000006.solution b/tests/exhaustive/basic/setOfSet04/expected/model_2_1_3-solution000006.solution new file mode 100644 index 0000000000..9bf2af0712 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_2_1_3-solution000006.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{1, 2}, {2}} +$ Visualisation for x +$ 1 2 +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_2_1_3.eprime.orig b/tests/exhaustive/basic/setOfSet04/expected/model_2_1_3.eprime.orig deleted file mode 100644 index 3de66ab4d8..0000000000 --- a/tests/exhaustive/basic/setOfSet04/expected/model_2_1_3.eprime.orig +++ /dev/null @@ -1,115 +0,0 @@ -language ESSENCE' 1.0 - -find x_ExplicitR6_ExplicitVarSizeWithDummy: matrix indexed by [int(1..2), int(1..3)] of int(1..3) -find x_ExplicitR2_Occurrence: matrix indexed by [int(1..2), int(1..2)] of bool -find x_ExplicitR5_ExplicitVarSizeWithMarker_Marker: matrix indexed by [int(1..2)] of int(0..3) -find x_ExplicitR5_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..2), int(1..3)] of int(1..2) -branching on - [x_ExplicitR5_ExplicitVarSizeWithMarker_Marker, x_ExplicitR5_ExplicitVarSizeWithMarker_Values, - x_ExplicitR6_ExplicitVarSizeWithDummy, x_ExplicitR2_Occurrence] -such that - [x_ExplicitR6_ExplicitVarSizeWithDummy[1, q7] | q7 : int(1..3)] x_ExplicitR6_ExplicitVarSizeWithDummy[q2, q4 + 1] = 3 - | q4 : int(1..2)]) - | q2 : int(1..2)]), - and([sum([toInt(x_ExplicitR6_ExplicitVarSizeWithDummy[q2, q5] != 3) | q5 : int(1..3)]) <= 3 | q2 : int(1..2)]), - [-toInt(x_ExplicitR2_Occurrence[1, q12]) | q12 : int(1..2)] - x_ExplicitR2_Occurrence[q15, x_ExplicitR6_ExplicitVarSizeWithDummy[q17, q19]] - | q19 : int(1..3)]) - /\ - and([x_ExplicitR2_Occurrence[q15, q20] -> - or([x_ExplicitR6_ExplicitVarSizeWithDummy[q17, q22] != 3 /\ - x_ExplicitR6_ExplicitVarSizeWithDummy[q17, q22] = q20 - | q22 : int(1..3)]) - | q20 : int(1..2)]) - | q17 : int(1..2)]) - | q15 : int(1..2)]), - and([or([and([x_ExplicitR2_Occurrence[q26, q27] -> - or([x_ExplicitR6_ExplicitVarSizeWithDummy[q24, q29] != 3 /\ - x_ExplicitR6_ExplicitVarSizeWithDummy[q24, q29] = q27 - | q29 : int(1..3)]) - | q27 : int(1..2)]) - /\ - and([x_ExplicitR6_ExplicitVarSizeWithDummy[q24, q31] != 3 -> - x_ExplicitR2_Occurrence[q26, x_ExplicitR6_ExplicitVarSizeWithDummy[q24, q31]] - | q31 : int(1..3)]) - | q26 : int(1..2)]) - | q24 : int(1..2)]), - flatten([[x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[1]; int(1)], - [x_ExplicitR5_ExplicitVarSizeWithMarker_Values[1, q37] | q37 : int(1..3)]; - int(1..2)]) - - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q33, q34] < - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q33, q34 + 1] - | q34 : int(1..2)]) - | q33 : int(1..2)]), - and([and([q35 > x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q33] -> - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q33, q35] = 1 - | q35 : int(1..3)]) - | q33 : int(1..2)]), - and([x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q33] <= 3 | q33 : int(1..2)]), - and([or([and([x_ExplicitR6_ExplicitVarSizeWithDummy[q42, q44] != 3 -> - or([q46 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q40] /\ - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q40, q46] = - x_ExplicitR6_ExplicitVarSizeWithDummy[q42, q44] - | q46 : int(1..3)]) - | q44 : int(1..3)]) - /\ - and([q48 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q40] -> - or([x_ExplicitR6_ExplicitVarSizeWithDummy[q42, q50] != 3 /\ - x_ExplicitR6_ExplicitVarSizeWithDummy[q42, q50] = - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q40, q48] - | q50 : int(1..3)]) - | q48 : int(1..3)]) - | q42 : int(1..2)]) - | q40 : int(1..2)]), - and([or([and([q56 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q54] -> - or([x_ExplicitR6_ExplicitVarSizeWithDummy[q52, q58] != 3 /\ - x_ExplicitR6_ExplicitVarSizeWithDummy[q52, q58] = - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q54, q56] - | q58 : int(1..3)]) - | q56 : int(1..3)]) - /\ - and([x_ExplicitR6_ExplicitVarSizeWithDummy[q52, q60] != 3 -> - or([q62 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q54] /\ - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q54, q62] = - x_ExplicitR6_ExplicitVarSizeWithDummy[q52, q60] - | q62 : int(1..3)]) - | q60 : int(1..3)]) - | q54 : int(1..2)]) - | q52 : int(1..2)]), - and([or([and([x_ExplicitR2_Occurrence[q66, q67] -> - or([q69 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q64] /\ - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q64, q69] = q67 - | q69 : int(1..3)]) - | q67 : int(1..2)]) - /\ - and([q71 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q64] -> - x_ExplicitR2_Occurrence[q66, x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q64, q71]] - | q71 : int(1..3)]) - | q66 : int(1..2)]) - | q64 : int(1..2)]), - and([or([and([q77 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q75] -> - x_ExplicitR2_Occurrence[q73, x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q75, q77]] - | q77 : int(1..3)]) - /\ - and([x_ExplicitR2_Occurrence[q73, q78] -> - or([q80 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q75] /\ - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q75, q80] = q78 - | q80 : int(1..3)]) - | q78 : int(1..2)]) - | q75 : int(1..2)]) - | q73 : int(1..2)]) - diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_2_1_4-solution000001.solution b/tests/exhaustive/basic/setOfSet04/expected/model_2_1_4-solution000001.solution new file mode 100644 index 0000000000..3ec452354e --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_2_1_4-solution000001.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{}, {1}} +$ Visualisation for x +$ +$ 1 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_2_1_4-solution000002.solution b/tests/exhaustive/basic/setOfSet04/expected/model_2_1_4-solution000002.solution new file mode 100644 index 0000000000..c8946f3d06 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_2_1_4-solution000002.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{}, {2}} +$ Visualisation for x +$ +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_2_1_4-solution000003.solution b/tests/exhaustive/basic/setOfSet04/expected/model_2_1_4-solution000003.solution new file mode 100644 index 0000000000..af16592c51 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_2_1_4-solution000003.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{1}, {2}} +$ Visualisation for x +$ 1 +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_2_1_4-solution000004.solution b/tests/exhaustive/basic/setOfSet04/expected/model_2_1_4-solution000004.solution new file mode 100644 index 0000000000..a6c0b6a43e --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_2_1_4-solution000004.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{}, {1, 2}} +$ Visualisation for x +$ +$ 1 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_2_1_4-solution000005.solution b/tests/exhaustive/basic/setOfSet04/expected/model_2_1_4-solution000005.solution new file mode 100644 index 0000000000..38937c9389 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_2_1_4-solution000005.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{1}, {1, 2}} +$ Visualisation for x +$ 1 +$ 1 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_2_1_4-solution000006.solution b/tests/exhaustive/basic/setOfSet04/expected/model_2_1_4-solution000006.solution new file mode 100644 index 0000000000..9bf2af0712 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_2_1_4-solution000006.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{1, 2}, {2}} +$ Visualisation for x +$ 1 2 +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_2_1_4.eprime b/tests/exhaustive/basic/setOfSet04/expected/model_2_1_4.eprime new file mode 100644 index 0000000000..169610bca6 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_2_1_4.eprime @@ -0,0 +1,121 @@ +language ESSENCE' 1.0 + +find x_ExplicitR6_ExplicitVarSizeWithDummy: matrix indexed by [int(1..2), int(1..3)] of int(1..3) +find x_ExplicitR2_Occurrence: matrix indexed by [int(1..2), int(1..2)] of bool +find x_ExplicitR4_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..2), int(1..3)] of bool +find x_ExplicitR4_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..2), int(1..3)] of int(1..2) +branching on + [x_ExplicitR4_ExplicitVarSizeWithFlags_Flags, x_ExplicitR4_ExplicitVarSizeWithFlags_Values, + x_ExplicitR6_ExplicitVarSizeWithDummy, x_ExplicitR2_Occurrence] +such that + [x_ExplicitR6_ExplicitVarSizeWithDummy[1, q7] | q7 : int(1..3)] x_ExplicitR6_ExplicitVarSizeWithDummy[q2, q4 + 1] = 3 + | q4 : int(1..2)]) + | q2 : int(1..2)]), + and([sum([toInt(x_ExplicitR6_ExplicitVarSizeWithDummy[q2, q5] != 3) | q5 : int(1..3)]) <= 3 | q2 : int(1..2)]), + [-toInt(x_ExplicitR2_Occurrence[1, q12]) | q12 : int(1..2)] + x_ExplicitR2_Occurrence[q15, x_ExplicitR6_ExplicitVarSizeWithDummy[q17, q19]] + | q19 : int(1..3)]) + /\ + and([x_ExplicitR2_Occurrence[q15, q20] -> + or([x_ExplicitR6_ExplicitVarSizeWithDummy[q17, q22] != 3 /\ + x_ExplicitR6_ExplicitVarSizeWithDummy[q17, q22] = q20 + | q22 : int(1..3)]) + | q20 : int(1..2)]) + | q17 : int(1..2)]) + | q15 : int(1..2)]), + and([or([and([x_ExplicitR2_Occurrence[q26, q27] -> + or([x_ExplicitR6_ExplicitVarSizeWithDummy[q24, q29] != 3 /\ + x_ExplicitR6_ExplicitVarSizeWithDummy[q24, q29] = q27 + | q29 : int(1..3)]) + | q27 : int(1..2)]) + /\ + and([x_ExplicitR6_ExplicitVarSizeWithDummy[q24, q31] != 3 -> + x_ExplicitR2_Occurrence[q26, x_ExplicitR6_ExplicitVarSizeWithDummy[q24, q31]] + | q31 : int(1..3)]) + | q26 : int(1..2)]) + | q24 : int(1..2)]), + flatten([flatten([[-toInt(x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[1, q39]); int(1)], + [x_ExplicitR4_ExplicitVarSizeWithFlags_Values[1, q39]; int(1)]; + int(1..2)]) + | q39 : int(1..3)]) + + x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q33, q34] < + x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q33, q34 + 1] + | q34 : int(1..2)]) + | q33 : int(1..2)]), + and([and([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q33, q35] = false -> + x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q33, q35] = 1 + | q35 : int(1..3)]) + | q33 : int(1..2)]), + and([and([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q33, q36 + 1] -> + x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q33, q36] + | q36 : int(1..2)]) + | q33 : int(1..2)]), + and([sum([toInt(x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q33, q37]) | q37 : int(1..3)]) <= 3 | q33 : int(1..2)]), + and([or([and([x_ExplicitR6_ExplicitVarSizeWithDummy[q44, q46] != 3 -> + or([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q42, q48] /\ + x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q42, q48] = + x_ExplicitR6_ExplicitVarSizeWithDummy[q44, q46] + | q48 : int(1..3)]) + | q46 : int(1..3)]) + /\ + and([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q42, q50] -> + or([x_ExplicitR6_ExplicitVarSizeWithDummy[q44, q52] != 3 /\ + x_ExplicitR6_ExplicitVarSizeWithDummy[q44, q52] = + x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q42, q50] + | q52 : int(1..3)]) + | q50 : int(1..3)]) + | q44 : int(1..2)]) + | q42 : int(1..2)]), + and([or([and([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q56, q58] -> + or([x_ExplicitR6_ExplicitVarSizeWithDummy[q54, q60] != 3 /\ + x_ExplicitR6_ExplicitVarSizeWithDummy[q54, q60] = + x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q56, q58] + | q60 : int(1..3)]) + | q58 : int(1..3)]) + /\ + and([x_ExplicitR6_ExplicitVarSizeWithDummy[q54, q62] != 3 -> + or([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q56, q64] /\ + x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q56, q64] = + x_ExplicitR6_ExplicitVarSizeWithDummy[q54, q62] + | q64 : int(1..3)]) + | q62 : int(1..3)]) + | q56 : int(1..2)]) + | q54 : int(1..2)]), + and([or([and([x_ExplicitR2_Occurrence[q68, q69] -> + or([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q66, q71] /\ + x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q66, q71] = q69 + | q71 : int(1..3)]) + | q69 : int(1..2)]) + /\ + and([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q66, q73] -> + x_ExplicitR2_Occurrence[q68, x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q66, q73]] + | q73 : int(1..3)]) + | q68 : int(1..2)]) + | q66 : int(1..2)]), + and([or([and([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q77, q79] -> + x_ExplicitR2_Occurrence[q75, x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q77, q79]] + | q79 : int(1..3)]) + /\ + and([x_ExplicitR2_Occurrence[q75, q80] -> + or([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q77, q82] /\ + x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q77, q82] = q80 + | q82 : int(1..3)]) + | q80 : int(1..2)]) + | q77 : int(1..2)]) + | q75 : int(1..2)]) + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_2_2_2-solution000001.solution b/tests/exhaustive/basic/setOfSet04/expected/model_2_2_2-solution000001.solution new file mode 100644 index 0000000000..38937c9389 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_2_2_2-solution000001.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{1}, {1, 2}} +$ Visualisation for x +$ 1 +$ 1 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_2_2_2-solution000002.solution b/tests/exhaustive/basic/setOfSet04/expected/model_2_2_2-solution000002.solution new file mode 100644 index 0000000000..9bf2af0712 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_2_2_2-solution000002.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{1, 2}, {2}} +$ Visualisation for x +$ 1 2 +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_2_2_2-solution000003.solution b/tests/exhaustive/basic/setOfSet04/expected/model_2_2_2-solution000003.solution new file mode 100644 index 0000000000..a6c0b6a43e --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_2_2_2-solution000003.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{}, {1, 2}} +$ Visualisation for x +$ +$ 1 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_2_2_2-solution000004.solution b/tests/exhaustive/basic/setOfSet04/expected/model_2_2_2-solution000004.solution new file mode 100644 index 0000000000..af16592c51 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_2_2_2-solution000004.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{1}, {2}} +$ Visualisation for x +$ 1 +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_2_2_2-solution000005.solution b/tests/exhaustive/basic/setOfSet04/expected/model_2_2_2-solution000005.solution new file mode 100644 index 0000000000..3ec452354e --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_2_2_2-solution000005.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{}, {1}} +$ Visualisation for x +$ +$ 1 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_2_2_2-solution000006.solution b/tests/exhaustive/basic/setOfSet04/expected/model_2_2_2-solution000006.solution new file mode 100644 index 0000000000..c8946f3d06 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_2_2_2-solution000006.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{}, {2}} +$ Visualisation for x +$ +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_2_2_2.eprime b/tests/exhaustive/basic/setOfSet04/expected/model_2_2_2.eprime new file mode 100644 index 0000000000..82d1d04484 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_2_2_2.eprime @@ -0,0 +1,16 @@ +language ESSENCE' 1.0 + +find x_ExplicitR6_ExplicitVarSizeWithDummy: matrix indexed by [int(1..2), int(1..3)] of int(1..3) +branching on [x_ExplicitR6_ExplicitVarSizeWithDummy] +such that + [x_ExplicitR6_ExplicitVarSizeWithDummy[1, q7] | q7 : int(1..3)] x_ExplicitR6_ExplicitVarSizeWithDummy[q2, q4 + 1] = 3 + | q4 : int(1..2)]) + | q2 : int(1..2)]), + and([sum([toInt(x_ExplicitR6_ExplicitVarSizeWithDummy[q2, q5] != 3) | q5 : int(1..3)]) <= 3 | q2 : int(1..2)]) + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_2_2_3-solution000001.solution b/tests/exhaustive/basic/setOfSet04/expected/model_2_2_3-solution000001.solution new file mode 100644 index 0000000000..3ec452354e --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_2_2_3-solution000001.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{}, {1}} +$ Visualisation for x +$ +$ 1 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_2_2_3-solution000002.solution b/tests/exhaustive/basic/setOfSet04/expected/model_2_2_3-solution000002.solution new file mode 100644 index 0000000000..c8946f3d06 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_2_2_3-solution000002.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{}, {2}} +$ Visualisation for x +$ +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_2_2_3-solution000003.solution b/tests/exhaustive/basic/setOfSet04/expected/model_2_2_3-solution000003.solution new file mode 100644 index 0000000000..a6c0b6a43e --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_2_2_3-solution000003.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{}, {1, 2}} +$ Visualisation for x +$ +$ 1 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_2_2_3-solution000004.solution b/tests/exhaustive/basic/setOfSet04/expected/model_2_2_3-solution000004.solution new file mode 100644 index 0000000000..af16592c51 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_2_2_3-solution000004.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{1}, {2}} +$ Visualisation for x +$ 1 +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_2_2_3-solution000005.solution b/tests/exhaustive/basic/setOfSet04/expected/model_2_2_3-solution000005.solution new file mode 100644 index 0000000000..38937c9389 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_2_2_3-solution000005.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{1}, {1, 2}} +$ Visualisation for x +$ 1 +$ 1 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_2_2_3-solution000006.solution b/tests/exhaustive/basic/setOfSet04/expected/model_2_2_3-solution000006.solution new file mode 100644 index 0000000000..9bf2af0712 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_2_2_3-solution000006.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{1, 2}, {2}} +$ Visualisation for x +$ 1 2 +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_2_2_3.eprime.orig b/tests/exhaustive/basic/setOfSet04/expected/model_2_2_3.eprime.orig deleted file mode 100644 index bdcbef4970..0000000000 --- a/tests/exhaustive/basic/setOfSet04/expected/model_2_2_3.eprime.orig +++ /dev/null @@ -1,67 +0,0 @@ -language ESSENCE' 1.0 - -find x_ExplicitR6_ExplicitVarSizeWithDummy: matrix indexed by [int(1..2), int(1..3)] of int(1..3) -find x_ExplicitR5_ExplicitVarSizeWithMarker_Marker: matrix indexed by [int(1..2)] of int(0..3) -find x_ExplicitR5_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..2), int(1..3)] of int(1..2) -branching on - [x_ExplicitR5_ExplicitVarSizeWithMarker_Marker, x_ExplicitR5_ExplicitVarSizeWithMarker_Values, - x_ExplicitR6_ExplicitVarSizeWithDummy] -such that - [x_ExplicitR6_ExplicitVarSizeWithDummy[1, q7] | q7 : int(1..3)] x_ExplicitR6_ExplicitVarSizeWithDummy[q2, q4 + 1] = 3 - | q4 : int(1..2)]) - | q2 : int(1..2)]), - and([sum([toInt(x_ExplicitR6_ExplicitVarSizeWithDummy[q2, q5] != 3) | q5 : int(1..3)]) <= 3 | q2 : int(1..2)]), - flatten([[x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[1]; int(1)], - [x_ExplicitR5_ExplicitVarSizeWithMarker_Values[1, q14] | q14 : int(1..3)]; - int(1..2)]) - - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q10, q11] < - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q10, q11 + 1] - | q11 : int(1..2)]) - | q10 : int(1..2)]), - and([and([q12 > x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q10] -> - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q10, q12] = 1 - | q12 : int(1..3)]) - | q10 : int(1..2)]), - and([x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q10] <= 3 | q10 : int(1..2)]), - and([or([and([x_ExplicitR6_ExplicitVarSizeWithDummy[q19, q21] != 3 -> - or([q23 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q17] /\ - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q17, q23] = - x_ExplicitR6_ExplicitVarSizeWithDummy[q19, q21] - | q23 : int(1..3)]) - | q21 : int(1..3)]) - /\ - and([q25 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q17] -> - or([x_ExplicitR6_ExplicitVarSizeWithDummy[q19, q27] != 3 /\ - x_ExplicitR6_ExplicitVarSizeWithDummy[q19, q27] = - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q17, q25] - | q27 : int(1..3)]) - | q25 : int(1..3)]) - | q19 : int(1..2)]) - | q17 : int(1..2)]), - and([or([and([q33 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q31] -> - or([x_ExplicitR6_ExplicitVarSizeWithDummy[q29, q35] != 3 /\ - x_ExplicitR6_ExplicitVarSizeWithDummy[q29, q35] = - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q31, q33] - | q35 : int(1..3)]) - | q33 : int(1..3)]) - /\ - and([x_ExplicitR6_ExplicitVarSizeWithDummy[q29, q37] != 3 -> - or([q39 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q31] /\ - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q31, q39] = - x_ExplicitR6_ExplicitVarSizeWithDummy[q29, q37] - | q39 : int(1..3)]) - | q37 : int(1..3)]) - | q31 : int(1..2)]) - | q29 : int(1..2)]) - diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_2_2_4-solution000001.solution b/tests/exhaustive/basic/setOfSet04/expected/model_2_2_4-solution000001.solution new file mode 100644 index 0000000000..3ec452354e --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_2_2_4-solution000001.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{}, {1}} +$ Visualisation for x +$ +$ 1 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_2_2_4-solution000002.solution b/tests/exhaustive/basic/setOfSet04/expected/model_2_2_4-solution000002.solution new file mode 100644 index 0000000000..c8946f3d06 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_2_2_4-solution000002.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{}, {2}} +$ Visualisation for x +$ +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_2_2_4-solution000003.solution b/tests/exhaustive/basic/setOfSet04/expected/model_2_2_4-solution000003.solution new file mode 100644 index 0000000000..af16592c51 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_2_2_4-solution000003.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{1}, {2}} +$ Visualisation for x +$ 1 +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_2_2_4-solution000004.solution b/tests/exhaustive/basic/setOfSet04/expected/model_2_2_4-solution000004.solution new file mode 100644 index 0000000000..a6c0b6a43e --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_2_2_4-solution000004.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{}, {1, 2}} +$ Visualisation for x +$ +$ 1 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_2_2_4-solution000005.solution b/tests/exhaustive/basic/setOfSet04/expected/model_2_2_4-solution000005.solution new file mode 100644 index 0000000000..38937c9389 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_2_2_4-solution000005.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{1}, {1, 2}} +$ Visualisation for x +$ 1 +$ 1 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_2_2_4-solution000006.solution b/tests/exhaustive/basic/setOfSet04/expected/model_2_2_4-solution000006.solution new file mode 100644 index 0000000000..9bf2af0712 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_2_2_4-solution000006.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{1, 2}, {2}} +$ Visualisation for x +$ 1 2 +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_2_2_4.eprime b/tests/exhaustive/basic/setOfSet04/expected/model_2_2_4.eprime new file mode 100644 index 0000000000..247428fb21 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_2_2_4.eprime @@ -0,0 +1,73 @@ +language ESSENCE' 1.0 + +find x_ExplicitR6_ExplicitVarSizeWithDummy: matrix indexed by [int(1..2), int(1..3)] of int(1..3) +find x_ExplicitR4_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..2), int(1..3)] of bool +find x_ExplicitR4_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..2), int(1..3)] of int(1..2) +branching on + [x_ExplicitR4_ExplicitVarSizeWithFlags_Flags, x_ExplicitR4_ExplicitVarSizeWithFlags_Values, + x_ExplicitR6_ExplicitVarSizeWithDummy] +such that + [x_ExplicitR6_ExplicitVarSizeWithDummy[1, q7] | q7 : int(1..3)] x_ExplicitR6_ExplicitVarSizeWithDummy[q2, q4 + 1] = 3 + | q4 : int(1..2)]) + | q2 : int(1..2)]), + and([sum([toInt(x_ExplicitR6_ExplicitVarSizeWithDummy[q2, q5] != 3) | q5 : int(1..3)]) <= 3 | q2 : int(1..2)]), + flatten([flatten([[-toInt(x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[1, q16]); int(1)], + [x_ExplicitR4_ExplicitVarSizeWithFlags_Values[1, q16]; int(1)]; + int(1..2)]) + | q16 : int(1..3)]) + + x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q10, q11] < + x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q10, q11 + 1] + | q11 : int(1..2)]) + | q10 : int(1..2)]), + and([and([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q10, q12] = false -> + x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q10, q12] = 1 + | q12 : int(1..3)]) + | q10 : int(1..2)]), + and([and([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q10, q13 + 1] -> + x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q10, q13] + | q13 : int(1..2)]) + | q10 : int(1..2)]), + and([sum([toInt(x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q10, q14]) | q14 : int(1..3)]) <= 3 | q10 : int(1..2)]), + and([or([and([x_ExplicitR6_ExplicitVarSizeWithDummy[q21, q23] != 3 -> + or([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q19, q25] /\ + x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q19, q25] = + x_ExplicitR6_ExplicitVarSizeWithDummy[q21, q23] + | q25 : int(1..3)]) + | q23 : int(1..3)]) + /\ + and([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q19, q27] -> + or([x_ExplicitR6_ExplicitVarSizeWithDummy[q21, q29] != 3 /\ + x_ExplicitR6_ExplicitVarSizeWithDummy[q21, q29] = + x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q19, q27] + | q29 : int(1..3)]) + | q27 : int(1..3)]) + | q21 : int(1..2)]) + | q19 : int(1..2)]), + and([or([and([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q33, q35] -> + or([x_ExplicitR6_ExplicitVarSizeWithDummy[q31, q37] != 3 /\ + x_ExplicitR6_ExplicitVarSizeWithDummy[q31, q37] = + x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q33, q35] + | q37 : int(1..3)]) + | q35 : int(1..3)]) + /\ + and([x_ExplicitR6_ExplicitVarSizeWithDummy[q31, q39] != 3 -> + or([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q33, q41] /\ + x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q33, q41] = + x_ExplicitR6_ExplicitVarSizeWithDummy[q31, q39] + | q41 : int(1..3)]) + | q39 : int(1..3)]) + | q33 : int(1..2)]) + | q31 : int(1..2)]) + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_2_3_1-solution000001.solution b/tests/exhaustive/basic/setOfSet04/expected/model_2_3_1-solution000001.solution new file mode 100644 index 0000000000..c8946f3d06 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_2_3_1-solution000001.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{}, {2}} +$ Visualisation for x +$ +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_2_3_1-solution000002.solution b/tests/exhaustive/basic/setOfSet04/expected/model_2_3_1-solution000002.solution new file mode 100644 index 0000000000..3ec452354e --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_2_3_1-solution000002.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{}, {1}} +$ Visualisation for x +$ +$ 1 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_2_3_1-solution000003.solution b/tests/exhaustive/basic/setOfSet04/expected/model_2_3_1-solution000003.solution new file mode 100644 index 0000000000..af16592c51 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_2_3_1-solution000003.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{1}, {2}} +$ Visualisation for x +$ 1 +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_2_3_1-solution000004.solution b/tests/exhaustive/basic/setOfSet04/expected/model_2_3_1-solution000004.solution new file mode 100644 index 0000000000..a6c0b6a43e --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_2_3_1-solution000004.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{}, {1, 2}} +$ Visualisation for x +$ +$ 1 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_2_3_1-solution000005.solution b/tests/exhaustive/basic/setOfSet04/expected/model_2_3_1-solution000005.solution new file mode 100644 index 0000000000..9bf2af0712 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_2_3_1-solution000005.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{1, 2}, {2}} +$ Visualisation for x +$ 1 2 +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_2_3_1-solution000006.solution b/tests/exhaustive/basic/setOfSet04/expected/model_2_3_1-solution000006.solution new file mode 100644 index 0000000000..38937c9389 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_2_3_1-solution000006.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{1}, {1, 2}} +$ Visualisation for x +$ 1 +$ 1 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_2_3_1.eprime.orig b/tests/exhaustive/basic/setOfSet04/expected/model_2_3_1.eprime.orig deleted file mode 100644 index e268def585..0000000000 --- a/tests/exhaustive/basic/setOfSet04/expected/model_2_3_1.eprime.orig +++ /dev/null @@ -1,115 +0,0 @@ -language ESSENCE' 1.0 - -find x_ExplicitR6_ExplicitVarSizeWithDummy: matrix indexed by [int(1..2), int(1..3)] of int(1..3) -find x_ExplicitR5_ExplicitVarSizeWithMarker_Marker: matrix indexed by [int(1..2)] of int(0..3) -find x_ExplicitR5_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..2), int(1..3)] of int(1..2) -find x_ExplicitR2_Occurrence: matrix indexed by [int(1..2), int(1..2)] of bool -branching on - [x_ExplicitR2_Occurrence, x_ExplicitR6_ExplicitVarSizeWithDummy, x_ExplicitR5_ExplicitVarSizeWithMarker_Marker, - x_ExplicitR5_ExplicitVarSizeWithMarker_Values] -such that - [x_ExplicitR6_ExplicitVarSizeWithDummy[1, q7] | q7 : int(1..3)] x_ExplicitR6_ExplicitVarSizeWithDummy[q2, q4 + 1] = 3 - | q4 : int(1..2)]) - | q2 : int(1..2)]), - and([sum([toInt(x_ExplicitR6_ExplicitVarSizeWithDummy[q2, q5] != 3) | q5 : int(1..3)]) <= 3 | q2 : int(1..2)]), - flatten([[x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[1]; int(1)], - [x_ExplicitR5_ExplicitVarSizeWithMarker_Values[1, q14] | q14 : int(1..3)]; - int(1..2)]) - - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q10, q11] < - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q10, q11 + 1] - | q11 : int(1..2)]) - | q10 : int(1..2)]), - and([and([q12 > x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q10] -> - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q10, q12] = 1 - | q12 : int(1..3)]) - | q10 : int(1..2)]), - and([x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q10] <= 3 | q10 : int(1..2)]), - and([or([and([x_ExplicitR6_ExplicitVarSizeWithDummy[q19, q21] != 3 -> - or([q23 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q17] /\ - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q17, q23] = - x_ExplicitR6_ExplicitVarSizeWithDummy[q19, q21] - | q23 : int(1..3)]) - | q21 : int(1..3)]) - /\ - and([q25 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q17] -> - or([x_ExplicitR6_ExplicitVarSizeWithDummy[q19, q27] != 3 /\ - x_ExplicitR6_ExplicitVarSizeWithDummy[q19, q27] = - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q17, q25] - | q27 : int(1..3)]) - | q25 : int(1..3)]) - | q19 : int(1..2)]) - | q17 : int(1..2)]), - and([or([and([q33 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q31] -> - or([x_ExplicitR6_ExplicitVarSizeWithDummy[q29, q35] != 3 /\ - x_ExplicitR6_ExplicitVarSizeWithDummy[q29, q35] = - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q31, q33] - | q35 : int(1..3)]) - | q33 : int(1..3)]) - /\ - and([x_ExplicitR6_ExplicitVarSizeWithDummy[q29, q37] != 3 -> - or([q39 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q31] /\ - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q31, q39] = - x_ExplicitR6_ExplicitVarSizeWithDummy[q29, q37] - | q39 : int(1..3)]) - | q37 : int(1..3)]) - | q31 : int(1..2)]) - | q29 : int(1..2)]), - [-toInt(x_ExplicitR2_Occurrence[1, q43]) | q43 : int(1..2)] - x_ExplicitR2_Occurrence[q46, x_ExplicitR6_ExplicitVarSizeWithDummy[q48, q50]] - | q50 : int(1..3)]) - /\ - and([x_ExplicitR2_Occurrence[q46, q51] -> - or([x_ExplicitR6_ExplicitVarSizeWithDummy[q48, q53] != 3 /\ - x_ExplicitR6_ExplicitVarSizeWithDummy[q48, q53] = q51 - | q53 : int(1..3)]) - | q51 : int(1..2)]) - | q48 : int(1..2)]) - | q46 : int(1..2)]), - and([or([and([x_ExplicitR2_Occurrence[q57, q58] -> - or([x_ExplicitR6_ExplicitVarSizeWithDummy[q55, q60] != 3 /\ - x_ExplicitR6_ExplicitVarSizeWithDummy[q55, q60] = q58 - | q60 : int(1..3)]) - | q58 : int(1..2)]) - /\ - and([x_ExplicitR6_ExplicitVarSizeWithDummy[q55, q62] != 3 -> - x_ExplicitR2_Occurrence[q57, x_ExplicitR6_ExplicitVarSizeWithDummy[q55, q62]] - | q62 : int(1..3)]) - | q57 : int(1..2)]) - | q55 : int(1..2)]), - and([or([and([q68 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q66] -> - x_ExplicitR2_Occurrence[q64, x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q66, q68]] - | q68 : int(1..3)]) - /\ - and([x_ExplicitR2_Occurrence[q64, q69] -> - or([q71 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q66] /\ - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q66, q71] = q69 - | q71 : int(1..3)]) - | q69 : int(1..2)]) - | q66 : int(1..2)]) - | q64 : int(1..2)]), - and([or([and([x_ExplicitR2_Occurrence[q75, q76] -> - or([q78 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q73] /\ - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q73, q78] = q76 - | q78 : int(1..3)]) - | q76 : int(1..2)]) - /\ - and([q80 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q73] -> - x_ExplicitR2_Occurrence[q75, x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q73, q80]] - | q80 : int(1..3)]) - | q75 : int(1..2)]) - | q73 : int(1..2)]) - diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_2_3_2.eprime.orig b/tests/exhaustive/basic/setOfSet04/expected/model_2_3_2.eprime.orig deleted file mode 100644 index bdcbef4970..0000000000 --- a/tests/exhaustive/basic/setOfSet04/expected/model_2_3_2.eprime.orig +++ /dev/null @@ -1,67 +0,0 @@ -language ESSENCE' 1.0 - -find x_ExplicitR6_ExplicitVarSizeWithDummy: matrix indexed by [int(1..2), int(1..3)] of int(1..3) -find x_ExplicitR5_ExplicitVarSizeWithMarker_Marker: matrix indexed by [int(1..2)] of int(0..3) -find x_ExplicitR5_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..2), int(1..3)] of int(1..2) -branching on - [x_ExplicitR5_ExplicitVarSizeWithMarker_Marker, x_ExplicitR5_ExplicitVarSizeWithMarker_Values, - x_ExplicitR6_ExplicitVarSizeWithDummy] -such that - [x_ExplicitR6_ExplicitVarSizeWithDummy[1, q7] | q7 : int(1..3)] x_ExplicitR6_ExplicitVarSizeWithDummy[q2, q4 + 1] = 3 - | q4 : int(1..2)]) - | q2 : int(1..2)]), - and([sum([toInt(x_ExplicitR6_ExplicitVarSizeWithDummy[q2, q5] != 3) | q5 : int(1..3)]) <= 3 | q2 : int(1..2)]), - flatten([[x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[1]; int(1)], - [x_ExplicitR5_ExplicitVarSizeWithMarker_Values[1, q14] | q14 : int(1..3)]; - int(1..2)]) - - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q10, q11] < - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q10, q11 + 1] - | q11 : int(1..2)]) - | q10 : int(1..2)]), - and([and([q12 > x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q10] -> - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q10, q12] = 1 - | q12 : int(1..3)]) - | q10 : int(1..2)]), - and([x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q10] <= 3 | q10 : int(1..2)]), - and([or([and([x_ExplicitR6_ExplicitVarSizeWithDummy[q19, q21] != 3 -> - or([q23 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q17] /\ - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q17, q23] = - x_ExplicitR6_ExplicitVarSizeWithDummy[q19, q21] - | q23 : int(1..3)]) - | q21 : int(1..3)]) - /\ - and([q25 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q17] -> - or([x_ExplicitR6_ExplicitVarSizeWithDummy[q19, q27] != 3 /\ - x_ExplicitR6_ExplicitVarSizeWithDummy[q19, q27] = - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q17, q25] - | q27 : int(1..3)]) - | q25 : int(1..3)]) - | q19 : int(1..2)]) - | q17 : int(1..2)]), - and([or([and([q33 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q31] -> - or([x_ExplicitR6_ExplicitVarSizeWithDummy[q29, q35] != 3 /\ - x_ExplicitR6_ExplicitVarSizeWithDummy[q29, q35] = - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q31, q33] - | q35 : int(1..3)]) - | q33 : int(1..3)]) - /\ - and([x_ExplicitR6_ExplicitVarSizeWithDummy[q29, q37] != 3 -> - or([q39 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q31] /\ - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q31, q39] = - x_ExplicitR6_ExplicitVarSizeWithDummy[q29, q37] - | q39 : int(1..3)]) - | q37 : int(1..3)]) - | q31 : int(1..2)]) - | q29 : int(1..2)]) - diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_2_3_3.eprime.orig b/tests/exhaustive/basic/setOfSet04/expected/model_2_3_3.eprime.orig deleted file mode 100644 index bdcbef4970..0000000000 --- a/tests/exhaustive/basic/setOfSet04/expected/model_2_3_3.eprime.orig +++ /dev/null @@ -1,67 +0,0 @@ -language ESSENCE' 1.0 - -find x_ExplicitR6_ExplicitVarSizeWithDummy: matrix indexed by [int(1..2), int(1..3)] of int(1..3) -find x_ExplicitR5_ExplicitVarSizeWithMarker_Marker: matrix indexed by [int(1..2)] of int(0..3) -find x_ExplicitR5_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..2), int(1..3)] of int(1..2) -branching on - [x_ExplicitR5_ExplicitVarSizeWithMarker_Marker, x_ExplicitR5_ExplicitVarSizeWithMarker_Values, - x_ExplicitR6_ExplicitVarSizeWithDummy] -such that - [x_ExplicitR6_ExplicitVarSizeWithDummy[1, q7] | q7 : int(1..3)] x_ExplicitR6_ExplicitVarSizeWithDummy[q2, q4 + 1] = 3 - | q4 : int(1..2)]) - | q2 : int(1..2)]), - and([sum([toInt(x_ExplicitR6_ExplicitVarSizeWithDummy[q2, q5] != 3) | q5 : int(1..3)]) <= 3 | q2 : int(1..2)]), - flatten([[x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[1]; int(1)], - [x_ExplicitR5_ExplicitVarSizeWithMarker_Values[1, q14] | q14 : int(1..3)]; - int(1..2)]) - - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q10, q11] < - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q10, q11 + 1] - | q11 : int(1..2)]) - | q10 : int(1..2)]), - and([and([q12 > x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q10] -> - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q10, q12] = 1 - | q12 : int(1..3)]) - | q10 : int(1..2)]), - and([x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q10] <= 3 | q10 : int(1..2)]), - and([or([and([x_ExplicitR6_ExplicitVarSizeWithDummy[q19, q21] != 3 -> - or([q23 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q17] /\ - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q17, q23] = - x_ExplicitR6_ExplicitVarSizeWithDummy[q19, q21] - | q23 : int(1..3)]) - | q21 : int(1..3)]) - /\ - and([q25 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q17] -> - or([x_ExplicitR6_ExplicitVarSizeWithDummy[q19, q27] != 3 /\ - x_ExplicitR6_ExplicitVarSizeWithDummy[q19, q27] = - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q17, q25] - | q27 : int(1..3)]) - | q25 : int(1..3)]) - | q19 : int(1..2)]) - | q17 : int(1..2)]), - and([or([and([q33 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q31] -> - or([x_ExplicitR6_ExplicitVarSizeWithDummy[q29, q35] != 3 /\ - x_ExplicitR6_ExplicitVarSizeWithDummy[q29, q35] = - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q31, q33] - | q35 : int(1..3)]) - | q33 : int(1..3)]) - /\ - and([x_ExplicitR6_ExplicitVarSizeWithDummy[q29, q37] != 3 -> - or([q39 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q31] /\ - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q31, q39] = - x_ExplicitR6_ExplicitVarSizeWithDummy[q29, q37] - | q39 : int(1..3)]) - | q37 : int(1..3)]) - | q31 : int(1..2)]) - | q29 : int(1..2)]) - diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_2_3_4-solution000001.solution b/tests/exhaustive/basic/setOfSet04/expected/model_2_3_4-solution000001.solution new file mode 100644 index 0000000000..3ec452354e --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_2_3_4-solution000001.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{}, {1}} +$ Visualisation for x +$ +$ 1 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_2_3_4-solution000002.solution b/tests/exhaustive/basic/setOfSet04/expected/model_2_3_4-solution000002.solution new file mode 100644 index 0000000000..c8946f3d06 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_2_3_4-solution000002.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{}, {2}} +$ Visualisation for x +$ +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_2_3_4-solution000003.solution b/tests/exhaustive/basic/setOfSet04/expected/model_2_3_4-solution000003.solution new file mode 100644 index 0000000000..af16592c51 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_2_3_4-solution000003.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{1}, {2}} +$ Visualisation for x +$ 1 +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_2_3_4-solution000004.solution b/tests/exhaustive/basic/setOfSet04/expected/model_2_3_4-solution000004.solution new file mode 100644 index 0000000000..a6c0b6a43e --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_2_3_4-solution000004.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{}, {1, 2}} +$ Visualisation for x +$ +$ 1 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_2_3_4-solution000005.solution b/tests/exhaustive/basic/setOfSet04/expected/model_2_3_4-solution000005.solution new file mode 100644 index 0000000000..38937c9389 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_2_3_4-solution000005.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{1}, {1, 2}} +$ Visualisation for x +$ 1 +$ 1 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_2_3_4-solution000006.solution b/tests/exhaustive/basic/setOfSet04/expected/model_2_3_4-solution000006.solution new file mode 100644 index 0000000000..9bf2af0712 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_2_3_4-solution000006.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{1, 2}, {2}} +$ Visualisation for x +$ 1 2 +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_2_3_4.eprime.orig b/tests/exhaustive/basic/setOfSet04/expected/model_2_3_4.eprime.orig deleted file mode 100644 index cfc3d08942..0000000000 --- a/tests/exhaustive/basic/setOfSet04/expected/model_2_3_4.eprime.orig +++ /dev/null @@ -1,153 +0,0 @@ -language ESSENCE' 1.0 - -find x_ExplicitR6_ExplicitVarSizeWithDummy: matrix indexed by [int(1..2), int(1..3)] of int(1..3) -find x_ExplicitR5_ExplicitVarSizeWithMarker_Marker: matrix indexed by [int(1..2)] of int(0..3) -find x_ExplicitR5_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..2), int(1..3)] of int(1..2) -find x_ExplicitR4_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..2), int(1..3)] of bool -find x_ExplicitR4_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..2), int(1..3)] of int(1..2) -branching on - [x_ExplicitR4_ExplicitVarSizeWithFlags_Flags, x_ExplicitR4_ExplicitVarSizeWithFlags_Values, - x_ExplicitR6_ExplicitVarSizeWithDummy, x_ExplicitR5_ExplicitVarSizeWithMarker_Marker, - x_ExplicitR5_ExplicitVarSizeWithMarker_Values] -such that - [x_ExplicitR6_ExplicitVarSizeWithDummy[1, q7] | q7 : int(1..3)] x_ExplicitR6_ExplicitVarSizeWithDummy[q2, q4 + 1] = 3 - | q4 : int(1..2)]) - | q2 : int(1..2)]), - and([sum([toInt(x_ExplicitR6_ExplicitVarSizeWithDummy[q2, q5] != 3) | q5 : int(1..3)]) <= 3 | q2 : int(1..2)]), - flatten([[x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[1]; int(1)], - [x_ExplicitR5_ExplicitVarSizeWithMarker_Values[1, q14] | q14 : int(1..3)]; - int(1..2)]) - - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q10, q11] < - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q10, q11 + 1] - | q11 : int(1..2)]) - | q10 : int(1..2)]), - and([and([q12 > x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q10] -> - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q10, q12] = 1 - | q12 : int(1..3)]) - | q10 : int(1..2)]), - and([x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q10] <= 3 | q10 : int(1..2)]), - and([or([and([x_ExplicitR6_ExplicitVarSizeWithDummy[q19, q21] != 3 -> - or([q23 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q17] /\ - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q17, q23] = - x_ExplicitR6_ExplicitVarSizeWithDummy[q19, q21] - | q23 : int(1..3)]) - | q21 : int(1..3)]) - /\ - and([q25 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q17] -> - or([x_ExplicitR6_ExplicitVarSizeWithDummy[q19, q27] != 3 /\ - x_ExplicitR6_ExplicitVarSizeWithDummy[q19, q27] = - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q17, q25] - | q27 : int(1..3)]) - | q25 : int(1..3)]) - | q19 : int(1..2)]) - | q17 : int(1..2)]), - and([or([and([q33 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q31] -> - or([x_ExplicitR6_ExplicitVarSizeWithDummy[q29, q35] != 3 /\ - x_ExplicitR6_ExplicitVarSizeWithDummy[q29, q35] = - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q31, q33] - | q35 : int(1..3)]) - | q33 : int(1..3)]) - /\ - and([x_ExplicitR6_ExplicitVarSizeWithDummy[q29, q37] != 3 -> - or([q39 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q31] /\ - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q31, q39] = - x_ExplicitR6_ExplicitVarSizeWithDummy[q29, q37] - | q39 : int(1..3)]) - | q37 : int(1..3)]) - | q31 : int(1..2)]) - | q29 : int(1..2)]), - flatten([flatten([[-toInt(x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[1, q47]); int(1)], - [x_ExplicitR4_ExplicitVarSizeWithFlags_Values[1, q47]; int(1)]; - int(1..2)]) - | q47 : int(1..3)]) - - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q41, q42] < - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q41, q42 + 1] - | q42 : int(1..2)]) - | q41 : int(1..2)]), - and([and([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q41, q43] = false -> - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q41, q43] = 1 - | q43 : int(1..3)]) - | q41 : int(1..2)]), - and([and([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q41, q44 + 1] -> - x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q41, q44] - | q44 : int(1..2)]) - | q41 : int(1..2)]), - and([sum([toInt(x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q41, q45]) | q45 : int(1..3)]) <= 3 | q41 : int(1..2)]), - and([or([and([x_ExplicitR6_ExplicitVarSizeWithDummy[q52, q54] != 3 -> - or([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q50, q56] /\ - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q50, q56] = - x_ExplicitR6_ExplicitVarSizeWithDummy[q52, q54] - | q56 : int(1..3)]) - | q54 : int(1..3)]) - /\ - and([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q50, q58] -> - or([x_ExplicitR6_ExplicitVarSizeWithDummy[q52, q60] != 3 /\ - x_ExplicitR6_ExplicitVarSizeWithDummy[q52, q60] = - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q50, q58] - | q60 : int(1..3)]) - | q58 : int(1..3)]) - | q52 : int(1..2)]) - | q50 : int(1..2)]), - and([or([and([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q64, q66] -> - or([x_ExplicitR6_ExplicitVarSizeWithDummy[q62, q68] != 3 /\ - x_ExplicitR6_ExplicitVarSizeWithDummy[q62, q68] = - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q64, q66] - | q68 : int(1..3)]) - | q66 : int(1..3)]) - /\ - and([x_ExplicitR6_ExplicitVarSizeWithDummy[q62, q70] != 3 -> - or([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q64, q72] /\ - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q64, q72] = - x_ExplicitR6_ExplicitVarSizeWithDummy[q62, q70] - | q72 : int(1..3)]) - | q70 : int(1..3)]) - | q64 : int(1..2)]) - | q62 : int(1..2)]), - and([or([and([q78 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q76] -> - or([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q74, q80] /\ - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q74, q80] = - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q76, q78] - | q80 : int(1..3)]) - | q78 : int(1..3)]) - /\ - and([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q74, q82] -> - or([q84 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q76] /\ - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q76, q84] = - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q74, q82] - | q84 : int(1..3)]) - | q82 : int(1..3)]) - | q76 : int(1..2)]) - | q74 : int(1..2)]), - and([or([and([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q88, q90] -> - or([q92 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q86] /\ - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q86, q92] = - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q88, q90] - | q92 : int(1..3)]) - | q90 : int(1..3)]) - /\ - and([q94 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q86] -> - or([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q88, q96] /\ - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q88, q96] = - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q86, q94] - | q96 : int(1..3)]) - | q94 : int(1..3)]) - | q88 : int(1..2)]) - | q86 : int(1..2)]) - diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_2_4_1-solution000001.solution b/tests/exhaustive/basic/setOfSet04/expected/model_2_4_1-solution000001.solution new file mode 100644 index 0000000000..c8946f3d06 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_2_4_1-solution000001.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{}, {2}} +$ Visualisation for x +$ +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_2_4_1-solution000002.solution b/tests/exhaustive/basic/setOfSet04/expected/model_2_4_1-solution000002.solution new file mode 100644 index 0000000000..3ec452354e --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_2_4_1-solution000002.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{}, {1}} +$ Visualisation for x +$ +$ 1 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_2_4_1-solution000003.solution b/tests/exhaustive/basic/setOfSet04/expected/model_2_4_1-solution000003.solution new file mode 100644 index 0000000000..af16592c51 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_2_4_1-solution000003.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{1}, {2}} +$ Visualisation for x +$ 1 +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_2_4_1-solution000004.solution b/tests/exhaustive/basic/setOfSet04/expected/model_2_4_1-solution000004.solution new file mode 100644 index 0000000000..a6c0b6a43e --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_2_4_1-solution000004.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{}, {1, 2}} +$ Visualisation for x +$ +$ 1 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_2_4_1-solution000005.solution b/tests/exhaustive/basic/setOfSet04/expected/model_2_4_1-solution000005.solution new file mode 100644 index 0000000000..9bf2af0712 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_2_4_1-solution000005.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{1, 2}, {2}} +$ Visualisation for x +$ 1 2 +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_2_4_1-solution000006.solution b/tests/exhaustive/basic/setOfSet04/expected/model_2_4_1-solution000006.solution new file mode 100644 index 0000000000..38937c9389 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_2_4_1-solution000006.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{1}, {1, 2}} +$ Visualisation for x +$ 1 +$ 1 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_2_4_1.eprime b/tests/exhaustive/basic/setOfSet04/expected/model_2_4_1.eprime new file mode 100644 index 0000000000..ed505c7c7d --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_2_4_1.eprime @@ -0,0 +1,121 @@ +language ESSENCE' 1.0 + +find x_ExplicitR6_ExplicitVarSizeWithDummy: matrix indexed by [int(1..2), int(1..3)] of int(1..3) +find x_ExplicitR4_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..2), int(1..3)] of bool +find x_ExplicitR4_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..2), int(1..3)] of int(1..2) +find x_ExplicitR2_Occurrence: matrix indexed by [int(1..2), int(1..2)] of bool +branching on + [x_ExplicitR2_Occurrence, x_ExplicitR6_ExplicitVarSizeWithDummy, x_ExplicitR4_ExplicitVarSizeWithFlags_Flags, + x_ExplicitR4_ExplicitVarSizeWithFlags_Values] +such that + [x_ExplicitR6_ExplicitVarSizeWithDummy[1, q7] | q7 : int(1..3)] x_ExplicitR6_ExplicitVarSizeWithDummy[q2, q4 + 1] = 3 + | q4 : int(1..2)]) + | q2 : int(1..2)]), + and([sum([toInt(x_ExplicitR6_ExplicitVarSizeWithDummy[q2, q5] != 3) | q5 : int(1..3)]) <= 3 | q2 : int(1..2)]), + flatten([flatten([[-toInt(x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[1, q16]); int(1)], + [x_ExplicitR4_ExplicitVarSizeWithFlags_Values[1, q16]; int(1)]; + int(1..2)]) + | q16 : int(1..3)]) + + x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q10, q11] < + x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q10, q11 + 1] + | q11 : int(1..2)]) + | q10 : int(1..2)]), + and([and([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q10, q12] = false -> + x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q10, q12] = 1 + | q12 : int(1..3)]) + | q10 : int(1..2)]), + and([and([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q10, q13 + 1] -> + x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q10, q13] + | q13 : int(1..2)]) + | q10 : int(1..2)]), + and([sum([toInt(x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q10, q14]) | q14 : int(1..3)]) <= 3 | q10 : int(1..2)]), + and([or([and([x_ExplicitR6_ExplicitVarSizeWithDummy[q21, q23] != 3 -> + or([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q19, q25] /\ + x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q19, q25] = + x_ExplicitR6_ExplicitVarSizeWithDummy[q21, q23] + | q25 : int(1..3)]) + | q23 : int(1..3)]) + /\ + and([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q19, q27] -> + or([x_ExplicitR6_ExplicitVarSizeWithDummy[q21, q29] != 3 /\ + x_ExplicitR6_ExplicitVarSizeWithDummy[q21, q29] = + x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q19, q27] + | q29 : int(1..3)]) + | q27 : int(1..3)]) + | q21 : int(1..2)]) + | q19 : int(1..2)]), + and([or([and([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q33, q35] -> + or([x_ExplicitR6_ExplicitVarSizeWithDummy[q31, q37] != 3 /\ + x_ExplicitR6_ExplicitVarSizeWithDummy[q31, q37] = + x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q33, q35] + | q37 : int(1..3)]) + | q35 : int(1..3)]) + /\ + and([x_ExplicitR6_ExplicitVarSizeWithDummy[q31, q39] != 3 -> + or([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q33, q41] /\ + x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q33, q41] = + x_ExplicitR6_ExplicitVarSizeWithDummy[q31, q39] + | q41 : int(1..3)]) + | q39 : int(1..3)]) + | q33 : int(1..2)]) + | q31 : int(1..2)]), + [-toInt(x_ExplicitR2_Occurrence[1, q45]) | q45 : int(1..2)] + x_ExplicitR2_Occurrence[q48, x_ExplicitR6_ExplicitVarSizeWithDummy[q50, q52]] + | q52 : int(1..3)]) + /\ + and([x_ExplicitR2_Occurrence[q48, q53] -> + or([x_ExplicitR6_ExplicitVarSizeWithDummy[q50, q55] != 3 /\ + x_ExplicitR6_ExplicitVarSizeWithDummy[q50, q55] = q53 + | q55 : int(1..3)]) + | q53 : int(1..2)]) + | q50 : int(1..2)]) + | q48 : int(1..2)]), + and([or([and([x_ExplicitR2_Occurrence[q59, q60] -> + or([x_ExplicitR6_ExplicitVarSizeWithDummy[q57, q62] != 3 /\ + x_ExplicitR6_ExplicitVarSizeWithDummy[q57, q62] = q60 + | q62 : int(1..3)]) + | q60 : int(1..2)]) + /\ + and([x_ExplicitR6_ExplicitVarSizeWithDummy[q57, q64] != 3 -> + x_ExplicitR2_Occurrence[q59, x_ExplicitR6_ExplicitVarSizeWithDummy[q57, q64]] + | q64 : int(1..3)]) + | q59 : int(1..2)]) + | q57 : int(1..2)]), + and([or([and([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q68, q70] -> + x_ExplicitR2_Occurrence[q66, x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q68, q70]] + | q70 : int(1..3)]) + /\ + and([x_ExplicitR2_Occurrence[q66, q71] -> + or([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q68, q73] /\ + x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q68, q73] = q71 + | q73 : int(1..3)]) + | q71 : int(1..2)]) + | q68 : int(1..2)]) + | q66 : int(1..2)]), + and([or([and([x_ExplicitR2_Occurrence[q77, q78] -> + or([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q75, q80] /\ + x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q75, q80] = q78 + | q80 : int(1..3)]) + | q78 : int(1..2)]) + /\ + and([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q75, q82] -> + x_ExplicitR2_Occurrence[q77, x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q75, q82]] + | q82 : int(1..3)]) + | q77 : int(1..2)]) + | q75 : int(1..2)]) + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_2_4_3-solution000001.solution b/tests/exhaustive/basic/setOfSet04/expected/model_2_4_3-solution000001.solution new file mode 100644 index 0000000000..3ec452354e --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_2_4_3-solution000001.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{}, {1}} +$ Visualisation for x +$ +$ 1 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_2_4_3-solution000002.solution b/tests/exhaustive/basic/setOfSet04/expected/model_2_4_3-solution000002.solution new file mode 100644 index 0000000000..c8946f3d06 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_2_4_3-solution000002.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{}, {2}} +$ Visualisation for x +$ +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_2_4_3-solution000003.solution b/tests/exhaustive/basic/setOfSet04/expected/model_2_4_3-solution000003.solution new file mode 100644 index 0000000000..a6c0b6a43e --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_2_4_3-solution000003.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{}, {1, 2}} +$ Visualisation for x +$ +$ 1 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_2_4_3-solution000004.solution b/tests/exhaustive/basic/setOfSet04/expected/model_2_4_3-solution000004.solution new file mode 100644 index 0000000000..af16592c51 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_2_4_3-solution000004.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{1}, {2}} +$ Visualisation for x +$ 1 +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_2_4_3-solution000005.solution b/tests/exhaustive/basic/setOfSet04/expected/model_2_4_3-solution000005.solution new file mode 100644 index 0000000000..38937c9389 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_2_4_3-solution000005.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{1}, {1, 2}} +$ Visualisation for x +$ 1 +$ 1 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_2_4_3-solution000006.solution b/tests/exhaustive/basic/setOfSet04/expected/model_2_4_3-solution000006.solution new file mode 100644 index 0000000000..9bf2af0712 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_2_4_3-solution000006.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{1, 2}, {2}} +$ Visualisation for x +$ 1 2 +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_2_4_3.eprime.orig b/tests/exhaustive/basic/setOfSet04/expected/model_2_4_3.eprime.orig deleted file mode 100644 index 08a9116fab..0000000000 --- a/tests/exhaustive/basic/setOfSet04/expected/model_2_4_3.eprime.orig +++ /dev/null @@ -1,153 +0,0 @@ -language ESSENCE' 1.0 - -find x_ExplicitR6_ExplicitVarSizeWithDummy: matrix indexed by [int(1..2), int(1..3)] of int(1..3) -find x_ExplicitR4_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..2), int(1..3)] of bool -find x_ExplicitR4_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..2), int(1..3)] of int(1..2) -find x_ExplicitR5_ExplicitVarSizeWithMarker_Marker: matrix indexed by [int(1..2)] of int(0..3) -find x_ExplicitR5_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..2), int(1..3)] of int(1..2) -branching on - [x_ExplicitR5_ExplicitVarSizeWithMarker_Marker, x_ExplicitR5_ExplicitVarSizeWithMarker_Values, - x_ExplicitR6_ExplicitVarSizeWithDummy, x_ExplicitR4_ExplicitVarSizeWithFlags_Flags, - x_ExplicitR4_ExplicitVarSizeWithFlags_Values] -such that - [x_ExplicitR6_ExplicitVarSizeWithDummy[1, q7] | q7 : int(1..3)] x_ExplicitR6_ExplicitVarSizeWithDummy[q2, q4 + 1] = 3 - | q4 : int(1..2)]) - | q2 : int(1..2)]), - and([sum([toInt(x_ExplicitR6_ExplicitVarSizeWithDummy[q2, q5] != 3) | q5 : int(1..3)]) <= 3 | q2 : int(1..2)]), - flatten([flatten([[-toInt(x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[1, q16]); int(1)], - [x_ExplicitR4_ExplicitVarSizeWithFlags_Values[1, q16]; int(1)]; - int(1..2)]) - | q16 : int(1..3)]) - - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q10, q11] < - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q10, q11 + 1] - | q11 : int(1..2)]) - | q10 : int(1..2)]), - and([and([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q10, q12] = false -> - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q10, q12] = 1 - | q12 : int(1..3)]) - | q10 : int(1..2)]), - and([and([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q10, q13 + 1] -> - x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q10, q13] - | q13 : int(1..2)]) - | q10 : int(1..2)]), - and([sum([toInt(x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q10, q14]) | q14 : int(1..3)]) <= 3 | q10 : int(1..2)]), - and([or([and([x_ExplicitR6_ExplicitVarSizeWithDummy[q21, q23] != 3 -> - or([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q19, q25] /\ - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q19, q25] = - x_ExplicitR6_ExplicitVarSizeWithDummy[q21, q23] - | q25 : int(1..3)]) - | q23 : int(1..3)]) - /\ - and([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q19, q27] -> - or([x_ExplicitR6_ExplicitVarSizeWithDummy[q21, q29] != 3 /\ - x_ExplicitR6_ExplicitVarSizeWithDummy[q21, q29] = - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q19, q27] - | q29 : int(1..3)]) - | q27 : int(1..3)]) - | q21 : int(1..2)]) - | q19 : int(1..2)]), - and([or([and([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q33, q35] -> - or([x_ExplicitR6_ExplicitVarSizeWithDummy[q31, q37] != 3 /\ - x_ExplicitR6_ExplicitVarSizeWithDummy[q31, q37] = - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q33, q35] - | q37 : int(1..3)]) - | q35 : int(1..3)]) - /\ - and([x_ExplicitR6_ExplicitVarSizeWithDummy[q31, q39] != 3 -> - or([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q33, q41] /\ - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q33, q41] = - x_ExplicitR6_ExplicitVarSizeWithDummy[q31, q39] - | q41 : int(1..3)]) - | q39 : int(1..3)]) - | q33 : int(1..2)]) - | q31 : int(1..2)]), - flatten([[x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[1]; int(1)], - [x_ExplicitR5_ExplicitVarSizeWithMarker_Values[1, q47] | q47 : int(1..3)]; - int(1..2)]) - - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q43, q44] < - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q43, q44 + 1] - | q44 : int(1..2)]) - | q43 : int(1..2)]), - and([and([q45 > x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q43] -> - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q43, q45] = 1 - | q45 : int(1..3)]) - | q43 : int(1..2)]), - and([x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q43] <= 3 | q43 : int(1..2)]), - and([or([and([x_ExplicitR6_ExplicitVarSizeWithDummy[q52, q54] != 3 -> - or([q56 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q50] /\ - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q50, q56] = - x_ExplicitR6_ExplicitVarSizeWithDummy[q52, q54] - | q56 : int(1..3)]) - | q54 : int(1..3)]) - /\ - and([q58 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q50] -> - or([x_ExplicitR6_ExplicitVarSizeWithDummy[q52, q60] != 3 /\ - x_ExplicitR6_ExplicitVarSizeWithDummy[q52, q60] = - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q50, q58] - | q60 : int(1..3)]) - | q58 : int(1..3)]) - | q52 : int(1..2)]) - | q50 : int(1..2)]), - and([or([and([q66 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q64] -> - or([x_ExplicitR6_ExplicitVarSizeWithDummy[q62, q68] != 3 /\ - x_ExplicitR6_ExplicitVarSizeWithDummy[q62, q68] = - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q64, q66] - | q68 : int(1..3)]) - | q66 : int(1..3)]) - /\ - and([x_ExplicitR6_ExplicitVarSizeWithDummy[q62, q70] != 3 -> - or([q72 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q64] /\ - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q64, q72] = - x_ExplicitR6_ExplicitVarSizeWithDummy[q62, q70] - | q72 : int(1..3)]) - | q70 : int(1..3)]) - | q64 : int(1..2)]) - | q62 : int(1..2)]), - and([or([and([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q76, q78] -> - or([q80 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q74] /\ - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q74, q80] = - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q76, q78] - | q80 : int(1..3)]) - | q78 : int(1..3)]) - /\ - and([q82 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q74] -> - or([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q76, q84] /\ - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q76, q84] = - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q74, q82] - | q84 : int(1..3)]) - | q82 : int(1..3)]) - | q76 : int(1..2)]) - | q74 : int(1..2)]), - and([or([and([q90 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q88] -> - or([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q86, q92] /\ - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q86, q92] = - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q88, q90] - | q92 : int(1..3)]) - | q90 : int(1..3)]) - /\ - and([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q86, q94] -> - or([q96 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q88] /\ - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q88, q96] = - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q86, q94] - | q96 : int(1..3)]) - | q94 : int(1..3)]) - | q88 : int(1..2)]) - | q86 : int(1..2)]) - diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_3_1_1-solution000001.solution b/tests/exhaustive/basic/setOfSet04/expected/model_3_1_1-solution000001.solution new file mode 100644 index 0000000000..c8946f3d06 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_3_1_1-solution000001.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{}, {2}} +$ Visualisation for x +$ +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_3_1_1-solution000002.solution b/tests/exhaustive/basic/setOfSet04/expected/model_3_1_1-solution000002.solution new file mode 100644 index 0000000000..3ec452354e --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_3_1_1-solution000002.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{}, {1}} +$ Visualisation for x +$ +$ 1 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_3_1_1-solution000003.solution b/tests/exhaustive/basic/setOfSet04/expected/model_3_1_1-solution000003.solution new file mode 100644 index 0000000000..af16592c51 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_3_1_1-solution000003.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{1}, {2}} +$ Visualisation for x +$ 1 +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_3_1_1-solution000004.solution b/tests/exhaustive/basic/setOfSet04/expected/model_3_1_1-solution000004.solution new file mode 100644 index 0000000000..a6c0b6a43e --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_3_1_1-solution000004.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{}, {1, 2}} +$ Visualisation for x +$ +$ 1 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_3_1_1-solution000005.solution b/tests/exhaustive/basic/setOfSet04/expected/model_3_1_1-solution000005.solution new file mode 100644 index 0000000000..9bf2af0712 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_3_1_1-solution000005.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{1, 2}, {2}} +$ Visualisation for x +$ 1 2 +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_3_1_1-solution000006.solution b/tests/exhaustive/basic/setOfSet04/expected/model_3_1_1-solution000006.solution new file mode 100644 index 0000000000..38937c9389 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_3_1_1-solution000006.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{1}, {1, 2}} +$ Visualisation for x +$ 1 +$ 1 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_3_1_1.eprime.orig b/tests/exhaustive/basic/setOfSet04/expected/model_3_1_1.eprime.orig deleted file mode 100644 index 7d1e4bb4cf..0000000000 --- a/tests/exhaustive/basic/setOfSet04/expected/model_3_1_1.eprime.orig +++ /dev/null @@ -1,52 +0,0 @@ -language ESSENCE' 1.0 - -find x_ExplicitR5_ExplicitVarSizeWithMarker_Marker: matrix indexed by [int(1..2)] of int(0..3) -find x_ExplicitR5_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..2), int(1..3)] of int(1..2) -find x_ExplicitR2_Occurrence: matrix indexed by [int(1..2), int(1..2)] of bool -branching on - [x_ExplicitR2_Occurrence, x_ExplicitR5_ExplicitVarSizeWithMarker_Marker, - x_ExplicitR5_ExplicitVarSizeWithMarker_Values] -such that - flatten([[x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[1]; int(1)], - [x_ExplicitR5_ExplicitVarSizeWithMarker_Values[1, q6] | q6 : int(1..3)]; - int(1..2)]) - - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q2, q3] < - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q2, q3 + 1] - | q3 : int(1..2)]) - | q2 : int(1..2)]), - and([and([q4 > x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q2] -> - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q2, q4] = 1 - | q4 : int(1..3)]) - | q2 : int(1..2)]), - and([x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q2] <= 3 | q2 : int(1..2)]), - [-toInt(x_ExplicitR2_Occurrence[1, q11]) | q11 : int(1..2)] - x_ExplicitR2_Occurrence[q14, x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q16, q18]] - | q18 : int(1..3)]) - /\ - and([x_ExplicitR2_Occurrence[q14, q19] -> - or([q21 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q16] /\ - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q16, q21] = q19 - | q21 : int(1..3)]) - | q19 : int(1..2)]) - | q16 : int(1..2)]) - | q14 : int(1..2)]), - and([or([and([x_ExplicitR2_Occurrence[q25, q26] -> - or([q28 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q23] /\ - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q23, q28] = q26 - | q28 : int(1..3)]) - | q26 : int(1..2)]) - /\ - and([q30 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q23] -> - x_ExplicitR2_Occurrence[q25, x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q23, q30]] - | q30 : int(1..3)]) - | q25 : int(1..2)]) - | q23 : int(1..2)]) - diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_3_1_2-solution000001.solution b/tests/exhaustive/basic/setOfSet04/expected/model_3_1_2-solution000001.solution new file mode 100644 index 0000000000..38937c9389 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_3_1_2-solution000001.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{1}, {1, 2}} +$ Visualisation for x +$ 1 +$ 1 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_3_1_2-solution000002.solution b/tests/exhaustive/basic/setOfSet04/expected/model_3_1_2-solution000002.solution new file mode 100644 index 0000000000..9bf2af0712 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_3_1_2-solution000002.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{1, 2}, {2}} +$ Visualisation for x +$ 1 2 +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_3_1_2-solution000003.solution b/tests/exhaustive/basic/setOfSet04/expected/model_3_1_2-solution000003.solution new file mode 100644 index 0000000000..a6c0b6a43e --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_3_1_2-solution000003.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{}, {1, 2}} +$ Visualisation for x +$ +$ 1 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_3_1_2-solution000004.solution b/tests/exhaustive/basic/setOfSet04/expected/model_3_1_2-solution000004.solution new file mode 100644 index 0000000000..af16592c51 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_3_1_2-solution000004.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{1}, {2}} +$ Visualisation for x +$ 1 +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_3_1_2-solution000005.solution b/tests/exhaustive/basic/setOfSet04/expected/model_3_1_2-solution000005.solution new file mode 100644 index 0000000000..3ec452354e --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_3_1_2-solution000005.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{}, {1}} +$ Visualisation for x +$ +$ 1 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_3_1_2-solution000006.solution b/tests/exhaustive/basic/setOfSet04/expected/model_3_1_2-solution000006.solution new file mode 100644 index 0000000000..c8946f3d06 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_3_1_2-solution000006.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{}, {2}} +$ Visualisation for x +$ +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_3_1_2.eprime.orig b/tests/exhaustive/basic/setOfSet04/expected/model_3_1_2.eprime.orig deleted file mode 100644 index 9dc0033744..0000000000 --- a/tests/exhaustive/basic/setOfSet04/expected/model_3_1_2.eprime.orig +++ /dev/null @@ -1,116 +0,0 @@ -language ESSENCE' 1.0 - -find x_ExplicitR5_ExplicitVarSizeWithMarker_Marker: matrix indexed by [int(1..2)] of int(0..3) -find x_ExplicitR5_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..2), int(1..3)] of int(1..2) -find x_ExplicitR2_Occurrence: matrix indexed by [int(1..2), int(1..2)] of bool -find x_ExplicitR6_ExplicitVarSizeWithDummy: matrix indexed by [int(1..2), int(1..3)] of int(1..3) -branching on - [x_ExplicitR6_ExplicitVarSizeWithDummy, x_ExplicitR5_ExplicitVarSizeWithMarker_Marker, - x_ExplicitR5_ExplicitVarSizeWithMarker_Values, x_ExplicitR2_Occurrence] -such that - flatten([[x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[1]; int(1)], - [x_ExplicitR5_ExplicitVarSizeWithMarker_Values[1, q6] | q6 : int(1..3)]; - int(1..2)]) - - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q2, q3] < - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q2, q3 + 1] - | q3 : int(1..2)]) - | q2 : int(1..2)]), - and([and([q4 > x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q2] -> - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q2, q4] = 1 - | q4 : int(1..3)]) - | q2 : int(1..2)]), - and([x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q2] <= 3 | q2 : int(1..2)]), - [-toInt(x_ExplicitR2_Occurrence[1, q11]) | q11 : int(1..2)] - x_ExplicitR2_Occurrence[q14, x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q16, q18]] - | q18 : int(1..3)]) - /\ - and([x_ExplicitR2_Occurrence[q14, q19] -> - or([q21 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q16] /\ - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q16, q21] = q19 - | q21 : int(1..3)]) - | q19 : int(1..2)]) - | q16 : int(1..2)]) - | q14 : int(1..2)]), - and([or([and([x_ExplicitR2_Occurrence[q25, q26] -> - or([q28 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q23] /\ - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q23, q28] = q26 - | q28 : int(1..3)]) - | q26 : int(1..2)]) - /\ - and([q30 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q23] -> - x_ExplicitR2_Occurrence[q25, x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q23, q30]] - | q30 : int(1..3)]) - | q25 : int(1..2)]) - | q23 : int(1..2)]), - [x_ExplicitR6_ExplicitVarSizeWithDummy[1, q37] | q37 : int(1..3)] - x_ExplicitR6_ExplicitVarSizeWithDummy[q32, q34 + 1] = 3 - | q34 : int(1..2)]) - | q32 : int(1..2)]), - and([sum([toInt(x_ExplicitR6_ExplicitVarSizeWithDummy[q32, q35] != 3) | q35 : int(1..3)]) <= 3 | q32 : int(1..2)]), - and([or([and([q44 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q42] -> - or([x_ExplicitR6_ExplicitVarSizeWithDummy[q40, q46] != 3 /\ - x_ExplicitR6_ExplicitVarSizeWithDummy[q40, q46] = - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q42, q44] - | q46 : int(1..3)]) - | q44 : int(1..3)]) - /\ - and([x_ExplicitR6_ExplicitVarSizeWithDummy[q40, q48] != 3 -> - or([q50 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q42] /\ - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q42, q50] = - x_ExplicitR6_ExplicitVarSizeWithDummy[q40, q48] - | q50 : int(1..3)]) - | q48 : int(1..3)]) - | q42 : int(1..2)]) - | q40 : int(1..2)]), - and([or([and([x_ExplicitR6_ExplicitVarSizeWithDummy[q54, q56] != 3 -> - or([q58 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q52] /\ - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q52, q58] = - x_ExplicitR6_ExplicitVarSizeWithDummy[q54, q56] - | q58 : int(1..3)]) - | q56 : int(1..3)]) - /\ - and([q60 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q52] -> - or([x_ExplicitR6_ExplicitVarSizeWithDummy[q54, q62] != 3 /\ - x_ExplicitR6_ExplicitVarSizeWithDummy[q54, q62] = - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q52, q60] - | q62 : int(1..3)]) - | q60 : int(1..3)]) - | q54 : int(1..2)]) - | q52 : int(1..2)]), - and([or([and([x_ExplicitR2_Occurrence[q66, q67] -> - or([x_ExplicitR6_ExplicitVarSizeWithDummy[q64, q69] != 3 /\ - x_ExplicitR6_ExplicitVarSizeWithDummy[q64, q69] = q67 - | q69 : int(1..3)]) - | q67 : int(1..2)]) - /\ - and([x_ExplicitR6_ExplicitVarSizeWithDummy[q64, q71] != 3 -> - x_ExplicitR2_Occurrence[q66, x_ExplicitR6_ExplicitVarSizeWithDummy[q64, q71]] - | q71 : int(1..3)]) - | q66 : int(1..2)]) - | q64 : int(1..2)]), - and([or([and([x_ExplicitR6_ExplicitVarSizeWithDummy[q75, q77] != 3 -> - x_ExplicitR2_Occurrence[q73, x_ExplicitR6_ExplicitVarSizeWithDummy[q75, q77]] - | q77 : int(1..3)]) - /\ - and([x_ExplicitR2_Occurrence[q73, q78] -> - or([x_ExplicitR6_ExplicitVarSizeWithDummy[q75, q80] != 3 /\ - x_ExplicitR6_ExplicitVarSizeWithDummy[q75, q80] = q78 - | q80 : int(1..3)]) - | q78 : int(1..2)]) - | q75 : int(1..2)]) - | q73 : int(1..2)]) - diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_3_1_3.eprime.orig b/tests/exhaustive/basic/setOfSet04/expected/model_3_1_3.eprime.orig deleted file mode 100644 index 7d1e4bb4cf..0000000000 --- a/tests/exhaustive/basic/setOfSet04/expected/model_3_1_3.eprime.orig +++ /dev/null @@ -1,52 +0,0 @@ -language ESSENCE' 1.0 - -find x_ExplicitR5_ExplicitVarSizeWithMarker_Marker: matrix indexed by [int(1..2)] of int(0..3) -find x_ExplicitR5_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..2), int(1..3)] of int(1..2) -find x_ExplicitR2_Occurrence: matrix indexed by [int(1..2), int(1..2)] of bool -branching on - [x_ExplicitR2_Occurrence, x_ExplicitR5_ExplicitVarSizeWithMarker_Marker, - x_ExplicitR5_ExplicitVarSizeWithMarker_Values] -such that - flatten([[x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[1]; int(1)], - [x_ExplicitR5_ExplicitVarSizeWithMarker_Values[1, q6] | q6 : int(1..3)]; - int(1..2)]) - - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q2, q3] < - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q2, q3 + 1] - | q3 : int(1..2)]) - | q2 : int(1..2)]), - and([and([q4 > x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q2] -> - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q2, q4] = 1 - | q4 : int(1..3)]) - | q2 : int(1..2)]), - and([x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q2] <= 3 | q2 : int(1..2)]), - [-toInt(x_ExplicitR2_Occurrence[1, q11]) | q11 : int(1..2)] - x_ExplicitR2_Occurrence[q14, x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q16, q18]] - | q18 : int(1..3)]) - /\ - and([x_ExplicitR2_Occurrence[q14, q19] -> - or([q21 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q16] /\ - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q16, q21] = q19 - | q21 : int(1..3)]) - | q19 : int(1..2)]) - | q16 : int(1..2)]) - | q14 : int(1..2)]), - and([or([and([x_ExplicitR2_Occurrence[q25, q26] -> - or([q28 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q23] /\ - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q23, q28] = q26 - | q28 : int(1..3)]) - | q26 : int(1..2)]) - /\ - and([q30 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q23] -> - x_ExplicitR2_Occurrence[q25, x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q23, q30]] - | q30 : int(1..3)]) - | q25 : int(1..2)]) - | q23 : int(1..2)]) - diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_3_1_4-solution000001.solution b/tests/exhaustive/basic/setOfSet04/expected/model_3_1_4-solution000001.solution new file mode 100644 index 0000000000..3ec452354e --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_3_1_4-solution000001.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{}, {1}} +$ Visualisation for x +$ +$ 1 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_3_1_4-solution000002.solution b/tests/exhaustive/basic/setOfSet04/expected/model_3_1_4-solution000002.solution new file mode 100644 index 0000000000..c8946f3d06 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_3_1_4-solution000002.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{}, {2}} +$ Visualisation for x +$ +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_3_1_4-solution000003.solution b/tests/exhaustive/basic/setOfSet04/expected/model_3_1_4-solution000003.solution new file mode 100644 index 0000000000..af16592c51 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_3_1_4-solution000003.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{1}, {2}} +$ Visualisation for x +$ 1 +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_3_1_4-solution000004.solution b/tests/exhaustive/basic/setOfSet04/expected/model_3_1_4-solution000004.solution new file mode 100644 index 0000000000..a6c0b6a43e --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_3_1_4-solution000004.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{}, {1, 2}} +$ Visualisation for x +$ +$ 1 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_3_1_4-solution000005.solution b/tests/exhaustive/basic/setOfSet04/expected/model_3_1_4-solution000005.solution new file mode 100644 index 0000000000..38937c9389 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_3_1_4-solution000005.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{1}, {1, 2}} +$ Visualisation for x +$ 1 +$ 1 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_3_1_4-solution000006.solution b/tests/exhaustive/basic/setOfSet04/expected/model_3_1_4-solution000006.solution new file mode 100644 index 0000000000..9bf2af0712 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_3_1_4-solution000006.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{1, 2}, {2}} +$ Visualisation for x +$ 1 2 +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_3_1_4.eprime.orig b/tests/exhaustive/basic/setOfSet04/expected/model_3_1_4.eprime.orig deleted file mode 100644 index 54c36877e9..0000000000 --- a/tests/exhaustive/basic/setOfSet04/expected/model_3_1_4.eprime.orig +++ /dev/null @@ -1,130 +0,0 @@ -language ESSENCE' 1.0 - -find x_ExplicitR5_ExplicitVarSizeWithMarker_Marker: matrix indexed by [int(1..2)] of int(0..3) -find x_ExplicitR5_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..2), int(1..3)] of int(1..2) -find x_ExplicitR2_Occurrence: matrix indexed by [int(1..2), int(1..2)] of bool -find x_ExplicitR4_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..2), int(1..3)] of bool -find x_ExplicitR4_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..2), int(1..3)] of int(1..2) -branching on - [x_ExplicitR4_ExplicitVarSizeWithFlags_Flags, x_ExplicitR4_ExplicitVarSizeWithFlags_Values, - x_ExplicitR5_ExplicitVarSizeWithMarker_Marker, x_ExplicitR5_ExplicitVarSizeWithMarker_Values, - x_ExplicitR2_Occurrence] -such that - flatten([[x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[1]; int(1)], - [x_ExplicitR5_ExplicitVarSizeWithMarker_Values[1, q6] | q6 : int(1..3)]; - int(1..2)]) - - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q2, q3] < - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q2, q3 + 1] - | q3 : int(1..2)]) - | q2 : int(1..2)]), - and([and([q4 > x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q2] -> - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q2, q4] = 1 - | q4 : int(1..3)]) - | q2 : int(1..2)]), - and([x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q2] <= 3 | q2 : int(1..2)]), - [-toInt(x_ExplicitR2_Occurrence[1, q11]) | q11 : int(1..2)] - x_ExplicitR2_Occurrence[q14, x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q16, q18]] - | q18 : int(1..3)]) - /\ - and([x_ExplicitR2_Occurrence[q14, q19] -> - or([q21 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q16] /\ - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q16, q21] = q19 - | q21 : int(1..3)]) - | q19 : int(1..2)]) - | q16 : int(1..2)]) - | q14 : int(1..2)]), - and([or([and([x_ExplicitR2_Occurrence[q25, q26] -> - or([q28 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q23] /\ - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q23, q28] = q26 - | q28 : int(1..3)]) - | q26 : int(1..2)]) - /\ - and([q30 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q23] -> - x_ExplicitR2_Occurrence[q25, x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q23, q30]] - | q30 : int(1..3)]) - | q25 : int(1..2)]) - | q23 : int(1..2)]), - flatten([flatten([[-toInt(x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[1, q38]); int(1)], - [x_ExplicitR4_ExplicitVarSizeWithFlags_Values[1, q38]; int(1)]; - int(1..2)]) - | q38 : int(1..3)]) - - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q32, q33] < - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q32, q33 + 1] - | q33 : int(1..2)]) - | q32 : int(1..2)]), - and([and([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q32, q34] = false -> - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q32, q34] = 1 - | q34 : int(1..3)]) - | q32 : int(1..2)]), - and([and([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q32, q35 + 1] -> - x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q32, q35] - | q35 : int(1..2)]) - | q32 : int(1..2)]), - and([sum([toInt(x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q32, q36]) | q36 : int(1..3)]) <= 3 | q32 : int(1..2)]), - and([or([and([q45 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q43] -> - or([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q41, q47] /\ - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q41, q47] = - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q43, q45] - | q47 : int(1..3)]) - | q45 : int(1..3)]) - /\ - and([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q41, q49] -> - or([q51 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q43] /\ - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q43, q51] = - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q41, q49] - | q51 : int(1..3)]) - | q49 : int(1..3)]) - | q43 : int(1..2)]) - | q41 : int(1..2)]), - and([or([and([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q55, q57] -> - or([q59 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q53] /\ - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q53, q59] = - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q55, q57] - | q59 : int(1..3)]) - | q57 : int(1..3)]) - /\ - and([q61 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q53] -> - or([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q55, q63] /\ - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q55, q63] = - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q53, q61] - | q63 : int(1..3)]) - | q61 : int(1..3)]) - | q55 : int(1..2)]) - | q53 : int(1..2)]), - and([or([and([x_ExplicitR2_Occurrence[q67, q68] -> - or([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q65, q70] /\ - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q65, q70] = q68 - | q70 : int(1..3)]) - | q68 : int(1..2)]) - /\ - and([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q65, q72] -> - x_ExplicitR2_Occurrence[q67, x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q65, q72]] - | q72 : int(1..3)]) - | q67 : int(1..2)]) - | q65 : int(1..2)]), - and([or([and([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q76, q78] -> - x_ExplicitR2_Occurrence[q74, x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q76, q78]] - | q78 : int(1..3)]) - /\ - and([x_ExplicitR2_Occurrence[q74, q79] -> - or([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q76, q81] /\ - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q76, q81] = q79 - | q81 : int(1..3)]) - | q79 : int(1..2)]) - | q76 : int(1..2)]) - | q74 : int(1..2)]) - diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_3_2_1-solution000001.solution b/tests/exhaustive/basic/setOfSet04/expected/model_3_2_1-solution000001.solution new file mode 100644 index 0000000000..c8946f3d06 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_3_2_1-solution000001.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{}, {2}} +$ Visualisation for x +$ +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_3_2_1-solution000002.solution b/tests/exhaustive/basic/setOfSet04/expected/model_3_2_1-solution000002.solution new file mode 100644 index 0000000000..3ec452354e --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_3_2_1-solution000002.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{}, {1}} +$ Visualisation for x +$ +$ 1 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_3_2_1-solution000003.solution b/tests/exhaustive/basic/setOfSet04/expected/model_3_2_1-solution000003.solution new file mode 100644 index 0000000000..af16592c51 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_3_2_1-solution000003.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{1}, {2}} +$ Visualisation for x +$ 1 +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_3_2_1-solution000004.solution b/tests/exhaustive/basic/setOfSet04/expected/model_3_2_1-solution000004.solution new file mode 100644 index 0000000000..a6c0b6a43e --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_3_2_1-solution000004.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{}, {1, 2}} +$ Visualisation for x +$ +$ 1 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_3_2_1-solution000005.solution b/tests/exhaustive/basic/setOfSet04/expected/model_3_2_1-solution000005.solution new file mode 100644 index 0000000000..9bf2af0712 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_3_2_1-solution000005.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{1, 2}, {2}} +$ Visualisation for x +$ 1 2 +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_3_2_1-solution000006.solution b/tests/exhaustive/basic/setOfSet04/expected/model_3_2_1-solution000006.solution new file mode 100644 index 0000000000..38937c9389 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_3_2_1-solution000006.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{1}, {1, 2}} +$ Visualisation for x +$ 1 +$ 1 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_3_2_1.eprime.orig b/tests/exhaustive/basic/setOfSet04/expected/model_3_2_1.eprime.orig deleted file mode 100644 index c66f4a4fb0..0000000000 --- a/tests/exhaustive/basic/setOfSet04/expected/model_3_2_1.eprime.orig +++ /dev/null @@ -1,116 +0,0 @@ -language ESSENCE' 1.0 - -find x_ExplicitR5_ExplicitVarSizeWithMarker_Marker: matrix indexed by [int(1..2)] of int(0..3) -find x_ExplicitR5_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..2), int(1..3)] of int(1..2) -find x_ExplicitR6_ExplicitVarSizeWithDummy: matrix indexed by [int(1..2), int(1..3)] of int(1..3) -find x_ExplicitR2_Occurrence: matrix indexed by [int(1..2), int(1..2)] of bool -branching on - [x_ExplicitR2_Occurrence, x_ExplicitR5_ExplicitVarSizeWithMarker_Marker, - x_ExplicitR5_ExplicitVarSizeWithMarker_Values, x_ExplicitR6_ExplicitVarSizeWithDummy] -such that - flatten([[x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[1]; int(1)], - [x_ExplicitR5_ExplicitVarSizeWithMarker_Values[1, q6] | q6 : int(1..3)]; - int(1..2)]) - - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q2, q3] < - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q2, q3 + 1] - | q3 : int(1..2)]) - | q2 : int(1..2)]), - and([and([q4 > x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q2] -> - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q2, q4] = 1 - | q4 : int(1..3)]) - | q2 : int(1..2)]), - and([x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q2] <= 3 | q2 : int(1..2)]), - [x_ExplicitR6_ExplicitVarSizeWithDummy[1, q14] | q14 : int(1..3)] - x_ExplicitR6_ExplicitVarSizeWithDummy[q9, q11 + 1] = 3 - | q11 : int(1..2)]) - | q9 : int(1..2)]), - and([sum([toInt(x_ExplicitR6_ExplicitVarSizeWithDummy[q9, q12] != 3) | q12 : int(1..3)]) <= 3 | q9 : int(1..2)]), - and([or([and([q21 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q19] -> - or([x_ExplicitR6_ExplicitVarSizeWithDummy[q17, q23] != 3 /\ - x_ExplicitR6_ExplicitVarSizeWithDummy[q17, q23] = - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q19, q21] - | q23 : int(1..3)]) - | q21 : int(1..3)]) - /\ - and([x_ExplicitR6_ExplicitVarSizeWithDummy[q17, q25] != 3 -> - or([q27 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q19] /\ - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q19, q27] = - x_ExplicitR6_ExplicitVarSizeWithDummy[q17, q25] - | q27 : int(1..3)]) - | q25 : int(1..3)]) - | q19 : int(1..2)]) - | q17 : int(1..2)]), - and([or([and([x_ExplicitR6_ExplicitVarSizeWithDummy[q31, q33] != 3 -> - or([q35 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q29] /\ - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q29, q35] = - x_ExplicitR6_ExplicitVarSizeWithDummy[q31, q33] - | q35 : int(1..3)]) - | q33 : int(1..3)]) - /\ - and([q37 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q29] -> - or([x_ExplicitR6_ExplicitVarSizeWithDummy[q31, q39] != 3 /\ - x_ExplicitR6_ExplicitVarSizeWithDummy[q31, q39] = - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q29, q37] - | q39 : int(1..3)]) - | q37 : int(1..3)]) - | q31 : int(1..2)]) - | q29 : int(1..2)]), - [-toInt(x_ExplicitR2_Occurrence[1, q43]) | q43 : int(1..2)] - x_ExplicitR2_Occurrence[q46, x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q48, q50]] - | q50 : int(1..3)]) - /\ - and([x_ExplicitR2_Occurrence[q46, q51] -> - or([q53 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q48] /\ - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q48, q53] = q51 - | q53 : int(1..3)]) - | q51 : int(1..2)]) - | q48 : int(1..2)]) - | q46 : int(1..2)]), - and([or([and([x_ExplicitR2_Occurrence[q57, q58] -> - or([q60 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q55] /\ - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q55, q60] = q58 - | q60 : int(1..3)]) - | q58 : int(1..2)]) - /\ - and([q62 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q55] -> - x_ExplicitR2_Occurrence[q57, x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q55, q62]] - | q62 : int(1..3)]) - | q57 : int(1..2)]) - | q55 : int(1..2)]), - and([or([and([x_ExplicitR6_ExplicitVarSizeWithDummy[q66, q68] != 3 -> - x_ExplicitR2_Occurrence[q64, x_ExplicitR6_ExplicitVarSizeWithDummy[q66, q68]] - | q68 : int(1..3)]) - /\ - and([x_ExplicitR2_Occurrence[q64, q69] -> - or([x_ExplicitR6_ExplicitVarSizeWithDummy[q66, q71] != 3 /\ - x_ExplicitR6_ExplicitVarSizeWithDummy[q66, q71] = q69 - | q71 : int(1..3)]) - | q69 : int(1..2)]) - | q66 : int(1..2)]) - | q64 : int(1..2)]), - and([or([and([x_ExplicitR2_Occurrence[q75, q76] -> - or([x_ExplicitR6_ExplicitVarSizeWithDummy[q73, q78] != 3 /\ - x_ExplicitR6_ExplicitVarSizeWithDummy[q73, q78] = q76 - | q78 : int(1..3)]) - | q76 : int(1..2)]) - /\ - and([x_ExplicitR6_ExplicitVarSizeWithDummy[q73, q80] != 3 -> - x_ExplicitR2_Occurrence[q75, x_ExplicitR6_ExplicitVarSizeWithDummy[q73, q80]] - | q80 : int(1..3)]) - | q75 : int(1..2)]) - | q73 : int(1..2)]) - diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_3_2_2-solution000001.solution b/tests/exhaustive/basic/setOfSet04/expected/model_3_2_2-solution000001.solution new file mode 100644 index 0000000000..38937c9389 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_3_2_2-solution000001.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{1}, {1, 2}} +$ Visualisation for x +$ 1 +$ 1 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_3_2_2-solution000002.solution b/tests/exhaustive/basic/setOfSet04/expected/model_3_2_2-solution000002.solution new file mode 100644 index 0000000000..9bf2af0712 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_3_2_2-solution000002.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{1, 2}, {2}} +$ Visualisation for x +$ 1 2 +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_3_2_2-solution000003.solution b/tests/exhaustive/basic/setOfSet04/expected/model_3_2_2-solution000003.solution new file mode 100644 index 0000000000..a6c0b6a43e --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_3_2_2-solution000003.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{}, {1, 2}} +$ Visualisation for x +$ +$ 1 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_3_2_2-solution000004.solution b/tests/exhaustive/basic/setOfSet04/expected/model_3_2_2-solution000004.solution new file mode 100644 index 0000000000..af16592c51 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_3_2_2-solution000004.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{1}, {2}} +$ Visualisation for x +$ 1 +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_3_2_2-solution000005.solution b/tests/exhaustive/basic/setOfSet04/expected/model_3_2_2-solution000005.solution new file mode 100644 index 0000000000..3ec452354e --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_3_2_2-solution000005.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{}, {1}} +$ Visualisation for x +$ +$ 1 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_3_2_2-solution000006.solution b/tests/exhaustive/basic/setOfSet04/expected/model_3_2_2-solution000006.solution new file mode 100644 index 0000000000..c8946f3d06 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_3_2_2-solution000006.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{}, {2}} +$ Visualisation for x +$ +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_3_2_2.eprime.orig b/tests/exhaustive/basic/setOfSet04/expected/model_3_2_2.eprime.orig deleted file mode 100644 index f639c23ff2..0000000000 --- a/tests/exhaustive/basic/setOfSet04/expected/model_3_2_2.eprime.orig +++ /dev/null @@ -1,68 +0,0 @@ -language ESSENCE' 1.0 - -find x_ExplicitR5_ExplicitVarSizeWithMarker_Marker: matrix indexed by [int(1..2)] of int(0..3) -find x_ExplicitR5_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..2), int(1..3)] of int(1..2) -find x_ExplicitR6_ExplicitVarSizeWithDummy: matrix indexed by [int(1..2), int(1..3)] of int(1..3) -branching on - [x_ExplicitR6_ExplicitVarSizeWithDummy, x_ExplicitR5_ExplicitVarSizeWithMarker_Marker, - x_ExplicitR5_ExplicitVarSizeWithMarker_Values] -such that - flatten([[x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[1]; int(1)], - [x_ExplicitR5_ExplicitVarSizeWithMarker_Values[1, q6] | q6 : int(1..3)]; - int(1..2)]) - - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q2, q3] < - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q2, q3 + 1] - | q3 : int(1..2)]) - | q2 : int(1..2)]), - and([and([q4 > x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q2] -> - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q2, q4] = 1 - | q4 : int(1..3)]) - | q2 : int(1..2)]), - and([x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q2] <= 3 | q2 : int(1..2)]), - [x_ExplicitR6_ExplicitVarSizeWithDummy[1, q14] | q14 : int(1..3)] - x_ExplicitR6_ExplicitVarSizeWithDummy[q9, q11 + 1] = 3 - | q11 : int(1..2)]) - | q9 : int(1..2)]), - and([sum([toInt(x_ExplicitR6_ExplicitVarSizeWithDummy[q9, q12] != 3) | q12 : int(1..3)]) <= 3 | q9 : int(1..2)]), - and([or([and([q21 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q19] -> - or([x_ExplicitR6_ExplicitVarSizeWithDummy[q17, q23] != 3 /\ - x_ExplicitR6_ExplicitVarSizeWithDummy[q17, q23] = - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q19, q21] - | q23 : int(1..3)]) - | q21 : int(1..3)]) - /\ - and([x_ExplicitR6_ExplicitVarSizeWithDummy[q17, q25] != 3 -> - or([q27 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q19] /\ - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q19, q27] = - x_ExplicitR6_ExplicitVarSizeWithDummy[q17, q25] - | q27 : int(1..3)]) - | q25 : int(1..3)]) - | q19 : int(1..2)]) - | q17 : int(1..2)]), - and([or([and([x_ExplicitR6_ExplicitVarSizeWithDummy[q31, q33] != 3 -> - or([q35 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q29] /\ - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q29, q35] = - x_ExplicitR6_ExplicitVarSizeWithDummy[q31, q33] - | q35 : int(1..3)]) - | q33 : int(1..3)]) - /\ - and([q37 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q29] -> - or([x_ExplicitR6_ExplicitVarSizeWithDummy[q31, q39] != 3 /\ - x_ExplicitR6_ExplicitVarSizeWithDummy[q31, q39] = - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q29, q37] - | q39 : int(1..3)]) - | q37 : int(1..3)]) - | q31 : int(1..2)]) - | q29 : int(1..2)]) - diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_3_2_3.eprime.orig b/tests/exhaustive/basic/setOfSet04/expected/model_3_2_3.eprime.orig deleted file mode 100644 index f639c23ff2..0000000000 --- a/tests/exhaustive/basic/setOfSet04/expected/model_3_2_3.eprime.orig +++ /dev/null @@ -1,68 +0,0 @@ -language ESSENCE' 1.0 - -find x_ExplicitR5_ExplicitVarSizeWithMarker_Marker: matrix indexed by [int(1..2)] of int(0..3) -find x_ExplicitR5_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..2), int(1..3)] of int(1..2) -find x_ExplicitR6_ExplicitVarSizeWithDummy: matrix indexed by [int(1..2), int(1..3)] of int(1..3) -branching on - [x_ExplicitR6_ExplicitVarSizeWithDummy, x_ExplicitR5_ExplicitVarSizeWithMarker_Marker, - x_ExplicitR5_ExplicitVarSizeWithMarker_Values] -such that - flatten([[x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[1]; int(1)], - [x_ExplicitR5_ExplicitVarSizeWithMarker_Values[1, q6] | q6 : int(1..3)]; - int(1..2)]) - - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q2, q3] < - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q2, q3 + 1] - | q3 : int(1..2)]) - | q2 : int(1..2)]), - and([and([q4 > x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q2] -> - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q2, q4] = 1 - | q4 : int(1..3)]) - | q2 : int(1..2)]), - and([x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q2] <= 3 | q2 : int(1..2)]), - [x_ExplicitR6_ExplicitVarSizeWithDummy[1, q14] | q14 : int(1..3)] - x_ExplicitR6_ExplicitVarSizeWithDummy[q9, q11 + 1] = 3 - | q11 : int(1..2)]) - | q9 : int(1..2)]), - and([sum([toInt(x_ExplicitR6_ExplicitVarSizeWithDummy[q9, q12] != 3) | q12 : int(1..3)]) <= 3 | q9 : int(1..2)]), - and([or([and([q21 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q19] -> - or([x_ExplicitR6_ExplicitVarSizeWithDummy[q17, q23] != 3 /\ - x_ExplicitR6_ExplicitVarSizeWithDummy[q17, q23] = - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q19, q21] - | q23 : int(1..3)]) - | q21 : int(1..3)]) - /\ - and([x_ExplicitR6_ExplicitVarSizeWithDummy[q17, q25] != 3 -> - or([q27 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q19] /\ - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q19, q27] = - x_ExplicitR6_ExplicitVarSizeWithDummy[q17, q25] - | q27 : int(1..3)]) - | q25 : int(1..3)]) - | q19 : int(1..2)]) - | q17 : int(1..2)]), - and([or([and([x_ExplicitR6_ExplicitVarSizeWithDummy[q31, q33] != 3 -> - or([q35 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q29] /\ - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q29, q35] = - x_ExplicitR6_ExplicitVarSizeWithDummy[q31, q33] - | q35 : int(1..3)]) - | q33 : int(1..3)]) - /\ - and([q37 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q29] -> - or([x_ExplicitR6_ExplicitVarSizeWithDummy[q31, q39] != 3 /\ - x_ExplicitR6_ExplicitVarSizeWithDummy[q31, q39] = - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q29, q37] - | q39 : int(1..3)]) - | q37 : int(1..3)]) - | q31 : int(1..2)]) - | q29 : int(1..2)]) - diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_3_2_4-solution000001.solution b/tests/exhaustive/basic/setOfSet04/expected/model_3_2_4-solution000001.solution new file mode 100644 index 0000000000..3ec452354e --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_3_2_4-solution000001.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{}, {1}} +$ Visualisation for x +$ +$ 1 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_3_2_4-solution000002.solution b/tests/exhaustive/basic/setOfSet04/expected/model_3_2_4-solution000002.solution new file mode 100644 index 0000000000..c8946f3d06 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_3_2_4-solution000002.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{}, {2}} +$ Visualisation for x +$ +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_3_2_4-solution000003.solution b/tests/exhaustive/basic/setOfSet04/expected/model_3_2_4-solution000003.solution new file mode 100644 index 0000000000..af16592c51 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_3_2_4-solution000003.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{1}, {2}} +$ Visualisation for x +$ 1 +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_3_2_4-solution000004.solution b/tests/exhaustive/basic/setOfSet04/expected/model_3_2_4-solution000004.solution new file mode 100644 index 0000000000..a6c0b6a43e --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_3_2_4-solution000004.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{}, {1, 2}} +$ Visualisation for x +$ +$ 1 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_3_2_4-solution000005.solution b/tests/exhaustive/basic/setOfSet04/expected/model_3_2_4-solution000005.solution new file mode 100644 index 0000000000..38937c9389 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_3_2_4-solution000005.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{1}, {1, 2}} +$ Visualisation for x +$ 1 +$ 1 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_3_2_4-solution000006.solution b/tests/exhaustive/basic/setOfSet04/expected/model_3_2_4-solution000006.solution new file mode 100644 index 0000000000..9bf2af0712 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_3_2_4-solution000006.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{1, 2}, {2}} +$ Visualisation for x +$ 1 2 +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_3_2_4.eprime.orig b/tests/exhaustive/basic/setOfSet04/expected/model_3_2_4.eprime.orig deleted file mode 100644 index 12d32c3c3f..0000000000 --- a/tests/exhaustive/basic/setOfSet04/expected/model_3_2_4.eprime.orig +++ /dev/null @@ -1,154 +0,0 @@ -language ESSENCE' 1.0 - -find x_ExplicitR5_ExplicitVarSizeWithMarker_Marker: matrix indexed by [int(1..2)] of int(0..3) -find x_ExplicitR5_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..2), int(1..3)] of int(1..2) -find x_ExplicitR6_ExplicitVarSizeWithDummy: matrix indexed by [int(1..2), int(1..3)] of int(1..3) -find x_ExplicitR4_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..2), int(1..3)] of bool -find x_ExplicitR4_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..2), int(1..3)] of int(1..2) -branching on - [x_ExplicitR4_ExplicitVarSizeWithFlags_Flags, x_ExplicitR4_ExplicitVarSizeWithFlags_Values, - x_ExplicitR5_ExplicitVarSizeWithMarker_Marker, x_ExplicitR5_ExplicitVarSizeWithMarker_Values, - x_ExplicitR6_ExplicitVarSizeWithDummy] -such that - flatten([[x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[1]; int(1)], - [x_ExplicitR5_ExplicitVarSizeWithMarker_Values[1, q6] | q6 : int(1..3)]; - int(1..2)]) - - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q2, q3] < - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q2, q3 + 1] - | q3 : int(1..2)]) - | q2 : int(1..2)]), - and([and([q4 > x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q2] -> - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q2, q4] = 1 - | q4 : int(1..3)]) - | q2 : int(1..2)]), - and([x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q2] <= 3 | q2 : int(1..2)]), - [x_ExplicitR6_ExplicitVarSizeWithDummy[1, q14] | q14 : int(1..3)] - x_ExplicitR6_ExplicitVarSizeWithDummy[q9, q11 + 1] = 3 - | q11 : int(1..2)]) - | q9 : int(1..2)]), - and([sum([toInt(x_ExplicitR6_ExplicitVarSizeWithDummy[q9, q12] != 3) | q12 : int(1..3)]) <= 3 | q9 : int(1..2)]), - and([or([and([q21 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q19] -> - or([x_ExplicitR6_ExplicitVarSizeWithDummy[q17, q23] != 3 /\ - x_ExplicitR6_ExplicitVarSizeWithDummy[q17, q23] = - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q19, q21] - | q23 : int(1..3)]) - | q21 : int(1..3)]) - /\ - and([x_ExplicitR6_ExplicitVarSizeWithDummy[q17, q25] != 3 -> - or([q27 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q19] /\ - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q19, q27] = - x_ExplicitR6_ExplicitVarSizeWithDummy[q17, q25] - | q27 : int(1..3)]) - | q25 : int(1..3)]) - | q19 : int(1..2)]) - | q17 : int(1..2)]), - and([or([and([x_ExplicitR6_ExplicitVarSizeWithDummy[q31, q33] != 3 -> - or([q35 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q29] /\ - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q29, q35] = - x_ExplicitR6_ExplicitVarSizeWithDummy[q31, q33] - | q35 : int(1..3)]) - | q33 : int(1..3)]) - /\ - and([q37 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q29] -> - or([x_ExplicitR6_ExplicitVarSizeWithDummy[q31, q39] != 3 /\ - x_ExplicitR6_ExplicitVarSizeWithDummy[q31, q39] = - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q29, q37] - | q39 : int(1..3)]) - | q37 : int(1..3)]) - | q31 : int(1..2)]) - | q29 : int(1..2)]), - flatten([flatten([[-toInt(x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[1, q47]); int(1)], - [x_ExplicitR4_ExplicitVarSizeWithFlags_Values[1, q47]; int(1)]; - int(1..2)]) - | q47 : int(1..3)]) - - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q41, q42] < - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q41, q42 + 1] - | q42 : int(1..2)]) - | q41 : int(1..2)]), - and([and([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q41, q43] = false -> - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q41, q43] = 1 - | q43 : int(1..3)]) - | q41 : int(1..2)]), - and([and([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q41, q44 + 1] -> - x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q41, q44] - | q44 : int(1..2)]) - | q41 : int(1..2)]), - and([sum([toInt(x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q41, q45]) | q45 : int(1..3)]) <= 3 | q41 : int(1..2)]), - and([or([and([q54 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q52] -> - or([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q50, q56] /\ - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q50, q56] = - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q52, q54] - | q56 : int(1..3)]) - | q54 : int(1..3)]) - /\ - and([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q50, q58] -> - or([q60 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q52] /\ - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q52, q60] = - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q50, q58] - | q60 : int(1..3)]) - | q58 : int(1..3)]) - | q52 : int(1..2)]) - | q50 : int(1..2)]), - and([or([and([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q64, q66] -> - or([q68 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q62] /\ - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q62, q68] = - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q64, q66] - | q68 : int(1..3)]) - | q66 : int(1..3)]) - /\ - and([q70 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q62] -> - or([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q64, q72] /\ - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q64, q72] = - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q62, q70] - | q72 : int(1..3)]) - | q70 : int(1..3)]) - | q64 : int(1..2)]) - | q62 : int(1..2)]), - and([or([and([x_ExplicitR6_ExplicitVarSizeWithDummy[q76, q78] != 3 -> - or([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q74, q80] /\ - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q74, q80] = - x_ExplicitR6_ExplicitVarSizeWithDummy[q76, q78] - | q80 : int(1..3)]) - | q78 : int(1..3)]) - /\ - and([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q74, q82] -> - or([x_ExplicitR6_ExplicitVarSizeWithDummy[q76, q84] != 3 /\ - x_ExplicitR6_ExplicitVarSizeWithDummy[q76, q84] = - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q74, q82] - | q84 : int(1..3)]) - | q82 : int(1..3)]) - | q76 : int(1..2)]) - | q74 : int(1..2)]), - and([or([and([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q88, q90] -> - or([x_ExplicitR6_ExplicitVarSizeWithDummy[q86, q92] != 3 /\ - x_ExplicitR6_ExplicitVarSizeWithDummy[q86, q92] = - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q88, q90] - | q92 : int(1..3)]) - | q90 : int(1..3)]) - /\ - and([x_ExplicitR6_ExplicitVarSizeWithDummy[q86, q94] != 3 -> - or([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q88, q96] /\ - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q88, q96] = - x_ExplicitR6_ExplicitVarSizeWithDummy[q86, q94] - | q96 : int(1..3)]) - | q94 : int(1..3)]) - | q88 : int(1..2)]) - | q86 : int(1..2)]) - diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_3_3_1.eprime.orig b/tests/exhaustive/basic/setOfSet04/expected/model_3_3_1.eprime.orig deleted file mode 100644 index 7d1e4bb4cf..0000000000 --- a/tests/exhaustive/basic/setOfSet04/expected/model_3_3_1.eprime.orig +++ /dev/null @@ -1,52 +0,0 @@ -language ESSENCE' 1.0 - -find x_ExplicitR5_ExplicitVarSizeWithMarker_Marker: matrix indexed by [int(1..2)] of int(0..3) -find x_ExplicitR5_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..2), int(1..3)] of int(1..2) -find x_ExplicitR2_Occurrence: matrix indexed by [int(1..2), int(1..2)] of bool -branching on - [x_ExplicitR2_Occurrence, x_ExplicitR5_ExplicitVarSizeWithMarker_Marker, - x_ExplicitR5_ExplicitVarSizeWithMarker_Values] -such that - flatten([[x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[1]; int(1)], - [x_ExplicitR5_ExplicitVarSizeWithMarker_Values[1, q6] | q6 : int(1..3)]; - int(1..2)]) - - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q2, q3] < - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q2, q3 + 1] - | q3 : int(1..2)]) - | q2 : int(1..2)]), - and([and([q4 > x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q2] -> - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q2, q4] = 1 - | q4 : int(1..3)]) - | q2 : int(1..2)]), - and([x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q2] <= 3 | q2 : int(1..2)]), - [-toInt(x_ExplicitR2_Occurrence[1, q11]) | q11 : int(1..2)] - x_ExplicitR2_Occurrence[q14, x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q16, q18]] - | q18 : int(1..3)]) - /\ - and([x_ExplicitR2_Occurrence[q14, q19] -> - or([q21 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q16] /\ - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q16, q21] = q19 - | q21 : int(1..3)]) - | q19 : int(1..2)]) - | q16 : int(1..2)]) - | q14 : int(1..2)]), - and([or([and([x_ExplicitR2_Occurrence[q25, q26] -> - or([q28 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q23] /\ - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q23, q28] = q26 - | q28 : int(1..3)]) - | q26 : int(1..2)]) - /\ - and([q30 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q23] -> - x_ExplicitR2_Occurrence[q25, x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q23, q30]] - | q30 : int(1..3)]) - | q25 : int(1..2)]) - | q23 : int(1..2)]) - diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_3_3_2.eprime.orig b/tests/exhaustive/basic/setOfSet04/expected/model_3_3_2.eprime.orig deleted file mode 100644 index f639c23ff2..0000000000 --- a/tests/exhaustive/basic/setOfSet04/expected/model_3_3_2.eprime.orig +++ /dev/null @@ -1,68 +0,0 @@ -language ESSENCE' 1.0 - -find x_ExplicitR5_ExplicitVarSizeWithMarker_Marker: matrix indexed by [int(1..2)] of int(0..3) -find x_ExplicitR5_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..2), int(1..3)] of int(1..2) -find x_ExplicitR6_ExplicitVarSizeWithDummy: matrix indexed by [int(1..2), int(1..3)] of int(1..3) -branching on - [x_ExplicitR6_ExplicitVarSizeWithDummy, x_ExplicitR5_ExplicitVarSizeWithMarker_Marker, - x_ExplicitR5_ExplicitVarSizeWithMarker_Values] -such that - flatten([[x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[1]; int(1)], - [x_ExplicitR5_ExplicitVarSizeWithMarker_Values[1, q6] | q6 : int(1..3)]; - int(1..2)]) - - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q2, q3] < - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q2, q3 + 1] - | q3 : int(1..2)]) - | q2 : int(1..2)]), - and([and([q4 > x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q2] -> - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q2, q4] = 1 - | q4 : int(1..3)]) - | q2 : int(1..2)]), - and([x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q2] <= 3 | q2 : int(1..2)]), - [x_ExplicitR6_ExplicitVarSizeWithDummy[1, q14] | q14 : int(1..3)] - x_ExplicitR6_ExplicitVarSizeWithDummy[q9, q11 + 1] = 3 - | q11 : int(1..2)]) - | q9 : int(1..2)]), - and([sum([toInt(x_ExplicitR6_ExplicitVarSizeWithDummy[q9, q12] != 3) | q12 : int(1..3)]) <= 3 | q9 : int(1..2)]), - and([or([and([q21 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q19] -> - or([x_ExplicitR6_ExplicitVarSizeWithDummy[q17, q23] != 3 /\ - x_ExplicitR6_ExplicitVarSizeWithDummy[q17, q23] = - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q19, q21] - | q23 : int(1..3)]) - | q21 : int(1..3)]) - /\ - and([x_ExplicitR6_ExplicitVarSizeWithDummy[q17, q25] != 3 -> - or([q27 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q19] /\ - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q19, q27] = - x_ExplicitR6_ExplicitVarSizeWithDummy[q17, q25] - | q27 : int(1..3)]) - | q25 : int(1..3)]) - | q19 : int(1..2)]) - | q17 : int(1..2)]), - and([or([and([x_ExplicitR6_ExplicitVarSizeWithDummy[q31, q33] != 3 -> - or([q35 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q29] /\ - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q29, q35] = - x_ExplicitR6_ExplicitVarSizeWithDummy[q31, q33] - | q35 : int(1..3)]) - | q33 : int(1..3)]) - /\ - and([q37 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q29] -> - or([x_ExplicitR6_ExplicitVarSizeWithDummy[q31, q39] != 3 /\ - x_ExplicitR6_ExplicitVarSizeWithDummy[q31, q39] = - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q29, q37] - | q39 : int(1..3)]) - | q37 : int(1..3)]) - | q31 : int(1..2)]) - | q29 : int(1..2)]) - diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_3_3_3-solution000001.solution b/tests/exhaustive/basic/setOfSet04/expected/model_3_3_3-solution000001.solution new file mode 100644 index 0000000000..3ec452354e --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_3_3_3-solution000001.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{}, {1}} +$ Visualisation for x +$ +$ 1 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_3_3_3-solution000002.solution b/tests/exhaustive/basic/setOfSet04/expected/model_3_3_3-solution000002.solution new file mode 100644 index 0000000000..c8946f3d06 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_3_3_3-solution000002.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{}, {2}} +$ Visualisation for x +$ +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_3_3_3-solution000003.solution b/tests/exhaustive/basic/setOfSet04/expected/model_3_3_3-solution000003.solution new file mode 100644 index 0000000000..a6c0b6a43e --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_3_3_3-solution000003.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{}, {1, 2}} +$ Visualisation for x +$ +$ 1 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_3_3_3-solution000004.solution b/tests/exhaustive/basic/setOfSet04/expected/model_3_3_3-solution000004.solution new file mode 100644 index 0000000000..af16592c51 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_3_3_3-solution000004.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{1}, {2}} +$ Visualisation for x +$ 1 +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_3_3_3-solution000005.solution b/tests/exhaustive/basic/setOfSet04/expected/model_3_3_3-solution000005.solution new file mode 100644 index 0000000000..38937c9389 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_3_3_3-solution000005.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{1}, {1, 2}} +$ Visualisation for x +$ 1 +$ 1 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_3_3_3-solution000006.solution b/tests/exhaustive/basic/setOfSet04/expected/model_3_3_3-solution000006.solution new file mode 100644 index 0000000000..9bf2af0712 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_3_3_3-solution000006.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{1, 2}, {2}} +$ Visualisation for x +$ 1 2 +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_3_3_3.eprime.orig b/tests/exhaustive/basic/setOfSet04/expected/model_3_3_3.eprime.orig deleted file mode 100644 index 1dcefd1d46..0000000000 --- a/tests/exhaustive/basic/setOfSet04/expected/model_3_3_3.eprime.orig +++ /dev/null @@ -1,24 +0,0 @@ -language ESSENCE' 1.0 - -find x_ExplicitR5_ExplicitVarSizeWithMarker_Marker: matrix indexed by [int(1..2)] of int(0..3) -find x_ExplicitR5_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..2), int(1..3)] of int(1..2) -branching on [x_ExplicitR5_ExplicitVarSizeWithMarker_Marker, x_ExplicitR5_ExplicitVarSizeWithMarker_Values] -such that - flatten([[x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[1]; int(1)], - [x_ExplicitR5_ExplicitVarSizeWithMarker_Values[1, q6] | q6 : int(1..3)]; - int(1..2)]) - - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q2, q3] < - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q2, q3 + 1] - | q3 : int(1..2)]) - | q2 : int(1..2)]), - and([and([q4 > x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q2] -> - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q2, q4] = 1 - | q4 : int(1..3)]) - | q2 : int(1..2)]), - and([x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q2] <= 3 | q2 : int(1..2)]) - diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_3_3_4-solution000001.solution b/tests/exhaustive/basic/setOfSet04/expected/model_3_3_4-solution000001.solution new file mode 100644 index 0000000000..3ec452354e --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_3_3_4-solution000001.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{}, {1}} +$ Visualisation for x +$ +$ 1 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_3_3_4-solution000002.solution b/tests/exhaustive/basic/setOfSet04/expected/model_3_3_4-solution000002.solution new file mode 100644 index 0000000000..c8946f3d06 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_3_3_4-solution000002.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{}, {2}} +$ Visualisation for x +$ +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_3_3_4-solution000003.solution b/tests/exhaustive/basic/setOfSet04/expected/model_3_3_4-solution000003.solution new file mode 100644 index 0000000000..af16592c51 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_3_3_4-solution000003.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{1}, {2}} +$ Visualisation for x +$ 1 +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_3_3_4-solution000004.solution b/tests/exhaustive/basic/setOfSet04/expected/model_3_3_4-solution000004.solution new file mode 100644 index 0000000000..a6c0b6a43e --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_3_3_4-solution000004.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{}, {1, 2}} +$ Visualisation for x +$ +$ 1 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_3_3_4-solution000005.solution b/tests/exhaustive/basic/setOfSet04/expected/model_3_3_4-solution000005.solution new file mode 100644 index 0000000000..38937c9389 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_3_3_4-solution000005.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{1}, {1, 2}} +$ Visualisation for x +$ 1 +$ 1 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_3_3_4-solution000006.solution b/tests/exhaustive/basic/setOfSet04/expected/model_3_3_4-solution000006.solution new file mode 100644 index 0000000000..9bf2af0712 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_3_3_4-solution000006.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{1, 2}, {2}} +$ Visualisation for x +$ 1 2 +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_3_3_4.eprime.orig b/tests/exhaustive/basic/setOfSet04/expected/model_3_3_4.eprime.orig deleted file mode 100644 index c767e19806..0000000000 --- a/tests/exhaustive/basic/setOfSet04/expected/model_3_3_4.eprime.orig +++ /dev/null @@ -1,81 +0,0 @@ -language ESSENCE' 1.0 - -find x_ExplicitR5_ExplicitVarSizeWithMarker_Marker: matrix indexed by [int(1..2)] of int(0..3) -find x_ExplicitR5_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..2), int(1..3)] of int(1..2) -find x_ExplicitR4_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..2), int(1..3)] of bool -find x_ExplicitR4_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..2), int(1..3)] of int(1..2) -branching on - [x_ExplicitR4_ExplicitVarSizeWithFlags_Flags, x_ExplicitR4_ExplicitVarSizeWithFlags_Values, - x_ExplicitR5_ExplicitVarSizeWithMarker_Marker, x_ExplicitR5_ExplicitVarSizeWithMarker_Values] -such that - flatten([[x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[1]; int(1)], - [x_ExplicitR5_ExplicitVarSizeWithMarker_Values[1, q6] | q6 : int(1..3)]; - int(1..2)]) - - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q2, q3] < - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q2, q3 + 1] - | q3 : int(1..2)]) - | q2 : int(1..2)]), - and([and([q4 > x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q2] -> - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q2, q4] = 1 - | q4 : int(1..3)]) - | q2 : int(1..2)]), - and([x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q2] <= 3 | q2 : int(1..2)]), - flatten([flatten([[-toInt(x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[1, q15]); int(1)], - [x_ExplicitR4_ExplicitVarSizeWithFlags_Values[1, q15]; int(1)]; - int(1..2)]) - | q15 : int(1..3)]) - - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q9, q10] < - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q9, q10 + 1] - | q10 : int(1..2)]) - | q9 : int(1..2)]), - and([and([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q9, q11] = false -> - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q9, q11] = 1 - | q11 : int(1..3)]) - | q9 : int(1..2)]), - and([and([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q9, q12 + 1] -> - x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q9, q12] - | q12 : int(1..2)]) - | q9 : int(1..2)]), - and([sum([toInt(x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q9, q13]) | q13 : int(1..3)]) <= 3 | q9 : int(1..2)]), - and([or([and([q22 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q20] -> - or([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q18, q24] /\ - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q18, q24] = - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q20, q22] - | q24 : int(1..3)]) - | q22 : int(1..3)]) - /\ - and([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q18, q26] -> - or([q28 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q20] /\ - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q20, q28] = - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q18, q26] - | q28 : int(1..3)]) - | q26 : int(1..3)]) - | q20 : int(1..2)]) - | q18 : int(1..2)]), - and([or([and([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q32, q34] -> - or([q36 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q30] /\ - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q30, q36] = - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q32, q34] - | q36 : int(1..3)]) - | q34 : int(1..3)]) - /\ - and([q38 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q30] -> - or([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q32, q40] /\ - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q32, q40] = - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q30, q38] - | q40 : int(1..3)]) - | q38 : int(1..3)]) - | q32 : int(1..2)]) - | q30 : int(1..2)]) - diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_3_4_1-solution000001.solution b/tests/exhaustive/basic/setOfSet04/expected/model_3_4_1-solution000001.solution new file mode 100644 index 0000000000..c8946f3d06 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_3_4_1-solution000001.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{}, {2}} +$ Visualisation for x +$ +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_3_4_1-solution000002.solution b/tests/exhaustive/basic/setOfSet04/expected/model_3_4_1-solution000002.solution new file mode 100644 index 0000000000..3ec452354e --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_3_4_1-solution000002.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{}, {1}} +$ Visualisation for x +$ +$ 1 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_3_4_1-solution000003.solution b/tests/exhaustive/basic/setOfSet04/expected/model_3_4_1-solution000003.solution new file mode 100644 index 0000000000..af16592c51 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_3_4_1-solution000003.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{1}, {2}} +$ Visualisation for x +$ 1 +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_3_4_1-solution000004.solution b/tests/exhaustive/basic/setOfSet04/expected/model_3_4_1-solution000004.solution new file mode 100644 index 0000000000..a6c0b6a43e --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_3_4_1-solution000004.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{}, {1, 2}} +$ Visualisation for x +$ +$ 1 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_3_4_1-solution000005.solution b/tests/exhaustive/basic/setOfSet04/expected/model_3_4_1-solution000005.solution new file mode 100644 index 0000000000..9bf2af0712 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_3_4_1-solution000005.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{1, 2}, {2}} +$ Visualisation for x +$ 1 2 +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_3_4_1-solution000006.solution b/tests/exhaustive/basic/setOfSet04/expected/model_3_4_1-solution000006.solution new file mode 100644 index 0000000000..38937c9389 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_3_4_1-solution000006.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{1}, {1, 2}} +$ Visualisation for x +$ 1 +$ 1 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_3_4_1.eprime.orig b/tests/exhaustive/basic/setOfSet04/expected/model_3_4_1.eprime.orig deleted file mode 100644 index cbaebe2e5e..0000000000 --- a/tests/exhaustive/basic/setOfSet04/expected/model_3_4_1.eprime.orig +++ /dev/null @@ -1,130 +0,0 @@ -language ESSENCE' 1.0 - -find x_ExplicitR5_ExplicitVarSizeWithMarker_Marker: matrix indexed by [int(1..2)] of int(0..3) -find x_ExplicitR5_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..2), int(1..3)] of int(1..2) -find x_ExplicitR4_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..2), int(1..3)] of bool -find x_ExplicitR4_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..2), int(1..3)] of int(1..2) -find x_ExplicitR2_Occurrence: matrix indexed by [int(1..2), int(1..2)] of bool -branching on - [x_ExplicitR2_Occurrence, x_ExplicitR5_ExplicitVarSizeWithMarker_Marker, - x_ExplicitR5_ExplicitVarSizeWithMarker_Values, x_ExplicitR4_ExplicitVarSizeWithFlags_Flags, - x_ExplicitR4_ExplicitVarSizeWithFlags_Values] -such that - flatten([[x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[1]; int(1)], - [x_ExplicitR5_ExplicitVarSizeWithMarker_Values[1, q6] | q6 : int(1..3)]; - int(1..2)]) - - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q2, q3] < - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q2, q3 + 1] - | q3 : int(1..2)]) - | q2 : int(1..2)]), - and([and([q4 > x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q2] -> - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q2, q4] = 1 - | q4 : int(1..3)]) - | q2 : int(1..2)]), - and([x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q2] <= 3 | q2 : int(1..2)]), - flatten([flatten([[-toInt(x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[1, q15]); int(1)], - [x_ExplicitR4_ExplicitVarSizeWithFlags_Values[1, q15]; int(1)]; - int(1..2)]) - | q15 : int(1..3)]) - - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q9, q10] < - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q9, q10 + 1] - | q10 : int(1..2)]) - | q9 : int(1..2)]), - and([and([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q9, q11] = false -> - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q9, q11] = 1 - | q11 : int(1..3)]) - | q9 : int(1..2)]), - and([and([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q9, q12 + 1] -> - x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q9, q12] - | q12 : int(1..2)]) - | q9 : int(1..2)]), - and([sum([toInt(x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q9, q13]) | q13 : int(1..3)]) <= 3 | q9 : int(1..2)]), - and([or([and([q22 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q20] -> - or([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q18, q24] /\ - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q18, q24] = - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q20, q22] - | q24 : int(1..3)]) - | q22 : int(1..3)]) - /\ - and([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q18, q26] -> - or([q28 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q20] /\ - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q20, q28] = - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q18, q26] - | q28 : int(1..3)]) - | q26 : int(1..3)]) - | q20 : int(1..2)]) - | q18 : int(1..2)]), - and([or([and([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q32, q34] -> - or([q36 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q30] /\ - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q30, q36] = - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q32, q34] - | q36 : int(1..3)]) - | q34 : int(1..3)]) - /\ - and([q38 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q30] -> - or([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q32, q40] /\ - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q32, q40] = - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q30, q38] - | q40 : int(1..3)]) - | q38 : int(1..3)]) - | q32 : int(1..2)]) - | q30 : int(1..2)]), - [-toInt(x_ExplicitR2_Occurrence[1, q44]) | q44 : int(1..2)] - x_ExplicitR2_Occurrence[q47, x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q49, q51]] - | q51 : int(1..3)]) - /\ - and([x_ExplicitR2_Occurrence[q47, q52] -> - or([q54 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q49] /\ - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q49, q54] = q52 - | q54 : int(1..3)]) - | q52 : int(1..2)]) - | q49 : int(1..2)]) - | q47 : int(1..2)]), - and([or([and([x_ExplicitR2_Occurrence[q58, q59] -> - or([q61 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q56] /\ - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q56, q61] = q59 - | q61 : int(1..3)]) - | q59 : int(1..2)]) - /\ - and([q63 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q56] -> - x_ExplicitR2_Occurrence[q58, x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q56, q63]] - | q63 : int(1..3)]) - | q58 : int(1..2)]) - | q56 : int(1..2)]), - and([or([and([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q67, q69] -> - x_ExplicitR2_Occurrence[q65, x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q67, q69]] - | q69 : int(1..3)]) - /\ - and([x_ExplicitR2_Occurrence[q65, q70] -> - or([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q67, q72] /\ - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q67, q72] = q70 - | q72 : int(1..3)]) - | q70 : int(1..2)]) - | q67 : int(1..2)]) - | q65 : int(1..2)]), - and([or([and([x_ExplicitR2_Occurrence[q76, q77] -> - or([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q74, q79] /\ - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q74, q79] = q77 - | q79 : int(1..3)]) - | q77 : int(1..2)]) - /\ - and([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q74, q81] -> - x_ExplicitR2_Occurrence[q76, x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q74, q81]] - | q81 : int(1..3)]) - | q76 : int(1..2)]) - | q74 : int(1..2)]) - diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_3_4_2-solution000001.solution b/tests/exhaustive/basic/setOfSet04/expected/model_3_4_2-solution000001.solution new file mode 100644 index 0000000000..38937c9389 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_3_4_2-solution000001.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{1}, {1, 2}} +$ Visualisation for x +$ 1 +$ 1 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_3_4_2-solution000002.solution b/tests/exhaustive/basic/setOfSet04/expected/model_3_4_2-solution000002.solution new file mode 100644 index 0000000000..9bf2af0712 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_3_4_2-solution000002.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{1, 2}, {2}} +$ Visualisation for x +$ 1 2 +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_3_4_2-solution000003.solution b/tests/exhaustive/basic/setOfSet04/expected/model_3_4_2-solution000003.solution new file mode 100644 index 0000000000..a6c0b6a43e --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_3_4_2-solution000003.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{}, {1, 2}} +$ Visualisation for x +$ +$ 1 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_3_4_2-solution000004.solution b/tests/exhaustive/basic/setOfSet04/expected/model_3_4_2-solution000004.solution new file mode 100644 index 0000000000..af16592c51 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_3_4_2-solution000004.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{1}, {2}} +$ Visualisation for x +$ 1 +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_3_4_2-solution000005.solution b/tests/exhaustive/basic/setOfSet04/expected/model_3_4_2-solution000005.solution new file mode 100644 index 0000000000..3ec452354e --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_3_4_2-solution000005.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{}, {1}} +$ Visualisation for x +$ +$ 1 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_3_4_2-solution000006.solution b/tests/exhaustive/basic/setOfSet04/expected/model_3_4_2-solution000006.solution new file mode 100644 index 0000000000..c8946f3d06 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_3_4_2-solution000006.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{}, {2}} +$ Visualisation for x +$ +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_3_4_2.eprime.orig b/tests/exhaustive/basic/setOfSet04/expected/model_3_4_2.eprime.orig deleted file mode 100644 index 582cccb864..0000000000 --- a/tests/exhaustive/basic/setOfSet04/expected/model_3_4_2.eprime.orig +++ /dev/null @@ -1,154 +0,0 @@ -language ESSENCE' 1.0 - -find x_ExplicitR5_ExplicitVarSizeWithMarker_Marker: matrix indexed by [int(1..2)] of int(0..3) -find x_ExplicitR5_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..2), int(1..3)] of int(1..2) -find x_ExplicitR4_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..2), int(1..3)] of bool -find x_ExplicitR4_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..2), int(1..3)] of int(1..2) -find x_ExplicitR6_ExplicitVarSizeWithDummy: matrix indexed by [int(1..2), int(1..3)] of int(1..3) -branching on - [x_ExplicitR6_ExplicitVarSizeWithDummy, x_ExplicitR5_ExplicitVarSizeWithMarker_Marker, - x_ExplicitR5_ExplicitVarSizeWithMarker_Values, x_ExplicitR4_ExplicitVarSizeWithFlags_Flags, - x_ExplicitR4_ExplicitVarSizeWithFlags_Values] -such that - flatten([[x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[1]; int(1)], - [x_ExplicitR5_ExplicitVarSizeWithMarker_Values[1, q6] | q6 : int(1..3)]; - int(1..2)]) - - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q2, q3] < - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q2, q3 + 1] - | q3 : int(1..2)]) - | q2 : int(1..2)]), - and([and([q4 > x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q2] -> - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q2, q4] = 1 - | q4 : int(1..3)]) - | q2 : int(1..2)]), - and([x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q2] <= 3 | q2 : int(1..2)]), - flatten([flatten([[-toInt(x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[1, q15]); int(1)], - [x_ExplicitR4_ExplicitVarSizeWithFlags_Values[1, q15]; int(1)]; - int(1..2)]) - | q15 : int(1..3)]) - - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q9, q10] < - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q9, q10 + 1] - | q10 : int(1..2)]) - | q9 : int(1..2)]), - and([and([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q9, q11] = false -> - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q9, q11] = 1 - | q11 : int(1..3)]) - | q9 : int(1..2)]), - and([and([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q9, q12 + 1] -> - x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q9, q12] - | q12 : int(1..2)]) - | q9 : int(1..2)]), - and([sum([toInt(x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q9, q13]) | q13 : int(1..3)]) <= 3 | q9 : int(1..2)]), - and([or([and([q22 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q20] -> - or([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q18, q24] /\ - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q18, q24] = - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q20, q22] - | q24 : int(1..3)]) - | q22 : int(1..3)]) - /\ - and([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q18, q26] -> - or([q28 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q20] /\ - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q20, q28] = - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q18, q26] - | q28 : int(1..3)]) - | q26 : int(1..3)]) - | q20 : int(1..2)]) - | q18 : int(1..2)]), - and([or([and([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q32, q34] -> - or([q36 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q30] /\ - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q30, q36] = - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q32, q34] - | q36 : int(1..3)]) - | q34 : int(1..3)]) - /\ - and([q38 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q30] -> - or([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q32, q40] /\ - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q32, q40] = - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q30, q38] - | q40 : int(1..3)]) - | q38 : int(1..3)]) - | q32 : int(1..2)]) - | q30 : int(1..2)]), - [x_ExplicitR6_ExplicitVarSizeWithDummy[1, q47] | q47 : int(1..3)] - x_ExplicitR6_ExplicitVarSizeWithDummy[q42, q44 + 1] = 3 - | q44 : int(1..2)]) - | q42 : int(1..2)]), - and([sum([toInt(x_ExplicitR6_ExplicitVarSizeWithDummy[q42, q45] != 3) | q45 : int(1..3)]) <= 3 | q42 : int(1..2)]), - and([or([and([q54 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q52] -> - or([x_ExplicitR6_ExplicitVarSizeWithDummy[q50, q56] != 3 /\ - x_ExplicitR6_ExplicitVarSizeWithDummy[q50, q56] = - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q52, q54] - | q56 : int(1..3)]) - | q54 : int(1..3)]) - /\ - and([x_ExplicitR6_ExplicitVarSizeWithDummy[q50, q58] != 3 -> - or([q60 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q52] /\ - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q52, q60] = - x_ExplicitR6_ExplicitVarSizeWithDummy[q50, q58] - | q60 : int(1..3)]) - | q58 : int(1..3)]) - | q52 : int(1..2)]) - | q50 : int(1..2)]), - and([or([and([x_ExplicitR6_ExplicitVarSizeWithDummy[q64, q66] != 3 -> - or([q68 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q62] /\ - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q62, q68] = - x_ExplicitR6_ExplicitVarSizeWithDummy[q64, q66] - | q68 : int(1..3)]) - | q66 : int(1..3)]) - /\ - and([q70 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q62] -> - or([x_ExplicitR6_ExplicitVarSizeWithDummy[q64, q72] != 3 /\ - x_ExplicitR6_ExplicitVarSizeWithDummy[q64, q72] = - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q62, q70] - | q72 : int(1..3)]) - | q70 : int(1..3)]) - | q64 : int(1..2)]) - | q62 : int(1..2)]), - and([or([and([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q76, q78] -> - or([x_ExplicitR6_ExplicitVarSizeWithDummy[q74, q80] != 3 /\ - x_ExplicitR6_ExplicitVarSizeWithDummy[q74, q80] = - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q76, q78] - | q80 : int(1..3)]) - | q78 : int(1..3)]) - /\ - and([x_ExplicitR6_ExplicitVarSizeWithDummy[q74, q82] != 3 -> - or([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q76, q84] /\ - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q76, q84] = - x_ExplicitR6_ExplicitVarSizeWithDummy[q74, q82] - | q84 : int(1..3)]) - | q82 : int(1..3)]) - | q76 : int(1..2)]) - | q74 : int(1..2)]), - and([or([and([x_ExplicitR6_ExplicitVarSizeWithDummy[q88, q90] != 3 -> - or([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q86, q92] /\ - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q86, q92] = - x_ExplicitR6_ExplicitVarSizeWithDummy[q88, q90] - | q92 : int(1..3)]) - | q90 : int(1..3)]) - /\ - and([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q86, q94] -> - or([x_ExplicitR6_ExplicitVarSizeWithDummy[q88, q96] != 3 /\ - x_ExplicitR6_ExplicitVarSizeWithDummy[q88, q96] = - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q86, q94] - | q96 : int(1..3)]) - | q94 : int(1..3)]) - | q88 : int(1..2)]) - | q86 : int(1..2)]) - diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_3_4_3.eprime.orig b/tests/exhaustive/basic/setOfSet04/expected/model_3_4_3.eprime.orig deleted file mode 100644 index c767e19806..0000000000 --- a/tests/exhaustive/basic/setOfSet04/expected/model_3_4_3.eprime.orig +++ /dev/null @@ -1,81 +0,0 @@ -language ESSENCE' 1.0 - -find x_ExplicitR5_ExplicitVarSizeWithMarker_Marker: matrix indexed by [int(1..2)] of int(0..3) -find x_ExplicitR5_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..2), int(1..3)] of int(1..2) -find x_ExplicitR4_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..2), int(1..3)] of bool -find x_ExplicitR4_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..2), int(1..3)] of int(1..2) -branching on - [x_ExplicitR4_ExplicitVarSizeWithFlags_Flags, x_ExplicitR4_ExplicitVarSizeWithFlags_Values, - x_ExplicitR5_ExplicitVarSizeWithMarker_Marker, x_ExplicitR5_ExplicitVarSizeWithMarker_Values] -such that - flatten([[x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[1]; int(1)], - [x_ExplicitR5_ExplicitVarSizeWithMarker_Values[1, q6] | q6 : int(1..3)]; - int(1..2)]) - - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q2, q3] < - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q2, q3 + 1] - | q3 : int(1..2)]) - | q2 : int(1..2)]), - and([and([q4 > x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q2] -> - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q2, q4] = 1 - | q4 : int(1..3)]) - | q2 : int(1..2)]), - and([x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q2] <= 3 | q2 : int(1..2)]), - flatten([flatten([[-toInt(x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[1, q15]); int(1)], - [x_ExplicitR4_ExplicitVarSizeWithFlags_Values[1, q15]; int(1)]; - int(1..2)]) - | q15 : int(1..3)]) - - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q9, q10] < - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q9, q10 + 1] - | q10 : int(1..2)]) - | q9 : int(1..2)]), - and([and([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q9, q11] = false -> - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q9, q11] = 1 - | q11 : int(1..3)]) - | q9 : int(1..2)]), - and([and([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q9, q12 + 1] -> - x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q9, q12] - | q12 : int(1..2)]) - | q9 : int(1..2)]), - and([sum([toInt(x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q9, q13]) | q13 : int(1..3)]) <= 3 | q9 : int(1..2)]), - and([or([and([q22 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q20] -> - or([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q18, q24] /\ - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q18, q24] = - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q20, q22] - | q24 : int(1..3)]) - | q22 : int(1..3)]) - /\ - and([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q18, q26] -> - or([q28 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q20] /\ - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q20, q28] = - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q18, q26] - | q28 : int(1..3)]) - | q26 : int(1..3)]) - | q20 : int(1..2)]) - | q18 : int(1..2)]), - and([or([and([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q32, q34] -> - or([q36 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q30] /\ - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q30, q36] = - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q32, q34] - | q36 : int(1..3)]) - | q34 : int(1..3)]) - /\ - and([q38 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q30] -> - or([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q32, q40] /\ - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q32, q40] = - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q30, q38] - | q40 : int(1..3)]) - | q38 : int(1..3)]) - | q32 : int(1..2)]) - | q30 : int(1..2)]) - diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_3_4_4.eprime.orig b/tests/exhaustive/basic/setOfSet04/expected/model_3_4_4.eprime.orig deleted file mode 100644 index c767e19806..0000000000 --- a/tests/exhaustive/basic/setOfSet04/expected/model_3_4_4.eprime.orig +++ /dev/null @@ -1,81 +0,0 @@ -language ESSENCE' 1.0 - -find x_ExplicitR5_ExplicitVarSizeWithMarker_Marker: matrix indexed by [int(1..2)] of int(0..3) -find x_ExplicitR5_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..2), int(1..3)] of int(1..2) -find x_ExplicitR4_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..2), int(1..3)] of bool -find x_ExplicitR4_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..2), int(1..3)] of int(1..2) -branching on - [x_ExplicitR4_ExplicitVarSizeWithFlags_Flags, x_ExplicitR4_ExplicitVarSizeWithFlags_Values, - x_ExplicitR5_ExplicitVarSizeWithMarker_Marker, x_ExplicitR5_ExplicitVarSizeWithMarker_Values] -such that - flatten([[x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[1]; int(1)], - [x_ExplicitR5_ExplicitVarSizeWithMarker_Values[1, q6] | q6 : int(1..3)]; - int(1..2)]) - - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q2, q3] < - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q2, q3 + 1] - | q3 : int(1..2)]) - | q2 : int(1..2)]), - and([and([q4 > x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q2] -> - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q2, q4] = 1 - | q4 : int(1..3)]) - | q2 : int(1..2)]), - and([x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q2] <= 3 | q2 : int(1..2)]), - flatten([flatten([[-toInt(x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[1, q15]); int(1)], - [x_ExplicitR4_ExplicitVarSizeWithFlags_Values[1, q15]; int(1)]; - int(1..2)]) - | q15 : int(1..3)]) - - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q9, q10] < - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q9, q10 + 1] - | q10 : int(1..2)]) - | q9 : int(1..2)]), - and([and([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q9, q11] = false -> - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q9, q11] = 1 - | q11 : int(1..3)]) - | q9 : int(1..2)]), - and([and([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q9, q12 + 1] -> - x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q9, q12] - | q12 : int(1..2)]) - | q9 : int(1..2)]), - and([sum([toInt(x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q9, q13]) | q13 : int(1..3)]) <= 3 | q9 : int(1..2)]), - and([or([and([q22 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q20] -> - or([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q18, q24] /\ - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q18, q24] = - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q20, q22] - | q24 : int(1..3)]) - | q22 : int(1..3)]) - /\ - and([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q18, q26] -> - or([q28 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q20] /\ - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q20, q28] = - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q18, q26] - | q28 : int(1..3)]) - | q26 : int(1..3)]) - | q20 : int(1..2)]) - | q18 : int(1..2)]), - and([or([and([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q32, q34] -> - or([q36 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q30] /\ - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q30, q36] = - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q32, q34] - | q36 : int(1..3)]) - | q34 : int(1..3)]) - /\ - and([q38 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q30] -> - or([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q32, q40] /\ - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q32, q40] = - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q30, q38] - | q40 : int(1..3)]) - | q38 : int(1..3)]) - | q32 : int(1..2)]) - | q30 : int(1..2)]) - diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_4_1_1-solution000001.solution b/tests/exhaustive/basic/setOfSet04/expected/model_4_1_1-solution000001.solution new file mode 100644 index 0000000000..c8946f3d06 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_4_1_1-solution000001.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{}, {2}} +$ Visualisation for x +$ +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_4_1_1-solution000002.solution b/tests/exhaustive/basic/setOfSet04/expected/model_4_1_1-solution000002.solution new file mode 100644 index 0000000000..3ec452354e --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_4_1_1-solution000002.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{}, {1}} +$ Visualisation for x +$ +$ 1 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_4_1_1-solution000003.solution b/tests/exhaustive/basic/setOfSet04/expected/model_4_1_1-solution000003.solution new file mode 100644 index 0000000000..af16592c51 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_4_1_1-solution000003.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{1}, {2}} +$ Visualisation for x +$ 1 +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_4_1_1-solution000004.solution b/tests/exhaustive/basic/setOfSet04/expected/model_4_1_1-solution000004.solution new file mode 100644 index 0000000000..a6c0b6a43e --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_4_1_1-solution000004.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{}, {1, 2}} +$ Visualisation for x +$ +$ 1 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_4_1_1-solution000005.solution b/tests/exhaustive/basic/setOfSet04/expected/model_4_1_1-solution000005.solution new file mode 100644 index 0000000000..9bf2af0712 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_4_1_1-solution000005.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{1, 2}, {2}} +$ Visualisation for x +$ 1 2 +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_4_1_1-solution000006.solution b/tests/exhaustive/basic/setOfSet04/expected/model_4_1_1-solution000006.solution new file mode 100644 index 0000000000..38937c9389 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_4_1_1-solution000006.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{1}, {1, 2}} +$ Visualisation for x +$ 1 +$ 1 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_4_1_1.eprime b/tests/exhaustive/basic/setOfSet04/expected/model_4_1_1.eprime new file mode 100644 index 0000000000..c7f842826d --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_4_1_1.eprime @@ -0,0 +1,57 @@ +language ESSENCE' 1.0 + +find x_ExplicitR4_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..2), int(1..3)] of bool +find x_ExplicitR4_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..2), int(1..3)] of int(1..2) +find x_ExplicitR2_Occurrence: matrix indexed by [int(1..2), int(1..2)] of bool +branching on + [x_ExplicitR2_Occurrence, x_ExplicitR4_ExplicitVarSizeWithFlags_Flags, x_ExplicitR4_ExplicitVarSizeWithFlags_Values] +such that + flatten([flatten([[-toInt(x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[1, q8]); int(1)], + [x_ExplicitR4_ExplicitVarSizeWithFlags_Values[1, q8]; int(1)]; + int(1..2)]) + | q8 : int(1..3)]) + + x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q2, q3] < + x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q2, q3 + 1] + | q3 : int(1..2)]) + | q2 : int(1..2)]), + and([and([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q2, q4] = false -> + x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q2, q4] = 1 + | q4 : int(1..3)]) + | q2 : int(1..2)]), + and([and([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q2, q5 + 1] -> + x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q2, q5] + | q5 : int(1..2)]) + | q2 : int(1..2)]), + and([sum([toInt(x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q2, q6]) | q6 : int(1..3)]) <= 3 | q2 : int(1..2)]), + [-toInt(x_ExplicitR2_Occurrence[1, q13]) | q13 : int(1..2)] + x_ExplicitR2_Occurrence[q16, x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q18, q20]] + | q20 : int(1..3)]) + /\ + and([x_ExplicitR2_Occurrence[q16, q21] -> + or([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q18, q23] /\ + x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q18, q23] = q21 + | q23 : int(1..3)]) + | q21 : int(1..2)]) + | q18 : int(1..2)]) + | q16 : int(1..2)]), + and([or([and([x_ExplicitR2_Occurrence[q27, q28] -> + or([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q25, q30] /\ + x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q25, q30] = q28 + | q30 : int(1..3)]) + | q28 : int(1..2)]) + /\ + and([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q25, q32] -> + x_ExplicitR2_Occurrence[q27, x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q25, q32]] + | q32 : int(1..3)]) + | q27 : int(1..2)]) + | q25 : int(1..2)]) + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_4_1_2-solution000001.solution b/tests/exhaustive/basic/setOfSet04/expected/model_4_1_2-solution000001.solution new file mode 100644 index 0000000000..38937c9389 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_4_1_2-solution000001.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{1}, {1, 2}} +$ Visualisation for x +$ 1 +$ 1 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_4_1_2-solution000002.solution b/tests/exhaustive/basic/setOfSet04/expected/model_4_1_2-solution000002.solution new file mode 100644 index 0000000000..9bf2af0712 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_4_1_2-solution000002.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{1, 2}, {2}} +$ Visualisation for x +$ 1 2 +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_4_1_2-solution000003.solution b/tests/exhaustive/basic/setOfSet04/expected/model_4_1_2-solution000003.solution new file mode 100644 index 0000000000..a6c0b6a43e --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_4_1_2-solution000003.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{}, {1, 2}} +$ Visualisation for x +$ +$ 1 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_4_1_2-solution000004.solution b/tests/exhaustive/basic/setOfSet04/expected/model_4_1_2-solution000004.solution new file mode 100644 index 0000000000..af16592c51 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_4_1_2-solution000004.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{1}, {2}} +$ Visualisation for x +$ 1 +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_4_1_2-solution000005.solution b/tests/exhaustive/basic/setOfSet04/expected/model_4_1_2-solution000005.solution new file mode 100644 index 0000000000..3ec452354e --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_4_1_2-solution000005.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{}, {1}} +$ Visualisation for x +$ +$ 1 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_4_1_2-solution000006.solution b/tests/exhaustive/basic/setOfSet04/expected/model_4_1_2-solution000006.solution new file mode 100644 index 0000000000..c8946f3d06 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_4_1_2-solution000006.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{}, {2}} +$ Visualisation for x +$ +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_4_1_2.eprime b/tests/exhaustive/basic/setOfSet04/expected/model_4_1_2.eprime new file mode 100644 index 0000000000..b766299560 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_4_1_2.eprime @@ -0,0 +1,122 @@ +language ESSENCE' 1.0 + +find x_ExplicitR4_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..2), int(1..3)] of bool +find x_ExplicitR4_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..2), int(1..3)] of int(1..2) +find x_ExplicitR2_Occurrence: matrix indexed by [int(1..2), int(1..2)] of bool +find x_ExplicitR6_ExplicitVarSizeWithDummy: matrix indexed by [int(1..2), int(1..3)] of int(1..3) +branching on + [x_ExplicitR6_ExplicitVarSizeWithDummy, x_ExplicitR4_ExplicitVarSizeWithFlags_Flags, + x_ExplicitR4_ExplicitVarSizeWithFlags_Values, x_ExplicitR2_Occurrence] +such that + flatten([flatten([[-toInt(x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[1, q8]); int(1)], + [x_ExplicitR4_ExplicitVarSizeWithFlags_Values[1, q8]; int(1)]; + int(1..2)]) + | q8 : int(1..3)]) + + x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q2, q3] < + x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q2, q3 + 1] + | q3 : int(1..2)]) + | q2 : int(1..2)]), + and([and([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q2, q4] = false -> + x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q2, q4] = 1 + | q4 : int(1..3)]) + | q2 : int(1..2)]), + and([and([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q2, q5 + 1] -> + x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q2, q5] + | q5 : int(1..2)]) + | q2 : int(1..2)]), + and([sum([toInt(x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q2, q6]) | q6 : int(1..3)]) <= 3 | q2 : int(1..2)]), + [-toInt(x_ExplicitR2_Occurrence[1, q13]) | q13 : int(1..2)] + x_ExplicitR2_Occurrence[q16, x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q18, q20]] + | q20 : int(1..3)]) + /\ + and([x_ExplicitR2_Occurrence[q16, q21] -> + or([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q18, q23] /\ + x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q18, q23] = q21 + | q23 : int(1..3)]) + | q21 : int(1..2)]) + | q18 : int(1..2)]) + | q16 : int(1..2)]), + and([or([and([x_ExplicitR2_Occurrence[q27, q28] -> + or([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q25, q30] /\ + x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q25, q30] = q28 + | q30 : int(1..3)]) + | q28 : int(1..2)]) + /\ + and([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q25, q32] -> + x_ExplicitR2_Occurrence[q27, x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q25, q32]] + | q32 : int(1..3)]) + | q27 : int(1..2)]) + | q25 : int(1..2)]), + [x_ExplicitR6_ExplicitVarSizeWithDummy[1, q39] | q39 : int(1..3)] + x_ExplicitR6_ExplicitVarSizeWithDummy[q34, q36 + 1] = 3 + | q36 : int(1..2)]) + | q34 : int(1..2)]), + and([sum([toInt(x_ExplicitR6_ExplicitVarSizeWithDummy[q34, q37] != 3) | q37 : int(1..3)]) <= 3 | q34 : int(1..2)]), + and([or([and([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q44, q46] -> + or([x_ExplicitR6_ExplicitVarSizeWithDummy[q42, q48] != 3 /\ + x_ExplicitR6_ExplicitVarSizeWithDummy[q42, q48] = + x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q44, q46] + | q48 : int(1..3)]) + | q46 : int(1..3)]) + /\ + and([x_ExplicitR6_ExplicitVarSizeWithDummy[q42, q50] != 3 -> + or([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q44, q52] /\ + x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q44, q52] = + x_ExplicitR6_ExplicitVarSizeWithDummy[q42, q50] + | q52 : int(1..3)]) + | q50 : int(1..3)]) + | q44 : int(1..2)]) + | q42 : int(1..2)]), + and([or([and([x_ExplicitR6_ExplicitVarSizeWithDummy[q56, q58] != 3 -> + or([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q54, q60] /\ + x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q54, q60] = + x_ExplicitR6_ExplicitVarSizeWithDummy[q56, q58] + | q60 : int(1..3)]) + | q58 : int(1..3)]) + /\ + and([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q54, q62] -> + or([x_ExplicitR6_ExplicitVarSizeWithDummy[q56, q64] != 3 /\ + x_ExplicitR6_ExplicitVarSizeWithDummy[q56, q64] = + x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q54, q62] + | q64 : int(1..3)]) + | q62 : int(1..3)]) + | q56 : int(1..2)]) + | q54 : int(1..2)]), + and([or([and([x_ExplicitR2_Occurrence[q68, q69] -> + or([x_ExplicitR6_ExplicitVarSizeWithDummy[q66, q71] != 3 /\ + x_ExplicitR6_ExplicitVarSizeWithDummy[q66, q71] = q69 + | q71 : int(1..3)]) + | q69 : int(1..2)]) + /\ + and([x_ExplicitR6_ExplicitVarSizeWithDummy[q66, q73] != 3 -> + x_ExplicitR2_Occurrence[q68, x_ExplicitR6_ExplicitVarSizeWithDummy[q66, q73]] + | q73 : int(1..3)]) + | q68 : int(1..2)]) + | q66 : int(1..2)]), + and([or([and([x_ExplicitR6_ExplicitVarSizeWithDummy[q77, q79] != 3 -> + x_ExplicitR2_Occurrence[q75, x_ExplicitR6_ExplicitVarSizeWithDummy[q77, q79]] + | q79 : int(1..3)]) + /\ + and([x_ExplicitR2_Occurrence[q75, q80] -> + or([x_ExplicitR6_ExplicitVarSizeWithDummy[q77, q82] != 3 /\ + x_ExplicitR6_ExplicitVarSizeWithDummy[q77, q82] = q80 + | q82 : int(1..3)]) + | q80 : int(1..2)]) + | q77 : int(1..2)]) + | q75 : int(1..2)]) + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_4_1_3-solution000001.solution b/tests/exhaustive/basic/setOfSet04/expected/model_4_1_3-solution000001.solution new file mode 100644 index 0000000000..3ec452354e --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_4_1_3-solution000001.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{}, {1}} +$ Visualisation for x +$ +$ 1 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_4_1_3-solution000002.solution b/tests/exhaustive/basic/setOfSet04/expected/model_4_1_3-solution000002.solution new file mode 100644 index 0000000000..c8946f3d06 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_4_1_3-solution000002.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{}, {2}} +$ Visualisation for x +$ +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_4_1_3-solution000003.solution b/tests/exhaustive/basic/setOfSet04/expected/model_4_1_3-solution000003.solution new file mode 100644 index 0000000000..a6c0b6a43e --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_4_1_3-solution000003.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{}, {1, 2}} +$ Visualisation for x +$ +$ 1 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_4_1_3-solution000004.solution b/tests/exhaustive/basic/setOfSet04/expected/model_4_1_3-solution000004.solution new file mode 100644 index 0000000000..af16592c51 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_4_1_3-solution000004.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{1}, {2}} +$ Visualisation for x +$ 1 +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_4_1_3-solution000005.solution b/tests/exhaustive/basic/setOfSet04/expected/model_4_1_3-solution000005.solution new file mode 100644 index 0000000000..38937c9389 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_4_1_3-solution000005.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{1}, {1, 2}} +$ Visualisation for x +$ 1 +$ 1 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_4_1_3-solution000006.solution b/tests/exhaustive/basic/setOfSet04/expected/model_4_1_3-solution000006.solution new file mode 100644 index 0000000000..9bf2af0712 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_4_1_3-solution000006.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{1, 2}, {2}} +$ Visualisation for x +$ 1 2 +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_4_1_3.eprime.orig b/tests/exhaustive/basic/setOfSet04/expected/model_4_1_3.eprime.orig deleted file mode 100644 index 0af074b690..0000000000 --- a/tests/exhaustive/basic/setOfSet04/expected/model_4_1_3.eprime.orig +++ /dev/null @@ -1,129 +0,0 @@ -language ESSENCE' 1.0 - -find x_ExplicitR4_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..2), int(1..3)] of bool -find x_ExplicitR4_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..2), int(1..3)] of int(1..2) -find x_ExplicitR2_Occurrence: matrix indexed by [int(1..2), int(1..2)] of bool -find x_ExplicitR5_ExplicitVarSizeWithMarker_Marker: matrix indexed by [int(1..2)] of int(0..3) -find x_ExplicitR5_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..2), int(1..3)] of int(1..2) -branching on - [x_ExplicitR5_ExplicitVarSizeWithMarker_Marker, x_ExplicitR5_ExplicitVarSizeWithMarker_Values, - x_ExplicitR4_ExplicitVarSizeWithFlags_Flags, x_ExplicitR4_ExplicitVarSizeWithFlags_Values, x_ExplicitR2_Occurrence] -such that - flatten([flatten([[-toInt(x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[1, q8]); int(1)], - [x_ExplicitR4_ExplicitVarSizeWithFlags_Values[1, q8]; int(1)]; - int(1..2)]) - | q8 : int(1..3)]) - - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q2, q3] < - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q2, q3 + 1] - | q3 : int(1..2)]) - | q2 : int(1..2)]), - and([and([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q2, q4] = false -> - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q2, q4] = 1 - | q4 : int(1..3)]) - | q2 : int(1..2)]), - and([and([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q2, q5 + 1] -> - x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q2, q5] - | q5 : int(1..2)]) - | q2 : int(1..2)]), - and([sum([toInt(x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q2, q6]) | q6 : int(1..3)]) <= 3 | q2 : int(1..2)]), - [-toInt(x_ExplicitR2_Occurrence[1, q13]) | q13 : int(1..2)] - x_ExplicitR2_Occurrence[q16, x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q18, q20]] - | q20 : int(1..3)]) - /\ - and([x_ExplicitR2_Occurrence[q16, q21] -> - or([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q18, q23] /\ - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q18, q23] = q21 - | q23 : int(1..3)]) - | q21 : int(1..2)]) - | q18 : int(1..2)]) - | q16 : int(1..2)]), - and([or([and([x_ExplicitR2_Occurrence[q27, q28] -> - or([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q25, q30] /\ - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q25, q30] = q28 - | q30 : int(1..3)]) - | q28 : int(1..2)]) - /\ - and([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q25, q32] -> - x_ExplicitR2_Occurrence[q27, x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q25, q32]] - | q32 : int(1..3)]) - | q27 : int(1..2)]) - | q25 : int(1..2)]), - flatten([[x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[1]; int(1)], - [x_ExplicitR5_ExplicitVarSizeWithMarker_Values[1, q38] | q38 : int(1..3)]; - int(1..2)]) - - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q34, q35] < - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q34, q35 + 1] - | q35 : int(1..2)]) - | q34 : int(1..2)]), - and([and([q36 > x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q34] -> - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q34, q36] = 1 - | q36 : int(1..3)]) - | q34 : int(1..2)]), - and([x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q34] <= 3 | q34 : int(1..2)]), - and([or([and([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q43, q45] -> - or([q47 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q41] /\ - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q41, q47] = - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q43, q45] - | q47 : int(1..3)]) - | q45 : int(1..3)]) - /\ - and([q49 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q41] -> - or([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q43, q51] /\ - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q43, q51] = - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q41, q49] - | q51 : int(1..3)]) - | q49 : int(1..3)]) - | q43 : int(1..2)]) - | q41 : int(1..2)]), - and([or([and([q57 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q55] -> - or([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q53, q59] /\ - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q53, q59] = - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q55, q57] - | q59 : int(1..3)]) - | q57 : int(1..3)]) - /\ - and([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q53, q61] -> - or([q63 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q55] /\ - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q55, q63] = - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q53, q61] - | q63 : int(1..3)]) - | q61 : int(1..3)]) - | q55 : int(1..2)]) - | q53 : int(1..2)]), - and([or([and([x_ExplicitR2_Occurrence[q67, q68] -> - or([q70 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q65] /\ - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q65, q70] = q68 - | q70 : int(1..3)]) - | q68 : int(1..2)]) - /\ - and([q72 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q65] -> - x_ExplicitR2_Occurrence[q67, x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q65, q72]] - | q72 : int(1..3)]) - | q67 : int(1..2)]) - | q65 : int(1..2)]), - and([or([and([q78 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q76] -> - x_ExplicitR2_Occurrence[q74, x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q76, q78]] - | q78 : int(1..3)]) - /\ - and([x_ExplicitR2_Occurrence[q74, q79] -> - or([q81 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q76] /\ - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q76, q81] = q79 - | q81 : int(1..3)]) - | q79 : int(1..2)]) - | q76 : int(1..2)]) - | q74 : int(1..2)]) - diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_4_2_1-solution000001.solution b/tests/exhaustive/basic/setOfSet04/expected/model_4_2_1-solution000001.solution new file mode 100644 index 0000000000..c8946f3d06 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_4_2_1-solution000001.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{}, {2}} +$ Visualisation for x +$ +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_4_2_1-solution000002.solution b/tests/exhaustive/basic/setOfSet04/expected/model_4_2_1-solution000002.solution new file mode 100644 index 0000000000..3ec452354e --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_4_2_1-solution000002.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{}, {1}} +$ Visualisation for x +$ +$ 1 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_4_2_1-solution000003.solution b/tests/exhaustive/basic/setOfSet04/expected/model_4_2_1-solution000003.solution new file mode 100644 index 0000000000..af16592c51 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_4_2_1-solution000003.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{1}, {2}} +$ Visualisation for x +$ 1 +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_4_2_1-solution000004.solution b/tests/exhaustive/basic/setOfSet04/expected/model_4_2_1-solution000004.solution new file mode 100644 index 0000000000..a6c0b6a43e --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_4_2_1-solution000004.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{}, {1, 2}} +$ Visualisation for x +$ +$ 1 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_4_2_1-solution000005.solution b/tests/exhaustive/basic/setOfSet04/expected/model_4_2_1-solution000005.solution new file mode 100644 index 0000000000..9bf2af0712 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_4_2_1-solution000005.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{1, 2}, {2}} +$ Visualisation for x +$ 1 2 +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_4_2_1-solution000006.solution b/tests/exhaustive/basic/setOfSet04/expected/model_4_2_1-solution000006.solution new file mode 100644 index 0000000000..38937c9389 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_4_2_1-solution000006.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{1}, {1, 2}} +$ Visualisation for x +$ 1 +$ 1 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_4_2_1.eprime b/tests/exhaustive/basic/setOfSet04/expected/model_4_2_1.eprime new file mode 100644 index 0000000000..972c2b1a63 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_4_2_1.eprime @@ -0,0 +1,122 @@ +language ESSENCE' 1.0 + +find x_ExplicitR4_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..2), int(1..3)] of bool +find x_ExplicitR4_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..2), int(1..3)] of int(1..2) +find x_ExplicitR6_ExplicitVarSizeWithDummy: matrix indexed by [int(1..2), int(1..3)] of int(1..3) +find x_ExplicitR2_Occurrence: matrix indexed by [int(1..2), int(1..2)] of bool +branching on + [x_ExplicitR2_Occurrence, x_ExplicitR4_ExplicitVarSizeWithFlags_Flags, x_ExplicitR4_ExplicitVarSizeWithFlags_Values, + x_ExplicitR6_ExplicitVarSizeWithDummy] +such that + flatten([flatten([[-toInt(x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[1, q8]); int(1)], + [x_ExplicitR4_ExplicitVarSizeWithFlags_Values[1, q8]; int(1)]; + int(1..2)]) + | q8 : int(1..3)]) + + x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q2, q3] < + x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q2, q3 + 1] + | q3 : int(1..2)]) + | q2 : int(1..2)]), + and([and([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q2, q4] = false -> + x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q2, q4] = 1 + | q4 : int(1..3)]) + | q2 : int(1..2)]), + and([and([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q2, q5 + 1] -> + x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q2, q5] + | q5 : int(1..2)]) + | q2 : int(1..2)]), + and([sum([toInt(x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q2, q6]) | q6 : int(1..3)]) <= 3 | q2 : int(1..2)]), + [x_ExplicitR6_ExplicitVarSizeWithDummy[1, q16] | q16 : int(1..3)] + x_ExplicitR6_ExplicitVarSizeWithDummy[q11, q13 + 1] = 3 + | q13 : int(1..2)]) + | q11 : int(1..2)]), + and([sum([toInt(x_ExplicitR6_ExplicitVarSizeWithDummy[q11, q14] != 3) | q14 : int(1..3)]) <= 3 | q11 : int(1..2)]), + and([or([and([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q21, q23] -> + or([x_ExplicitR6_ExplicitVarSizeWithDummy[q19, q25] != 3 /\ + x_ExplicitR6_ExplicitVarSizeWithDummy[q19, q25] = + x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q21, q23] + | q25 : int(1..3)]) + | q23 : int(1..3)]) + /\ + and([x_ExplicitR6_ExplicitVarSizeWithDummy[q19, q27] != 3 -> + or([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q21, q29] /\ + x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q21, q29] = + x_ExplicitR6_ExplicitVarSizeWithDummy[q19, q27] + | q29 : int(1..3)]) + | q27 : int(1..3)]) + | q21 : int(1..2)]) + | q19 : int(1..2)]), + and([or([and([x_ExplicitR6_ExplicitVarSizeWithDummy[q33, q35] != 3 -> + or([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q31, q37] /\ + x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q31, q37] = + x_ExplicitR6_ExplicitVarSizeWithDummy[q33, q35] + | q37 : int(1..3)]) + | q35 : int(1..3)]) + /\ + and([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q31, q39] -> + or([x_ExplicitR6_ExplicitVarSizeWithDummy[q33, q41] != 3 /\ + x_ExplicitR6_ExplicitVarSizeWithDummy[q33, q41] = + x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q31, q39] + | q41 : int(1..3)]) + | q39 : int(1..3)]) + | q33 : int(1..2)]) + | q31 : int(1..2)]), + [-toInt(x_ExplicitR2_Occurrence[1, q45]) | q45 : int(1..2)] + x_ExplicitR2_Occurrence[q48, x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q50, q52]] + | q52 : int(1..3)]) + /\ + and([x_ExplicitR2_Occurrence[q48, q53] -> + or([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q50, q55] /\ + x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q50, q55] = q53 + | q55 : int(1..3)]) + | q53 : int(1..2)]) + | q50 : int(1..2)]) + | q48 : int(1..2)]), + and([or([and([x_ExplicitR2_Occurrence[q59, q60] -> + or([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q57, q62] /\ + x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q57, q62] = q60 + | q62 : int(1..3)]) + | q60 : int(1..2)]) + /\ + and([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q57, q64] -> + x_ExplicitR2_Occurrence[q59, x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q57, q64]] + | q64 : int(1..3)]) + | q59 : int(1..2)]) + | q57 : int(1..2)]), + and([or([and([x_ExplicitR6_ExplicitVarSizeWithDummy[q68, q70] != 3 -> + x_ExplicitR2_Occurrence[q66, x_ExplicitR6_ExplicitVarSizeWithDummy[q68, q70]] + | q70 : int(1..3)]) + /\ + and([x_ExplicitR2_Occurrence[q66, q71] -> + or([x_ExplicitR6_ExplicitVarSizeWithDummy[q68, q73] != 3 /\ + x_ExplicitR6_ExplicitVarSizeWithDummy[q68, q73] = q71 + | q73 : int(1..3)]) + | q71 : int(1..2)]) + | q68 : int(1..2)]) + | q66 : int(1..2)]), + and([or([and([x_ExplicitR2_Occurrence[q77, q78] -> + or([x_ExplicitR6_ExplicitVarSizeWithDummy[q75, q80] != 3 /\ + x_ExplicitR6_ExplicitVarSizeWithDummy[q75, q80] = q78 + | q80 : int(1..3)]) + | q78 : int(1..2)]) + /\ + and([x_ExplicitR6_ExplicitVarSizeWithDummy[q75, q82] != 3 -> + x_ExplicitR2_Occurrence[q77, x_ExplicitR6_ExplicitVarSizeWithDummy[q75, q82]] + | q82 : int(1..3)]) + | q77 : int(1..2)]) + | q75 : int(1..2)]) + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_4_2_2-solution000001.solution b/tests/exhaustive/basic/setOfSet04/expected/model_4_2_2-solution000001.solution new file mode 100644 index 0000000000..38937c9389 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_4_2_2-solution000001.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{1}, {1, 2}} +$ Visualisation for x +$ 1 +$ 1 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_4_2_2-solution000002.solution b/tests/exhaustive/basic/setOfSet04/expected/model_4_2_2-solution000002.solution new file mode 100644 index 0000000000..9bf2af0712 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_4_2_2-solution000002.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{1, 2}, {2}} +$ Visualisation for x +$ 1 2 +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_4_2_2-solution000003.solution b/tests/exhaustive/basic/setOfSet04/expected/model_4_2_2-solution000003.solution new file mode 100644 index 0000000000..a6c0b6a43e --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_4_2_2-solution000003.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{}, {1, 2}} +$ Visualisation for x +$ +$ 1 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_4_2_2-solution000004.solution b/tests/exhaustive/basic/setOfSet04/expected/model_4_2_2-solution000004.solution new file mode 100644 index 0000000000..af16592c51 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_4_2_2-solution000004.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{1}, {2}} +$ Visualisation for x +$ 1 +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_4_2_2-solution000005.solution b/tests/exhaustive/basic/setOfSet04/expected/model_4_2_2-solution000005.solution new file mode 100644 index 0000000000..3ec452354e --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_4_2_2-solution000005.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{}, {1}} +$ Visualisation for x +$ +$ 1 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_4_2_2-solution000006.solution b/tests/exhaustive/basic/setOfSet04/expected/model_4_2_2-solution000006.solution new file mode 100644 index 0000000000..c8946f3d06 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_4_2_2-solution000006.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{}, {2}} +$ Visualisation for x +$ +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_4_2_2.eprime b/tests/exhaustive/basic/setOfSet04/expected/model_4_2_2.eprime new file mode 100644 index 0000000000..048ac1ff0c --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_4_2_2.eprime @@ -0,0 +1,74 @@ +language ESSENCE' 1.0 + +find x_ExplicitR4_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..2), int(1..3)] of bool +find x_ExplicitR4_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..2), int(1..3)] of int(1..2) +find x_ExplicitR6_ExplicitVarSizeWithDummy: matrix indexed by [int(1..2), int(1..3)] of int(1..3) +branching on + [x_ExplicitR6_ExplicitVarSizeWithDummy, x_ExplicitR4_ExplicitVarSizeWithFlags_Flags, + x_ExplicitR4_ExplicitVarSizeWithFlags_Values] +such that + flatten([flatten([[-toInt(x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[1, q8]); int(1)], + [x_ExplicitR4_ExplicitVarSizeWithFlags_Values[1, q8]; int(1)]; + int(1..2)]) + | q8 : int(1..3)]) + + x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q2, q3] < + x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q2, q3 + 1] + | q3 : int(1..2)]) + | q2 : int(1..2)]), + and([and([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q2, q4] = false -> + x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q2, q4] = 1 + | q4 : int(1..3)]) + | q2 : int(1..2)]), + and([and([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q2, q5 + 1] -> + x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q2, q5] + | q5 : int(1..2)]) + | q2 : int(1..2)]), + and([sum([toInt(x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q2, q6]) | q6 : int(1..3)]) <= 3 | q2 : int(1..2)]), + [x_ExplicitR6_ExplicitVarSizeWithDummy[1, q16] | q16 : int(1..3)] + x_ExplicitR6_ExplicitVarSizeWithDummy[q11, q13 + 1] = 3 + | q13 : int(1..2)]) + | q11 : int(1..2)]), + and([sum([toInt(x_ExplicitR6_ExplicitVarSizeWithDummy[q11, q14] != 3) | q14 : int(1..3)]) <= 3 | q11 : int(1..2)]), + and([or([and([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q21, q23] -> + or([x_ExplicitR6_ExplicitVarSizeWithDummy[q19, q25] != 3 /\ + x_ExplicitR6_ExplicitVarSizeWithDummy[q19, q25] = + x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q21, q23] + | q25 : int(1..3)]) + | q23 : int(1..3)]) + /\ + and([x_ExplicitR6_ExplicitVarSizeWithDummy[q19, q27] != 3 -> + or([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q21, q29] /\ + x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q21, q29] = + x_ExplicitR6_ExplicitVarSizeWithDummy[q19, q27] + | q29 : int(1..3)]) + | q27 : int(1..3)]) + | q21 : int(1..2)]) + | q19 : int(1..2)]), + and([or([and([x_ExplicitR6_ExplicitVarSizeWithDummy[q33, q35] != 3 -> + or([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q31, q37] /\ + x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q31, q37] = + x_ExplicitR6_ExplicitVarSizeWithDummy[q33, q35] + | q37 : int(1..3)]) + | q35 : int(1..3)]) + /\ + and([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q31, q39] -> + or([x_ExplicitR6_ExplicitVarSizeWithDummy[q33, q41] != 3 /\ + x_ExplicitR6_ExplicitVarSizeWithDummy[q33, q41] = + x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q31, q39] + | q41 : int(1..3)]) + | q39 : int(1..3)]) + | q33 : int(1..2)]) + | q31 : int(1..2)]) + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_4_2_3-solution000001.solution b/tests/exhaustive/basic/setOfSet04/expected/model_4_2_3-solution000001.solution new file mode 100644 index 0000000000..3ec452354e --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_4_2_3-solution000001.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{}, {1}} +$ Visualisation for x +$ +$ 1 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_4_2_3-solution000002.solution b/tests/exhaustive/basic/setOfSet04/expected/model_4_2_3-solution000002.solution new file mode 100644 index 0000000000..c8946f3d06 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_4_2_3-solution000002.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{}, {2}} +$ Visualisation for x +$ +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_4_2_3-solution000003.solution b/tests/exhaustive/basic/setOfSet04/expected/model_4_2_3-solution000003.solution new file mode 100644 index 0000000000..a6c0b6a43e --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_4_2_3-solution000003.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{}, {1, 2}} +$ Visualisation for x +$ +$ 1 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_4_2_3-solution000004.solution b/tests/exhaustive/basic/setOfSet04/expected/model_4_2_3-solution000004.solution new file mode 100644 index 0000000000..af16592c51 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_4_2_3-solution000004.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{1}, {2}} +$ Visualisation for x +$ 1 +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_4_2_3-solution000005.solution b/tests/exhaustive/basic/setOfSet04/expected/model_4_2_3-solution000005.solution new file mode 100644 index 0000000000..38937c9389 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_4_2_3-solution000005.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{1}, {1, 2}} +$ Visualisation for x +$ 1 +$ 1 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_4_2_3-solution000006.solution b/tests/exhaustive/basic/setOfSet04/expected/model_4_2_3-solution000006.solution new file mode 100644 index 0000000000..9bf2af0712 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_4_2_3-solution000006.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{1, 2}, {2}} +$ Visualisation for x +$ 1 2 +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_4_2_3.eprime.orig b/tests/exhaustive/basic/setOfSet04/expected/model_4_2_3.eprime.orig deleted file mode 100644 index 1c270ceec6..0000000000 --- a/tests/exhaustive/basic/setOfSet04/expected/model_4_2_3.eprime.orig +++ /dev/null @@ -1,154 +0,0 @@ -language ESSENCE' 1.0 - -find x_ExplicitR4_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..2), int(1..3)] of bool -find x_ExplicitR4_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..2), int(1..3)] of int(1..2) -find x_ExplicitR6_ExplicitVarSizeWithDummy: matrix indexed by [int(1..2), int(1..3)] of int(1..3) -find x_ExplicitR5_ExplicitVarSizeWithMarker_Marker: matrix indexed by [int(1..2)] of int(0..3) -find x_ExplicitR5_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..2), int(1..3)] of int(1..2) -branching on - [x_ExplicitR5_ExplicitVarSizeWithMarker_Marker, x_ExplicitR5_ExplicitVarSizeWithMarker_Values, - x_ExplicitR4_ExplicitVarSizeWithFlags_Flags, x_ExplicitR4_ExplicitVarSizeWithFlags_Values, - x_ExplicitR6_ExplicitVarSizeWithDummy] -such that - flatten([flatten([[-toInt(x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[1, q8]); int(1)], - [x_ExplicitR4_ExplicitVarSizeWithFlags_Values[1, q8]; int(1)]; - int(1..2)]) - | q8 : int(1..3)]) - - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q2, q3] < - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q2, q3 + 1] - | q3 : int(1..2)]) - | q2 : int(1..2)]), - and([and([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q2, q4] = false -> - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q2, q4] = 1 - | q4 : int(1..3)]) - | q2 : int(1..2)]), - and([and([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q2, q5 + 1] -> - x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q2, q5] - | q5 : int(1..2)]) - | q2 : int(1..2)]), - and([sum([toInt(x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q2, q6]) | q6 : int(1..3)]) <= 3 | q2 : int(1..2)]), - [x_ExplicitR6_ExplicitVarSizeWithDummy[1, q16] | q16 : int(1..3)] - x_ExplicitR6_ExplicitVarSizeWithDummy[q11, q13 + 1] = 3 - | q13 : int(1..2)]) - | q11 : int(1..2)]), - and([sum([toInt(x_ExplicitR6_ExplicitVarSizeWithDummy[q11, q14] != 3) | q14 : int(1..3)]) <= 3 | q11 : int(1..2)]), - and([or([and([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q21, q23] -> - or([x_ExplicitR6_ExplicitVarSizeWithDummy[q19, q25] != 3 /\ - x_ExplicitR6_ExplicitVarSizeWithDummy[q19, q25] = - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q21, q23] - | q25 : int(1..3)]) - | q23 : int(1..3)]) - /\ - and([x_ExplicitR6_ExplicitVarSizeWithDummy[q19, q27] != 3 -> - or([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q21, q29] /\ - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q21, q29] = - x_ExplicitR6_ExplicitVarSizeWithDummy[q19, q27] - | q29 : int(1..3)]) - | q27 : int(1..3)]) - | q21 : int(1..2)]) - | q19 : int(1..2)]), - and([or([and([x_ExplicitR6_ExplicitVarSizeWithDummy[q33, q35] != 3 -> - or([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q31, q37] /\ - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q31, q37] = - x_ExplicitR6_ExplicitVarSizeWithDummy[q33, q35] - | q37 : int(1..3)]) - | q35 : int(1..3)]) - /\ - and([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q31, q39] -> - or([x_ExplicitR6_ExplicitVarSizeWithDummy[q33, q41] != 3 /\ - x_ExplicitR6_ExplicitVarSizeWithDummy[q33, q41] = - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q31, q39] - | q41 : int(1..3)]) - | q39 : int(1..3)]) - | q33 : int(1..2)]) - | q31 : int(1..2)]), - flatten([[x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[1]; int(1)], - [x_ExplicitR5_ExplicitVarSizeWithMarker_Values[1, q47] | q47 : int(1..3)]; - int(1..2)]) - - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q43, q44] < - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q43, q44 + 1] - | q44 : int(1..2)]) - | q43 : int(1..2)]), - and([and([q45 > x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q43] -> - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q43, q45] = 1 - | q45 : int(1..3)]) - | q43 : int(1..2)]), - and([x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q43] <= 3 | q43 : int(1..2)]), - and([or([and([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q52, q54] -> - or([q56 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q50] /\ - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q50, q56] = - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q52, q54] - | q56 : int(1..3)]) - | q54 : int(1..3)]) - /\ - and([q58 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q50] -> - or([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q52, q60] /\ - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q52, q60] = - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q50, q58] - | q60 : int(1..3)]) - | q58 : int(1..3)]) - | q52 : int(1..2)]) - | q50 : int(1..2)]), - and([or([and([q66 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q64] -> - or([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q62, q68] /\ - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q62, q68] = - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q64, q66] - | q68 : int(1..3)]) - | q66 : int(1..3)]) - /\ - and([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q62, q70] -> - or([q72 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q64] /\ - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q64, q72] = - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q62, q70] - | q72 : int(1..3)]) - | q70 : int(1..3)]) - | q64 : int(1..2)]) - | q62 : int(1..2)]), - and([or([and([x_ExplicitR6_ExplicitVarSizeWithDummy[q76, q78] != 3 -> - or([q80 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q74] /\ - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q74, q80] = - x_ExplicitR6_ExplicitVarSizeWithDummy[q76, q78] - | q80 : int(1..3)]) - | q78 : int(1..3)]) - /\ - and([q82 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q74] -> - or([x_ExplicitR6_ExplicitVarSizeWithDummy[q76, q84] != 3 /\ - x_ExplicitR6_ExplicitVarSizeWithDummy[q76, q84] = - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q74, q82] - | q84 : int(1..3)]) - | q82 : int(1..3)]) - | q76 : int(1..2)]) - | q74 : int(1..2)]), - and([or([and([q90 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q88] -> - or([x_ExplicitR6_ExplicitVarSizeWithDummy[q86, q92] != 3 /\ - x_ExplicitR6_ExplicitVarSizeWithDummy[q86, q92] = - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q88, q90] - | q92 : int(1..3)]) - | q90 : int(1..3)]) - /\ - and([x_ExplicitR6_ExplicitVarSizeWithDummy[q86, q94] != 3 -> - or([q96 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q88] /\ - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q88, q96] = - x_ExplicitR6_ExplicitVarSizeWithDummy[q86, q94] - | q96 : int(1..3)]) - | q94 : int(1..3)]) - | q88 : int(1..2)]) - | q86 : int(1..2)]) - diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_4_3_1-solution000001.solution b/tests/exhaustive/basic/setOfSet04/expected/model_4_3_1-solution000001.solution new file mode 100644 index 0000000000..c8946f3d06 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_4_3_1-solution000001.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{}, {2}} +$ Visualisation for x +$ +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_4_3_1-solution000002.solution b/tests/exhaustive/basic/setOfSet04/expected/model_4_3_1-solution000002.solution new file mode 100644 index 0000000000..3ec452354e --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_4_3_1-solution000002.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{}, {1}} +$ Visualisation for x +$ +$ 1 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_4_3_1-solution000003.solution b/tests/exhaustive/basic/setOfSet04/expected/model_4_3_1-solution000003.solution new file mode 100644 index 0000000000..af16592c51 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_4_3_1-solution000003.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{1}, {2}} +$ Visualisation for x +$ 1 +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_4_3_1-solution000004.solution b/tests/exhaustive/basic/setOfSet04/expected/model_4_3_1-solution000004.solution new file mode 100644 index 0000000000..a6c0b6a43e --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_4_3_1-solution000004.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{}, {1, 2}} +$ Visualisation for x +$ +$ 1 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_4_3_1-solution000005.solution b/tests/exhaustive/basic/setOfSet04/expected/model_4_3_1-solution000005.solution new file mode 100644 index 0000000000..9bf2af0712 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_4_3_1-solution000005.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{1, 2}, {2}} +$ Visualisation for x +$ 1 2 +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_4_3_1-solution000006.solution b/tests/exhaustive/basic/setOfSet04/expected/model_4_3_1-solution000006.solution new file mode 100644 index 0000000000..38937c9389 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_4_3_1-solution000006.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{1}, {1, 2}} +$ Visualisation for x +$ 1 +$ 1 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_4_3_1.eprime.orig b/tests/exhaustive/basic/setOfSet04/expected/model_4_3_1.eprime.orig deleted file mode 100644 index 31077f8cdf..0000000000 --- a/tests/exhaustive/basic/setOfSet04/expected/model_4_3_1.eprime.orig +++ /dev/null @@ -1,129 +0,0 @@ -language ESSENCE' 1.0 - -find x_ExplicitR4_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..2), int(1..3)] of bool -find x_ExplicitR4_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..2), int(1..3)] of int(1..2) -find x_ExplicitR5_ExplicitVarSizeWithMarker_Marker: matrix indexed by [int(1..2)] of int(0..3) -find x_ExplicitR5_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..2), int(1..3)] of int(1..2) -find x_ExplicitR2_Occurrence: matrix indexed by [int(1..2), int(1..2)] of bool -branching on - [x_ExplicitR2_Occurrence, x_ExplicitR4_ExplicitVarSizeWithFlags_Flags, x_ExplicitR4_ExplicitVarSizeWithFlags_Values, - x_ExplicitR5_ExplicitVarSizeWithMarker_Marker, x_ExplicitR5_ExplicitVarSizeWithMarker_Values] -such that - flatten([flatten([[-toInt(x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[1, q8]); int(1)], - [x_ExplicitR4_ExplicitVarSizeWithFlags_Values[1, q8]; int(1)]; - int(1..2)]) - | q8 : int(1..3)]) - - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q2, q3] < - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q2, q3 + 1] - | q3 : int(1..2)]) - | q2 : int(1..2)]), - and([and([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q2, q4] = false -> - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q2, q4] = 1 - | q4 : int(1..3)]) - | q2 : int(1..2)]), - and([and([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q2, q5 + 1] -> - x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q2, q5] - | q5 : int(1..2)]) - | q2 : int(1..2)]), - and([sum([toInt(x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q2, q6]) | q6 : int(1..3)]) <= 3 | q2 : int(1..2)]), - flatten([[x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[1]; int(1)], - [x_ExplicitR5_ExplicitVarSizeWithMarker_Values[1, q15] | q15 : int(1..3)]; - int(1..2)]) - - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q11, q12] < - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q11, q12 + 1] - | q12 : int(1..2)]) - | q11 : int(1..2)]), - and([and([q13 > x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q11] -> - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q11, q13] = 1 - | q13 : int(1..3)]) - | q11 : int(1..2)]), - and([x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q11] <= 3 | q11 : int(1..2)]), - and([or([and([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q20, q22] -> - or([q24 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q18] /\ - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q18, q24] = - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q20, q22] - | q24 : int(1..3)]) - | q22 : int(1..3)]) - /\ - and([q26 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q18] -> - or([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q20, q28] /\ - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q20, q28] = - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q18, q26] - | q28 : int(1..3)]) - | q26 : int(1..3)]) - | q20 : int(1..2)]) - | q18 : int(1..2)]), - and([or([and([q34 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q32] -> - or([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q30, q36] /\ - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q30, q36] = - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q32, q34] - | q36 : int(1..3)]) - | q34 : int(1..3)]) - /\ - and([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q30, q38] -> - or([q40 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q32] /\ - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q32, q40] = - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q30, q38] - | q40 : int(1..3)]) - | q38 : int(1..3)]) - | q32 : int(1..2)]) - | q30 : int(1..2)]), - [-toInt(x_ExplicitR2_Occurrence[1, q44]) | q44 : int(1..2)] - x_ExplicitR2_Occurrence[q47, x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q49, q51]] - | q51 : int(1..3)]) - /\ - and([x_ExplicitR2_Occurrence[q47, q52] -> - or([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q49, q54] /\ - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q49, q54] = q52 - | q54 : int(1..3)]) - | q52 : int(1..2)]) - | q49 : int(1..2)]) - | q47 : int(1..2)]), - and([or([and([x_ExplicitR2_Occurrence[q58, q59] -> - or([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q56, q61] /\ - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q56, q61] = q59 - | q61 : int(1..3)]) - | q59 : int(1..2)]) - /\ - and([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q56, q63] -> - x_ExplicitR2_Occurrence[q58, x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q56, q63]] - | q63 : int(1..3)]) - | q58 : int(1..2)]) - | q56 : int(1..2)]), - and([or([and([q69 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q67] -> - x_ExplicitR2_Occurrence[q65, x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q67, q69]] - | q69 : int(1..3)]) - /\ - and([x_ExplicitR2_Occurrence[q65, q70] -> - or([q72 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q67] /\ - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q67, q72] = q70 - | q72 : int(1..3)]) - | q70 : int(1..2)]) - | q67 : int(1..2)]) - | q65 : int(1..2)]), - and([or([and([x_ExplicitR2_Occurrence[q76, q77] -> - or([q79 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q74] /\ - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q74, q79] = q77 - | q79 : int(1..3)]) - | q77 : int(1..2)]) - /\ - and([q81 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q74] -> - x_ExplicitR2_Occurrence[q76, x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q74, q81]] - | q81 : int(1..3)]) - | q76 : int(1..2)]) - | q74 : int(1..2)]) - diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_4_3_2-solution000001.solution b/tests/exhaustive/basic/setOfSet04/expected/model_4_3_2-solution000001.solution new file mode 100644 index 0000000000..38937c9389 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_4_3_2-solution000001.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{1}, {1, 2}} +$ Visualisation for x +$ 1 +$ 1 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_4_3_2-solution000002.solution b/tests/exhaustive/basic/setOfSet04/expected/model_4_3_2-solution000002.solution new file mode 100644 index 0000000000..9bf2af0712 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_4_3_2-solution000002.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{1, 2}, {2}} +$ Visualisation for x +$ 1 2 +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_4_3_2-solution000003.solution b/tests/exhaustive/basic/setOfSet04/expected/model_4_3_2-solution000003.solution new file mode 100644 index 0000000000..a6c0b6a43e --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_4_3_2-solution000003.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{}, {1, 2}} +$ Visualisation for x +$ +$ 1 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_4_3_2-solution000004.solution b/tests/exhaustive/basic/setOfSet04/expected/model_4_3_2-solution000004.solution new file mode 100644 index 0000000000..af16592c51 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_4_3_2-solution000004.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{1}, {2}} +$ Visualisation for x +$ 1 +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_4_3_2-solution000005.solution b/tests/exhaustive/basic/setOfSet04/expected/model_4_3_2-solution000005.solution new file mode 100644 index 0000000000..3ec452354e --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_4_3_2-solution000005.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{}, {1}} +$ Visualisation for x +$ +$ 1 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_4_3_2-solution000006.solution b/tests/exhaustive/basic/setOfSet04/expected/model_4_3_2-solution000006.solution new file mode 100644 index 0000000000..c8946f3d06 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_4_3_2-solution000006.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{}, {2}} +$ Visualisation for x +$ +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_4_3_2.eprime.orig b/tests/exhaustive/basic/setOfSet04/expected/model_4_3_2.eprime.orig deleted file mode 100644 index 3fdde0c3fc..0000000000 --- a/tests/exhaustive/basic/setOfSet04/expected/model_4_3_2.eprime.orig +++ /dev/null @@ -1,154 +0,0 @@ -language ESSENCE' 1.0 - -find x_ExplicitR4_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..2), int(1..3)] of bool -find x_ExplicitR4_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..2), int(1..3)] of int(1..2) -find x_ExplicitR5_ExplicitVarSizeWithMarker_Marker: matrix indexed by [int(1..2)] of int(0..3) -find x_ExplicitR5_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..2), int(1..3)] of int(1..2) -find x_ExplicitR6_ExplicitVarSizeWithDummy: matrix indexed by [int(1..2), int(1..3)] of int(1..3) -branching on - [x_ExplicitR6_ExplicitVarSizeWithDummy, x_ExplicitR4_ExplicitVarSizeWithFlags_Flags, - x_ExplicitR4_ExplicitVarSizeWithFlags_Values, x_ExplicitR5_ExplicitVarSizeWithMarker_Marker, - x_ExplicitR5_ExplicitVarSizeWithMarker_Values] -such that - flatten([flatten([[-toInt(x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[1, q8]); int(1)], - [x_ExplicitR4_ExplicitVarSizeWithFlags_Values[1, q8]; int(1)]; - int(1..2)]) - | q8 : int(1..3)]) - - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q2, q3] < - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q2, q3 + 1] - | q3 : int(1..2)]) - | q2 : int(1..2)]), - and([and([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q2, q4] = false -> - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q2, q4] = 1 - | q4 : int(1..3)]) - | q2 : int(1..2)]), - and([and([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q2, q5 + 1] -> - x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q2, q5] - | q5 : int(1..2)]) - | q2 : int(1..2)]), - and([sum([toInt(x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q2, q6]) | q6 : int(1..3)]) <= 3 | q2 : int(1..2)]), - flatten([[x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[1]; int(1)], - [x_ExplicitR5_ExplicitVarSizeWithMarker_Values[1, q15] | q15 : int(1..3)]; - int(1..2)]) - - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q11, q12] < - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q11, q12 + 1] - | q12 : int(1..2)]) - | q11 : int(1..2)]), - and([and([q13 > x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q11] -> - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q11, q13] = 1 - | q13 : int(1..3)]) - | q11 : int(1..2)]), - and([x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q11] <= 3 | q11 : int(1..2)]), - and([or([and([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q20, q22] -> - or([q24 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q18] /\ - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q18, q24] = - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q20, q22] - | q24 : int(1..3)]) - | q22 : int(1..3)]) - /\ - and([q26 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q18] -> - or([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q20, q28] /\ - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q20, q28] = - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q18, q26] - | q28 : int(1..3)]) - | q26 : int(1..3)]) - | q20 : int(1..2)]) - | q18 : int(1..2)]), - and([or([and([q34 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q32] -> - or([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q30, q36] /\ - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q30, q36] = - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q32, q34] - | q36 : int(1..3)]) - | q34 : int(1..3)]) - /\ - and([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q30, q38] -> - or([q40 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q32] /\ - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q32, q40] = - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q30, q38] - | q40 : int(1..3)]) - | q38 : int(1..3)]) - | q32 : int(1..2)]) - | q30 : int(1..2)]), - [x_ExplicitR6_ExplicitVarSizeWithDummy[1, q47] | q47 : int(1..3)] - x_ExplicitR6_ExplicitVarSizeWithDummy[q42, q44 + 1] = 3 - | q44 : int(1..2)]) - | q42 : int(1..2)]), - and([sum([toInt(x_ExplicitR6_ExplicitVarSizeWithDummy[q42, q45] != 3) | q45 : int(1..3)]) <= 3 | q42 : int(1..2)]), - and([or([and([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q52, q54] -> - or([x_ExplicitR6_ExplicitVarSizeWithDummy[q50, q56] != 3 /\ - x_ExplicitR6_ExplicitVarSizeWithDummy[q50, q56] = - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q52, q54] - | q56 : int(1..3)]) - | q54 : int(1..3)]) - /\ - and([x_ExplicitR6_ExplicitVarSizeWithDummy[q50, q58] != 3 -> - or([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q52, q60] /\ - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q52, q60] = - x_ExplicitR6_ExplicitVarSizeWithDummy[q50, q58] - | q60 : int(1..3)]) - | q58 : int(1..3)]) - | q52 : int(1..2)]) - | q50 : int(1..2)]), - and([or([and([x_ExplicitR6_ExplicitVarSizeWithDummy[q64, q66] != 3 -> - or([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q62, q68] /\ - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q62, q68] = - x_ExplicitR6_ExplicitVarSizeWithDummy[q64, q66] - | q68 : int(1..3)]) - | q66 : int(1..3)]) - /\ - and([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q62, q70] -> - or([x_ExplicitR6_ExplicitVarSizeWithDummy[q64, q72] != 3 /\ - x_ExplicitR6_ExplicitVarSizeWithDummy[q64, q72] = - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q62, q70] - | q72 : int(1..3)]) - | q70 : int(1..3)]) - | q64 : int(1..2)]) - | q62 : int(1..2)]), - and([or([and([q78 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q76] -> - or([x_ExplicitR6_ExplicitVarSizeWithDummy[q74, q80] != 3 /\ - x_ExplicitR6_ExplicitVarSizeWithDummy[q74, q80] = - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q76, q78] - | q80 : int(1..3)]) - | q78 : int(1..3)]) - /\ - and([x_ExplicitR6_ExplicitVarSizeWithDummy[q74, q82] != 3 -> - or([q84 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q76] /\ - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q76, q84] = - x_ExplicitR6_ExplicitVarSizeWithDummy[q74, q82] - | q84 : int(1..3)]) - | q82 : int(1..3)]) - | q76 : int(1..2)]) - | q74 : int(1..2)]), - and([or([and([x_ExplicitR6_ExplicitVarSizeWithDummy[q88, q90] != 3 -> - or([q92 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q86] /\ - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q86, q92] = - x_ExplicitR6_ExplicitVarSizeWithDummy[q88, q90] - | q92 : int(1..3)]) - | q90 : int(1..3)]) - /\ - and([q94 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q86] -> - or([x_ExplicitR6_ExplicitVarSizeWithDummy[q88, q96] != 3 /\ - x_ExplicitR6_ExplicitVarSizeWithDummy[q88, q96] = - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q86, q94] - | q96 : int(1..3)]) - | q94 : int(1..3)]) - | q88 : int(1..2)]) - | q86 : int(1..2)]) - diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_4_3_3-solution000001.solution b/tests/exhaustive/basic/setOfSet04/expected/model_4_3_3-solution000001.solution new file mode 100644 index 0000000000..3ec452354e --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_4_3_3-solution000001.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{}, {1}} +$ Visualisation for x +$ +$ 1 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_4_3_3-solution000002.solution b/tests/exhaustive/basic/setOfSet04/expected/model_4_3_3-solution000002.solution new file mode 100644 index 0000000000..c8946f3d06 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_4_3_3-solution000002.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{}, {2}} +$ Visualisation for x +$ +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_4_3_3-solution000003.solution b/tests/exhaustive/basic/setOfSet04/expected/model_4_3_3-solution000003.solution new file mode 100644 index 0000000000..a6c0b6a43e --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_4_3_3-solution000003.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{}, {1, 2}} +$ Visualisation for x +$ +$ 1 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_4_3_3-solution000004.solution b/tests/exhaustive/basic/setOfSet04/expected/model_4_3_3-solution000004.solution new file mode 100644 index 0000000000..af16592c51 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_4_3_3-solution000004.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{1}, {2}} +$ Visualisation for x +$ 1 +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_4_3_3-solution000005.solution b/tests/exhaustive/basic/setOfSet04/expected/model_4_3_3-solution000005.solution new file mode 100644 index 0000000000..38937c9389 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_4_3_3-solution000005.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{1}, {1, 2}} +$ Visualisation for x +$ 1 +$ 1 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_4_3_3-solution000006.solution b/tests/exhaustive/basic/setOfSet04/expected/model_4_3_3-solution000006.solution new file mode 100644 index 0000000000..9bf2af0712 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_4_3_3-solution000006.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{1, 2}, {2}} +$ Visualisation for x +$ 1 2 +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_4_3_3.eprime.orig b/tests/exhaustive/basic/setOfSet04/expected/model_4_3_3.eprime.orig deleted file mode 100644 index 2987d02ac0..0000000000 --- a/tests/exhaustive/basic/setOfSet04/expected/model_4_3_3.eprime.orig +++ /dev/null @@ -1,81 +0,0 @@ -language ESSENCE' 1.0 - -find x_ExplicitR4_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..2), int(1..3)] of bool -find x_ExplicitR4_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..2), int(1..3)] of int(1..2) -find x_ExplicitR5_ExplicitVarSizeWithMarker_Marker: matrix indexed by [int(1..2)] of int(0..3) -find x_ExplicitR5_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..2), int(1..3)] of int(1..2) -branching on - [x_ExplicitR5_ExplicitVarSizeWithMarker_Marker, x_ExplicitR5_ExplicitVarSizeWithMarker_Values, - x_ExplicitR4_ExplicitVarSizeWithFlags_Flags, x_ExplicitR4_ExplicitVarSizeWithFlags_Values] -such that - flatten([flatten([[-toInt(x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[1, q8]); int(1)], - [x_ExplicitR4_ExplicitVarSizeWithFlags_Values[1, q8]; int(1)]; - int(1..2)]) - | q8 : int(1..3)]) - - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q2, q3] < - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q2, q3 + 1] - | q3 : int(1..2)]) - | q2 : int(1..2)]), - and([and([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q2, q4] = false -> - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q2, q4] = 1 - | q4 : int(1..3)]) - | q2 : int(1..2)]), - and([and([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q2, q5 + 1] -> - x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q2, q5] - | q5 : int(1..2)]) - | q2 : int(1..2)]), - and([sum([toInt(x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q2, q6]) | q6 : int(1..3)]) <= 3 | q2 : int(1..2)]), - flatten([[x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[1]; int(1)], - [x_ExplicitR5_ExplicitVarSizeWithMarker_Values[1, q15] | q15 : int(1..3)]; - int(1..2)]) - - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q11, q12] < - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q11, q12 + 1] - | q12 : int(1..2)]) - | q11 : int(1..2)]), - and([and([q13 > x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q11] -> - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q11, q13] = 1 - | q13 : int(1..3)]) - | q11 : int(1..2)]), - and([x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q11] <= 3 | q11 : int(1..2)]), - and([or([and([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q20, q22] -> - or([q24 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q18] /\ - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q18, q24] = - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q20, q22] - | q24 : int(1..3)]) - | q22 : int(1..3)]) - /\ - and([q26 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q18] -> - or([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q20, q28] /\ - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q20, q28] = - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q18, q26] - | q28 : int(1..3)]) - | q26 : int(1..3)]) - | q20 : int(1..2)]) - | q18 : int(1..2)]), - and([or([and([q34 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q32] -> - or([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q30, q36] /\ - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q30, q36] = - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q32, q34] - | q36 : int(1..3)]) - | q34 : int(1..3)]) - /\ - and([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q30, q38] -> - or([q40 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q32] /\ - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q32, q40] = - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q30, q38] - | q40 : int(1..3)]) - | q38 : int(1..3)]) - | q32 : int(1..2)]) - | q30 : int(1..2)]) - diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_4_3_4.eprime.orig b/tests/exhaustive/basic/setOfSet04/expected/model_4_3_4.eprime.orig deleted file mode 100644 index 2987d02ac0..0000000000 --- a/tests/exhaustive/basic/setOfSet04/expected/model_4_3_4.eprime.orig +++ /dev/null @@ -1,81 +0,0 @@ -language ESSENCE' 1.0 - -find x_ExplicitR4_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..2), int(1..3)] of bool -find x_ExplicitR4_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..2), int(1..3)] of int(1..2) -find x_ExplicitR5_ExplicitVarSizeWithMarker_Marker: matrix indexed by [int(1..2)] of int(0..3) -find x_ExplicitR5_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..2), int(1..3)] of int(1..2) -branching on - [x_ExplicitR5_ExplicitVarSizeWithMarker_Marker, x_ExplicitR5_ExplicitVarSizeWithMarker_Values, - x_ExplicitR4_ExplicitVarSizeWithFlags_Flags, x_ExplicitR4_ExplicitVarSizeWithFlags_Values] -such that - flatten([flatten([[-toInt(x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[1, q8]); int(1)], - [x_ExplicitR4_ExplicitVarSizeWithFlags_Values[1, q8]; int(1)]; - int(1..2)]) - | q8 : int(1..3)]) - - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q2, q3] < - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q2, q3 + 1] - | q3 : int(1..2)]) - | q2 : int(1..2)]), - and([and([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q2, q4] = false -> - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q2, q4] = 1 - | q4 : int(1..3)]) - | q2 : int(1..2)]), - and([and([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q2, q5 + 1] -> - x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q2, q5] - | q5 : int(1..2)]) - | q2 : int(1..2)]), - and([sum([toInt(x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q2, q6]) | q6 : int(1..3)]) <= 3 | q2 : int(1..2)]), - flatten([[x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[1]; int(1)], - [x_ExplicitR5_ExplicitVarSizeWithMarker_Values[1, q15] | q15 : int(1..3)]; - int(1..2)]) - - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q11, q12] < - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q11, q12 + 1] - | q12 : int(1..2)]) - | q11 : int(1..2)]), - and([and([q13 > x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q11] -> - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q11, q13] = 1 - | q13 : int(1..3)]) - | q11 : int(1..2)]), - and([x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q11] <= 3 | q11 : int(1..2)]), - and([or([and([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q20, q22] -> - or([q24 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q18] /\ - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q18, q24] = - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q20, q22] - | q24 : int(1..3)]) - | q22 : int(1..3)]) - /\ - and([q26 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q18] -> - or([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q20, q28] /\ - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q20, q28] = - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q18, q26] - | q28 : int(1..3)]) - | q26 : int(1..3)]) - | q20 : int(1..2)]) - | q18 : int(1..2)]), - and([or([and([q34 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q32] -> - or([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q30, q36] /\ - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q30, q36] = - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q32, q34] - | q36 : int(1..3)]) - | q34 : int(1..3)]) - /\ - and([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q30, q38] -> - or([q40 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q32] /\ - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q32, q40] = - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q30, q38] - | q40 : int(1..3)]) - | q38 : int(1..3)]) - | q32 : int(1..2)]) - | q30 : int(1..2)]) - diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_4_4_3.eprime.orig b/tests/exhaustive/basic/setOfSet04/expected/model_4_4_3.eprime.orig deleted file mode 100644 index 2987d02ac0..0000000000 --- a/tests/exhaustive/basic/setOfSet04/expected/model_4_4_3.eprime.orig +++ /dev/null @@ -1,81 +0,0 @@ -language ESSENCE' 1.0 - -find x_ExplicitR4_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..2), int(1..3)] of bool -find x_ExplicitR4_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..2), int(1..3)] of int(1..2) -find x_ExplicitR5_ExplicitVarSizeWithMarker_Marker: matrix indexed by [int(1..2)] of int(0..3) -find x_ExplicitR5_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..2), int(1..3)] of int(1..2) -branching on - [x_ExplicitR5_ExplicitVarSizeWithMarker_Marker, x_ExplicitR5_ExplicitVarSizeWithMarker_Values, - x_ExplicitR4_ExplicitVarSizeWithFlags_Flags, x_ExplicitR4_ExplicitVarSizeWithFlags_Values] -such that - flatten([flatten([[-toInt(x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[1, q8]); int(1)], - [x_ExplicitR4_ExplicitVarSizeWithFlags_Values[1, q8]; int(1)]; - int(1..2)]) - | q8 : int(1..3)]) - - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q2, q3] < - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q2, q3 + 1] - | q3 : int(1..2)]) - | q2 : int(1..2)]), - and([and([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q2, q4] = false -> - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q2, q4] = 1 - | q4 : int(1..3)]) - | q2 : int(1..2)]), - and([and([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q2, q5 + 1] -> - x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q2, q5] - | q5 : int(1..2)]) - | q2 : int(1..2)]), - and([sum([toInt(x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q2, q6]) | q6 : int(1..3)]) <= 3 | q2 : int(1..2)]), - flatten([[x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[1]; int(1)], - [x_ExplicitR5_ExplicitVarSizeWithMarker_Values[1, q15] | q15 : int(1..3)]; - int(1..2)]) - - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q11, q12] < - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q11, q12 + 1] - | q12 : int(1..2)]) - | q11 : int(1..2)]), - and([and([q13 > x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q11] -> - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q11, q13] = 1 - | q13 : int(1..3)]) - | q11 : int(1..2)]), - and([x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q11] <= 3 | q11 : int(1..2)]), - and([or([and([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q20, q22] -> - or([q24 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q18] /\ - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q18, q24] = - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q20, q22] - | q24 : int(1..3)]) - | q22 : int(1..3)]) - /\ - and([q26 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q18] -> - or([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q20, q28] /\ - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q20, q28] = - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q18, q26] - | q28 : int(1..3)]) - | q26 : int(1..3)]) - | q20 : int(1..2)]) - | q18 : int(1..2)]), - and([or([and([q34 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q32] -> - or([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q30, q36] /\ - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q30, q36] = - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q32, q34] - | q36 : int(1..3)]) - | q34 : int(1..3)]) - /\ - and([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q30, q38] -> - or([q40 <= x_ExplicitR5_ExplicitVarSizeWithMarker_Marker[q32] /\ - x_ExplicitR5_ExplicitVarSizeWithMarker_Values[q32, q40] = - x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q30, q38] - | q40 : int(1..3)]) - | q38 : int(1..3)]) - | q32 : int(1..2)]) - | q30 : int(1..2)]) - diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_4_4_4-solution000001.solution b/tests/exhaustive/basic/setOfSet04/expected/model_4_4_4-solution000001.solution new file mode 100644 index 0000000000..3ec452354e --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_4_4_4-solution000001.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{}, {1}} +$ Visualisation for x +$ +$ 1 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_4_4_4-solution000002.solution b/tests/exhaustive/basic/setOfSet04/expected/model_4_4_4-solution000002.solution new file mode 100644 index 0000000000..c8946f3d06 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_4_4_4-solution000002.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{}, {2}} +$ Visualisation for x +$ +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_4_4_4-solution000003.solution b/tests/exhaustive/basic/setOfSet04/expected/model_4_4_4-solution000003.solution new file mode 100644 index 0000000000..af16592c51 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_4_4_4-solution000003.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{1}, {2}} +$ Visualisation for x +$ 1 +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_4_4_4-solution000004.solution b/tests/exhaustive/basic/setOfSet04/expected/model_4_4_4-solution000004.solution new file mode 100644 index 0000000000..a6c0b6a43e --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_4_4_4-solution000004.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{}, {1, 2}} +$ Visualisation for x +$ +$ 1 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_4_4_4-solution000005.solution b/tests/exhaustive/basic/setOfSet04/expected/model_4_4_4-solution000005.solution new file mode 100644 index 0000000000..38937c9389 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_4_4_4-solution000005.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{1}, {1, 2}} +$ Visualisation for x +$ 1 +$ 1 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_4_4_4-solution000006.solution b/tests/exhaustive/basic/setOfSet04/expected/model_4_4_4-solution000006.solution new file mode 100644 index 0000000000..9bf2af0712 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_4_4_4-solution000006.solution @@ -0,0 +1,7 @@ +language Essence 1.3 + +letting x be {{1, 2}, {2}} +$ Visualisation for x +$ 1 2 +$ 2 + diff --git a/tests/exhaustive/basic/setOfSet04/expected/model_4_4_4.eprime b/tests/exhaustive/basic/setOfSet04/expected/model_4_4_4.eprime new file mode 100644 index 0000000000..5fc6546276 --- /dev/null +++ b/tests/exhaustive/basic/setOfSet04/expected/model_4_4_4.eprime @@ -0,0 +1,30 @@ +language ESSENCE' 1.0 + +find x_ExplicitR4_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..2), int(1..3)] of bool +find x_ExplicitR4_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..2), int(1..3)] of int(1..2) +branching on [x_ExplicitR4_ExplicitVarSizeWithFlags_Flags, x_ExplicitR4_ExplicitVarSizeWithFlags_Values] +such that + flatten([flatten([[-toInt(x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[1, q8]); int(1)], + [x_ExplicitR4_ExplicitVarSizeWithFlags_Values[1, q8]; int(1)]; + int(1..2)]) + | q8 : int(1..3)]) + + x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q2, q3] < + x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q2, q3 + 1] + | q3 : int(1..2)]) + | q2 : int(1..2)]), + and([and([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q2, q4] = false -> + x_ExplicitR4_ExplicitVarSizeWithFlags_Values[q2, q4] = 1 + | q4 : int(1..3)]) + | q2 : int(1..2)]), + and([and([x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q2, q5 + 1] -> + x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q2, q5] + | q5 : int(1..2)]) + | q2 : int(1..2)]), + and([sum([toInt(x_ExplicitR4_ExplicitVarSizeWithFlags_Flags[q2, q6]) | q6 : int(1..3)]) <= 3 | q2 : int(1..2)]) + diff --git a/tests/exhaustive/basic/set_card_00/expected/model_1_1_1-solution000001.solution b/tests/exhaustive/basic/set_card_00/expected/model_1_1_1-solution000001.solution new file mode 100644 index 0000000000..6c0d0fdad8 --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_1_1_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting s be {1} diff --git a/tests/exhaustive/basic/set_card_00/expected/model_1_1_1-solution000002.solution b/tests/exhaustive/basic/set_card_00/expected/model_1_1_1-solution000002.solution new file mode 100644 index 0000000000..2ce5f2081f --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_1_1_1-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting s be {1, 2} diff --git a/tests/exhaustive/basic/set_card_00/expected/model_1_1_1.eprime b/tests/exhaustive/basic/set_card_00/expected/model_1_1_1.eprime new file mode 100644 index 0000000000..8f7d21c6a2 --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_1_1_1.eprime @@ -0,0 +1,6 @@ +language ESSENCE' 1.0 + +find s_Occurrence: matrix indexed by [int(1..2)] of bool +branching on [s_Occurrence] +such that s_Occurrence[sum([toInt(s_Occurrence[q2]) | q2 : int(1..2)])] + diff --git a/tests/exhaustive/basic/set_card_00/expected/model_1_1_2-solution000001.solution b/tests/exhaustive/basic/set_card_00/expected/model_1_1_2-solution000001.solution new file mode 100644 index 0000000000..2ce5f2081f --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_1_1_2-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting s be {1, 2} diff --git a/tests/exhaustive/basic/set_card_00/expected/model_1_1_2-solution000002.solution b/tests/exhaustive/basic/set_card_00/expected/model_1_1_2-solution000002.solution new file mode 100644 index 0000000000..6c0d0fdad8 --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_1_1_2-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting s be {1} diff --git a/tests/exhaustive/basic/set_card_00/expected/model_1_1_2.eprime b/tests/exhaustive/basic/set_card_00/expected/model_1_1_2.eprime new file mode 100644 index 0000000000..854db40dcb --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_1_1_2.eprime @@ -0,0 +1,14 @@ +language ESSENCE' 1.0 + +find s_Occurrence: matrix indexed by [int(1..2)] of bool +find s_ExplicitVarSizeWithDummy: matrix indexed by [int(1..2)] of int(1..3) +branching on [s_ExplicitVarSizeWithDummy, s_Occurrence] +such that + s_Occurrence[sum([toInt(s_Occurrence[q11]) | q11 : int(1..2)])], + s_ExplicitVarSizeWithDummy[1] < s_ExplicitVarSizeWithDummy[2] \/ s_ExplicitVarSizeWithDummy[1] = 3, + s_ExplicitVarSizeWithDummy[1] = 3 -> s_ExplicitVarSizeWithDummy[2] = 3, + and([s_ExplicitVarSizeWithDummy[q7] != 3 -> s_Occurrence[s_ExplicitVarSizeWithDummy[q7]] | q7 : int(1..2)]), + and([s_Occurrence[q8] -> + or([s_ExplicitVarSizeWithDummy[q10] != 3 /\ s_ExplicitVarSizeWithDummy[q10] = q8 | q10 : int(1..2)]) + | q8 : int(1..2)]) + diff --git a/tests/exhaustive/basic/set_card_00/expected/model_1_1_3-solution000001.solution b/tests/exhaustive/basic/set_card_00/expected/model_1_1_3-solution000001.solution new file mode 100644 index 0000000000..6c0d0fdad8 --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_1_1_3-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting s be {1} diff --git a/tests/exhaustive/basic/set_card_00/expected/model_1_1_3-solution000002.solution b/tests/exhaustive/basic/set_card_00/expected/model_1_1_3-solution000002.solution new file mode 100644 index 0000000000..2ce5f2081f --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_1_1_3-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting s be {1, 2} diff --git a/tests/exhaustive/basic/set_card_00/expected/model_1_1_3.eprime b/tests/exhaustive/basic/set_card_00/expected/model_1_1_3.eprime new file mode 100644 index 0000000000..85f5801f04 --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_1_1_3.eprime @@ -0,0 +1,17 @@ +language ESSENCE' 1.0 + +find s_Occurrence: matrix indexed by [int(1..2)] of bool +find s_ExplicitVarSizeWithMarker_Marker: int(0..2) +find s_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..2)] of int(1..2) +branching on [s_ExplicitVarSizeWithMarker_Marker, s_ExplicitVarSizeWithMarker_Values, s_Occurrence] +such that + s_Occurrence[sum([toInt(s_Occurrence[q10]) | q10 : int(1..2)])], + 2 <= s_ExplicitVarSizeWithMarker_Marker -> + s_ExplicitVarSizeWithMarker_Values[1] < s_ExplicitVarSizeWithMarker_Values[2], + and([q3 > s_ExplicitVarSizeWithMarker_Marker -> s_ExplicitVarSizeWithMarker_Values[q3] = 1 | q3 : int(1..2)]), + and([q6 <= s_ExplicitVarSizeWithMarker_Marker -> s_Occurrence[s_ExplicitVarSizeWithMarker_Values[q6]] + | q6 : int(1..2)]), + and([s_Occurrence[q7] -> + or([q9 <= s_ExplicitVarSizeWithMarker_Marker /\ s_ExplicitVarSizeWithMarker_Values[q9] = q7 | q9 : int(1..2)]) + | q7 : int(1..2)]) + diff --git a/tests/exhaustive/basic/set_card_00/expected/model_1_1_4-solution000001.solution b/tests/exhaustive/basic/set_card_00/expected/model_1_1_4-solution000001.solution new file mode 100644 index 0000000000..6c0d0fdad8 --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_1_1_4-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting s be {1} diff --git a/tests/exhaustive/basic/set_card_00/expected/model_1_1_4-solution000002.solution b/tests/exhaustive/basic/set_card_00/expected/model_1_1_4-solution000002.solution new file mode 100644 index 0000000000..2ce5f2081f --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_1_1_4-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting s be {1, 2} diff --git a/tests/exhaustive/basic/set_card_00/expected/model_1_1_4.eprime b/tests/exhaustive/basic/set_card_00/expected/model_1_1_4.eprime new file mode 100644 index 0000000000..3dd8d91baa --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_1_1_4.eprime @@ -0,0 +1,16 @@ +language ESSENCE' 1.0 + +find s_Occurrence: matrix indexed by [int(1..2)] of bool +find s_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..2)] of bool +find s_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..2)] of int(1..2) +branching on [s_ExplicitVarSizeWithFlags_Flags, s_ExplicitVarSizeWithFlags_Values, s_Occurrence] +such that + s_Occurrence[sum([toInt(s_Occurrence[q12]) | q12 : int(1..2)])], + s_ExplicitVarSizeWithFlags_Flags[2] -> s_ExplicitVarSizeWithFlags_Values[1] < s_ExplicitVarSizeWithFlags_Values[2], + and([s_ExplicitVarSizeWithFlags_Flags[q3] = false -> s_ExplicitVarSizeWithFlags_Values[q3] = 1 | q3 : int(1..2)]), + s_ExplicitVarSizeWithFlags_Flags[2] -> s_ExplicitVarSizeWithFlags_Flags[1], + and([s_ExplicitVarSizeWithFlags_Flags[q8] -> s_Occurrence[s_ExplicitVarSizeWithFlags_Values[q8]] | q8 : int(1..2)]), + and([s_Occurrence[q9] -> + or([s_ExplicitVarSizeWithFlags_Flags[q11] /\ s_ExplicitVarSizeWithFlags_Values[q11] = q9 | q11 : int(1..2)]) + | q9 : int(1..2)]) + diff --git a/tests/exhaustive/basic/set_card_00/expected/model_1_2_1-solution000001.solution b/tests/exhaustive/basic/set_card_00/expected/model_1_2_1-solution000001.solution new file mode 100644 index 0000000000..2ce5f2081f --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_1_2_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting s be {1, 2} diff --git a/tests/exhaustive/basic/set_card_00/expected/model_1_2_1-solution000002.solution b/tests/exhaustive/basic/set_card_00/expected/model_1_2_1-solution000002.solution new file mode 100644 index 0000000000..6c0d0fdad8 --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_1_2_1-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting s be {1} diff --git a/tests/exhaustive/basic/set_card_00/expected/model_1_2_1.eprime b/tests/exhaustive/basic/set_card_00/expected/model_1_2_1.eprime new file mode 100644 index 0000000000..ed16639077 --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_1_2_1.eprime @@ -0,0 +1,16 @@ +language ESSENCE' 1.0 + +find s_Occurrence: matrix indexed by [int(1..2)] of bool +find s_ExplicitVarSizeWithDummy: matrix indexed by [int(1..2)] of int(1..3) +branching on [s_ExplicitVarSizeWithDummy, s_Occurrence] +such that + or([s_ExplicitVarSizeWithDummy[q12] != 3 /\ + s_ExplicitVarSizeWithDummy[q12] = sum([toInt(s_Occurrence[q13]) | q13 : int(1..2)]) + | q12 : int(1..2)]), + s_ExplicitVarSizeWithDummy[1] < s_ExplicitVarSizeWithDummy[2] \/ s_ExplicitVarSizeWithDummy[1] = 3, + s_ExplicitVarSizeWithDummy[1] = 3 -> s_ExplicitVarSizeWithDummy[2] = 3, + and([s_ExplicitVarSizeWithDummy[q7] != 3 -> s_Occurrence[s_ExplicitVarSizeWithDummy[q7]] | q7 : int(1..2)]), + and([s_Occurrence[q8] -> + or([s_ExplicitVarSizeWithDummy[q10] != 3 /\ s_ExplicitVarSizeWithDummy[q10] = q8 | q10 : int(1..2)]) + | q8 : int(1..2)]) + diff --git a/tests/exhaustive/basic/set_card_00/expected/model_1_2_3-solution000001.solution b/tests/exhaustive/basic/set_card_00/expected/model_1_2_3-solution000001.solution new file mode 100644 index 0000000000..6c0d0fdad8 --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_1_2_3-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting s be {1} diff --git a/tests/exhaustive/basic/set_card_00/expected/model_1_2_3-solution000002.solution b/tests/exhaustive/basic/set_card_00/expected/model_1_2_3-solution000002.solution new file mode 100644 index 0000000000..2ce5f2081f --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_1_2_3-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting s be {1, 2} diff --git a/tests/exhaustive/basic/set_card_00/expected/model_1_2_3.eprime b/tests/exhaustive/basic/set_card_00/expected/model_1_2_3.eprime new file mode 100644 index 0000000000..aee5d0059e --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_1_2_3.eprime @@ -0,0 +1,38 @@ +language ESSENCE' 1.0 + +find s_Occurrence: matrix indexed by [int(1..2)] of bool +find s_ExplicitVarSizeWithDummy: matrix indexed by [int(1..2)] of int(1..3) +find s_ExplicitVarSizeWithMarker_Marker: int(0..2) +find s_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..2)] of int(1..2) +branching on + [s_ExplicitVarSizeWithMarker_Marker, s_ExplicitVarSizeWithMarker_Values, s_Occurrence, s_ExplicitVarSizeWithDummy] +such that + or([s_ExplicitVarSizeWithDummy[q28] != 3 /\ + s_ExplicitVarSizeWithDummy[q28] = sum([toInt(s_Occurrence[q29]) | q29 : int(1..2)]) + | q28 : int(1..2)]), + s_ExplicitVarSizeWithDummy[1] < s_ExplicitVarSizeWithDummy[2] \/ s_ExplicitVarSizeWithDummy[1] = 3, + s_ExplicitVarSizeWithDummy[1] = 3 -> s_ExplicitVarSizeWithDummy[2] = 3, + and([s_ExplicitVarSizeWithDummy[q7] != 3 -> s_Occurrence[s_ExplicitVarSizeWithDummy[q7]] | q7 : int(1..2)]), + and([s_Occurrence[q8] -> + or([s_ExplicitVarSizeWithDummy[q10] != 3 /\ s_ExplicitVarSizeWithDummy[q10] = q8 | q10 : int(1..2)]) + | q8 : int(1..2)]), + 2 <= s_ExplicitVarSizeWithMarker_Marker -> + s_ExplicitVarSizeWithMarker_Values[1] < s_ExplicitVarSizeWithMarker_Values[2], + and([q12 > s_ExplicitVarSizeWithMarker_Marker -> s_ExplicitVarSizeWithMarker_Values[q12] = 1 | q12 : int(1..2)]), + and([q15 <= s_ExplicitVarSizeWithMarker_Marker -> s_Occurrence[s_ExplicitVarSizeWithMarker_Values[q15]] + | q15 : int(1..2)]), + and([s_Occurrence[q16] -> + or([q18 <= s_ExplicitVarSizeWithMarker_Marker /\ s_ExplicitVarSizeWithMarker_Values[q18] = q16 + | q18 : int(1..2)]) + | q16 : int(1..2)]), + and([q20 <= s_ExplicitVarSizeWithMarker_Marker -> + or([s_ExplicitVarSizeWithDummy[q22] != 3 /\ + s_ExplicitVarSizeWithDummy[q22] = s_ExplicitVarSizeWithMarker_Values[q20] + | q22 : int(1..2)]) + | q20 : int(1..2)]), + and([s_ExplicitVarSizeWithDummy[q24] != 3 -> + or([q26 <= s_ExplicitVarSizeWithMarker_Marker /\ + s_ExplicitVarSizeWithMarker_Values[q26] = s_ExplicitVarSizeWithDummy[q24] + | q26 : int(1..2)]) + | q24 : int(1..2)]) + diff --git a/tests/exhaustive/basic/set_card_00/expected/model_1_2_4-solution000001.solution b/tests/exhaustive/basic/set_card_00/expected/model_1_2_4-solution000001.solution new file mode 100644 index 0000000000..6c0d0fdad8 --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_1_2_4-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting s be {1} diff --git a/tests/exhaustive/basic/set_card_00/expected/model_1_2_4-solution000002.solution b/tests/exhaustive/basic/set_card_00/expected/model_1_2_4-solution000002.solution new file mode 100644 index 0000000000..2ce5f2081f --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_1_2_4-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting s be {1, 2} diff --git a/tests/exhaustive/basic/set_card_00/expected/model_1_2_4.eprime b/tests/exhaustive/basic/set_card_00/expected/model_1_2_4.eprime new file mode 100644 index 0000000000..eb6c8281e0 --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_1_2_4.eprime @@ -0,0 +1,38 @@ +language ESSENCE' 1.0 + +find s_Occurrence: matrix indexed by [int(1..2)] of bool +find s_ExplicitVarSizeWithDummy: matrix indexed by [int(1..2)] of int(1..3) +find s_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..2)] of bool +find s_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..2)] of int(1..2) +branching on + [s_ExplicitVarSizeWithFlags_Flags, s_ExplicitVarSizeWithFlags_Values, s_Occurrence, s_ExplicitVarSizeWithDummy] +such that + or([s_ExplicitVarSizeWithDummy[q30] != 3 /\ + s_ExplicitVarSizeWithDummy[q30] = sum([toInt(s_Occurrence[q31]) | q31 : int(1..2)]) + | q30 : int(1..2)]), + s_ExplicitVarSizeWithDummy[1] < s_ExplicitVarSizeWithDummy[2] \/ s_ExplicitVarSizeWithDummy[1] = 3, + s_ExplicitVarSizeWithDummy[1] = 3 -> s_ExplicitVarSizeWithDummy[2] = 3, + and([s_ExplicitVarSizeWithDummy[q7] != 3 -> s_Occurrence[s_ExplicitVarSizeWithDummy[q7]] | q7 : int(1..2)]), + and([s_Occurrence[q8] -> + or([s_ExplicitVarSizeWithDummy[q10] != 3 /\ s_ExplicitVarSizeWithDummy[q10] = q8 | q10 : int(1..2)]) + | q8 : int(1..2)]), + s_ExplicitVarSizeWithFlags_Flags[2] -> s_ExplicitVarSizeWithFlags_Values[1] < s_ExplicitVarSizeWithFlags_Values[2], + and([s_ExplicitVarSizeWithFlags_Flags[q12] = false -> s_ExplicitVarSizeWithFlags_Values[q12] = 1 + | q12 : int(1..2)]), + s_ExplicitVarSizeWithFlags_Flags[2] -> s_ExplicitVarSizeWithFlags_Flags[1], + and([s_ExplicitVarSizeWithFlags_Flags[q17] -> s_Occurrence[s_ExplicitVarSizeWithFlags_Values[q17]] + | q17 : int(1..2)]), + and([s_Occurrence[q18] -> + or([s_ExplicitVarSizeWithFlags_Flags[q20] /\ s_ExplicitVarSizeWithFlags_Values[q20] = q18 | q20 : int(1..2)]) + | q18 : int(1..2)]), + and([s_ExplicitVarSizeWithFlags_Flags[q22] -> + or([s_ExplicitVarSizeWithDummy[q24] != 3 /\ + s_ExplicitVarSizeWithDummy[q24] = s_ExplicitVarSizeWithFlags_Values[q22] + | q24 : int(1..2)]) + | q22 : int(1..2)]), + and([s_ExplicitVarSizeWithDummy[q26] != 3 -> + or([s_ExplicitVarSizeWithFlags_Flags[q28] /\ + s_ExplicitVarSizeWithFlags_Values[q28] = s_ExplicitVarSizeWithDummy[q26] + | q28 : int(1..2)]) + | q26 : int(1..2)]) + diff --git a/tests/exhaustive/basic/set_card_00/expected/model_1_3_1-solution000001.solution b/tests/exhaustive/basic/set_card_00/expected/model_1_3_1-solution000001.solution new file mode 100644 index 0000000000..6c0d0fdad8 --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_1_3_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting s be {1} diff --git a/tests/exhaustive/basic/set_card_00/expected/model_1_3_1-solution000002.solution b/tests/exhaustive/basic/set_card_00/expected/model_1_3_1-solution000002.solution new file mode 100644 index 0000000000..2ce5f2081f --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_1_3_1-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting s be {1, 2} diff --git a/tests/exhaustive/basic/set_card_00/expected/model_1_3_1.eprime b/tests/exhaustive/basic/set_card_00/expected/model_1_3_1.eprime new file mode 100644 index 0000000000..a11ed0ff5f --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_1_3_1.eprime @@ -0,0 +1,19 @@ +language ESSENCE' 1.0 + +find s_Occurrence: matrix indexed by [int(1..2)] of bool +find s_ExplicitVarSizeWithMarker_Marker: int(0..2) +find s_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..2)] of int(1..2) +branching on [s_ExplicitVarSizeWithMarker_Marker, s_ExplicitVarSizeWithMarker_Values, s_Occurrence] +such that + or([q11 <= s_ExplicitVarSizeWithMarker_Marker /\ + s_ExplicitVarSizeWithMarker_Values[q11] = sum([toInt(s_Occurrence[q12]) | q12 : int(1..2)]) + | q11 : int(1..2)]), + 2 <= s_ExplicitVarSizeWithMarker_Marker -> + s_ExplicitVarSizeWithMarker_Values[1] < s_ExplicitVarSizeWithMarker_Values[2], + and([q3 > s_ExplicitVarSizeWithMarker_Marker -> s_ExplicitVarSizeWithMarker_Values[q3] = 1 | q3 : int(1..2)]), + and([q6 <= s_ExplicitVarSizeWithMarker_Marker -> s_Occurrence[s_ExplicitVarSizeWithMarker_Values[q6]] + | q6 : int(1..2)]), + and([s_Occurrence[q7] -> + or([q9 <= s_ExplicitVarSizeWithMarker_Marker /\ s_ExplicitVarSizeWithMarker_Values[q9] = q7 | q9 : int(1..2)]) + | q7 : int(1..2)]) + diff --git a/tests/exhaustive/basic/set_card_00/expected/model_1_3_2-solution000001.solution b/tests/exhaustive/basic/set_card_00/expected/model_1_3_2-solution000001.solution new file mode 100644 index 0000000000..2ce5f2081f --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_1_3_2-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting s be {1, 2} diff --git a/tests/exhaustive/basic/set_card_00/expected/model_1_3_2-solution000002.solution b/tests/exhaustive/basic/set_card_00/expected/model_1_3_2-solution000002.solution new file mode 100644 index 0000000000..6c0d0fdad8 --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_1_3_2-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting s be {1} diff --git a/tests/exhaustive/basic/set_card_00/expected/model_1_3_2.eprime b/tests/exhaustive/basic/set_card_00/expected/model_1_3_2.eprime new file mode 100644 index 0000000000..d5996222eb --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_1_3_2.eprime @@ -0,0 +1,37 @@ +language ESSENCE' 1.0 + +find s_Occurrence: matrix indexed by [int(1..2)] of bool +find s_ExplicitVarSizeWithMarker_Marker: int(0..2) +find s_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..2)] of int(1..2) +find s_ExplicitVarSizeWithDummy: matrix indexed by [int(1..2)] of int(1..3) +branching on + [s_ExplicitVarSizeWithDummy, s_Occurrence, s_ExplicitVarSizeWithMarker_Marker, s_ExplicitVarSizeWithMarker_Values] +such that + or([q28 <= s_ExplicitVarSizeWithMarker_Marker /\ + s_ExplicitVarSizeWithMarker_Values[q28] = sum([toInt(s_Occurrence[q29]) | q29 : int(1..2)]) + | q28 : int(1..2)]), + 2 <= s_ExplicitVarSizeWithMarker_Marker -> + s_ExplicitVarSizeWithMarker_Values[1] < s_ExplicitVarSizeWithMarker_Values[2], + and([q3 > s_ExplicitVarSizeWithMarker_Marker -> s_ExplicitVarSizeWithMarker_Values[q3] = 1 | q3 : int(1..2)]), + and([q6 <= s_ExplicitVarSizeWithMarker_Marker -> s_Occurrence[s_ExplicitVarSizeWithMarker_Values[q6]] + | q6 : int(1..2)]), + and([s_Occurrence[q7] -> + or([q9 <= s_ExplicitVarSizeWithMarker_Marker /\ s_ExplicitVarSizeWithMarker_Values[q9] = q7 | q9 : int(1..2)]) + | q7 : int(1..2)]), + s_ExplicitVarSizeWithDummy[1] < s_ExplicitVarSizeWithDummy[2] \/ s_ExplicitVarSizeWithDummy[1] = 3, + s_ExplicitVarSizeWithDummy[1] = 3 -> s_ExplicitVarSizeWithDummy[2] = 3, + and([s_ExplicitVarSizeWithDummy[q15] != 3 -> s_Occurrence[s_ExplicitVarSizeWithDummy[q15]] | q15 : int(1..2)]), + and([s_Occurrence[q16] -> + or([s_ExplicitVarSizeWithDummy[q18] != 3 /\ s_ExplicitVarSizeWithDummy[q18] = q16 | q18 : int(1..2)]) + | q16 : int(1..2)]), + and([s_ExplicitVarSizeWithDummy[q20] != 3 -> + or([q22 <= s_ExplicitVarSizeWithMarker_Marker /\ + s_ExplicitVarSizeWithMarker_Values[q22] = s_ExplicitVarSizeWithDummy[q20] + | q22 : int(1..2)]) + | q20 : int(1..2)]), + and([q24 <= s_ExplicitVarSizeWithMarker_Marker -> + or([s_ExplicitVarSizeWithDummy[q26] != 3 /\ + s_ExplicitVarSizeWithDummy[q26] = s_ExplicitVarSizeWithMarker_Values[q24] + | q26 : int(1..2)]) + | q24 : int(1..2)]) + diff --git a/tests/exhaustive/basic/set_card_00/expected/model_1_3_4-solution000001.solution b/tests/exhaustive/basic/set_card_00/expected/model_1_3_4-solution000001.solution new file mode 100644 index 0000000000..6c0d0fdad8 --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_1_3_4-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting s be {1} diff --git a/tests/exhaustive/basic/set_card_00/expected/model_1_3_4-solution000002.solution b/tests/exhaustive/basic/set_card_00/expected/model_1_3_4-solution000002.solution new file mode 100644 index 0000000000..2ce5f2081f --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_1_3_4-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting s be {1, 2} diff --git a/tests/exhaustive/basic/set_card_00/expected/model_1_3_4.eprime b/tests/exhaustive/basic/set_card_00/expected/model_1_3_4.eprime new file mode 100644 index 0000000000..9de0cd975a --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_1_3_4.eprime @@ -0,0 +1,42 @@ +language ESSENCE' 1.0 + +find s_Occurrence: matrix indexed by [int(1..2)] of bool +find s_ExplicitVarSizeWithMarker_Marker: int(0..2) +find s_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..2)] of int(1..2) +find s_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..2)] of bool +find s_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..2)] of int(1..2) +branching on + [s_ExplicitVarSizeWithFlags_Flags, s_ExplicitVarSizeWithFlags_Values, s_Occurrence, + s_ExplicitVarSizeWithMarker_Marker, s_ExplicitVarSizeWithMarker_Values] +such that + or([q29 <= s_ExplicitVarSizeWithMarker_Marker /\ + s_ExplicitVarSizeWithMarker_Values[q29] = sum([toInt(s_Occurrence[q30]) | q30 : int(1..2)]) + | q29 : int(1..2)]), + 2 <= s_ExplicitVarSizeWithMarker_Marker -> + s_ExplicitVarSizeWithMarker_Values[1] < s_ExplicitVarSizeWithMarker_Values[2], + and([q3 > s_ExplicitVarSizeWithMarker_Marker -> s_ExplicitVarSizeWithMarker_Values[q3] = 1 | q3 : int(1..2)]), + and([q6 <= s_ExplicitVarSizeWithMarker_Marker -> s_Occurrence[s_ExplicitVarSizeWithMarker_Values[q6]] + | q6 : int(1..2)]), + and([s_Occurrence[q7] -> + or([q9 <= s_ExplicitVarSizeWithMarker_Marker /\ s_ExplicitVarSizeWithMarker_Values[q9] = q7 | q9 : int(1..2)]) + | q7 : int(1..2)]), + s_ExplicitVarSizeWithFlags_Flags[2] -> s_ExplicitVarSizeWithFlags_Values[1] < s_ExplicitVarSizeWithFlags_Values[2], + and([s_ExplicitVarSizeWithFlags_Flags[q11] = false -> s_ExplicitVarSizeWithFlags_Values[q11] = 1 + | q11 : int(1..2)]), + s_ExplicitVarSizeWithFlags_Flags[2] -> s_ExplicitVarSizeWithFlags_Flags[1], + and([s_ExplicitVarSizeWithFlags_Flags[q16] -> s_Occurrence[s_ExplicitVarSizeWithFlags_Values[q16]] + | q16 : int(1..2)]), + and([s_Occurrence[q17] -> + or([s_ExplicitVarSizeWithFlags_Flags[q19] /\ s_ExplicitVarSizeWithFlags_Values[q19] = q17 | q19 : int(1..2)]) + | q17 : int(1..2)]), + and([s_ExplicitVarSizeWithFlags_Flags[q21] -> + or([q23 <= s_ExplicitVarSizeWithMarker_Marker /\ + s_ExplicitVarSizeWithMarker_Values[q23] = s_ExplicitVarSizeWithFlags_Values[q21] + | q23 : int(1..2)]) + | q21 : int(1..2)]), + and([q25 <= s_ExplicitVarSizeWithMarker_Marker -> + or([s_ExplicitVarSizeWithFlags_Flags[q27] /\ + s_ExplicitVarSizeWithFlags_Values[q27] = s_ExplicitVarSizeWithMarker_Values[q25] + | q27 : int(1..2)]) + | q25 : int(1..2)]) + diff --git a/tests/exhaustive/basic/set_card_00/expected/model_1_4_1-solution000001.solution b/tests/exhaustive/basic/set_card_00/expected/model_1_4_1-solution000001.solution new file mode 100644 index 0000000000..6c0d0fdad8 --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_1_4_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting s be {1} diff --git a/tests/exhaustive/basic/set_card_00/expected/model_1_4_1-solution000002.solution b/tests/exhaustive/basic/set_card_00/expected/model_1_4_1-solution000002.solution new file mode 100644 index 0000000000..2ce5f2081f --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_1_4_1-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting s be {1, 2} diff --git a/tests/exhaustive/basic/set_card_00/expected/model_1_4_1.eprime b/tests/exhaustive/basic/set_card_00/expected/model_1_4_1.eprime new file mode 100644 index 0000000000..c94c0a316f --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_1_4_1.eprime @@ -0,0 +1,18 @@ +language ESSENCE' 1.0 + +find s_Occurrence: matrix indexed by [int(1..2)] of bool +find s_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..2)] of bool +find s_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..2)] of int(1..2) +branching on [s_ExplicitVarSizeWithFlags_Flags, s_ExplicitVarSizeWithFlags_Values, s_Occurrence] +such that + or([s_ExplicitVarSizeWithFlags_Flags[q13] /\ + s_ExplicitVarSizeWithFlags_Values[q13] = sum([toInt(s_Occurrence[q14]) | q14 : int(1..2)]) + | q13 : int(1..2)]), + s_ExplicitVarSizeWithFlags_Flags[2] -> s_ExplicitVarSizeWithFlags_Values[1] < s_ExplicitVarSizeWithFlags_Values[2], + and([s_ExplicitVarSizeWithFlags_Flags[q3] = false -> s_ExplicitVarSizeWithFlags_Values[q3] = 1 | q3 : int(1..2)]), + s_ExplicitVarSizeWithFlags_Flags[2] -> s_ExplicitVarSizeWithFlags_Flags[1], + and([s_ExplicitVarSizeWithFlags_Flags[q8] -> s_Occurrence[s_ExplicitVarSizeWithFlags_Values[q8]] | q8 : int(1..2)]), + and([s_Occurrence[q9] -> + or([s_ExplicitVarSizeWithFlags_Flags[q11] /\ s_ExplicitVarSizeWithFlags_Values[q11] = q9 | q11 : int(1..2)]) + | q9 : int(1..2)]) + diff --git a/tests/exhaustive/basic/set_card_00/expected/model_1_4_2-solution000001.solution b/tests/exhaustive/basic/set_card_00/expected/model_1_4_2-solution000001.solution new file mode 100644 index 0000000000..2ce5f2081f --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_1_4_2-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting s be {1, 2} diff --git a/tests/exhaustive/basic/set_card_00/expected/model_1_4_2-solution000002.solution b/tests/exhaustive/basic/set_card_00/expected/model_1_4_2-solution000002.solution new file mode 100644 index 0000000000..6c0d0fdad8 --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_1_4_2-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting s be {1} diff --git a/tests/exhaustive/basic/set_card_00/expected/model_1_4_2.eprime b/tests/exhaustive/basic/set_card_00/expected/model_1_4_2.eprime new file mode 100644 index 0000000000..42d80e559a --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_1_4_2.eprime @@ -0,0 +1,36 @@ +language ESSENCE' 1.0 + +find s_Occurrence: matrix indexed by [int(1..2)] of bool +find s_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..2)] of bool +find s_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..2)] of int(1..2) +find s_ExplicitVarSizeWithDummy: matrix indexed by [int(1..2)] of int(1..3) +branching on + [s_ExplicitVarSizeWithDummy, s_Occurrence, s_ExplicitVarSizeWithFlags_Flags, s_ExplicitVarSizeWithFlags_Values] +such that + or([s_ExplicitVarSizeWithFlags_Flags[q30] /\ + s_ExplicitVarSizeWithFlags_Values[q30] = sum([toInt(s_Occurrence[q31]) | q31 : int(1..2)]) + | q30 : int(1..2)]), + s_ExplicitVarSizeWithFlags_Flags[2] -> s_ExplicitVarSizeWithFlags_Values[1] < s_ExplicitVarSizeWithFlags_Values[2], + and([s_ExplicitVarSizeWithFlags_Flags[q3] = false -> s_ExplicitVarSizeWithFlags_Values[q3] = 1 | q3 : int(1..2)]), + s_ExplicitVarSizeWithFlags_Flags[2] -> s_ExplicitVarSizeWithFlags_Flags[1], + and([s_ExplicitVarSizeWithFlags_Flags[q8] -> s_Occurrence[s_ExplicitVarSizeWithFlags_Values[q8]] | q8 : int(1..2)]), + and([s_Occurrence[q9] -> + or([s_ExplicitVarSizeWithFlags_Flags[q11] /\ s_ExplicitVarSizeWithFlags_Values[q11] = q9 | q11 : int(1..2)]) + | q9 : int(1..2)]), + s_ExplicitVarSizeWithDummy[1] < s_ExplicitVarSizeWithDummy[2] \/ s_ExplicitVarSizeWithDummy[1] = 3, + s_ExplicitVarSizeWithDummy[1] = 3 -> s_ExplicitVarSizeWithDummy[2] = 3, + and([s_ExplicitVarSizeWithDummy[q17] != 3 -> s_Occurrence[s_ExplicitVarSizeWithDummy[q17]] | q17 : int(1..2)]), + and([s_Occurrence[q18] -> + or([s_ExplicitVarSizeWithDummy[q20] != 3 /\ s_ExplicitVarSizeWithDummy[q20] = q18 | q20 : int(1..2)]) + | q18 : int(1..2)]), + and([s_ExplicitVarSizeWithDummy[q22] != 3 -> + or([s_ExplicitVarSizeWithFlags_Flags[q24] /\ + s_ExplicitVarSizeWithFlags_Values[q24] = s_ExplicitVarSizeWithDummy[q22] + | q24 : int(1..2)]) + | q22 : int(1..2)]), + and([s_ExplicitVarSizeWithFlags_Flags[q26] -> + or([s_ExplicitVarSizeWithDummy[q28] != 3 /\ + s_ExplicitVarSizeWithDummy[q28] = s_ExplicitVarSizeWithFlags_Values[q26] + | q28 : int(1..2)]) + | q26 : int(1..2)]) + diff --git a/tests/exhaustive/basic/set_card_00/expected/model_1_4_3-solution000001.solution b/tests/exhaustive/basic/set_card_00/expected/model_1_4_3-solution000001.solution new file mode 100644 index 0000000000..6c0d0fdad8 --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_1_4_3-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting s be {1} diff --git a/tests/exhaustive/basic/set_card_00/expected/model_1_4_3-solution000002.solution b/tests/exhaustive/basic/set_card_00/expected/model_1_4_3-solution000002.solution new file mode 100644 index 0000000000..2ce5f2081f --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_1_4_3-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting s be {1, 2} diff --git a/tests/exhaustive/basic/set_card_00/expected/model_1_4_3.eprime b/tests/exhaustive/basic/set_card_00/expected/model_1_4_3.eprime new file mode 100644 index 0000000000..666b249b58 --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_1_4_3.eprime @@ -0,0 +1,41 @@ +language ESSENCE' 1.0 + +find s_Occurrence: matrix indexed by [int(1..2)] of bool +find s_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..2)] of bool +find s_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..2)] of int(1..2) +find s_ExplicitVarSizeWithMarker_Marker: int(0..2) +find s_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..2)] of int(1..2) +branching on + [s_ExplicitVarSizeWithMarker_Marker, s_ExplicitVarSizeWithMarker_Values, s_Occurrence, + s_ExplicitVarSizeWithFlags_Flags, s_ExplicitVarSizeWithFlags_Values] +such that + or([s_ExplicitVarSizeWithFlags_Flags[q29] /\ + s_ExplicitVarSizeWithFlags_Values[q29] = sum([toInt(s_Occurrence[q30]) | q30 : int(1..2)]) + | q29 : int(1..2)]), + s_ExplicitVarSizeWithFlags_Flags[2] -> s_ExplicitVarSizeWithFlags_Values[1] < s_ExplicitVarSizeWithFlags_Values[2], + and([s_ExplicitVarSizeWithFlags_Flags[q3] = false -> s_ExplicitVarSizeWithFlags_Values[q3] = 1 | q3 : int(1..2)]), + s_ExplicitVarSizeWithFlags_Flags[2] -> s_ExplicitVarSizeWithFlags_Flags[1], + and([s_ExplicitVarSizeWithFlags_Flags[q8] -> s_Occurrence[s_ExplicitVarSizeWithFlags_Values[q8]] | q8 : int(1..2)]), + and([s_Occurrence[q9] -> + or([s_ExplicitVarSizeWithFlags_Flags[q11] /\ s_ExplicitVarSizeWithFlags_Values[q11] = q9 | q11 : int(1..2)]) + | q9 : int(1..2)]), + 2 <= s_ExplicitVarSizeWithMarker_Marker -> + s_ExplicitVarSizeWithMarker_Values[1] < s_ExplicitVarSizeWithMarker_Values[2], + and([q13 > s_ExplicitVarSizeWithMarker_Marker -> s_ExplicitVarSizeWithMarker_Values[q13] = 1 | q13 : int(1..2)]), + and([q16 <= s_ExplicitVarSizeWithMarker_Marker -> s_Occurrence[s_ExplicitVarSizeWithMarker_Values[q16]] + | q16 : int(1..2)]), + and([s_Occurrence[q17] -> + or([q19 <= s_ExplicitVarSizeWithMarker_Marker /\ s_ExplicitVarSizeWithMarker_Values[q19] = q17 + | q19 : int(1..2)]) + | q17 : int(1..2)]), + and([q21 <= s_ExplicitVarSizeWithMarker_Marker -> + or([s_ExplicitVarSizeWithFlags_Flags[q23] /\ + s_ExplicitVarSizeWithFlags_Values[q23] = s_ExplicitVarSizeWithMarker_Values[q21] + | q23 : int(1..2)]) + | q21 : int(1..2)]), + and([s_ExplicitVarSizeWithFlags_Flags[q25] -> + or([q27 <= s_ExplicitVarSizeWithMarker_Marker /\ + s_ExplicitVarSizeWithMarker_Values[q27] = s_ExplicitVarSizeWithFlags_Values[q25] + | q27 : int(1..2)]) + | q25 : int(1..2)]) + diff --git a/tests/exhaustive/basic/set_card_00/expected/model_2_1_1-solution000001.solution b/tests/exhaustive/basic/set_card_00/expected/model_2_1_1-solution000001.solution new file mode 100644 index 0000000000..6c0d0fdad8 --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_2_1_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting s be {1} diff --git a/tests/exhaustive/basic/set_card_00/expected/model_2_1_1-solution000002.solution b/tests/exhaustive/basic/set_card_00/expected/model_2_1_1-solution000002.solution new file mode 100644 index 0000000000..2ce5f2081f --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_2_1_1-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting s be {1, 2} diff --git a/tests/exhaustive/basic/set_card_00/expected/model_2_1_1.eprime b/tests/exhaustive/basic/set_card_00/expected/model_2_1_1.eprime new file mode 100644 index 0000000000..776246603c --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_2_1_1.eprime @@ -0,0 +1,14 @@ +language ESSENCE' 1.0 + +find s_ExplicitVarSizeWithDummy: matrix indexed by [int(1..2)] of int(1..3) +find s_Occurrence: matrix indexed by [int(1..2)] of bool +branching on [s_Occurrence, s_ExplicitVarSizeWithDummy] +such that + s_Occurrence[sum([toInt(s_ExplicitVarSizeWithDummy[q7] != 3) | q7 : int(1..2)])], + s_ExplicitVarSizeWithDummy[1] < s_ExplicitVarSizeWithDummy[2] \/ s_ExplicitVarSizeWithDummy[1] = 3, + s_ExplicitVarSizeWithDummy[1] = 3 -> s_ExplicitVarSizeWithDummy[2] = 3, + and([s_Occurrence[q8] -> + or([s_ExplicitVarSizeWithDummy[q10] != 3 /\ s_ExplicitVarSizeWithDummy[q10] = q8 | q10 : int(1..2)]) + | q8 : int(1..2)]), + and([s_ExplicitVarSizeWithDummy[q12] != 3 -> s_Occurrence[s_ExplicitVarSizeWithDummy[q12]] | q12 : int(1..2)]) + diff --git a/tests/exhaustive/basic/set_card_00/expected/model_2_1_3-solution000001.solution b/tests/exhaustive/basic/set_card_00/expected/model_2_1_3-solution000001.solution new file mode 100644 index 0000000000..6c0d0fdad8 --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_2_1_3-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting s be {1} diff --git a/tests/exhaustive/basic/set_card_00/expected/model_2_1_3-solution000002.solution b/tests/exhaustive/basic/set_card_00/expected/model_2_1_3-solution000002.solution new file mode 100644 index 0000000000..2ce5f2081f --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_2_1_3-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting s be {1, 2} diff --git a/tests/exhaustive/basic/set_card_00/expected/model_2_1_3.eprime b/tests/exhaustive/basic/set_card_00/expected/model_2_1_3.eprime new file mode 100644 index 0000000000..58dcd8a0d9 --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_2_1_3.eprime @@ -0,0 +1,36 @@ +language ESSENCE' 1.0 + +find s_ExplicitVarSizeWithDummy: matrix indexed by [int(1..2)] of int(1..3) +find s_Occurrence: matrix indexed by [int(1..2)] of bool +find s_ExplicitVarSizeWithMarker_Marker: int(0..2) +find s_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..2)] of int(1..2) +branching on + [s_ExplicitVarSizeWithMarker_Marker, s_ExplicitVarSizeWithMarker_Values, s_ExplicitVarSizeWithDummy, s_Occurrence] +such that + s_Occurrence[sum([toInt(s_ExplicitVarSizeWithDummy[q23] != 3) | q23 : int(1..2)])], + s_ExplicitVarSizeWithDummy[1] < s_ExplicitVarSizeWithDummy[2] \/ s_ExplicitVarSizeWithDummy[1] = 3, + s_ExplicitVarSizeWithDummy[1] = 3 -> s_ExplicitVarSizeWithDummy[2] = 3, + and([s_Occurrence[q24] -> + or([s_ExplicitVarSizeWithDummy[q26] != 3 /\ s_ExplicitVarSizeWithDummy[q26] = q24 | q26 : int(1..2)]) + | q24 : int(1..2)]), + and([s_ExplicitVarSizeWithDummy[q28] != 3 -> s_Occurrence[s_ExplicitVarSizeWithDummy[q28]] | q28 : int(1..2)]), + 2 <= s_ExplicitVarSizeWithMarker_Marker -> + s_ExplicitVarSizeWithMarker_Values[1] < s_ExplicitVarSizeWithMarker_Values[2], + and([q7 > s_ExplicitVarSizeWithMarker_Marker -> s_ExplicitVarSizeWithMarker_Values[q7] = 1 | q7 : int(1..2)]), + and([q10 <= s_ExplicitVarSizeWithMarker_Marker -> + or([s_ExplicitVarSizeWithDummy[q12] != 3 /\ + s_ExplicitVarSizeWithDummy[q12] = s_ExplicitVarSizeWithMarker_Values[q10] + | q12 : int(1..2)]) + | q10 : int(1..2)]), + and([s_ExplicitVarSizeWithDummy[q14] != 3 -> + or([q16 <= s_ExplicitVarSizeWithMarker_Marker /\ + s_ExplicitVarSizeWithMarker_Values[q16] = s_ExplicitVarSizeWithDummy[q14] + | q16 : int(1..2)]) + | q14 : int(1..2)]), + and([q18 <= s_ExplicitVarSizeWithMarker_Marker -> s_Occurrence[s_ExplicitVarSizeWithMarker_Values[q18]] + | q18 : int(1..2)]), + and([s_Occurrence[q19] -> + or([q21 <= s_ExplicitVarSizeWithMarker_Marker /\ s_ExplicitVarSizeWithMarker_Values[q21] = q19 + | q21 : int(1..2)]) + | q19 : int(1..2)]) + diff --git a/tests/exhaustive/basic/set_card_00/expected/model_2_1_4-solution000001.solution b/tests/exhaustive/basic/set_card_00/expected/model_2_1_4-solution000001.solution new file mode 100644 index 0000000000..6c0d0fdad8 --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_2_1_4-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting s be {1} diff --git a/tests/exhaustive/basic/set_card_00/expected/model_2_1_4-solution000002.solution b/tests/exhaustive/basic/set_card_00/expected/model_2_1_4-solution000002.solution new file mode 100644 index 0000000000..2ce5f2081f --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_2_1_4-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting s be {1, 2} diff --git a/tests/exhaustive/basic/set_card_00/expected/model_2_1_4.eprime b/tests/exhaustive/basic/set_card_00/expected/model_2_1_4.eprime new file mode 100644 index 0000000000..d91db06282 --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_2_1_4.eprime @@ -0,0 +1,35 @@ +language ESSENCE' 1.0 + +find s_ExplicitVarSizeWithDummy: matrix indexed by [int(1..2)] of int(1..3) +find s_Occurrence: matrix indexed by [int(1..2)] of bool +find s_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..2)] of bool +find s_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..2)] of int(1..2) +branching on + [s_ExplicitVarSizeWithFlags_Flags, s_ExplicitVarSizeWithFlags_Values, s_ExplicitVarSizeWithDummy, s_Occurrence] +such that + s_Occurrence[sum([toInt(s_ExplicitVarSizeWithDummy[q25] != 3) | q25 : int(1..2)])], + s_ExplicitVarSizeWithDummy[1] < s_ExplicitVarSizeWithDummy[2] \/ s_ExplicitVarSizeWithDummy[1] = 3, + s_ExplicitVarSizeWithDummy[1] = 3 -> s_ExplicitVarSizeWithDummy[2] = 3, + and([s_Occurrence[q26] -> + or([s_ExplicitVarSizeWithDummy[q28] != 3 /\ s_ExplicitVarSizeWithDummy[q28] = q26 | q28 : int(1..2)]) + | q26 : int(1..2)]), + and([s_ExplicitVarSizeWithDummy[q30] != 3 -> s_Occurrence[s_ExplicitVarSizeWithDummy[q30]] | q30 : int(1..2)]), + s_ExplicitVarSizeWithFlags_Flags[2] -> s_ExplicitVarSizeWithFlags_Values[1] < s_ExplicitVarSizeWithFlags_Values[2], + and([s_ExplicitVarSizeWithFlags_Flags[q7] = false -> s_ExplicitVarSizeWithFlags_Values[q7] = 1 | q7 : int(1..2)]), + s_ExplicitVarSizeWithFlags_Flags[2] -> s_ExplicitVarSizeWithFlags_Flags[1], + and([s_ExplicitVarSizeWithFlags_Flags[q12] -> + or([s_ExplicitVarSizeWithDummy[q14] != 3 /\ + s_ExplicitVarSizeWithDummy[q14] = s_ExplicitVarSizeWithFlags_Values[q12] + | q14 : int(1..2)]) + | q12 : int(1..2)]), + and([s_ExplicitVarSizeWithDummy[q16] != 3 -> + or([s_ExplicitVarSizeWithFlags_Flags[q18] /\ + s_ExplicitVarSizeWithFlags_Values[q18] = s_ExplicitVarSizeWithDummy[q16] + | q18 : int(1..2)]) + | q16 : int(1..2)]), + and([s_ExplicitVarSizeWithFlags_Flags[q20] -> s_Occurrence[s_ExplicitVarSizeWithFlags_Values[q20]] + | q20 : int(1..2)]), + and([s_Occurrence[q21] -> + or([s_ExplicitVarSizeWithFlags_Flags[q23] /\ s_ExplicitVarSizeWithFlags_Values[q23] = q21 | q23 : int(1..2)]) + | q21 : int(1..2)]) + diff --git a/tests/exhaustive/basic/set_card_00/expected/model_2_2_1-solution000001.solution b/tests/exhaustive/basic/set_card_00/expected/model_2_2_1-solution000001.solution new file mode 100644 index 0000000000..6c0d0fdad8 --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_2_2_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting s be {1} diff --git a/tests/exhaustive/basic/set_card_00/expected/model_2_2_1-solution000002.solution b/tests/exhaustive/basic/set_card_00/expected/model_2_2_1-solution000002.solution new file mode 100644 index 0000000000..2ce5f2081f --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_2_2_1-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting s be {1, 2} diff --git a/tests/exhaustive/basic/set_card_00/expected/model_2_2_1.eprime b/tests/exhaustive/basic/set_card_00/expected/model_2_2_1.eprime new file mode 100644 index 0000000000..2130ba4508 --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_2_2_1.eprime @@ -0,0 +1,16 @@ +language ESSENCE' 1.0 + +find s_ExplicitVarSizeWithDummy: matrix indexed by [int(1..2)] of int(1..3) +find s_Occurrence: matrix indexed by [int(1..2)] of bool +branching on [s_Occurrence, s_ExplicitVarSizeWithDummy] +such that + or([s_ExplicitVarSizeWithDummy[q7] != 3 /\ + s_ExplicitVarSizeWithDummy[q7] = sum([toInt(s_ExplicitVarSizeWithDummy[q9] != 3) | q9 : int(1..2)]) + | q7 : int(1..2)]), + s_ExplicitVarSizeWithDummy[1] < s_ExplicitVarSizeWithDummy[2] \/ s_ExplicitVarSizeWithDummy[1] = 3, + s_ExplicitVarSizeWithDummy[1] = 3 -> s_ExplicitVarSizeWithDummy[2] = 3, + and([s_Occurrence[q10] -> + or([s_ExplicitVarSizeWithDummy[q12] != 3 /\ s_ExplicitVarSizeWithDummy[q12] = q10 | q12 : int(1..2)]) + | q10 : int(1..2)]), + and([s_ExplicitVarSizeWithDummy[q14] != 3 -> s_Occurrence[s_ExplicitVarSizeWithDummy[q14]] | q14 : int(1..2)]) + diff --git a/tests/exhaustive/basic/set_card_00/expected/model_2_2_2-solution000001.solution b/tests/exhaustive/basic/set_card_00/expected/model_2_2_2-solution000001.solution new file mode 100644 index 0000000000..2ce5f2081f --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_2_2_2-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting s be {1, 2} diff --git a/tests/exhaustive/basic/set_card_00/expected/model_2_2_2-solution000002.solution b/tests/exhaustive/basic/set_card_00/expected/model_2_2_2-solution000002.solution new file mode 100644 index 0000000000..6c0d0fdad8 --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_2_2_2-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting s be {1} diff --git a/tests/exhaustive/basic/set_card_00/expected/model_2_2_2.eprime b/tests/exhaustive/basic/set_card_00/expected/model_2_2_2.eprime new file mode 100644 index 0000000000..de77468609 --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_2_2_2.eprime @@ -0,0 +1,11 @@ +language ESSENCE' 1.0 + +find s_ExplicitVarSizeWithDummy: matrix indexed by [int(1..2)] of int(1..3) +branching on [s_ExplicitVarSizeWithDummy] +such that + or([s_ExplicitVarSizeWithDummy[q6] != 3 /\ + s_ExplicitVarSizeWithDummy[q6] = sum([toInt(s_ExplicitVarSizeWithDummy[q8] != 3) | q8 : int(1..2)]) + | q6 : int(1..2)]), + s_ExplicitVarSizeWithDummy[1] < s_ExplicitVarSizeWithDummy[2] \/ s_ExplicitVarSizeWithDummy[1] = 3, + s_ExplicitVarSizeWithDummy[1] = 3 -> s_ExplicitVarSizeWithDummy[2] = 3 + diff --git a/tests/exhaustive/basic/set_card_00/expected/model_2_2_3-solution000001.solution b/tests/exhaustive/basic/set_card_00/expected/model_2_2_3-solution000001.solution new file mode 100644 index 0000000000..6c0d0fdad8 --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_2_2_3-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting s be {1} diff --git a/tests/exhaustive/basic/set_card_00/expected/model_2_2_3-solution000002.solution b/tests/exhaustive/basic/set_card_00/expected/model_2_2_3-solution000002.solution new file mode 100644 index 0000000000..2ce5f2081f --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_2_2_3-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting s be {1, 2} diff --git a/tests/exhaustive/basic/set_card_00/expected/model_2_2_3.eprime b/tests/exhaustive/basic/set_card_00/expected/model_2_2_3.eprime new file mode 100644 index 0000000000..d78add42d0 --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_2_2_3.eprime @@ -0,0 +1,26 @@ +language ESSENCE' 1.0 + +find s_ExplicitVarSizeWithDummy: matrix indexed by [int(1..2)] of int(1..3) +find s_ExplicitVarSizeWithMarker_Marker: int(0..2) +find s_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..2)] of int(1..2) +branching on [s_ExplicitVarSizeWithMarker_Marker, s_ExplicitVarSizeWithMarker_Values, s_ExplicitVarSizeWithDummy] +such that + or([s_ExplicitVarSizeWithDummy[q17] != 3 /\ + s_ExplicitVarSizeWithDummy[q17] = sum([toInt(s_ExplicitVarSizeWithDummy[q19] != 3) | q19 : int(1..2)]) + | q17 : int(1..2)]), + s_ExplicitVarSizeWithDummy[1] < s_ExplicitVarSizeWithDummy[2] \/ s_ExplicitVarSizeWithDummy[1] = 3, + s_ExplicitVarSizeWithDummy[1] = 3 -> s_ExplicitVarSizeWithDummy[2] = 3, + 2 <= s_ExplicitVarSizeWithMarker_Marker -> + s_ExplicitVarSizeWithMarker_Values[1] < s_ExplicitVarSizeWithMarker_Values[2], + and([q6 > s_ExplicitVarSizeWithMarker_Marker -> s_ExplicitVarSizeWithMarker_Values[q6] = 1 | q6 : int(1..2)]), + and([q9 <= s_ExplicitVarSizeWithMarker_Marker -> + or([s_ExplicitVarSizeWithDummy[q11] != 3 /\ + s_ExplicitVarSizeWithDummy[q11] = s_ExplicitVarSizeWithMarker_Values[q9] + | q11 : int(1..2)]) + | q9 : int(1..2)]), + and([s_ExplicitVarSizeWithDummy[q13] != 3 -> + or([q15 <= s_ExplicitVarSizeWithMarker_Marker /\ + s_ExplicitVarSizeWithMarker_Values[q15] = s_ExplicitVarSizeWithDummy[q13] + | q15 : int(1..2)]) + | q13 : int(1..2)]) + diff --git a/tests/exhaustive/basic/set_card_00/expected/model_2_2_4-solution000001.solution b/tests/exhaustive/basic/set_card_00/expected/model_2_2_4-solution000001.solution new file mode 100644 index 0000000000..6c0d0fdad8 --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_2_2_4-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting s be {1} diff --git a/tests/exhaustive/basic/set_card_00/expected/model_2_2_4-solution000002.solution b/tests/exhaustive/basic/set_card_00/expected/model_2_2_4-solution000002.solution new file mode 100644 index 0000000000..2ce5f2081f --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_2_2_4-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting s be {1, 2} diff --git a/tests/exhaustive/basic/set_card_00/expected/model_2_2_4.eprime b/tests/exhaustive/basic/set_card_00/expected/model_2_2_4.eprime new file mode 100644 index 0000000000..e0885d30f9 --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_2_2_4.eprime @@ -0,0 +1,26 @@ +language ESSENCE' 1.0 + +find s_ExplicitVarSizeWithDummy: matrix indexed by [int(1..2)] of int(1..3) +find s_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..2)] of bool +find s_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..2)] of int(1..2) +branching on [s_ExplicitVarSizeWithFlags_Flags, s_ExplicitVarSizeWithFlags_Values, s_ExplicitVarSizeWithDummy] +such that + or([s_ExplicitVarSizeWithDummy[q19] != 3 /\ + s_ExplicitVarSizeWithDummy[q19] = sum([toInt(s_ExplicitVarSizeWithDummy[q21] != 3) | q21 : int(1..2)]) + | q19 : int(1..2)]), + s_ExplicitVarSizeWithDummy[1] < s_ExplicitVarSizeWithDummy[2] \/ s_ExplicitVarSizeWithDummy[1] = 3, + s_ExplicitVarSizeWithDummy[1] = 3 -> s_ExplicitVarSizeWithDummy[2] = 3, + s_ExplicitVarSizeWithFlags_Flags[2] -> s_ExplicitVarSizeWithFlags_Values[1] < s_ExplicitVarSizeWithFlags_Values[2], + and([s_ExplicitVarSizeWithFlags_Flags[q6] = false -> s_ExplicitVarSizeWithFlags_Values[q6] = 1 | q6 : int(1..2)]), + s_ExplicitVarSizeWithFlags_Flags[2] -> s_ExplicitVarSizeWithFlags_Flags[1], + and([s_ExplicitVarSizeWithFlags_Flags[q11] -> + or([s_ExplicitVarSizeWithDummy[q13] != 3 /\ + s_ExplicitVarSizeWithDummy[q13] = s_ExplicitVarSizeWithFlags_Values[q11] + | q13 : int(1..2)]) + | q11 : int(1..2)]), + and([s_ExplicitVarSizeWithDummy[q15] != 3 -> + or([s_ExplicitVarSizeWithFlags_Flags[q17] /\ + s_ExplicitVarSizeWithFlags_Values[q17] = s_ExplicitVarSizeWithDummy[q15] + | q17 : int(1..2)]) + | q15 : int(1..2)]) + diff --git a/tests/exhaustive/basic/set_card_00/expected/model_2_3_1-solution000001.solution b/tests/exhaustive/basic/set_card_00/expected/model_2_3_1-solution000001.solution new file mode 100644 index 0000000000..6c0d0fdad8 --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_2_3_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting s be {1} diff --git a/tests/exhaustive/basic/set_card_00/expected/model_2_3_1-solution000002.solution b/tests/exhaustive/basic/set_card_00/expected/model_2_3_1-solution000002.solution new file mode 100644 index 0000000000..2ce5f2081f --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_2_3_1-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting s be {1, 2} diff --git a/tests/exhaustive/basic/set_card_00/expected/model_2_3_1.eprime b/tests/exhaustive/basic/set_card_00/expected/model_2_3_1.eprime new file mode 100644 index 0000000000..bb65736cc9 --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_2_3_1.eprime @@ -0,0 +1,38 @@ +language ESSENCE' 1.0 + +find s_ExplicitVarSizeWithDummy: matrix indexed by [int(1..2)] of int(1..3) +find s_ExplicitVarSizeWithMarker_Marker: int(0..2) +find s_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..2)] of int(1..2) +find s_Occurrence: matrix indexed by [int(1..2)] of bool +branching on + [s_Occurrence, s_ExplicitVarSizeWithDummy, s_ExplicitVarSizeWithMarker_Marker, s_ExplicitVarSizeWithMarker_Values] +such that + or([q18 <= s_ExplicitVarSizeWithMarker_Marker /\ + s_ExplicitVarSizeWithMarker_Values[q18] = sum([toInt(s_ExplicitVarSizeWithDummy[q20] != 3) | q20 : int(1..2)]) + | q18 : int(1..2)]), + s_ExplicitVarSizeWithDummy[1] < s_ExplicitVarSizeWithDummy[2] \/ s_ExplicitVarSizeWithDummy[1] = 3, + s_ExplicitVarSizeWithDummy[1] = 3 -> s_ExplicitVarSizeWithDummy[2] = 3, + 2 <= s_ExplicitVarSizeWithMarker_Marker -> + s_ExplicitVarSizeWithMarker_Values[1] < s_ExplicitVarSizeWithMarker_Values[2], + and([q6 > s_ExplicitVarSizeWithMarker_Marker -> s_ExplicitVarSizeWithMarker_Values[q6] = 1 | q6 : int(1..2)]), + and([q9 <= s_ExplicitVarSizeWithMarker_Marker -> + or([s_ExplicitVarSizeWithDummy[q11] != 3 /\ + s_ExplicitVarSizeWithDummy[q11] = s_ExplicitVarSizeWithMarker_Values[q9] + | q11 : int(1..2)]) + | q9 : int(1..2)]), + and([s_ExplicitVarSizeWithDummy[q13] != 3 -> + or([q15 <= s_ExplicitVarSizeWithMarker_Marker /\ + s_ExplicitVarSizeWithMarker_Values[q15] = s_ExplicitVarSizeWithDummy[q13] + | q15 : int(1..2)]) + | q13 : int(1..2)]), + and([s_Occurrence[q21] -> + or([s_ExplicitVarSizeWithDummy[q23] != 3 /\ s_ExplicitVarSizeWithDummy[q23] = q21 | q23 : int(1..2)]) + | q21 : int(1..2)]), + and([s_ExplicitVarSizeWithDummy[q25] != 3 -> s_Occurrence[s_ExplicitVarSizeWithDummy[q25]] | q25 : int(1..2)]), + and([s_Occurrence[q26] -> + or([q28 <= s_ExplicitVarSizeWithMarker_Marker /\ s_ExplicitVarSizeWithMarker_Values[q28] = q26 + | q28 : int(1..2)]) + | q26 : int(1..2)]), + and([q30 <= s_ExplicitVarSizeWithMarker_Marker -> s_Occurrence[s_ExplicitVarSizeWithMarker_Values[q30]] + | q30 : int(1..2)]) + diff --git a/tests/exhaustive/basic/set_card_00/expected/model_2_3_2-solution000001.solution b/tests/exhaustive/basic/set_card_00/expected/model_2_3_2-solution000001.solution new file mode 100644 index 0000000000..6c0d0fdad8 --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_2_3_2-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting s be {1} diff --git a/tests/exhaustive/basic/set_card_00/expected/model_2_3_2-solution000002.solution b/tests/exhaustive/basic/set_card_00/expected/model_2_3_2-solution000002.solution new file mode 100644 index 0000000000..2ce5f2081f --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_2_3_2-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting s be {1, 2} diff --git a/tests/exhaustive/basic/set_card_00/expected/model_2_3_2.eprime b/tests/exhaustive/basic/set_card_00/expected/model_2_3_2.eprime new file mode 100644 index 0000000000..ab23a453ce --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_2_3_2.eprime @@ -0,0 +1,26 @@ +language ESSENCE' 1.0 + +find s_ExplicitVarSizeWithDummy: matrix indexed by [int(1..2)] of int(1..3) +find s_ExplicitVarSizeWithMarker_Marker: int(0..2) +find s_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..2)] of int(1..2) +branching on [s_ExplicitVarSizeWithMarker_Marker, s_ExplicitVarSizeWithMarker_Values, s_ExplicitVarSizeWithDummy] +such that + or([q17 <= s_ExplicitVarSizeWithMarker_Marker /\ + s_ExplicitVarSizeWithMarker_Values[q17] = sum([toInt(s_ExplicitVarSizeWithDummy[q19] != 3) | q19 : int(1..2)]) + | q17 : int(1..2)]), + s_ExplicitVarSizeWithDummy[1] < s_ExplicitVarSizeWithDummy[2] \/ s_ExplicitVarSizeWithDummy[1] = 3, + s_ExplicitVarSizeWithDummy[1] = 3 -> s_ExplicitVarSizeWithDummy[2] = 3, + 2 <= s_ExplicitVarSizeWithMarker_Marker -> + s_ExplicitVarSizeWithMarker_Values[1] < s_ExplicitVarSizeWithMarker_Values[2], + and([q6 > s_ExplicitVarSizeWithMarker_Marker -> s_ExplicitVarSizeWithMarker_Values[q6] = 1 | q6 : int(1..2)]), + and([q9 <= s_ExplicitVarSizeWithMarker_Marker -> + or([s_ExplicitVarSizeWithDummy[q11] != 3 /\ + s_ExplicitVarSizeWithDummy[q11] = s_ExplicitVarSizeWithMarker_Values[q9] + | q11 : int(1..2)]) + | q9 : int(1..2)]), + and([s_ExplicitVarSizeWithDummy[q13] != 3 -> + or([q15 <= s_ExplicitVarSizeWithMarker_Marker /\ + s_ExplicitVarSizeWithMarker_Values[q15] = s_ExplicitVarSizeWithDummy[q13] + | q15 : int(1..2)]) + | q13 : int(1..2)]) + diff --git a/tests/exhaustive/basic/set_card_00/expected/model_2_3_4-solution000001.solution b/tests/exhaustive/basic/set_card_00/expected/model_2_3_4-solution000001.solution new file mode 100644 index 0000000000..6c0d0fdad8 --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_2_3_4-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting s be {1} diff --git a/tests/exhaustive/basic/set_card_00/expected/model_2_3_4-solution000002.solution b/tests/exhaustive/basic/set_card_00/expected/model_2_3_4-solution000002.solution new file mode 100644 index 0000000000..2ce5f2081f --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_2_3_4-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting s be {1, 2} diff --git a/tests/exhaustive/basic/set_card_00/expected/model_2_3_4.eprime b/tests/exhaustive/basic/set_card_00/expected/model_2_3_4.eprime new file mode 100644 index 0000000000..b8027d9587 --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_2_3_4.eprime @@ -0,0 +1,54 @@ +language ESSENCE' 1.0 + +find s_ExplicitVarSizeWithDummy: matrix indexed by [int(1..2)] of int(1..3) +find s_ExplicitVarSizeWithMarker_Marker: int(0..2) +find s_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..2)] of int(1..2) +find s_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..2)] of bool +find s_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..2)] of int(1..2) +branching on + [s_ExplicitVarSizeWithFlags_Flags, s_ExplicitVarSizeWithFlags_Values, s_ExplicitVarSizeWithDummy, + s_ExplicitVarSizeWithMarker_Marker, s_ExplicitVarSizeWithMarker_Values] +such that + or([q38 <= s_ExplicitVarSizeWithMarker_Marker /\ + s_ExplicitVarSizeWithMarker_Values[q38] = sum([toInt(s_ExplicitVarSizeWithDummy[q40] != 3) | q40 : int(1..2)]) + | q38 : int(1..2)]), + s_ExplicitVarSizeWithDummy[1] < s_ExplicitVarSizeWithDummy[2] \/ s_ExplicitVarSizeWithDummy[1] = 3, + s_ExplicitVarSizeWithDummy[1] = 3 -> s_ExplicitVarSizeWithDummy[2] = 3, + 2 <= s_ExplicitVarSizeWithMarker_Marker -> + s_ExplicitVarSizeWithMarker_Values[1] < s_ExplicitVarSizeWithMarker_Values[2], + and([q6 > s_ExplicitVarSizeWithMarker_Marker -> s_ExplicitVarSizeWithMarker_Values[q6] = 1 | q6 : int(1..2)]), + and([q9 <= s_ExplicitVarSizeWithMarker_Marker -> + or([s_ExplicitVarSizeWithDummy[q11] != 3 /\ + s_ExplicitVarSizeWithDummy[q11] = s_ExplicitVarSizeWithMarker_Values[q9] + | q11 : int(1..2)]) + | q9 : int(1..2)]), + and([s_ExplicitVarSizeWithDummy[q13] != 3 -> + or([q15 <= s_ExplicitVarSizeWithMarker_Marker /\ + s_ExplicitVarSizeWithMarker_Values[q15] = s_ExplicitVarSizeWithDummy[q13] + | q15 : int(1..2)]) + | q13 : int(1..2)]), + s_ExplicitVarSizeWithFlags_Flags[2] -> s_ExplicitVarSizeWithFlags_Values[1] < s_ExplicitVarSizeWithFlags_Values[2], + and([s_ExplicitVarSizeWithFlags_Flags[q17] = false -> s_ExplicitVarSizeWithFlags_Values[q17] = 1 + | q17 : int(1..2)]), + s_ExplicitVarSizeWithFlags_Flags[2] -> s_ExplicitVarSizeWithFlags_Flags[1], + and([s_ExplicitVarSizeWithFlags_Flags[q22] -> + or([s_ExplicitVarSizeWithDummy[q24] != 3 /\ + s_ExplicitVarSizeWithDummy[q24] = s_ExplicitVarSizeWithFlags_Values[q22] + | q24 : int(1..2)]) + | q22 : int(1..2)]), + and([s_ExplicitVarSizeWithDummy[q26] != 3 -> + or([s_ExplicitVarSizeWithFlags_Flags[q28] /\ + s_ExplicitVarSizeWithFlags_Values[q28] = s_ExplicitVarSizeWithDummy[q26] + | q28 : int(1..2)]) + | q26 : int(1..2)]), + and([s_ExplicitVarSizeWithFlags_Flags[q30] -> + or([q32 <= s_ExplicitVarSizeWithMarker_Marker /\ + s_ExplicitVarSizeWithMarker_Values[q32] = s_ExplicitVarSizeWithFlags_Values[q30] + | q32 : int(1..2)]) + | q30 : int(1..2)]), + and([q34 <= s_ExplicitVarSizeWithMarker_Marker -> + or([s_ExplicitVarSizeWithFlags_Flags[q36] /\ + s_ExplicitVarSizeWithFlags_Values[q36] = s_ExplicitVarSizeWithMarker_Values[q34] + | q36 : int(1..2)]) + | q34 : int(1..2)]) + diff --git a/tests/exhaustive/basic/set_card_00/expected/model_2_4_1-solution000001.solution b/tests/exhaustive/basic/set_card_00/expected/model_2_4_1-solution000001.solution new file mode 100644 index 0000000000..6c0d0fdad8 --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_2_4_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting s be {1} diff --git a/tests/exhaustive/basic/set_card_00/expected/model_2_4_1-solution000002.solution b/tests/exhaustive/basic/set_card_00/expected/model_2_4_1-solution000002.solution new file mode 100644 index 0000000000..2ce5f2081f --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_2_4_1-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting s be {1, 2} diff --git a/tests/exhaustive/basic/set_card_00/expected/model_2_4_1.eprime b/tests/exhaustive/basic/set_card_00/expected/model_2_4_1.eprime new file mode 100644 index 0000000000..9b0944284e --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_2_4_1.eprime @@ -0,0 +1,37 @@ +language ESSENCE' 1.0 + +find s_ExplicitVarSizeWithDummy: matrix indexed by [int(1..2)] of int(1..3) +find s_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..2)] of bool +find s_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..2)] of int(1..2) +find s_Occurrence: matrix indexed by [int(1..2)] of bool +branching on + [s_Occurrence, s_ExplicitVarSizeWithDummy, s_ExplicitVarSizeWithFlags_Flags, s_ExplicitVarSizeWithFlags_Values] +such that + or([s_ExplicitVarSizeWithFlags_Flags[q30] /\ + s_ExplicitVarSizeWithFlags_Values[q30] = sum([toInt(s_ExplicitVarSizeWithDummy[q32] != 3) | q32 : int(1..2)]) + | q30 : int(1..2)]), + s_ExplicitVarSizeWithDummy[1] < s_ExplicitVarSizeWithDummy[2] \/ s_ExplicitVarSizeWithDummy[1] = 3, + s_ExplicitVarSizeWithDummy[1] = 3 -> s_ExplicitVarSizeWithDummy[2] = 3, + s_ExplicitVarSizeWithFlags_Flags[2] -> s_ExplicitVarSizeWithFlags_Values[1] < s_ExplicitVarSizeWithFlags_Values[2], + and([s_ExplicitVarSizeWithFlags_Flags[q6] = false -> s_ExplicitVarSizeWithFlags_Values[q6] = 1 | q6 : int(1..2)]), + s_ExplicitVarSizeWithFlags_Flags[2] -> s_ExplicitVarSizeWithFlags_Flags[1], + and([s_ExplicitVarSizeWithFlags_Flags[q11] -> + or([s_ExplicitVarSizeWithDummy[q13] != 3 /\ + s_ExplicitVarSizeWithDummy[q13] = s_ExplicitVarSizeWithFlags_Values[q11] + | q13 : int(1..2)]) + | q11 : int(1..2)]), + and([s_ExplicitVarSizeWithDummy[q15] != 3 -> + or([s_ExplicitVarSizeWithFlags_Flags[q17] /\ + s_ExplicitVarSizeWithFlags_Values[q17] = s_ExplicitVarSizeWithDummy[q15] + | q17 : int(1..2)]) + | q15 : int(1..2)]), + and([s_Occurrence[q19] -> + or([s_ExplicitVarSizeWithDummy[q21] != 3 /\ s_ExplicitVarSizeWithDummy[q21] = q19 | q21 : int(1..2)]) + | q19 : int(1..2)]), + and([s_ExplicitVarSizeWithDummy[q23] != 3 -> s_Occurrence[s_ExplicitVarSizeWithDummy[q23]] | q23 : int(1..2)]), + and([s_Occurrence[q24] -> + or([s_ExplicitVarSizeWithFlags_Flags[q26] /\ s_ExplicitVarSizeWithFlags_Values[q26] = q24 | q26 : int(1..2)]) + | q24 : int(1..2)]), + and([s_ExplicitVarSizeWithFlags_Flags[q28] -> s_Occurrence[s_ExplicitVarSizeWithFlags_Values[q28]] + | q28 : int(1..2)]) + diff --git a/tests/exhaustive/basic/set_card_00/expected/model_2_4_2-solution000001.solution b/tests/exhaustive/basic/set_card_00/expected/model_2_4_2-solution000001.solution new file mode 100644 index 0000000000..6c0d0fdad8 --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_2_4_2-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting s be {1} diff --git a/tests/exhaustive/basic/set_card_00/expected/model_2_4_2-solution000002.solution b/tests/exhaustive/basic/set_card_00/expected/model_2_4_2-solution000002.solution new file mode 100644 index 0000000000..2ce5f2081f --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_2_4_2-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting s be {1, 2} diff --git a/tests/exhaustive/basic/set_card_00/expected/model_2_4_2.eprime b/tests/exhaustive/basic/set_card_00/expected/model_2_4_2.eprime new file mode 100644 index 0000000000..52e3cd4bb4 --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_2_4_2.eprime @@ -0,0 +1,26 @@ +language ESSENCE' 1.0 + +find s_ExplicitVarSizeWithDummy: matrix indexed by [int(1..2)] of int(1..3) +find s_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..2)] of bool +find s_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..2)] of int(1..2) +branching on [s_ExplicitVarSizeWithFlags_Flags, s_ExplicitVarSizeWithFlags_Values, s_ExplicitVarSizeWithDummy] +such that + or([s_ExplicitVarSizeWithFlags_Flags[q19] /\ + s_ExplicitVarSizeWithFlags_Values[q19] = sum([toInt(s_ExplicitVarSizeWithDummy[q21] != 3) | q21 : int(1..2)]) + | q19 : int(1..2)]), + s_ExplicitVarSizeWithDummy[1] < s_ExplicitVarSizeWithDummy[2] \/ s_ExplicitVarSizeWithDummy[1] = 3, + s_ExplicitVarSizeWithDummy[1] = 3 -> s_ExplicitVarSizeWithDummy[2] = 3, + s_ExplicitVarSizeWithFlags_Flags[2] -> s_ExplicitVarSizeWithFlags_Values[1] < s_ExplicitVarSizeWithFlags_Values[2], + and([s_ExplicitVarSizeWithFlags_Flags[q6] = false -> s_ExplicitVarSizeWithFlags_Values[q6] = 1 | q6 : int(1..2)]), + s_ExplicitVarSizeWithFlags_Flags[2] -> s_ExplicitVarSizeWithFlags_Flags[1], + and([s_ExplicitVarSizeWithFlags_Flags[q11] -> + or([s_ExplicitVarSizeWithDummy[q13] != 3 /\ + s_ExplicitVarSizeWithDummy[q13] = s_ExplicitVarSizeWithFlags_Values[q11] + | q13 : int(1..2)]) + | q11 : int(1..2)]), + and([s_ExplicitVarSizeWithDummy[q15] != 3 -> + or([s_ExplicitVarSizeWithFlags_Flags[q17] /\ + s_ExplicitVarSizeWithFlags_Values[q17] = s_ExplicitVarSizeWithDummy[q15] + | q17 : int(1..2)]) + | q15 : int(1..2)]) + diff --git a/tests/exhaustive/basic/set_card_00/expected/model_2_4_3-solution000001.solution b/tests/exhaustive/basic/set_card_00/expected/model_2_4_3-solution000001.solution new file mode 100644 index 0000000000..6c0d0fdad8 --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_2_4_3-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting s be {1} diff --git a/tests/exhaustive/basic/set_card_00/expected/model_2_4_3-solution000002.solution b/tests/exhaustive/basic/set_card_00/expected/model_2_4_3-solution000002.solution new file mode 100644 index 0000000000..2ce5f2081f --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_2_4_3-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting s be {1, 2} diff --git a/tests/exhaustive/basic/set_card_00/expected/model_2_4_3.eprime b/tests/exhaustive/basic/set_card_00/expected/model_2_4_3.eprime new file mode 100644 index 0000000000..d77907f01f --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_2_4_3.eprime @@ -0,0 +1,53 @@ +language ESSENCE' 1.0 + +find s_ExplicitVarSizeWithDummy: matrix indexed by [int(1..2)] of int(1..3) +find s_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..2)] of bool +find s_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..2)] of int(1..2) +find s_ExplicitVarSizeWithMarker_Marker: int(0..2) +find s_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..2)] of int(1..2) +branching on + [s_ExplicitVarSizeWithMarker_Marker, s_ExplicitVarSizeWithMarker_Values, s_ExplicitVarSizeWithDummy, + s_ExplicitVarSizeWithFlags_Flags, s_ExplicitVarSizeWithFlags_Values] +such that + or([s_ExplicitVarSizeWithFlags_Flags[q38] /\ + s_ExplicitVarSizeWithFlags_Values[q38] = sum([toInt(s_ExplicitVarSizeWithDummy[q40] != 3) | q40 : int(1..2)]) + | q38 : int(1..2)]), + s_ExplicitVarSizeWithDummy[1] < s_ExplicitVarSizeWithDummy[2] \/ s_ExplicitVarSizeWithDummy[1] = 3, + s_ExplicitVarSizeWithDummy[1] = 3 -> s_ExplicitVarSizeWithDummy[2] = 3, + s_ExplicitVarSizeWithFlags_Flags[2] -> s_ExplicitVarSizeWithFlags_Values[1] < s_ExplicitVarSizeWithFlags_Values[2], + and([s_ExplicitVarSizeWithFlags_Flags[q6] = false -> s_ExplicitVarSizeWithFlags_Values[q6] = 1 | q6 : int(1..2)]), + s_ExplicitVarSizeWithFlags_Flags[2] -> s_ExplicitVarSizeWithFlags_Flags[1], + and([s_ExplicitVarSizeWithFlags_Flags[q11] -> + or([s_ExplicitVarSizeWithDummy[q13] != 3 /\ + s_ExplicitVarSizeWithDummy[q13] = s_ExplicitVarSizeWithFlags_Values[q11] + | q13 : int(1..2)]) + | q11 : int(1..2)]), + and([s_ExplicitVarSizeWithDummy[q15] != 3 -> + or([s_ExplicitVarSizeWithFlags_Flags[q17] /\ + s_ExplicitVarSizeWithFlags_Values[q17] = s_ExplicitVarSizeWithDummy[q15] + | q17 : int(1..2)]) + | q15 : int(1..2)]), + 2 <= s_ExplicitVarSizeWithMarker_Marker -> + s_ExplicitVarSizeWithMarker_Values[1] < s_ExplicitVarSizeWithMarker_Values[2], + and([q19 > s_ExplicitVarSizeWithMarker_Marker -> s_ExplicitVarSizeWithMarker_Values[q19] = 1 | q19 : int(1..2)]), + and([q22 <= s_ExplicitVarSizeWithMarker_Marker -> + or([s_ExplicitVarSizeWithDummy[q24] != 3 /\ + s_ExplicitVarSizeWithDummy[q24] = s_ExplicitVarSizeWithMarker_Values[q22] + | q24 : int(1..2)]) + | q22 : int(1..2)]), + and([s_ExplicitVarSizeWithDummy[q26] != 3 -> + or([q28 <= s_ExplicitVarSizeWithMarker_Marker /\ + s_ExplicitVarSizeWithMarker_Values[q28] = s_ExplicitVarSizeWithDummy[q26] + | q28 : int(1..2)]) + | q26 : int(1..2)]), + and([q30 <= s_ExplicitVarSizeWithMarker_Marker -> + or([s_ExplicitVarSizeWithFlags_Flags[q32] /\ + s_ExplicitVarSizeWithFlags_Values[q32] = s_ExplicitVarSizeWithMarker_Values[q30] + | q32 : int(1..2)]) + | q30 : int(1..2)]), + and([s_ExplicitVarSizeWithFlags_Flags[q34] -> + or([q36 <= s_ExplicitVarSizeWithMarker_Marker /\ + s_ExplicitVarSizeWithMarker_Values[q36] = s_ExplicitVarSizeWithFlags_Values[q34] + | q36 : int(1..2)]) + | q34 : int(1..2)]) + diff --git a/tests/exhaustive/basic/set_card_00/expected/model_3_1_1-solution000001.solution b/tests/exhaustive/basic/set_card_00/expected/model_3_1_1-solution000001.solution new file mode 100644 index 0000000000..6c0d0fdad8 --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_3_1_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting s be {1} diff --git a/tests/exhaustive/basic/set_card_00/expected/model_3_1_1-solution000002.solution b/tests/exhaustive/basic/set_card_00/expected/model_3_1_1-solution000002.solution new file mode 100644 index 0000000000..2ce5f2081f --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_3_1_1-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting s be {1, 2} diff --git a/tests/exhaustive/basic/set_card_00/expected/model_3_1_1.eprime b/tests/exhaustive/basic/set_card_00/expected/model_3_1_1.eprime new file mode 100644 index 0000000000..e844855cfd --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_3_1_1.eprime @@ -0,0 +1,17 @@ +language ESSENCE' 1.0 + +find s_ExplicitVarSizeWithMarker_Marker: int(0..2) +find s_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..2)] of int(1..2) +find s_Occurrence: matrix indexed by [int(1..2)] of bool +branching on [s_Occurrence, s_ExplicitVarSizeWithMarker_Marker, s_ExplicitVarSizeWithMarker_Values] +such that + s_Occurrence[s_ExplicitVarSizeWithMarker_Marker], + 2 <= s_ExplicitVarSizeWithMarker_Marker -> + s_ExplicitVarSizeWithMarker_Values[1] < s_ExplicitVarSizeWithMarker_Values[2], + and([q2 > s_ExplicitVarSizeWithMarker_Marker -> s_ExplicitVarSizeWithMarker_Values[q2] = 1 | q2 : int(1..2)]), + and([s_Occurrence[q5] -> + or([q7 <= s_ExplicitVarSizeWithMarker_Marker /\ s_ExplicitVarSizeWithMarker_Values[q7] = q5 | q7 : int(1..2)]) + | q5 : int(1..2)]), + and([q9 <= s_ExplicitVarSizeWithMarker_Marker -> s_Occurrence[s_ExplicitVarSizeWithMarker_Values[q9]] + | q9 : int(1..2)]) + diff --git a/tests/exhaustive/basic/set_card_00/expected/model_3_1_2-solution000001.solution b/tests/exhaustive/basic/set_card_00/expected/model_3_1_2-solution000001.solution new file mode 100644 index 0000000000..2ce5f2081f --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_3_1_2-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting s be {1, 2} diff --git a/tests/exhaustive/basic/set_card_00/expected/model_3_1_2-solution000002.solution b/tests/exhaustive/basic/set_card_00/expected/model_3_1_2-solution000002.solution new file mode 100644 index 0000000000..6c0d0fdad8 --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_3_1_2-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting s be {1} diff --git a/tests/exhaustive/basic/set_card_00/expected/model_3_1_2.eprime b/tests/exhaustive/basic/set_card_00/expected/model_3_1_2.eprime new file mode 100644 index 0000000000..14e09f9356 --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_3_1_2.eprime @@ -0,0 +1,36 @@ +language ESSENCE' 1.0 + +find s_ExplicitVarSizeWithMarker_Marker: int(0..2) +find s_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..2)] of int(1..2) +find s_Occurrence: matrix indexed by [int(1..2)] of bool +find s_ExplicitVarSizeWithDummy: matrix indexed by [int(1..2)] of int(1..3) +branching on + [s_ExplicitVarSizeWithDummy, s_ExplicitVarSizeWithMarker_Marker, s_ExplicitVarSizeWithMarker_Values, s_Occurrence] +such that + s_Occurrence[s_ExplicitVarSizeWithMarker_Marker], + 2 <= s_ExplicitVarSizeWithMarker_Marker -> + s_ExplicitVarSizeWithMarker_Values[1] < s_ExplicitVarSizeWithMarker_Values[2], + and([q2 > s_ExplicitVarSizeWithMarker_Marker -> s_ExplicitVarSizeWithMarker_Values[q2] = 1 | q2 : int(1..2)]), + and([s_Occurrence[q22] -> + or([q24 <= s_ExplicitVarSizeWithMarker_Marker /\ s_ExplicitVarSizeWithMarker_Values[q24] = q22 + | q24 : int(1..2)]) + | q22 : int(1..2)]), + and([q26 <= s_ExplicitVarSizeWithMarker_Marker -> s_Occurrence[s_ExplicitVarSizeWithMarker_Values[q26]] + | q26 : int(1..2)]), + s_ExplicitVarSizeWithDummy[1] < s_ExplicitVarSizeWithDummy[2] \/ s_ExplicitVarSizeWithDummy[1] = 3, + s_ExplicitVarSizeWithDummy[1] = 3 -> s_ExplicitVarSizeWithDummy[2] = 3, + and([s_ExplicitVarSizeWithDummy[q10] != 3 -> + or([q12 <= s_ExplicitVarSizeWithMarker_Marker /\ + s_ExplicitVarSizeWithMarker_Values[q12] = s_ExplicitVarSizeWithDummy[q10] + | q12 : int(1..2)]) + | q10 : int(1..2)]), + and([q14 <= s_ExplicitVarSizeWithMarker_Marker -> + or([s_ExplicitVarSizeWithDummy[q16] != 3 /\ + s_ExplicitVarSizeWithDummy[q16] = s_ExplicitVarSizeWithMarker_Values[q14] + | q16 : int(1..2)]) + | q14 : int(1..2)]), + and([s_ExplicitVarSizeWithDummy[q18] != 3 -> s_Occurrence[s_ExplicitVarSizeWithDummy[q18]] | q18 : int(1..2)]), + and([s_Occurrence[q19] -> + or([s_ExplicitVarSizeWithDummy[q21] != 3 /\ s_ExplicitVarSizeWithDummy[q21] = q19 | q21 : int(1..2)]) + | q19 : int(1..2)]) + diff --git a/tests/exhaustive/basic/set_card_00/expected/model_3_1_4-solution000001.solution b/tests/exhaustive/basic/set_card_00/expected/model_3_1_4-solution000001.solution new file mode 100644 index 0000000000..6c0d0fdad8 --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_3_1_4-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting s be {1} diff --git a/tests/exhaustive/basic/set_card_00/expected/model_3_1_4-solution000002.solution b/tests/exhaustive/basic/set_card_00/expected/model_3_1_4-solution000002.solution new file mode 100644 index 0000000000..2ce5f2081f --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_3_1_4-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting s be {1, 2} diff --git a/tests/exhaustive/basic/set_card_00/expected/model_3_1_4.eprime b/tests/exhaustive/basic/set_card_00/expected/model_3_1_4.eprime new file mode 100644 index 0000000000..9425709c75 --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_3_1_4.eprime @@ -0,0 +1,40 @@ +language ESSENCE' 1.0 + +find s_ExplicitVarSizeWithMarker_Marker: int(0..2) +find s_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..2)] of int(1..2) +find s_Occurrence: matrix indexed by [int(1..2)] of bool +find s_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..2)] of bool +find s_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..2)] of int(1..2) +branching on + [s_ExplicitVarSizeWithFlags_Flags, s_ExplicitVarSizeWithFlags_Values, s_ExplicitVarSizeWithMarker_Marker, + s_ExplicitVarSizeWithMarker_Values, s_Occurrence] +such that + s_Occurrence[s_ExplicitVarSizeWithMarker_Marker], + 2 <= s_ExplicitVarSizeWithMarker_Marker -> + s_ExplicitVarSizeWithMarker_Values[1] < s_ExplicitVarSizeWithMarker_Values[2], + and([q2 > s_ExplicitVarSizeWithMarker_Marker -> s_ExplicitVarSizeWithMarker_Values[q2] = 1 | q2 : int(1..2)]), + and([s_Occurrence[q23] -> + or([q25 <= s_ExplicitVarSizeWithMarker_Marker /\ s_ExplicitVarSizeWithMarker_Values[q25] = q23 + | q25 : int(1..2)]) + | q23 : int(1..2)]), + and([q27 <= s_ExplicitVarSizeWithMarker_Marker -> s_Occurrence[s_ExplicitVarSizeWithMarker_Values[q27]] + | q27 : int(1..2)]), + s_ExplicitVarSizeWithFlags_Flags[2] -> s_ExplicitVarSizeWithFlags_Values[1] < s_ExplicitVarSizeWithFlags_Values[2], + and([s_ExplicitVarSizeWithFlags_Flags[q6] = false -> s_ExplicitVarSizeWithFlags_Values[q6] = 1 | q6 : int(1..2)]), + s_ExplicitVarSizeWithFlags_Flags[2] -> s_ExplicitVarSizeWithFlags_Flags[1], + and([s_ExplicitVarSizeWithFlags_Flags[q11] -> + or([q13 <= s_ExplicitVarSizeWithMarker_Marker /\ + s_ExplicitVarSizeWithMarker_Values[q13] = s_ExplicitVarSizeWithFlags_Values[q11] + | q13 : int(1..2)]) + | q11 : int(1..2)]), + and([q15 <= s_ExplicitVarSizeWithMarker_Marker -> + or([s_ExplicitVarSizeWithFlags_Flags[q17] /\ + s_ExplicitVarSizeWithFlags_Values[q17] = s_ExplicitVarSizeWithMarker_Values[q15] + | q17 : int(1..2)]) + | q15 : int(1..2)]), + and([s_ExplicitVarSizeWithFlags_Flags[q19] -> s_Occurrence[s_ExplicitVarSizeWithFlags_Values[q19]] + | q19 : int(1..2)]), + and([s_Occurrence[q20] -> + or([s_ExplicitVarSizeWithFlags_Flags[q22] /\ s_ExplicitVarSizeWithFlags_Values[q22] = q20 | q22 : int(1..2)]) + | q20 : int(1..2)]) + diff --git a/tests/exhaustive/basic/set_card_00/expected/model_3_2_1-solution000001.solution b/tests/exhaustive/basic/set_card_00/expected/model_3_2_1-solution000001.solution new file mode 100644 index 0000000000..6c0d0fdad8 --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_3_2_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting s be {1} diff --git a/tests/exhaustive/basic/set_card_00/expected/model_3_2_1-solution000002.solution b/tests/exhaustive/basic/set_card_00/expected/model_3_2_1-solution000002.solution new file mode 100644 index 0000000000..2ce5f2081f --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_3_2_1-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting s be {1, 2} diff --git a/tests/exhaustive/basic/set_card_00/expected/model_3_2_1.eprime b/tests/exhaustive/basic/set_card_00/expected/model_3_2_1.eprime new file mode 100644 index 0000000000..3f3dfb7cd2 --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_3_2_1.eprime @@ -0,0 +1,37 @@ +language ESSENCE' 1.0 + +find s_ExplicitVarSizeWithMarker_Marker: int(0..2) +find s_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..2)] of int(1..2) +find s_ExplicitVarSizeWithDummy: matrix indexed by [int(1..2)] of int(1..3) +find s_Occurrence: matrix indexed by [int(1..2)] of bool +branching on + [s_Occurrence, s_ExplicitVarSizeWithMarker_Marker, s_ExplicitVarSizeWithMarker_Values, s_ExplicitVarSizeWithDummy] +such that + or([s_ExplicitVarSizeWithDummy[q18] != 3 /\ s_ExplicitVarSizeWithDummy[q18] = s_ExplicitVarSizeWithMarker_Marker + | q18 : int(1..2)]), + 2 <= s_ExplicitVarSizeWithMarker_Marker -> + s_ExplicitVarSizeWithMarker_Values[1] < s_ExplicitVarSizeWithMarker_Values[2], + and([q2 > s_ExplicitVarSizeWithMarker_Marker -> s_ExplicitVarSizeWithMarker_Values[q2] = 1 | q2 : int(1..2)]), + s_ExplicitVarSizeWithDummy[1] < s_ExplicitVarSizeWithDummy[2] \/ s_ExplicitVarSizeWithDummy[1] = 3, + s_ExplicitVarSizeWithDummy[1] = 3 -> s_ExplicitVarSizeWithDummy[2] = 3, + and([s_ExplicitVarSizeWithDummy[q9] != 3 -> + or([q11 <= s_ExplicitVarSizeWithMarker_Marker /\ + s_ExplicitVarSizeWithMarker_Values[q11] = s_ExplicitVarSizeWithDummy[q9] + | q11 : int(1..2)]) + | q9 : int(1..2)]), + and([q13 <= s_ExplicitVarSizeWithMarker_Marker -> + or([s_ExplicitVarSizeWithDummy[q15] != 3 /\ + s_ExplicitVarSizeWithDummy[q15] = s_ExplicitVarSizeWithMarker_Values[q13] + | q15 : int(1..2)]) + | q13 : int(1..2)]), + and([s_Occurrence[q19] -> + or([q21 <= s_ExplicitVarSizeWithMarker_Marker /\ s_ExplicitVarSizeWithMarker_Values[q21] = q19 + | q21 : int(1..2)]) + | q19 : int(1..2)]), + and([q23 <= s_ExplicitVarSizeWithMarker_Marker -> s_Occurrence[s_ExplicitVarSizeWithMarker_Values[q23]] + | q23 : int(1..2)]), + and([s_Occurrence[q24] -> + or([s_ExplicitVarSizeWithDummy[q26] != 3 /\ s_ExplicitVarSizeWithDummy[q26] = q24 | q26 : int(1..2)]) + | q24 : int(1..2)]), + and([s_ExplicitVarSizeWithDummy[q28] != 3 -> s_Occurrence[s_ExplicitVarSizeWithDummy[q28]] | q28 : int(1..2)]) + diff --git a/tests/exhaustive/basic/set_card_00/expected/model_3_2_2-solution000001.solution b/tests/exhaustive/basic/set_card_00/expected/model_3_2_2-solution000001.solution new file mode 100644 index 0000000000..2ce5f2081f --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_3_2_2-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting s be {1, 2} diff --git a/tests/exhaustive/basic/set_card_00/expected/model_3_2_2-solution000002.solution b/tests/exhaustive/basic/set_card_00/expected/model_3_2_2-solution000002.solution new file mode 100644 index 0000000000..6c0d0fdad8 --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_3_2_2-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting s be {1} diff --git a/tests/exhaustive/basic/set_card_00/expected/model_3_2_2.eprime b/tests/exhaustive/basic/set_card_00/expected/model_3_2_2.eprime new file mode 100644 index 0000000000..a9af356a26 --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_3_2_2.eprime @@ -0,0 +1,25 @@ +language ESSENCE' 1.0 + +find s_ExplicitVarSizeWithMarker_Marker: int(0..2) +find s_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..2)] of int(1..2) +find s_ExplicitVarSizeWithDummy: matrix indexed by [int(1..2)] of int(1..3) +branching on [s_ExplicitVarSizeWithDummy, s_ExplicitVarSizeWithMarker_Marker, s_ExplicitVarSizeWithMarker_Values] +such that + or([s_ExplicitVarSizeWithDummy[q17] != 3 /\ s_ExplicitVarSizeWithDummy[q17] = s_ExplicitVarSizeWithMarker_Marker + | q17 : int(1..2)]), + 2 <= s_ExplicitVarSizeWithMarker_Marker -> + s_ExplicitVarSizeWithMarker_Values[1] < s_ExplicitVarSizeWithMarker_Values[2], + and([q2 > s_ExplicitVarSizeWithMarker_Marker -> s_ExplicitVarSizeWithMarker_Values[q2] = 1 | q2 : int(1..2)]), + s_ExplicitVarSizeWithDummy[1] < s_ExplicitVarSizeWithDummy[2] \/ s_ExplicitVarSizeWithDummy[1] = 3, + s_ExplicitVarSizeWithDummy[1] = 3 -> s_ExplicitVarSizeWithDummy[2] = 3, + and([s_ExplicitVarSizeWithDummy[q9] != 3 -> + or([q11 <= s_ExplicitVarSizeWithMarker_Marker /\ + s_ExplicitVarSizeWithMarker_Values[q11] = s_ExplicitVarSizeWithDummy[q9] + | q11 : int(1..2)]) + | q9 : int(1..2)]), + and([q13 <= s_ExplicitVarSizeWithMarker_Marker -> + or([s_ExplicitVarSizeWithDummy[q15] != 3 /\ + s_ExplicitVarSizeWithDummy[q15] = s_ExplicitVarSizeWithMarker_Values[q13] + | q15 : int(1..2)]) + | q13 : int(1..2)]) + diff --git a/tests/exhaustive/basic/set_card_00/expected/model_3_2_4-solution000001.solution b/tests/exhaustive/basic/set_card_00/expected/model_3_2_4-solution000001.solution new file mode 100644 index 0000000000..6c0d0fdad8 --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_3_2_4-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting s be {1} diff --git a/tests/exhaustive/basic/set_card_00/expected/model_3_2_4-solution000002.solution b/tests/exhaustive/basic/set_card_00/expected/model_3_2_4-solution000002.solution new file mode 100644 index 0000000000..2ce5f2081f --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_3_2_4-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting s be {1, 2} diff --git a/tests/exhaustive/basic/set_card_00/expected/model_3_2_4.eprime b/tests/exhaustive/basic/set_card_00/expected/model_3_2_4.eprime new file mode 100644 index 0000000000..b4d1060382 --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_3_2_4.eprime @@ -0,0 +1,53 @@ +language ESSENCE' 1.0 + +find s_ExplicitVarSizeWithMarker_Marker: int(0..2) +find s_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..2)] of int(1..2) +find s_ExplicitVarSizeWithDummy: matrix indexed by [int(1..2)] of int(1..3) +find s_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..2)] of bool +find s_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..2)] of int(1..2) +branching on + [s_ExplicitVarSizeWithFlags_Flags, s_ExplicitVarSizeWithFlags_Values, s_ExplicitVarSizeWithMarker_Marker, + s_ExplicitVarSizeWithMarker_Values, s_ExplicitVarSizeWithDummy] +such that + or([s_ExplicitVarSizeWithDummy[q38] != 3 /\ s_ExplicitVarSizeWithDummy[q38] = s_ExplicitVarSizeWithMarker_Marker + | q38 : int(1..2)]), + 2 <= s_ExplicitVarSizeWithMarker_Marker -> + s_ExplicitVarSizeWithMarker_Values[1] < s_ExplicitVarSizeWithMarker_Values[2], + and([q2 > s_ExplicitVarSizeWithMarker_Marker -> s_ExplicitVarSizeWithMarker_Values[q2] = 1 | q2 : int(1..2)]), + s_ExplicitVarSizeWithDummy[1] < s_ExplicitVarSizeWithDummy[2] \/ s_ExplicitVarSizeWithDummy[1] = 3, + s_ExplicitVarSizeWithDummy[1] = 3 -> s_ExplicitVarSizeWithDummy[2] = 3, + and([s_ExplicitVarSizeWithDummy[q9] != 3 -> + or([q11 <= s_ExplicitVarSizeWithMarker_Marker /\ + s_ExplicitVarSizeWithMarker_Values[q11] = s_ExplicitVarSizeWithDummy[q9] + | q11 : int(1..2)]) + | q9 : int(1..2)]), + and([q13 <= s_ExplicitVarSizeWithMarker_Marker -> + or([s_ExplicitVarSizeWithDummy[q15] != 3 /\ + s_ExplicitVarSizeWithDummy[q15] = s_ExplicitVarSizeWithMarker_Values[q13] + | q15 : int(1..2)]) + | q13 : int(1..2)]), + s_ExplicitVarSizeWithFlags_Flags[2] -> s_ExplicitVarSizeWithFlags_Values[1] < s_ExplicitVarSizeWithFlags_Values[2], + and([s_ExplicitVarSizeWithFlags_Flags[q17] = false -> s_ExplicitVarSizeWithFlags_Values[q17] = 1 + | q17 : int(1..2)]), + s_ExplicitVarSizeWithFlags_Flags[2] -> s_ExplicitVarSizeWithFlags_Flags[1], + and([s_ExplicitVarSizeWithFlags_Flags[q22] -> + or([q24 <= s_ExplicitVarSizeWithMarker_Marker /\ + s_ExplicitVarSizeWithMarker_Values[q24] = s_ExplicitVarSizeWithFlags_Values[q22] + | q24 : int(1..2)]) + | q22 : int(1..2)]), + and([q26 <= s_ExplicitVarSizeWithMarker_Marker -> + or([s_ExplicitVarSizeWithFlags_Flags[q28] /\ + s_ExplicitVarSizeWithFlags_Values[q28] = s_ExplicitVarSizeWithMarker_Values[q26] + | q28 : int(1..2)]) + | q26 : int(1..2)]), + and([s_ExplicitVarSizeWithFlags_Flags[q30] -> + or([s_ExplicitVarSizeWithDummy[q32] != 3 /\ + s_ExplicitVarSizeWithDummy[q32] = s_ExplicitVarSizeWithFlags_Values[q30] + | q32 : int(1..2)]) + | q30 : int(1..2)]), + and([s_ExplicitVarSizeWithDummy[q34] != 3 -> + or([s_ExplicitVarSizeWithFlags_Flags[q36] /\ + s_ExplicitVarSizeWithFlags_Values[q36] = s_ExplicitVarSizeWithDummy[q34] + | q36 : int(1..2)]) + | q34 : int(1..2)]) + diff --git a/tests/exhaustive/basic/set_card_00/expected/model_3_3_1-solution000001.solution b/tests/exhaustive/basic/set_card_00/expected/model_3_3_1-solution000001.solution new file mode 100644 index 0000000000..6c0d0fdad8 --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_3_3_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting s be {1} diff --git a/tests/exhaustive/basic/set_card_00/expected/model_3_3_1-solution000002.solution b/tests/exhaustive/basic/set_card_00/expected/model_3_3_1-solution000002.solution new file mode 100644 index 0000000000..2ce5f2081f --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_3_3_1-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting s be {1, 2} diff --git a/tests/exhaustive/basic/set_card_00/expected/model_3_3_1.eprime b/tests/exhaustive/basic/set_card_00/expected/model_3_3_1.eprime new file mode 100644 index 0000000000..09493a4fe3 --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_3_3_1.eprime @@ -0,0 +1,19 @@ +language ESSENCE' 1.0 + +find s_ExplicitVarSizeWithMarker_Marker: int(0..2) +find s_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..2)] of int(1..2) +find s_Occurrence: matrix indexed by [int(1..2)] of bool +branching on [s_Occurrence, s_ExplicitVarSizeWithMarker_Marker, s_ExplicitVarSizeWithMarker_Values] +such that + or([q6 <= s_ExplicitVarSizeWithMarker_Marker /\ + s_ExplicitVarSizeWithMarker_Values[q6] = s_ExplicitVarSizeWithMarker_Marker + | q6 : int(1..2)]), + 2 <= s_ExplicitVarSizeWithMarker_Marker -> + s_ExplicitVarSizeWithMarker_Values[1] < s_ExplicitVarSizeWithMarker_Values[2], + and([q2 > s_ExplicitVarSizeWithMarker_Marker -> s_ExplicitVarSizeWithMarker_Values[q2] = 1 | q2 : int(1..2)]), + and([s_Occurrence[q7] -> + or([q9 <= s_ExplicitVarSizeWithMarker_Marker /\ s_ExplicitVarSizeWithMarker_Values[q9] = q7 | q9 : int(1..2)]) + | q7 : int(1..2)]), + and([q11 <= s_ExplicitVarSizeWithMarker_Marker -> s_Occurrence[s_ExplicitVarSizeWithMarker_Values[q11]] + | q11 : int(1..2)]) + diff --git a/tests/exhaustive/basic/set_card_00/expected/model_3_3_2-solution000001.solution b/tests/exhaustive/basic/set_card_00/expected/model_3_3_2-solution000001.solution new file mode 100644 index 0000000000..2ce5f2081f --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_3_3_2-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting s be {1, 2} diff --git a/tests/exhaustive/basic/set_card_00/expected/model_3_3_2-solution000002.solution b/tests/exhaustive/basic/set_card_00/expected/model_3_3_2-solution000002.solution new file mode 100644 index 0000000000..6c0d0fdad8 --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_3_3_2-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting s be {1} diff --git a/tests/exhaustive/basic/set_card_00/expected/model_3_3_2.eprime b/tests/exhaustive/basic/set_card_00/expected/model_3_3_2.eprime new file mode 100644 index 0000000000..2b66d82f1b --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_3_3_2.eprime @@ -0,0 +1,26 @@ +language ESSENCE' 1.0 + +find s_ExplicitVarSizeWithMarker_Marker: int(0..2) +find s_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..2)] of int(1..2) +find s_ExplicitVarSizeWithDummy: matrix indexed by [int(1..2)] of int(1..3) +branching on [s_ExplicitVarSizeWithDummy, s_ExplicitVarSizeWithMarker_Marker, s_ExplicitVarSizeWithMarker_Values] +such that + or([q17 <= s_ExplicitVarSizeWithMarker_Marker /\ + s_ExplicitVarSizeWithMarker_Values[q17] = s_ExplicitVarSizeWithMarker_Marker + | q17 : int(1..2)]), + 2 <= s_ExplicitVarSizeWithMarker_Marker -> + s_ExplicitVarSizeWithMarker_Values[1] < s_ExplicitVarSizeWithMarker_Values[2], + and([q2 > s_ExplicitVarSizeWithMarker_Marker -> s_ExplicitVarSizeWithMarker_Values[q2] = 1 | q2 : int(1..2)]), + s_ExplicitVarSizeWithDummy[1] < s_ExplicitVarSizeWithDummy[2] \/ s_ExplicitVarSizeWithDummy[1] = 3, + s_ExplicitVarSizeWithDummy[1] = 3 -> s_ExplicitVarSizeWithDummy[2] = 3, + and([s_ExplicitVarSizeWithDummy[q9] != 3 -> + or([q11 <= s_ExplicitVarSizeWithMarker_Marker /\ + s_ExplicitVarSizeWithMarker_Values[q11] = s_ExplicitVarSizeWithDummy[q9] + | q11 : int(1..2)]) + | q9 : int(1..2)]), + and([q13 <= s_ExplicitVarSizeWithMarker_Marker -> + or([s_ExplicitVarSizeWithDummy[q15] != 3 /\ + s_ExplicitVarSizeWithDummy[q15] = s_ExplicitVarSizeWithMarker_Values[q13] + | q15 : int(1..2)]) + | q13 : int(1..2)]) + diff --git a/tests/exhaustive/basic/set_card_00/expected/model_3_3_3-solution000001.solution b/tests/exhaustive/basic/set_card_00/expected/model_3_3_3-solution000001.solution new file mode 100644 index 0000000000..6c0d0fdad8 --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_3_3_3-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting s be {1} diff --git a/tests/exhaustive/basic/set_card_00/expected/model_3_3_3-solution000002.solution b/tests/exhaustive/basic/set_card_00/expected/model_3_3_3-solution000002.solution new file mode 100644 index 0000000000..2ce5f2081f --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_3_3_3-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting s be {1, 2} diff --git a/tests/exhaustive/basic/set_card_00/expected/model_3_3_3.eprime b/tests/exhaustive/basic/set_card_00/expected/model_3_3_3.eprime new file mode 100644 index 0000000000..8abe0820c9 --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_3_3_3.eprime @@ -0,0 +1,13 @@ +language ESSENCE' 1.0 + +find s_ExplicitVarSizeWithMarker_Marker: int(0..2) +find s_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..2)] of int(1..2) +branching on [s_ExplicitVarSizeWithMarker_Marker, s_ExplicitVarSizeWithMarker_Values] +such that + or([q5 <= s_ExplicitVarSizeWithMarker_Marker /\ + s_ExplicitVarSizeWithMarker_Values[q5] = s_ExplicitVarSizeWithMarker_Marker + | q5 : int(1..2)]), + 2 <= s_ExplicitVarSizeWithMarker_Marker -> + s_ExplicitVarSizeWithMarker_Values[1] < s_ExplicitVarSizeWithMarker_Values[2], + and([q2 > s_ExplicitVarSizeWithMarker_Marker -> s_ExplicitVarSizeWithMarker_Values[q2] = 1 | q2 : int(1..2)]) + diff --git a/tests/exhaustive/basic/set_card_00/expected/model_3_3_4-solution000001.solution b/tests/exhaustive/basic/set_card_00/expected/model_3_3_4-solution000001.solution new file mode 100644 index 0000000000..6c0d0fdad8 --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_3_3_4-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting s be {1} diff --git a/tests/exhaustive/basic/set_card_00/expected/model_3_3_4-solution000002.solution b/tests/exhaustive/basic/set_card_00/expected/model_3_3_4-solution000002.solution new file mode 100644 index 0000000000..2ce5f2081f --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_3_3_4-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting s be {1, 2} diff --git a/tests/exhaustive/basic/set_card_00/expected/model_3_3_4.eprime b/tests/exhaustive/basic/set_card_00/expected/model_3_3_4.eprime new file mode 100644 index 0000000000..4334952115 --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_3_3_4.eprime @@ -0,0 +1,30 @@ +language ESSENCE' 1.0 + +find s_ExplicitVarSizeWithMarker_Marker: int(0..2) +find s_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..2)] of int(1..2) +find s_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..2)] of bool +find s_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..2)] of int(1..2) +branching on + [s_ExplicitVarSizeWithFlags_Flags, s_ExplicitVarSizeWithFlags_Values, s_ExplicitVarSizeWithMarker_Marker, + s_ExplicitVarSizeWithMarker_Values] +such that + or([q18 <= s_ExplicitVarSizeWithMarker_Marker /\ + s_ExplicitVarSizeWithMarker_Values[q18] = s_ExplicitVarSizeWithMarker_Marker + | q18 : int(1..2)]), + 2 <= s_ExplicitVarSizeWithMarker_Marker -> + s_ExplicitVarSizeWithMarker_Values[1] < s_ExplicitVarSizeWithMarker_Values[2], + and([q2 > s_ExplicitVarSizeWithMarker_Marker -> s_ExplicitVarSizeWithMarker_Values[q2] = 1 | q2 : int(1..2)]), + s_ExplicitVarSizeWithFlags_Flags[2] -> s_ExplicitVarSizeWithFlags_Values[1] < s_ExplicitVarSizeWithFlags_Values[2], + and([s_ExplicitVarSizeWithFlags_Flags[q5] = false -> s_ExplicitVarSizeWithFlags_Values[q5] = 1 | q5 : int(1..2)]), + s_ExplicitVarSizeWithFlags_Flags[2] -> s_ExplicitVarSizeWithFlags_Flags[1], + and([s_ExplicitVarSizeWithFlags_Flags[q10] -> + or([q12 <= s_ExplicitVarSizeWithMarker_Marker /\ + s_ExplicitVarSizeWithMarker_Values[q12] = s_ExplicitVarSizeWithFlags_Values[q10] + | q12 : int(1..2)]) + | q10 : int(1..2)]), + and([q14 <= s_ExplicitVarSizeWithMarker_Marker -> + or([s_ExplicitVarSizeWithFlags_Flags[q16] /\ + s_ExplicitVarSizeWithFlags_Values[q16] = s_ExplicitVarSizeWithMarker_Values[q14] + | q16 : int(1..2)]) + | q14 : int(1..2)]) + diff --git a/tests/exhaustive/basic/set_card_00/expected/model_3_4_1-solution000001.solution b/tests/exhaustive/basic/set_card_00/expected/model_3_4_1-solution000001.solution new file mode 100644 index 0000000000..6c0d0fdad8 --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_3_4_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting s be {1} diff --git a/tests/exhaustive/basic/set_card_00/expected/model_3_4_1-solution000002.solution b/tests/exhaustive/basic/set_card_00/expected/model_3_4_1-solution000002.solution new file mode 100644 index 0000000000..2ce5f2081f --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_3_4_1-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting s be {1, 2} diff --git a/tests/exhaustive/basic/set_card_00/expected/model_3_4_1.eprime b/tests/exhaustive/basic/set_card_00/expected/model_3_4_1.eprime new file mode 100644 index 0000000000..e4660905d9 --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_3_4_1.eprime @@ -0,0 +1,42 @@ +language ESSENCE' 1.0 + +find s_ExplicitVarSizeWithMarker_Marker: int(0..2) +find s_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..2)] of int(1..2) +find s_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..2)] of bool +find s_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..2)] of int(1..2) +find s_Occurrence: matrix indexed by [int(1..2)] of bool +branching on + [s_Occurrence, s_ExplicitVarSizeWithMarker_Marker, s_ExplicitVarSizeWithMarker_Values, + s_ExplicitVarSizeWithFlags_Flags, s_ExplicitVarSizeWithFlags_Values] +such that + or([s_ExplicitVarSizeWithFlags_Flags[q29] /\ + s_ExplicitVarSizeWithFlags_Values[q29] = s_ExplicitVarSizeWithMarker_Marker + | q29 : int(1..2)]), + 2 <= s_ExplicitVarSizeWithMarker_Marker -> + s_ExplicitVarSizeWithMarker_Values[1] < s_ExplicitVarSizeWithMarker_Values[2], + and([q2 > s_ExplicitVarSizeWithMarker_Marker -> s_ExplicitVarSizeWithMarker_Values[q2] = 1 | q2 : int(1..2)]), + s_ExplicitVarSizeWithFlags_Flags[2] -> s_ExplicitVarSizeWithFlags_Values[1] < s_ExplicitVarSizeWithFlags_Values[2], + and([s_ExplicitVarSizeWithFlags_Flags[q5] = false -> s_ExplicitVarSizeWithFlags_Values[q5] = 1 | q5 : int(1..2)]), + s_ExplicitVarSizeWithFlags_Flags[2] -> s_ExplicitVarSizeWithFlags_Flags[1], + and([s_ExplicitVarSizeWithFlags_Flags[q10] -> + or([q12 <= s_ExplicitVarSizeWithMarker_Marker /\ + s_ExplicitVarSizeWithMarker_Values[q12] = s_ExplicitVarSizeWithFlags_Values[q10] + | q12 : int(1..2)]) + | q10 : int(1..2)]), + and([q14 <= s_ExplicitVarSizeWithMarker_Marker -> + or([s_ExplicitVarSizeWithFlags_Flags[q16] /\ + s_ExplicitVarSizeWithFlags_Values[q16] = s_ExplicitVarSizeWithMarker_Values[q14] + | q16 : int(1..2)]) + | q14 : int(1..2)]), + and([s_Occurrence[q18] -> + or([q20 <= s_ExplicitVarSizeWithMarker_Marker /\ s_ExplicitVarSizeWithMarker_Values[q20] = q18 + | q20 : int(1..2)]) + | q18 : int(1..2)]), + and([q22 <= s_ExplicitVarSizeWithMarker_Marker -> s_Occurrence[s_ExplicitVarSizeWithMarker_Values[q22]] + | q22 : int(1..2)]), + and([s_Occurrence[q23] -> + or([s_ExplicitVarSizeWithFlags_Flags[q25] /\ s_ExplicitVarSizeWithFlags_Values[q25] = q23 | q25 : int(1..2)]) + | q23 : int(1..2)]), + and([s_ExplicitVarSizeWithFlags_Flags[q27] -> s_Occurrence[s_ExplicitVarSizeWithFlags_Values[q27]] + | q27 : int(1..2)]) + diff --git a/tests/exhaustive/basic/set_card_00/expected/model_3_4_2-solution000001.solution b/tests/exhaustive/basic/set_card_00/expected/model_3_4_2-solution000001.solution new file mode 100644 index 0000000000..2ce5f2081f --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_3_4_2-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting s be {1, 2} diff --git a/tests/exhaustive/basic/set_card_00/expected/model_3_4_2-solution000002.solution b/tests/exhaustive/basic/set_card_00/expected/model_3_4_2-solution000002.solution new file mode 100644 index 0000000000..6c0d0fdad8 --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_3_4_2-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting s be {1} diff --git a/tests/exhaustive/basic/set_card_00/expected/model_3_4_2.eprime b/tests/exhaustive/basic/set_card_00/expected/model_3_4_2.eprime new file mode 100644 index 0000000000..5f852ee9cb --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_3_4_2.eprime @@ -0,0 +1,53 @@ +language ESSENCE' 1.0 + +find s_ExplicitVarSizeWithMarker_Marker: int(0..2) +find s_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..2)] of int(1..2) +find s_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..2)] of bool +find s_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..2)] of int(1..2) +find s_ExplicitVarSizeWithDummy: matrix indexed by [int(1..2)] of int(1..3) +branching on + [s_ExplicitVarSizeWithDummy, s_ExplicitVarSizeWithMarker_Marker, s_ExplicitVarSizeWithMarker_Values, + s_ExplicitVarSizeWithFlags_Flags, s_ExplicitVarSizeWithFlags_Values] +such that + or([s_ExplicitVarSizeWithFlags_Flags[q38] /\ + s_ExplicitVarSizeWithFlags_Values[q38] = s_ExplicitVarSizeWithMarker_Marker + | q38 : int(1..2)]), + 2 <= s_ExplicitVarSizeWithMarker_Marker -> + s_ExplicitVarSizeWithMarker_Values[1] < s_ExplicitVarSizeWithMarker_Values[2], + and([q2 > s_ExplicitVarSizeWithMarker_Marker -> s_ExplicitVarSizeWithMarker_Values[q2] = 1 | q2 : int(1..2)]), + s_ExplicitVarSizeWithFlags_Flags[2] -> s_ExplicitVarSizeWithFlags_Values[1] < s_ExplicitVarSizeWithFlags_Values[2], + and([s_ExplicitVarSizeWithFlags_Flags[q5] = false -> s_ExplicitVarSizeWithFlags_Values[q5] = 1 | q5 : int(1..2)]), + s_ExplicitVarSizeWithFlags_Flags[2] -> s_ExplicitVarSizeWithFlags_Flags[1], + and([s_ExplicitVarSizeWithFlags_Flags[q10] -> + or([q12 <= s_ExplicitVarSizeWithMarker_Marker /\ + s_ExplicitVarSizeWithMarker_Values[q12] = s_ExplicitVarSizeWithFlags_Values[q10] + | q12 : int(1..2)]) + | q10 : int(1..2)]), + and([q14 <= s_ExplicitVarSizeWithMarker_Marker -> + or([s_ExplicitVarSizeWithFlags_Flags[q16] /\ + s_ExplicitVarSizeWithFlags_Values[q16] = s_ExplicitVarSizeWithMarker_Values[q14] + | q16 : int(1..2)]) + | q14 : int(1..2)]), + s_ExplicitVarSizeWithDummy[1] < s_ExplicitVarSizeWithDummy[2] \/ s_ExplicitVarSizeWithDummy[1] = 3, + s_ExplicitVarSizeWithDummy[1] = 3 -> s_ExplicitVarSizeWithDummy[2] = 3, + and([s_ExplicitVarSizeWithDummy[q22] != 3 -> + or([q24 <= s_ExplicitVarSizeWithMarker_Marker /\ + s_ExplicitVarSizeWithMarker_Values[q24] = s_ExplicitVarSizeWithDummy[q22] + | q24 : int(1..2)]) + | q22 : int(1..2)]), + and([q26 <= s_ExplicitVarSizeWithMarker_Marker -> + or([s_ExplicitVarSizeWithDummy[q28] != 3 /\ + s_ExplicitVarSizeWithDummy[q28] = s_ExplicitVarSizeWithMarker_Values[q26] + | q28 : int(1..2)]) + | q26 : int(1..2)]), + and([s_ExplicitVarSizeWithDummy[q30] != 3 -> + or([s_ExplicitVarSizeWithFlags_Flags[q32] /\ + s_ExplicitVarSizeWithFlags_Values[q32] = s_ExplicitVarSizeWithDummy[q30] + | q32 : int(1..2)]) + | q30 : int(1..2)]), + and([s_ExplicitVarSizeWithFlags_Flags[q34] -> + or([s_ExplicitVarSizeWithDummy[q36] != 3 /\ + s_ExplicitVarSizeWithDummy[q36] = s_ExplicitVarSizeWithFlags_Values[q34] + | q36 : int(1..2)]) + | q34 : int(1..2)]) + diff --git a/tests/exhaustive/basic/set_card_00/expected/model_3_4_3-solution000001.solution b/tests/exhaustive/basic/set_card_00/expected/model_3_4_3-solution000001.solution new file mode 100644 index 0000000000..6c0d0fdad8 --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_3_4_3-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting s be {1} diff --git a/tests/exhaustive/basic/set_card_00/expected/model_3_4_3-solution000002.solution b/tests/exhaustive/basic/set_card_00/expected/model_3_4_3-solution000002.solution new file mode 100644 index 0000000000..2ce5f2081f --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_3_4_3-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting s be {1, 2} diff --git a/tests/exhaustive/basic/set_card_00/expected/model_3_4_3.eprime b/tests/exhaustive/basic/set_card_00/expected/model_3_4_3.eprime new file mode 100644 index 0000000000..1fd723eedd --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_3_4_3.eprime @@ -0,0 +1,30 @@ +language ESSENCE' 1.0 + +find s_ExplicitVarSizeWithMarker_Marker: int(0..2) +find s_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..2)] of int(1..2) +find s_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..2)] of bool +find s_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..2)] of int(1..2) +branching on + [s_ExplicitVarSizeWithFlags_Flags, s_ExplicitVarSizeWithFlags_Values, s_ExplicitVarSizeWithMarker_Marker, + s_ExplicitVarSizeWithMarker_Values] +such that + or([s_ExplicitVarSizeWithFlags_Flags[q18] /\ + s_ExplicitVarSizeWithFlags_Values[q18] = s_ExplicitVarSizeWithMarker_Marker + | q18 : int(1..2)]), + 2 <= s_ExplicitVarSizeWithMarker_Marker -> + s_ExplicitVarSizeWithMarker_Values[1] < s_ExplicitVarSizeWithMarker_Values[2], + and([q2 > s_ExplicitVarSizeWithMarker_Marker -> s_ExplicitVarSizeWithMarker_Values[q2] = 1 | q2 : int(1..2)]), + s_ExplicitVarSizeWithFlags_Flags[2] -> s_ExplicitVarSizeWithFlags_Values[1] < s_ExplicitVarSizeWithFlags_Values[2], + and([s_ExplicitVarSizeWithFlags_Flags[q5] = false -> s_ExplicitVarSizeWithFlags_Values[q5] = 1 | q5 : int(1..2)]), + s_ExplicitVarSizeWithFlags_Flags[2] -> s_ExplicitVarSizeWithFlags_Flags[1], + and([s_ExplicitVarSizeWithFlags_Flags[q10] -> + or([q12 <= s_ExplicitVarSizeWithMarker_Marker /\ + s_ExplicitVarSizeWithMarker_Values[q12] = s_ExplicitVarSizeWithFlags_Values[q10] + | q12 : int(1..2)]) + | q10 : int(1..2)]), + and([q14 <= s_ExplicitVarSizeWithMarker_Marker -> + or([s_ExplicitVarSizeWithFlags_Flags[q16] /\ + s_ExplicitVarSizeWithFlags_Values[q16] = s_ExplicitVarSizeWithMarker_Values[q14] + | q16 : int(1..2)]) + | q14 : int(1..2)]) + diff --git a/tests/exhaustive/basic/set_card_00/expected/model_4_1_1-solution000001.solution b/tests/exhaustive/basic/set_card_00/expected/model_4_1_1-solution000001.solution new file mode 100644 index 0000000000..6c0d0fdad8 --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_4_1_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting s be {1} diff --git a/tests/exhaustive/basic/set_card_00/expected/model_4_1_1-solution000002.solution b/tests/exhaustive/basic/set_card_00/expected/model_4_1_1-solution000002.solution new file mode 100644 index 0000000000..2ce5f2081f --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_4_1_1-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting s be {1, 2} diff --git a/tests/exhaustive/basic/set_card_00/expected/model_4_1_1.eprime b/tests/exhaustive/basic/set_card_00/expected/model_4_1_1.eprime new file mode 100644 index 0000000000..0cf269a643 --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_4_1_1.eprime @@ -0,0 +1,17 @@ +language ESSENCE' 1.0 + +find s_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..2)] of bool +find s_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..2)] of int(1..2) +find s_Occurrence: matrix indexed by [int(1..2)] of bool +branching on [s_Occurrence, s_ExplicitVarSizeWithFlags_Flags, s_ExplicitVarSizeWithFlags_Values] +such that + s_Occurrence[sum([toInt(s_ExplicitVarSizeWithFlags_Flags[q13]) | q13 : int(1..2)])], + s_ExplicitVarSizeWithFlags_Flags[2] -> s_ExplicitVarSizeWithFlags_Values[1] < s_ExplicitVarSizeWithFlags_Values[2], + and([s_ExplicitVarSizeWithFlags_Flags[q2] = false -> s_ExplicitVarSizeWithFlags_Values[q2] = 1 | q2 : int(1..2)]), + s_ExplicitVarSizeWithFlags_Flags[2] -> s_ExplicitVarSizeWithFlags_Flags[1], + and([s_Occurrence[q7] -> + or([s_ExplicitVarSizeWithFlags_Flags[q9] /\ s_ExplicitVarSizeWithFlags_Values[q9] = q7 | q9 : int(1..2)]) + | q7 : int(1..2)]), + and([s_ExplicitVarSizeWithFlags_Flags[q11] -> s_Occurrence[s_ExplicitVarSizeWithFlags_Values[q11]] + | q11 : int(1..2)]) + diff --git a/tests/exhaustive/basic/set_card_00/expected/model_4_1_2-solution000001.solution b/tests/exhaustive/basic/set_card_00/expected/model_4_1_2-solution000001.solution new file mode 100644 index 0000000000..2ce5f2081f --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_4_1_2-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting s be {1, 2} diff --git a/tests/exhaustive/basic/set_card_00/expected/model_4_1_2-solution000002.solution b/tests/exhaustive/basic/set_card_00/expected/model_4_1_2-solution000002.solution new file mode 100644 index 0000000000..6c0d0fdad8 --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_4_1_2-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting s be {1} diff --git a/tests/exhaustive/basic/set_card_00/expected/model_4_1_2.eprime b/tests/exhaustive/basic/set_card_00/expected/model_4_1_2.eprime new file mode 100644 index 0000000000..fe7fecdcc9 --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_4_1_2.eprime @@ -0,0 +1,35 @@ +language ESSENCE' 1.0 + +find s_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..2)] of bool +find s_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..2)] of int(1..2) +find s_Occurrence: matrix indexed by [int(1..2)] of bool +find s_ExplicitVarSizeWithDummy: matrix indexed by [int(1..2)] of int(1..3) +branching on + [s_ExplicitVarSizeWithDummy, s_ExplicitVarSizeWithFlags_Flags, s_ExplicitVarSizeWithFlags_Values, s_Occurrence] +such that + s_Occurrence[sum([toInt(s_ExplicitVarSizeWithFlags_Flags[q30]) | q30 : int(1..2)])], + s_ExplicitVarSizeWithFlags_Flags[2] -> s_ExplicitVarSizeWithFlags_Values[1] < s_ExplicitVarSizeWithFlags_Values[2], + and([s_ExplicitVarSizeWithFlags_Flags[q2] = false -> s_ExplicitVarSizeWithFlags_Values[q2] = 1 | q2 : int(1..2)]), + s_ExplicitVarSizeWithFlags_Flags[2] -> s_ExplicitVarSizeWithFlags_Flags[1], + and([s_Occurrence[q24] -> + or([s_ExplicitVarSizeWithFlags_Flags[q26] /\ s_ExplicitVarSizeWithFlags_Values[q26] = q24 | q26 : int(1..2)]) + | q24 : int(1..2)]), + and([s_ExplicitVarSizeWithFlags_Flags[q28] -> s_Occurrence[s_ExplicitVarSizeWithFlags_Values[q28]] + | q28 : int(1..2)]), + s_ExplicitVarSizeWithDummy[1] < s_ExplicitVarSizeWithDummy[2] \/ s_ExplicitVarSizeWithDummy[1] = 3, + s_ExplicitVarSizeWithDummy[1] = 3 -> s_ExplicitVarSizeWithDummy[2] = 3, + and([s_ExplicitVarSizeWithDummy[q12] != 3 -> + or([s_ExplicitVarSizeWithFlags_Flags[q14] /\ + s_ExplicitVarSizeWithFlags_Values[q14] = s_ExplicitVarSizeWithDummy[q12] + | q14 : int(1..2)]) + | q12 : int(1..2)]), + and([s_ExplicitVarSizeWithFlags_Flags[q16] -> + or([s_ExplicitVarSizeWithDummy[q18] != 3 /\ + s_ExplicitVarSizeWithDummy[q18] = s_ExplicitVarSizeWithFlags_Values[q16] + | q18 : int(1..2)]) + | q16 : int(1..2)]), + and([s_ExplicitVarSizeWithDummy[q20] != 3 -> s_Occurrence[s_ExplicitVarSizeWithDummy[q20]] | q20 : int(1..2)]), + and([s_Occurrence[q21] -> + or([s_ExplicitVarSizeWithDummy[q23] != 3 /\ s_ExplicitVarSizeWithDummy[q23] = q21 | q23 : int(1..2)]) + | q21 : int(1..2)]) + diff --git a/tests/exhaustive/basic/set_card_00/expected/model_4_1_3-solution000001.solution b/tests/exhaustive/basic/set_card_00/expected/model_4_1_3-solution000001.solution new file mode 100644 index 0000000000..6c0d0fdad8 --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_4_1_3-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting s be {1} diff --git a/tests/exhaustive/basic/set_card_00/expected/model_4_1_3-solution000002.solution b/tests/exhaustive/basic/set_card_00/expected/model_4_1_3-solution000002.solution new file mode 100644 index 0000000000..2ce5f2081f --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_4_1_3-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting s be {1, 2} diff --git a/tests/exhaustive/basic/set_card_00/expected/model_4_1_3.eprime b/tests/exhaustive/basic/set_card_00/expected/model_4_1_3.eprime new file mode 100644 index 0000000000..63b024eb56 --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_4_1_3.eprime @@ -0,0 +1,40 @@ +language ESSENCE' 1.0 + +find s_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..2)] of bool +find s_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..2)] of int(1..2) +find s_Occurrence: matrix indexed by [int(1..2)] of bool +find s_ExplicitVarSizeWithMarker_Marker: int(0..2) +find s_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..2)] of int(1..2) +branching on + [s_ExplicitVarSizeWithMarker_Marker, s_ExplicitVarSizeWithMarker_Values, s_ExplicitVarSizeWithFlags_Flags, + s_ExplicitVarSizeWithFlags_Values, s_Occurrence] +such that + s_Occurrence[sum([toInt(s_ExplicitVarSizeWithFlags_Flags[q29]) | q29 : int(1..2)])], + s_ExplicitVarSizeWithFlags_Flags[2] -> s_ExplicitVarSizeWithFlags_Values[1] < s_ExplicitVarSizeWithFlags_Values[2], + and([s_ExplicitVarSizeWithFlags_Flags[q2] = false -> s_ExplicitVarSizeWithFlags_Values[q2] = 1 | q2 : int(1..2)]), + s_ExplicitVarSizeWithFlags_Flags[2] -> s_ExplicitVarSizeWithFlags_Flags[1], + and([s_Occurrence[q23] -> + or([s_ExplicitVarSizeWithFlags_Flags[q25] /\ s_ExplicitVarSizeWithFlags_Values[q25] = q23 | q25 : int(1..2)]) + | q23 : int(1..2)]), + and([s_ExplicitVarSizeWithFlags_Flags[q27] -> s_Occurrence[s_ExplicitVarSizeWithFlags_Values[q27]] + | q27 : int(1..2)]), + 2 <= s_ExplicitVarSizeWithMarker_Marker -> + s_ExplicitVarSizeWithMarker_Values[1] < s_ExplicitVarSizeWithMarker_Values[2], + and([q8 > s_ExplicitVarSizeWithMarker_Marker -> s_ExplicitVarSizeWithMarker_Values[q8] = 1 | q8 : int(1..2)]), + and([q11 <= s_ExplicitVarSizeWithMarker_Marker -> + or([s_ExplicitVarSizeWithFlags_Flags[q13] /\ + s_ExplicitVarSizeWithFlags_Values[q13] = s_ExplicitVarSizeWithMarker_Values[q11] + | q13 : int(1..2)]) + | q11 : int(1..2)]), + and([s_ExplicitVarSizeWithFlags_Flags[q15] -> + or([q17 <= s_ExplicitVarSizeWithMarker_Marker /\ + s_ExplicitVarSizeWithMarker_Values[q17] = s_ExplicitVarSizeWithFlags_Values[q15] + | q17 : int(1..2)]) + | q15 : int(1..2)]), + and([q19 <= s_ExplicitVarSizeWithMarker_Marker -> s_Occurrence[s_ExplicitVarSizeWithMarker_Values[q19]] + | q19 : int(1..2)]), + and([s_Occurrence[q20] -> + or([q22 <= s_ExplicitVarSizeWithMarker_Marker /\ s_ExplicitVarSizeWithMarker_Values[q22] = q20 + | q22 : int(1..2)]) + | q20 : int(1..2)]) + diff --git a/tests/exhaustive/basic/set_card_00/expected/model_4_2_1-solution000001.solution b/tests/exhaustive/basic/set_card_00/expected/model_4_2_1-solution000001.solution new file mode 100644 index 0000000000..6c0d0fdad8 --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_4_2_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting s be {1} diff --git a/tests/exhaustive/basic/set_card_00/expected/model_4_2_1-solution000002.solution b/tests/exhaustive/basic/set_card_00/expected/model_4_2_1-solution000002.solution new file mode 100644 index 0000000000..2ce5f2081f --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_4_2_1-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting s be {1, 2} diff --git a/tests/exhaustive/basic/set_card_00/expected/model_4_2_1.eprime b/tests/exhaustive/basic/set_card_00/expected/model_4_2_1.eprime new file mode 100644 index 0000000000..07a85b32d6 --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_4_2_1.eprime @@ -0,0 +1,37 @@ +language ESSENCE' 1.0 + +find s_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..2)] of bool +find s_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..2)] of int(1..2) +find s_ExplicitVarSizeWithDummy: matrix indexed by [int(1..2)] of int(1..3) +find s_Occurrence: matrix indexed by [int(1..2)] of bool +branching on + [s_Occurrence, s_ExplicitVarSizeWithFlags_Flags, s_ExplicitVarSizeWithFlags_Values, s_ExplicitVarSizeWithDummy] +such that + or([s_ExplicitVarSizeWithDummy[q30] != 3 /\ + s_ExplicitVarSizeWithDummy[q30] = sum([toInt(s_ExplicitVarSizeWithFlags_Flags[q32]) | q32 : int(1..2)]) + | q30 : int(1..2)]), + s_ExplicitVarSizeWithFlags_Flags[2] -> s_ExplicitVarSizeWithFlags_Values[1] < s_ExplicitVarSizeWithFlags_Values[2], + and([s_ExplicitVarSizeWithFlags_Flags[q2] = false -> s_ExplicitVarSizeWithFlags_Values[q2] = 1 | q2 : int(1..2)]), + s_ExplicitVarSizeWithFlags_Flags[2] -> s_ExplicitVarSizeWithFlags_Flags[1], + s_ExplicitVarSizeWithDummy[1] < s_ExplicitVarSizeWithDummy[2] \/ s_ExplicitVarSizeWithDummy[1] = 3, + s_ExplicitVarSizeWithDummy[1] = 3 -> s_ExplicitVarSizeWithDummy[2] = 3, + and([s_ExplicitVarSizeWithDummy[q11] != 3 -> + or([s_ExplicitVarSizeWithFlags_Flags[q13] /\ + s_ExplicitVarSizeWithFlags_Values[q13] = s_ExplicitVarSizeWithDummy[q11] + | q13 : int(1..2)]) + | q11 : int(1..2)]), + and([s_ExplicitVarSizeWithFlags_Flags[q15] -> + or([s_ExplicitVarSizeWithDummy[q17] != 3 /\ + s_ExplicitVarSizeWithDummy[q17] = s_ExplicitVarSizeWithFlags_Values[q15] + | q17 : int(1..2)]) + | q15 : int(1..2)]), + and([s_Occurrence[q19] -> + or([s_ExplicitVarSizeWithFlags_Flags[q21] /\ s_ExplicitVarSizeWithFlags_Values[q21] = q19 | q21 : int(1..2)]) + | q19 : int(1..2)]), + and([s_ExplicitVarSizeWithFlags_Flags[q23] -> s_Occurrence[s_ExplicitVarSizeWithFlags_Values[q23]] + | q23 : int(1..2)]), + and([s_Occurrence[q24] -> + or([s_ExplicitVarSizeWithDummy[q26] != 3 /\ s_ExplicitVarSizeWithDummy[q26] = q24 | q26 : int(1..2)]) + | q24 : int(1..2)]), + and([s_ExplicitVarSizeWithDummy[q28] != 3 -> s_Occurrence[s_ExplicitVarSizeWithDummy[q28]] | q28 : int(1..2)]) + diff --git a/tests/exhaustive/basic/set_card_00/expected/model_4_2_2-solution000001.solution b/tests/exhaustive/basic/set_card_00/expected/model_4_2_2-solution000001.solution new file mode 100644 index 0000000000..2ce5f2081f --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_4_2_2-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting s be {1, 2} diff --git a/tests/exhaustive/basic/set_card_00/expected/model_4_2_2-solution000002.solution b/tests/exhaustive/basic/set_card_00/expected/model_4_2_2-solution000002.solution new file mode 100644 index 0000000000..6c0d0fdad8 --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_4_2_2-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting s be {1} diff --git a/tests/exhaustive/basic/set_card_00/expected/model_4_2_2.eprime b/tests/exhaustive/basic/set_card_00/expected/model_4_2_2.eprime new file mode 100644 index 0000000000..f0da04a9ad --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_4_2_2.eprime @@ -0,0 +1,26 @@ +language ESSENCE' 1.0 + +find s_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..2)] of bool +find s_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..2)] of int(1..2) +find s_ExplicitVarSizeWithDummy: matrix indexed by [int(1..2)] of int(1..3) +branching on [s_ExplicitVarSizeWithDummy, s_ExplicitVarSizeWithFlags_Flags, s_ExplicitVarSizeWithFlags_Values] +such that + or([s_ExplicitVarSizeWithDummy[q19] != 3 /\ + s_ExplicitVarSizeWithDummy[q19] = sum([toInt(s_ExplicitVarSizeWithFlags_Flags[q21]) | q21 : int(1..2)]) + | q19 : int(1..2)]), + s_ExplicitVarSizeWithFlags_Flags[2] -> s_ExplicitVarSizeWithFlags_Values[1] < s_ExplicitVarSizeWithFlags_Values[2], + and([s_ExplicitVarSizeWithFlags_Flags[q2] = false -> s_ExplicitVarSizeWithFlags_Values[q2] = 1 | q2 : int(1..2)]), + s_ExplicitVarSizeWithFlags_Flags[2] -> s_ExplicitVarSizeWithFlags_Flags[1], + s_ExplicitVarSizeWithDummy[1] < s_ExplicitVarSizeWithDummy[2] \/ s_ExplicitVarSizeWithDummy[1] = 3, + s_ExplicitVarSizeWithDummy[1] = 3 -> s_ExplicitVarSizeWithDummy[2] = 3, + and([s_ExplicitVarSizeWithDummy[q11] != 3 -> + or([s_ExplicitVarSizeWithFlags_Flags[q13] /\ + s_ExplicitVarSizeWithFlags_Values[q13] = s_ExplicitVarSizeWithDummy[q11] + | q13 : int(1..2)]) + | q11 : int(1..2)]), + and([s_ExplicitVarSizeWithFlags_Flags[q15] -> + or([s_ExplicitVarSizeWithDummy[q17] != 3 /\ + s_ExplicitVarSizeWithDummy[q17] = s_ExplicitVarSizeWithFlags_Values[q15] + | q17 : int(1..2)]) + | q15 : int(1..2)]) + diff --git a/tests/exhaustive/basic/set_card_00/expected/model_4_2_3-solution000001.solution b/tests/exhaustive/basic/set_card_00/expected/model_4_2_3-solution000001.solution new file mode 100644 index 0000000000..6c0d0fdad8 --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_4_2_3-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting s be {1} diff --git a/tests/exhaustive/basic/set_card_00/expected/model_4_2_3-solution000002.solution b/tests/exhaustive/basic/set_card_00/expected/model_4_2_3-solution000002.solution new file mode 100644 index 0000000000..2ce5f2081f --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_4_2_3-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting s be {1, 2} diff --git a/tests/exhaustive/basic/set_card_00/expected/model_4_2_3.eprime b/tests/exhaustive/basic/set_card_00/expected/model_4_2_3.eprime new file mode 100644 index 0000000000..a8dd578091 --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_4_2_3.eprime @@ -0,0 +1,53 @@ +language ESSENCE' 1.0 + +find s_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..2)] of bool +find s_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..2)] of int(1..2) +find s_ExplicitVarSizeWithDummy: matrix indexed by [int(1..2)] of int(1..3) +find s_ExplicitVarSizeWithMarker_Marker: int(0..2) +find s_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..2)] of int(1..2) +branching on + [s_ExplicitVarSizeWithMarker_Marker, s_ExplicitVarSizeWithMarker_Values, s_ExplicitVarSizeWithFlags_Flags, + s_ExplicitVarSizeWithFlags_Values, s_ExplicitVarSizeWithDummy] +such that + or([s_ExplicitVarSizeWithDummy[q38] != 3 /\ + s_ExplicitVarSizeWithDummy[q38] = sum([toInt(s_ExplicitVarSizeWithFlags_Flags[q40]) | q40 : int(1..2)]) + | q38 : int(1..2)]), + s_ExplicitVarSizeWithFlags_Flags[2] -> s_ExplicitVarSizeWithFlags_Values[1] < s_ExplicitVarSizeWithFlags_Values[2], + and([s_ExplicitVarSizeWithFlags_Flags[q2] = false -> s_ExplicitVarSizeWithFlags_Values[q2] = 1 | q2 : int(1..2)]), + s_ExplicitVarSizeWithFlags_Flags[2] -> s_ExplicitVarSizeWithFlags_Flags[1], + s_ExplicitVarSizeWithDummy[1] < s_ExplicitVarSizeWithDummy[2] \/ s_ExplicitVarSizeWithDummy[1] = 3, + s_ExplicitVarSizeWithDummy[1] = 3 -> s_ExplicitVarSizeWithDummy[2] = 3, + and([s_ExplicitVarSizeWithDummy[q11] != 3 -> + or([s_ExplicitVarSizeWithFlags_Flags[q13] /\ + s_ExplicitVarSizeWithFlags_Values[q13] = s_ExplicitVarSizeWithDummy[q11] + | q13 : int(1..2)]) + | q11 : int(1..2)]), + and([s_ExplicitVarSizeWithFlags_Flags[q15] -> + or([s_ExplicitVarSizeWithDummy[q17] != 3 /\ + s_ExplicitVarSizeWithDummy[q17] = s_ExplicitVarSizeWithFlags_Values[q15] + | q17 : int(1..2)]) + | q15 : int(1..2)]), + 2 <= s_ExplicitVarSizeWithMarker_Marker -> + s_ExplicitVarSizeWithMarker_Values[1] < s_ExplicitVarSizeWithMarker_Values[2], + and([q19 > s_ExplicitVarSizeWithMarker_Marker -> s_ExplicitVarSizeWithMarker_Values[q19] = 1 | q19 : int(1..2)]), + and([q22 <= s_ExplicitVarSizeWithMarker_Marker -> + or([s_ExplicitVarSizeWithFlags_Flags[q24] /\ + s_ExplicitVarSizeWithFlags_Values[q24] = s_ExplicitVarSizeWithMarker_Values[q22] + | q24 : int(1..2)]) + | q22 : int(1..2)]), + and([s_ExplicitVarSizeWithFlags_Flags[q26] -> + or([q28 <= s_ExplicitVarSizeWithMarker_Marker /\ + s_ExplicitVarSizeWithMarker_Values[q28] = s_ExplicitVarSizeWithFlags_Values[q26] + | q28 : int(1..2)]) + | q26 : int(1..2)]), + and([q30 <= s_ExplicitVarSizeWithMarker_Marker -> + or([s_ExplicitVarSizeWithDummy[q32] != 3 /\ + s_ExplicitVarSizeWithDummy[q32] = s_ExplicitVarSizeWithMarker_Values[q30] + | q32 : int(1..2)]) + | q30 : int(1..2)]), + and([s_ExplicitVarSizeWithDummy[q34] != 3 -> + or([q36 <= s_ExplicitVarSizeWithMarker_Marker /\ + s_ExplicitVarSizeWithMarker_Values[q36] = s_ExplicitVarSizeWithDummy[q34] + | q36 : int(1..2)]) + | q34 : int(1..2)]) + diff --git a/tests/exhaustive/basic/set_card_00/expected/model_4_3_1-solution000001.solution b/tests/exhaustive/basic/set_card_00/expected/model_4_3_1-solution000001.solution new file mode 100644 index 0000000000..6c0d0fdad8 --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_4_3_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting s be {1} diff --git a/tests/exhaustive/basic/set_card_00/expected/model_4_3_1-solution000002.solution b/tests/exhaustive/basic/set_card_00/expected/model_4_3_1-solution000002.solution new file mode 100644 index 0000000000..2ce5f2081f --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_4_3_1-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting s be {1, 2} diff --git a/tests/exhaustive/basic/set_card_00/expected/model_4_3_1.eprime b/tests/exhaustive/basic/set_card_00/expected/model_4_3_1.eprime new file mode 100644 index 0000000000..b41daea4cc --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_4_3_1.eprime @@ -0,0 +1,42 @@ +language ESSENCE' 1.0 + +find s_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..2)] of bool +find s_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..2)] of int(1..2) +find s_ExplicitVarSizeWithMarker_Marker: int(0..2) +find s_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..2)] of int(1..2) +find s_Occurrence: matrix indexed by [int(1..2)] of bool +branching on + [s_Occurrence, s_ExplicitVarSizeWithFlags_Flags, s_ExplicitVarSizeWithFlags_Values, + s_ExplicitVarSizeWithMarker_Marker, s_ExplicitVarSizeWithMarker_Values] +such that + or([q29 <= s_ExplicitVarSizeWithMarker_Marker /\ + s_ExplicitVarSizeWithMarker_Values[q29] = sum([toInt(s_ExplicitVarSizeWithFlags_Flags[q31]) | q31 : int(1..2)]) + | q29 : int(1..2)]), + s_ExplicitVarSizeWithFlags_Flags[2] -> s_ExplicitVarSizeWithFlags_Values[1] < s_ExplicitVarSizeWithFlags_Values[2], + and([s_ExplicitVarSizeWithFlags_Flags[q2] = false -> s_ExplicitVarSizeWithFlags_Values[q2] = 1 | q2 : int(1..2)]), + s_ExplicitVarSizeWithFlags_Flags[2] -> s_ExplicitVarSizeWithFlags_Flags[1], + 2 <= s_ExplicitVarSizeWithMarker_Marker -> + s_ExplicitVarSizeWithMarker_Values[1] < s_ExplicitVarSizeWithMarker_Values[2], + and([q7 > s_ExplicitVarSizeWithMarker_Marker -> s_ExplicitVarSizeWithMarker_Values[q7] = 1 | q7 : int(1..2)]), + and([q10 <= s_ExplicitVarSizeWithMarker_Marker -> + or([s_ExplicitVarSizeWithFlags_Flags[q12] /\ + s_ExplicitVarSizeWithFlags_Values[q12] = s_ExplicitVarSizeWithMarker_Values[q10] + | q12 : int(1..2)]) + | q10 : int(1..2)]), + and([s_ExplicitVarSizeWithFlags_Flags[q14] -> + or([q16 <= s_ExplicitVarSizeWithMarker_Marker /\ + s_ExplicitVarSizeWithMarker_Values[q16] = s_ExplicitVarSizeWithFlags_Values[q14] + | q16 : int(1..2)]) + | q14 : int(1..2)]), + and([s_Occurrence[q18] -> + or([s_ExplicitVarSizeWithFlags_Flags[q20] /\ s_ExplicitVarSizeWithFlags_Values[q20] = q18 | q20 : int(1..2)]) + | q18 : int(1..2)]), + and([s_ExplicitVarSizeWithFlags_Flags[q22] -> s_Occurrence[s_ExplicitVarSizeWithFlags_Values[q22]] + | q22 : int(1..2)]), + and([s_Occurrence[q23] -> + or([q25 <= s_ExplicitVarSizeWithMarker_Marker /\ s_ExplicitVarSizeWithMarker_Values[q25] = q23 + | q25 : int(1..2)]) + | q23 : int(1..2)]), + and([q27 <= s_ExplicitVarSizeWithMarker_Marker -> s_Occurrence[s_ExplicitVarSizeWithMarker_Values[q27]] + | q27 : int(1..2)]) + diff --git a/tests/exhaustive/basic/set_card_00/expected/model_4_3_2-solution000001.solution b/tests/exhaustive/basic/set_card_00/expected/model_4_3_2-solution000001.solution new file mode 100644 index 0000000000..2ce5f2081f --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_4_3_2-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting s be {1, 2} diff --git a/tests/exhaustive/basic/set_card_00/expected/model_4_3_2-solution000002.solution b/tests/exhaustive/basic/set_card_00/expected/model_4_3_2-solution000002.solution new file mode 100644 index 0000000000..6c0d0fdad8 --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_4_3_2-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting s be {1} diff --git a/tests/exhaustive/basic/set_card_00/expected/model_4_3_2.eprime b/tests/exhaustive/basic/set_card_00/expected/model_4_3_2.eprime new file mode 100644 index 0000000000..6ad2dfa6b0 --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_4_3_2.eprime @@ -0,0 +1,53 @@ +language ESSENCE' 1.0 + +find s_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..2)] of bool +find s_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..2)] of int(1..2) +find s_ExplicitVarSizeWithMarker_Marker: int(0..2) +find s_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..2)] of int(1..2) +find s_ExplicitVarSizeWithDummy: matrix indexed by [int(1..2)] of int(1..3) +branching on + [s_ExplicitVarSizeWithDummy, s_ExplicitVarSizeWithFlags_Flags, s_ExplicitVarSizeWithFlags_Values, + s_ExplicitVarSizeWithMarker_Marker, s_ExplicitVarSizeWithMarker_Values] +such that + or([q38 <= s_ExplicitVarSizeWithMarker_Marker /\ + s_ExplicitVarSizeWithMarker_Values[q38] = sum([toInt(s_ExplicitVarSizeWithFlags_Flags[q40]) | q40 : int(1..2)]) + | q38 : int(1..2)]), + s_ExplicitVarSizeWithFlags_Flags[2] -> s_ExplicitVarSizeWithFlags_Values[1] < s_ExplicitVarSizeWithFlags_Values[2], + and([s_ExplicitVarSizeWithFlags_Flags[q2] = false -> s_ExplicitVarSizeWithFlags_Values[q2] = 1 | q2 : int(1..2)]), + s_ExplicitVarSizeWithFlags_Flags[2] -> s_ExplicitVarSizeWithFlags_Flags[1], + 2 <= s_ExplicitVarSizeWithMarker_Marker -> + s_ExplicitVarSizeWithMarker_Values[1] < s_ExplicitVarSizeWithMarker_Values[2], + and([q7 > s_ExplicitVarSizeWithMarker_Marker -> s_ExplicitVarSizeWithMarker_Values[q7] = 1 | q7 : int(1..2)]), + and([q10 <= s_ExplicitVarSizeWithMarker_Marker -> + or([s_ExplicitVarSizeWithFlags_Flags[q12] /\ + s_ExplicitVarSizeWithFlags_Values[q12] = s_ExplicitVarSizeWithMarker_Values[q10] + | q12 : int(1..2)]) + | q10 : int(1..2)]), + and([s_ExplicitVarSizeWithFlags_Flags[q14] -> + or([q16 <= s_ExplicitVarSizeWithMarker_Marker /\ + s_ExplicitVarSizeWithMarker_Values[q16] = s_ExplicitVarSizeWithFlags_Values[q14] + | q16 : int(1..2)]) + | q14 : int(1..2)]), + s_ExplicitVarSizeWithDummy[1] < s_ExplicitVarSizeWithDummy[2] \/ s_ExplicitVarSizeWithDummy[1] = 3, + s_ExplicitVarSizeWithDummy[1] = 3 -> s_ExplicitVarSizeWithDummy[2] = 3, + and([s_ExplicitVarSizeWithDummy[q22] != 3 -> + or([s_ExplicitVarSizeWithFlags_Flags[q24] /\ + s_ExplicitVarSizeWithFlags_Values[q24] = s_ExplicitVarSizeWithDummy[q22] + | q24 : int(1..2)]) + | q22 : int(1..2)]), + and([s_ExplicitVarSizeWithFlags_Flags[q26] -> + or([s_ExplicitVarSizeWithDummy[q28] != 3 /\ + s_ExplicitVarSizeWithDummy[q28] = s_ExplicitVarSizeWithFlags_Values[q26] + | q28 : int(1..2)]) + | q26 : int(1..2)]), + and([s_ExplicitVarSizeWithDummy[q30] != 3 -> + or([q32 <= s_ExplicitVarSizeWithMarker_Marker /\ + s_ExplicitVarSizeWithMarker_Values[q32] = s_ExplicitVarSizeWithDummy[q30] + | q32 : int(1..2)]) + | q30 : int(1..2)]), + and([q34 <= s_ExplicitVarSizeWithMarker_Marker -> + or([s_ExplicitVarSizeWithDummy[q36] != 3 /\ + s_ExplicitVarSizeWithDummy[q36] = s_ExplicitVarSizeWithMarker_Values[q34] + | q36 : int(1..2)]) + | q34 : int(1..2)]) + diff --git a/tests/exhaustive/basic/set_card_00/expected/model_4_3_3-solution000001.solution b/tests/exhaustive/basic/set_card_00/expected/model_4_3_3-solution000001.solution new file mode 100644 index 0000000000..6c0d0fdad8 --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_4_3_3-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting s be {1} diff --git a/tests/exhaustive/basic/set_card_00/expected/model_4_3_3-solution000002.solution b/tests/exhaustive/basic/set_card_00/expected/model_4_3_3-solution000002.solution new file mode 100644 index 0000000000..2ce5f2081f --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_4_3_3-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting s be {1, 2} diff --git a/tests/exhaustive/basic/set_card_00/expected/model_4_3_3.eprime b/tests/exhaustive/basic/set_card_00/expected/model_4_3_3.eprime new file mode 100644 index 0000000000..4bf46f85b1 --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_4_3_3.eprime @@ -0,0 +1,30 @@ +language ESSENCE' 1.0 + +find s_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..2)] of bool +find s_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..2)] of int(1..2) +find s_ExplicitVarSizeWithMarker_Marker: int(0..2) +find s_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..2)] of int(1..2) +branching on + [s_ExplicitVarSizeWithMarker_Marker, s_ExplicitVarSizeWithMarker_Values, s_ExplicitVarSizeWithFlags_Flags, + s_ExplicitVarSizeWithFlags_Values] +such that + or([q18 <= s_ExplicitVarSizeWithMarker_Marker /\ + s_ExplicitVarSizeWithMarker_Values[q18] = sum([toInt(s_ExplicitVarSizeWithFlags_Flags[q20]) | q20 : int(1..2)]) + | q18 : int(1..2)]), + s_ExplicitVarSizeWithFlags_Flags[2] -> s_ExplicitVarSizeWithFlags_Values[1] < s_ExplicitVarSizeWithFlags_Values[2], + and([s_ExplicitVarSizeWithFlags_Flags[q2] = false -> s_ExplicitVarSizeWithFlags_Values[q2] = 1 | q2 : int(1..2)]), + s_ExplicitVarSizeWithFlags_Flags[2] -> s_ExplicitVarSizeWithFlags_Flags[1], + 2 <= s_ExplicitVarSizeWithMarker_Marker -> + s_ExplicitVarSizeWithMarker_Values[1] < s_ExplicitVarSizeWithMarker_Values[2], + and([q7 > s_ExplicitVarSizeWithMarker_Marker -> s_ExplicitVarSizeWithMarker_Values[q7] = 1 | q7 : int(1..2)]), + and([q10 <= s_ExplicitVarSizeWithMarker_Marker -> + or([s_ExplicitVarSizeWithFlags_Flags[q12] /\ + s_ExplicitVarSizeWithFlags_Values[q12] = s_ExplicitVarSizeWithMarker_Values[q10] + | q12 : int(1..2)]) + | q10 : int(1..2)]), + and([s_ExplicitVarSizeWithFlags_Flags[q14] -> + or([q16 <= s_ExplicitVarSizeWithMarker_Marker /\ + s_ExplicitVarSizeWithMarker_Values[q16] = s_ExplicitVarSizeWithFlags_Values[q14] + | q16 : int(1..2)]) + | q14 : int(1..2)]) + diff --git a/tests/exhaustive/basic/set_card_00/expected/model_4_4_1-solution000001.solution b/tests/exhaustive/basic/set_card_00/expected/model_4_4_1-solution000001.solution new file mode 100644 index 0000000000..6c0d0fdad8 --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_4_4_1-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting s be {1} diff --git a/tests/exhaustive/basic/set_card_00/expected/model_4_4_1-solution000002.solution b/tests/exhaustive/basic/set_card_00/expected/model_4_4_1-solution000002.solution new file mode 100644 index 0000000000..2ce5f2081f --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_4_4_1-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting s be {1, 2} diff --git a/tests/exhaustive/basic/set_card_00/expected/model_4_4_1.eprime b/tests/exhaustive/basic/set_card_00/expected/model_4_4_1.eprime new file mode 100644 index 0000000000..4b827d683c --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_4_4_1.eprime @@ -0,0 +1,19 @@ +language ESSENCE' 1.0 + +find s_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..2)] of bool +find s_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..2)] of int(1..2) +find s_Occurrence: matrix indexed by [int(1..2)] of bool +branching on [s_Occurrence, s_ExplicitVarSizeWithFlags_Flags, s_ExplicitVarSizeWithFlags_Values] +such that + or([s_ExplicitVarSizeWithFlags_Flags[q13] /\ + s_ExplicitVarSizeWithFlags_Values[q13] = sum([toInt(s_ExplicitVarSizeWithFlags_Flags[q15]) | q15 : int(1..2)]) + | q13 : int(1..2)]), + s_ExplicitVarSizeWithFlags_Flags[2] -> s_ExplicitVarSizeWithFlags_Values[1] < s_ExplicitVarSizeWithFlags_Values[2], + and([s_ExplicitVarSizeWithFlags_Flags[q2] = false -> s_ExplicitVarSizeWithFlags_Values[q2] = 1 | q2 : int(1..2)]), + s_ExplicitVarSizeWithFlags_Flags[2] -> s_ExplicitVarSizeWithFlags_Flags[1], + and([s_Occurrence[q7] -> + or([s_ExplicitVarSizeWithFlags_Flags[q9] /\ s_ExplicitVarSizeWithFlags_Values[q9] = q7 | q9 : int(1..2)]) + | q7 : int(1..2)]), + and([s_ExplicitVarSizeWithFlags_Flags[q11] -> s_Occurrence[s_ExplicitVarSizeWithFlags_Values[q11]] + | q11 : int(1..2)]) + diff --git a/tests/exhaustive/basic/set_card_00/expected/model_4_4_2-solution000001.solution b/tests/exhaustive/basic/set_card_00/expected/model_4_4_2-solution000001.solution new file mode 100644 index 0000000000..2ce5f2081f --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_4_4_2-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting s be {1, 2} diff --git a/tests/exhaustive/basic/set_card_00/expected/model_4_4_2-solution000002.solution b/tests/exhaustive/basic/set_card_00/expected/model_4_4_2-solution000002.solution new file mode 100644 index 0000000000..6c0d0fdad8 --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_4_4_2-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting s be {1} diff --git a/tests/exhaustive/basic/set_card_00/expected/model_4_4_2.eprime b/tests/exhaustive/basic/set_card_00/expected/model_4_4_2.eprime new file mode 100644 index 0000000000..87dc67de4e --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_4_4_2.eprime @@ -0,0 +1,26 @@ +language ESSENCE' 1.0 + +find s_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..2)] of bool +find s_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..2)] of int(1..2) +find s_ExplicitVarSizeWithDummy: matrix indexed by [int(1..2)] of int(1..3) +branching on [s_ExplicitVarSizeWithDummy, s_ExplicitVarSizeWithFlags_Flags, s_ExplicitVarSizeWithFlags_Values] +such that + or([s_ExplicitVarSizeWithFlags_Flags[q19] /\ + s_ExplicitVarSizeWithFlags_Values[q19] = sum([toInt(s_ExplicitVarSizeWithFlags_Flags[q21]) | q21 : int(1..2)]) + | q19 : int(1..2)]), + s_ExplicitVarSizeWithFlags_Flags[2] -> s_ExplicitVarSizeWithFlags_Values[1] < s_ExplicitVarSizeWithFlags_Values[2], + and([s_ExplicitVarSizeWithFlags_Flags[q2] = false -> s_ExplicitVarSizeWithFlags_Values[q2] = 1 | q2 : int(1..2)]), + s_ExplicitVarSizeWithFlags_Flags[2] -> s_ExplicitVarSizeWithFlags_Flags[1], + s_ExplicitVarSizeWithDummy[1] < s_ExplicitVarSizeWithDummy[2] \/ s_ExplicitVarSizeWithDummy[1] = 3, + s_ExplicitVarSizeWithDummy[1] = 3 -> s_ExplicitVarSizeWithDummy[2] = 3, + and([s_ExplicitVarSizeWithDummy[q11] != 3 -> + or([s_ExplicitVarSizeWithFlags_Flags[q13] /\ + s_ExplicitVarSizeWithFlags_Values[q13] = s_ExplicitVarSizeWithDummy[q11] + | q13 : int(1..2)]) + | q11 : int(1..2)]), + and([s_ExplicitVarSizeWithFlags_Flags[q15] -> + or([s_ExplicitVarSizeWithDummy[q17] != 3 /\ + s_ExplicitVarSizeWithDummy[q17] = s_ExplicitVarSizeWithFlags_Values[q15] + | q17 : int(1..2)]) + | q15 : int(1..2)]) + diff --git a/tests/exhaustive/basic/set_card_00/expected/model_4_4_3-solution000001.solution b/tests/exhaustive/basic/set_card_00/expected/model_4_4_3-solution000001.solution new file mode 100644 index 0000000000..6c0d0fdad8 --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_4_4_3-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting s be {1} diff --git a/tests/exhaustive/basic/set_card_00/expected/model_4_4_3-solution000002.solution b/tests/exhaustive/basic/set_card_00/expected/model_4_4_3-solution000002.solution new file mode 100644 index 0000000000..2ce5f2081f --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_4_4_3-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting s be {1, 2} diff --git a/tests/exhaustive/basic/set_card_00/expected/model_4_4_3.eprime b/tests/exhaustive/basic/set_card_00/expected/model_4_4_3.eprime new file mode 100644 index 0000000000..2634131abd --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_4_4_3.eprime @@ -0,0 +1,30 @@ +language ESSENCE' 1.0 + +find s_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..2)] of bool +find s_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..2)] of int(1..2) +find s_ExplicitVarSizeWithMarker_Marker: int(0..2) +find s_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..2)] of int(1..2) +branching on + [s_ExplicitVarSizeWithMarker_Marker, s_ExplicitVarSizeWithMarker_Values, s_ExplicitVarSizeWithFlags_Flags, + s_ExplicitVarSizeWithFlags_Values] +such that + or([s_ExplicitVarSizeWithFlags_Flags[q18] /\ + s_ExplicitVarSizeWithFlags_Values[q18] = sum([toInt(s_ExplicitVarSizeWithFlags_Flags[q20]) | q20 : int(1..2)]) + | q18 : int(1..2)]), + s_ExplicitVarSizeWithFlags_Flags[2] -> s_ExplicitVarSizeWithFlags_Values[1] < s_ExplicitVarSizeWithFlags_Values[2], + and([s_ExplicitVarSizeWithFlags_Flags[q2] = false -> s_ExplicitVarSizeWithFlags_Values[q2] = 1 | q2 : int(1..2)]), + s_ExplicitVarSizeWithFlags_Flags[2] -> s_ExplicitVarSizeWithFlags_Flags[1], + 2 <= s_ExplicitVarSizeWithMarker_Marker -> + s_ExplicitVarSizeWithMarker_Values[1] < s_ExplicitVarSizeWithMarker_Values[2], + and([q7 > s_ExplicitVarSizeWithMarker_Marker -> s_ExplicitVarSizeWithMarker_Values[q7] = 1 | q7 : int(1..2)]), + and([q10 <= s_ExplicitVarSizeWithMarker_Marker -> + or([s_ExplicitVarSizeWithFlags_Flags[q12] /\ + s_ExplicitVarSizeWithFlags_Values[q12] = s_ExplicitVarSizeWithMarker_Values[q10] + | q12 : int(1..2)]) + | q10 : int(1..2)]), + and([s_ExplicitVarSizeWithFlags_Flags[q14] -> + or([q16 <= s_ExplicitVarSizeWithMarker_Marker /\ + s_ExplicitVarSizeWithMarker_Values[q16] = s_ExplicitVarSizeWithFlags_Values[q14] + | q16 : int(1..2)]) + | q14 : int(1..2)]) + diff --git a/tests/exhaustive/basic/set_card_00/expected/model_4_4_4-solution000001.solution b/tests/exhaustive/basic/set_card_00/expected/model_4_4_4-solution000001.solution new file mode 100644 index 0000000000..6c0d0fdad8 --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_4_4_4-solution000001.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting s be {1} diff --git a/tests/exhaustive/basic/set_card_00/expected/model_4_4_4-solution000002.solution b/tests/exhaustive/basic/set_card_00/expected/model_4_4_4-solution000002.solution new file mode 100644 index 0000000000..2ce5f2081f --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_4_4_4-solution000002.solution @@ -0,0 +1,3 @@ +language Essence 1.3 + +letting s be {1, 2} diff --git a/tests/exhaustive/basic/set_card_00/expected/model_4_4_4.eprime b/tests/exhaustive/basic/set_card_00/expected/model_4_4_4.eprime new file mode 100644 index 0000000000..f18fbe001d --- /dev/null +++ b/tests/exhaustive/basic/set_card_00/expected/model_4_4_4.eprime @@ -0,0 +1,13 @@ +language ESSENCE' 1.0 + +find s_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1..2)] of bool +find s_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..2)] of int(1..2) +branching on [s_ExplicitVarSizeWithFlags_Flags, s_ExplicitVarSizeWithFlags_Values] +such that + or([s_ExplicitVarSizeWithFlags_Flags[q7] /\ + s_ExplicitVarSizeWithFlags_Values[q7] = sum([toInt(s_ExplicitVarSizeWithFlags_Flags[q9]) | q9 : int(1..2)]) + | q7 : int(1..2)]), + s_ExplicitVarSizeWithFlags_Flags[2] -> s_ExplicitVarSizeWithFlags_Values[1] < s_ExplicitVarSizeWithFlags_Values[2], + and([s_ExplicitVarSizeWithFlags_Flags[q2] = false -> s_ExplicitVarSizeWithFlags_Values[q2] = 1 | q2 : int(1..2)]), + s_ExplicitVarSizeWithFlags_Flags[2] -> s_ExplicitVarSizeWithFlags_Flags[1] + diff --git a/tests/exhaustive/basic/set_card_02/expected/model_1_1_2.eprime b/tests/exhaustive/basic/set_card_02/expected/model_1_1_2.eprime index fdcdbffcf9..4983889ed3 100644 --- a/tests/exhaustive/basic/set_card_02/expected/model_1_1_2.eprime +++ b/tests/exhaustive/basic/set_card_02/expected/model_1_1_2.eprime @@ -4,17 +4,9 @@ find s_Explicit: matrix indexed by [int(1..2)] of int(1..2) find s_Occurrence: matrix indexed by [int(1..2)] of bool branching on [s_Occurrence, s_Explicit] such that -<<<<<<< HEAD - s_Occurrence[2], - 2 = sum([toInt(s_Occurrence[q1]) | q1 : int(1..2)]), - [s_Explicit[1]; int(1)] or([s_Explicit[q8] = q6 | q8 : int(1..2)]) | q6 : int(1..2)]) -======= or([s_Explicit[q10] = 2 | q10 : int(1..2)]), s_Explicit[1] < s_Explicit[2], 2 = sum([toInt(s_Occurrence[q3]) | q3 : int(1..2)]), and([s_Occurrence[q4] -> or([s_Explicit[q6] = q4 | q6 : int(1..2)]) | q4 : int(1..2)]), and([s_Occurrence[s_Explicit[q8]] | q8 : int(1..2)]) ->>>>>>> main diff --git a/tests/exhaustive/basic/set_card_02/expected/model_1_2_1.eprime b/tests/exhaustive/basic/set_card_02/expected/model_1_2_1.eprime index 827963e6ac..d14af629f8 100644 --- a/tests/exhaustive/basic/set_card_02/expected/model_1_2_1.eprime +++ b/tests/exhaustive/basic/set_card_02/expected/model_1_2_1.eprime @@ -4,17 +4,9 @@ find s_Explicit: matrix indexed by [int(1..2)] of int(1..2) find s_Occurrence: matrix indexed by [int(1..2)] of bool branching on [s_Occurrence, s_Explicit] such that -<<<<<<< HEAD - or([s_Explicit[q10] = 2 | q10 : int(1..2)]), - 2 = sum([toInt(s_Occurrence[q1]) | q1 : int(1..2)]), - [s_Explicit[1]; int(1)] or([s_Explicit[q8] = q6 | q8 : int(1..2)]) | q6 : int(1..2)]) -======= s_Occurrence[2], s_Explicit[1] < s_Explicit[2], 2 = sum([toInt(s_Occurrence[q3]) | q3 : int(1..2)]), and([s_Occurrence[q4] -> or([s_Explicit[q6] = q4 | q6 : int(1..2)]) | q4 : int(1..2)]), and([s_Occurrence[s_Explicit[q8]] | q8 : int(1..2)]) ->>>>>>> main diff --git a/tests/exhaustive/basic/set_card_02/expected/model_1_2_2.eprime b/tests/exhaustive/basic/set_card_02/expected/model_1_2_2.eprime deleted file mode 100644 index 5a2b11db7d..0000000000 --- a/tests/exhaustive/basic/set_card_02/expected/model_1_2_2.eprime +++ /dev/null @@ -1,12 +0,0 @@ -language ESSENCE' 1.0 - -find s_Occurrence: matrix indexed by [int(1..2)] of bool -find s_Explicit: matrix indexed by [int(1..2)] of int(1..2) -branching on [s_Explicit, s_Occurrence] -such that - or([s_Explicit[q10] = 2 | q10 : int(1..2)]), - 2 = sum([toInt(s_Occurrence[q1]) | q1 : int(1..2)]), - [s_Explicit[1]; int(1)] or([s_Explicit[q8] = q6 | q8 : int(1..2)]) | q6 : int(1..2)]) - diff --git a/tests/exhaustive/basic/set_card_02/expected/model_2_1_1.eprime b/tests/exhaustive/basic/set_card_02/expected/model_2_1_1.eprime index 9a8935286c..a433443261 100644 --- a/tests/exhaustive/basic/set_card_02/expected/model_2_1_1.eprime +++ b/tests/exhaustive/basic/set_card_02/expected/model_2_1_1.eprime @@ -4,17 +4,9 @@ find s_Occurrence: matrix indexed by [int(1..2)] of bool find s_Explicit: matrix indexed by [int(1..2)] of int(1..2) branching on [s_Explicit, s_Occurrence] such that -<<<<<<< HEAD - s_Occurrence[2], - [s_Explicit[1]; int(1)] or([s_Explicit[q6] = q4 | q6 : int(1..2)]) | q4 : int(1..2)]), - and([s_Occurrence[s_Explicit[q8]] | q8 : int(1..2)]) -======= or([s_Explicit[q10] = 2 | q10 : int(1..2)]), 2 = sum([toInt(s_Occurrence[q1]) | q1 : int(1..2)]), s_Explicit[1] < s_Explicit[2], and([s_Occurrence[s_Explicit[q5]] | q5 : int(1..2)]), and([s_Occurrence[q6] -> or([s_Explicit[q8] = q6 | q8 : int(1..2)]) | q6 : int(1..2)]) ->>>>>>> main diff --git a/tests/exhaustive/basic/set_card_02/expected/model_2_1_2.eprime b/tests/exhaustive/basic/set_card_02/expected/model_2_1_2.eprime deleted file mode 100644 index e61dce3c88..0000000000 --- a/tests/exhaustive/basic/set_card_02/expected/model_2_1_2.eprime +++ /dev/null @@ -1,12 +0,0 @@ -language ESSENCE' 1.0 - -find s_Explicit: matrix indexed by [int(1..2)] of int(1..2) -find s_Occurrence: matrix indexed by [int(1..2)] of bool -branching on [s_Occurrence, s_Explicit] -such that - s_Occurrence[2], - [s_Explicit[1]; int(1)] or([s_Explicit[q6] = q4 | q6 : int(1..2)]) | q4 : int(1..2)]), - and([s_Occurrence[s_Explicit[q8]] | q8 : int(1..2)]) - diff --git a/tests/exhaustive/basic/set_card_02/expected/model_2_2_1.eprime b/tests/exhaustive/basic/set_card_02/expected/model_2_2_1.eprime index 98808594ef..bf6cdb72a7 100644 --- a/tests/exhaustive/basic/set_card_02/expected/model_2_2_1.eprime +++ b/tests/exhaustive/basic/set_card_02/expected/model_2_2_1.eprime @@ -4,17 +4,9 @@ find s_Occurrence: matrix indexed by [int(1..2)] of bool find s_Explicit: matrix indexed by [int(1..2)] of int(1..2) branching on [s_Explicit, s_Occurrence] such that -<<<<<<< HEAD - or([s_Explicit[q10] = 2 | q10 : int(1..2)]), - [s_Explicit[1]; int(1)] or([s_Explicit[q6] = q4 | q6 : int(1..2)]) | q4 : int(1..2)]), - and([s_Occurrence[s_Explicit[q8]] | q8 : int(1..2)]) -======= s_Occurrence[2], 2 = sum([toInt(s_Occurrence[q1]) | q1 : int(1..2)]), s_Explicit[1] < s_Explicit[2], and([s_Occurrence[s_Explicit[q5]] | q5 : int(1..2)]), and([s_Occurrence[q6] -> or([s_Explicit[q8] = q6 | q8 : int(1..2)]) | q6 : int(1..2)]) ->>>>>>> main diff --git a/tests/exhaustive/basic/set_card_02/expected/model_2_2_2.eprime b/tests/exhaustive/basic/set_card_02/expected/model_2_2_2.eprime index 5559441056..0611d17d34 100644 --- a/tests/exhaustive/basic/set_card_02/expected/model_2_2_2.eprime +++ b/tests/exhaustive/basic/set_card_02/expected/model_2_2_2.eprime @@ -3,11 +3,6 @@ language ESSENCE' 1.0 find s_Occurrence: matrix indexed by [int(1..2)] of bool branching on [s_Occurrence] such that -<<<<<<< HEAD - or([s_Explicit[q4] = 2 | q4 : int(1..2)]), - [s_Explicit[1]; int(1)] >>>>>> main diff --git a/tests/exhaustive/basic/toSet_comprehension/expected/model_2.eprime b/tests/exhaustive/basic/toSet_comprehension/expected/model_2.eprime index 4003097cc5..244b218b6a 100644 --- a/tests/exhaustive/basic/toSet_comprehension/expected/model_2.eprime +++ b/tests/exhaustive/basic/toSet_comprehension/expected/model_2.eprime @@ -7,9 +7,8 @@ find x: int(n) find conjure_aux1_ExplicitVarSizeWithDummy: matrix indexed by [int(1..3)] of int(1..4) branching on [flags, val, x] such that - and([[conjure_aux1_ExplicitVarSizeWithDummy[q4]; int(1)] conjure_aux1_ExplicitVarSizeWithDummy[q5 + 1] = 4 | q5 : int(1..2)]), diff --git a/tests/exhaustive/basic/toSet_comprehension/expected/model_3.eprime b/tests/exhaustive/basic/toSet_comprehension/expected/model_3.eprime index 1124f64f1b..aa55c84836 100644 --- a/tests/exhaustive/basic/toSet_comprehension/expected/model_3.eprime +++ b/tests/exhaustive/basic/toSet_comprehension/expected/model_3.eprime @@ -9,8 +9,7 @@ find conjure_aux1_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1..3) branching on [flags, val, x] such that and([q4 + 1 <= conjure_aux1_ExplicitVarSizeWithMarker_Marker -> - [conjure_aux1_ExplicitVarSizeWithMarker_Values[q4]; int(1)] conjure_aux1_ExplicitVarSizeWithMarker_Marker -> conjure_aux1_ExplicitVarSizeWithMarker_Values[q5] = 1 | q5 : int(1..3)]), diff --git a/tests/exhaustive/basic/toSet_comprehension/expected/model_4.eprime b/tests/exhaustive/basic/toSet_comprehension/expected/model_4.eprime index 4114f93599..9672c4965c 100644 --- a/tests/exhaustive/basic/toSet_comprehension/expected/model_4.eprime +++ b/tests/exhaustive/basic/toSet_comprehension/expected/model_4.eprime @@ -9,8 +9,7 @@ find conjure_aux1_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1..3)] branching on [flags, val, x] such that and([conjure_aux1_ExplicitVarSizeWithFlags_Flags[q4 + 1] -> - [conjure_aux1_ExplicitVarSizeWithFlags_Values[q4]; int(1)] conjure_aux1_ExplicitVarSizeWithFlags_Values[q5] = 1 | q5 : int(1..3)]), diff --git a/tests/exhaustive/basic/typed01/expected/model_1_1_1_1-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_1_1_1_1-solution000001.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_1_1_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_1_1_1-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_1_1_1_1-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_1_1_1-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_1_1_1-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_1_1_1_1-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_1_1_1-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_1_1_1.eprime b/tests/exhaustive/basic/typed01/expected/model_1_1_1_1.eprime new file mode 100644 index 0000000000..94c0d2b627 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_1_1_1.eprime @@ -0,0 +1,7 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1)] of bool +find y_Occurrence: matrix indexed by [int(1)] of bool +branching on [x_Occurrence, y_Occurrence] +such that x_Occurrence[1] /\ y_Occurrence[1] -> false + diff --git a/tests/exhaustive/basic/typed01/expected/model_1_1_1_2-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_1_1_1_2-solution000001.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_1_1_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_1_1_2-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_1_1_1_2-solution000002.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_1_1_2-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_1_1_2-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_1_1_1_2-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_1_1_2-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_1_1_2.eprime b/tests/exhaustive/basic/typed01/expected/model_1_1_1_2.eprime new file mode 100644 index 0000000000..bdbab746fd --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_1_1_2.eprime @@ -0,0 +1,11 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1)] of bool +find y_Occurrence: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +branching on [x_Occurrence, y_ExplicitVarSizeWithDummy, y_Occurrence] +such that + x_Occurrence[1] /\ y_Occurrence[1] -> false, + y_ExplicitVarSizeWithDummy[1] != 2 -> y_Occurrence[y_ExplicitVarSizeWithDummy[1]], + y_Occurrence[1] -> y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = 1 + diff --git a/tests/exhaustive/basic/typed01/expected/model_1_1_1_3-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_1_1_1_3-solution000001.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_1_1_3-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_1_1_3-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_1_1_1_3-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_1_1_3-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_1_1_3-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_1_1_1_3-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_1_1_3-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_1_1_3.eprime b/tests/exhaustive/basic/typed01/expected/model_1_1_1_3.eprime new file mode 100644 index 0000000000..c168e1afc0 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_1_1_3.eprime @@ -0,0 +1,13 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1)] of bool +find y_Occurrence: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithMarker_Marker: int(0..1) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +branching on [x_Occurrence, y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values, y_Occurrence] +such that + x_Occurrence[1] /\ y_Occurrence[1] -> false, + 1 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 <= y_ExplicitVarSizeWithMarker_Marker -> y_Occurrence[y_ExplicitVarSizeWithMarker_Values[1]], + y_Occurrence[1] -> 1 <= y_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithMarker_Values[1] = 1 + diff --git a/tests/exhaustive/basic/typed01/expected/model_1_1_1_4-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_1_1_1_4-solution000001.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_1_1_4-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_1_1_4-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_1_1_1_4-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_1_1_4-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_1_1_4-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_1_1_1_4-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_1_1_4-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_1_1_4.eprime b/tests/exhaustive/basic/typed01/expected/model_1_1_1_4.eprime new file mode 100644 index 0000000000..f0ddb80973 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_1_1_4.eprime @@ -0,0 +1,13 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1)] of bool +find y_Occurrence: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +branching on [x_Occurrence, y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values, y_Occurrence] +such that + x_Occurrence[1] /\ y_Occurrence[1] -> false, + y_ExplicitVarSizeWithFlags_Flags[1] = false -> y_ExplicitVarSizeWithFlags_Values[1] = 1, + y_ExplicitVarSizeWithFlags_Flags[1] -> y_Occurrence[y_ExplicitVarSizeWithFlags_Values[1]], + y_Occurrence[1] -> y_ExplicitVarSizeWithFlags_Flags[1] /\ y_ExplicitVarSizeWithFlags_Values[1] = 1 + diff --git a/tests/exhaustive/basic/typed01/expected/model_1_1_2_1-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_1_1_2_1-solution000001.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_1_2_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_1_2_1-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_1_1_2_1-solution000002.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_1_2_1-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_1_2_1-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_1_1_2_1-solution000003.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_1_2_1-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_1_2_1.eprime b/tests/exhaustive/basic/typed01/expected/model_1_1_2_1.eprime new file mode 100644 index 0000000000..0b9c355d3a --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_1_2_1.eprime @@ -0,0 +1,11 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find y_Occurrence: matrix indexed by [int(1)] of bool +branching on [x_ExplicitVarSizeWithDummy, x_Occurrence, y_Occurrence] +such that + x_Occurrence[1] /\ y_Occurrence[1] -> false, + x_ExplicitVarSizeWithDummy[1] != 2 -> x_Occurrence[x_ExplicitVarSizeWithDummy[1]], + x_Occurrence[1] -> x_ExplicitVarSizeWithDummy[1] != 2 /\ x_ExplicitVarSizeWithDummy[1] = 1 + diff --git a/tests/exhaustive/basic/typed01/expected/model_1_1_2_2-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_1_1_2_2-solution000001.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_1_2_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_1_2_2-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_1_1_2_2-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_1_2_2-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_1_2_2-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_1_1_2_2-solution000003.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_1_2_2-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_1_2_2.eprime b/tests/exhaustive/basic/typed01/expected/model_1_1_2_2.eprime new file mode 100644 index 0000000000..927eca8795 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_1_2_2.eprime @@ -0,0 +1,14 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find y_Occurrence: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +branching on [x_ExplicitVarSizeWithDummy, x_Occurrence, y_ExplicitVarSizeWithDummy, y_Occurrence] +such that + x_Occurrence[1] /\ y_Occurrence[1] -> false, + x_ExplicitVarSizeWithDummy[1] != 2 -> x_Occurrence[x_ExplicitVarSizeWithDummy[1]], + x_Occurrence[1] -> x_ExplicitVarSizeWithDummy[1] != 2 /\ x_ExplicitVarSizeWithDummy[1] = 1, + y_ExplicitVarSizeWithDummy[1] != 2 -> y_Occurrence[y_ExplicitVarSizeWithDummy[1]], + y_Occurrence[1] -> y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = 1 + diff --git a/tests/exhaustive/basic/typed01/expected/model_1_1_2_3-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_1_1_2_3-solution000001.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_1_2_3-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_1_2_3-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_1_1_2_3-solution000002.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_1_2_3-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_1_2_3-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_1_1_2_3-solution000003.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_1_2_3-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_1_2_3.eprime b/tests/exhaustive/basic/typed01/expected/model_1_1_2_3.eprime new file mode 100644 index 0000000000..56aa03eb37 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_1_2_3.eprime @@ -0,0 +1,18 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find y_Occurrence: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithMarker_Marker: int(0..1) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +branching on + [x_ExplicitVarSizeWithDummy, x_Occurrence, y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values, + y_Occurrence] +such that + x_Occurrence[1] /\ y_Occurrence[1] -> false, + x_ExplicitVarSizeWithDummy[1] != 2 -> x_Occurrence[x_ExplicitVarSizeWithDummy[1]], + x_Occurrence[1] -> x_ExplicitVarSizeWithDummy[1] != 2 /\ x_ExplicitVarSizeWithDummy[1] = 1, + 1 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 <= y_ExplicitVarSizeWithMarker_Marker -> y_Occurrence[y_ExplicitVarSizeWithMarker_Values[1]], + y_Occurrence[1] -> 1 <= y_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithMarker_Values[1] = 1 + diff --git a/tests/exhaustive/basic/typed01/expected/model_1_1_2_4-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_1_1_2_4-solution000001.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_1_2_4-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_1_2_4-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_1_1_2_4-solution000002.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_1_2_4-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_1_2_4-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_1_1_2_4-solution000003.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_1_2_4-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_1_2_4.eprime b/tests/exhaustive/basic/typed01/expected/model_1_1_2_4.eprime new file mode 100644 index 0000000000..2feadc3613 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_1_2_4.eprime @@ -0,0 +1,18 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find y_Occurrence: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +branching on + [x_ExplicitVarSizeWithDummy, x_Occurrence, y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values, + y_Occurrence] +such that + x_Occurrence[1] /\ y_Occurrence[1] -> false, + x_ExplicitVarSizeWithDummy[1] != 2 -> x_Occurrence[x_ExplicitVarSizeWithDummy[1]], + x_Occurrence[1] -> x_ExplicitVarSizeWithDummy[1] != 2 /\ x_ExplicitVarSizeWithDummy[1] = 1, + y_ExplicitVarSizeWithFlags_Flags[1] = false -> y_ExplicitVarSizeWithFlags_Values[1] = 1, + y_ExplicitVarSizeWithFlags_Flags[1] -> y_Occurrence[y_ExplicitVarSizeWithFlags_Values[1]], + y_Occurrence[1] -> y_ExplicitVarSizeWithFlags_Flags[1] /\ y_ExplicitVarSizeWithFlags_Values[1] = 1 + diff --git a/tests/exhaustive/basic/typed01/expected/model_1_1_3_1-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_1_1_3_1-solution000001.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_1_3_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_1_3_1-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_1_1_3_1-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_1_3_1-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_1_3_1-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_1_1_3_1-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_1_3_1-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_1_3_1.eprime b/tests/exhaustive/basic/typed01/expected/model_1_1_3_1.eprime new file mode 100644 index 0000000000..2c5a058d3e --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_1_3_1.eprime @@ -0,0 +1,13 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithMarker_Marker: int(0..1) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find y_Occurrence: matrix indexed by [int(1)] of bool +branching on [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_Occurrence, y_Occurrence] +such that + x_Occurrence[1] /\ y_Occurrence[1] -> false, + 1 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[1]], + x_Occurrence[1] -> 1 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[1] = 1 + diff --git a/tests/exhaustive/basic/typed01/expected/model_1_1_3_2-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_1_1_3_2-solution000001.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_1_3_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_1_3_2-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_1_1_3_2-solution000002.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_1_3_2-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_1_3_2-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_1_1_3_2-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_1_3_2-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_1_3_2.eprime b/tests/exhaustive/basic/typed01/expected/model_1_1_3_2.eprime new file mode 100644 index 0000000000..79607aae8e --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_1_3_2.eprime @@ -0,0 +1,18 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithMarker_Marker: int(0..1) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find y_Occurrence: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_Occurrence, y_ExplicitVarSizeWithDummy, + y_Occurrence] +such that + x_Occurrence[1] /\ y_Occurrence[1] -> false, + 1 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[1]], + x_Occurrence[1] -> 1 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[1] = 1, + y_ExplicitVarSizeWithDummy[1] != 2 -> y_Occurrence[y_ExplicitVarSizeWithDummy[1]], + y_Occurrence[1] -> y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = 1 + diff --git a/tests/exhaustive/basic/typed01/expected/model_1_1_3_3-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_1_1_3_3-solution000001.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_1_3_3-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_1_3_3-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_1_1_3_3-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_1_3_3-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_1_3_3-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_1_1_3_3-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_1_3_3-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_1_3_3.eprime b/tests/exhaustive/basic/typed01/expected/model_1_1_3_3.eprime new file mode 100644 index 0000000000..e4c42fc2e4 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_1_3_3.eprime @@ -0,0 +1,20 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithMarker_Marker: int(0..1) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find y_Occurrence: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithMarker_Marker: int(0..1) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_Occurrence, + y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values, y_Occurrence] +such that + x_Occurrence[1] /\ y_Occurrence[1] -> false, + 1 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[1]], + x_Occurrence[1] -> 1 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 <= y_ExplicitVarSizeWithMarker_Marker -> y_Occurrence[y_ExplicitVarSizeWithMarker_Values[1]], + y_Occurrence[1] -> 1 <= y_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithMarker_Values[1] = 1 + diff --git a/tests/exhaustive/basic/typed01/expected/model_1_1_3_4-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_1_1_3_4-solution000001.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_1_3_4-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_1_3_4-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_1_1_3_4-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_1_3_4-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_1_3_4-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_1_1_3_4-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_1_3_4-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_1_3_4.eprime b/tests/exhaustive/basic/typed01/expected/model_1_1_3_4.eprime new file mode 100644 index 0000000000..6a78b5ae6b --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_1_3_4.eprime @@ -0,0 +1,20 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithMarker_Marker: int(0..1) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find y_Occurrence: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_Occurrence, + y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values, y_Occurrence] +such that + x_Occurrence[1] /\ y_Occurrence[1] -> false, + 1 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[1]], + x_Occurrence[1] -> 1 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[1] = 1, + y_ExplicitVarSizeWithFlags_Flags[1] = false -> y_ExplicitVarSizeWithFlags_Values[1] = 1, + y_ExplicitVarSizeWithFlags_Flags[1] -> y_Occurrence[y_ExplicitVarSizeWithFlags_Values[1]], + y_Occurrence[1] -> y_ExplicitVarSizeWithFlags_Flags[1] /\ y_ExplicitVarSizeWithFlags_Values[1] = 1 + diff --git a/tests/exhaustive/basic/typed01/expected/model_1_1_4_1-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_1_1_4_1-solution000001.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_1_4_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_1_4_1-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_1_1_4_1-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_1_4_1-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_1_4_1-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_1_1_4_1-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_1_4_1-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_1_4_1.eprime b/tests/exhaustive/basic/typed01/expected/model_1_1_4_1.eprime new file mode 100644 index 0000000000..4e002eba26 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_1_4_1.eprime @@ -0,0 +1,13 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find y_Occurrence: matrix indexed by [int(1)] of bool +branching on [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_Occurrence, y_Occurrence] +such that + x_Occurrence[1] /\ y_Occurrence[1] -> false, + x_ExplicitVarSizeWithFlags_Flags[1] = false -> x_ExplicitVarSizeWithFlags_Values[1] = 1, + x_ExplicitVarSizeWithFlags_Flags[1] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[1]], + x_Occurrence[1] -> x_ExplicitVarSizeWithFlags_Flags[1] /\ x_ExplicitVarSizeWithFlags_Values[1] = 1 + diff --git a/tests/exhaustive/basic/typed01/expected/model_1_1_4_2-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_1_1_4_2-solution000001.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_1_4_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_1_4_2-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_1_1_4_2-solution000002.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_1_4_2-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_1_4_2-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_1_1_4_2-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_1_4_2-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_1_4_2.eprime b/tests/exhaustive/basic/typed01/expected/model_1_1_4_2.eprime new file mode 100644 index 0000000000..10f0ab252c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_1_4_2.eprime @@ -0,0 +1,18 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find y_Occurrence: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_Occurrence, y_ExplicitVarSizeWithDummy, + y_Occurrence] +such that + x_Occurrence[1] /\ y_Occurrence[1] -> false, + x_ExplicitVarSizeWithFlags_Flags[1] = false -> x_ExplicitVarSizeWithFlags_Values[1] = 1, + x_ExplicitVarSizeWithFlags_Flags[1] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[1]], + x_Occurrence[1] -> x_ExplicitVarSizeWithFlags_Flags[1] /\ x_ExplicitVarSizeWithFlags_Values[1] = 1, + y_ExplicitVarSizeWithDummy[1] != 2 -> y_Occurrence[y_ExplicitVarSizeWithDummy[1]], + y_Occurrence[1] -> y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = 1 + diff --git a/tests/exhaustive/basic/typed01/expected/model_1_1_4_3-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_1_1_4_3-solution000001.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_1_4_3-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_1_4_3-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_1_1_4_3-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_1_4_3-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_1_4_3-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_1_1_4_3-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_1_4_3-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_1_4_3.eprime b/tests/exhaustive/basic/typed01/expected/model_1_1_4_3.eprime new file mode 100644 index 0000000000..bec813d72f --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_1_4_3.eprime @@ -0,0 +1,20 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find y_Occurrence: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithMarker_Marker: int(0..1) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_Occurrence, + y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values, y_Occurrence] +such that + x_Occurrence[1] /\ y_Occurrence[1] -> false, + x_ExplicitVarSizeWithFlags_Flags[1] = false -> x_ExplicitVarSizeWithFlags_Values[1] = 1, + x_ExplicitVarSizeWithFlags_Flags[1] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[1]], + x_Occurrence[1] -> x_ExplicitVarSizeWithFlags_Flags[1] /\ x_ExplicitVarSizeWithFlags_Values[1] = 1, + 1 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 <= y_ExplicitVarSizeWithMarker_Marker -> y_Occurrence[y_ExplicitVarSizeWithMarker_Values[1]], + y_Occurrence[1] -> 1 <= y_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithMarker_Values[1] = 1 + diff --git a/tests/exhaustive/basic/typed01/expected/model_1_1_4_4-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_1_1_4_4-solution000001.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_1_4_4-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_1_4_4-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_1_1_4_4-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_1_4_4-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_1_4_4-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_1_1_4_4-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_1_4_4-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_1_4_4.eprime b/tests/exhaustive/basic/typed01/expected/model_1_1_4_4.eprime new file mode 100644 index 0000000000..3d1696bc7d --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_1_4_4.eprime @@ -0,0 +1,20 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find y_Occurrence: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_Occurrence, + y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values, y_Occurrence] +such that + x_Occurrence[1] /\ y_Occurrence[1] -> false, + x_ExplicitVarSizeWithFlags_Flags[1] = false -> x_ExplicitVarSizeWithFlags_Values[1] = 1, + x_ExplicitVarSizeWithFlags_Flags[1] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[1]], + x_Occurrence[1] -> x_ExplicitVarSizeWithFlags_Flags[1] /\ x_ExplicitVarSizeWithFlags_Values[1] = 1, + y_ExplicitVarSizeWithFlags_Flags[1] = false -> y_ExplicitVarSizeWithFlags_Values[1] = 1, + y_ExplicitVarSizeWithFlags_Flags[1] -> y_Occurrence[y_ExplicitVarSizeWithFlags_Values[1]], + y_Occurrence[1] -> y_ExplicitVarSizeWithFlags_Flags[1] /\ y_ExplicitVarSizeWithFlags_Values[1] = 1 + diff --git a/tests/exhaustive/basic/typed01/expected/model_1_2_1_1-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_1_2_1_1-solution000001.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_2_1_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_2_1_1-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_1_2_1_1-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_2_1_1-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_2_1_1-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_1_2_1_1-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_2_1_1-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_2_1_1.eprime b/tests/exhaustive/basic/typed01/expected/model_1_2_1_1.eprime new file mode 100644 index 0000000000..a11e9dfe09 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_2_1_1.eprime @@ -0,0 +1,11 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find y_Occurrence: matrix indexed by [int(1)] of bool +branching on [x_Occurrence, y_Occurrence, y_ExplicitVarSizeWithDummy] +such that + x_Occurrence[1] /\ (y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = 1) -> false, + y_Occurrence[1] -> y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = 1, + y_ExplicitVarSizeWithDummy[1] != 2 -> y_Occurrence[y_ExplicitVarSizeWithDummy[1]] + diff --git a/tests/exhaustive/basic/typed01/expected/model_1_2_1_2-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_1_2_1_2-solution000001.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_2_1_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_2_1_2-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_1_2_1_2-solution000002.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_2_1_2-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_2_1_2-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_1_2_1_2-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_2_1_2-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_2_1_2.eprime b/tests/exhaustive/basic/typed01/expected/model_1_2_1_2.eprime new file mode 100644 index 0000000000..f2ff753504 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_2_1_2.eprime @@ -0,0 +1,7 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +branching on [x_Occurrence, y_ExplicitVarSizeWithDummy] +such that x_Occurrence[1] /\ (y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = 1) -> false + diff --git a/tests/exhaustive/basic/typed01/expected/model_1_2_1_3-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_1_2_1_3-solution000001.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_2_1_3-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_2_1_3-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_1_2_1_3-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_2_1_3-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_2_1_3-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_1_2_1_3-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_2_1_3-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_2_1_3.eprime b/tests/exhaustive/basic/typed01/expected/model_1_2_1_3.eprime new file mode 100644 index 0000000000..1efda9ae16 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_2_1_3.eprime @@ -0,0 +1,16 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find y_ExplicitVarSizeWithMarker_Marker: int(0..1) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +branching on + [x_Occurrence, y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values, y_ExplicitVarSizeWithDummy] +such that + x_Occurrence[1] /\ (y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = 1) -> false, + 1 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = y_ExplicitVarSizeWithMarker_Values[1], + y_ExplicitVarSizeWithDummy[1] != 2 -> + 1 <= y_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithMarker_Values[1] = y_ExplicitVarSizeWithDummy[1] + diff --git a/tests/exhaustive/basic/typed01/expected/model_1_2_1_4-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_1_2_1_4-solution000001.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_2_1_4-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_2_1_4-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_1_2_1_4-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_2_1_4-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_2_1_4-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_1_2_1_4-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_2_1_4-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_2_1_4.eprime b/tests/exhaustive/basic/typed01/expected/model_1_2_1_4.eprime new file mode 100644 index 0000000000..afe11ceafd --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_2_1_4.eprime @@ -0,0 +1,16 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +branching on + [x_Occurrence, y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values, y_ExplicitVarSizeWithDummy] +such that + x_Occurrence[1] /\ (y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = 1) -> false, + y_ExplicitVarSizeWithFlags_Flags[1] = false -> y_ExplicitVarSizeWithFlags_Values[1] = 1, + y_ExplicitVarSizeWithFlags_Flags[1] -> + y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = y_ExplicitVarSizeWithFlags_Values[1], + y_ExplicitVarSizeWithDummy[1] != 2 -> + y_ExplicitVarSizeWithFlags_Flags[1] /\ y_ExplicitVarSizeWithFlags_Values[1] = y_ExplicitVarSizeWithDummy[1] + diff --git a/tests/exhaustive/basic/typed01/expected/model_1_2_2_1-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_1_2_2_1-solution000001.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_2_2_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_2_2_1-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_1_2_2_1-solution000002.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_2_2_1-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_2_2_1-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_1_2_2_1-solution000003.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_2_2_1-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_2_2_1.eprime b/tests/exhaustive/basic/typed01/expected/model_1_2_2_1.eprime new file mode 100644 index 0000000000..19621229d3 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_2_2_1.eprime @@ -0,0 +1,14 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find y_Occurrence: matrix indexed by [int(1)] of bool +branching on [x_ExplicitVarSizeWithDummy, x_Occurrence, y_Occurrence, y_ExplicitVarSizeWithDummy] +such that + x_Occurrence[1] /\ (y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = 1) -> false, + x_ExplicitVarSizeWithDummy[1] != 2 -> x_Occurrence[x_ExplicitVarSizeWithDummy[1]], + x_Occurrence[1] -> x_ExplicitVarSizeWithDummy[1] != 2 /\ x_ExplicitVarSizeWithDummy[1] = 1, + y_Occurrence[1] -> y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = 1, + y_ExplicitVarSizeWithDummy[1] != 2 -> y_Occurrence[y_ExplicitVarSizeWithDummy[1]] + diff --git a/tests/exhaustive/basic/typed01/expected/model_1_2_2_2-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_1_2_2_2-solution000001.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_2_2_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_2_2_2-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_1_2_2_2-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_2_2_2-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_2_2_2-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_1_2_2_2-solution000003.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_2_2_2-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_2_2_2.eprime b/tests/exhaustive/basic/typed01/expected/model_1_2_2_2.eprime new file mode 100644 index 0000000000..598c4469a5 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_2_2_2.eprime @@ -0,0 +1,11 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +branching on [x_ExplicitVarSizeWithDummy, x_Occurrence, y_ExplicitVarSizeWithDummy] +such that + x_Occurrence[1] /\ (y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = 1) -> false, + x_ExplicitVarSizeWithDummy[1] != 2 -> x_Occurrence[x_ExplicitVarSizeWithDummy[1]], + x_Occurrence[1] -> x_ExplicitVarSizeWithDummy[1] != 2 /\ x_ExplicitVarSizeWithDummy[1] = 1 + diff --git a/tests/exhaustive/basic/typed01/expected/model_1_2_2_3-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_1_2_2_3-solution000001.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_2_2_3-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_2_2_3-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_1_2_2_3-solution000002.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_2_2_3-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_2_2_3-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_1_2_2_3-solution000003.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_2_2_3-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_2_2_3.eprime b/tests/exhaustive/basic/typed01/expected/model_1_2_2_3.eprime new file mode 100644 index 0000000000..2778101db8 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_2_2_3.eprime @@ -0,0 +1,20 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find y_ExplicitVarSizeWithMarker_Marker: int(0..1) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +branching on + [x_ExplicitVarSizeWithDummy, x_Occurrence, y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values, + y_ExplicitVarSizeWithDummy] +such that + x_Occurrence[1] /\ (y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = 1) -> false, + x_ExplicitVarSizeWithDummy[1] != 2 -> x_Occurrence[x_ExplicitVarSizeWithDummy[1]], + x_Occurrence[1] -> x_ExplicitVarSizeWithDummy[1] != 2 /\ x_ExplicitVarSizeWithDummy[1] = 1, + 1 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = y_ExplicitVarSizeWithMarker_Values[1], + y_ExplicitVarSizeWithDummy[1] != 2 -> + 1 <= y_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithMarker_Values[1] = y_ExplicitVarSizeWithDummy[1] + diff --git a/tests/exhaustive/basic/typed01/expected/model_1_2_2_4-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_1_2_2_4-solution000001.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_2_2_4-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_2_2_4-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_1_2_2_4-solution000002.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_2_2_4-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_2_2_4-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_1_2_2_4-solution000003.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_2_2_4-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_2_2_4.eprime b/tests/exhaustive/basic/typed01/expected/model_1_2_2_4.eprime new file mode 100644 index 0000000000..7a17794ceb --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_2_2_4.eprime @@ -0,0 +1,20 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +branching on + [x_ExplicitVarSizeWithDummy, x_Occurrence, y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values, + y_ExplicitVarSizeWithDummy] +such that + x_Occurrence[1] /\ (y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = 1) -> false, + x_ExplicitVarSizeWithDummy[1] != 2 -> x_Occurrence[x_ExplicitVarSizeWithDummy[1]], + x_Occurrence[1] -> x_ExplicitVarSizeWithDummy[1] != 2 /\ x_ExplicitVarSizeWithDummy[1] = 1, + y_ExplicitVarSizeWithFlags_Flags[1] = false -> y_ExplicitVarSizeWithFlags_Values[1] = 1, + y_ExplicitVarSizeWithFlags_Flags[1] -> + y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = y_ExplicitVarSizeWithFlags_Values[1], + y_ExplicitVarSizeWithDummy[1] != 2 -> + y_ExplicitVarSizeWithFlags_Flags[1] /\ y_ExplicitVarSizeWithFlags_Values[1] = y_ExplicitVarSizeWithDummy[1] + diff --git a/tests/exhaustive/basic/typed01/expected/model_1_2_3_1-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_1_2_3_1-solution000001.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_2_3_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_2_3_1-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_1_2_3_1-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_2_3_1-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_2_3_1-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_1_2_3_1-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_2_3_1-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_2_3_1.eprime b/tests/exhaustive/basic/typed01/expected/model_1_2_3_1.eprime new file mode 100644 index 0000000000..740f1db56a --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_2_3_1.eprime @@ -0,0 +1,18 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithMarker_Marker: int(0..1) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find y_Occurrence: matrix indexed by [int(1)] of bool +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_Occurrence, y_Occurrence, + y_ExplicitVarSizeWithDummy] +such that + x_Occurrence[1] /\ (y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = 1) -> false, + 1 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[1]], + x_Occurrence[1] -> 1 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[1] = 1, + y_Occurrence[1] -> y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = 1, + y_ExplicitVarSizeWithDummy[1] != 2 -> y_Occurrence[y_ExplicitVarSizeWithDummy[1]] + diff --git a/tests/exhaustive/basic/typed01/expected/model_1_2_3_2-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_1_2_3_2-solution000001.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_2_3_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_2_3_2-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_1_2_3_2-solution000002.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_2_3_2-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_2_3_2-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_1_2_3_2-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_2_3_2-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_2_3_2.eprime b/tests/exhaustive/basic/typed01/expected/model_1_2_3_2.eprime new file mode 100644 index 0000000000..c4faccb2d1 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_2_3_2.eprime @@ -0,0 +1,14 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithMarker_Marker: int(0..1) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_Occurrence, y_ExplicitVarSizeWithDummy] +such that + x_Occurrence[1] /\ (y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = 1) -> false, + 1 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[1]], + x_Occurrence[1] -> 1 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[1] = 1 + diff --git a/tests/exhaustive/basic/typed01/expected/model_1_2_3_3-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_1_2_3_3-solution000001.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_2_3_3-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_2_3_3-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_1_2_3_3-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_2_3_3-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_2_3_3-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_1_2_3_3-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_2_3_3-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_2_3_3.eprime b/tests/exhaustive/basic/typed01/expected/model_1_2_3_3.eprime new file mode 100644 index 0000000000..2c591401fc --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_2_3_3.eprime @@ -0,0 +1,22 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithMarker_Marker: int(0..1) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find y_ExplicitVarSizeWithMarker_Marker: int(0..1) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_Occurrence, + y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values, y_ExplicitVarSizeWithDummy] +such that + x_Occurrence[1] /\ (y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = 1) -> false, + 1 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[1]], + x_Occurrence[1] -> 1 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = y_ExplicitVarSizeWithMarker_Values[1], + y_ExplicitVarSizeWithDummy[1] != 2 -> + 1 <= y_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithMarker_Values[1] = y_ExplicitVarSizeWithDummy[1] + diff --git a/tests/exhaustive/basic/typed01/expected/model_1_2_3_4-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_1_2_3_4-solution000001.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_2_3_4-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_2_3_4-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_1_2_3_4-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_2_3_4-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_2_3_4-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_1_2_3_4-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_2_3_4-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_2_3_4.eprime b/tests/exhaustive/basic/typed01/expected/model_1_2_3_4.eprime new file mode 100644 index 0000000000..065b1128ba --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_2_3_4.eprime @@ -0,0 +1,22 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithMarker_Marker: int(0..1) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_Occurrence, + y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values, y_ExplicitVarSizeWithDummy] +such that + x_Occurrence[1] /\ (y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = 1) -> false, + 1 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[1]], + x_Occurrence[1] -> 1 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[1] = 1, + y_ExplicitVarSizeWithFlags_Flags[1] = false -> y_ExplicitVarSizeWithFlags_Values[1] = 1, + y_ExplicitVarSizeWithFlags_Flags[1] -> + y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = y_ExplicitVarSizeWithFlags_Values[1], + y_ExplicitVarSizeWithDummy[1] != 2 -> + y_ExplicitVarSizeWithFlags_Flags[1] /\ y_ExplicitVarSizeWithFlags_Values[1] = y_ExplicitVarSizeWithDummy[1] + diff --git a/tests/exhaustive/basic/typed01/expected/model_1_2_4_1-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_1_2_4_1-solution000001.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_2_4_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_2_4_1-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_1_2_4_1-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_2_4_1-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_2_4_1-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_1_2_4_1-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_2_4_1-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_2_4_1.eprime b/tests/exhaustive/basic/typed01/expected/model_1_2_4_1.eprime new file mode 100644 index 0000000000..734b00c535 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_2_4_1.eprime @@ -0,0 +1,18 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find y_Occurrence: matrix indexed by [int(1)] of bool +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_Occurrence, y_Occurrence, + y_ExplicitVarSizeWithDummy] +such that + x_Occurrence[1] /\ (y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = 1) -> false, + x_ExplicitVarSizeWithFlags_Flags[1] = false -> x_ExplicitVarSizeWithFlags_Values[1] = 1, + x_ExplicitVarSizeWithFlags_Flags[1] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[1]], + x_Occurrence[1] -> x_ExplicitVarSizeWithFlags_Flags[1] /\ x_ExplicitVarSizeWithFlags_Values[1] = 1, + y_Occurrence[1] -> y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = 1, + y_ExplicitVarSizeWithDummy[1] != 2 -> y_Occurrence[y_ExplicitVarSizeWithDummy[1]] + diff --git a/tests/exhaustive/basic/typed01/expected/model_1_2_4_2-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_1_2_4_2-solution000001.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_2_4_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_2_4_2-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_1_2_4_2-solution000002.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_2_4_2-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_2_4_2-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_1_2_4_2-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_2_4_2-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_2_4_2.eprime b/tests/exhaustive/basic/typed01/expected/model_1_2_4_2.eprime new file mode 100644 index 0000000000..af1b4633ab --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_2_4_2.eprime @@ -0,0 +1,14 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_Occurrence, y_ExplicitVarSizeWithDummy] +such that + x_Occurrence[1] /\ (y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = 1) -> false, + x_ExplicitVarSizeWithFlags_Flags[1] = false -> x_ExplicitVarSizeWithFlags_Values[1] = 1, + x_ExplicitVarSizeWithFlags_Flags[1] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[1]], + x_Occurrence[1] -> x_ExplicitVarSizeWithFlags_Flags[1] /\ x_ExplicitVarSizeWithFlags_Values[1] = 1 + diff --git a/tests/exhaustive/basic/typed01/expected/model_1_2_4_3-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_1_2_4_3-solution000001.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_2_4_3-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_2_4_3-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_1_2_4_3-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_2_4_3-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_2_4_3-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_1_2_4_3-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_2_4_3-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_2_4_3.eprime b/tests/exhaustive/basic/typed01/expected/model_1_2_4_3.eprime new file mode 100644 index 0000000000..5a5d396454 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_2_4_3.eprime @@ -0,0 +1,22 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find y_ExplicitVarSizeWithMarker_Marker: int(0..1) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_Occurrence, + y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values, y_ExplicitVarSizeWithDummy] +such that + x_Occurrence[1] /\ (y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = 1) -> false, + x_ExplicitVarSizeWithFlags_Flags[1] = false -> x_ExplicitVarSizeWithFlags_Values[1] = 1, + x_ExplicitVarSizeWithFlags_Flags[1] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[1]], + x_Occurrence[1] -> x_ExplicitVarSizeWithFlags_Flags[1] /\ x_ExplicitVarSizeWithFlags_Values[1] = 1, + 1 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = y_ExplicitVarSizeWithMarker_Values[1], + y_ExplicitVarSizeWithDummy[1] != 2 -> + 1 <= y_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithMarker_Values[1] = y_ExplicitVarSizeWithDummy[1] + diff --git a/tests/exhaustive/basic/typed01/expected/model_1_2_4_4-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_1_2_4_4-solution000001.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_2_4_4-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_2_4_4-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_1_2_4_4-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_2_4_4-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_2_4_4-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_1_2_4_4-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_2_4_4-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_2_4_4.eprime b/tests/exhaustive/basic/typed01/expected/model_1_2_4_4.eprime new file mode 100644 index 0000000000..38426c425d --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_2_4_4.eprime @@ -0,0 +1,22 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_Occurrence, + y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values, y_ExplicitVarSizeWithDummy] +such that + x_Occurrence[1] /\ (y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = 1) -> false, + x_ExplicitVarSizeWithFlags_Flags[1] = false -> x_ExplicitVarSizeWithFlags_Values[1] = 1, + x_ExplicitVarSizeWithFlags_Flags[1] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[1]], + x_Occurrence[1] -> x_ExplicitVarSizeWithFlags_Flags[1] /\ x_ExplicitVarSizeWithFlags_Values[1] = 1, + y_ExplicitVarSizeWithFlags_Flags[1] = false -> y_ExplicitVarSizeWithFlags_Values[1] = 1, + y_ExplicitVarSizeWithFlags_Flags[1] -> + y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = y_ExplicitVarSizeWithFlags_Values[1], + y_ExplicitVarSizeWithDummy[1] != 2 -> + y_ExplicitVarSizeWithFlags_Flags[1] /\ y_ExplicitVarSizeWithFlags_Values[1] = y_ExplicitVarSizeWithDummy[1] + diff --git a/tests/exhaustive/basic/typed01/expected/model_1_3_1_1-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_1_3_1_1-solution000001.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_3_1_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_3_1_1-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_1_3_1_1-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_3_1_1-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_3_1_1-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_1_3_1_1-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_3_1_1-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_3_1_1.eprime b/tests/exhaustive/basic/typed01/expected/model_1_3_1_1.eprime new file mode 100644 index 0000000000..0e788a249a --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_3_1_1.eprime @@ -0,0 +1,13 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithMarker_Marker: int(0..1) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find y_Occurrence: matrix indexed by [int(1)] of bool +branching on [x_Occurrence, y_Occurrence, y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values] +such that + x_Occurrence[1] /\ (1 <= y_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithMarker_Values[1] = 1) -> false, + 1 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[1] = 1, + y_Occurrence[1] -> 1 <= y_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 <= y_ExplicitVarSizeWithMarker_Marker -> y_Occurrence[y_ExplicitVarSizeWithMarker_Values[1]] + diff --git a/tests/exhaustive/basic/typed01/expected/model_1_3_1_2-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_1_3_1_2-solution000001.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_3_1_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_3_1_2-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_1_3_1_2-solution000002.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_3_1_2-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_3_1_2-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_1_3_1_2-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_3_1_2-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_3_1_2.eprime b/tests/exhaustive/basic/typed01/expected/model_1_3_1_2.eprime new file mode 100644 index 0000000000..bd9ff9b0f3 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_3_1_2.eprime @@ -0,0 +1,16 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithMarker_Marker: int(0..1) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +branching on + [x_Occurrence, y_ExplicitVarSizeWithDummy, y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values] +such that + x_Occurrence[1] /\ (1 <= y_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithMarker_Values[1] = 1) -> false, + 1 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[1] = 1, + y_ExplicitVarSizeWithDummy[1] != 2 -> + 1 <= y_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithMarker_Values[1] = y_ExplicitVarSizeWithDummy[1], + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = y_ExplicitVarSizeWithMarker_Values[1] + diff --git a/tests/exhaustive/basic/typed01/expected/model_1_3_1_3-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_1_3_1_3-solution000001.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_3_1_3-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_3_1_3-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_1_3_1_3-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_3_1_3-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_3_1_3-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_1_3_1_3-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_3_1_3-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_3_1_3.eprime b/tests/exhaustive/basic/typed01/expected/model_1_3_1_3.eprime new file mode 100644 index 0000000000..b8082395cd --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_3_1_3.eprime @@ -0,0 +1,10 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithMarker_Marker: int(0..1) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +branching on [x_Occurrence, y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values] +such that + x_Occurrence[1] /\ (1 <= y_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithMarker_Values[1] = 1) -> false, + 1 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[1] = 1 + diff --git a/tests/exhaustive/basic/typed01/expected/model_1_3_1_4-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_1_3_1_4-solution000001.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_3_1_4-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_3_1_4-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_1_3_1_4-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_3_1_4-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_3_1_4-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_1_3_1_4-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_3_1_4-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_3_1_4.eprime b/tests/exhaustive/basic/typed01/expected/model_1_3_1_4.eprime new file mode 100644 index 0000000000..4def58b75c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_3_1_4.eprime @@ -0,0 +1,20 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithMarker_Marker: int(0..1) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +branching on + [x_Occurrence, y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values, + y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values] +such that + x_Occurrence[1] /\ (1 <= y_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithMarker_Values[1] = 1) -> false, + 1 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[1] = 1, + y_ExplicitVarSizeWithFlags_Flags[1] = false -> y_ExplicitVarSizeWithFlags_Values[1] = 1, + y_ExplicitVarSizeWithFlags_Flags[1] -> + 1 <= y_ExplicitVarSizeWithMarker_Marker /\ + y_ExplicitVarSizeWithMarker_Values[1] = y_ExplicitVarSizeWithFlags_Values[1], + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithFlags_Flags[1] /\ y_ExplicitVarSizeWithFlags_Values[1] = y_ExplicitVarSizeWithMarker_Values[1] + diff --git a/tests/exhaustive/basic/typed01/expected/model_1_3_2_1-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_1_3_2_1-solution000001.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_3_2_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_3_2_1-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_1_3_2_1-solution000002.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_3_2_1-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_3_2_1-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_1_3_2_1-solution000003.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_3_2_1-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_3_2_1.eprime b/tests/exhaustive/basic/typed01/expected/model_1_3_2_1.eprime new file mode 100644 index 0000000000..d53864e2d5 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_3_2_1.eprime @@ -0,0 +1,18 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find y_ExplicitVarSizeWithMarker_Marker: int(0..1) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find y_Occurrence: matrix indexed by [int(1)] of bool +branching on + [x_ExplicitVarSizeWithDummy, x_Occurrence, y_Occurrence, y_ExplicitVarSizeWithMarker_Marker, + y_ExplicitVarSizeWithMarker_Values] +such that + x_Occurrence[1] /\ (1 <= y_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithMarker_Values[1] = 1) -> false, + 1 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[1] = 1, + x_ExplicitVarSizeWithDummy[1] != 2 -> x_Occurrence[x_ExplicitVarSizeWithDummy[1]], + x_Occurrence[1] -> x_ExplicitVarSizeWithDummy[1] != 2 /\ x_ExplicitVarSizeWithDummy[1] = 1, + y_Occurrence[1] -> 1 <= y_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 <= y_ExplicitVarSizeWithMarker_Marker -> y_Occurrence[y_ExplicitVarSizeWithMarker_Values[1]] + diff --git a/tests/exhaustive/basic/typed01/expected/model_1_3_2_2-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_1_3_2_2-solution000001.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_3_2_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_3_2_2-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_1_3_2_2-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_3_2_2-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_3_2_2-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_1_3_2_2-solution000003.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_3_2_2-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_3_2_2.eprime b/tests/exhaustive/basic/typed01/expected/model_1_3_2_2.eprime new file mode 100644 index 0000000000..076023e23e --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_3_2_2.eprime @@ -0,0 +1,20 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find y_ExplicitVarSizeWithMarker_Marker: int(0..1) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +branching on + [x_ExplicitVarSizeWithDummy, x_Occurrence, y_ExplicitVarSizeWithDummy, y_ExplicitVarSizeWithMarker_Marker, + y_ExplicitVarSizeWithMarker_Values] +such that + x_Occurrence[1] /\ (1 <= y_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithMarker_Values[1] = 1) -> false, + 1 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[1] = 1, + x_ExplicitVarSizeWithDummy[1] != 2 -> x_Occurrence[x_ExplicitVarSizeWithDummy[1]], + x_Occurrence[1] -> x_ExplicitVarSizeWithDummy[1] != 2 /\ x_ExplicitVarSizeWithDummy[1] = 1, + y_ExplicitVarSizeWithDummy[1] != 2 -> + 1 <= y_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithMarker_Values[1] = y_ExplicitVarSizeWithDummy[1], + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = y_ExplicitVarSizeWithMarker_Values[1] + diff --git a/tests/exhaustive/basic/typed01/expected/model_1_3_2_3-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_1_3_2_3-solution000001.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_3_2_3-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_3_2_3-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_1_3_2_3-solution000002.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_3_2_3-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_3_2_3-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_1_3_2_3-solution000003.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_3_2_3-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_3_2_3.eprime b/tests/exhaustive/basic/typed01/expected/model_1_3_2_3.eprime new file mode 100644 index 0000000000..b30170d39b --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_3_2_3.eprime @@ -0,0 +1,14 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find y_ExplicitVarSizeWithMarker_Marker: int(0..1) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +branching on + [x_ExplicitVarSizeWithDummy, x_Occurrence, y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values] +such that + x_Occurrence[1] /\ (1 <= y_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithMarker_Values[1] = 1) -> false, + 1 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[1] = 1, + x_ExplicitVarSizeWithDummy[1] != 2 -> x_Occurrence[x_ExplicitVarSizeWithDummy[1]], + x_Occurrence[1] -> x_ExplicitVarSizeWithDummy[1] != 2 /\ x_ExplicitVarSizeWithDummy[1] = 1 + diff --git a/tests/exhaustive/basic/typed01/expected/model_1_3_2_4-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_1_3_2_4-solution000001.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_3_2_4-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_3_2_4-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_1_3_2_4-solution000002.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_3_2_4-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_3_2_4-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_1_3_2_4-solution000003.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_3_2_4-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_3_2_4.eprime b/tests/exhaustive/basic/typed01/expected/model_1_3_2_4.eprime new file mode 100644 index 0000000000..b355a9ad86 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_3_2_4.eprime @@ -0,0 +1,23 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find y_ExplicitVarSizeWithMarker_Marker: int(0..1) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +branching on + [x_ExplicitVarSizeWithDummy, x_Occurrence, y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values, + y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values] +such that + x_Occurrence[1] /\ (1 <= y_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithMarker_Values[1] = 1) -> false, + 1 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[1] = 1, + x_ExplicitVarSizeWithDummy[1] != 2 -> x_Occurrence[x_ExplicitVarSizeWithDummy[1]], + x_Occurrence[1] -> x_ExplicitVarSizeWithDummy[1] != 2 /\ x_ExplicitVarSizeWithDummy[1] = 1, + y_ExplicitVarSizeWithFlags_Flags[1] = false -> y_ExplicitVarSizeWithFlags_Values[1] = 1, + y_ExplicitVarSizeWithFlags_Flags[1] -> + 1 <= y_ExplicitVarSizeWithMarker_Marker /\ + y_ExplicitVarSizeWithMarker_Values[1] = y_ExplicitVarSizeWithFlags_Values[1], + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithFlags_Flags[1] /\ y_ExplicitVarSizeWithFlags_Values[1] = y_ExplicitVarSizeWithMarker_Values[1] + diff --git a/tests/exhaustive/basic/typed01/expected/model_1_3_3_1-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_1_3_3_1-solution000001.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_3_3_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_3_3_1-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_1_3_3_1-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_3_3_1-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_3_3_1-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_1_3_3_1-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_3_3_1-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_3_3_1.eprime b/tests/exhaustive/basic/typed01/expected/model_1_3_3_1.eprime new file mode 100644 index 0000000000..db5c695212 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_3_3_1.eprime @@ -0,0 +1,20 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithMarker_Marker: int(0..1) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithMarker_Marker: int(0..1) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find y_Occurrence: matrix indexed by [int(1)] of bool +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_Occurrence, y_Occurrence, + y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values] +such that + x_Occurrence[1] /\ (1 <= y_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithMarker_Values[1] = 1) -> false, + 1 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[1]], + x_Occurrence[1] -> 1 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[1] = 1, + y_Occurrence[1] -> 1 <= y_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 <= y_ExplicitVarSizeWithMarker_Marker -> y_Occurrence[y_ExplicitVarSizeWithMarker_Values[1]] + diff --git a/tests/exhaustive/basic/typed01/expected/model_1_3_3_2-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_1_3_3_2-solution000001.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_3_3_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_3_3_2-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_1_3_3_2-solution000002.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_3_3_2-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_3_3_2-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_1_3_3_2-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_3_3_2-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_3_3_2.eprime b/tests/exhaustive/basic/typed01/expected/model_1_3_3_2.eprime new file mode 100644 index 0000000000..12bdab1c1e --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_3_3_2.eprime @@ -0,0 +1,22 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithMarker_Marker: int(0..1) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithMarker_Marker: int(0..1) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_Occurrence, y_ExplicitVarSizeWithDummy, + y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values] +such that + x_Occurrence[1] /\ (1 <= y_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithMarker_Values[1] = 1) -> false, + 1 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[1]], + x_Occurrence[1] -> 1 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[1] = 1, + y_ExplicitVarSizeWithDummy[1] != 2 -> + 1 <= y_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithMarker_Values[1] = y_ExplicitVarSizeWithDummy[1], + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = y_ExplicitVarSizeWithMarker_Values[1] + diff --git a/tests/exhaustive/basic/typed01/expected/model_1_3_3_3-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_1_3_3_3-solution000001.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_3_3_3-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_3_3_3-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_1_3_3_3-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_3_3_3-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_3_3_3-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_1_3_3_3-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_3_3_3-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_3_3_3.eprime b/tests/exhaustive/basic/typed01/expected/model_1_3_3_3.eprime new file mode 100644 index 0000000000..797ccd6052 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_3_3_3.eprime @@ -0,0 +1,17 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithMarker_Marker: int(0..1) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithMarker_Marker: int(0..1) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_Occurrence, + y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values] +such that + x_Occurrence[1] /\ (1 <= y_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithMarker_Values[1] = 1) -> false, + 1 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[1]], + x_Occurrence[1] -> 1 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[1] = 1 + diff --git a/tests/exhaustive/basic/typed01/expected/model_1_3_3_4-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_1_3_3_4-solution000001.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_3_3_4-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_3_3_4-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_1_3_3_4-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_3_3_4-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_3_3_4-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_1_3_3_4-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_3_3_4-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_3_3_4.eprime b/tests/exhaustive/basic/typed01/expected/model_1_3_3_4.eprime new file mode 100644 index 0000000000..0fe2d482ea --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_3_3_4.eprime @@ -0,0 +1,26 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithMarker_Marker: int(0..1) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithMarker_Marker: int(0..1) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_Occurrence, + y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values, y_ExplicitVarSizeWithMarker_Marker, + y_ExplicitVarSizeWithMarker_Values] +such that + x_Occurrence[1] /\ (1 <= y_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithMarker_Values[1] = 1) -> false, + 1 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[1]], + x_Occurrence[1] -> 1 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[1] = 1, + y_ExplicitVarSizeWithFlags_Flags[1] = false -> y_ExplicitVarSizeWithFlags_Values[1] = 1, + y_ExplicitVarSizeWithFlags_Flags[1] -> + 1 <= y_ExplicitVarSizeWithMarker_Marker /\ + y_ExplicitVarSizeWithMarker_Values[1] = y_ExplicitVarSizeWithFlags_Values[1], + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithFlags_Flags[1] /\ y_ExplicitVarSizeWithFlags_Values[1] = y_ExplicitVarSizeWithMarker_Values[1] + diff --git a/tests/exhaustive/basic/typed01/expected/model_1_3_4_1-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_1_3_4_1-solution000001.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_3_4_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_3_4_1-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_1_3_4_1-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_3_4_1-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_3_4_1-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_1_3_4_1-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_3_4_1-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_3_4_1.eprime b/tests/exhaustive/basic/typed01/expected/model_1_3_4_1.eprime new file mode 100644 index 0000000000..e0b90502fa --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_3_4_1.eprime @@ -0,0 +1,20 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithMarker_Marker: int(0..1) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find y_Occurrence: matrix indexed by [int(1)] of bool +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_Occurrence, y_Occurrence, + y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values] +such that + x_Occurrence[1] /\ (1 <= y_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithMarker_Values[1] = 1) -> false, + 1 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[1] = 1, + x_ExplicitVarSizeWithFlags_Flags[1] = false -> x_ExplicitVarSizeWithFlags_Values[1] = 1, + x_ExplicitVarSizeWithFlags_Flags[1] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[1]], + x_Occurrence[1] -> x_ExplicitVarSizeWithFlags_Flags[1] /\ x_ExplicitVarSizeWithFlags_Values[1] = 1, + y_Occurrence[1] -> 1 <= y_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 <= y_ExplicitVarSizeWithMarker_Marker -> y_Occurrence[y_ExplicitVarSizeWithMarker_Values[1]] + diff --git a/tests/exhaustive/basic/typed01/expected/model_1_3_4_2-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_1_3_4_2-solution000001.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_3_4_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_3_4_2-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_1_3_4_2-solution000002.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_3_4_2-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_3_4_2-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_1_3_4_2-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_3_4_2-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_3_4_2.eprime b/tests/exhaustive/basic/typed01/expected/model_1_3_4_2.eprime new file mode 100644 index 0000000000..0ed8c94b10 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_3_4_2.eprime @@ -0,0 +1,22 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithMarker_Marker: int(0..1) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_Occurrence, y_ExplicitVarSizeWithDummy, + y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values] +such that + x_Occurrence[1] /\ (1 <= y_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithMarker_Values[1] = 1) -> false, + 1 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[1] = 1, + x_ExplicitVarSizeWithFlags_Flags[1] = false -> x_ExplicitVarSizeWithFlags_Values[1] = 1, + x_ExplicitVarSizeWithFlags_Flags[1] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[1]], + x_Occurrence[1] -> x_ExplicitVarSizeWithFlags_Flags[1] /\ x_ExplicitVarSizeWithFlags_Values[1] = 1, + y_ExplicitVarSizeWithDummy[1] != 2 -> + 1 <= y_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithMarker_Values[1] = y_ExplicitVarSizeWithDummy[1], + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = y_ExplicitVarSizeWithMarker_Values[1] + diff --git a/tests/exhaustive/basic/typed01/expected/model_1_3_4_3-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_1_3_4_3-solution000001.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_3_4_3-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_3_4_3-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_1_3_4_3-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_3_4_3-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_3_4_3-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_1_3_4_3-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_3_4_3-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_3_4_3.eprime b/tests/exhaustive/basic/typed01/expected/model_1_3_4_3.eprime new file mode 100644 index 0000000000..5b9b136e78 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_3_4_3.eprime @@ -0,0 +1,17 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithMarker_Marker: int(0..1) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_Occurrence, + y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values] +such that + x_Occurrence[1] /\ (1 <= y_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithMarker_Values[1] = 1) -> false, + 1 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[1] = 1, + x_ExplicitVarSizeWithFlags_Flags[1] = false -> x_ExplicitVarSizeWithFlags_Values[1] = 1, + x_ExplicitVarSizeWithFlags_Flags[1] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[1]], + x_Occurrence[1] -> x_ExplicitVarSizeWithFlags_Flags[1] /\ x_ExplicitVarSizeWithFlags_Values[1] = 1 + diff --git a/tests/exhaustive/basic/typed01/expected/model_1_3_4_4-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_1_3_4_4-solution000001.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_3_4_4-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_3_4_4-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_1_3_4_4-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_3_4_4-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_3_4_4-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_1_3_4_4-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_3_4_4-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_3_4_4.eprime b/tests/exhaustive/basic/typed01/expected/model_1_3_4_4.eprime new file mode 100644 index 0000000000..e7751848d5 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_3_4_4.eprime @@ -0,0 +1,26 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithMarker_Marker: int(0..1) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_Occurrence, + y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values, y_ExplicitVarSizeWithMarker_Marker, + y_ExplicitVarSizeWithMarker_Values] +such that + x_Occurrence[1] /\ (1 <= y_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithMarker_Values[1] = 1) -> false, + 1 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[1] = 1, + x_ExplicitVarSizeWithFlags_Flags[1] = false -> x_ExplicitVarSizeWithFlags_Values[1] = 1, + x_ExplicitVarSizeWithFlags_Flags[1] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[1]], + x_Occurrence[1] -> x_ExplicitVarSizeWithFlags_Flags[1] /\ x_ExplicitVarSizeWithFlags_Values[1] = 1, + y_ExplicitVarSizeWithFlags_Flags[1] = false -> y_ExplicitVarSizeWithFlags_Values[1] = 1, + y_ExplicitVarSizeWithFlags_Flags[1] -> + 1 <= y_ExplicitVarSizeWithMarker_Marker /\ + y_ExplicitVarSizeWithMarker_Values[1] = y_ExplicitVarSizeWithFlags_Values[1], + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithFlags_Flags[1] /\ y_ExplicitVarSizeWithFlags_Values[1] = y_ExplicitVarSizeWithMarker_Values[1] + diff --git a/tests/exhaustive/basic/typed01/expected/model_1_4_1_1-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_1_4_1_1-solution000001.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_4_1_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_4_1_1-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_1_4_1_1-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_4_1_1-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_4_1_1-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_1_4_1_1-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_4_1_1-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_4_1_1.eprime b/tests/exhaustive/basic/typed01/expected/model_1_4_1_1.eprime new file mode 100644 index 0000000000..aed7683e32 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_4_1_1.eprime @@ -0,0 +1,13 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find y_Occurrence: matrix indexed by [int(1)] of bool +branching on [x_Occurrence, y_Occurrence, y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values] +such that + x_Occurrence[1] /\ (y_ExplicitVarSizeWithFlags_Flags[1] /\ y_ExplicitVarSizeWithFlags_Values[1] = 1) -> false, + y_ExplicitVarSizeWithFlags_Flags[1] = false -> y_ExplicitVarSizeWithFlags_Values[1] = 1, + y_Occurrence[1] -> y_ExplicitVarSizeWithFlags_Flags[1] /\ y_ExplicitVarSizeWithFlags_Values[1] = 1, + y_ExplicitVarSizeWithFlags_Flags[1] -> y_Occurrence[y_ExplicitVarSizeWithFlags_Values[1]] + diff --git a/tests/exhaustive/basic/typed01/expected/model_1_4_1_2-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_1_4_1_2-solution000001.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_4_1_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_4_1_2-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_1_4_1_2-solution000002.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_4_1_2-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_4_1_2-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_1_4_1_2-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_4_1_2-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_4_1_2.eprime b/tests/exhaustive/basic/typed01/expected/model_1_4_1_2.eprime new file mode 100644 index 0000000000..e0b60b66f0 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_4_1_2.eprime @@ -0,0 +1,16 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +branching on + [x_Occurrence, y_ExplicitVarSizeWithDummy, y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values] +such that + x_Occurrence[1] /\ (y_ExplicitVarSizeWithFlags_Flags[1] /\ y_ExplicitVarSizeWithFlags_Values[1] = 1) -> false, + y_ExplicitVarSizeWithFlags_Flags[1] = false -> y_ExplicitVarSizeWithFlags_Values[1] = 1, + y_ExplicitVarSizeWithDummy[1] != 2 -> + y_ExplicitVarSizeWithFlags_Flags[1] /\ y_ExplicitVarSizeWithFlags_Values[1] = y_ExplicitVarSizeWithDummy[1], + y_ExplicitVarSizeWithFlags_Flags[1] -> + y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = y_ExplicitVarSizeWithFlags_Values[1] + diff --git a/tests/exhaustive/basic/typed01/expected/model_1_4_1_3-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_1_4_1_3-solution000001.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_4_1_3-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_4_1_3-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_1_4_1_3-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_4_1_3-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_4_1_3-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_1_4_1_3-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_4_1_3-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_4_1_3.eprime b/tests/exhaustive/basic/typed01/expected/model_1_4_1_3.eprime new file mode 100644 index 0000000000..3deed400be --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_4_1_3.eprime @@ -0,0 +1,20 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithMarker_Marker: int(0..1) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +branching on + [x_Occurrence, y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values, + y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values] +such that + x_Occurrence[1] /\ (y_ExplicitVarSizeWithFlags_Flags[1] /\ y_ExplicitVarSizeWithFlags_Values[1] = 1) -> false, + y_ExplicitVarSizeWithFlags_Flags[1] = false -> y_ExplicitVarSizeWithFlags_Values[1] = 1, + 1 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithFlags_Flags[1] /\ y_ExplicitVarSizeWithFlags_Values[1] = y_ExplicitVarSizeWithMarker_Values[1], + y_ExplicitVarSizeWithFlags_Flags[1] -> + 1 <= y_ExplicitVarSizeWithMarker_Marker /\ + y_ExplicitVarSizeWithMarker_Values[1] = y_ExplicitVarSizeWithFlags_Values[1] + diff --git a/tests/exhaustive/basic/typed01/expected/model_1_4_1_4-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_1_4_1_4-solution000001.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_4_1_4-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_4_1_4-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_1_4_1_4-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_4_1_4-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_4_1_4-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_1_4_1_4-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_4_1_4-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_4_1_4.eprime b/tests/exhaustive/basic/typed01/expected/model_1_4_1_4.eprime new file mode 100644 index 0000000000..3652c914ad --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_4_1_4.eprime @@ -0,0 +1,10 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +branching on [x_Occurrence, y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values] +such that + x_Occurrence[1] /\ (y_ExplicitVarSizeWithFlags_Flags[1] /\ y_ExplicitVarSizeWithFlags_Values[1] = 1) -> false, + y_ExplicitVarSizeWithFlags_Flags[1] = false -> y_ExplicitVarSizeWithFlags_Values[1] = 1 + diff --git a/tests/exhaustive/basic/typed01/expected/model_1_4_2_1-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_1_4_2_1-solution000001.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_4_2_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_4_2_1-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_1_4_2_1-solution000002.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_4_2_1-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_4_2_1-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_1_4_2_1-solution000003.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_4_2_1-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_4_2_1.eprime b/tests/exhaustive/basic/typed01/expected/model_1_4_2_1.eprime new file mode 100644 index 0000000000..486abc3cff --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_4_2_1.eprime @@ -0,0 +1,18 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find y_Occurrence: matrix indexed by [int(1)] of bool +branching on + [x_ExplicitVarSizeWithDummy, x_Occurrence, y_Occurrence, y_ExplicitVarSizeWithFlags_Flags, + y_ExplicitVarSizeWithFlags_Values] +such that + x_Occurrence[1] /\ (y_ExplicitVarSizeWithFlags_Flags[1] /\ y_ExplicitVarSizeWithFlags_Values[1] = 1) -> false, + y_ExplicitVarSizeWithFlags_Flags[1] = false -> y_ExplicitVarSizeWithFlags_Values[1] = 1, + x_ExplicitVarSizeWithDummy[1] != 2 -> x_Occurrence[x_ExplicitVarSizeWithDummy[1]], + x_Occurrence[1] -> x_ExplicitVarSizeWithDummy[1] != 2 /\ x_ExplicitVarSizeWithDummy[1] = 1, + y_Occurrence[1] -> y_ExplicitVarSizeWithFlags_Flags[1] /\ y_ExplicitVarSizeWithFlags_Values[1] = 1, + y_ExplicitVarSizeWithFlags_Flags[1] -> y_Occurrence[y_ExplicitVarSizeWithFlags_Values[1]] + diff --git a/tests/exhaustive/basic/typed01/expected/model_1_4_2_2-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_1_4_2_2-solution000001.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_4_2_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_4_2_2-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_1_4_2_2-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_4_2_2-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_4_2_2-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_1_4_2_2-solution000003.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_4_2_2-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_4_2_2.eprime b/tests/exhaustive/basic/typed01/expected/model_1_4_2_2.eprime new file mode 100644 index 0000000000..eb01c1c347 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_4_2_2.eprime @@ -0,0 +1,20 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +branching on + [x_ExplicitVarSizeWithDummy, x_Occurrence, y_ExplicitVarSizeWithDummy, y_ExplicitVarSizeWithFlags_Flags, + y_ExplicitVarSizeWithFlags_Values] +such that + x_Occurrence[1] /\ (y_ExplicitVarSizeWithFlags_Flags[1] /\ y_ExplicitVarSizeWithFlags_Values[1] = 1) -> false, + y_ExplicitVarSizeWithFlags_Flags[1] = false -> y_ExplicitVarSizeWithFlags_Values[1] = 1, + x_ExplicitVarSizeWithDummy[1] != 2 -> x_Occurrence[x_ExplicitVarSizeWithDummy[1]], + x_Occurrence[1] -> x_ExplicitVarSizeWithDummy[1] != 2 /\ x_ExplicitVarSizeWithDummy[1] = 1, + y_ExplicitVarSizeWithDummy[1] != 2 -> + y_ExplicitVarSizeWithFlags_Flags[1] /\ y_ExplicitVarSizeWithFlags_Values[1] = y_ExplicitVarSizeWithDummy[1], + y_ExplicitVarSizeWithFlags_Flags[1] -> + y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = y_ExplicitVarSizeWithFlags_Values[1] + diff --git a/tests/exhaustive/basic/typed01/expected/model_1_4_2_3-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_1_4_2_3-solution000001.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_4_2_3-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_4_2_3-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_1_4_2_3-solution000002.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_4_2_3-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_4_2_3-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_1_4_2_3-solution000003.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_4_2_3-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_4_2_3.eprime b/tests/exhaustive/basic/typed01/expected/model_1_4_2_3.eprime new file mode 100644 index 0000000000..b9db0c2490 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_4_2_3.eprime @@ -0,0 +1,23 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithMarker_Marker: int(0..1) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +branching on + [x_ExplicitVarSizeWithDummy, x_Occurrence, y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values, + y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values] +such that + x_Occurrence[1] /\ (y_ExplicitVarSizeWithFlags_Flags[1] /\ y_ExplicitVarSizeWithFlags_Values[1] = 1) -> false, + y_ExplicitVarSizeWithFlags_Flags[1] = false -> y_ExplicitVarSizeWithFlags_Values[1] = 1, + x_ExplicitVarSizeWithDummy[1] != 2 -> x_Occurrence[x_ExplicitVarSizeWithDummy[1]], + x_Occurrence[1] -> x_ExplicitVarSizeWithDummy[1] != 2 /\ x_ExplicitVarSizeWithDummy[1] = 1, + 1 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithFlags_Flags[1] /\ y_ExplicitVarSizeWithFlags_Values[1] = y_ExplicitVarSizeWithMarker_Values[1], + y_ExplicitVarSizeWithFlags_Flags[1] -> + 1 <= y_ExplicitVarSizeWithMarker_Marker /\ + y_ExplicitVarSizeWithMarker_Values[1] = y_ExplicitVarSizeWithFlags_Values[1] + diff --git a/tests/exhaustive/basic/typed01/expected/model_1_4_2_4-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_1_4_2_4-solution000001.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_4_2_4-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_4_2_4-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_1_4_2_4-solution000002.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_4_2_4-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_4_2_4-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_1_4_2_4-solution000003.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_4_2_4-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_4_2_4.eprime b/tests/exhaustive/basic/typed01/expected/model_1_4_2_4.eprime new file mode 100644 index 0000000000..8dca479233 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_4_2_4.eprime @@ -0,0 +1,14 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +branching on + [x_ExplicitVarSizeWithDummy, x_Occurrence, y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values] +such that + x_Occurrence[1] /\ (y_ExplicitVarSizeWithFlags_Flags[1] /\ y_ExplicitVarSizeWithFlags_Values[1] = 1) -> false, + y_ExplicitVarSizeWithFlags_Flags[1] = false -> y_ExplicitVarSizeWithFlags_Values[1] = 1, + x_ExplicitVarSizeWithDummy[1] != 2 -> x_Occurrence[x_ExplicitVarSizeWithDummy[1]], + x_Occurrence[1] -> x_ExplicitVarSizeWithDummy[1] != 2 /\ x_ExplicitVarSizeWithDummy[1] = 1 + diff --git a/tests/exhaustive/basic/typed01/expected/model_1_4_3_1-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_1_4_3_1-solution000001.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_4_3_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_4_3_1-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_1_4_3_1-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_4_3_1-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_4_3_1-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_1_4_3_1-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_4_3_1-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_4_3_1.eprime b/tests/exhaustive/basic/typed01/expected/model_1_4_3_1.eprime new file mode 100644 index 0000000000..46bbb31689 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_4_3_1.eprime @@ -0,0 +1,20 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithMarker_Marker: int(0..1) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find y_Occurrence: matrix indexed by [int(1)] of bool +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_Occurrence, y_Occurrence, + y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values] +such that + x_Occurrence[1] /\ (y_ExplicitVarSizeWithFlags_Flags[1] /\ y_ExplicitVarSizeWithFlags_Values[1] = 1) -> false, + y_ExplicitVarSizeWithFlags_Flags[1] = false -> y_ExplicitVarSizeWithFlags_Values[1] = 1, + 1 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[1]], + x_Occurrence[1] -> 1 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[1] = 1, + y_Occurrence[1] -> y_ExplicitVarSizeWithFlags_Flags[1] /\ y_ExplicitVarSizeWithFlags_Values[1] = 1, + y_ExplicitVarSizeWithFlags_Flags[1] -> y_Occurrence[y_ExplicitVarSizeWithFlags_Values[1]] + diff --git a/tests/exhaustive/basic/typed01/expected/model_1_4_3_2-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_1_4_3_2-solution000001.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_4_3_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_4_3_2-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_1_4_3_2-solution000002.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_4_3_2-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_4_3_2-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_1_4_3_2-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_4_3_2-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_4_3_2.eprime b/tests/exhaustive/basic/typed01/expected/model_1_4_3_2.eprime new file mode 100644 index 0000000000..d31a6fe728 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_4_3_2.eprime @@ -0,0 +1,22 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithMarker_Marker: int(0..1) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_Occurrence, y_ExplicitVarSizeWithDummy, + y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values] +such that + x_Occurrence[1] /\ (y_ExplicitVarSizeWithFlags_Flags[1] /\ y_ExplicitVarSizeWithFlags_Values[1] = 1) -> false, + y_ExplicitVarSizeWithFlags_Flags[1] = false -> y_ExplicitVarSizeWithFlags_Values[1] = 1, + 1 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[1]], + x_Occurrence[1] -> 1 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[1] = 1, + y_ExplicitVarSizeWithDummy[1] != 2 -> + y_ExplicitVarSizeWithFlags_Flags[1] /\ y_ExplicitVarSizeWithFlags_Values[1] = y_ExplicitVarSizeWithDummy[1], + y_ExplicitVarSizeWithFlags_Flags[1] -> + y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = y_ExplicitVarSizeWithFlags_Values[1] + diff --git a/tests/exhaustive/basic/typed01/expected/model_1_4_3_3-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_1_4_3_3-solution000001.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_4_3_3-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_4_3_3-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_1_4_3_3-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_4_3_3-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_4_3_3-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_1_4_3_3-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_4_3_3-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_4_3_3.eprime b/tests/exhaustive/basic/typed01/expected/model_1_4_3_3.eprime new file mode 100644 index 0000000000..fc3f83dcff --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_4_3_3.eprime @@ -0,0 +1,26 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithMarker_Marker: int(0..1) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithMarker_Marker: int(0..1) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_Occurrence, + y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values, y_ExplicitVarSizeWithFlags_Flags, + y_ExplicitVarSizeWithFlags_Values] +such that + x_Occurrence[1] /\ (y_ExplicitVarSizeWithFlags_Flags[1] /\ y_ExplicitVarSizeWithFlags_Values[1] = 1) -> false, + y_ExplicitVarSizeWithFlags_Flags[1] = false -> y_ExplicitVarSizeWithFlags_Values[1] = 1, + 1 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[1]], + x_Occurrence[1] -> 1 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithFlags_Flags[1] /\ y_ExplicitVarSizeWithFlags_Values[1] = y_ExplicitVarSizeWithMarker_Values[1], + y_ExplicitVarSizeWithFlags_Flags[1] -> + 1 <= y_ExplicitVarSizeWithMarker_Marker /\ + y_ExplicitVarSizeWithMarker_Values[1] = y_ExplicitVarSizeWithFlags_Values[1] + diff --git a/tests/exhaustive/basic/typed01/expected/model_1_4_3_4-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_1_4_3_4-solution000001.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_4_3_4-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_4_3_4-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_1_4_3_4-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_4_3_4-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_4_3_4-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_1_4_3_4-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_4_3_4-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_4_3_4.eprime b/tests/exhaustive/basic/typed01/expected/model_1_4_3_4.eprime new file mode 100644 index 0000000000..1ae9b4088c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_4_3_4.eprime @@ -0,0 +1,17 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithMarker_Marker: int(0..1) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_Occurrence, + y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values] +such that + x_Occurrence[1] /\ (y_ExplicitVarSizeWithFlags_Flags[1] /\ y_ExplicitVarSizeWithFlags_Values[1] = 1) -> false, + y_ExplicitVarSizeWithFlags_Flags[1] = false -> y_ExplicitVarSizeWithFlags_Values[1] = 1, + 1 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[1]], + x_Occurrence[1] -> 1 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[1] = 1 + diff --git a/tests/exhaustive/basic/typed01/expected/model_1_4_4_1-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_1_4_4_1-solution000001.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_4_4_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_4_4_1-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_1_4_4_1-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_4_4_1-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_4_4_1-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_1_4_4_1-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_4_4_1-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_4_4_1.eprime b/tests/exhaustive/basic/typed01/expected/model_1_4_4_1.eprime new file mode 100644 index 0000000000..4b0a76d2ad --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_4_4_1.eprime @@ -0,0 +1,20 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find y_Occurrence: matrix indexed by [int(1)] of bool +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_Occurrence, y_Occurrence, + y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values] +such that + x_Occurrence[1] /\ (y_ExplicitVarSizeWithFlags_Flags[1] /\ y_ExplicitVarSizeWithFlags_Values[1] = 1) -> false, + y_ExplicitVarSizeWithFlags_Flags[1] = false -> y_ExplicitVarSizeWithFlags_Values[1] = 1, + x_ExplicitVarSizeWithFlags_Flags[1] = false -> x_ExplicitVarSizeWithFlags_Values[1] = 1, + x_ExplicitVarSizeWithFlags_Flags[1] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[1]], + x_Occurrence[1] -> x_ExplicitVarSizeWithFlags_Flags[1] /\ x_ExplicitVarSizeWithFlags_Values[1] = 1, + y_Occurrence[1] -> y_ExplicitVarSizeWithFlags_Flags[1] /\ y_ExplicitVarSizeWithFlags_Values[1] = 1, + y_ExplicitVarSizeWithFlags_Flags[1] -> y_Occurrence[y_ExplicitVarSizeWithFlags_Values[1]] + diff --git a/tests/exhaustive/basic/typed01/expected/model_1_4_4_2-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_1_4_4_2-solution000001.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_4_4_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_4_4_2-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_1_4_4_2-solution000002.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_4_4_2-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_4_4_2-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_1_4_4_2-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_4_4_2-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_4_4_2.eprime b/tests/exhaustive/basic/typed01/expected/model_1_4_4_2.eprime new file mode 100644 index 0000000000..bc46971fe0 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_4_4_2.eprime @@ -0,0 +1,22 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_Occurrence, y_ExplicitVarSizeWithDummy, + y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values] +such that + x_Occurrence[1] /\ (y_ExplicitVarSizeWithFlags_Flags[1] /\ y_ExplicitVarSizeWithFlags_Values[1] = 1) -> false, + y_ExplicitVarSizeWithFlags_Flags[1] = false -> y_ExplicitVarSizeWithFlags_Values[1] = 1, + x_ExplicitVarSizeWithFlags_Flags[1] = false -> x_ExplicitVarSizeWithFlags_Values[1] = 1, + x_ExplicitVarSizeWithFlags_Flags[1] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[1]], + x_Occurrence[1] -> x_ExplicitVarSizeWithFlags_Flags[1] /\ x_ExplicitVarSizeWithFlags_Values[1] = 1, + y_ExplicitVarSizeWithDummy[1] != 2 -> + y_ExplicitVarSizeWithFlags_Flags[1] /\ y_ExplicitVarSizeWithFlags_Values[1] = y_ExplicitVarSizeWithDummy[1], + y_ExplicitVarSizeWithFlags_Flags[1] -> + y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = y_ExplicitVarSizeWithFlags_Values[1] + diff --git a/tests/exhaustive/basic/typed01/expected/model_1_4_4_3-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_1_4_4_3-solution000001.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_4_4_3-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_4_4_3-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_1_4_4_3-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_4_4_3-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_4_4_3-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_1_4_4_3-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_4_4_3-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_4_4_3.eprime b/tests/exhaustive/basic/typed01/expected/model_1_4_4_3.eprime new file mode 100644 index 0000000000..9245215595 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_4_4_3.eprime @@ -0,0 +1,26 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithMarker_Marker: int(0..1) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_Occurrence, + y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values, y_ExplicitVarSizeWithFlags_Flags, + y_ExplicitVarSizeWithFlags_Values] +such that + x_Occurrence[1] /\ (y_ExplicitVarSizeWithFlags_Flags[1] /\ y_ExplicitVarSizeWithFlags_Values[1] = 1) -> false, + y_ExplicitVarSizeWithFlags_Flags[1] = false -> y_ExplicitVarSizeWithFlags_Values[1] = 1, + x_ExplicitVarSizeWithFlags_Flags[1] = false -> x_ExplicitVarSizeWithFlags_Values[1] = 1, + x_ExplicitVarSizeWithFlags_Flags[1] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[1]], + x_Occurrence[1] -> x_ExplicitVarSizeWithFlags_Flags[1] /\ x_ExplicitVarSizeWithFlags_Values[1] = 1, + 1 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithFlags_Flags[1] /\ y_ExplicitVarSizeWithFlags_Values[1] = y_ExplicitVarSizeWithMarker_Values[1], + y_ExplicitVarSizeWithFlags_Flags[1] -> + 1 <= y_ExplicitVarSizeWithMarker_Marker /\ + y_ExplicitVarSizeWithMarker_Values[1] = y_ExplicitVarSizeWithFlags_Values[1] + diff --git a/tests/exhaustive/basic/typed01/expected/model_1_4_4_4-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_1_4_4_4-solution000001.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_4_4_4-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_4_4_4-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_1_4_4_4-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_4_4_4-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_4_4_4-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_1_4_4_4-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_4_4_4-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_1_4_4_4.eprime b/tests/exhaustive/basic/typed01/expected/model_1_4_4_4.eprime new file mode 100644 index 0000000000..cccfca44a7 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_1_4_4_4.eprime @@ -0,0 +1,17 @@ +language ESSENCE' 1.0 + +find x_Occurrence: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_Occurrence, + y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values] +such that + x_Occurrence[1] /\ (y_ExplicitVarSizeWithFlags_Flags[1] /\ y_ExplicitVarSizeWithFlags_Values[1] = 1) -> false, + y_ExplicitVarSizeWithFlags_Flags[1] = false -> y_ExplicitVarSizeWithFlags_Values[1] = 1, + x_ExplicitVarSizeWithFlags_Flags[1] = false -> x_ExplicitVarSizeWithFlags_Values[1] = 1, + x_ExplicitVarSizeWithFlags_Flags[1] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[1]], + x_Occurrence[1] -> x_ExplicitVarSizeWithFlags_Flags[1] /\ x_ExplicitVarSizeWithFlags_Values[1] = 1 + diff --git a/tests/exhaustive/basic/typed01/expected/model_2_1_1_1-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_2_1_1_1-solution000001.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_1_1_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_1_1_1-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_2_1_1_1-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_1_1_1-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_1_1_1-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_2_1_1_1-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_1_1_1-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_1_1_1.eprime b/tests/exhaustive/basic/typed01/expected/model_2_1_1_1.eprime new file mode 100644 index 0000000000..dea929fb85 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_1_1_1.eprime @@ -0,0 +1,11 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find x_Occurrence: matrix indexed by [int(1)] of bool +find y_Occurrence: matrix indexed by [int(1)] of bool +branching on [x_Occurrence, x_ExplicitVarSizeWithDummy, y_Occurrence] +such that + x_ExplicitVarSizeWithDummy[1] != 2 /\ y_Occurrence[x_ExplicitVarSizeWithDummy[1]] -> false, + x_Occurrence[1] -> x_ExplicitVarSizeWithDummy[1] != 2 /\ x_ExplicitVarSizeWithDummy[1] = 1, + x_ExplicitVarSizeWithDummy[1] != 2 -> x_Occurrence[x_ExplicitVarSizeWithDummy[1]] + diff --git a/tests/exhaustive/basic/typed01/expected/model_2_1_1_2-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_2_1_1_2-solution000001.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_1_1_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_1_1_2-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_2_1_1_2-solution000002.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_1_1_2-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_1_1_2-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_2_1_1_2-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_1_1_2-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_1_1_2.eprime b/tests/exhaustive/basic/typed01/expected/model_2_1_1_2.eprime new file mode 100644 index 0000000000..1ebc638b04 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_1_1_2.eprime @@ -0,0 +1,14 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find x_Occurrence: matrix indexed by [int(1)] of bool +find y_Occurrence: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +branching on [x_Occurrence, x_ExplicitVarSizeWithDummy, y_ExplicitVarSizeWithDummy, y_Occurrence] +such that + x_ExplicitVarSizeWithDummy[1] != 2 /\ y_Occurrence[x_ExplicitVarSizeWithDummy[1]] -> false, + x_Occurrence[1] -> x_ExplicitVarSizeWithDummy[1] != 2 /\ x_ExplicitVarSizeWithDummy[1] = 1, + x_ExplicitVarSizeWithDummy[1] != 2 -> x_Occurrence[x_ExplicitVarSizeWithDummy[1]], + y_ExplicitVarSizeWithDummy[1] != 2 -> y_Occurrence[y_ExplicitVarSizeWithDummy[1]], + y_Occurrence[1] -> y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = 1 + diff --git a/tests/exhaustive/basic/typed01/expected/model_2_1_1_3-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_2_1_1_3-solution000001.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_1_1_3-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_1_1_3-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_2_1_1_3-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_1_1_3-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_1_1_3-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_2_1_1_3-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_1_1_3-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_1_1_3.eprime b/tests/exhaustive/basic/typed01/expected/model_2_1_1_3.eprime new file mode 100644 index 0000000000..d367ac6332 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_1_1_3.eprime @@ -0,0 +1,18 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find x_Occurrence: matrix indexed by [int(1)] of bool +find y_Occurrence: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithMarker_Marker: int(0..1) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +branching on + [x_Occurrence, x_ExplicitVarSizeWithDummy, y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values, + y_Occurrence] +such that + x_ExplicitVarSizeWithDummy[1] != 2 /\ y_Occurrence[x_ExplicitVarSizeWithDummy[1]] -> false, + x_Occurrence[1] -> x_ExplicitVarSizeWithDummy[1] != 2 /\ x_ExplicitVarSizeWithDummy[1] = 1, + x_ExplicitVarSizeWithDummy[1] != 2 -> x_Occurrence[x_ExplicitVarSizeWithDummy[1]], + 1 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 <= y_ExplicitVarSizeWithMarker_Marker -> y_Occurrence[y_ExplicitVarSizeWithMarker_Values[1]], + y_Occurrence[1] -> 1 <= y_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithMarker_Values[1] = 1 + diff --git a/tests/exhaustive/basic/typed01/expected/model_2_1_1_4-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_2_1_1_4-solution000001.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_1_1_4-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_1_1_4-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_2_1_1_4-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_1_1_4-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_1_1_4-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_2_1_1_4-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_1_1_4-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_1_1_4.eprime b/tests/exhaustive/basic/typed01/expected/model_2_1_1_4.eprime new file mode 100644 index 0000000000..f956e74768 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_1_1_4.eprime @@ -0,0 +1,18 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find x_Occurrence: matrix indexed by [int(1)] of bool +find y_Occurrence: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +branching on + [x_Occurrence, x_ExplicitVarSizeWithDummy, y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values, + y_Occurrence] +such that + x_ExplicitVarSizeWithDummy[1] != 2 /\ y_Occurrence[x_ExplicitVarSizeWithDummy[1]] -> false, + x_Occurrence[1] -> x_ExplicitVarSizeWithDummy[1] != 2 /\ x_ExplicitVarSizeWithDummy[1] = 1, + x_ExplicitVarSizeWithDummy[1] != 2 -> x_Occurrence[x_ExplicitVarSizeWithDummy[1]], + y_ExplicitVarSizeWithFlags_Flags[1] = false -> y_ExplicitVarSizeWithFlags_Values[1] = 1, + y_ExplicitVarSizeWithFlags_Flags[1] -> y_Occurrence[y_ExplicitVarSizeWithFlags_Values[1]], + y_Occurrence[1] -> y_ExplicitVarSizeWithFlags_Flags[1] /\ y_ExplicitVarSizeWithFlags_Values[1] = 1 + diff --git a/tests/exhaustive/basic/typed01/expected/model_2_1_2_1-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_2_1_2_1-solution000001.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_1_2_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_1_2_1-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_2_1_2_1-solution000002.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_1_2_1-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_1_2_1-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_2_1_2_1-solution000003.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_1_2_1-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_1_2_1.eprime b/tests/exhaustive/basic/typed01/expected/model_2_1_2_1.eprime new file mode 100644 index 0000000000..b0c1489050 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_1_2_1.eprime @@ -0,0 +1,7 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find y_Occurrence: matrix indexed by [int(1)] of bool +branching on [x_ExplicitVarSizeWithDummy, y_Occurrence] +such that x_ExplicitVarSizeWithDummy[1] != 2 /\ y_Occurrence[x_ExplicitVarSizeWithDummy[1]] -> false + diff --git a/tests/exhaustive/basic/typed01/expected/model_2_1_2_2-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_2_1_2_2-solution000001.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_1_2_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_1_2_2-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_2_1_2_2-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_1_2_2-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_1_2_2-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_2_1_2_2-solution000003.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_1_2_2-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_1_2_2.eprime b/tests/exhaustive/basic/typed01/expected/model_2_1_2_2.eprime new file mode 100644 index 0000000000..0715504126 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_1_2_2.eprime @@ -0,0 +1,11 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find y_Occurrence: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +branching on [x_ExplicitVarSizeWithDummy, y_ExplicitVarSizeWithDummy, y_Occurrence] +such that + x_ExplicitVarSizeWithDummy[1] != 2 /\ y_Occurrence[x_ExplicitVarSizeWithDummy[1]] -> false, + y_ExplicitVarSizeWithDummy[1] != 2 -> y_Occurrence[y_ExplicitVarSizeWithDummy[1]], + y_Occurrence[1] -> y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = 1 + diff --git a/tests/exhaustive/basic/typed01/expected/model_2_1_2_3-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_2_1_2_3-solution000001.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_1_2_3-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_1_2_3-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_2_1_2_3-solution000002.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_1_2_3-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_1_2_3-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_2_1_2_3-solution000003.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_1_2_3-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_1_2_3.eprime b/tests/exhaustive/basic/typed01/expected/model_2_1_2_3.eprime new file mode 100644 index 0000000000..0e5b347379 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_1_2_3.eprime @@ -0,0 +1,14 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find y_Occurrence: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithMarker_Marker: int(0..1) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +branching on + [x_ExplicitVarSizeWithDummy, y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values, y_Occurrence] +such that + x_ExplicitVarSizeWithDummy[1] != 2 /\ y_Occurrence[x_ExplicitVarSizeWithDummy[1]] -> false, + 1 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 <= y_ExplicitVarSizeWithMarker_Marker -> y_Occurrence[y_ExplicitVarSizeWithMarker_Values[1]], + y_Occurrence[1] -> 1 <= y_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithMarker_Values[1] = 1 + diff --git a/tests/exhaustive/basic/typed01/expected/model_2_1_2_4-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_2_1_2_4-solution000001.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_1_2_4-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_1_2_4-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_2_1_2_4-solution000002.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_1_2_4-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_1_2_4-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_2_1_2_4-solution000003.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_1_2_4-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_1_2_4.eprime b/tests/exhaustive/basic/typed01/expected/model_2_1_2_4.eprime new file mode 100644 index 0000000000..92c235b315 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_1_2_4.eprime @@ -0,0 +1,14 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find y_Occurrence: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +branching on + [x_ExplicitVarSizeWithDummy, y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values, y_Occurrence] +such that + x_ExplicitVarSizeWithDummy[1] != 2 /\ y_Occurrence[x_ExplicitVarSizeWithDummy[1]] -> false, + y_ExplicitVarSizeWithFlags_Flags[1] = false -> y_ExplicitVarSizeWithFlags_Values[1] = 1, + y_ExplicitVarSizeWithFlags_Flags[1] -> y_Occurrence[y_ExplicitVarSizeWithFlags_Values[1]], + y_Occurrence[1] -> y_ExplicitVarSizeWithFlags_Flags[1] /\ y_ExplicitVarSizeWithFlags_Values[1] = 1 + diff --git a/tests/exhaustive/basic/typed01/expected/model_2_1_3_1-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_2_1_3_1-solution000001.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_1_3_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_1_3_1-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_2_1_3_1-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_1_3_1-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_1_3_1-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_2_1_3_1-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_1_3_1-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_1_3_1.eprime b/tests/exhaustive/basic/typed01/expected/model_2_1_3_1.eprime new file mode 100644 index 0000000000..5b9e809311 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_1_3_1.eprime @@ -0,0 +1,16 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find x_ExplicitVarSizeWithMarker_Marker: int(0..1) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find y_Occurrence: matrix indexed by [int(1)] of bool +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_ExplicitVarSizeWithDummy, y_Occurrence] +such that + x_ExplicitVarSizeWithDummy[1] != 2 /\ y_Occurrence[x_ExplicitVarSizeWithDummy[1]] -> false, + 1 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithDummy[1] != 2 /\ x_ExplicitVarSizeWithDummy[1] = x_ExplicitVarSizeWithMarker_Values[1], + x_ExplicitVarSizeWithDummy[1] != 2 -> + 1 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[1] = x_ExplicitVarSizeWithDummy[1] + diff --git a/tests/exhaustive/basic/typed01/expected/model_2_1_3_2-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_2_1_3_2-solution000001.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_1_3_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_1_3_2-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_2_1_3_2-solution000002.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_1_3_2-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_1_3_2-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_2_1_3_2-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_1_3_2-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_1_3_2.eprime b/tests/exhaustive/basic/typed01/expected/model_2_1_3_2.eprime new file mode 100644 index 0000000000..82f4c5b4a8 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_1_3_2.eprime @@ -0,0 +1,20 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find x_ExplicitVarSizeWithMarker_Marker: int(0..1) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find y_Occurrence: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_ExplicitVarSizeWithDummy, + y_ExplicitVarSizeWithDummy, y_Occurrence] +such that + x_ExplicitVarSizeWithDummy[1] != 2 /\ y_Occurrence[x_ExplicitVarSizeWithDummy[1]] -> false, + 1 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithDummy[1] != 2 /\ x_ExplicitVarSizeWithDummy[1] = x_ExplicitVarSizeWithMarker_Values[1], + x_ExplicitVarSizeWithDummy[1] != 2 -> + 1 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[1] = x_ExplicitVarSizeWithDummy[1], + y_ExplicitVarSizeWithDummy[1] != 2 -> y_Occurrence[y_ExplicitVarSizeWithDummy[1]], + y_Occurrence[1] -> y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = 1 + diff --git a/tests/exhaustive/basic/typed01/expected/model_2_1_3_3-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_2_1_3_3-solution000001.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_1_3_3-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_1_3_3-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_2_1_3_3-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_1_3_3-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_1_3_3-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_2_1_3_3-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_1_3_3-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_1_3_3.eprime b/tests/exhaustive/basic/typed01/expected/model_2_1_3_3.eprime new file mode 100644 index 0000000000..97a807ab7e --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_1_3_3.eprime @@ -0,0 +1,22 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find x_ExplicitVarSizeWithMarker_Marker: int(0..1) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find y_Occurrence: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithMarker_Marker: int(0..1) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_ExplicitVarSizeWithDummy, + y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values, y_Occurrence] +such that + x_ExplicitVarSizeWithDummy[1] != 2 /\ y_Occurrence[x_ExplicitVarSizeWithDummy[1]] -> false, + 1 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithDummy[1] != 2 /\ x_ExplicitVarSizeWithDummy[1] = x_ExplicitVarSizeWithMarker_Values[1], + x_ExplicitVarSizeWithDummy[1] != 2 -> + 1 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[1] = x_ExplicitVarSizeWithDummy[1], + 1 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 <= y_ExplicitVarSizeWithMarker_Marker -> y_Occurrence[y_ExplicitVarSizeWithMarker_Values[1]], + y_Occurrence[1] -> 1 <= y_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithMarker_Values[1] = 1 + diff --git a/tests/exhaustive/basic/typed01/expected/model_2_1_3_4-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_2_1_3_4-solution000001.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_1_3_4-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_1_3_4-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_2_1_3_4-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_1_3_4-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_1_3_4-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_2_1_3_4-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_1_3_4-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_1_3_4.eprime b/tests/exhaustive/basic/typed01/expected/model_2_1_3_4.eprime new file mode 100644 index 0000000000..643e77b708 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_1_3_4.eprime @@ -0,0 +1,22 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find x_ExplicitVarSizeWithMarker_Marker: int(0..1) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find y_Occurrence: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_ExplicitVarSizeWithDummy, + y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values, y_Occurrence] +such that + x_ExplicitVarSizeWithDummy[1] != 2 /\ y_Occurrence[x_ExplicitVarSizeWithDummy[1]] -> false, + 1 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithDummy[1] != 2 /\ x_ExplicitVarSizeWithDummy[1] = x_ExplicitVarSizeWithMarker_Values[1], + x_ExplicitVarSizeWithDummy[1] != 2 -> + 1 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[1] = x_ExplicitVarSizeWithDummy[1], + y_ExplicitVarSizeWithFlags_Flags[1] = false -> y_ExplicitVarSizeWithFlags_Values[1] = 1, + y_ExplicitVarSizeWithFlags_Flags[1] -> y_Occurrence[y_ExplicitVarSizeWithFlags_Values[1]], + y_Occurrence[1] -> y_ExplicitVarSizeWithFlags_Flags[1] /\ y_ExplicitVarSizeWithFlags_Values[1] = 1 + diff --git a/tests/exhaustive/basic/typed01/expected/model_2_1_4_1-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_2_1_4_1-solution000001.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_1_4_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_1_4_1-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_2_1_4_1-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_1_4_1-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_1_4_1-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_2_1_4_1-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_1_4_1-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_1_4_1.eprime b/tests/exhaustive/basic/typed01/expected/model_2_1_4_1.eprime new file mode 100644 index 0000000000..9824eb9893 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_1_4_1.eprime @@ -0,0 +1,16 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find y_Occurrence: matrix indexed by [int(1)] of bool +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_ExplicitVarSizeWithDummy, y_Occurrence] +such that + x_ExplicitVarSizeWithDummy[1] != 2 /\ y_Occurrence[x_ExplicitVarSizeWithDummy[1]] -> false, + x_ExplicitVarSizeWithFlags_Flags[1] = false -> x_ExplicitVarSizeWithFlags_Values[1] = 1, + x_ExplicitVarSizeWithFlags_Flags[1] -> + x_ExplicitVarSizeWithDummy[1] != 2 /\ x_ExplicitVarSizeWithDummy[1] = x_ExplicitVarSizeWithFlags_Values[1], + x_ExplicitVarSizeWithDummy[1] != 2 -> + x_ExplicitVarSizeWithFlags_Flags[1] /\ x_ExplicitVarSizeWithFlags_Values[1] = x_ExplicitVarSizeWithDummy[1] + diff --git a/tests/exhaustive/basic/typed01/expected/model_2_1_4_2-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_2_1_4_2-solution000001.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_1_4_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_1_4_2-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_2_1_4_2-solution000002.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_1_4_2-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_1_4_2-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_2_1_4_2-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_1_4_2-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_1_4_2.eprime b/tests/exhaustive/basic/typed01/expected/model_2_1_4_2.eprime new file mode 100644 index 0000000000..435aee6b41 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_1_4_2.eprime @@ -0,0 +1,20 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find y_Occurrence: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_ExplicitVarSizeWithDummy, + y_ExplicitVarSizeWithDummy, y_Occurrence] +such that + x_ExplicitVarSizeWithDummy[1] != 2 /\ y_Occurrence[x_ExplicitVarSizeWithDummy[1]] -> false, + x_ExplicitVarSizeWithFlags_Flags[1] = false -> x_ExplicitVarSizeWithFlags_Values[1] = 1, + x_ExplicitVarSizeWithFlags_Flags[1] -> + x_ExplicitVarSizeWithDummy[1] != 2 /\ x_ExplicitVarSizeWithDummy[1] = x_ExplicitVarSizeWithFlags_Values[1], + x_ExplicitVarSizeWithDummy[1] != 2 -> + x_ExplicitVarSizeWithFlags_Flags[1] /\ x_ExplicitVarSizeWithFlags_Values[1] = x_ExplicitVarSizeWithDummy[1], + y_ExplicitVarSizeWithDummy[1] != 2 -> y_Occurrence[y_ExplicitVarSizeWithDummy[1]], + y_Occurrence[1] -> y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = 1 + diff --git a/tests/exhaustive/basic/typed01/expected/model_2_1_4_3-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_2_1_4_3-solution000001.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_1_4_3-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_1_4_3-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_2_1_4_3-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_1_4_3-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_1_4_3-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_2_1_4_3-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_1_4_3-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_1_4_3.eprime b/tests/exhaustive/basic/typed01/expected/model_2_1_4_3.eprime new file mode 100644 index 0000000000..bc6ee32138 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_1_4_3.eprime @@ -0,0 +1,22 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find y_Occurrence: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithMarker_Marker: int(0..1) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_ExplicitVarSizeWithDummy, + y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values, y_Occurrence] +such that + x_ExplicitVarSizeWithDummy[1] != 2 /\ y_Occurrence[x_ExplicitVarSizeWithDummy[1]] -> false, + x_ExplicitVarSizeWithFlags_Flags[1] = false -> x_ExplicitVarSizeWithFlags_Values[1] = 1, + x_ExplicitVarSizeWithFlags_Flags[1] -> + x_ExplicitVarSizeWithDummy[1] != 2 /\ x_ExplicitVarSizeWithDummy[1] = x_ExplicitVarSizeWithFlags_Values[1], + x_ExplicitVarSizeWithDummy[1] != 2 -> + x_ExplicitVarSizeWithFlags_Flags[1] /\ x_ExplicitVarSizeWithFlags_Values[1] = x_ExplicitVarSizeWithDummy[1], + 1 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 <= y_ExplicitVarSizeWithMarker_Marker -> y_Occurrence[y_ExplicitVarSizeWithMarker_Values[1]], + y_Occurrence[1] -> 1 <= y_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithMarker_Values[1] = 1 + diff --git a/tests/exhaustive/basic/typed01/expected/model_2_1_4_4-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_2_1_4_4-solution000001.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_1_4_4-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_1_4_4-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_2_1_4_4-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_1_4_4-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_1_4_4-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_2_1_4_4-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_1_4_4-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_1_4_4.eprime b/tests/exhaustive/basic/typed01/expected/model_2_1_4_4.eprime new file mode 100644 index 0000000000..17f79cea52 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_1_4_4.eprime @@ -0,0 +1,22 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find y_Occurrence: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_ExplicitVarSizeWithDummy, + y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values, y_Occurrence] +such that + x_ExplicitVarSizeWithDummy[1] != 2 /\ y_Occurrence[x_ExplicitVarSizeWithDummy[1]] -> false, + x_ExplicitVarSizeWithFlags_Flags[1] = false -> x_ExplicitVarSizeWithFlags_Values[1] = 1, + x_ExplicitVarSizeWithFlags_Flags[1] -> + x_ExplicitVarSizeWithDummy[1] != 2 /\ x_ExplicitVarSizeWithDummy[1] = x_ExplicitVarSizeWithFlags_Values[1], + x_ExplicitVarSizeWithDummy[1] != 2 -> + x_ExplicitVarSizeWithFlags_Flags[1] /\ x_ExplicitVarSizeWithFlags_Values[1] = x_ExplicitVarSizeWithDummy[1], + y_ExplicitVarSizeWithFlags_Flags[1] = false -> y_ExplicitVarSizeWithFlags_Values[1] = 1, + y_ExplicitVarSizeWithFlags_Flags[1] -> y_Occurrence[y_ExplicitVarSizeWithFlags_Values[1]], + y_Occurrence[1] -> y_ExplicitVarSizeWithFlags_Flags[1] /\ y_ExplicitVarSizeWithFlags_Values[1] = 1 + diff --git a/tests/exhaustive/basic/typed01/expected/model_2_2_1_1-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_2_2_1_1-solution000001.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_2_1_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_2_1_1-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_2_2_1_1-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_2_1_1-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_2_1_1-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_2_2_1_1-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_2_1_1-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_2_1_1.eprime b/tests/exhaustive/basic/typed01/expected/model_2_2_1_1.eprime new file mode 100644 index 0000000000..55ea4f98eb --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_2_1_1.eprime @@ -0,0 +1,16 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find x_Occurrence: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find y_Occurrence: matrix indexed by [int(1)] of bool +branching on [x_Occurrence, x_ExplicitVarSizeWithDummy, y_Occurrence, y_ExplicitVarSizeWithDummy] +such that + x_ExplicitVarSizeWithDummy[1] != 2 /\ + (y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = x_ExplicitVarSizeWithDummy[1]) + -> false, + x_Occurrence[1] -> x_ExplicitVarSizeWithDummy[1] != 2 /\ x_ExplicitVarSizeWithDummy[1] = 1, + x_ExplicitVarSizeWithDummy[1] != 2 -> x_Occurrence[x_ExplicitVarSizeWithDummy[1]], + y_Occurrence[1] -> y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = 1, + y_ExplicitVarSizeWithDummy[1] != 2 -> y_Occurrence[y_ExplicitVarSizeWithDummy[1]] + diff --git a/tests/exhaustive/basic/typed01/expected/model_2_2_1_2-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_2_2_1_2-solution000001.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_2_1_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_2_1_2-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_2_2_1_2-solution000002.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_2_1_2-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_2_1_2-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_2_2_1_2-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_2_1_2-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_2_1_2.eprime b/tests/exhaustive/basic/typed01/expected/model_2_2_1_2.eprime new file mode 100644 index 0000000000..25e38b0597 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_2_1_2.eprime @@ -0,0 +1,13 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find x_Occurrence: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +branching on [x_Occurrence, x_ExplicitVarSizeWithDummy, y_ExplicitVarSizeWithDummy] +such that + x_ExplicitVarSizeWithDummy[1] != 2 /\ + (y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = x_ExplicitVarSizeWithDummy[1]) + -> false, + x_Occurrence[1] -> x_ExplicitVarSizeWithDummy[1] != 2 /\ x_ExplicitVarSizeWithDummy[1] = 1, + x_ExplicitVarSizeWithDummy[1] != 2 -> x_Occurrence[x_ExplicitVarSizeWithDummy[1]] + diff --git a/tests/exhaustive/basic/typed01/expected/model_2_2_1_3-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_2_2_1_3-solution000001.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_2_1_3-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_2_1_3-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_2_2_1_3-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_2_1_3-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_2_1_3-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_2_2_1_3-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_2_1_3-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_2_1_3.eprime b/tests/exhaustive/basic/typed01/expected/model_2_2_1_3.eprime new file mode 100644 index 0000000000..dfe0d93806 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_2_1_3.eprime @@ -0,0 +1,22 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find x_Occurrence: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find y_ExplicitVarSizeWithMarker_Marker: int(0..1) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +branching on + [x_Occurrence, x_ExplicitVarSizeWithDummy, y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values, + y_ExplicitVarSizeWithDummy] +such that + x_ExplicitVarSizeWithDummy[1] != 2 /\ + (y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = x_ExplicitVarSizeWithDummy[1]) + -> false, + x_Occurrence[1] -> x_ExplicitVarSizeWithDummy[1] != 2 /\ x_ExplicitVarSizeWithDummy[1] = 1, + x_ExplicitVarSizeWithDummy[1] != 2 -> x_Occurrence[x_ExplicitVarSizeWithDummy[1]], + 1 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = y_ExplicitVarSizeWithMarker_Values[1], + y_ExplicitVarSizeWithDummy[1] != 2 -> + 1 <= y_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithMarker_Values[1] = y_ExplicitVarSizeWithDummy[1] + diff --git a/tests/exhaustive/basic/typed01/expected/model_2_2_1_4-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_2_2_1_4-solution000001.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_2_1_4-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_2_1_4-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_2_2_1_4-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_2_1_4-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_2_1_4-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_2_2_1_4-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_2_1_4-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_2_1_4.eprime b/tests/exhaustive/basic/typed01/expected/model_2_2_1_4.eprime new file mode 100644 index 0000000000..53929d788b --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_2_1_4.eprime @@ -0,0 +1,22 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find x_Occurrence: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +branching on + [x_Occurrence, x_ExplicitVarSizeWithDummy, y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values, + y_ExplicitVarSizeWithDummy] +such that + x_ExplicitVarSizeWithDummy[1] != 2 /\ + (y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = x_ExplicitVarSizeWithDummy[1]) + -> false, + x_Occurrence[1] -> x_ExplicitVarSizeWithDummy[1] != 2 /\ x_ExplicitVarSizeWithDummy[1] = 1, + x_ExplicitVarSizeWithDummy[1] != 2 -> x_Occurrence[x_ExplicitVarSizeWithDummy[1]], + y_ExplicitVarSizeWithFlags_Flags[1] = false -> y_ExplicitVarSizeWithFlags_Values[1] = 1, + y_ExplicitVarSizeWithFlags_Flags[1] -> + y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = y_ExplicitVarSizeWithFlags_Values[1], + y_ExplicitVarSizeWithDummy[1] != 2 -> + y_ExplicitVarSizeWithFlags_Flags[1] /\ y_ExplicitVarSizeWithFlags_Values[1] = y_ExplicitVarSizeWithDummy[1] + diff --git a/tests/exhaustive/basic/typed01/expected/model_2_2_2_1-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_2_2_2_1-solution000001.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_2_2_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_2_2_1-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_2_2_2_1-solution000002.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_2_2_1-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_2_2_1-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_2_2_2_1-solution000003.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_2_2_1-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_2_2_1.eprime b/tests/exhaustive/basic/typed01/expected/model_2_2_2_1.eprime new file mode 100644 index 0000000000..d7c4512020 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_2_2_1.eprime @@ -0,0 +1,13 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find y_Occurrence: matrix indexed by [int(1)] of bool +branching on [x_ExplicitVarSizeWithDummy, y_Occurrence, y_ExplicitVarSizeWithDummy] +such that + x_ExplicitVarSizeWithDummy[1] != 2 /\ + (y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = x_ExplicitVarSizeWithDummy[1]) + -> false, + y_Occurrence[1] -> y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = 1, + y_ExplicitVarSizeWithDummy[1] != 2 -> y_Occurrence[y_ExplicitVarSizeWithDummy[1]] + diff --git a/tests/exhaustive/basic/typed01/expected/model_2_2_2_2-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_2_2_2_2-solution000001.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_2_2_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_2_2_2-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_2_2_2_2-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_2_2_2-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_2_2_2-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_2_2_2_2-solution000003.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_2_2_2-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_2_2_2.eprime b/tests/exhaustive/basic/typed01/expected/model_2_2_2_2.eprime new file mode 100644 index 0000000000..e0ffb03b92 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_2_2_2.eprime @@ -0,0 +1,10 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +branching on [x_ExplicitVarSizeWithDummy, y_ExplicitVarSizeWithDummy] +such that + x_ExplicitVarSizeWithDummy[1] != 2 /\ + (y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = x_ExplicitVarSizeWithDummy[1]) + -> false + diff --git a/tests/exhaustive/basic/typed01/expected/model_2_2_2_3-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_2_2_2_3-solution000001.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_2_2_3-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_2_2_3-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_2_2_2_3-solution000002.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_2_2_3-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_2_2_3-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_2_2_2_3-solution000003.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_2_2_3-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_2_2_3.eprime b/tests/exhaustive/basic/typed01/expected/model_2_2_2_3.eprime new file mode 100644 index 0000000000..f7ad4f3285 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_2_2_3.eprime @@ -0,0 +1,19 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find y_ExplicitVarSizeWithMarker_Marker: int(0..1) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +branching on + [x_ExplicitVarSizeWithDummy, y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values, + y_ExplicitVarSizeWithDummy] +such that + x_ExplicitVarSizeWithDummy[1] != 2 /\ + (y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = x_ExplicitVarSizeWithDummy[1]) + -> false, + 1 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = y_ExplicitVarSizeWithMarker_Values[1], + y_ExplicitVarSizeWithDummy[1] != 2 -> + 1 <= y_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithMarker_Values[1] = y_ExplicitVarSizeWithDummy[1] + diff --git a/tests/exhaustive/basic/typed01/expected/model_2_2_2_4-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_2_2_2_4-solution000001.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_2_2_4-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_2_2_4-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_2_2_2_4-solution000002.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_2_2_4-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_2_2_4-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_2_2_2_4-solution000003.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_2_2_4-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_2_2_4.eprime b/tests/exhaustive/basic/typed01/expected/model_2_2_2_4.eprime new file mode 100644 index 0000000000..c471760f6e --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_2_2_4.eprime @@ -0,0 +1,19 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +branching on + [x_ExplicitVarSizeWithDummy, y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values, + y_ExplicitVarSizeWithDummy] +such that + x_ExplicitVarSizeWithDummy[1] != 2 /\ + (y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = x_ExplicitVarSizeWithDummy[1]) + -> false, + y_ExplicitVarSizeWithFlags_Flags[1] = false -> y_ExplicitVarSizeWithFlags_Values[1] = 1, + y_ExplicitVarSizeWithFlags_Flags[1] -> + y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = y_ExplicitVarSizeWithFlags_Values[1], + y_ExplicitVarSizeWithDummy[1] != 2 -> + y_ExplicitVarSizeWithFlags_Flags[1] /\ y_ExplicitVarSizeWithFlags_Values[1] = y_ExplicitVarSizeWithDummy[1] + diff --git a/tests/exhaustive/basic/typed01/expected/model_2_2_3_1-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_2_2_3_1-solution000001.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_2_3_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_2_3_1-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_2_2_3_1-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_2_3_1-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_2_3_1-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_2_2_3_1-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_2_3_1-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_2_3_1.eprime b/tests/exhaustive/basic/typed01/expected/model_2_2_3_1.eprime new file mode 100644 index 0000000000..222d83cfca --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_2_3_1.eprime @@ -0,0 +1,22 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find x_ExplicitVarSizeWithMarker_Marker: int(0..1) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find y_Occurrence: matrix indexed by [int(1)] of bool +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_ExplicitVarSizeWithDummy, y_Occurrence, + y_ExplicitVarSizeWithDummy] +such that + x_ExplicitVarSizeWithDummy[1] != 2 /\ + (y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = x_ExplicitVarSizeWithDummy[1]) + -> false, + 1 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithDummy[1] != 2 /\ x_ExplicitVarSizeWithDummy[1] = x_ExplicitVarSizeWithMarker_Values[1], + x_ExplicitVarSizeWithDummy[1] != 2 -> + 1 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[1] = x_ExplicitVarSizeWithDummy[1], + y_Occurrence[1] -> y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = 1, + y_ExplicitVarSizeWithDummy[1] != 2 -> y_Occurrence[y_ExplicitVarSizeWithDummy[1]] + diff --git a/tests/exhaustive/basic/typed01/expected/model_2_2_3_2-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_2_2_3_2-solution000001.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_2_3_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_2_3_2-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_2_2_3_2-solution000002.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_2_3_2-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_2_3_2-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_2_2_3_2-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_2_3_2-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_2_3_2.eprime b/tests/exhaustive/basic/typed01/expected/model_2_2_3_2.eprime new file mode 100644 index 0000000000..e9e1de7881 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_2_3_2.eprime @@ -0,0 +1,19 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find x_ExplicitVarSizeWithMarker_Marker: int(0..1) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_ExplicitVarSizeWithDummy, + y_ExplicitVarSizeWithDummy] +such that + x_ExplicitVarSizeWithDummy[1] != 2 /\ + (y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = x_ExplicitVarSizeWithDummy[1]) + -> false, + 1 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithDummy[1] != 2 /\ x_ExplicitVarSizeWithDummy[1] = x_ExplicitVarSizeWithMarker_Values[1], + x_ExplicitVarSizeWithDummy[1] != 2 -> + 1 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[1] = x_ExplicitVarSizeWithDummy[1] + diff --git a/tests/exhaustive/basic/typed01/expected/model_2_2_3_3-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_2_2_3_3-solution000001.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_2_3_3-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_2_3_3-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_2_2_3_3-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_2_3_3-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_2_3_3-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_2_2_3_3-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_2_3_3-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_2_3_3.eprime b/tests/exhaustive/basic/typed01/expected/model_2_2_3_3.eprime new file mode 100644 index 0000000000..648595c344 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_2_3_3.eprime @@ -0,0 +1,26 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find x_ExplicitVarSizeWithMarker_Marker: int(0..1) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find y_ExplicitVarSizeWithMarker_Marker: int(0..1) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_ExplicitVarSizeWithDummy, + y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values, y_ExplicitVarSizeWithDummy] +such that + x_ExplicitVarSizeWithDummy[1] != 2 /\ + (y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = x_ExplicitVarSizeWithDummy[1]) + -> false, + 1 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithDummy[1] != 2 /\ x_ExplicitVarSizeWithDummy[1] = x_ExplicitVarSizeWithMarker_Values[1], + x_ExplicitVarSizeWithDummy[1] != 2 -> + 1 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[1] = x_ExplicitVarSizeWithDummy[1], + 1 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = y_ExplicitVarSizeWithMarker_Values[1], + y_ExplicitVarSizeWithDummy[1] != 2 -> + 1 <= y_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithMarker_Values[1] = y_ExplicitVarSizeWithDummy[1] + diff --git a/tests/exhaustive/basic/typed01/expected/model_2_2_3_4-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_2_2_3_4-solution000001.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_2_3_4-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_2_3_4-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_2_2_3_4-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_2_3_4-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_2_3_4-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_2_2_3_4-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_2_3_4-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_2_3_4.eprime b/tests/exhaustive/basic/typed01/expected/model_2_2_3_4.eprime new file mode 100644 index 0000000000..e35ba1bf82 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_2_3_4.eprime @@ -0,0 +1,26 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find x_ExplicitVarSizeWithMarker_Marker: int(0..1) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_ExplicitVarSizeWithDummy, + y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values, y_ExplicitVarSizeWithDummy] +such that + x_ExplicitVarSizeWithDummy[1] != 2 /\ + (y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = x_ExplicitVarSizeWithDummy[1]) + -> false, + 1 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithDummy[1] != 2 /\ x_ExplicitVarSizeWithDummy[1] = x_ExplicitVarSizeWithMarker_Values[1], + x_ExplicitVarSizeWithDummy[1] != 2 -> + 1 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[1] = x_ExplicitVarSizeWithDummy[1], + y_ExplicitVarSizeWithFlags_Flags[1] = false -> y_ExplicitVarSizeWithFlags_Values[1] = 1, + y_ExplicitVarSizeWithFlags_Flags[1] -> + y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = y_ExplicitVarSizeWithFlags_Values[1], + y_ExplicitVarSizeWithDummy[1] != 2 -> + y_ExplicitVarSizeWithFlags_Flags[1] /\ y_ExplicitVarSizeWithFlags_Values[1] = y_ExplicitVarSizeWithDummy[1] + diff --git a/tests/exhaustive/basic/typed01/expected/model_2_2_4_1-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_2_2_4_1-solution000001.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_2_4_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_2_4_1-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_2_2_4_1-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_2_4_1-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_2_4_1-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_2_2_4_1-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_2_4_1-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_2_4_1.eprime b/tests/exhaustive/basic/typed01/expected/model_2_2_4_1.eprime new file mode 100644 index 0000000000..5d354a1f60 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_2_4_1.eprime @@ -0,0 +1,22 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find y_Occurrence: matrix indexed by [int(1)] of bool +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_ExplicitVarSizeWithDummy, y_Occurrence, + y_ExplicitVarSizeWithDummy] +such that + x_ExplicitVarSizeWithDummy[1] != 2 /\ + (y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = x_ExplicitVarSizeWithDummy[1]) + -> false, + x_ExplicitVarSizeWithFlags_Flags[1] = false -> x_ExplicitVarSizeWithFlags_Values[1] = 1, + x_ExplicitVarSizeWithFlags_Flags[1] -> + x_ExplicitVarSizeWithDummy[1] != 2 /\ x_ExplicitVarSizeWithDummy[1] = x_ExplicitVarSizeWithFlags_Values[1], + x_ExplicitVarSizeWithDummy[1] != 2 -> + x_ExplicitVarSizeWithFlags_Flags[1] /\ x_ExplicitVarSizeWithFlags_Values[1] = x_ExplicitVarSizeWithDummy[1], + y_Occurrence[1] -> y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = 1, + y_ExplicitVarSizeWithDummy[1] != 2 -> y_Occurrence[y_ExplicitVarSizeWithDummy[1]] + diff --git a/tests/exhaustive/basic/typed01/expected/model_2_2_4_2-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_2_2_4_2-solution000001.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_2_4_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_2_4_2-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_2_2_4_2-solution000002.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_2_4_2-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_2_4_2-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_2_2_4_2-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_2_4_2-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_2_4_2.eprime b/tests/exhaustive/basic/typed01/expected/model_2_2_4_2.eprime new file mode 100644 index 0000000000..89bf10880d --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_2_4_2.eprime @@ -0,0 +1,19 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_ExplicitVarSizeWithDummy, + y_ExplicitVarSizeWithDummy] +such that + x_ExplicitVarSizeWithDummy[1] != 2 /\ + (y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = x_ExplicitVarSizeWithDummy[1]) + -> false, + x_ExplicitVarSizeWithFlags_Flags[1] = false -> x_ExplicitVarSizeWithFlags_Values[1] = 1, + x_ExplicitVarSizeWithFlags_Flags[1] -> + x_ExplicitVarSizeWithDummy[1] != 2 /\ x_ExplicitVarSizeWithDummy[1] = x_ExplicitVarSizeWithFlags_Values[1], + x_ExplicitVarSizeWithDummy[1] != 2 -> + x_ExplicitVarSizeWithFlags_Flags[1] /\ x_ExplicitVarSizeWithFlags_Values[1] = x_ExplicitVarSizeWithDummy[1] + diff --git a/tests/exhaustive/basic/typed01/expected/model_2_2_4_3-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_2_2_4_3-solution000001.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_2_4_3-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_2_4_3-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_2_2_4_3-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_2_4_3-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_2_4_3-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_2_2_4_3-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_2_4_3-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_2_4_3.eprime b/tests/exhaustive/basic/typed01/expected/model_2_2_4_3.eprime new file mode 100644 index 0000000000..9fa68409e3 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_2_4_3.eprime @@ -0,0 +1,26 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find y_ExplicitVarSizeWithMarker_Marker: int(0..1) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_ExplicitVarSizeWithDummy, + y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values, y_ExplicitVarSizeWithDummy] +such that + x_ExplicitVarSizeWithDummy[1] != 2 /\ + (y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = x_ExplicitVarSizeWithDummy[1]) + -> false, + x_ExplicitVarSizeWithFlags_Flags[1] = false -> x_ExplicitVarSizeWithFlags_Values[1] = 1, + x_ExplicitVarSizeWithFlags_Flags[1] -> + x_ExplicitVarSizeWithDummy[1] != 2 /\ x_ExplicitVarSizeWithDummy[1] = x_ExplicitVarSizeWithFlags_Values[1], + x_ExplicitVarSizeWithDummy[1] != 2 -> + x_ExplicitVarSizeWithFlags_Flags[1] /\ x_ExplicitVarSizeWithFlags_Values[1] = x_ExplicitVarSizeWithDummy[1], + 1 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = y_ExplicitVarSizeWithMarker_Values[1], + y_ExplicitVarSizeWithDummy[1] != 2 -> + 1 <= y_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithMarker_Values[1] = y_ExplicitVarSizeWithDummy[1] + diff --git a/tests/exhaustive/basic/typed01/expected/model_2_2_4_4-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_2_2_4_4-solution000001.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_2_4_4-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_2_4_4-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_2_2_4_4-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_2_4_4-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_2_4_4-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_2_2_4_4-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_2_4_4-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_2_4_4.eprime b/tests/exhaustive/basic/typed01/expected/model_2_2_4_4.eprime new file mode 100644 index 0000000000..f394d4106f --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_2_4_4.eprime @@ -0,0 +1,26 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_ExplicitVarSizeWithDummy, + y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values, y_ExplicitVarSizeWithDummy] +such that + x_ExplicitVarSizeWithDummy[1] != 2 /\ + (y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = x_ExplicitVarSizeWithDummy[1]) + -> false, + x_ExplicitVarSizeWithFlags_Flags[1] = false -> x_ExplicitVarSizeWithFlags_Values[1] = 1, + x_ExplicitVarSizeWithFlags_Flags[1] -> + x_ExplicitVarSizeWithDummy[1] != 2 /\ x_ExplicitVarSizeWithDummy[1] = x_ExplicitVarSizeWithFlags_Values[1], + x_ExplicitVarSizeWithDummy[1] != 2 -> + x_ExplicitVarSizeWithFlags_Flags[1] /\ x_ExplicitVarSizeWithFlags_Values[1] = x_ExplicitVarSizeWithDummy[1], + y_ExplicitVarSizeWithFlags_Flags[1] = false -> y_ExplicitVarSizeWithFlags_Values[1] = 1, + y_ExplicitVarSizeWithFlags_Flags[1] -> + y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = y_ExplicitVarSizeWithFlags_Values[1], + y_ExplicitVarSizeWithDummy[1] != 2 -> + y_ExplicitVarSizeWithFlags_Flags[1] /\ y_ExplicitVarSizeWithFlags_Values[1] = y_ExplicitVarSizeWithDummy[1] + diff --git a/tests/exhaustive/basic/typed01/expected/model_2_3_1_1-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_2_3_1_1-solution000001.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_3_1_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_3_1_1-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_2_3_1_1-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_3_1_1-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_3_1_1-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_2_3_1_1-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_3_1_1-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_3_1_1.eprime b/tests/exhaustive/basic/typed01/expected/model_2_3_1_1.eprime new file mode 100644 index 0000000000..9bd40c6627 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_3_1_1.eprime @@ -0,0 +1,20 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find x_Occurrence: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithMarker_Marker: int(0..1) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find y_Occurrence: matrix indexed by [int(1)] of bool +branching on + [x_Occurrence, x_ExplicitVarSizeWithDummy, y_Occurrence, y_ExplicitVarSizeWithMarker_Marker, + y_ExplicitVarSizeWithMarker_Values] +such that + x_ExplicitVarSizeWithDummy[1] != 2 /\ + (1 <= y_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithMarker_Values[1] = x_ExplicitVarSizeWithDummy[1]) + -> false, + 1 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[1] = 1, + x_Occurrence[1] -> x_ExplicitVarSizeWithDummy[1] != 2 /\ x_ExplicitVarSizeWithDummy[1] = 1, + x_ExplicitVarSizeWithDummy[1] != 2 -> x_Occurrence[x_ExplicitVarSizeWithDummy[1]], + y_Occurrence[1] -> 1 <= y_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 <= y_ExplicitVarSizeWithMarker_Marker -> y_Occurrence[y_ExplicitVarSizeWithMarker_Values[1]] + diff --git a/tests/exhaustive/basic/typed01/expected/model_2_3_1_2-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_2_3_1_2-solution000001.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_3_1_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_3_1_2-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_2_3_1_2-solution000002.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_3_1_2-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_3_1_2-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_2_3_1_2-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_3_1_2-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_3_1_2.eprime b/tests/exhaustive/basic/typed01/expected/model_2_3_1_2.eprime new file mode 100644 index 0000000000..04ab19eb01 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_3_1_2.eprime @@ -0,0 +1,22 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find x_Occurrence: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithMarker_Marker: int(0..1) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +branching on + [x_Occurrence, x_ExplicitVarSizeWithDummy, y_ExplicitVarSizeWithDummy, y_ExplicitVarSizeWithMarker_Marker, + y_ExplicitVarSizeWithMarker_Values] +such that + x_ExplicitVarSizeWithDummy[1] != 2 /\ + (1 <= y_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithMarker_Values[1] = x_ExplicitVarSizeWithDummy[1]) + -> false, + 1 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[1] = 1, + x_Occurrence[1] -> x_ExplicitVarSizeWithDummy[1] != 2 /\ x_ExplicitVarSizeWithDummy[1] = 1, + x_ExplicitVarSizeWithDummy[1] != 2 -> x_Occurrence[x_ExplicitVarSizeWithDummy[1]], + y_ExplicitVarSizeWithDummy[1] != 2 -> + 1 <= y_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithMarker_Values[1] = y_ExplicitVarSizeWithDummy[1], + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = y_ExplicitVarSizeWithMarker_Values[1] + diff --git a/tests/exhaustive/basic/typed01/expected/model_2_3_1_3-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_2_3_1_3-solution000001.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_3_1_3-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_3_1_3-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_2_3_1_3-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_3_1_3-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_3_1_3-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_2_3_1_3-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_3_1_3-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_3_1_3.eprime b/tests/exhaustive/basic/typed01/expected/model_2_3_1_3.eprime new file mode 100644 index 0000000000..f62ac8ebf8 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_3_1_3.eprime @@ -0,0 +1,16 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find x_Occurrence: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithMarker_Marker: int(0..1) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +branching on + [x_Occurrence, x_ExplicitVarSizeWithDummy, y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values] +such that + x_ExplicitVarSizeWithDummy[1] != 2 /\ + (1 <= y_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithMarker_Values[1] = x_ExplicitVarSizeWithDummy[1]) + -> false, + 1 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[1] = 1, + x_Occurrence[1] -> x_ExplicitVarSizeWithDummy[1] != 2 /\ x_ExplicitVarSizeWithDummy[1] = 1, + x_ExplicitVarSizeWithDummy[1] != 2 -> x_Occurrence[x_ExplicitVarSizeWithDummy[1]] + diff --git a/tests/exhaustive/basic/typed01/expected/model_2_3_1_4-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_2_3_1_4-solution000001.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_3_1_4-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_3_1_4-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_2_3_1_4-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_3_1_4-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_3_1_4-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_2_3_1_4-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_3_1_4-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_3_1_4.eprime b/tests/exhaustive/basic/typed01/expected/model_2_3_1_4.eprime new file mode 100644 index 0000000000..433e7e48da --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_3_1_4.eprime @@ -0,0 +1,25 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find x_Occurrence: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithMarker_Marker: int(0..1) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +branching on + [x_Occurrence, x_ExplicitVarSizeWithDummy, y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values, + y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values] +such that + x_ExplicitVarSizeWithDummy[1] != 2 /\ + (1 <= y_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithMarker_Values[1] = x_ExplicitVarSizeWithDummy[1]) + -> false, + 1 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[1] = 1, + x_Occurrence[1] -> x_ExplicitVarSizeWithDummy[1] != 2 /\ x_ExplicitVarSizeWithDummy[1] = 1, + x_ExplicitVarSizeWithDummy[1] != 2 -> x_Occurrence[x_ExplicitVarSizeWithDummy[1]], + y_ExplicitVarSizeWithFlags_Flags[1] = false -> y_ExplicitVarSizeWithFlags_Values[1] = 1, + y_ExplicitVarSizeWithFlags_Flags[1] -> + 1 <= y_ExplicitVarSizeWithMarker_Marker /\ + y_ExplicitVarSizeWithMarker_Values[1] = y_ExplicitVarSizeWithFlags_Values[1], + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithFlags_Flags[1] /\ y_ExplicitVarSizeWithFlags_Values[1] = y_ExplicitVarSizeWithMarker_Values[1] + diff --git a/tests/exhaustive/basic/typed01/expected/model_2_3_2_1-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_2_3_2_1-solution000001.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_3_2_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_3_2_1-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_2_3_2_1-solution000002.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_3_2_1-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_3_2_1-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_2_3_2_1-solution000003.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_3_2_1-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_3_2_1.eprime b/tests/exhaustive/basic/typed01/expected/model_2_3_2_1.eprime new file mode 100644 index 0000000000..c501d3da77 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_3_2_1.eprime @@ -0,0 +1,16 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find y_ExplicitVarSizeWithMarker_Marker: int(0..1) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find y_Occurrence: matrix indexed by [int(1)] of bool +branching on + [x_ExplicitVarSizeWithDummy, y_Occurrence, y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values] +such that + x_ExplicitVarSizeWithDummy[1] != 2 /\ + (1 <= y_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithMarker_Values[1] = x_ExplicitVarSizeWithDummy[1]) + -> false, + 1 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[1] = 1, + y_Occurrence[1] -> 1 <= y_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 <= y_ExplicitVarSizeWithMarker_Marker -> y_Occurrence[y_ExplicitVarSizeWithMarker_Values[1]] + diff --git a/tests/exhaustive/basic/typed01/expected/model_2_3_2_2-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_2_3_2_2-solution000001.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_3_2_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_3_2_2-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_2_3_2_2-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_3_2_2-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_3_2_2-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_2_3_2_2-solution000003.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_3_2_2-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_3_2_2.eprime b/tests/exhaustive/basic/typed01/expected/model_2_3_2_2.eprime new file mode 100644 index 0000000000..eff11cdc36 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_3_2_2.eprime @@ -0,0 +1,19 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find y_ExplicitVarSizeWithMarker_Marker: int(0..1) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +branching on + [x_ExplicitVarSizeWithDummy, y_ExplicitVarSizeWithDummy, y_ExplicitVarSizeWithMarker_Marker, + y_ExplicitVarSizeWithMarker_Values] +such that + x_ExplicitVarSizeWithDummy[1] != 2 /\ + (1 <= y_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithMarker_Values[1] = x_ExplicitVarSizeWithDummy[1]) + -> false, + 1 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[1] = 1, + y_ExplicitVarSizeWithDummy[1] != 2 -> + 1 <= y_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithMarker_Values[1] = y_ExplicitVarSizeWithDummy[1], + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = y_ExplicitVarSizeWithMarker_Values[1] + diff --git a/tests/exhaustive/basic/typed01/expected/model_2_3_2_3-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_2_3_2_3-solution000001.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_3_2_3-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_3_2_3-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_2_3_2_3-solution000002.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_3_2_3-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_3_2_3-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_2_3_2_3-solution000003.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_3_2_3-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_3_2_3.eprime b/tests/exhaustive/basic/typed01/expected/model_2_3_2_3.eprime new file mode 100644 index 0000000000..fb495deda8 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_3_2_3.eprime @@ -0,0 +1,12 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find y_ExplicitVarSizeWithMarker_Marker: int(0..1) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +branching on [x_ExplicitVarSizeWithDummy, y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values] +such that + x_ExplicitVarSizeWithDummy[1] != 2 /\ + (1 <= y_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithMarker_Values[1] = x_ExplicitVarSizeWithDummy[1]) + -> false, + 1 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[1] = 1 + diff --git a/tests/exhaustive/basic/typed01/expected/model_2_3_2_4-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_2_3_2_4-solution000001.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_3_2_4-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_3_2_4-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_2_3_2_4-solution000002.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_3_2_4-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_3_2_4-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_2_3_2_4-solution000003.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_3_2_4-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_3_2_4.eprime b/tests/exhaustive/basic/typed01/expected/model_2_3_2_4.eprime new file mode 100644 index 0000000000..cea7c108f0 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_3_2_4.eprime @@ -0,0 +1,22 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find y_ExplicitVarSizeWithMarker_Marker: int(0..1) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +branching on + [x_ExplicitVarSizeWithDummy, y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values, + y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values] +such that + x_ExplicitVarSizeWithDummy[1] != 2 /\ + (1 <= y_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithMarker_Values[1] = x_ExplicitVarSizeWithDummy[1]) + -> false, + 1 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[1] = 1, + y_ExplicitVarSizeWithFlags_Flags[1] = false -> y_ExplicitVarSizeWithFlags_Values[1] = 1, + y_ExplicitVarSizeWithFlags_Flags[1] -> + 1 <= y_ExplicitVarSizeWithMarker_Marker /\ + y_ExplicitVarSizeWithMarker_Values[1] = y_ExplicitVarSizeWithFlags_Values[1], + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithFlags_Flags[1] /\ y_ExplicitVarSizeWithFlags_Values[1] = y_ExplicitVarSizeWithMarker_Values[1] + diff --git a/tests/exhaustive/basic/typed01/expected/model_2_3_3_1-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_2_3_3_1-solution000001.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_3_3_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_3_3_1-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_2_3_3_1-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_3_3_1-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_3_3_1-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_2_3_3_1-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_3_3_1-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_3_3_1.eprime b/tests/exhaustive/basic/typed01/expected/model_2_3_3_1.eprime new file mode 100644 index 0000000000..a96e186edc --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_3_3_1.eprime @@ -0,0 +1,24 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find x_ExplicitVarSizeWithMarker_Marker: int(0..1) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithMarker_Marker: int(0..1) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find y_Occurrence: matrix indexed by [int(1)] of bool +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_ExplicitVarSizeWithDummy, y_Occurrence, + y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values] +such that + x_ExplicitVarSizeWithDummy[1] != 2 /\ + (1 <= y_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithMarker_Values[1] = x_ExplicitVarSizeWithDummy[1]) + -> false, + 1 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithDummy[1] != 2 /\ x_ExplicitVarSizeWithDummy[1] = x_ExplicitVarSizeWithMarker_Values[1], + x_ExplicitVarSizeWithDummy[1] != 2 -> + 1 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[1] = x_ExplicitVarSizeWithDummy[1], + y_Occurrence[1] -> 1 <= y_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 <= y_ExplicitVarSizeWithMarker_Marker -> y_Occurrence[y_ExplicitVarSizeWithMarker_Values[1]] + diff --git a/tests/exhaustive/basic/typed01/expected/model_2_3_3_2-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_2_3_3_2-solution000001.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_3_3_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_3_3_2-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_2_3_3_2-solution000002.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_3_3_2-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_3_3_2-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_2_3_3_2-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_3_3_2-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_3_3_2.eprime b/tests/exhaustive/basic/typed01/expected/model_2_3_3_2.eprime new file mode 100644 index 0000000000..f0f0f557c3 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_3_3_2.eprime @@ -0,0 +1,26 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find x_ExplicitVarSizeWithMarker_Marker: int(0..1) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithMarker_Marker: int(0..1) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_ExplicitVarSizeWithDummy, + y_ExplicitVarSizeWithDummy, y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values] +such that + x_ExplicitVarSizeWithDummy[1] != 2 /\ + (1 <= y_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithMarker_Values[1] = x_ExplicitVarSizeWithDummy[1]) + -> false, + 1 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithDummy[1] != 2 /\ x_ExplicitVarSizeWithDummy[1] = x_ExplicitVarSizeWithMarker_Values[1], + x_ExplicitVarSizeWithDummy[1] != 2 -> + 1 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[1] = x_ExplicitVarSizeWithDummy[1], + y_ExplicitVarSizeWithDummy[1] != 2 -> + 1 <= y_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithMarker_Values[1] = y_ExplicitVarSizeWithDummy[1], + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = y_ExplicitVarSizeWithMarker_Values[1] + diff --git a/tests/exhaustive/basic/typed01/expected/model_2_3_3_3-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_2_3_3_3-solution000001.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_3_3_3-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_3_3_3-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_2_3_3_3-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_3_3_3-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_3_3_3-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_2_3_3_3-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_3_3_3-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_3_3_3.eprime b/tests/exhaustive/basic/typed01/expected/model_2_3_3_3.eprime new file mode 100644 index 0000000000..455d856d44 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_3_3_3.eprime @@ -0,0 +1,21 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find x_ExplicitVarSizeWithMarker_Marker: int(0..1) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithMarker_Marker: int(0..1) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_ExplicitVarSizeWithDummy, + y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values] +such that + x_ExplicitVarSizeWithDummy[1] != 2 /\ + (1 <= y_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithMarker_Values[1] = x_ExplicitVarSizeWithDummy[1]) + -> false, + 1 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithDummy[1] != 2 /\ x_ExplicitVarSizeWithDummy[1] = x_ExplicitVarSizeWithMarker_Values[1], + x_ExplicitVarSizeWithDummy[1] != 2 -> + 1 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[1] = x_ExplicitVarSizeWithDummy[1] + diff --git a/tests/exhaustive/basic/typed01/expected/model_2_3_3_4-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_2_3_3_4-solution000001.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_3_3_4-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_3_3_4-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_2_3_3_4-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_3_3_4-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_3_3_4-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_2_3_3_4-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_3_3_4-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_3_3_4.eprime b/tests/exhaustive/basic/typed01/expected/model_2_3_3_4.eprime new file mode 100644 index 0000000000..4d85bf465b --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_3_3_4.eprime @@ -0,0 +1,30 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find x_ExplicitVarSizeWithMarker_Marker: int(0..1) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithMarker_Marker: int(0..1) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_ExplicitVarSizeWithDummy, + y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values, y_ExplicitVarSizeWithMarker_Marker, + y_ExplicitVarSizeWithMarker_Values] +such that + x_ExplicitVarSizeWithDummy[1] != 2 /\ + (1 <= y_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithMarker_Values[1] = x_ExplicitVarSizeWithDummy[1]) + -> false, + 1 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithDummy[1] != 2 /\ x_ExplicitVarSizeWithDummy[1] = x_ExplicitVarSizeWithMarker_Values[1], + x_ExplicitVarSizeWithDummy[1] != 2 -> + 1 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[1] = x_ExplicitVarSizeWithDummy[1], + y_ExplicitVarSizeWithFlags_Flags[1] = false -> y_ExplicitVarSizeWithFlags_Values[1] = 1, + y_ExplicitVarSizeWithFlags_Flags[1] -> + 1 <= y_ExplicitVarSizeWithMarker_Marker /\ + y_ExplicitVarSizeWithMarker_Values[1] = y_ExplicitVarSizeWithFlags_Values[1], + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithFlags_Flags[1] /\ y_ExplicitVarSizeWithFlags_Values[1] = y_ExplicitVarSizeWithMarker_Values[1] + diff --git a/tests/exhaustive/basic/typed01/expected/model_2_3_4_1-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_2_3_4_1-solution000001.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_3_4_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_3_4_1-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_2_3_4_1-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_3_4_1-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_3_4_1-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_2_3_4_1-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_3_4_1-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_3_4_1.eprime b/tests/exhaustive/basic/typed01/expected/model_2_3_4_1.eprime new file mode 100644 index 0000000000..b51cd218eb --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_3_4_1.eprime @@ -0,0 +1,24 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithMarker_Marker: int(0..1) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find y_Occurrence: matrix indexed by [int(1)] of bool +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_ExplicitVarSizeWithDummy, y_Occurrence, + y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values] +such that + x_ExplicitVarSizeWithDummy[1] != 2 /\ + (1 <= y_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithMarker_Values[1] = x_ExplicitVarSizeWithDummy[1]) + -> false, + 1 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[1] = 1, + x_ExplicitVarSizeWithFlags_Flags[1] = false -> x_ExplicitVarSizeWithFlags_Values[1] = 1, + x_ExplicitVarSizeWithFlags_Flags[1] -> + x_ExplicitVarSizeWithDummy[1] != 2 /\ x_ExplicitVarSizeWithDummy[1] = x_ExplicitVarSizeWithFlags_Values[1], + x_ExplicitVarSizeWithDummy[1] != 2 -> + x_ExplicitVarSizeWithFlags_Flags[1] /\ x_ExplicitVarSizeWithFlags_Values[1] = x_ExplicitVarSizeWithDummy[1], + y_Occurrence[1] -> 1 <= y_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 <= y_ExplicitVarSizeWithMarker_Marker -> y_Occurrence[y_ExplicitVarSizeWithMarker_Values[1]] + diff --git a/tests/exhaustive/basic/typed01/expected/model_2_3_4_2-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_2_3_4_2-solution000001.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_3_4_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_3_4_2-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_2_3_4_2-solution000002.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_3_4_2-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_3_4_2-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_2_3_4_2-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_3_4_2-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_3_4_2.eprime b/tests/exhaustive/basic/typed01/expected/model_2_3_4_2.eprime new file mode 100644 index 0000000000..9a22181e07 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_3_4_2.eprime @@ -0,0 +1,26 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithMarker_Marker: int(0..1) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_ExplicitVarSizeWithDummy, + y_ExplicitVarSizeWithDummy, y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values] +such that + x_ExplicitVarSizeWithDummy[1] != 2 /\ + (1 <= y_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithMarker_Values[1] = x_ExplicitVarSizeWithDummy[1]) + -> false, + 1 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[1] = 1, + x_ExplicitVarSizeWithFlags_Flags[1] = false -> x_ExplicitVarSizeWithFlags_Values[1] = 1, + x_ExplicitVarSizeWithFlags_Flags[1] -> + x_ExplicitVarSizeWithDummy[1] != 2 /\ x_ExplicitVarSizeWithDummy[1] = x_ExplicitVarSizeWithFlags_Values[1], + x_ExplicitVarSizeWithDummy[1] != 2 -> + x_ExplicitVarSizeWithFlags_Flags[1] /\ x_ExplicitVarSizeWithFlags_Values[1] = x_ExplicitVarSizeWithDummy[1], + y_ExplicitVarSizeWithDummy[1] != 2 -> + 1 <= y_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithMarker_Values[1] = y_ExplicitVarSizeWithDummy[1], + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = y_ExplicitVarSizeWithMarker_Values[1] + diff --git a/tests/exhaustive/basic/typed01/expected/model_2_3_4_3-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_2_3_4_3-solution000001.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_3_4_3-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_3_4_3-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_2_3_4_3-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_3_4_3-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_3_4_3-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_2_3_4_3-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_3_4_3-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_3_4_3.eprime b/tests/exhaustive/basic/typed01/expected/model_2_3_4_3.eprime new file mode 100644 index 0000000000..38adccfc56 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_3_4_3.eprime @@ -0,0 +1,21 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithMarker_Marker: int(0..1) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_ExplicitVarSizeWithDummy, + y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values] +such that + x_ExplicitVarSizeWithDummy[1] != 2 /\ + (1 <= y_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithMarker_Values[1] = x_ExplicitVarSizeWithDummy[1]) + -> false, + 1 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[1] = 1, + x_ExplicitVarSizeWithFlags_Flags[1] = false -> x_ExplicitVarSizeWithFlags_Values[1] = 1, + x_ExplicitVarSizeWithFlags_Flags[1] -> + x_ExplicitVarSizeWithDummy[1] != 2 /\ x_ExplicitVarSizeWithDummy[1] = x_ExplicitVarSizeWithFlags_Values[1], + x_ExplicitVarSizeWithDummy[1] != 2 -> + x_ExplicitVarSizeWithFlags_Flags[1] /\ x_ExplicitVarSizeWithFlags_Values[1] = x_ExplicitVarSizeWithDummy[1] + diff --git a/tests/exhaustive/basic/typed01/expected/model_2_3_4_4-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_2_3_4_4-solution000001.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_3_4_4-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_3_4_4-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_2_3_4_4-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_3_4_4-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_3_4_4-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_2_3_4_4-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_3_4_4-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_3_4_4.eprime b/tests/exhaustive/basic/typed01/expected/model_2_3_4_4.eprime new file mode 100644 index 0000000000..4eaa9ed45c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_3_4_4.eprime @@ -0,0 +1,30 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithMarker_Marker: int(0..1) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_ExplicitVarSizeWithDummy, + y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values, y_ExplicitVarSizeWithMarker_Marker, + y_ExplicitVarSizeWithMarker_Values] +such that + x_ExplicitVarSizeWithDummy[1] != 2 /\ + (1 <= y_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithMarker_Values[1] = x_ExplicitVarSizeWithDummy[1]) + -> false, + 1 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[1] = 1, + x_ExplicitVarSizeWithFlags_Flags[1] = false -> x_ExplicitVarSizeWithFlags_Values[1] = 1, + x_ExplicitVarSizeWithFlags_Flags[1] -> + x_ExplicitVarSizeWithDummy[1] != 2 /\ x_ExplicitVarSizeWithDummy[1] = x_ExplicitVarSizeWithFlags_Values[1], + x_ExplicitVarSizeWithDummy[1] != 2 -> + x_ExplicitVarSizeWithFlags_Flags[1] /\ x_ExplicitVarSizeWithFlags_Values[1] = x_ExplicitVarSizeWithDummy[1], + y_ExplicitVarSizeWithFlags_Flags[1] = false -> y_ExplicitVarSizeWithFlags_Values[1] = 1, + y_ExplicitVarSizeWithFlags_Flags[1] -> + 1 <= y_ExplicitVarSizeWithMarker_Marker /\ + y_ExplicitVarSizeWithMarker_Values[1] = y_ExplicitVarSizeWithFlags_Values[1], + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithFlags_Flags[1] /\ y_ExplicitVarSizeWithFlags_Values[1] = y_ExplicitVarSizeWithMarker_Values[1] + diff --git a/tests/exhaustive/basic/typed01/expected/model_2_4_1_1-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_2_4_1_1-solution000001.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_4_1_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_4_1_1-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_2_4_1_1-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_4_1_1-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_4_1_1-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_2_4_1_1-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_4_1_1-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_4_1_1.eprime b/tests/exhaustive/basic/typed01/expected/model_2_4_1_1.eprime new file mode 100644 index 0000000000..27384abdaa --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_4_1_1.eprime @@ -0,0 +1,20 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find x_Occurrence: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find y_Occurrence: matrix indexed by [int(1)] of bool +branching on + [x_Occurrence, x_ExplicitVarSizeWithDummy, y_Occurrence, y_ExplicitVarSizeWithFlags_Flags, + y_ExplicitVarSizeWithFlags_Values] +such that + x_ExplicitVarSizeWithDummy[1] != 2 /\ + (y_ExplicitVarSizeWithFlags_Flags[1] /\ y_ExplicitVarSizeWithFlags_Values[1] = x_ExplicitVarSizeWithDummy[1]) + -> false, + y_ExplicitVarSizeWithFlags_Flags[1] = false -> y_ExplicitVarSizeWithFlags_Values[1] = 1, + x_Occurrence[1] -> x_ExplicitVarSizeWithDummy[1] != 2 /\ x_ExplicitVarSizeWithDummy[1] = 1, + x_ExplicitVarSizeWithDummy[1] != 2 -> x_Occurrence[x_ExplicitVarSizeWithDummy[1]], + y_Occurrence[1] -> y_ExplicitVarSizeWithFlags_Flags[1] /\ y_ExplicitVarSizeWithFlags_Values[1] = 1, + y_ExplicitVarSizeWithFlags_Flags[1] -> y_Occurrence[y_ExplicitVarSizeWithFlags_Values[1]] + diff --git a/tests/exhaustive/basic/typed01/expected/model_2_4_1_2-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_2_4_1_2-solution000001.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_4_1_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_4_1_2-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_2_4_1_2-solution000002.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_4_1_2-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_4_1_2-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_2_4_1_2-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_4_1_2-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_4_1_2.eprime b/tests/exhaustive/basic/typed01/expected/model_2_4_1_2.eprime new file mode 100644 index 0000000000..756d504a56 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_4_1_2.eprime @@ -0,0 +1,22 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find x_Occurrence: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +branching on + [x_Occurrence, x_ExplicitVarSizeWithDummy, y_ExplicitVarSizeWithDummy, y_ExplicitVarSizeWithFlags_Flags, + y_ExplicitVarSizeWithFlags_Values] +such that + x_ExplicitVarSizeWithDummy[1] != 2 /\ + (y_ExplicitVarSizeWithFlags_Flags[1] /\ y_ExplicitVarSizeWithFlags_Values[1] = x_ExplicitVarSizeWithDummy[1]) + -> false, + y_ExplicitVarSizeWithFlags_Flags[1] = false -> y_ExplicitVarSizeWithFlags_Values[1] = 1, + x_Occurrence[1] -> x_ExplicitVarSizeWithDummy[1] != 2 /\ x_ExplicitVarSizeWithDummy[1] = 1, + x_ExplicitVarSizeWithDummy[1] != 2 -> x_Occurrence[x_ExplicitVarSizeWithDummy[1]], + y_ExplicitVarSizeWithDummy[1] != 2 -> + y_ExplicitVarSizeWithFlags_Flags[1] /\ y_ExplicitVarSizeWithFlags_Values[1] = y_ExplicitVarSizeWithDummy[1], + y_ExplicitVarSizeWithFlags_Flags[1] -> + y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = y_ExplicitVarSizeWithFlags_Values[1] + diff --git a/tests/exhaustive/basic/typed01/expected/model_2_4_1_3-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_2_4_1_3-solution000001.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_4_1_3-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_4_1_3-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_2_4_1_3-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_4_1_3-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_4_1_3-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_2_4_1_3-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_4_1_3-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_4_1_3.eprime b/tests/exhaustive/basic/typed01/expected/model_2_4_1_3.eprime new file mode 100644 index 0000000000..950474f419 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_4_1_3.eprime @@ -0,0 +1,25 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find x_Occurrence: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithMarker_Marker: int(0..1) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +branching on + [x_Occurrence, x_ExplicitVarSizeWithDummy, y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values, + y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values] +such that + x_ExplicitVarSizeWithDummy[1] != 2 /\ + (y_ExplicitVarSizeWithFlags_Flags[1] /\ y_ExplicitVarSizeWithFlags_Values[1] = x_ExplicitVarSizeWithDummy[1]) + -> false, + y_ExplicitVarSizeWithFlags_Flags[1] = false -> y_ExplicitVarSizeWithFlags_Values[1] = 1, + x_Occurrence[1] -> x_ExplicitVarSizeWithDummy[1] != 2 /\ x_ExplicitVarSizeWithDummy[1] = 1, + x_ExplicitVarSizeWithDummy[1] != 2 -> x_Occurrence[x_ExplicitVarSizeWithDummy[1]], + 1 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithFlags_Flags[1] /\ y_ExplicitVarSizeWithFlags_Values[1] = y_ExplicitVarSizeWithMarker_Values[1], + y_ExplicitVarSizeWithFlags_Flags[1] -> + 1 <= y_ExplicitVarSizeWithMarker_Marker /\ + y_ExplicitVarSizeWithMarker_Values[1] = y_ExplicitVarSizeWithFlags_Values[1] + diff --git a/tests/exhaustive/basic/typed01/expected/model_2_4_1_4-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_2_4_1_4-solution000001.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_4_1_4-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_4_1_4-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_2_4_1_4-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_4_1_4-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_4_1_4-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_2_4_1_4-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_4_1_4-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_4_1_4.eprime b/tests/exhaustive/basic/typed01/expected/model_2_4_1_4.eprime new file mode 100644 index 0000000000..b9abdd4e8a --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_4_1_4.eprime @@ -0,0 +1,16 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find x_Occurrence: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +branching on + [x_Occurrence, x_ExplicitVarSizeWithDummy, y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values] +such that + x_ExplicitVarSizeWithDummy[1] != 2 /\ + (y_ExplicitVarSizeWithFlags_Flags[1] /\ y_ExplicitVarSizeWithFlags_Values[1] = x_ExplicitVarSizeWithDummy[1]) + -> false, + y_ExplicitVarSizeWithFlags_Flags[1] = false -> y_ExplicitVarSizeWithFlags_Values[1] = 1, + x_Occurrence[1] -> x_ExplicitVarSizeWithDummy[1] != 2 /\ x_ExplicitVarSizeWithDummy[1] = 1, + x_ExplicitVarSizeWithDummy[1] != 2 -> x_Occurrence[x_ExplicitVarSizeWithDummy[1]] + diff --git a/tests/exhaustive/basic/typed01/expected/model_2_4_2_1-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_2_4_2_1-solution000001.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_4_2_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_4_2_1-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_2_4_2_1-solution000002.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_4_2_1-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_4_2_1-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_2_4_2_1-solution000003.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_4_2_1-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_4_2_1.eprime b/tests/exhaustive/basic/typed01/expected/model_2_4_2_1.eprime new file mode 100644 index 0000000000..9305aca214 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_4_2_1.eprime @@ -0,0 +1,16 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find y_Occurrence: matrix indexed by [int(1)] of bool +branching on + [x_ExplicitVarSizeWithDummy, y_Occurrence, y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values] +such that + x_ExplicitVarSizeWithDummy[1] != 2 /\ + (y_ExplicitVarSizeWithFlags_Flags[1] /\ y_ExplicitVarSizeWithFlags_Values[1] = x_ExplicitVarSizeWithDummy[1]) + -> false, + y_ExplicitVarSizeWithFlags_Flags[1] = false -> y_ExplicitVarSizeWithFlags_Values[1] = 1, + y_Occurrence[1] -> y_ExplicitVarSizeWithFlags_Flags[1] /\ y_ExplicitVarSizeWithFlags_Values[1] = 1, + y_ExplicitVarSizeWithFlags_Flags[1] -> y_Occurrence[y_ExplicitVarSizeWithFlags_Values[1]] + diff --git a/tests/exhaustive/basic/typed01/expected/model_2_4_2_2-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_2_4_2_2-solution000001.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_4_2_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_4_2_2-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_2_4_2_2-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_4_2_2-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_4_2_2-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_2_4_2_2-solution000003.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_4_2_2-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_4_2_2.eprime b/tests/exhaustive/basic/typed01/expected/model_2_4_2_2.eprime new file mode 100644 index 0000000000..e767d28abb --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_4_2_2.eprime @@ -0,0 +1,19 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +branching on + [x_ExplicitVarSizeWithDummy, y_ExplicitVarSizeWithDummy, y_ExplicitVarSizeWithFlags_Flags, + y_ExplicitVarSizeWithFlags_Values] +such that + x_ExplicitVarSizeWithDummy[1] != 2 /\ + (y_ExplicitVarSizeWithFlags_Flags[1] /\ y_ExplicitVarSizeWithFlags_Values[1] = x_ExplicitVarSizeWithDummy[1]) + -> false, + y_ExplicitVarSizeWithFlags_Flags[1] = false -> y_ExplicitVarSizeWithFlags_Values[1] = 1, + y_ExplicitVarSizeWithDummy[1] != 2 -> + y_ExplicitVarSizeWithFlags_Flags[1] /\ y_ExplicitVarSizeWithFlags_Values[1] = y_ExplicitVarSizeWithDummy[1], + y_ExplicitVarSizeWithFlags_Flags[1] -> + y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = y_ExplicitVarSizeWithFlags_Values[1] + diff --git a/tests/exhaustive/basic/typed01/expected/model_2_4_2_3-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_2_4_2_3-solution000001.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_4_2_3-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_4_2_3-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_2_4_2_3-solution000002.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_4_2_3-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_4_2_3-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_2_4_2_3-solution000003.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_4_2_3-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_4_2_3.eprime b/tests/exhaustive/basic/typed01/expected/model_2_4_2_3.eprime new file mode 100644 index 0000000000..b7697fa29f --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_4_2_3.eprime @@ -0,0 +1,22 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithMarker_Marker: int(0..1) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +branching on + [x_ExplicitVarSizeWithDummy, y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values, + y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values] +such that + x_ExplicitVarSizeWithDummy[1] != 2 /\ + (y_ExplicitVarSizeWithFlags_Flags[1] /\ y_ExplicitVarSizeWithFlags_Values[1] = x_ExplicitVarSizeWithDummy[1]) + -> false, + y_ExplicitVarSizeWithFlags_Flags[1] = false -> y_ExplicitVarSizeWithFlags_Values[1] = 1, + 1 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithFlags_Flags[1] /\ y_ExplicitVarSizeWithFlags_Values[1] = y_ExplicitVarSizeWithMarker_Values[1], + y_ExplicitVarSizeWithFlags_Flags[1] -> + 1 <= y_ExplicitVarSizeWithMarker_Marker /\ + y_ExplicitVarSizeWithMarker_Values[1] = y_ExplicitVarSizeWithFlags_Values[1] + diff --git a/tests/exhaustive/basic/typed01/expected/model_2_4_2_4-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_2_4_2_4-solution000001.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_4_2_4-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_4_2_4-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_2_4_2_4-solution000002.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_4_2_4-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_4_2_4-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_2_4_2_4-solution000003.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_4_2_4-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_4_2_4.eprime b/tests/exhaustive/basic/typed01/expected/model_2_4_2_4.eprime new file mode 100644 index 0000000000..81345e4ad5 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_4_2_4.eprime @@ -0,0 +1,12 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +branching on [x_ExplicitVarSizeWithDummy, y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values] +such that + x_ExplicitVarSizeWithDummy[1] != 2 /\ + (y_ExplicitVarSizeWithFlags_Flags[1] /\ y_ExplicitVarSizeWithFlags_Values[1] = x_ExplicitVarSizeWithDummy[1]) + -> false, + y_ExplicitVarSizeWithFlags_Flags[1] = false -> y_ExplicitVarSizeWithFlags_Values[1] = 1 + diff --git a/tests/exhaustive/basic/typed01/expected/model_2_4_3_1-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_2_4_3_1-solution000001.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_4_3_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_4_3_1-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_2_4_3_1-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_4_3_1-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_4_3_1-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_2_4_3_1-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_4_3_1-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_4_3_1.eprime b/tests/exhaustive/basic/typed01/expected/model_2_4_3_1.eprime new file mode 100644 index 0000000000..2d924bfba1 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_4_3_1.eprime @@ -0,0 +1,24 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find x_ExplicitVarSizeWithMarker_Marker: int(0..1) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find y_Occurrence: matrix indexed by [int(1)] of bool +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_ExplicitVarSizeWithDummy, y_Occurrence, + y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values] +such that + x_ExplicitVarSizeWithDummy[1] != 2 /\ + (y_ExplicitVarSizeWithFlags_Flags[1] /\ y_ExplicitVarSizeWithFlags_Values[1] = x_ExplicitVarSizeWithDummy[1]) + -> false, + y_ExplicitVarSizeWithFlags_Flags[1] = false -> y_ExplicitVarSizeWithFlags_Values[1] = 1, + 1 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithDummy[1] != 2 /\ x_ExplicitVarSizeWithDummy[1] = x_ExplicitVarSizeWithMarker_Values[1], + x_ExplicitVarSizeWithDummy[1] != 2 -> + 1 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[1] = x_ExplicitVarSizeWithDummy[1], + y_Occurrence[1] -> y_ExplicitVarSizeWithFlags_Flags[1] /\ y_ExplicitVarSizeWithFlags_Values[1] = 1, + y_ExplicitVarSizeWithFlags_Flags[1] -> y_Occurrence[y_ExplicitVarSizeWithFlags_Values[1]] + diff --git a/tests/exhaustive/basic/typed01/expected/model_2_4_3_2-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_2_4_3_2-solution000001.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_4_3_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_4_3_2-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_2_4_3_2-solution000002.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_4_3_2-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_4_3_2-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_2_4_3_2-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_4_3_2-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_4_3_2.eprime b/tests/exhaustive/basic/typed01/expected/model_2_4_3_2.eprime new file mode 100644 index 0000000000..bef3b1d9e8 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_4_3_2.eprime @@ -0,0 +1,26 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find x_ExplicitVarSizeWithMarker_Marker: int(0..1) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_ExplicitVarSizeWithDummy, + y_ExplicitVarSizeWithDummy, y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values] +such that + x_ExplicitVarSizeWithDummy[1] != 2 /\ + (y_ExplicitVarSizeWithFlags_Flags[1] /\ y_ExplicitVarSizeWithFlags_Values[1] = x_ExplicitVarSizeWithDummy[1]) + -> false, + y_ExplicitVarSizeWithFlags_Flags[1] = false -> y_ExplicitVarSizeWithFlags_Values[1] = 1, + 1 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithDummy[1] != 2 /\ x_ExplicitVarSizeWithDummy[1] = x_ExplicitVarSizeWithMarker_Values[1], + x_ExplicitVarSizeWithDummy[1] != 2 -> + 1 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[1] = x_ExplicitVarSizeWithDummy[1], + y_ExplicitVarSizeWithDummy[1] != 2 -> + y_ExplicitVarSizeWithFlags_Flags[1] /\ y_ExplicitVarSizeWithFlags_Values[1] = y_ExplicitVarSizeWithDummy[1], + y_ExplicitVarSizeWithFlags_Flags[1] -> + y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = y_ExplicitVarSizeWithFlags_Values[1] + diff --git a/tests/exhaustive/basic/typed01/expected/model_2_4_3_3-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_2_4_3_3-solution000001.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_4_3_3-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_4_3_3-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_2_4_3_3-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_4_3_3-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_4_3_3-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_2_4_3_3-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_4_3_3-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_4_3_3.eprime b/tests/exhaustive/basic/typed01/expected/model_2_4_3_3.eprime new file mode 100644 index 0000000000..b8a64e76d1 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_4_3_3.eprime @@ -0,0 +1,30 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find x_ExplicitVarSizeWithMarker_Marker: int(0..1) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithMarker_Marker: int(0..1) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_ExplicitVarSizeWithDummy, + y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values, y_ExplicitVarSizeWithFlags_Flags, + y_ExplicitVarSizeWithFlags_Values] +such that + x_ExplicitVarSizeWithDummy[1] != 2 /\ + (y_ExplicitVarSizeWithFlags_Flags[1] /\ y_ExplicitVarSizeWithFlags_Values[1] = x_ExplicitVarSizeWithDummy[1]) + -> false, + y_ExplicitVarSizeWithFlags_Flags[1] = false -> y_ExplicitVarSizeWithFlags_Values[1] = 1, + 1 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithDummy[1] != 2 /\ x_ExplicitVarSizeWithDummy[1] = x_ExplicitVarSizeWithMarker_Values[1], + x_ExplicitVarSizeWithDummy[1] != 2 -> + 1 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[1] = x_ExplicitVarSizeWithDummy[1], + 1 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithFlags_Flags[1] /\ y_ExplicitVarSizeWithFlags_Values[1] = y_ExplicitVarSizeWithMarker_Values[1], + y_ExplicitVarSizeWithFlags_Flags[1] -> + 1 <= y_ExplicitVarSizeWithMarker_Marker /\ + y_ExplicitVarSizeWithMarker_Values[1] = y_ExplicitVarSizeWithFlags_Values[1] + diff --git a/tests/exhaustive/basic/typed01/expected/model_2_4_3_4-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_2_4_3_4-solution000001.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_4_3_4-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_4_3_4-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_2_4_3_4-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_4_3_4-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_4_3_4-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_2_4_3_4-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_4_3_4-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_4_3_4.eprime b/tests/exhaustive/basic/typed01/expected/model_2_4_3_4.eprime new file mode 100644 index 0000000000..73e37546d5 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_4_3_4.eprime @@ -0,0 +1,21 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find x_ExplicitVarSizeWithMarker_Marker: int(0..1) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_ExplicitVarSizeWithDummy, + y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values] +such that + x_ExplicitVarSizeWithDummy[1] != 2 /\ + (y_ExplicitVarSizeWithFlags_Flags[1] /\ y_ExplicitVarSizeWithFlags_Values[1] = x_ExplicitVarSizeWithDummy[1]) + -> false, + y_ExplicitVarSizeWithFlags_Flags[1] = false -> y_ExplicitVarSizeWithFlags_Values[1] = 1, + 1 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithDummy[1] != 2 /\ x_ExplicitVarSizeWithDummy[1] = x_ExplicitVarSizeWithMarker_Values[1], + x_ExplicitVarSizeWithDummy[1] != 2 -> + 1 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[1] = x_ExplicitVarSizeWithDummy[1] + diff --git a/tests/exhaustive/basic/typed01/expected/model_2_4_4_1-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_2_4_4_1-solution000001.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_4_4_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_4_4_1-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_2_4_4_1-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_4_4_1-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_4_4_1-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_2_4_4_1-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_4_4_1-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_4_4_1.eprime b/tests/exhaustive/basic/typed01/expected/model_2_4_4_1.eprime new file mode 100644 index 0000000000..f983f59967 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_4_4_1.eprime @@ -0,0 +1,24 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find y_Occurrence: matrix indexed by [int(1)] of bool +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_ExplicitVarSizeWithDummy, y_Occurrence, + y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values] +such that + x_ExplicitVarSizeWithDummy[1] != 2 /\ + (y_ExplicitVarSizeWithFlags_Flags[1] /\ y_ExplicitVarSizeWithFlags_Values[1] = x_ExplicitVarSizeWithDummy[1]) + -> false, + y_ExplicitVarSizeWithFlags_Flags[1] = false -> y_ExplicitVarSizeWithFlags_Values[1] = 1, + x_ExplicitVarSizeWithFlags_Flags[1] = false -> x_ExplicitVarSizeWithFlags_Values[1] = 1, + x_ExplicitVarSizeWithFlags_Flags[1] -> + x_ExplicitVarSizeWithDummy[1] != 2 /\ x_ExplicitVarSizeWithDummy[1] = x_ExplicitVarSizeWithFlags_Values[1], + x_ExplicitVarSizeWithDummy[1] != 2 -> + x_ExplicitVarSizeWithFlags_Flags[1] /\ x_ExplicitVarSizeWithFlags_Values[1] = x_ExplicitVarSizeWithDummy[1], + y_Occurrence[1] -> y_ExplicitVarSizeWithFlags_Flags[1] /\ y_ExplicitVarSizeWithFlags_Values[1] = 1, + y_ExplicitVarSizeWithFlags_Flags[1] -> y_Occurrence[y_ExplicitVarSizeWithFlags_Values[1]] + diff --git a/tests/exhaustive/basic/typed01/expected/model_2_4_4_2-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_2_4_4_2-solution000001.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_4_4_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_4_4_2-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_2_4_4_2-solution000002.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_4_4_2-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_4_4_2-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_2_4_4_2-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_4_4_2-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_4_4_2.eprime b/tests/exhaustive/basic/typed01/expected/model_2_4_4_2.eprime new file mode 100644 index 0000000000..d0265ea199 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_4_4_2.eprime @@ -0,0 +1,26 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_ExplicitVarSizeWithDummy, + y_ExplicitVarSizeWithDummy, y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values] +such that + x_ExplicitVarSizeWithDummy[1] != 2 /\ + (y_ExplicitVarSizeWithFlags_Flags[1] /\ y_ExplicitVarSizeWithFlags_Values[1] = x_ExplicitVarSizeWithDummy[1]) + -> false, + y_ExplicitVarSizeWithFlags_Flags[1] = false -> y_ExplicitVarSizeWithFlags_Values[1] = 1, + x_ExplicitVarSizeWithFlags_Flags[1] = false -> x_ExplicitVarSizeWithFlags_Values[1] = 1, + x_ExplicitVarSizeWithFlags_Flags[1] -> + x_ExplicitVarSizeWithDummy[1] != 2 /\ x_ExplicitVarSizeWithDummy[1] = x_ExplicitVarSizeWithFlags_Values[1], + x_ExplicitVarSizeWithDummy[1] != 2 -> + x_ExplicitVarSizeWithFlags_Flags[1] /\ x_ExplicitVarSizeWithFlags_Values[1] = x_ExplicitVarSizeWithDummy[1], + y_ExplicitVarSizeWithDummy[1] != 2 -> + y_ExplicitVarSizeWithFlags_Flags[1] /\ y_ExplicitVarSizeWithFlags_Values[1] = y_ExplicitVarSizeWithDummy[1], + y_ExplicitVarSizeWithFlags_Flags[1] -> + y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = y_ExplicitVarSizeWithFlags_Values[1] + diff --git a/tests/exhaustive/basic/typed01/expected/model_2_4_4_3-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_2_4_4_3-solution000001.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_4_4_3-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_4_4_3-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_2_4_4_3-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_4_4_3-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_4_4_3-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_2_4_4_3-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_4_4_3-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_4_4_3.eprime b/tests/exhaustive/basic/typed01/expected/model_2_4_4_3.eprime new file mode 100644 index 0000000000..2d70798d52 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_4_4_3.eprime @@ -0,0 +1,30 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithMarker_Marker: int(0..1) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_ExplicitVarSizeWithDummy, + y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values, y_ExplicitVarSizeWithFlags_Flags, + y_ExplicitVarSizeWithFlags_Values] +such that + x_ExplicitVarSizeWithDummy[1] != 2 /\ + (y_ExplicitVarSizeWithFlags_Flags[1] /\ y_ExplicitVarSizeWithFlags_Values[1] = x_ExplicitVarSizeWithDummy[1]) + -> false, + y_ExplicitVarSizeWithFlags_Flags[1] = false -> y_ExplicitVarSizeWithFlags_Values[1] = 1, + x_ExplicitVarSizeWithFlags_Flags[1] = false -> x_ExplicitVarSizeWithFlags_Values[1] = 1, + x_ExplicitVarSizeWithFlags_Flags[1] -> + x_ExplicitVarSizeWithDummy[1] != 2 /\ x_ExplicitVarSizeWithDummy[1] = x_ExplicitVarSizeWithFlags_Values[1], + x_ExplicitVarSizeWithDummy[1] != 2 -> + x_ExplicitVarSizeWithFlags_Flags[1] /\ x_ExplicitVarSizeWithFlags_Values[1] = x_ExplicitVarSizeWithDummy[1], + 1 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithFlags_Flags[1] /\ y_ExplicitVarSizeWithFlags_Values[1] = y_ExplicitVarSizeWithMarker_Values[1], + y_ExplicitVarSizeWithFlags_Flags[1] -> + 1 <= y_ExplicitVarSizeWithMarker_Marker /\ + y_ExplicitVarSizeWithMarker_Values[1] = y_ExplicitVarSizeWithFlags_Values[1] + diff --git a/tests/exhaustive/basic/typed01/expected/model_2_4_4_4-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_2_4_4_4-solution000001.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_4_4_4-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_4_4_4-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_2_4_4_4-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_4_4_4-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_4_4_4-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_2_4_4_4-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_4_4_4-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_2_4_4_4.eprime b/tests/exhaustive/basic/typed01/expected/model_2_4_4_4.eprime new file mode 100644 index 0000000000..eb8ed6d4d1 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_2_4_4_4.eprime @@ -0,0 +1,21 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_ExplicitVarSizeWithDummy, + y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values] +such that + x_ExplicitVarSizeWithDummy[1] != 2 /\ + (y_ExplicitVarSizeWithFlags_Flags[1] /\ y_ExplicitVarSizeWithFlags_Values[1] = x_ExplicitVarSizeWithDummy[1]) + -> false, + y_ExplicitVarSizeWithFlags_Flags[1] = false -> y_ExplicitVarSizeWithFlags_Values[1] = 1, + x_ExplicitVarSizeWithFlags_Flags[1] = false -> x_ExplicitVarSizeWithFlags_Values[1] = 1, + x_ExplicitVarSizeWithFlags_Flags[1] -> + x_ExplicitVarSizeWithDummy[1] != 2 /\ x_ExplicitVarSizeWithDummy[1] = x_ExplicitVarSizeWithFlags_Values[1], + x_ExplicitVarSizeWithDummy[1] != 2 -> + x_ExplicitVarSizeWithFlags_Flags[1] /\ x_ExplicitVarSizeWithFlags_Values[1] = x_ExplicitVarSizeWithDummy[1] + diff --git a/tests/exhaustive/basic/typed01/expected/model_3_1_1_1-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_3_1_1_1-solution000001.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_1_1_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_1_1_1-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_3_1_1_1-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_1_1_1-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_1_1_1-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_3_1_1_1-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_1_1_1-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_1_1_1.eprime b/tests/exhaustive/basic/typed01/expected/model_3_1_1_1.eprime new file mode 100644 index 0000000000..b1f9d14f8a --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_1_1_1.eprime @@ -0,0 +1,13 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..1) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find x_Occurrence: matrix indexed by [int(1)] of bool +find y_Occurrence: matrix indexed by [int(1)] of bool +branching on [x_Occurrence, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, y_Occurrence] +such that + 1 <= x_ExplicitVarSizeWithMarker_Marker /\ y_Occurrence[x_ExplicitVarSizeWithMarker_Values[1]] -> false, + 1 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[1] = 1, + x_Occurrence[1] -> 1 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[1]] + diff --git a/tests/exhaustive/basic/typed01/expected/model_3_1_1_2-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_3_1_1_2-solution000001.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_1_1_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_1_1_2-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_3_1_1_2-solution000002.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_1_1_2-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_1_1_2-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_3_1_1_2-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_1_1_2-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_1_1_2.eprime b/tests/exhaustive/basic/typed01/expected/model_3_1_1_2.eprime new file mode 100644 index 0000000000..0e577a8eac --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_1_1_2.eprime @@ -0,0 +1,18 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..1) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find x_Occurrence: matrix indexed by [int(1)] of bool +find y_Occurrence: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +branching on + [x_Occurrence, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, y_ExplicitVarSizeWithDummy, + y_Occurrence] +such that + 1 <= x_ExplicitVarSizeWithMarker_Marker /\ y_Occurrence[x_ExplicitVarSizeWithMarker_Values[1]] -> false, + 1 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[1] = 1, + x_Occurrence[1] -> 1 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[1]], + y_ExplicitVarSizeWithDummy[1] != 2 -> y_Occurrence[y_ExplicitVarSizeWithDummy[1]], + y_Occurrence[1] -> y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = 1 + diff --git a/tests/exhaustive/basic/typed01/expected/model_3_1_1_3-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_3_1_1_3-solution000001.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_1_1_3-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_1_1_3-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_3_1_1_3-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_1_1_3-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_1_1_3-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_3_1_1_3-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_1_1_3-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_1_1_3.eprime b/tests/exhaustive/basic/typed01/expected/model_3_1_1_3.eprime new file mode 100644 index 0000000000..20840fd0f7 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_1_1_3.eprime @@ -0,0 +1,20 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..1) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find x_Occurrence: matrix indexed by [int(1)] of bool +find y_Occurrence: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithMarker_Marker: int(0..1) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +branching on + [x_Occurrence, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, + y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values, y_Occurrence] +such that + 1 <= x_ExplicitVarSizeWithMarker_Marker /\ y_Occurrence[x_ExplicitVarSizeWithMarker_Values[1]] -> false, + 1 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[1] = 1, + x_Occurrence[1] -> 1 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[1]], + 1 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 <= y_ExplicitVarSizeWithMarker_Marker -> y_Occurrence[y_ExplicitVarSizeWithMarker_Values[1]], + y_Occurrence[1] -> 1 <= y_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithMarker_Values[1] = 1 + diff --git a/tests/exhaustive/basic/typed01/expected/model_3_1_1_4-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_3_1_1_4-solution000001.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_1_1_4-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_1_1_4-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_3_1_1_4-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_1_1_4-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_1_1_4-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_3_1_1_4-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_1_1_4-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_1_1_4.eprime b/tests/exhaustive/basic/typed01/expected/model_3_1_1_4.eprime new file mode 100644 index 0000000000..15ecf4d3a3 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_1_1_4.eprime @@ -0,0 +1,20 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..1) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find x_Occurrence: matrix indexed by [int(1)] of bool +find y_Occurrence: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +branching on + [x_Occurrence, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, + y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values, y_Occurrence] +such that + 1 <= x_ExplicitVarSizeWithMarker_Marker /\ y_Occurrence[x_ExplicitVarSizeWithMarker_Values[1]] -> false, + 1 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[1] = 1, + x_Occurrence[1] -> 1 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[1]], + y_ExplicitVarSizeWithFlags_Flags[1] = false -> y_ExplicitVarSizeWithFlags_Values[1] = 1, + y_ExplicitVarSizeWithFlags_Flags[1] -> y_Occurrence[y_ExplicitVarSizeWithFlags_Values[1]], + y_Occurrence[1] -> y_ExplicitVarSizeWithFlags_Flags[1] /\ y_ExplicitVarSizeWithFlags_Values[1] = 1 + diff --git a/tests/exhaustive/basic/typed01/expected/model_3_1_2_1-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_3_1_2_1-solution000001.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_1_2_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_1_2_1-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_3_1_2_1-solution000002.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_1_2_1-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_1_2_1-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_3_1_2_1-solution000003.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_1_2_1-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_1_2_1.eprime b/tests/exhaustive/basic/typed01/expected/model_3_1_2_1.eprime new file mode 100644 index 0000000000..3232164034 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_1_2_1.eprime @@ -0,0 +1,16 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..1) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find y_Occurrence: matrix indexed by [int(1)] of bool +branching on + [x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, y_Occurrence] +such that + 1 <= x_ExplicitVarSizeWithMarker_Marker /\ y_Occurrence[x_ExplicitVarSizeWithMarker_Values[1]] -> false, + 1 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[1] = 1, + x_ExplicitVarSizeWithDummy[1] != 2 -> + 1 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[1] = x_ExplicitVarSizeWithDummy[1], + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithDummy[1] != 2 /\ x_ExplicitVarSizeWithDummy[1] = x_ExplicitVarSizeWithMarker_Values[1] + diff --git a/tests/exhaustive/basic/typed01/expected/model_3_1_2_2-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_3_1_2_2-solution000001.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_1_2_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_1_2_2-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_3_1_2_2-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_1_2_2-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_1_2_2-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_3_1_2_2-solution000003.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_1_2_2-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_1_2_2.eprime b/tests/exhaustive/basic/typed01/expected/model_3_1_2_2.eprime new file mode 100644 index 0000000000..8198674706 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_1_2_2.eprime @@ -0,0 +1,20 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..1) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find y_Occurrence: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +branching on + [x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, + y_ExplicitVarSizeWithDummy, y_Occurrence] +such that + 1 <= x_ExplicitVarSizeWithMarker_Marker /\ y_Occurrence[x_ExplicitVarSizeWithMarker_Values[1]] -> false, + 1 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[1] = 1, + x_ExplicitVarSizeWithDummy[1] != 2 -> + 1 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[1] = x_ExplicitVarSizeWithDummy[1], + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithDummy[1] != 2 /\ x_ExplicitVarSizeWithDummy[1] = x_ExplicitVarSizeWithMarker_Values[1], + y_ExplicitVarSizeWithDummy[1] != 2 -> y_Occurrence[y_ExplicitVarSizeWithDummy[1]], + y_Occurrence[1] -> y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = 1 + diff --git a/tests/exhaustive/basic/typed01/expected/model_3_1_2_3-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_3_1_2_3-solution000001.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_1_2_3-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_1_2_3-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_3_1_2_3-solution000002.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_1_2_3-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_1_2_3-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_3_1_2_3-solution000003.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_1_2_3-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_1_2_3.eprime b/tests/exhaustive/basic/typed01/expected/model_3_1_2_3.eprime new file mode 100644 index 0000000000..d85db5cc93 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_1_2_3.eprime @@ -0,0 +1,22 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..1) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find y_Occurrence: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithMarker_Marker: int(0..1) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +branching on + [x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, + y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values, y_Occurrence] +such that + 1 <= x_ExplicitVarSizeWithMarker_Marker /\ y_Occurrence[x_ExplicitVarSizeWithMarker_Values[1]] -> false, + 1 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[1] = 1, + x_ExplicitVarSizeWithDummy[1] != 2 -> + 1 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[1] = x_ExplicitVarSizeWithDummy[1], + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithDummy[1] != 2 /\ x_ExplicitVarSizeWithDummy[1] = x_ExplicitVarSizeWithMarker_Values[1], + 1 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 <= y_ExplicitVarSizeWithMarker_Marker -> y_Occurrence[y_ExplicitVarSizeWithMarker_Values[1]], + y_Occurrence[1] -> 1 <= y_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithMarker_Values[1] = 1 + diff --git a/tests/exhaustive/basic/typed01/expected/model_3_1_2_4-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_3_1_2_4-solution000001.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_1_2_4-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_1_2_4-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_3_1_2_4-solution000002.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_1_2_4-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_1_2_4-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_3_1_2_4-solution000003.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_1_2_4-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_1_2_4.eprime b/tests/exhaustive/basic/typed01/expected/model_3_1_2_4.eprime new file mode 100644 index 0000000000..6965500389 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_1_2_4.eprime @@ -0,0 +1,22 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..1) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find y_Occurrence: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +branching on + [x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, + y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values, y_Occurrence] +such that + 1 <= x_ExplicitVarSizeWithMarker_Marker /\ y_Occurrence[x_ExplicitVarSizeWithMarker_Values[1]] -> false, + 1 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[1] = 1, + x_ExplicitVarSizeWithDummy[1] != 2 -> + 1 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[1] = x_ExplicitVarSizeWithDummy[1], + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithDummy[1] != 2 /\ x_ExplicitVarSizeWithDummy[1] = x_ExplicitVarSizeWithMarker_Values[1], + y_ExplicitVarSizeWithFlags_Flags[1] = false -> y_ExplicitVarSizeWithFlags_Values[1] = 1, + y_ExplicitVarSizeWithFlags_Flags[1] -> y_Occurrence[y_ExplicitVarSizeWithFlags_Values[1]], + y_Occurrence[1] -> y_ExplicitVarSizeWithFlags_Flags[1] /\ y_ExplicitVarSizeWithFlags_Values[1] = 1 + diff --git a/tests/exhaustive/basic/typed01/expected/model_3_1_3_1-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_3_1_3_1-solution000001.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_1_3_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_1_3_1-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_3_1_3_1-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_1_3_1-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_1_3_1-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_3_1_3_1-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_1_3_1-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_1_3_1.eprime b/tests/exhaustive/basic/typed01/expected/model_3_1_3_1.eprime new file mode 100644 index 0000000000..f5c2cccdbc --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_1_3_1.eprime @@ -0,0 +1,10 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..1) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find y_Occurrence: matrix indexed by [int(1)] of bool +branching on [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, y_Occurrence] +such that + 1 <= x_ExplicitVarSizeWithMarker_Marker /\ y_Occurrence[x_ExplicitVarSizeWithMarker_Values[1]] -> false, + 1 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[1] = 1 + diff --git a/tests/exhaustive/basic/typed01/expected/model_3_1_3_2-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_3_1_3_2-solution000001.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_1_3_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_1_3_2-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_3_1_3_2-solution000002.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_1_3_2-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_1_3_2-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_3_1_3_2-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_1_3_2-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_1_3_2.eprime b/tests/exhaustive/basic/typed01/expected/model_3_1_3_2.eprime new file mode 100644 index 0000000000..e1c3367190 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_1_3_2.eprime @@ -0,0 +1,14 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..1) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find y_Occurrence: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, y_ExplicitVarSizeWithDummy, y_Occurrence] +such that + 1 <= x_ExplicitVarSizeWithMarker_Marker /\ y_Occurrence[x_ExplicitVarSizeWithMarker_Values[1]] -> false, + 1 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[1] = 1, + y_ExplicitVarSizeWithDummy[1] != 2 -> y_Occurrence[y_ExplicitVarSizeWithDummy[1]], + y_Occurrence[1] -> y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = 1 + diff --git a/tests/exhaustive/basic/typed01/expected/model_3_1_3_3-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_3_1_3_3-solution000001.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_1_3_3-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_1_3_3-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_3_1_3_3-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_1_3_3-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_1_3_3-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_3_1_3_3-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_1_3_3-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_1_3_3.eprime b/tests/exhaustive/basic/typed01/expected/model_3_1_3_3.eprime new file mode 100644 index 0000000000..9f6c670ab3 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_1_3_3.eprime @@ -0,0 +1,17 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..1) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find y_Occurrence: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithMarker_Marker: int(0..1) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, y_ExplicitVarSizeWithMarker_Marker, + y_ExplicitVarSizeWithMarker_Values, y_Occurrence] +such that + 1 <= x_ExplicitVarSizeWithMarker_Marker /\ y_Occurrence[x_ExplicitVarSizeWithMarker_Values[1]] -> false, + 1 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 <= y_ExplicitVarSizeWithMarker_Marker -> y_Occurrence[y_ExplicitVarSizeWithMarker_Values[1]], + y_Occurrence[1] -> 1 <= y_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithMarker_Values[1] = 1 + diff --git a/tests/exhaustive/basic/typed01/expected/model_3_1_3_4-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_3_1_3_4-solution000001.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_1_3_4-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_1_3_4-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_3_1_3_4-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_1_3_4-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_1_3_4-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_3_1_3_4-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_1_3_4-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_1_3_4.eprime b/tests/exhaustive/basic/typed01/expected/model_3_1_3_4.eprime new file mode 100644 index 0000000000..e9cad424f2 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_1_3_4.eprime @@ -0,0 +1,17 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..1) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find y_Occurrence: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, y_ExplicitVarSizeWithFlags_Flags, + y_ExplicitVarSizeWithFlags_Values, y_Occurrence] +such that + 1 <= x_ExplicitVarSizeWithMarker_Marker /\ y_Occurrence[x_ExplicitVarSizeWithMarker_Values[1]] -> false, + 1 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[1] = 1, + y_ExplicitVarSizeWithFlags_Flags[1] = false -> y_ExplicitVarSizeWithFlags_Values[1] = 1, + y_ExplicitVarSizeWithFlags_Flags[1] -> y_Occurrence[y_ExplicitVarSizeWithFlags_Values[1]], + y_Occurrence[1] -> y_ExplicitVarSizeWithFlags_Flags[1] /\ y_ExplicitVarSizeWithFlags_Values[1] = 1 + diff --git a/tests/exhaustive/basic/typed01/expected/model_3_1_4_1-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_3_1_4_1-solution000001.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_1_4_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_1_4_1-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_3_1_4_1-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_1_4_1-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_1_4_1-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_3_1_4_1-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_1_4_1-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_1_4_1.eprime b/tests/exhaustive/basic/typed01/expected/model_3_1_4_1.eprime new file mode 100644 index 0000000000..c9d42653f0 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_1_4_1.eprime @@ -0,0 +1,20 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..1) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find y_Occurrence: matrix indexed by [int(1)] of bool +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_ExplicitVarSizeWithMarker_Marker, + x_ExplicitVarSizeWithMarker_Values, y_Occurrence] +such that + 1 <= x_ExplicitVarSizeWithMarker_Marker /\ y_Occurrence[x_ExplicitVarSizeWithMarker_Values[1]] -> false, + 1 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[1] = 1, + x_ExplicitVarSizeWithFlags_Flags[1] = false -> x_ExplicitVarSizeWithFlags_Values[1] = 1, + x_ExplicitVarSizeWithFlags_Flags[1] -> + 1 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[1] = x_ExplicitVarSizeWithFlags_Values[1], + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithFlags_Flags[1] /\ x_ExplicitVarSizeWithFlags_Values[1] = x_ExplicitVarSizeWithMarker_Values[1] + diff --git a/tests/exhaustive/basic/typed01/expected/model_3_1_4_2-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_3_1_4_2-solution000001.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_1_4_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_1_4_2-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_3_1_4_2-solution000002.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_1_4_2-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_1_4_2-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_3_1_4_2-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_1_4_2-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_1_4_2.eprime b/tests/exhaustive/basic/typed01/expected/model_3_1_4_2.eprime new file mode 100644 index 0000000000..542fea04f9 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_1_4_2.eprime @@ -0,0 +1,23 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..1) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find y_Occurrence: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_ExplicitVarSizeWithMarker_Marker, + x_ExplicitVarSizeWithMarker_Values, y_ExplicitVarSizeWithDummy, y_Occurrence] +such that + 1 <= x_ExplicitVarSizeWithMarker_Marker /\ y_Occurrence[x_ExplicitVarSizeWithMarker_Values[1]] -> false, + 1 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[1] = 1, + x_ExplicitVarSizeWithFlags_Flags[1] = false -> x_ExplicitVarSizeWithFlags_Values[1] = 1, + x_ExplicitVarSizeWithFlags_Flags[1] -> + 1 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[1] = x_ExplicitVarSizeWithFlags_Values[1], + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithFlags_Flags[1] /\ x_ExplicitVarSizeWithFlags_Values[1] = x_ExplicitVarSizeWithMarker_Values[1], + y_ExplicitVarSizeWithDummy[1] != 2 -> y_Occurrence[y_ExplicitVarSizeWithDummy[1]], + y_Occurrence[1] -> y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = 1 + diff --git a/tests/exhaustive/basic/typed01/expected/model_3_1_4_3-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_3_1_4_3-solution000001.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_1_4_3-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_1_4_3-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_3_1_4_3-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_1_4_3-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_1_4_3-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_3_1_4_3-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_1_4_3-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_1_4_3.eprime b/tests/exhaustive/basic/typed01/expected/model_3_1_4_3.eprime new file mode 100644 index 0000000000..15763695d1 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_1_4_3.eprime @@ -0,0 +1,26 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..1) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find y_Occurrence: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithMarker_Marker: int(0..1) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_ExplicitVarSizeWithMarker_Marker, + x_ExplicitVarSizeWithMarker_Values, y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values, + y_Occurrence] +such that + 1 <= x_ExplicitVarSizeWithMarker_Marker /\ y_Occurrence[x_ExplicitVarSizeWithMarker_Values[1]] -> false, + 1 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[1] = 1, + x_ExplicitVarSizeWithFlags_Flags[1] = false -> x_ExplicitVarSizeWithFlags_Values[1] = 1, + x_ExplicitVarSizeWithFlags_Flags[1] -> + 1 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[1] = x_ExplicitVarSizeWithFlags_Values[1], + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithFlags_Flags[1] /\ x_ExplicitVarSizeWithFlags_Values[1] = x_ExplicitVarSizeWithMarker_Values[1], + 1 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 <= y_ExplicitVarSizeWithMarker_Marker -> y_Occurrence[y_ExplicitVarSizeWithMarker_Values[1]], + y_Occurrence[1] -> 1 <= y_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithMarker_Values[1] = 1 + diff --git a/tests/exhaustive/basic/typed01/expected/model_3_1_4_4-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_3_1_4_4-solution000001.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_1_4_4-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_1_4_4-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_3_1_4_4-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_1_4_4-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_1_4_4-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_3_1_4_4-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_1_4_4-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_1_4_4.eprime b/tests/exhaustive/basic/typed01/expected/model_3_1_4_4.eprime new file mode 100644 index 0000000000..4074e09614 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_1_4_4.eprime @@ -0,0 +1,26 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..1) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find y_Occurrence: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_ExplicitVarSizeWithMarker_Marker, + x_ExplicitVarSizeWithMarker_Values, y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values, + y_Occurrence] +such that + 1 <= x_ExplicitVarSizeWithMarker_Marker /\ y_Occurrence[x_ExplicitVarSizeWithMarker_Values[1]] -> false, + 1 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[1] = 1, + x_ExplicitVarSizeWithFlags_Flags[1] = false -> x_ExplicitVarSizeWithFlags_Values[1] = 1, + x_ExplicitVarSizeWithFlags_Flags[1] -> + 1 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[1] = x_ExplicitVarSizeWithFlags_Values[1], + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithFlags_Flags[1] /\ x_ExplicitVarSizeWithFlags_Values[1] = x_ExplicitVarSizeWithMarker_Values[1], + y_ExplicitVarSizeWithFlags_Flags[1] = false -> y_ExplicitVarSizeWithFlags_Values[1] = 1, + y_ExplicitVarSizeWithFlags_Flags[1] -> y_Occurrence[y_ExplicitVarSizeWithFlags_Values[1]], + y_Occurrence[1] -> y_ExplicitVarSizeWithFlags_Flags[1] /\ y_ExplicitVarSizeWithFlags_Values[1] = 1 + diff --git a/tests/exhaustive/basic/typed01/expected/model_3_2_1_1-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_3_2_1_1-solution000001.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_2_1_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_2_1_1-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_3_2_1_1-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_2_1_1-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_2_1_1-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_3_2_1_1-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_2_1_1-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_2_1_1.eprime b/tests/exhaustive/basic/typed01/expected/model_3_2_1_1.eprime new file mode 100644 index 0000000000..5b779b4b38 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_2_1_1.eprime @@ -0,0 +1,20 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..1) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find x_Occurrence: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find y_Occurrence: matrix indexed by [int(1)] of bool +branching on + [x_Occurrence, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, y_Occurrence, + y_ExplicitVarSizeWithDummy] +such that + 1 <= x_ExplicitVarSizeWithMarker_Marker /\ + (y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = x_ExplicitVarSizeWithMarker_Values[1]) + -> false, + 1 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[1] = 1, + x_Occurrence[1] -> 1 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[1]], + y_Occurrence[1] -> y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = 1, + y_ExplicitVarSizeWithDummy[1] != 2 -> y_Occurrence[y_ExplicitVarSizeWithDummy[1]] + diff --git a/tests/exhaustive/basic/typed01/expected/model_3_2_1_2-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_3_2_1_2-solution000001.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_2_1_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_2_1_2-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_3_2_1_2-solution000002.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_2_1_2-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_2_1_2-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_3_2_1_2-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_2_1_2-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_2_1_2.eprime b/tests/exhaustive/basic/typed01/expected/model_3_2_1_2.eprime new file mode 100644 index 0000000000..3dc3f438fd --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_2_1_2.eprime @@ -0,0 +1,16 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..1) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find x_Occurrence: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +branching on + [x_Occurrence, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, y_ExplicitVarSizeWithDummy] +such that + 1 <= x_ExplicitVarSizeWithMarker_Marker /\ + (y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = x_ExplicitVarSizeWithMarker_Values[1]) + -> false, + 1 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[1] = 1, + x_Occurrence[1] -> 1 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[1]] + diff --git a/tests/exhaustive/basic/typed01/expected/model_3_2_1_3-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_3_2_1_3-solution000001.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_2_1_3-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_2_1_3-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_3_2_1_3-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_2_1_3-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_2_1_3-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_3_2_1_3-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_2_1_3-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_2_1_3.eprime b/tests/exhaustive/basic/typed01/expected/model_3_2_1_3.eprime new file mode 100644 index 0000000000..10e6959273 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_2_1_3.eprime @@ -0,0 +1,24 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..1) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find x_Occurrence: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find y_ExplicitVarSizeWithMarker_Marker: int(0..1) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +branching on + [x_Occurrence, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, + y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values, y_ExplicitVarSizeWithDummy] +such that + 1 <= x_ExplicitVarSizeWithMarker_Marker /\ + (y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = x_ExplicitVarSizeWithMarker_Values[1]) + -> false, + 1 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[1] = 1, + x_Occurrence[1] -> 1 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[1]], + 1 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = y_ExplicitVarSizeWithMarker_Values[1], + y_ExplicitVarSizeWithDummy[1] != 2 -> + 1 <= y_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithMarker_Values[1] = y_ExplicitVarSizeWithDummy[1] + diff --git a/tests/exhaustive/basic/typed01/expected/model_3_2_1_4-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_3_2_1_4-solution000001.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_2_1_4-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_2_1_4-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_3_2_1_4-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_2_1_4-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_2_1_4-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_3_2_1_4-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_2_1_4-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_2_1_4.eprime b/tests/exhaustive/basic/typed01/expected/model_3_2_1_4.eprime new file mode 100644 index 0000000000..eba2cf80d9 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_2_1_4.eprime @@ -0,0 +1,24 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..1) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find x_Occurrence: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +branching on + [x_Occurrence, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, + y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values, y_ExplicitVarSizeWithDummy] +such that + 1 <= x_ExplicitVarSizeWithMarker_Marker /\ + (y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = x_ExplicitVarSizeWithMarker_Values[1]) + -> false, + 1 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[1] = 1, + x_Occurrence[1] -> 1 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[1]], + y_ExplicitVarSizeWithFlags_Flags[1] = false -> y_ExplicitVarSizeWithFlags_Values[1] = 1, + y_ExplicitVarSizeWithFlags_Flags[1] -> + y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = y_ExplicitVarSizeWithFlags_Values[1], + y_ExplicitVarSizeWithDummy[1] != 2 -> + y_ExplicitVarSizeWithFlags_Flags[1] /\ y_ExplicitVarSizeWithFlags_Values[1] = y_ExplicitVarSizeWithDummy[1] + diff --git a/tests/exhaustive/basic/typed01/expected/model_3_2_2_1-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_3_2_2_1-solution000001.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_2_2_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_2_2_1-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_3_2_2_1-solution000002.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_2_2_1-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_2_2_1-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_3_2_2_1-solution000003.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_2_2_1-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_2_2_1.eprime b/tests/exhaustive/basic/typed01/expected/model_3_2_2_1.eprime new file mode 100644 index 0000000000..31c98c5012 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_2_2_1.eprime @@ -0,0 +1,22 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..1) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find y_Occurrence: matrix indexed by [int(1)] of bool +branching on + [x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, y_Occurrence, + y_ExplicitVarSizeWithDummy] +such that + 1 <= x_ExplicitVarSizeWithMarker_Marker /\ + (y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = x_ExplicitVarSizeWithMarker_Values[1]) + -> false, + 1 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[1] = 1, + x_ExplicitVarSizeWithDummy[1] != 2 -> + 1 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[1] = x_ExplicitVarSizeWithDummy[1], + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithDummy[1] != 2 /\ x_ExplicitVarSizeWithDummy[1] = x_ExplicitVarSizeWithMarker_Values[1], + y_Occurrence[1] -> y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = 1, + y_ExplicitVarSizeWithDummy[1] != 2 -> y_Occurrence[y_ExplicitVarSizeWithDummy[1]] + diff --git a/tests/exhaustive/basic/typed01/expected/model_3_2_2_2-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_3_2_2_2-solution000001.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_2_2_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_2_2_2-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_3_2_2_2-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_2_2_2-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_2_2_2-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_3_2_2_2-solution000003.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_2_2_2-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_2_2_2.eprime b/tests/exhaustive/basic/typed01/expected/model_3_2_2_2.eprime new file mode 100644 index 0000000000..6e50969662 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_2_2_2.eprime @@ -0,0 +1,19 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..1) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +branching on + [x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, + y_ExplicitVarSizeWithDummy] +such that + 1 <= x_ExplicitVarSizeWithMarker_Marker /\ + (y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = x_ExplicitVarSizeWithMarker_Values[1]) + -> false, + 1 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[1] = 1, + x_ExplicitVarSizeWithDummy[1] != 2 -> + 1 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[1] = x_ExplicitVarSizeWithDummy[1], + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithDummy[1] != 2 /\ x_ExplicitVarSizeWithDummy[1] = x_ExplicitVarSizeWithMarker_Values[1] + diff --git a/tests/exhaustive/basic/typed01/expected/model_3_2_2_3-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_3_2_2_3-solution000001.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_2_2_3-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_2_2_3-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_3_2_2_3-solution000002.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_2_2_3-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_2_2_3-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_3_2_2_3-solution000003.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_2_2_3-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_2_2_3.eprime b/tests/exhaustive/basic/typed01/expected/model_3_2_2_3.eprime new file mode 100644 index 0000000000..23bf917fe5 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_2_2_3.eprime @@ -0,0 +1,26 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..1) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find y_ExplicitVarSizeWithMarker_Marker: int(0..1) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +branching on + [x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, + y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values, y_ExplicitVarSizeWithDummy] +such that + 1 <= x_ExplicitVarSizeWithMarker_Marker /\ + (y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = x_ExplicitVarSizeWithMarker_Values[1]) + -> false, + 1 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[1] = 1, + x_ExplicitVarSizeWithDummy[1] != 2 -> + 1 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[1] = x_ExplicitVarSizeWithDummy[1], + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithDummy[1] != 2 /\ x_ExplicitVarSizeWithDummy[1] = x_ExplicitVarSizeWithMarker_Values[1], + 1 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = y_ExplicitVarSizeWithMarker_Values[1], + y_ExplicitVarSizeWithDummy[1] != 2 -> + 1 <= y_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithMarker_Values[1] = y_ExplicitVarSizeWithDummy[1] + diff --git a/tests/exhaustive/basic/typed01/expected/model_3_2_2_4-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_3_2_2_4-solution000001.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_2_2_4-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_2_2_4-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_3_2_2_4-solution000002.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_2_2_4-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_2_2_4-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_3_2_2_4-solution000003.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_2_2_4-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_2_2_4.eprime b/tests/exhaustive/basic/typed01/expected/model_3_2_2_4.eprime new file mode 100644 index 0000000000..c20b43202e --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_2_2_4.eprime @@ -0,0 +1,26 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..1) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +branching on + [x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, + y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values, y_ExplicitVarSizeWithDummy] +such that + 1 <= x_ExplicitVarSizeWithMarker_Marker /\ + (y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = x_ExplicitVarSizeWithMarker_Values[1]) + -> false, + 1 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[1] = 1, + x_ExplicitVarSizeWithDummy[1] != 2 -> + 1 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[1] = x_ExplicitVarSizeWithDummy[1], + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithDummy[1] != 2 /\ x_ExplicitVarSizeWithDummy[1] = x_ExplicitVarSizeWithMarker_Values[1], + y_ExplicitVarSizeWithFlags_Flags[1] = false -> y_ExplicitVarSizeWithFlags_Values[1] = 1, + y_ExplicitVarSizeWithFlags_Flags[1] -> + y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = y_ExplicitVarSizeWithFlags_Values[1], + y_ExplicitVarSizeWithDummy[1] != 2 -> + y_ExplicitVarSizeWithFlags_Flags[1] /\ y_ExplicitVarSizeWithFlags_Values[1] = y_ExplicitVarSizeWithDummy[1] + diff --git a/tests/exhaustive/basic/typed01/expected/model_3_2_3_1-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_3_2_3_1-solution000001.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_2_3_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_2_3_1-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_3_2_3_1-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_2_3_1-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_2_3_1-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_3_2_3_1-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_2_3_1-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_2_3_1.eprime b/tests/exhaustive/basic/typed01/expected/model_3_2_3_1.eprime new file mode 100644 index 0000000000..616ec55e21 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_2_3_1.eprime @@ -0,0 +1,16 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..1) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find y_Occurrence: matrix indexed by [int(1)] of bool +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, y_Occurrence, y_ExplicitVarSizeWithDummy] +such that + 1 <= x_ExplicitVarSizeWithMarker_Marker /\ + (y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = x_ExplicitVarSizeWithMarker_Values[1]) + -> false, + 1 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[1] = 1, + y_Occurrence[1] -> y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = 1, + y_ExplicitVarSizeWithDummy[1] != 2 -> y_Occurrence[y_ExplicitVarSizeWithDummy[1]] + diff --git a/tests/exhaustive/basic/typed01/expected/model_3_2_3_2-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_3_2_3_2-solution000001.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_2_3_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_2_3_2-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_3_2_3_2-solution000002.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_2_3_2-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_2_3_2-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_3_2_3_2-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_2_3_2-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_2_3_2.eprime b/tests/exhaustive/basic/typed01/expected/model_3_2_3_2.eprime new file mode 100644 index 0000000000..e176e88df7 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_2_3_2.eprime @@ -0,0 +1,12 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..1) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +branching on [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, y_ExplicitVarSizeWithDummy] +such that + 1 <= x_ExplicitVarSizeWithMarker_Marker /\ + (y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = x_ExplicitVarSizeWithMarker_Values[1]) + -> false, + 1 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[1] = 1 + diff --git a/tests/exhaustive/basic/typed01/expected/model_3_2_3_3-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_3_2_3_3-solution000001.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_2_3_3-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_2_3_3-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_3_2_3_3-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_2_3_3-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_2_3_3-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_3_2_3_3-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_2_3_3-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_2_3_3.eprime b/tests/exhaustive/basic/typed01/expected/model_3_2_3_3.eprime new file mode 100644 index 0000000000..30b4ef921e --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_2_3_3.eprime @@ -0,0 +1,21 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..1) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find y_ExplicitVarSizeWithMarker_Marker: int(0..1) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, y_ExplicitVarSizeWithMarker_Marker, + y_ExplicitVarSizeWithMarker_Values, y_ExplicitVarSizeWithDummy] +such that + 1 <= x_ExplicitVarSizeWithMarker_Marker /\ + (y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = x_ExplicitVarSizeWithMarker_Values[1]) + -> false, + 1 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = y_ExplicitVarSizeWithMarker_Values[1], + y_ExplicitVarSizeWithDummy[1] != 2 -> + 1 <= y_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithMarker_Values[1] = y_ExplicitVarSizeWithDummy[1] + diff --git a/tests/exhaustive/basic/typed01/expected/model_3_2_3_4-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_3_2_3_4-solution000001.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_2_3_4-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_2_3_4-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_3_2_3_4-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_2_3_4-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_2_3_4-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_3_2_3_4-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_2_3_4-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_2_3_4.eprime b/tests/exhaustive/basic/typed01/expected/model_3_2_3_4.eprime new file mode 100644 index 0000000000..f373170319 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_2_3_4.eprime @@ -0,0 +1,21 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..1) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, y_ExplicitVarSizeWithFlags_Flags, + y_ExplicitVarSizeWithFlags_Values, y_ExplicitVarSizeWithDummy] +such that + 1 <= x_ExplicitVarSizeWithMarker_Marker /\ + (y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = x_ExplicitVarSizeWithMarker_Values[1]) + -> false, + 1 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[1] = 1, + y_ExplicitVarSizeWithFlags_Flags[1] = false -> y_ExplicitVarSizeWithFlags_Values[1] = 1, + y_ExplicitVarSizeWithFlags_Flags[1] -> + y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = y_ExplicitVarSizeWithFlags_Values[1], + y_ExplicitVarSizeWithDummy[1] != 2 -> + y_ExplicitVarSizeWithFlags_Flags[1] /\ y_ExplicitVarSizeWithFlags_Values[1] = y_ExplicitVarSizeWithDummy[1] + diff --git a/tests/exhaustive/basic/typed01/expected/model_3_2_4_1-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_3_2_4_1-solution000001.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_2_4_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_2_4_1-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_3_2_4_1-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_2_4_1-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_2_4_1-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_3_2_4_1-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_2_4_1-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_2_4_1.eprime b/tests/exhaustive/basic/typed01/expected/model_3_2_4_1.eprime new file mode 100644 index 0000000000..1c3f33bddc --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_2_4_1.eprime @@ -0,0 +1,25 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..1) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find y_Occurrence: matrix indexed by [int(1)] of bool +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_ExplicitVarSizeWithMarker_Marker, + x_ExplicitVarSizeWithMarker_Values, y_Occurrence, y_ExplicitVarSizeWithDummy] +such that + 1 <= x_ExplicitVarSizeWithMarker_Marker /\ + (y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = x_ExplicitVarSizeWithMarker_Values[1]) + -> false, + 1 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[1] = 1, + x_ExplicitVarSizeWithFlags_Flags[1] = false -> x_ExplicitVarSizeWithFlags_Values[1] = 1, + x_ExplicitVarSizeWithFlags_Flags[1] -> + 1 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[1] = x_ExplicitVarSizeWithFlags_Values[1], + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithFlags_Flags[1] /\ x_ExplicitVarSizeWithFlags_Values[1] = x_ExplicitVarSizeWithMarker_Values[1], + y_Occurrence[1] -> y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = 1, + y_ExplicitVarSizeWithDummy[1] != 2 -> y_Occurrence[y_ExplicitVarSizeWithDummy[1]] + diff --git a/tests/exhaustive/basic/typed01/expected/model_3_2_4_2-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_3_2_4_2-solution000001.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_2_4_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_2_4_2-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_3_2_4_2-solution000002.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_2_4_2-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_2_4_2-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_3_2_4_2-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_2_4_2-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_2_4_2.eprime b/tests/exhaustive/basic/typed01/expected/model_3_2_4_2.eprime new file mode 100644 index 0000000000..bfb78df1a5 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_2_4_2.eprime @@ -0,0 +1,22 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..1) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_ExplicitVarSizeWithMarker_Marker, + x_ExplicitVarSizeWithMarker_Values, y_ExplicitVarSizeWithDummy] +such that + 1 <= x_ExplicitVarSizeWithMarker_Marker /\ + (y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = x_ExplicitVarSizeWithMarker_Values[1]) + -> false, + 1 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[1] = 1, + x_ExplicitVarSizeWithFlags_Flags[1] = false -> x_ExplicitVarSizeWithFlags_Values[1] = 1, + x_ExplicitVarSizeWithFlags_Flags[1] -> + 1 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[1] = x_ExplicitVarSizeWithFlags_Values[1], + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithFlags_Flags[1] /\ x_ExplicitVarSizeWithFlags_Values[1] = x_ExplicitVarSizeWithMarker_Values[1] + diff --git a/tests/exhaustive/basic/typed01/expected/model_3_2_4_3-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_3_2_4_3-solution000001.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_2_4_3-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_2_4_3-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_3_2_4_3-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_2_4_3-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_2_4_3-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_3_2_4_3-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_2_4_3-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_2_4_3.eprime b/tests/exhaustive/basic/typed01/expected/model_3_2_4_3.eprime new file mode 100644 index 0000000000..2516063bdd --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_2_4_3.eprime @@ -0,0 +1,30 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..1) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find y_ExplicitVarSizeWithMarker_Marker: int(0..1) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_ExplicitVarSizeWithMarker_Marker, + x_ExplicitVarSizeWithMarker_Values, y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values, + y_ExplicitVarSizeWithDummy] +such that + 1 <= x_ExplicitVarSizeWithMarker_Marker /\ + (y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = x_ExplicitVarSizeWithMarker_Values[1]) + -> false, + 1 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[1] = 1, + x_ExplicitVarSizeWithFlags_Flags[1] = false -> x_ExplicitVarSizeWithFlags_Values[1] = 1, + x_ExplicitVarSizeWithFlags_Flags[1] -> + 1 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[1] = x_ExplicitVarSizeWithFlags_Values[1], + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithFlags_Flags[1] /\ x_ExplicitVarSizeWithFlags_Values[1] = x_ExplicitVarSizeWithMarker_Values[1], + 1 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = y_ExplicitVarSizeWithMarker_Values[1], + y_ExplicitVarSizeWithDummy[1] != 2 -> + 1 <= y_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithMarker_Values[1] = y_ExplicitVarSizeWithDummy[1] + diff --git a/tests/exhaustive/basic/typed01/expected/model_3_2_4_4-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_3_2_4_4-solution000001.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_2_4_4-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_2_4_4-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_3_2_4_4-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_2_4_4-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_2_4_4-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_3_2_4_4-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_2_4_4-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_2_4_4.eprime b/tests/exhaustive/basic/typed01/expected/model_3_2_4_4.eprime new file mode 100644 index 0000000000..3404c37403 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_2_4_4.eprime @@ -0,0 +1,30 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..1) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_ExplicitVarSizeWithMarker_Marker, + x_ExplicitVarSizeWithMarker_Values, y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values, + y_ExplicitVarSizeWithDummy] +such that + 1 <= x_ExplicitVarSizeWithMarker_Marker /\ + (y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = x_ExplicitVarSizeWithMarker_Values[1]) + -> false, + 1 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[1] = 1, + x_ExplicitVarSizeWithFlags_Flags[1] = false -> x_ExplicitVarSizeWithFlags_Values[1] = 1, + x_ExplicitVarSizeWithFlags_Flags[1] -> + 1 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[1] = x_ExplicitVarSizeWithFlags_Values[1], + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithFlags_Flags[1] /\ x_ExplicitVarSizeWithFlags_Values[1] = x_ExplicitVarSizeWithMarker_Values[1], + y_ExplicitVarSizeWithFlags_Flags[1] = false -> y_ExplicitVarSizeWithFlags_Values[1] = 1, + y_ExplicitVarSizeWithFlags_Flags[1] -> + y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = y_ExplicitVarSizeWithFlags_Values[1], + y_ExplicitVarSizeWithDummy[1] != 2 -> + y_ExplicitVarSizeWithFlags_Flags[1] /\ y_ExplicitVarSizeWithFlags_Values[1] = y_ExplicitVarSizeWithDummy[1] + diff --git a/tests/exhaustive/basic/typed01/expected/model_3_3_1_1-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_3_3_1_1-solution000001.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_3_1_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_3_1_1-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_3_3_1_1-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_3_1_1-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_3_1_1-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_3_3_1_1-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_3_1_1-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_3_1_1.eprime b/tests/exhaustive/basic/typed01/expected/model_3_3_1_1.eprime new file mode 100644 index 0000000000..6d3b73f10c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_3_1_1.eprime @@ -0,0 +1,23 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..1) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find x_Occurrence: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithMarker_Marker: int(0..1) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find y_Occurrence: matrix indexed by [int(1)] of bool +branching on + [x_Occurrence, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, y_Occurrence, + y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values] +such that + 1 <= x_ExplicitVarSizeWithMarker_Marker /\ + (1 <= y_ExplicitVarSizeWithMarker_Marker /\ + y_ExplicitVarSizeWithMarker_Values[1] = x_ExplicitVarSizeWithMarker_Values[1]) + -> false, + 1 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[1] = 1, + x_Occurrence[1] -> 1 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[1]], + y_Occurrence[1] -> 1 <= y_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 <= y_ExplicitVarSizeWithMarker_Marker -> y_Occurrence[y_ExplicitVarSizeWithMarker_Values[1]] + diff --git a/tests/exhaustive/basic/typed01/expected/model_3_3_1_2-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_3_3_1_2-solution000001.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_3_1_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_3_1_2-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_3_3_1_2-solution000002.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_3_1_2-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_3_1_2-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_3_3_1_2-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_3_1_2-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_3_1_2.eprime b/tests/exhaustive/basic/typed01/expected/model_3_3_1_2.eprime new file mode 100644 index 0000000000..44439955a6 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_3_1_2.eprime @@ -0,0 +1,25 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..1) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find x_Occurrence: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithMarker_Marker: int(0..1) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +branching on + [x_Occurrence, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, y_ExplicitVarSizeWithDummy, + y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values] +such that + 1 <= x_ExplicitVarSizeWithMarker_Marker /\ + (1 <= y_ExplicitVarSizeWithMarker_Marker /\ + y_ExplicitVarSizeWithMarker_Values[1] = x_ExplicitVarSizeWithMarker_Values[1]) + -> false, + 1 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[1] = 1, + x_Occurrence[1] -> 1 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[1]], + y_ExplicitVarSizeWithDummy[1] != 2 -> + 1 <= y_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithMarker_Values[1] = y_ExplicitVarSizeWithDummy[1], + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = y_ExplicitVarSizeWithMarker_Values[1] + diff --git a/tests/exhaustive/basic/typed01/expected/model_3_3_1_3-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_3_3_1_3-solution000001.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_3_1_3-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_3_1_3-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_3_3_1_3-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_3_1_3-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_3_1_3-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_3_3_1_3-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_3_1_3-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_3_1_3.eprime b/tests/exhaustive/basic/typed01/expected/model_3_3_1_3.eprime new file mode 100644 index 0000000000..2d0516dbc1 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_3_1_3.eprime @@ -0,0 +1,20 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..1) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find x_Occurrence: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithMarker_Marker: int(0..1) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +branching on + [x_Occurrence, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, + y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values] +such that + 1 <= x_ExplicitVarSizeWithMarker_Marker /\ + (1 <= y_ExplicitVarSizeWithMarker_Marker /\ + y_ExplicitVarSizeWithMarker_Values[1] = x_ExplicitVarSizeWithMarker_Values[1]) + -> false, + 1 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[1] = 1, + x_Occurrence[1] -> 1 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[1]] + diff --git a/tests/exhaustive/basic/typed01/expected/model_3_3_1_4-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_3_3_1_4-solution000001.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_3_1_4-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_3_1_4-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_3_3_1_4-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_3_1_4-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_3_1_4-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_3_3_1_4-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_3_1_4-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_3_1_4.eprime b/tests/exhaustive/basic/typed01/expected/model_3_3_1_4.eprime new file mode 100644 index 0000000000..13374c77fe --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_3_1_4.eprime @@ -0,0 +1,29 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..1) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find x_Occurrence: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithMarker_Marker: int(0..1) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +branching on + [x_Occurrence, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, + y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values, y_ExplicitVarSizeWithMarker_Marker, + y_ExplicitVarSizeWithMarker_Values] +such that + 1 <= x_ExplicitVarSizeWithMarker_Marker /\ + (1 <= y_ExplicitVarSizeWithMarker_Marker /\ + y_ExplicitVarSizeWithMarker_Values[1] = x_ExplicitVarSizeWithMarker_Values[1]) + -> false, + 1 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[1] = 1, + x_Occurrence[1] -> 1 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[1]], + y_ExplicitVarSizeWithFlags_Flags[1] = false -> y_ExplicitVarSizeWithFlags_Values[1] = 1, + y_ExplicitVarSizeWithFlags_Flags[1] -> + 1 <= y_ExplicitVarSizeWithMarker_Marker /\ + y_ExplicitVarSizeWithMarker_Values[1] = y_ExplicitVarSizeWithFlags_Values[1], + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithFlags_Flags[1] /\ y_ExplicitVarSizeWithFlags_Values[1] = y_ExplicitVarSizeWithMarker_Values[1] + diff --git a/tests/exhaustive/basic/typed01/expected/model_3_3_2_1-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_3_3_2_1-solution000001.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_3_2_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_3_2_1-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_3_3_2_1-solution000002.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_3_2_1-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_3_2_1-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_3_3_2_1-solution000003.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_3_2_1-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_3_2_1.eprime b/tests/exhaustive/basic/typed01/expected/model_3_3_2_1.eprime new file mode 100644 index 0000000000..dc91372e8c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_3_2_1.eprime @@ -0,0 +1,25 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..1) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find y_ExplicitVarSizeWithMarker_Marker: int(0..1) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find y_Occurrence: matrix indexed by [int(1)] of bool +branching on + [x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, y_Occurrence, + y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values] +such that + 1 <= x_ExplicitVarSizeWithMarker_Marker /\ + (1 <= y_ExplicitVarSizeWithMarker_Marker /\ + y_ExplicitVarSizeWithMarker_Values[1] = x_ExplicitVarSizeWithMarker_Values[1]) + -> false, + 1 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[1] = 1, + x_ExplicitVarSizeWithDummy[1] != 2 -> + 1 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[1] = x_ExplicitVarSizeWithDummy[1], + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithDummy[1] != 2 /\ x_ExplicitVarSizeWithDummy[1] = x_ExplicitVarSizeWithMarker_Values[1], + y_Occurrence[1] -> 1 <= y_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 <= y_ExplicitVarSizeWithMarker_Marker -> y_Occurrence[y_ExplicitVarSizeWithMarker_Values[1]] + diff --git a/tests/exhaustive/basic/typed01/expected/model_3_3_2_2-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_3_3_2_2-solution000001.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_3_2_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_3_2_2-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_3_3_2_2-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_3_2_2-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_3_2_2-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_3_3_2_2-solution000003.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_3_2_2-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_3_2_2.eprime b/tests/exhaustive/basic/typed01/expected/model_3_3_2_2.eprime new file mode 100644 index 0000000000..f5fc445a12 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_3_2_2.eprime @@ -0,0 +1,27 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..1) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find y_ExplicitVarSizeWithMarker_Marker: int(0..1) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +branching on + [x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, + y_ExplicitVarSizeWithDummy, y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values] +such that + 1 <= x_ExplicitVarSizeWithMarker_Marker /\ + (1 <= y_ExplicitVarSizeWithMarker_Marker /\ + y_ExplicitVarSizeWithMarker_Values[1] = x_ExplicitVarSizeWithMarker_Values[1]) + -> false, + 1 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[1] = 1, + x_ExplicitVarSizeWithDummy[1] != 2 -> + 1 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[1] = x_ExplicitVarSizeWithDummy[1], + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithDummy[1] != 2 /\ x_ExplicitVarSizeWithDummy[1] = x_ExplicitVarSizeWithMarker_Values[1], + y_ExplicitVarSizeWithDummy[1] != 2 -> + 1 <= y_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithMarker_Values[1] = y_ExplicitVarSizeWithDummy[1], + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = y_ExplicitVarSizeWithMarker_Values[1] + diff --git a/tests/exhaustive/basic/typed01/expected/model_3_3_2_3-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_3_3_2_3-solution000001.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_3_2_3-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_3_2_3-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_3_3_2_3-solution000002.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_3_2_3-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_3_2_3-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_3_3_2_3-solution000003.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_3_2_3-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_3_2_3.eprime b/tests/exhaustive/basic/typed01/expected/model_3_3_2_3.eprime new file mode 100644 index 0000000000..68281a2f9a --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_3_2_3.eprime @@ -0,0 +1,22 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..1) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find y_ExplicitVarSizeWithMarker_Marker: int(0..1) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +branching on + [x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, + y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values] +such that + 1 <= x_ExplicitVarSizeWithMarker_Marker /\ + (1 <= y_ExplicitVarSizeWithMarker_Marker /\ + y_ExplicitVarSizeWithMarker_Values[1] = x_ExplicitVarSizeWithMarker_Values[1]) + -> false, + 1 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[1] = 1, + x_ExplicitVarSizeWithDummy[1] != 2 -> + 1 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[1] = x_ExplicitVarSizeWithDummy[1], + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithDummy[1] != 2 /\ x_ExplicitVarSizeWithDummy[1] = x_ExplicitVarSizeWithMarker_Values[1] + diff --git a/tests/exhaustive/basic/typed01/expected/model_3_3_2_4-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_3_3_2_4-solution000001.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_3_2_4-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_3_2_4-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_3_3_2_4-solution000002.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_3_2_4-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_3_2_4-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_3_3_2_4-solution000003.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_3_2_4-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_3_2_4.eprime b/tests/exhaustive/basic/typed01/expected/model_3_3_2_4.eprime new file mode 100644 index 0000000000..7d7326d650 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_3_2_4.eprime @@ -0,0 +1,31 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..1) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find y_ExplicitVarSizeWithMarker_Marker: int(0..1) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +branching on + [x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, + y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values, y_ExplicitVarSizeWithMarker_Marker, + y_ExplicitVarSizeWithMarker_Values] +such that + 1 <= x_ExplicitVarSizeWithMarker_Marker /\ + (1 <= y_ExplicitVarSizeWithMarker_Marker /\ + y_ExplicitVarSizeWithMarker_Values[1] = x_ExplicitVarSizeWithMarker_Values[1]) + -> false, + 1 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[1] = 1, + x_ExplicitVarSizeWithDummy[1] != 2 -> + 1 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[1] = x_ExplicitVarSizeWithDummy[1], + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithDummy[1] != 2 /\ x_ExplicitVarSizeWithDummy[1] = x_ExplicitVarSizeWithMarker_Values[1], + y_ExplicitVarSizeWithFlags_Flags[1] = false -> y_ExplicitVarSizeWithFlags_Values[1] = 1, + y_ExplicitVarSizeWithFlags_Flags[1] -> + 1 <= y_ExplicitVarSizeWithMarker_Marker /\ + y_ExplicitVarSizeWithMarker_Values[1] = y_ExplicitVarSizeWithFlags_Values[1], + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithFlags_Flags[1] /\ y_ExplicitVarSizeWithFlags_Values[1] = y_ExplicitVarSizeWithMarker_Values[1] + diff --git a/tests/exhaustive/basic/typed01/expected/model_3_3_3_1-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_3_3_3_1-solution000001.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_3_3_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_3_3_1-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_3_3_3_1-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_3_3_1-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_3_3_1-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_3_3_3_1-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_3_3_1-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_3_3_1.eprime b/tests/exhaustive/basic/typed01/expected/model_3_3_3_1.eprime new file mode 100644 index 0000000000..8c1a3dd051 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_3_3_1.eprime @@ -0,0 +1,20 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..1) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithMarker_Marker: int(0..1) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find y_Occurrence: matrix indexed by [int(1)] of bool +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, y_Occurrence, + y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values] +such that + 1 <= x_ExplicitVarSizeWithMarker_Marker /\ + (1 <= y_ExplicitVarSizeWithMarker_Marker /\ + y_ExplicitVarSizeWithMarker_Values[1] = x_ExplicitVarSizeWithMarker_Values[1]) + -> false, + 1 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[1] = 1, + y_Occurrence[1] -> 1 <= y_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 <= y_ExplicitVarSizeWithMarker_Marker -> y_Occurrence[y_ExplicitVarSizeWithMarker_Values[1]] + diff --git a/tests/exhaustive/basic/typed01/expected/model_3_3_3_2-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_3_3_3_2-solution000001.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_3_3_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_3_3_2-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_3_3_3_2-solution000002.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_3_3_2-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_3_3_2-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_3_3_3_2-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_3_3_2-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_3_3_2.eprime b/tests/exhaustive/basic/typed01/expected/model_3_3_3_2.eprime new file mode 100644 index 0000000000..ef312ab142 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_3_3_2.eprime @@ -0,0 +1,22 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..1) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithMarker_Marker: int(0..1) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, y_ExplicitVarSizeWithDummy, + y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values] +such that + 1 <= x_ExplicitVarSizeWithMarker_Marker /\ + (1 <= y_ExplicitVarSizeWithMarker_Marker /\ + y_ExplicitVarSizeWithMarker_Values[1] = x_ExplicitVarSizeWithMarker_Values[1]) + -> false, + 1 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[1] = 1, + y_ExplicitVarSizeWithDummy[1] != 2 -> + 1 <= y_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithMarker_Values[1] = y_ExplicitVarSizeWithDummy[1], + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = y_ExplicitVarSizeWithMarker_Values[1] + diff --git a/tests/exhaustive/basic/typed01/expected/model_3_3_3_3-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_3_3_3_3-solution000001.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_3_3_3-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_3_3_3-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_3_3_3_3-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_3_3_3-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_3_3_3-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_3_3_3_3-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_3_3_3-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_3_3_3.eprime b/tests/exhaustive/basic/typed01/expected/model_3_3_3_3.eprime new file mode 100644 index 0000000000..51c528ccb0 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_3_3_3.eprime @@ -0,0 +1,17 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..1) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithMarker_Marker: int(0..1) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, y_ExplicitVarSizeWithMarker_Marker, + y_ExplicitVarSizeWithMarker_Values] +such that + 1 <= x_ExplicitVarSizeWithMarker_Marker /\ + (1 <= y_ExplicitVarSizeWithMarker_Marker /\ + y_ExplicitVarSizeWithMarker_Values[1] = x_ExplicitVarSizeWithMarker_Values[1]) + -> false, + 1 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[1] = 1 + diff --git a/tests/exhaustive/basic/typed01/expected/model_3_3_3_4-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_3_3_3_4-solution000001.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_3_3_4-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_3_3_4-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_3_3_3_4-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_3_3_4-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_3_3_4-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_3_3_3_4-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_3_3_4-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_3_3_4.eprime b/tests/exhaustive/basic/typed01/expected/model_3_3_3_4.eprime new file mode 100644 index 0000000000..5bfbda5c04 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_3_3_4.eprime @@ -0,0 +1,25 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..1) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithMarker_Marker: int(0..1) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, y_ExplicitVarSizeWithFlags_Flags, + y_ExplicitVarSizeWithFlags_Values, y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values] +such that + 1 <= x_ExplicitVarSizeWithMarker_Marker /\ + (1 <= y_ExplicitVarSizeWithMarker_Marker /\ + y_ExplicitVarSizeWithMarker_Values[1] = x_ExplicitVarSizeWithMarker_Values[1]) + -> false, + 1 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[1] = 1, + y_ExplicitVarSizeWithFlags_Flags[1] = false -> y_ExplicitVarSizeWithFlags_Values[1] = 1, + y_ExplicitVarSizeWithFlags_Flags[1] -> + 1 <= y_ExplicitVarSizeWithMarker_Marker /\ + y_ExplicitVarSizeWithMarker_Values[1] = y_ExplicitVarSizeWithFlags_Values[1], + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithFlags_Flags[1] /\ y_ExplicitVarSizeWithFlags_Values[1] = y_ExplicitVarSizeWithMarker_Values[1] + diff --git a/tests/exhaustive/basic/typed01/expected/model_3_3_4_1-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_3_3_4_1-solution000001.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_3_4_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_3_4_1-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_3_3_4_1-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_3_4_1-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_3_4_1-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_3_3_4_1-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_3_4_1-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_3_4_1.eprime b/tests/exhaustive/basic/typed01/expected/model_3_3_4_1.eprime new file mode 100644 index 0000000000..78ce007c35 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_3_4_1.eprime @@ -0,0 +1,29 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..1) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithMarker_Marker: int(0..1) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find y_Occurrence: matrix indexed by [int(1)] of bool +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_ExplicitVarSizeWithMarker_Marker, + x_ExplicitVarSizeWithMarker_Values, y_Occurrence, y_ExplicitVarSizeWithMarker_Marker, + y_ExplicitVarSizeWithMarker_Values] +such that + 1 <= x_ExplicitVarSizeWithMarker_Marker /\ + (1 <= y_ExplicitVarSizeWithMarker_Marker /\ + y_ExplicitVarSizeWithMarker_Values[1] = x_ExplicitVarSizeWithMarker_Values[1]) + -> false, + 1 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[1] = 1, + x_ExplicitVarSizeWithFlags_Flags[1] = false -> x_ExplicitVarSizeWithFlags_Values[1] = 1, + x_ExplicitVarSizeWithFlags_Flags[1] -> + 1 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[1] = x_ExplicitVarSizeWithFlags_Values[1], + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithFlags_Flags[1] /\ x_ExplicitVarSizeWithFlags_Values[1] = x_ExplicitVarSizeWithMarker_Values[1], + y_Occurrence[1] -> 1 <= y_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 <= y_ExplicitVarSizeWithMarker_Marker -> y_Occurrence[y_ExplicitVarSizeWithMarker_Values[1]] + diff --git a/tests/exhaustive/basic/typed01/expected/model_3_3_4_2-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_3_3_4_2-solution000001.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_3_4_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_3_4_2-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_3_3_4_2-solution000002.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_3_4_2-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_3_4_2-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_3_3_4_2-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_3_4_2-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_3_4_2.eprime b/tests/exhaustive/basic/typed01/expected/model_3_3_4_2.eprime new file mode 100644 index 0000000000..2caba48cd3 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_3_4_2.eprime @@ -0,0 +1,31 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..1) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithMarker_Marker: int(0..1) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_ExplicitVarSizeWithMarker_Marker, + x_ExplicitVarSizeWithMarker_Values, y_ExplicitVarSizeWithDummy, y_ExplicitVarSizeWithMarker_Marker, + y_ExplicitVarSizeWithMarker_Values] +such that + 1 <= x_ExplicitVarSizeWithMarker_Marker /\ + (1 <= y_ExplicitVarSizeWithMarker_Marker /\ + y_ExplicitVarSizeWithMarker_Values[1] = x_ExplicitVarSizeWithMarker_Values[1]) + -> false, + 1 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[1] = 1, + x_ExplicitVarSizeWithFlags_Flags[1] = false -> x_ExplicitVarSizeWithFlags_Values[1] = 1, + x_ExplicitVarSizeWithFlags_Flags[1] -> + 1 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[1] = x_ExplicitVarSizeWithFlags_Values[1], + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithFlags_Flags[1] /\ x_ExplicitVarSizeWithFlags_Values[1] = x_ExplicitVarSizeWithMarker_Values[1], + y_ExplicitVarSizeWithDummy[1] != 2 -> + 1 <= y_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithMarker_Values[1] = y_ExplicitVarSizeWithDummy[1], + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = y_ExplicitVarSizeWithMarker_Values[1] + diff --git a/tests/exhaustive/basic/typed01/expected/model_3_3_4_3-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_3_3_4_3-solution000001.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_3_4_3-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_3_4_3-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_3_3_4_3-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_3_4_3-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_3_4_3-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_3_3_4_3-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_3_4_3-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_3_4_3.eprime b/tests/exhaustive/basic/typed01/expected/model_3_3_4_3.eprime new file mode 100644 index 0000000000..a85c4917ee --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_3_4_3.eprime @@ -0,0 +1,25 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..1) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithMarker_Marker: int(0..1) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_ExplicitVarSizeWithMarker_Marker, + x_ExplicitVarSizeWithMarker_Values, y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values] +such that + 1 <= x_ExplicitVarSizeWithMarker_Marker /\ + (1 <= y_ExplicitVarSizeWithMarker_Marker /\ + y_ExplicitVarSizeWithMarker_Values[1] = x_ExplicitVarSizeWithMarker_Values[1]) + -> false, + 1 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[1] = 1, + x_ExplicitVarSizeWithFlags_Flags[1] = false -> x_ExplicitVarSizeWithFlags_Values[1] = 1, + x_ExplicitVarSizeWithFlags_Flags[1] -> + 1 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[1] = x_ExplicitVarSizeWithFlags_Values[1], + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithFlags_Flags[1] /\ x_ExplicitVarSizeWithFlags_Values[1] = x_ExplicitVarSizeWithMarker_Values[1] + diff --git a/tests/exhaustive/basic/typed01/expected/model_3_3_4_4-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_3_3_4_4-solution000001.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_3_4_4-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_3_4_4-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_3_3_4_4-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_3_4_4-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_3_4_4-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_3_3_4_4-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_3_4_4-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_3_4_4.eprime b/tests/exhaustive/basic/typed01/expected/model_3_3_4_4.eprime new file mode 100644 index 0000000000..422f3c0a9c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_3_4_4.eprime @@ -0,0 +1,34 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..1) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithMarker_Marker: int(0..1) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_ExplicitVarSizeWithMarker_Marker, + x_ExplicitVarSizeWithMarker_Values, y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values, + y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values] +such that + 1 <= x_ExplicitVarSizeWithMarker_Marker /\ + (1 <= y_ExplicitVarSizeWithMarker_Marker /\ + y_ExplicitVarSizeWithMarker_Values[1] = x_ExplicitVarSizeWithMarker_Values[1]) + -> false, + 1 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[1] = 1, + x_ExplicitVarSizeWithFlags_Flags[1] = false -> x_ExplicitVarSizeWithFlags_Values[1] = 1, + x_ExplicitVarSizeWithFlags_Flags[1] -> + 1 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[1] = x_ExplicitVarSizeWithFlags_Values[1], + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithFlags_Flags[1] /\ x_ExplicitVarSizeWithFlags_Values[1] = x_ExplicitVarSizeWithMarker_Values[1], + y_ExplicitVarSizeWithFlags_Flags[1] = false -> y_ExplicitVarSizeWithFlags_Values[1] = 1, + y_ExplicitVarSizeWithFlags_Flags[1] -> + 1 <= y_ExplicitVarSizeWithMarker_Marker /\ + y_ExplicitVarSizeWithMarker_Values[1] = y_ExplicitVarSizeWithFlags_Values[1], + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithFlags_Flags[1] /\ y_ExplicitVarSizeWithFlags_Values[1] = y_ExplicitVarSizeWithMarker_Values[1] + diff --git a/tests/exhaustive/basic/typed01/expected/model_3_4_1_1-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_3_4_1_1-solution000001.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_4_1_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_4_1_1-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_3_4_1_1-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_4_1_1-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_4_1_1-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_3_4_1_1-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_4_1_1-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_4_1_1.eprime b/tests/exhaustive/basic/typed01/expected/model_3_4_1_1.eprime new file mode 100644 index 0000000000..e866a42f00 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_4_1_1.eprime @@ -0,0 +1,23 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..1) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find x_Occurrence: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find y_Occurrence: matrix indexed by [int(1)] of bool +branching on + [x_Occurrence, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, y_Occurrence, + y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values] +such that + 1 <= x_ExplicitVarSizeWithMarker_Marker /\ + (y_ExplicitVarSizeWithFlags_Flags[1] /\ + y_ExplicitVarSizeWithFlags_Values[1] = x_ExplicitVarSizeWithMarker_Values[1]) + -> false, + 1 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[1] = 1, + y_ExplicitVarSizeWithFlags_Flags[1] = false -> y_ExplicitVarSizeWithFlags_Values[1] = 1, + x_Occurrence[1] -> 1 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[1]], + y_Occurrence[1] -> y_ExplicitVarSizeWithFlags_Flags[1] /\ y_ExplicitVarSizeWithFlags_Values[1] = 1, + y_ExplicitVarSizeWithFlags_Flags[1] -> y_Occurrence[y_ExplicitVarSizeWithFlags_Values[1]] + diff --git a/tests/exhaustive/basic/typed01/expected/model_3_4_1_2-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_3_4_1_2-solution000001.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_4_1_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_4_1_2-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_3_4_1_2-solution000002.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_4_1_2-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_4_1_2-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_3_4_1_2-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_4_1_2-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_4_1_2.eprime b/tests/exhaustive/basic/typed01/expected/model_3_4_1_2.eprime new file mode 100644 index 0000000000..5eb12bb42d --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_4_1_2.eprime @@ -0,0 +1,25 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..1) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find x_Occurrence: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +branching on + [x_Occurrence, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, y_ExplicitVarSizeWithDummy, + y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values] +such that + 1 <= x_ExplicitVarSizeWithMarker_Marker /\ + (y_ExplicitVarSizeWithFlags_Flags[1] /\ + y_ExplicitVarSizeWithFlags_Values[1] = x_ExplicitVarSizeWithMarker_Values[1]) + -> false, + 1 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[1] = 1, + y_ExplicitVarSizeWithFlags_Flags[1] = false -> y_ExplicitVarSizeWithFlags_Values[1] = 1, + x_Occurrence[1] -> 1 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[1]], + y_ExplicitVarSizeWithDummy[1] != 2 -> + y_ExplicitVarSizeWithFlags_Flags[1] /\ y_ExplicitVarSizeWithFlags_Values[1] = y_ExplicitVarSizeWithDummy[1], + y_ExplicitVarSizeWithFlags_Flags[1] -> + y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = y_ExplicitVarSizeWithFlags_Values[1] + diff --git a/tests/exhaustive/basic/typed01/expected/model_3_4_1_3-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_3_4_1_3-solution000001.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_4_1_3-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_4_1_3-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_3_4_1_3-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_4_1_3-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_4_1_3-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_3_4_1_3-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_4_1_3-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_4_1_3.eprime b/tests/exhaustive/basic/typed01/expected/model_3_4_1_3.eprime new file mode 100644 index 0000000000..2ee31af242 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_4_1_3.eprime @@ -0,0 +1,29 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..1) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find x_Occurrence: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithMarker_Marker: int(0..1) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +branching on + [x_Occurrence, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, + y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values, y_ExplicitVarSizeWithFlags_Flags, + y_ExplicitVarSizeWithFlags_Values] +such that + 1 <= x_ExplicitVarSizeWithMarker_Marker /\ + (y_ExplicitVarSizeWithFlags_Flags[1] /\ + y_ExplicitVarSizeWithFlags_Values[1] = x_ExplicitVarSizeWithMarker_Values[1]) + -> false, + 1 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[1] = 1, + y_ExplicitVarSizeWithFlags_Flags[1] = false -> y_ExplicitVarSizeWithFlags_Values[1] = 1, + x_Occurrence[1] -> 1 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[1]], + 1 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithFlags_Flags[1] /\ y_ExplicitVarSizeWithFlags_Values[1] = y_ExplicitVarSizeWithMarker_Values[1], + y_ExplicitVarSizeWithFlags_Flags[1] -> + 1 <= y_ExplicitVarSizeWithMarker_Marker /\ + y_ExplicitVarSizeWithMarker_Values[1] = y_ExplicitVarSizeWithFlags_Values[1] + diff --git a/tests/exhaustive/basic/typed01/expected/model_3_4_1_4-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_3_4_1_4-solution000001.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_4_1_4-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_4_1_4-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_3_4_1_4-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_4_1_4-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_4_1_4-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_3_4_1_4-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_4_1_4-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_4_1_4.eprime b/tests/exhaustive/basic/typed01/expected/model_3_4_1_4.eprime new file mode 100644 index 0000000000..0da6db7905 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_4_1_4.eprime @@ -0,0 +1,20 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..1) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find x_Occurrence: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +branching on + [x_Occurrence, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, + y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values] +such that + 1 <= x_ExplicitVarSizeWithMarker_Marker /\ + (y_ExplicitVarSizeWithFlags_Flags[1] /\ + y_ExplicitVarSizeWithFlags_Values[1] = x_ExplicitVarSizeWithMarker_Values[1]) + -> false, + 1 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[1] = 1, + y_ExplicitVarSizeWithFlags_Flags[1] = false -> y_ExplicitVarSizeWithFlags_Values[1] = 1, + x_Occurrence[1] -> 1 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 <= x_ExplicitVarSizeWithMarker_Marker -> x_Occurrence[x_ExplicitVarSizeWithMarker_Values[1]] + diff --git a/tests/exhaustive/basic/typed01/expected/model_3_4_2_1-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_3_4_2_1-solution000001.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_4_2_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_4_2_1-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_3_4_2_1-solution000002.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_4_2_1-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_4_2_1-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_3_4_2_1-solution000003.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_4_2_1-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_4_2_1.eprime b/tests/exhaustive/basic/typed01/expected/model_3_4_2_1.eprime new file mode 100644 index 0000000000..3ba13f3d49 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_4_2_1.eprime @@ -0,0 +1,25 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..1) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find y_Occurrence: matrix indexed by [int(1)] of bool +branching on + [x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, y_Occurrence, + y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values] +such that + 1 <= x_ExplicitVarSizeWithMarker_Marker /\ + (y_ExplicitVarSizeWithFlags_Flags[1] /\ + y_ExplicitVarSizeWithFlags_Values[1] = x_ExplicitVarSizeWithMarker_Values[1]) + -> false, + 1 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[1] = 1, + y_ExplicitVarSizeWithFlags_Flags[1] = false -> y_ExplicitVarSizeWithFlags_Values[1] = 1, + x_ExplicitVarSizeWithDummy[1] != 2 -> + 1 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[1] = x_ExplicitVarSizeWithDummy[1], + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithDummy[1] != 2 /\ x_ExplicitVarSizeWithDummy[1] = x_ExplicitVarSizeWithMarker_Values[1], + y_Occurrence[1] -> y_ExplicitVarSizeWithFlags_Flags[1] /\ y_ExplicitVarSizeWithFlags_Values[1] = 1, + y_ExplicitVarSizeWithFlags_Flags[1] -> y_Occurrence[y_ExplicitVarSizeWithFlags_Values[1]] + diff --git a/tests/exhaustive/basic/typed01/expected/model_3_4_2_2-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_3_4_2_2-solution000001.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_4_2_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_4_2_2-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_3_4_2_2-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_4_2_2-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_4_2_2-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_3_4_2_2-solution000003.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_4_2_2-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_4_2_2.eprime b/tests/exhaustive/basic/typed01/expected/model_3_4_2_2.eprime new file mode 100644 index 0000000000..493690aa87 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_4_2_2.eprime @@ -0,0 +1,27 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..1) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +branching on + [x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, + y_ExplicitVarSizeWithDummy, y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values] +such that + 1 <= x_ExplicitVarSizeWithMarker_Marker /\ + (y_ExplicitVarSizeWithFlags_Flags[1] /\ + y_ExplicitVarSizeWithFlags_Values[1] = x_ExplicitVarSizeWithMarker_Values[1]) + -> false, + 1 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[1] = 1, + y_ExplicitVarSizeWithFlags_Flags[1] = false -> y_ExplicitVarSizeWithFlags_Values[1] = 1, + x_ExplicitVarSizeWithDummy[1] != 2 -> + 1 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[1] = x_ExplicitVarSizeWithDummy[1], + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithDummy[1] != 2 /\ x_ExplicitVarSizeWithDummy[1] = x_ExplicitVarSizeWithMarker_Values[1], + y_ExplicitVarSizeWithDummy[1] != 2 -> + y_ExplicitVarSizeWithFlags_Flags[1] /\ y_ExplicitVarSizeWithFlags_Values[1] = y_ExplicitVarSizeWithDummy[1], + y_ExplicitVarSizeWithFlags_Flags[1] -> + y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = y_ExplicitVarSizeWithFlags_Values[1] + diff --git a/tests/exhaustive/basic/typed01/expected/model_3_4_2_3-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_3_4_2_3-solution000001.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_4_2_3-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_4_2_3-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_3_4_2_3-solution000002.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_4_2_3-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_4_2_3-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_3_4_2_3-solution000003.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_4_2_3-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_4_2_3.eprime b/tests/exhaustive/basic/typed01/expected/model_3_4_2_3.eprime new file mode 100644 index 0000000000..1b189dfc27 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_4_2_3.eprime @@ -0,0 +1,31 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..1) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithMarker_Marker: int(0..1) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +branching on + [x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, + y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values, y_ExplicitVarSizeWithFlags_Flags, + y_ExplicitVarSizeWithFlags_Values] +such that + 1 <= x_ExplicitVarSizeWithMarker_Marker /\ + (y_ExplicitVarSizeWithFlags_Flags[1] /\ + y_ExplicitVarSizeWithFlags_Values[1] = x_ExplicitVarSizeWithMarker_Values[1]) + -> false, + 1 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[1] = 1, + y_ExplicitVarSizeWithFlags_Flags[1] = false -> y_ExplicitVarSizeWithFlags_Values[1] = 1, + x_ExplicitVarSizeWithDummy[1] != 2 -> + 1 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[1] = x_ExplicitVarSizeWithDummy[1], + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithDummy[1] != 2 /\ x_ExplicitVarSizeWithDummy[1] = x_ExplicitVarSizeWithMarker_Values[1], + 1 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithFlags_Flags[1] /\ y_ExplicitVarSizeWithFlags_Values[1] = y_ExplicitVarSizeWithMarker_Values[1], + y_ExplicitVarSizeWithFlags_Flags[1] -> + 1 <= y_ExplicitVarSizeWithMarker_Marker /\ + y_ExplicitVarSizeWithMarker_Values[1] = y_ExplicitVarSizeWithFlags_Values[1] + diff --git a/tests/exhaustive/basic/typed01/expected/model_3_4_2_4-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_3_4_2_4-solution000001.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_4_2_4-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_4_2_4-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_3_4_2_4-solution000002.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_4_2_4-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_4_2_4-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_3_4_2_4-solution000003.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_4_2_4-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_4_2_4.eprime b/tests/exhaustive/basic/typed01/expected/model_3_4_2_4.eprime new file mode 100644 index 0000000000..4a02c74755 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_4_2_4.eprime @@ -0,0 +1,22 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..1) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +branching on + [x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, + y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values] +such that + 1 <= x_ExplicitVarSizeWithMarker_Marker /\ + (y_ExplicitVarSizeWithFlags_Flags[1] /\ + y_ExplicitVarSizeWithFlags_Values[1] = x_ExplicitVarSizeWithMarker_Values[1]) + -> false, + 1 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[1] = 1, + y_ExplicitVarSizeWithFlags_Flags[1] = false -> y_ExplicitVarSizeWithFlags_Values[1] = 1, + x_ExplicitVarSizeWithDummy[1] != 2 -> + 1 <= x_ExplicitVarSizeWithMarker_Marker /\ x_ExplicitVarSizeWithMarker_Values[1] = x_ExplicitVarSizeWithDummy[1], + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithDummy[1] != 2 /\ x_ExplicitVarSizeWithDummy[1] = x_ExplicitVarSizeWithMarker_Values[1] + diff --git a/tests/exhaustive/basic/typed01/expected/model_3_4_3_1-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_3_4_3_1-solution000001.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_4_3_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_4_3_1-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_3_4_3_1-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_4_3_1-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_4_3_1-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_3_4_3_1-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_4_3_1-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_4_3_1.eprime b/tests/exhaustive/basic/typed01/expected/model_3_4_3_1.eprime new file mode 100644 index 0000000000..957e3308a9 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_4_3_1.eprime @@ -0,0 +1,20 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..1) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find y_Occurrence: matrix indexed by [int(1)] of bool +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, y_Occurrence, + y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values] +such that + 1 <= x_ExplicitVarSizeWithMarker_Marker /\ + (y_ExplicitVarSizeWithFlags_Flags[1] /\ + y_ExplicitVarSizeWithFlags_Values[1] = x_ExplicitVarSizeWithMarker_Values[1]) + -> false, + 1 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[1] = 1, + y_ExplicitVarSizeWithFlags_Flags[1] = false -> y_ExplicitVarSizeWithFlags_Values[1] = 1, + y_Occurrence[1] -> y_ExplicitVarSizeWithFlags_Flags[1] /\ y_ExplicitVarSizeWithFlags_Values[1] = 1, + y_ExplicitVarSizeWithFlags_Flags[1] -> y_Occurrence[y_ExplicitVarSizeWithFlags_Values[1]] + diff --git a/tests/exhaustive/basic/typed01/expected/model_3_4_3_2-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_3_4_3_2-solution000001.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_4_3_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_4_3_2-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_3_4_3_2-solution000002.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_4_3_2-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_4_3_2-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_3_4_3_2-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_4_3_2-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_4_3_2.eprime b/tests/exhaustive/basic/typed01/expected/model_3_4_3_2.eprime new file mode 100644 index 0000000000..d785a45f2e --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_4_3_2.eprime @@ -0,0 +1,22 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..1) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, y_ExplicitVarSizeWithDummy, + y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values] +such that + 1 <= x_ExplicitVarSizeWithMarker_Marker /\ + (y_ExplicitVarSizeWithFlags_Flags[1] /\ + y_ExplicitVarSizeWithFlags_Values[1] = x_ExplicitVarSizeWithMarker_Values[1]) + -> false, + 1 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[1] = 1, + y_ExplicitVarSizeWithFlags_Flags[1] = false -> y_ExplicitVarSizeWithFlags_Values[1] = 1, + y_ExplicitVarSizeWithDummy[1] != 2 -> + y_ExplicitVarSizeWithFlags_Flags[1] /\ y_ExplicitVarSizeWithFlags_Values[1] = y_ExplicitVarSizeWithDummy[1], + y_ExplicitVarSizeWithFlags_Flags[1] -> + y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = y_ExplicitVarSizeWithFlags_Values[1] + diff --git a/tests/exhaustive/basic/typed01/expected/model_3_4_3_3-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_3_4_3_3-solution000001.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_4_3_3-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_4_3_3-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_3_4_3_3-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_4_3_3-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_4_3_3-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_3_4_3_3-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_4_3_3-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_4_3_3.eprime b/tests/exhaustive/basic/typed01/expected/model_3_4_3_3.eprime new file mode 100644 index 0000000000..d07a94b90a --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_4_3_3.eprime @@ -0,0 +1,25 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..1) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithMarker_Marker: int(0..1) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, y_ExplicitVarSizeWithMarker_Marker, + y_ExplicitVarSizeWithMarker_Values, y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values] +such that + 1 <= x_ExplicitVarSizeWithMarker_Marker /\ + (y_ExplicitVarSizeWithFlags_Flags[1] /\ + y_ExplicitVarSizeWithFlags_Values[1] = x_ExplicitVarSizeWithMarker_Values[1]) + -> false, + 1 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[1] = 1, + y_ExplicitVarSizeWithFlags_Flags[1] = false -> y_ExplicitVarSizeWithFlags_Values[1] = 1, + 1 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithFlags_Flags[1] /\ y_ExplicitVarSizeWithFlags_Values[1] = y_ExplicitVarSizeWithMarker_Values[1], + y_ExplicitVarSizeWithFlags_Flags[1] -> + 1 <= y_ExplicitVarSizeWithMarker_Marker /\ + y_ExplicitVarSizeWithMarker_Values[1] = y_ExplicitVarSizeWithFlags_Values[1] + diff --git a/tests/exhaustive/basic/typed01/expected/model_3_4_3_4-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_3_4_3_4-solution000001.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_4_3_4-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_4_3_4-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_3_4_3_4-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_4_3_4-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_4_3_4-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_3_4_3_4-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_4_3_4-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_4_3_4.eprime b/tests/exhaustive/basic/typed01/expected/model_3_4_3_4.eprime new file mode 100644 index 0000000000..bd5f878d61 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_4_3_4.eprime @@ -0,0 +1,17 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..1) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, y_ExplicitVarSizeWithFlags_Flags, + y_ExplicitVarSizeWithFlags_Values] +such that + 1 <= x_ExplicitVarSizeWithMarker_Marker /\ + (y_ExplicitVarSizeWithFlags_Flags[1] /\ + y_ExplicitVarSizeWithFlags_Values[1] = x_ExplicitVarSizeWithMarker_Values[1]) + -> false, + 1 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[1] = 1, + y_ExplicitVarSizeWithFlags_Flags[1] = false -> y_ExplicitVarSizeWithFlags_Values[1] = 1 + diff --git a/tests/exhaustive/basic/typed01/expected/model_3_4_4_1-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_3_4_4_1-solution000001.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_4_4_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_4_4_1-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_3_4_4_1-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_4_4_1-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_4_4_1-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_3_4_4_1-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_4_4_1-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_4_4_1.eprime b/tests/exhaustive/basic/typed01/expected/model_3_4_4_1.eprime new file mode 100644 index 0000000000..bd8649ff85 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_4_4_1.eprime @@ -0,0 +1,29 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..1) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find y_Occurrence: matrix indexed by [int(1)] of bool +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_ExplicitVarSizeWithMarker_Marker, + x_ExplicitVarSizeWithMarker_Values, y_Occurrence, y_ExplicitVarSizeWithFlags_Flags, + y_ExplicitVarSizeWithFlags_Values] +such that + 1 <= x_ExplicitVarSizeWithMarker_Marker /\ + (y_ExplicitVarSizeWithFlags_Flags[1] /\ + y_ExplicitVarSizeWithFlags_Values[1] = x_ExplicitVarSizeWithMarker_Values[1]) + -> false, + 1 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[1] = 1, + y_ExplicitVarSizeWithFlags_Flags[1] = false -> y_ExplicitVarSizeWithFlags_Values[1] = 1, + x_ExplicitVarSizeWithFlags_Flags[1] = false -> x_ExplicitVarSizeWithFlags_Values[1] = 1, + x_ExplicitVarSizeWithFlags_Flags[1] -> + 1 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[1] = x_ExplicitVarSizeWithFlags_Values[1], + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithFlags_Flags[1] /\ x_ExplicitVarSizeWithFlags_Values[1] = x_ExplicitVarSizeWithMarker_Values[1], + y_Occurrence[1] -> y_ExplicitVarSizeWithFlags_Flags[1] /\ y_ExplicitVarSizeWithFlags_Values[1] = 1, + y_ExplicitVarSizeWithFlags_Flags[1] -> y_Occurrence[y_ExplicitVarSizeWithFlags_Values[1]] + diff --git a/tests/exhaustive/basic/typed01/expected/model_3_4_4_2-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_3_4_4_2-solution000001.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_4_4_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_4_4_2-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_3_4_4_2-solution000002.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_4_4_2-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_4_4_2-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_3_4_4_2-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_4_4_2-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_4_4_2.eprime b/tests/exhaustive/basic/typed01/expected/model_3_4_4_2.eprime new file mode 100644 index 0000000000..28a0d6651c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_4_4_2.eprime @@ -0,0 +1,31 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..1) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_ExplicitVarSizeWithMarker_Marker, + x_ExplicitVarSizeWithMarker_Values, y_ExplicitVarSizeWithDummy, y_ExplicitVarSizeWithFlags_Flags, + y_ExplicitVarSizeWithFlags_Values] +such that + 1 <= x_ExplicitVarSizeWithMarker_Marker /\ + (y_ExplicitVarSizeWithFlags_Flags[1] /\ + y_ExplicitVarSizeWithFlags_Values[1] = x_ExplicitVarSizeWithMarker_Values[1]) + -> false, + 1 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[1] = 1, + y_ExplicitVarSizeWithFlags_Flags[1] = false -> y_ExplicitVarSizeWithFlags_Values[1] = 1, + x_ExplicitVarSizeWithFlags_Flags[1] = false -> x_ExplicitVarSizeWithFlags_Values[1] = 1, + x_ExplicitVarSizeWithFlags_Flags[1] -> + 1 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[1] = x_ExplicitVarSizeWithFlags_Values[1], + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithFlags_Flags[1] /\ x_ExplicitVarSizeWithFlags_Values[1] = x_ExplicitVarSizeWithMarker_Values[1], + y_ExplicitVarSizeWithDummy[1] != 2 -> + y_ExplicitVarSizeWithFlags_Flags[1] /\ y_ExplicitVarSizeWithFlags_Values[1] = y_ExplicitVarSizeWithDummy[1], + y_ExplicitVarSizeWithFlags_Flags[1] -> + y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = y_ExplicitVarSizeWithFlags_Values[1] + diff --git a/tests/exhaustive/basic/typed01/expected/model_3_4_4_3-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_3_4_4_3-solution000001.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_4_4_3-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_4_4_3-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_3_4_4_3-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_4_4_3-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_4_4_3-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_3_4_4_3-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_4_4_3-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_4_4_3.eprime b/tests/exhaustive/basic/typed01/expected/model_3_4_4_3.eprime new file mode 100644 index 0000000000..3211485200 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_4_4_3.eprime @@ -0,0 +1,34 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..1) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithMarker_Marker: int(0..1) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_ExplicitVarSizeWithMarker_Marker, + x_ExplicitVarSizeWithMarker_Values, y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values, + y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values] +such that + 1 <= x_ExplicitVarSizeWithMarker_Marker /\ + (y_ExplicitVarSizeWithFlags_Flags[1] /\ + y_ExplicitVarSizeWithFlags_Values[1] = x_ExplicitVarSizeWithMarker_Values[1]) + -> false, + 1 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[1] = 1, + y_ExplicitVarSizeWithFlags_Flags[1] = false -> y_ExplicitVarSizeWithFlags_Values[1] = 1, + x_ExplicitVarSizeWithFlags_Flags[1] = false -> x_ExplicitVarSizeWithFlags_Values[1] = 1, + x_ExplicitVarSizeWithFlags_Flags[1] -> + 1 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[1] = x_ExplicitVarSizeWithFlags_Values[1], + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithFlags_Flags[1] /\ x_ExplicitVarSizeWithFlags_Values[1] = x_ExplicitVarSizeWithMarker_Values[1], + 1 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithFlags_Flags[1] /\ y_ExplicitVarSizeWithFlags_Values[1] = y_ExplicitVarSizeWithMarker_Values[1], + y_ExplicitVarSizeWithFlags_Flags[1] -> + 1 <= y_ExplicitVarSizeWithMarker_Marker /\ + y_ExplicitVarSizeWithMarker_Values[1] = y_ExplicitVarSizeWithFlags_Values[1] + diff --git a/tests/exhaustive/basic/typed01/expected/model_3_4_4_4-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_3_4_4_4-solution000001.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_4_4_4-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_4_4_4-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_3_4_4_4-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_4_4_4-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_4_4_4-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_3_4_4_4-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_4_4_4-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_3_4_4_4.eprime b/tests/exhaustive/basic/typed01/expected/model_3_4_4_4.eprime new file mode 100644 index 0000000000..0fd26730a3 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_3_4_4_4.eprime @@ -0,0 +1,25 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithMarker_Marker: int(0..1) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, x_ExplicitVarSizeWithMarker_Marker, + x_ExplicitVarSizeWithMarker_Values, y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values] +such that + 1 <= x_ExplicitVarSizeWithMarker_Marker /\ + (y_ExplicitVarSizeWithFlags_Flags[1] /\ + y_ExplicitVarSizeWithFlags_Values[1] = x_ExplicitVarSizeWithMarker_Values[1]) + -> false, + 1 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[1] = 1, + y_ExplicitVarSizeWithFlags_Flags[1] = false -> y_ExplicitVarSizeWithFlags_Values[1] = 1, + x_ExplicitVarSizeWithFlags_Flags[1] = false -> x_ExplicitVarSizeWithFlags_Values[1] = 1, + x_ExplicitVarSizeWithFlags_Flags[1] -> + 1 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[1] = x_ExplicitVarSizeWithFlags_Values[1], + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithFlags_Flags[1] /\ x_ExplicitVarSizeWithFlags_Values[1] = x_ExplicitVarSizeWithMarker_Values[1] + diff --git a/tests/exhaustive/basic/typed01/expected/model_4_1_1_1-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_4_1_1_1-solution000001.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_1_1_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_1_1_1-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_4_1_1_1-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_1_1_1-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_1_1_1-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_4_1_1_1-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_1_1_1-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_1_1_1.eprime b/tests/exhaustive/basic/typed01/expected/model_4_1_1_1.eprime new file mode 100644 index 0000000000..146f1578b5 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_1_1_1.eprime @@ -0,0 +1,13 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find x_Occurrence: matrix indexed by [int(1)] of bool +find y_Occurrence: matrix indexed by [int(1)] of bool +branching on [x_Occurrence, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, y_Occurrence] +such that + x_ExplicitVarSizeWithFlags_Flags[1] /\ y_Occurrence[x_ExplicitVarSizeWithFlags_Values[1]] -> false, + x_ExplicitVarSizeWithFlags_Flags[1] = false -> x_ExplicitVarSizeWithFlags_Values[1] = 1, + x_Occurrence[1] -> x_ExplicitVarSizeWithFlags_Flags[1] /\ x_ExplicitVarSizeWithFlags_Values[1] = 1, + x_ExplicitVarSizeWithFlags_Flags[1] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[1]] + diff --git a/tests/exhaustive/basic/typed01/expected/model_4_1_1_2-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_4_1_1_2-solution000001.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_1_1_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_1_1_2-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_4_1_1_2-solution000002.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_1_1_2-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_1_1_2-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_4_1_1_2-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_1_1_2-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_1_1_2.eprime b/tests/exhaustive/basic/typed01/expected/model_4_1_1_2.eprime new file mode 100644 index 0000000000..b5a88ded3f --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_1_1_2.eprime @@ -0,0 +1,18 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find x_Occurrence: matrix indexed by [int(1)] of bool +find y_Occurrence: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +branching on + [x_Occurrence, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, y_ExplicitVarSizeWithDummy, + y_Occurrence] +such that + x_ExplicitVarSizeWithFlags_Flags[1] /\ y_Occurrence[x_ExplicitVarSizeWithFlags_Values[1]] -> false, + x_ExplicitVarSizeWithFlags_Flags[1] = false -> x_ExplicitVarSizeWithFlags_Values[1] = 1, + x_Occurrence[1] -> x_ExplicitVarSizeWithFlags_Flags[1] /\ x_ExplicitVarSizeWithFlags_Values[1] = 1, + x_ExplicitVarSizeWithFlags_Flags[1] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[1]], + y_ExplicitVarSizeWithDummy[1] != 2 -> y_Occurrence[y_ExplicitVarSizeWithDummy[1]], + y_Occurrence[1] -> y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = 1 + diff --git a/tests/exhaustive/basic/typed01/expected/model_4_1_1_3-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_4_1_1_3-solution000001.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_1_1_3-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_1_1_3-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_4_1_1_3-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_1_1_3-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_1_1_3-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_4_1_1_3-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_1_1_3-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_1_1_3.eprime b/tests/exhaustive/basic/typed01/expected/model_4_1_1_3.eprime new file mode 100644 index 0000000000..0613ec22d1 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_1_1_3.eprime @@ -0,0 +1,20 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find x_Occurrence: matrix indexed by [int(1)] of bool +find y_Occurrence: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithMarker_Marker: int(0..1) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +branching on + [x_Occurrence, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, + y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values, y_Occurrence] +such that + x_ExplicitVarSizeWithFlags_Flags[1] /\ y_Occurrence[x_ExplicitVarSizeWithFlags_Values[1]] -> false, + x_ExplicitVarSizeWithFlags_Flags[1] = false -> x_ExplicitVarSizeWithFlags_Values[1] = 1, + x_Occurrence[1] -> x_ExplicitVarSizeWithFlags_Flags[1] /\ x_ExplicitVarSizeWithFlags_Values[1] = 1, + x_ExplicitVarSizeWithFlags_Flags[1] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[1]], + 1 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 <= y_ExplicitVarSizeWithMarker_Marker -> y_Occurrence[y_ExplicitVarSizeWithMarker_Values[1]], + y_Occurrence[1] -> 1 <= y_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithMarker_Values[1] = 1 + diff --git a/tests/exhaustive/basic/typed01/expected/model_4_1_1_4-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_4_1_1_4-solution000001.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_1_1_4-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_1_1_4-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_4_1_1_4-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_1_1_4-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_1_1_4-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_4_1_1_4-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_1_1_4-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_1_1_4.eprime b/tests/exhaustive/basic/typed01/expected/model_4_1_1_4.eprime new file mode 100644 index 0000000000..65f046be5f --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_1_1_4.eprime @@ -0,0 +1,20 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find x_Occurrence: matrix indexed by [int(1)] of bool +find y_Occurrence: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +branching on + [x_Occurrence, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, + y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values, y_Occurrence] +such that + x_ExplicitVarSizeWithFlags_Flags[1] /\ y_Occurrence[x_ExplicitVarSizeWithFlags_Values[1]] -> false, + x_ExplicitVarSizeWithFlags_Flags[1] = false -> x_ExplicitVarSizeWithFlags_Values[1] = 1, + x_Occurrence[1] -> x_ExplicitVarSizeWithFlags_Flags[1] /\ x_ExplicitVarSizeWithFlags_Values[1] = 1, + x_ExplicitVarSizeWithFlags_Flags[1] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[1]], + y_ExplicitVarSizeWithFlags_Flags[1] = false -> y_ExplicitVarSizeWithFlags_Values[1] = 1, + y_ExplicitVarSizeWithFlags_Flags[1] -> y_Occurrence[y_ExplicitVarSizeWithFlags_Values[1]], + y_Occurrence[1] -> y_ExplicitVarSizeWithFlags_Flags[1] /\ y_ExplicitVarSizeWithFlags_Values[1] = 1 + diff --git a/tests/exhaustive/basic/typed01/expected/model_4_1_2_1-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_4_1_2_1-solution000001.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_1_2_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_1_2_1-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_4_1_2_1-solution000002.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_1_2_1-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_1_2_1-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_4_1_2_1-solution000003.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_1_2_1-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_1_2_1.eprime b/tests/exhaustive/basic/typed01/expected/model_4_1_2_1.eprime new file mode 100644 index 0000000000..35a3f77d73 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_1_2_1.eprime @@ -0,0 +1,16 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find y_Occurrence: matrix indexed by [int(1)] of bool +branching on + [x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, y_Occurrence] +such that + x_ExplicitVarSizeWithFlags_Flags[1] /\ y_Occurrence[x_ExplicitVarSizeWithFlags_Values[1]] -> false, + x_ExplicitVarSizeWithFlags_Flags[1] = false -> x_ExplicitVarSizeWithFlags_Values[1] = 1, + x_ExplicitVarSizeWithDummy[1] != 2 -> + x_ExplicitVarSizeWithFlags_Flags[1] /\ x_ExplicitVarSizeWithFlags_Values[1] = x_ExplicitVarSizeWithDummy[1], + x_ExplicitVarSizeWithFlags_Flags[1] -> + x_ExplicitVarSizeWithDummy[1] != 2 /\ x_ExplicitVarSizeWithDummy[1] = x_ExplicitVarSizeWithFlags_Values[1] + diff --git a/tests/exhaustive/basic/typed01/expected/model_4_1_2_2-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_4_1_2_2-solution000001.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_1_2_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_1_2_2-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_4_1_2_2-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_1_2_2-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_1_2_2-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_4_1_2_2-solution000003.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_1_2_2-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_1_2_2.eprime b/tests/exhaustive/basic/typed01/expected/model_4_1_2_2.eprime new file mode 100644 index 0000000000..4248fba7ca --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_1_2_2.eprime @@ -0,0 +1,20 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find y_Occurrence: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +branching on + [x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, + y_ExplicitVarSizeWithDummy, y_Occurrence] +such that + x_ExplicitVarSizeWithFlags_Flags[1] /\ y_Occurrence[x_ExplicitVarSizeWithFlags_Values[1]] -> false, + x_ExplicitVarSizeWithFlags_Flags[1] = false -> x_ExplicitVarSizeWithFlags_Values[1] = 1, + x_ExplicitVarSizeWithDummy[1] != 2 -> + x_ExplicitVarSizeWithFlags_Flags[1] /\ x_ExplicitVarSizeWithFlags_Values[1] = x_ExplicitVarSizeWithDummy[1], + x_ExplicitVarSizeWithFlags_Flags[1] -> + x_ExplicitVarSizeWithDummy[1] != 2 /\ x_ExplicitVarSizeWithDummy[1] = x_ExplicitVarSizeWithFlags_Values[1], + y_ExplicitVarSizeWithDummy[1] != 2 -> y_Occurrence[y_ExplicitVarSizeWithDummy[1]], + y_Occurrence[1] -> y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = 1 + diff --git a/tests/exhaustive/basic/typed01/expected/model_4_1_2_3-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_4_1_2_3-solution000001.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_1_2_3-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_1_2_3-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_4_1_2_3-solution000002.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_1_2_3-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_1_2_3-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_4_1_2_3-solution000003.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_1_2_3-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_1_2_3.eprime b/tests/exhaustive/basic/typed01/expected/model_4_1_2_3.eprime new file mode 100644 index 0000000000..b9a7ce2420 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_1_2_3.eprime @@ -0,0 +1,22 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find y_Occurrence: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithMarker_Marker: int(0..1) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +branching on + [x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, + y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values, y_Occurrence] +such that + x_ExplicitVarSizeWithFlags_Flags[1] /\ y_Occurrence[x_ExplicitVarSizeWithFlags_Values[1]] -> false, + x_ExplicitVarSizeWithFlags_Flags[1] = false -> x_ExplicitVarSizeWithFlags_Values[1] = 1, + x_ExplicitVarSizeWithDummy[1] != 2 -> + x_ExplicitVarSizeWithFlags_Flags[1] /\ x_ExplicitVarSizeWithFlags_Values[1] = x_ExplicitVarSizeWithDummy[1], + x_ExplicitVarSizeWithFlags_Flags[1] -> + x_ExplicitVarSizeWithDummy[1] != 2 /\ x_ExplicitVarSizeWithDummy[1] = x_ExplicitVarSizeWithFlags_Values[1], + 1 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 <= y_ExplicitVarSizeWithMarker_Marker -> y_Occurrence[y_ExplicitVarSizeWithMarker_Values[1]], + y_Occurrence[1] -> 1 <= y_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithMarker_Values[1] = 1 + diff --git a/tests/exhaustive/basic/typed01/expected/model_4_1_2_4-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_4_1_2_4-solution000001.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_1_2_4-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_1_2_4-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_4_1_2_4-solution000002.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_1_2_4-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_1_2_4-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_4_1_2_4-solution000003.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_1_2_4-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_1_2_4.eprime b/tests/exhaustive/basic/typed01/expected/model_4_1_2_4.eprime new file mode 100644 index 0000000000..22a953d049 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_1_2_4.eprime @@ -0,0 +1,22 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find y_Occurrence: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +branching on + [x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, + y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values, y_Occurrence] +such that + x_ExplicitVarSizeWithFlags_Flags[1] /\ y_Occurrence[x_ExplicitVarSizeWithFlags_Values[1]] -> false, + x_ExplicitVarSizeWithFlags_Flags[1] = false -> x_ExplicitVarSizeWithFlags_Values[1] = 1, + x_ExplicitVarSizeWithDummy[1] != 2 -> + x_ExplicitVarSizeWithFlags_Flags[1] /\ x_ExplicitVarSizeWithFlags_Values[1] = x_ExplicitVarSizeWithDummy[1], + x_ExplicitVarSizeWithFlags_Flags[1] -> + x_ExplicitVarSizeWithDummy[1] != 2 /\ x_ExplicitVarSizeWithDummy[1] = x_ExplicitVarSizeWithFlags_Values[1], + y_ExplicitVarSizeWithFlags_Flags[1] = false -> y_ExplicitVarSizeWithFlags_Values[1] = 1, + y_ExplicitVarSizeWithFlags_Flags[1] -> y_Occurrence[y_ExplicitVarSizeWithFlags_Values[1]], + y_Occurrence[1] -> y_ExplicitVarSizeWithFlags_Flags[1] /\ y_ExplicitVarSizeWithFlags_Values[1] = 1 + diff --git a/tests/exhaustive/basic/typed01/expected/model_4_1_3_1-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_4_1_3_1-solution000001.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_1_3_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_1_3_1-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_4_1_3_1-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_1_3_1-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_1_3_1-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_4_1_3_1-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_1_3_1-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_1_3_1.eprime b/tests/exhaustive/basic/typed01/expected/model_4_1_3_1.eprime new file mode 100644 index 0000000000..b5825355dc --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_1_3_1.eprime @@ -0,0 +1,20 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find x_ExplicitVarSizeWithMarker_Marker: int(0..1) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find y_Occurrence: matrix indexed by [int(1)] of bool +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_ExplicitVarSizeWithFlags_Flags, + x_ExplicitVarSizeWithFlags_Values, y_Occurrence] +such that + x_ExplicitVarSizeWithFlags_Flags[1] /\ y_Occurrence[x_ExplicitVarSizeWithFlags_Values[1]] -> false, + x_ExplicitVarSizeWithFlags_Flags[1] = false -> x_ExplicitVarSizeWithFlags_Values[1] = 1, + 1 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithFlags_Flags[1] /\ x_ExplicitVarSizeWithFlags_Values[1] = x_ExplicitVarSizeWithMarker_Values[1], + x_ExplicitVarSizeWithFlags_Flags[1] -> + 1 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[1] = x_ExplicitVarSizeWithFlags_Values[1] + diff --git a/tests/exhaustive/basic/typed01/expected/model_4_1_3_2-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_4_1_3_2-solution000001.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_1_3_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_1_3_2-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_4_1_3_2-solution000002.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_1_3_2-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_1_3_2-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_4_1_3_2-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_1_3_2-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_1_3_2.eprime b/tests/exhaustive/basic/typed01/expected/model_4_1_3_2.eprime new file mode 100644 index 0000000000..8d7d07b4a2 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_1_3_2.eprime @@ -0,0 +1,23 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find x_ExplicitVarSizeWithMarker_Marker: int(0..1) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find y_Occurrence: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_ExplicitVarSizeWithFlags_Flags, + x_ExplicitVarSizeWithFlags_Values, y_ExplicitVarSizeWithDummy, y_Occurrence] +such that + x_ExplicitVarSizeWithFlags_Flags[1] /\ y_Occurrence[x_ExplicitVarSizeWithFlags_Values[1]] -> false, + x_ExplicitVarSizeWithFlags_Flags[1] = false -> x_ExplicitVarSizeWithFlags_Values[1] = 1, + 1 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithFlags_Flags[1] /\ x_ExplicitVarSizeWithFlags_Values[1] = x_ExplicitVarSizeWithMarker_Values[1], + x_ExplicitVarSizeWithFlags_Flags[1] -> + 1 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[1] = x_ExplicitVarSizeWithFlags_Values[1], + y_ExplicitVarSizeWithDummy[1] != 2 -> y_Occurrence[y_ExplicitVarSizeWithDummy[1]], + y_Occurrence[1] -> y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = 1 + diff --git a/tests/exhaustive/basic/typed01/expected/model_4_1_3_3-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_4_1_3_3-solution000001.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_1_3_3-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_1_3_3-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_4_1_3_3-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_1_3_3-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_1_3_3-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_4_1_3_3-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_1_3_3-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_1_3_3.eprime b/tests/exhaustive/basic/typed01/expected/model_4_1_3_3.eprime new file mode 100644 index 0000000000..ff41c8db54 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_1_3_3.eprime @@ -0,0 +1,26 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find x_ExplicitVarSizeWithMarker_Marker: int(0..1) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find y_Occurrence: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithMarker_Marker: int(0..1) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_ExplicitVarSizeWithFlags_Flags, + x_ExplicitVarSizeWithFlags_Values, y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values, + y_Occurrence] +such that + x_ExplicitVarSizeWithFlags_Flags[1] /\ y_Occurrence[x_ExplicitVarSizeWithFlags_Values[1]] -> false, + x_ExplicitVarSizeWithFlags_Flags[1] = false -> x_ExplicitVarSizeWithFlags_Values[1] = 1, + 1 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithFlags_Flags[1] /\ x_ExplicitVarSizeWithFlags_Values[1] = x_ExplicitVarSizeWithMarker_Values[1], + x_ExplicitVarSizeWithFlags_Flags[1] -> + 1 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[1] = x_ExplicitVarSizeWithFlags_Values[1], + 1 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 <= y_ExplicitVarSizeWithMarker_Marker -> y_Occurrence[y_ExplicitVarSizeWithMarker_Values[1]], + y_Occurrence[1] -> 1 <= y_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithMarker_Values[1] = 1 + diff --git a/tests/exhaustive/basic/typed01/expected/model_4_1_3_4-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_4_1_3_4-solution000001.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_1_3_4-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_1_3_4-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_4_1_3_4-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_1_3_4-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_1_3_4-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_4_1_3_4-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_1_3_4-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_1_3_4.eprime b/tests/exhaustive/basic/typed01/expected/model_4_1_3_4.eprime new file mode 100644 index 0000000000..0f20e6b43f --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_1_3_4.eprime @@ -0,0 +1,26 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find x_ExplicitVarSizeWithMarker_Marker: int(0..1) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find y_Occurrence: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_ExplicitVarSizeWithFlags_Flags, + x_ExplicitVarSizeWithFlags_Values, y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values, + y_Occurrence] +such that + x_ExplicitVarSizeWithFlags_Flags[1] /\ y_Occurrence[x_ExplicitVarSizeWithFlags_Values[1]] -> false, + x_ExplicitVarSizeWithFlags_Flags[1] = false -> x_ExplicitVarSizeWithFlags_Values[1] = 1, + 1 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithFlags_Flags[1] /\ x_ExplicitVarSizeWithFlags_Values[1] = x_ExplicitVarSizeWithMarker_Values[1], + x_ExplicitVarSizeWithFlags_Flags[1] -> + 1 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[1] = x_ExplicitVarSizeWithFlags_Values[1], + y_ExplicitVarSizeWithFlags_Flags[1] = false -> y_ExplicitVarSizeWithFlags_Values[1] = 1, + y_ExplicitVarSizeWithFlags_Flags[1] -> y_Occurrence[y_ExplicitVarSizeWithFlags_Values[1]], + y_Occurrence[1] -> y_ExplicitVarSizeWithFlags_Flags[1] /\ y_ExplicitVarSizeWithFlags_Values[1] = 1 + diff --git a/tests/exhaustive/basic/typed01/expected/model_4_1_4_1-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_4_1_4_1-solution000001.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_1_4_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_1_4_1-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_4_1_4_1-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_1_4_1-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_1_4_1-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_4_1_4_1-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_1_4_1-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_1_4_1.eprime b/tests/exhaustive/basic/typed01/expected/model_4_1_4_1.eprime new file mode 100644 index 0000000000..a83a129f9d --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_1_4_1.eprime @@ -0,0 +1,10 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find y_Occurrence: matrix indexed by [int(1)] of bool +branching on [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, y_Occurrence] +such that + x_ExplicitVarSizeWithFlags_Flags[1] /\ y_Occurrence[x_ExplicitVarSizeWithFlags_Values[1]] -> false, + x_ExplicitVarSizeWithFlags_Flags[1] = false -> x_ExplicitVarSizeWithFlags_Values[1] = 1 + diff --git a/tests/exhaustive/basic/typed01/expected/model_4_1_4_2-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_4_1_4_2-solution000001.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_1_4_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_1_4_2-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_4_1_4_2-solution000002.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_1_4_2-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_1_4_2-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_4_1_4_2-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_1_4_2-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_1_4_2.eprime b/tests/exhaustive/basic/typed01/expected/model_4_1_4_2.eprime new file mode 100644 index 0000000000..9cba33315d --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_1_4_2.eprime @@ -0,0 +1,14 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find y_Occurrence: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, y_ExplicitVarSizeWithDummy, y_Occurrence] +such that + x_ExplicitVarSizeWithFlags_Flags[1] /\ y_Occurrence[x_ExplicitVarSizeWithFlags_Values[1]] -> false, + x_ExplicitVarSizeWithFlags_Flags[1] = false -> x_ExplicitVarSizeWithFlags_Values[1] = 1, + y_ExplicitVarSizeWithDummy[1] != 2 -> y_Occurrence[y_ExplicitVarSizeWithDummy[1]], + y_Occurrence[1] -> y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = 1 + diff --git a/tests/exhaustive/basic/typed01/expected/model_4_1_4_3-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_4_1_4_3-solution000001.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_1_4_3-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_1_4_3-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_4_1_4_3-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_1_4_3-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_1_4_3-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_4_1_4_3-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_1_4_3-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_1_4_3.eprime b/tests/exhaustive/basic/typed01/expected/model_4_1_4_3.eprime new file mode 100644 index 0000000000..f0d019484b --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_1_4_3.eprime @@ -0,0 +1,17 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find y_Occurrence: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithMarker_Marker: int(0..1) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, y_ExplicitVarSizeWithMarker_Marker, + y_ExplicitVarSizeWithMarker_Values, y_Occurrence] +such that + x_ExplicitVarSizeWithFlags_Flags[1] /\ y_Occurrence[x_ExplicitVarSizeWithFlags_Values[1]] -> false, + x_ExplicitVarSizeWithFlags_Flags[1] = false -> x_ExplicitVarSizeWithFlags_Values[1] = 1, + 1 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 <= y_ExplicitVarSizeWithMarker_Marker -> y_Occurrence[y_ExplicitVarSizeWithMarker_Values[1]], + y_Occurrence[1] -> 1 <= y_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithMarker_Values[1] = 1 + diff --git a/tests/exhaustive/basic/typed01/expected/model_4_1_4_4-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_4_1_4_4-solution000001.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_1_4_4-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_1_4_4-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_4_1_4_4-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_1_4_4-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_1_4_4-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_4_1_4_4-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_1_4_4-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_1_4_4.eprime b/tests/exhaustive/basic/typed01/expected/model_4_1_4_4.eprime new file mode 100644 index 0000000000..0f279552c2 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_1_4_4.eprime @@ -0,0 +1,17 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find y_Occurrence: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, y_ExplicitVarSizeWithFlags_Flags, + y_ExplicitVarSizeWithFlags_Values, y_Occurrence] +such that + x_ExplicitVarSizeWithFlags_Flags[1] /\ y_Occurrence[x_ExplicitVarSizeWithFlags_Values[1]] -> false, + x_ExplicitVarSizeWithFlags_Flags[1] = false -> x_ExplicitVarSizeWithFlags_Values[1] = 1, + y_ExplicitVarSizeWithFlags_Flags[1] = false -> y_ExplicitVarSizeWithFlags_Values[1] = 1, + y_ExplicitVarSizeWithFlags_Flags[1] -> y_Occurrence[y_ExplicitVarSizeWithFlags_Values[1]], + y_Occurrence[1] -> y_ExplicitVarSizeWithFlags_Flags[1] /\ y_ExplicitVarSizeWithFlags_Values[1] = 1 + diff --git a/tests/exhaustive/basic/typed01/expected/model_4_2_1_1-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_4_2_1_1-solution000001.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_2_1_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_2_1_1-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_4_2_1_1-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_2_1_1-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_2_1_1-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_4_2_1_1-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_2_1_1-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_2_1_1.eprime b/tests/exhaustive/basic/typed01/expected/model_4_2_1_1.eprime new file mode 100644 index 0000000000..7af0d950bd --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_2_1_1.eprime @@ -0,0 +1,20 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find x_Occurrence: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find y_Occurrence: matrix indexed by [int(1)] of bool +branching on + [x_Occurrence, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, y_Occurrence, + y_ExplicitVarSizeWithDummy] +such that + x_ExplicitVarSizeWithFlags_Flags[1] /\ + (y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = x_ExplicitVarSizeWithFlags_Values[1]) + -> false, + x_ExplicitVarSizeWithFlags_Flags[1] = false -> x_ExplicitVarSizeWithFlags_Values[1] = 1, + x_Occurrence[1] -> x_ExplicitVarSizeWithFlags_Flags[1] /\ x_ExplicitVarSizeWithFlags_Values[1] = 1, + x_ExplicitVarSizeWithFlags_Flags[1] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[1]], + y_Occurrence[1] -> y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = 1, + y_ExplicitVarSizeWithDummy[1] != 2 -> y_Occurrence[y_ExplicitVarSizeWithDummy[1]] + diff --git a/tests/exhaustive/basic/typed01/expected/model_4_2_1_2-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_4_2_1_2-solution000001.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_2_1_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_2_1_2-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_4_2_1_2-solution000002.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_2_1_2-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_2_1_2-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_4_2_1_2-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_2_1_2-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_2_1_2.eprime b/tests/exhaustive/basic/typed01/expected/model_4_2_1_2.eprime new file mode 100644 index 0000000000..7c872d9415 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_2_1_2.eprime @@ -0,0 +1,16 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find x_Occurrence: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +branching on + [x_Occurrence, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, y_ExplicitVarSizeWithDummy] +such that + x_ExplicitVarSizeWithFlags_Flags[1] /\ + (y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = x_ExplicitVarSizeWithFlags_Values[1]) + -> false, + x_ExplicitVarSizeWithFlags_Flags[1] = false -> x_ExplicitVarSizeWithFlags_Values[1] = 1, + x_Occurrence[1] -> x_ExplicitVarSizeWithFlags_Flags[1] /\ x_ExplicitVarSizeWithFlags_Values[1] = 1, + x_ExplicitVarSizeWithFlags_Flags[1] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[1]] + diff --git a/tests/exhaustive/basic/typed01/expected/model_4_2_1_3-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_4_2_1_3-solution000001.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_2_1_3-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_2_1_3-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_4_2_1_3-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_2_1_3-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_2_1_3-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_4_2_1_3-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_2_1_3-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_2_1_3.eprime b/tests/exhaustive/basic/typed01/expected/model_4_2_1_3.eprime new file mode 100644 index 0000000000..ff225c5a29 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_2_1_3.eprime @@ -0,0 +1,24 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find x_Occurrence: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find y_ExplicitVarSizeWithMarker_Marker: int(0..1) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +branching on + [x_Occurrence, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, + y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values, y_ExplicitVarSizeWithDummy] +such that + x_ExplicitVarSizeWithFlags_Flags[1] /\ + (y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = x_ExplicitVarSizeWithFlags_Values[1]) + -> false, + x_ExplicitVarSizeWithFlags_Flags[1] = false -> x_ExplicitVarSizeWithFlags_Values[1] = 1, + x_Occurrence[1] -> x_ExplicitVarSizeWithFlags_Flags[1] /\ x_ExplicitVarSizeWithFlags_Values[1] = 1, + x_ExplicitVarSizeWithFlags_Flags[1] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[1]], + 1 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = y_ExplicitVarSizeWithMarker_Values[1], + y_ExplicitVarSizeWithDummy[1] != 2 -> + 1 <= y_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithMarker_Values[1] = y_ExplicitVarSizeWithDummy[1] + diff --git a/tests/exhaustive/basic/typed01/expected/model_4_2_1_4-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_4_2_1_4-solution000001.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_2_1_4-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_2_1_4-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_4_2_1_4-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_2_1_4-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_2_1_4-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_4_2_1_4-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_2_1_4-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_2_1_4.eprime b/tests/exhaustive/basic/typed01/expected/model_4_2_1_4.eprime new file mode 100644 index 0000000000..819e4e33ed --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_2_1_4.eprime @@ -0,0 +1,24 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find x_Occurrence: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +branching on + [x_Occurrence, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, + y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values, y_ExplicitVarSizeWithDummy] +such that + x_ExplicitVarSizeWithFlags_Flags[1] /\ + (y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = x_ExplicitVarSizeWithFlags_Values[1]) + -> false, + x_ExplicitVarSizeWithFlags_Flags[1] = false -> x_ExplicitVarSizeWithFlags_Values[1] = 1, + x_Occurrence[1] -> x_ExplicitVarSizeWithFlags_Flags[1] /\ x_ExplicitVarSizeWithFlags_Values[1] = 1, + x_ExplicitVarSizeWithFlags_Flags[1] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[1]], + y_ExplicitVarSizeWithFlags_Flags[1] = false -> y_ExplicitVarSizeWithFlags_Values[1] = 1, + y_ExplicitVarSizeWithFlags_Flags[1] -> + y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = y_ExplicitVarSizeWithFlags_Values[1], + y_ExplicitVarSizeWithDummy[1] != 2 -> + y_ExplicitVarSizeWithFlags_Flags[1] /\ y_ExplicitVarSizeWithFlags_Values[1] = y_ExplicitVarSizeWithDummy[1] + diff --git a/tests/exhaustive/basic/typed01/expected/model_4_2_2_1-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_4_2_2_1-solution000001.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_2_2_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_2_2_1-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_4_2_2_1-solution000002.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_2_2_1-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_2_2_1-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_4_2_2_1-solution000003.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_2_2_1-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_2_2_1.eprime b/tests/exhaustive/basic/typed01/expected/model_4_2_2_1.eprime new file mode 100644 index 0000000000..c705186841 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_2_2_1.eprime @@ -0,0 +1,22 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find y_Occurrence: matrix indexed by [int(1)] of bool +branching on + [x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, y_Occurrence, + y_ExplicitVarSizeWithDummy] +such that + x_ExplicitVarSizeWithFlags_Flags[1] /\ + (y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = x_ExplicitVarSizeWithFlags_Values[1]) + -> false, + x_ExplicitVarSizeWithFlags_Flags[1] = false -> x_ExplicitVarSizeWithFlags_Values[1] = 1, + x_ExplicitVarSizeWithDummy[1] != 2 -> + x_ExplicitVarSizeWithFlags_Flags[1] /\ x_ExplicitVarSizeWithFlags_Values[1] = x_ExplicitVarSizeWithDummy[1], + x_ExplicitVarSizeWithFlags_Flags[1] -> + x_ExplicitVarSizeWithDummy[1] != 2 /\ x_ExplicitVarSizeWithDummy[1] = x_ExplicitVarSizeWithFlags_Values[1], + y_Occurrence[1] -> y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = 1, + y_ExplicitVarSizeWithDummy[1] != 2 -> y_Occurrence[y_ExplicitVarSizeWithDummy[1]] + diff --git a/tests/exhaustive/basic/typed01/expected/model_4_2_2_2-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_4_2_2_2-solution000001.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_2_2_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_2_2_2-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_4_2_2_2-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_2_2_2-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_2_2_2-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_4_2_2_2-solution000003.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_2_2_2-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_2_2_2.eprime b/tests/exhaustive/basic/typed01/expected/model_4_2_2_2.eprime new file mode 100644 index 0000000000..6d6bdff10b --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_2_2_2.eprime @@ -0,0 +1,19 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +branching on + [x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, + y_ExplicitVarSizeWithDummy] +such that + x_ExplicitVarSizeWithFlags_Flags[1] /\ + (y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = x_ExplicitVarSizeWithFlags_Values[1]) + -> false, + x_ExplicitVarSizeWithFlags_Flags[1] = false -> x_ExplicitVarSizeWithFlags_Values[1] = 1, + x_ExplicitVarSizeWithDummy[1] != 2 -> + x_ExplicitVarSizeWithFlags_Flags[1] /\ x_ExplicitVarSizeWithFlags_Values[1] = x_ExplicitVarSizeWithDummy[1], + x_ExplicitVarSizeWithFlags_Flags[1] -> + x_ExplicitVarSizeWithDummy[1] != 2 /\ x_ExplicitVarSizeWithDummy[1] = x_ExplicitVarSizeWithFlags_Values[1] + diff --git a/tests/exhaustive/basic/typed01/expected/model_4_2_2_3-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_4_2_2_3-solution000001.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_2_2_3-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_2_2_3-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_4_2_2_3-solution000002.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_2_2_3-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_2_2_3-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_4_2_2_3-solution000003.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_2_2_3-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_2_2_3.eprime b/tests/exhaustive/basic/typed01/expected/model_4_2_2_3.eprime new file mode 100644 index 0000000000..b84dbce7a7 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_2_2_3.eprime @@ -0,0 +1,26 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find y_ExplicitVarSizeWithMarker_Marker: int(0..1) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +branching on + [x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, + y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values, y_ExplicitVarSizeWithDummy] +such that + x_ExplicitVarSizeWithFlags_Flags[1] /\ + (y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = x_ExplicitVarSizeWithFlags_Values[1]) + -> false, + x_ExplicitVarSizeWithFlags_Flags[1] = false -> x_ExplicitVarSizeWithFlags_Values[1] = 1, + x_ExplicitVarSizeWithDummy[1] != 2 -> + x_ExplicitVarSizeWithFlags_Flags[1] /\ x_ExplicitVarSizeWithFlags_Values[1] = x_ExplicitVarSizeWithDummy[1], + x_ExplicitVarSizeWithFlags_Flags[1] -> + x_ExplicitVarSizeWithDummy[1] != 2 /\ x_ExplicitVarSizeWithDummy[1] = x_ExplicitVarSizeWithFlags_Values[1], + 1 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = y_ExplicitVarSizeWithMarker_Values[1], + y_ExplicitVarSizeWithDummy[1] != 2 -> + 1 <= y_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithMarker_Values[1] = y_ExplicitVarSizeWithDummy[1] + diff --git a/tests/exhaustive/basic/typed01/expected/model_4_2_2_4-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_4_2_2_4-solution000001.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_2_2_4-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_2_2_4-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_4_2_2_4-solution000002.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_2_2_4-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_2_2_4-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_4_2_2_4-solution000003.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_2_2_4-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_2_2_4.eprime b/tests/exhaustive/basic/typed01/expected/model_4_2_2_4.eprime new file mode 100644 index 0000000000..9e0b55a0f7 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_2_2_4.eprime @@ -0,0 +1,26 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +branching on + [x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, + y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values, y_ExplicitVarSizeWithDummy] +such that + x_ExplicitVarSizeWithFlags_Flags[1] /\ + (y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = x_ExplicitVarSizeWithFlags_Values[1]) + -> false, + x_ExplicitVarSizeWithFlags_Flags[1] = false -> x_ExplicitVarSizeWithFlags_Values[1] = 1, + x_ExplicitVarSizeWithDummy[1] != 2 -> + x_ExplicitVarSizeWithFlags_Flags[1] /\ x_ExplicitVarSizeWithFlags_Values[1] = x_ExplicitVarSizeWithDummy[1], + x_ExplicitVarSizeWithFlags_Flags[1] -> + x_ExplicitVarSizeWithDummy[1] != 2 /\ x_ExplicitVarSizeWithDummy[1] = x_ExplicitVarSizeWithFlags_Values[1], + y_ExplicitVarSizeWithFlags_Flags[1] = false -> y_ExplicitVarSizeWithFlags_Values[1] = 1, + y_ExplicitVarSizeWithFlags_Flags[1] -> + y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = y_ExplicitVarSizeWithFlags_Values[1], + y_ExplicitVarSizeWithDummy[1] != 2 -> + y_ExplicitVarSizeWithFlags_Flags[1] /\ y_ExplicitVarSizeWithFlags_Values[1] = y_ExplicitVarSizeWithDummy[1] + diff --git a/tests/exhaustive/basic/typed01/expected/model_4_2_3_1-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_4_2_3_1-solution000001.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_2_3_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_2_3_1-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_4_2_3_1-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_2_3_1-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_2_3_1-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_4_2_3_1-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_2_3_1-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_2_3_1.eprime b/tests/exhaustive/basic/typed01/expected/model_4_2_3_1.eprime new file mode 100644 index 0000000000..6158689ebd --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_2_3_1.eprime @@ -0,0 +1,25 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find x_ExplicitVarSizeWithMarker_Marker: int(0..1) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find y_Occurrence: matrix indexed by [int(1)] of bool +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_ExplicitVarSizeWithFlags_Flags, + x_ExplicitVarSizeWithFlags_Values, y_Occurrence, y_ExplicitVarSizeWithDummy] +such that + x_ExplicitVarSizeWithFlags_Flags[1] /\ + (y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = x_ExplicitVarSizeWithFlags_Values[1]) + -> false, + x_ExplicitVarSizeWithFlags_Flags[1] = false -> x_ExplicitVarSizeWithFlags_Values[1] = 1, + 1 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithFlags_Flags[1] /\ x_ExplicitVarSizeWithFlags_Values[1] = x_ExplicitVarSizeWithMarker_Values[1], + x_ExplicitVarSizeWithFlags_Flags[1] -> + 1 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[1] = x_ExplicitVarSizeWithFlags_Values[1], + y_Occurrence[1] -> y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = 1, + y_ExplicitVarSizeWithDummy[1] != 2 -> y_Occurrence[y_ExplicitVarSizeWithDummy[1]] + diff --git a/tests/exhaustive/basic/typed01/expected/model_4_2_3_2-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_4_2_3_2-solution000001.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_2_3_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_2_3_2-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_4_2_3_2-solution000002.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_2_3_2-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_2_3_2-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_4_2_3_2-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_2_3_2-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_2_3_2.eprime b/tests/exhaustive/basic/typed01/expected/model_4_2_3_2.eprime new file mode 100644 index 0000000000..af849df8be --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_2_3_2.eprime @@ -0,0 +1,22 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find x_ExplicitVarSizeWithMarker_Marker: int(0..1) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_ExplicitVarSizeWithFlags_Flags, + x_ExplicitVarSizeWithFlags_Values, y_ExplicitVarSizeWithDummy] +such that + x_ExplicitVarSizeWithFlags_Flags[1] /\ + (y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = x_ExplicitVarSizeWithFlags_Values[1]) + -> false, + x_ExplicitVarSizeWithFlags_Flags[1] = false -> x_ExplicitVarSizeWithFlags_Values[1] = 1, + 1 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithFlags_Flags[1] /\ x_ExplicitVarSizeWithFlags_Values[1] = x_ExplicitVarSizeWithMarker_Values[1], + x_ExplicitVarSizeWithFlags_Flags[1] -> + 1 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[1] = x_ExplicitVarSizeWithFlags_Values[1] + diff --git a/tests/exhaustive/basic/typed01/expected/model_4_2_3_3-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_4_2_3_3-solution000001.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_2_3_3-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_2_3_3-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_4_2_3_3-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_2_3_3-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_2_3_3-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_4_2_3_3-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_2_3_3-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_2_3_3.eprime b/tests/exhaustive/basic/typed01/expected/model_4_2_3_3.eprime new file mode 100644 index 0000000000..730f8ef16d --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_2_3_3.eprime @@ -0,0 +1,30 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find x_ExplicitVarSizeWithMarker_Marker: int(0..1) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find y_ExplicitVarSizeWithMarker_Marker: int(0..1) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_ExplicitVarSizeWithFlags_Flags, + x_ExplicitVarSizeWithFlags_Values, y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values, + y_ExplicitVarSizeWithDummy] +such that + x_ExplicitVarSizeWithFlags_Flags[1] /\ + (y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = x_ExplicitVarSizeWithFlags_Values[1]) + -> false, + x_ExplicitVarSizeWithFlags_Flags[1] = false -> x_ExplicitVarSizeWithFlags_Values[1] = 1, + 1 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithFlags_Flags[1] /\ x_ExplicitVarSizeWithFlags_Values[1] = x_ExplicitVarSizeWithMarker_Values[1], + x_ExplicitVarSizeWithFlags_Flags[1] -> + 1 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[1] = x_ExplicitVarSizeWithFlags_Values[1], + 1 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = y_ExplicitVarSizeWithMarker_Values[1], + y_ExplicitVarSizeWithDummy[1] != 2 -> + 1 <= y_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithMarker_Values[1] = y_ExplicitVarSizeWithDummy[1] + diff --git a/tests/exhaustive/basic/typed01/expected/model_4_2_3_4-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_4_2_3_4-solution000001.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_2_3_4-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_2_3_4-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_4_2_3_4-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_2_3_4-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_2_3_4-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_4_2_3_4-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_2_3_4-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_2_3_4.eprime b/tests/exhaustive/basic/typed01/expected/model_4_2_3_4.eprime new file mode 100644 index 0000000000..ada2b923a1 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_2_3_4.eprime @@ -0,0 +1,30 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find x_ExplicitVarSizeWithMarker_Marker: int(0..1) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_ExplicitVarSizeWithFlags_Flags, + x_ExplicitVarSizeWithFlags_Values, y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values, + y_ExplicitVarSizeWithDummy] +such that + x_ExplicitVarSizeWithFlags_Flags[1] /\ + (y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = x_ExplicitVarSizeWithFlags_Values[1]) + -> false, + x_ExplicitVarSizeWithFlags_Flags[1] = false -> x_ExplicitVarSizeWithFlags_Values[1] = 1, + 1 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithFlags_Flags[1] /\ x_ExplicitVarSizeWithFlags_Values[1] = x_ExplicitVarSizeWithMarker_Values[1], + x_ExplicitVarSizeWithFlags_Flags[1] -> + 1 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[1] = x_ExplicitVarSizeWithFlags_Values[1], + y_ExplicitVarSizeWithFlags_Flags[1] = false -> y_ExplicitVarSizeWithFlags_Values[1] = 1, + y_ExplicitVarSizeWithFlags_Flags[1] -> + y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = y_ExplicitVarSizeWithFlags_Values[1], + y_ExplicitVarSizeWithDummy[1] != 2 -> + y_ExplicitVarSizeWithFlags_Flags[1] /\ y_ExplicitVarSizeWithFlags_Values[1] = y_ExplicitVarSizeWithDummy[1] + diff --git a/tests/exhaustive/basic/typed01/expected/model_4_2_4_1-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_4_2_4_1-solution000001.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_2_4_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_2_4_1-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_4_2_4_1-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_2_4_1-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_2_4_1-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_4_2_4_1-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_2_4_1-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_2_4_1.eprime b/tests/exhaustive/basic/typed01/expected/model_4_2_4_1.eprime new file mode 100644 index 0000000000..dbc07862de --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_2_4_1.eprime @@ -0,0 +1,16 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find y_Occurrence: matrix indexed by [int(1)] of bool +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, y_Occurrence, y_ExplicitVarSizeWithDummy] +such that + x_ExplicitVarSizeWithFlags_Flags[1] /\ + (y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = x_ExplicitVarSizeWithFlags_Values[1]) + -> false, + x_ExplicitVarSizeWithFlags_Flags[1] = false -> x_ExplicitVarSizeWithFlags_Values[1] = 1, + y_Occurrence[1] -> y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = 1, + y_ExplicitVarSizeWithDummy[1] != 2 -> y_Occurrence[y_ExplicitVarSizeWithDummy[1]] + diff --git a/tests/exhaustive/basic/typed01/expected/model_4_2_4_2-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_4_2_4_2-solution000001.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_2_4_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_2_4_2-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_4_2_4_2-solution000002.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_2_4_2-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_2_4_2-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_4_2_4_2-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_2_4_2-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_2_4_2.eprime b/tests/exhaustive/basic/typed01/expected/model_4_2_4_2.eprime new file mode 100644 index 0000000000..9f155130a0 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_2_4_2.eprime @@ -0,0 +1,12 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +branching on [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, y_ExplicitVarSizeWithDummy] +such that + x_ExplicitVarSizeWithFlags_Flags[1] /\ + (y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = x_ExplicitVarSizeWithFlags_Values[1]) + -> false, + x_ExplicitVarSizeWithFlags_Flags[1] = false -> x_ExplicitVarSizeWithFlags_Values[1] = 1 + diff --git a/tests/exhaustive/basic/typed01/expected/model_4_2_4_3-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_4_2_4_3-solution000001.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_2_4_3-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_2_4_3-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_4_2_4_3-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_2_4_3-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_2_4_3-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_4_2_4_3-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_2_4_3-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_2_4_3.eprime b/tests/exhaustive/basic/typed01/expected/model_4_2_4_3.eprime new file mode 100644 index 0000000000..e1180d719b --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_2_4_3.eprime @@ -0,0 +1,21 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find y_ExplicitVarSizeWithMarker_Marker: int(0..1) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, y_ExplicitVarSizeWithMarker_Marker, + y_ExplicitVarSizeWithMarker_Values, y_ExplicitVarSizeWithDummy] +such that + x_ExplicitVarSizeWithFlags_Flags[1] /\ + (y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = x_ExplicitVarSizeWithFlags_Values[1]) + -> false, + x_ExplicitVarSizeWithFlags_Flags[1] = false -> x_ExplicitVarSizeWithFlags_Values[1] = 1, + 1 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = y_ExplicitVarSizeWithMarker_Values[1], + y_ExplicitVarSizeWithDummy[1] != 2 -> + 1 <= y_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithMarker_Values[1] = y_ExplicitVarSizeWithDummy[1] + diff --git a/tests/exhaustive/basic/typed01/expected/model_4_2_4_4-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_4_2_4_4-solution000001.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_2_4_4-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_2_4_4-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_4_2_4_4-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_2_4_4-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_2_4_4-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_4_2_4_4-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_2_4_4-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_2_4_4.eprime b/tests/exhaustive/basic/typed01/expected/model_4_2_4_4.eprime new file mode 100644 index 0000000000..a53eedddb0 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_2_4_4.eprime @@ -0,0 +1,21 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, y_ExplicitVarSizeWithFlags_Flags, + y_ExplicitVarSizeWithFlags_Values, y_ExplicitVarSizeWithDummy] +such that + x_ExplicitVarSizeWithFlags_Flags[1] /\ + (y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = x_ExplicitVarSizeWithFlags_Values[1]) + -> false, + x_ExplicitVarSizeWithFlags_Flags[1] = false -> x_ExplicitVarSizeWithFlags_Values[1] = 1, + y_ExplicitVarSizeWithFlags_Flags[1] = false -> y_ExplicitVarSizeWithFlags_Values[1] = 1, + y_ExplicitVarSizeWithFlags_Flags[1] -> + y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = y_ExplicitVarSizeWithFlags_Values[1], + y_ExplicitVarSizeWithDummy[1] != 2 -> + y_ExplicitVarSizeWithFlags_Flags[1] /\ y_ExplicitVarSizeWithFlags_Values[1] = y_ExplicitVarSizeWithDummy[1] + diff --git a/tests/exhaustive/basic/typed01/expected/model_4_3_1_1-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_4_3_1_1-solution000001.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_3_1_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_3_1_1-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_4_3_1_1-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_3_1_1-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_3_1_1-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_4_3_1_1-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_3_1_1-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_3_1_1.eprime b/tests/exhaustive/basic/typed01/expected/model_4_3_1_1.eprime new file mode 100644 index 0000000000..dc647fb27d --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_3_1_1.eprime @@ -0,0 +1,23 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find x_Occurrence: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithMarker_Marker: int(0..1) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find y_Occurrence: matrix indexed by [int(1)] of bool +branching on + [x_Occurrence, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, y_Occurrence, + y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values] +such that + x_ExplicitVarSizeWithFlags_Flags[1] /\ + (1 <= y_ExplicitVarSizeWithMarker_Marker /\ + y_ExplicitVarSizeWithMarker_Values[1] = x_ExplicitVarSizeWithFlags_Values[1]) + -> false, + x_ExplicitVarSizeWithFlags_Flags[1] = false -> x_ExplicitVarSizeWithFlags_Values[1] = 1, + 1 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[1] = 1, + x_Occurrence[1] -> x_ExplicitVarSizeWithFlags_Flags[1] /\ x_ExplicitVarSizeWithFlags_Values[1] = 1, + x_ExplicitVarSizeWithFlags_Flags[1] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[1]], + y_Occurrence[1] -> 1 <= y_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 <= y_ExplicitVarSizeWithMarker_Marker -> y_Occurrence[y_ExplicitVarSizeWithMarker_Values[1]] + diff --git a/tests/exhaustive/basic/typed01/expected/model_4_3_1_2-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_4_3_1_2-solution000001.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_3_1_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_3_1_2-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_4_3_1_2-solution000002.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_3_1_2-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_3_1_2-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_4_3_1_2-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_3_1_2-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_3_1_2.eprime b/tests/exhaustive/basic/typed01/expected/model_4_3_1_2.eprime new file mode 100644 index 0000000000..4ec2675a1c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_3_1_2.eprime @@ -0,0 +1,25 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find x_Occurrence: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithMarker_Marker: int(0..1) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +branching on + [x_Occurrence, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, y_ExplicitVarSizeWithDummy, + y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values] +such that + x_ExplicitVarSizeWithFlags_Flags[1] /\ + (1 <= y_ExplicitVarSizeWithMarker_Marker /\ + y_ExplicitVarSizeWithMarker_Values[1] = x_ExplicitVarSizeWithFlags_Values[1]) + -> false, + x_ExplicitVarSizeWithFlags_Flags[1] = false -> x_ExplicitVarSizeWithFlags_Values[1] = 1, + 1 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[1] = 1, + x_Occurrence[1] -> x_ExplicitVarSizeWithFlags_Flags[1] /\ x_ExplicitVarSizeWithFlags_Values[1] = 1, + x_ExplicitVarSizeWithFlags_Flags[1] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[1]], + y_ExplicitVarSizeWithDummy[1] != 2 -> + 1 <= y_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithMarker_Values[1] = y_ExplicitVarSizeWithDummy[1], + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = y_ExplicitVarSizeWithMarker_Values[1] + diff --git a/tests/exhaustive/basic/typed01/expected/model_4_3_1_3-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_4_3_1_3-solution000001.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_3_1_3-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_3_1_3-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_4_3_1_3-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_3_1_3-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_3_1_3-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_4_3_1_3-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_3_1_3-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_3_1_3.eprime b/tests/exhaustive/basic/typed01/expected/model_4_3_1_3.eprime new file mode 100644 index 0000000000..32cfd157ad --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_3_1_3.eprime @@ -0,0 +1,20 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find x_Occurrence: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithMarker_Marker: int(0..1) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +branching on + [x_Occurrence, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, + y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values] +such that + x_ExplicitVarSizeWithFlags_Flags[1] /\ + (1 <= y_ExplicitVarSizeWithMarker_Marker /\ + y_ExplicitVarSizeWithMarker_Values[1] = x_ExplicitVarSizeWithFlags_Values[1]) + -> false, + x_ExplicitVarSizeWithFlags_Flags[1] = false -> x_ExplicitVarSizeWithFlags_Values[1] = 1, + 1 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[1] = 1, + x_Occurrence[1] -> x_ExplicitVarSizeWithFlags_Flags[1] /\ x_ExplicitVarSizeWithFlags_Values[1] = 1, + x_ExplicitVarSizeWithFlags_Flags[1] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[1]] + diff --git a/tests/exhaustive/basic/typed01/expected/model_4_3_1_4-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_4_3_1_4-solution000001.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_3_1_4-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_3_1_4-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_4_3_1_4-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_3_1_4-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_3_1_4-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_4_3_1_4-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_3_1_4-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_3_1_4.eprime b/tests/exhaustive/basic/typed01/expected/model_4_3_1_4.eprime new file mode 100644 index 0000000000..27811841d5 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_3_1_4.eprime @@ -0,0 +1,29 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find x_Occurrence: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithMarker_Marker: int(0..1) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +branching on + [x_Occurrence, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, + y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values, y_ExplicitVarSizeWithMarker_Marker, + y_ExplicitVarSizeWithMarker_Values] +such that + x_ExplicitVarSizeWithFlags_Flags[1] /\ + (1 <= y_ExplicitVarSizeWithMarker_Marker /\ + y_ExplicitVarSizeWithMarker_Values[1] = x_ExplicitVarSizeWithFlags_Values[1]) + -> false, + x_ExplicitVarSizeWithFlags_Flags[1] = false -> x_ExplicitVarSizeWithFlags_Values[1] = 1, + 1 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[1] = 1, + x_Occurrence[1] -> x_ExplicitVarSizeWithFlags_Flags[1] /\ x_ExplicitVarSizeWithFlags_Values[1] = 1, + x_ExplicitVarSizeWithFlags_Flags[1] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[1]], + y_ExplicitVarSizeWithFlags_Flags[1] = false -> y_ExplicitVarSizeWithFlags_Values[1] = 1, + y_ExplicitVarSizeWithFlags_Flags[1] -> + 1 <= y_ExplicitVarSizeWithMarker_Marker /\ + y_ExplicitVarSizeWithMarker_Values[1] = y_ExplicitVarSizeWithFlags_Values[1], + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithFlags_Flags[1] /\ y_ExplicitVarSizeWithFlags_Values[1] = y_ExplicitVarSizeWithMarker_Values[1] + diff --git a/tests/exhaustive/basic/typed01/expected/model_4_3_2_1-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_4_3_2_1-solution000001.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_3_2_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_3_2_1-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_4_3_2_1-solution000002.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_3_2_1-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_3_2_1-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_4_3_2_1-solution000003.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_3_2_1-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_3_2_1.eprime b/tests/exhaustive/basic/typed01/expected/model_4_3_2_1.eprime new file mode 100644 index 0000000000..14d92f563c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_3_2_1.eprime @@ -0,0 +1,25 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find y_ExplicitVarSizeWithMarker_Marker: int(0..1) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find y_Occurrence: matrix indexed by [int(1)] of bool +branching on + [x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, y_Occurrence, + y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values] +such that + x_ExplicitVarSizeWithFlags_Flags[1] /\ + (1 <= y_ExplicitVarSizeWithMarker_Marker /\ + y_ExplicitVarSizeWithMarker_Values[1] = x_ExplicitVarSizeWithFlags_Values[1]) + -> false, + x_ExplicitVarSizeWithFlags_Flags[1] = false -> x_ExplicitVarSizeWithFlags_Values[1] = 1, + 1 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[1] = 1, + x_ExplicitVarSizeWithDummy[1] != 2 -> + x_ExplicitVarSizeWithFlags_Flags[1] /\ x_ExplicitVarSizeWithFlags_Values[1] = x_ExplicitVarSizeWithDummy[1], + x_ExplicitVarSizeWithFlags_Flags[1] -> + x_ExplicitVarSizeWithDummy[1] != 2 /\ x_ExplicitVarSizeWithDummy[1] = x_ExplicitVarSizeWithFlags_Values[1], + y_Occurrence[1] -> 1 <= y_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 <= y_ExplicitVarSizeWithMarker_Marker -> y_Occurrence[y_ExplicitVarSizeWithMarker_Values[1]] + diff --git a/tests/exhaustive/basic/typed01/expected/model_4_3_2_2-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_4_3_2_2-solution000001.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_3_2_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_3_2_2-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_4_3_2_2-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_3_2_2-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_3_2_2-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_4_3_2_2-solution000003.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_3_2_2-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_3_2_2.eprime b/tests/exhaustive/basic/typed01/expected/model_4_3_2_2.eprime new file mode 100644 index 0000000000..5d58c6fa0d --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_3_2_2.eprime @@ -0,0 +1,27 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find y_ExplicitVarSizeWithMarker_Marker: int(0..1) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +branching on + [x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, + y_ExplicitVarSizeWithDummy, y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values] +such that + x_ExplicitVarSizeWithFlags_Flags[1] /\ + (1 <= y_ExplicitVarSizeWithMarker_Marker /\ + y_ExplicitVarSizeWithMarker_Values[1] = x_ExplicitVarSizeWithFlags_Values[1]) + -> false, + x_ExplicitVarSizeWithFlags_Flags[1] = false -> x_ExplicitVarSizeWithFlags_Values[1] = 1, + 1 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[1] = 1, + x_ExplicitVarSizeWithDummy[1] != 2 -> + x_ExplicitVarSizeWithFlags_Flags[1] /\ x_ExplicitVarSizeWithFlags_Values[1] = x_ExplicitVarSizeWithDummy[1], + x_ExplicitVarSizeWithFlags_Flags[1] -> + x_ExplicitVarSizeWithDummy[1] != 2 /\ x_ExplicitVarSizeWithDummy[1] = x_ExplicitVarSizeWithFlags_Values[1], + y_ExplicitVarSizeWithDummy[1] != 2 -> + 1 <= y_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithMarker_Values[1] = y_ExplicitVarSizeWithDummy[1], + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = y_ExplicitVarSizeWithMarker_Values[1] + diff --git a/tests/exhaustive/basic/typed01/expected/model_4_3_2_3-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_4_3_2_3-solution000001.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_3_2_3-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_3_2_3-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_4_3_2_3-solution000002.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_3_2_3-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_3_2_3-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_4_3_2_3-solution000003.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_3_2_3-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_3_2_3.eprime b/tests/exhaustive/basic/typed01/expected/model_4_3_2_3.eprime new file mode 100644 index 0000000000..907a46b538 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_3_2_3.eprime @@ -0,0 +1,22 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find y_ExplicitVarSizeWithMarker_Marker: int(0..1) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +branching on + [x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, + y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values] +such that + x_ExplicitVarSizeWithFlags_Flags[1] /\ + (1 <= y_ExplicitVarSizeWithMarker_Marker /\ + y_ExplicitVarSizeWithMarker_Values[1] = x_ExplicitVarSizeWithFlags_Values[1]) + -> false, + x_ExplicitVarSizeWithFlags_Flags[1] = false -> x_ExplicitVarSizeWithFlags_Values[1] = 1, + 1 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[1] = 1, + x_ExplicitVarSizeWithDummy[1] != 2 -> + x_ExplicitVarSizeWithFlags_Flags[1] /\ x_ExplicitVarSizeWithFlags_Values[1] = x_ExplicitVarSizeWithDummy[1], + x_ExplicitVarSizeWithFlags_Flags[1] -> + x_ExplicitVarSizeWithDummy[1] != 2 /\ x_ExplicitVarSizeWithDummy[1] = x_ExplicitVarSizeWithFlags_Values[1] + diff --git a/tests/exhaustive/basic/typed01/expected/model_4_3_2_4-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_4_3_2_4-solution000001.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_3_2_4-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_3_2_4-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_4_3_2_4-solution000002.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_3_2_4-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_3_2_4-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_4_3_2_4-solution000003.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_3_2_4-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_3_2_4.eprime b/tests/exhaustive/basic/typed01/expected/model_4_3_2_4.eprime new file mode 100644 index 0000000000..c6f53b014c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_3_2_4.eprime @@ -0,0 +1,31 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find y_ExplicitVarSizeWithMarker_Marker: int(0..1) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +branching on + [x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, + y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values, y_ExplicitVarSizeWithMarker_Marker, + y_ExplicitVarSizeWithMarker_Values] +such that + x_ExplicitVarSizeWithFlags_Flags[1] /\ + (1 <= y_ExplicitVarSizeWithMarker_Marker /\ + y_ExplicitVarSizeWithMarker_Values[1] = x_ExplicitVarSizeWithFlags_Values[1]) + -> false, + x_ExplicitVarSizeWithFlags_Flags[1] = false -> x_ExplicitVarSizeWithFlags_Values[1] = 1, + 1 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[1] = 1, + x_ExplicitVarSizeWithDummy[1] != 2 -> + x_ExplicitVarSizeWithFlags_Flags[1] /\ x_ExplicitVarSizeWithFlags_Values[1] = x_ExplicitVarSizeWithDummy[1], + x_ExplicitVarSizeWithFlags_Flags[1] -> + x_ExplicitVarSizeWithDummy[1] != 2 /\ x_ExplicitVarSizeWithDummy[1] = x_ExplicitVarSizeWithFlags_Values[1], + y_ExplicitVarSizeWithFlags_Flags[1] = false -> y_ExplicitVarSizeWithFlags_Values[1] = 1, + y_ExplicitVarSizeWithFlags_Flags[1] -> + 1 <= y_ExplicitVarSizeWithMarker_Marker /\ + y_ExplicitVarSizeWithMarker_Values[1] = y_ExplicitVarSizeWithFlags_Values[1], + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithFlags_Flags[1] /\ y_ExplicitVarSizeWithFlags_Values[1] = y_ExplicitVarSizeWithMarker_Values[1] + diff --git a/tests/exhaustive/basic/typed01/expected/model_4_3_3_1-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_4_3_3_1-solution000001.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_3_3_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_3_3_1-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_4_3_3_1-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_3_3_1-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_3_3_1-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_4_3_3_1-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_3_3_1-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_3_3_1.eprime b/tests/exhaustive/basic/typed01/expected/model_4_3_3_1.eprime new file mode 100644 index 0000000000..58d00ad5ee --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_3_3_1.eprime @@ -0,0 +1,29 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find x_ExplicitVarSizeWithMarker_Marker: int(0..1) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithMarker_Marker: int(0..1) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find y_Occurrence: matrix indexed by [int(1)] of bool +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_ExplicitVarSizeWithFlags_Flags, + x_ExplicitVarSizeWithFlags_Values, y_Occurrence, y_ExplicitVarSizeWithMarker_Marker, + y_ExplicitVarSizeWithMarker_Values] +such that + x_ExplicitVarSizeWithFlags_Flags[1] /\ + (1 <= y_ExplicitVarSizeWithMarker_Marker /\ + y_ExplicitVarSizeWithMarker_Values[1] = x_ExplicitVarSizeWithFlags_Values[1]) + -> false, + x_ExplicitVarSizeWithFlags_Flags[1] = false -> x_ExplicitVarSizeWithFlags_Values[1] = 1, + 1 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithFlags_Flags[1] /\ x_ExplicitVarSizeWithFlags_Values[1] = x_ExplicitVarSizeWithMarker_Values[1], + x_ExplicitVarSizeWithFlags_Flags[1] -> + 1 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[1] = x_ExplicitVarSizeWithFlags_Values[1], + y_Occurrence[1] -> 1 <= y_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 <= y_ExplicitVarSizeWithMarker_Marker -> y_Occurrence[y_ExplicitVarSizeWithMarker_Values[1]] + diff --git a/tests/exhaustive/basic/typed01/expected/model_4_3_3_2-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_4_3_3_2-solution000001.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_3_3_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_3_3_2-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_4_3_3_2-solution000002.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_3_3_2-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_3_3_2-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_4_3_3_2-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_3_3_2-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_3_3_2.eprime b/tests/exhaustive/basic/typed01/expected/model_4_3_3_2.eprime new file mode 100644 index 0000000000..bb5e3f245d --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_3_3_2.eprime @@ -0,0 +1,31 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find x_ExplicitVarSizeWithMarker_Marker: int(0..1) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithMarker_Marker: int(0..1) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_ExplicitVarSizeWithFlags_Flags, + x_ExplicitVarSizeWithFlags_Values, y_ExplicitVarSizeWithDummy, y_ExplicitVarSizeWithMarker_Marker, + y_ExplicitVarSizeWithMarker_Values] +such that + x_ExplicitVarSizeWithFlags_Flags[1] /\ + (1 <= y_ExplicitVarSizeWithMarker_Marker /\ + y_ExplicitVarSizeWithMarker_Values[1] = x_ExplicitVarSizeWithFlags_Values[1]) + -> false, + x_ExplicitVarSizeWithFlags_Flags[1] = false -> x_ExplicitVarSizeWithFlags_Values[1] = 1, + 1 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithFlags_Flags[1] /\ x_ExplicitVarSizeWithFlags_Values[1] = x_ExplicitVarSizeWithMarker_Values[1], + x_ExplicitVarSizeWithFlags_Flags[1] -> + 1 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[1] = x_ExplicitVarSizeWithFlags_Values[1], + y_ExplicitVarSizeWithDummy[1] != 2 -> + 1 <= y_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithMarker_Values[1] = y_ExplicitVarSizeWithDummy[1], + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = y_ExplicitVarSizeWithMarker_Values[1] + diff --git a/tests/exhaustive/basic/typed01/expected/model_4_3_3_3-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_4_3_3_3-solution000001.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_3_3_3-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_3_3_3-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_4_3_3_3-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_3_3_3-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_3_3_3-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_4_3_3_3-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_3_3_3-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_3_3_3.eprime b/tests/exhaustive/basic/typed01/expected/model_4_3_3_3.eprime new file mode 100644 index 0000000000..0943a035ed --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_3_3_3.eprime @@ -0,0 +1,25 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find x_ExplicitVarSizeWithMarker_Marker: int(0..1) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithMarker_Marker: int(0..1) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_ExplicitVarSizeWithFlags_Flags, + x_ExplicitVarSizeWithFlags_Values, y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values] +such that + x_ExplicitVarSizeWithFlags_Flags[1] /\ + (1 <= y_ExplicitVarSizeWithMarker_Marker /\ + y_ExplicitVarSizeWithMarker_Values[1] = x_ExplicitVarSizeWithFlags_Values[1]) + -> false, + x_ExplicitVarSizeWithFlags_Flags[1] = false -> x_ExplicitVarSizeWithFlags_Values[1] = 1, + 1 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithFlags_Flags[1] /\ x_ExplicitVarSizeWithFlags_Values[1] = x_ExplicitVarSizeWithMarker_Values[1], + x_ExplicitVarSizeWithFlags_Flags[1] -> + 1 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[1] = x_ExplicitVarSizeWithFlags_Values[1] + diff --git a/tests/exhaustive/basic/typed01/expected/model_4_3_3_4-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_4_3_3_4-solution000001.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_3_3_4-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_3_3_4-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_4_3_3_4-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_3_3_4-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_3_3_4-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_4_3_3_4-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_3_3_4-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_3_3_4.eprime b/tests/exhaustive/basic/typed01/expected/model_4_3_3_4.eprime new file mode 100644 index 0000000000..14ce80e263 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_3_3_4.eprime @@ -0,0 +1,34 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find x_ExplicitVarSizeWithMarker_Marker: int(0..1) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithMarker_Marker: int(0..1) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_ExplicitVarSizeWithFlags_Flags, + x_ExplicitVarSizeWithFlags_Values, y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values, + y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values] +such that + x_ExplicitVarSizeWithFlags_Flags[1] /\ + (1 <= y_ExplicitVarSizeWithMarker_Marker /\ + y_ExplicitVarSizeWithMarker_Values[1] = x_ExplicitVarSizeWithFlags_Values[1]) + -> false, + x_ExplicitVarSizeWithFlags_Flags[1] = false -> x_ExplicitVarSizeWithFlags_Values[1] = 1, + 1 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithFlags_Flags[1] /\ x_ExplicitVarSizeWithFlags_Values[1] = x_ExplicitVarSizeWithMarker_Values[1], + x_ExplicitVarSizeWithFlags_Flags[1] -> + 1 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[1] = x_ExplicitVarSizeWithFlags_Values[1], + y_ExplicitVarSizeWithFlags_Flags[1] = false -> y_ExplicitVarSizeWithFlags_Values[1] = 1, + y_ExplicitVarSizeWithFlags_Flags[1] -> + 1 <= y_ExplicitVarSizeWithMarker_Marker /\ + y_ExplicitVarSizeWithMarker_Values[1] = y_ExplicitVarSizeWithFlags_Values[1], + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithFlags_Flags[1] /\ y_ExplicitVarSizeWithFlags_Values[1] = y_ExplicitVarSizeWithMarker_Values[1] + diff --git a/tests/exhaustive/basic/typed01/expected/model_4_3_4_1-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_4_3_4_1-solution000001.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_3_4_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_3_4_1-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_4_3_4_1-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_3_4_1-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_3_4_1-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_4_3_4_1-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_3_4_1-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_3_4_1.eprime b/tests/exhaustive/basic/typed01/expected/model_4_3_4_1.eprime new file mode 100644 index 0000000000..c2e457ed45 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_3_4_1.eprime @@ -0,0 +1,20 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithMarker_Marker: int(0..1) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find y_Occurrence: matrix indexed by [int(1)] of bool +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, y_Occurrence, + y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values] +such that + x_ExplicitVarSizeWithFlags_Flags[1] /\ + (1 <= y_ExplicitVarSizeWithMarker_Marker /\ + y_ExplicitVarSizeWithMarker_Values[1] = x_ExplicitVarSizeWithFlags_Values[1]) + -> false, + x_ExplicitVarSizeWithFlags_Flags[1] = false -> x_ExplicitVarSizeWithFlags_Values[1] = 1, + 1 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[1] = 1, + y_Occurrence[1] -> 1 <= y_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 <= y_ExplicitVarSizeWithMarker_Marker -> y_Occurrence[y_ExplicitVarSizeWithMarker_Values[1]] + diff --git a/tests/exhaustive/basic/typed01/expected/model_4_3_4_2-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_4_3_4_2-solution000001.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_3_4_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_3_4_2-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_4_3_4_2-solution000002.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_3_4_2-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_3_4_2-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_4_3_4_2-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_3_4_2-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_3_4_2.eprime b/tests/exhaustive/basic/typed01/expected/model_4_3_4_2.eprime new file mode 100644 index 0000000000..942d4718ca --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_3_4_2.eprime @@ -0,0 +1,22 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithMarker_Marker: int(0..1) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, y_ExplicitVarSizeWithDummy, + y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values] +such that + x_ExplicitVarSizeWithFlags_Flags[1] /\ + (1 <= y_ExplicitVarSizeWithMarker_Marker /\ + y_ExplicitVarSizeWithMarker_Values[1] = x_ExplicitVarSizeWithFlags_Values[1]) + -> false, + x_ExplicitVarSizeWithFlags_Flags[1] = false -> x_ExplicitVarSizeWithFlags_Values[1] = 1, + 1 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[1] = 1, + y_ExplicitVarSizeWithDummy[1] != 2 -> + 1 <= y_ExplicitVarSizeWithMarker_Marker /\ y_ExplicitVarSizeWithMarker_Values[1] = y_ExplicitVarSizeWithDummy[1], + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = y_ExplicitVarSizeWithMarker_Values[1] + diff --git a/tests/exhaustive/basic/typed01/expected/model_4_3_4_3-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_4_3_4_3-solution000001.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_3_4_3-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_3_4_3-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_4_3_4_3-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_3_4_3-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_3_4_3-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_4_3_4_3-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_3_4_3-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_3_4_3.eprime b/tests/exhaustive/basic/typed01/expected/model_4_3_4_3.eprime new file mode 100644 index 0000000000..9d46ed4c1c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_3_4_3.eprime @@ -0,0 +1,17 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithMarker_Marker: int(0..1) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, y_ExplicitVarSizeWithMarker_Marker, + y_ExplicitVarSizeWithMarker_Values] +such that + x_ExplicitVarSizeWithFlags_Flags[1] /\ + (1 <= y_ExplicitVarSizeWithMarker_Marker /\ + y_ExplicitVarSizeWithMarker_Values[1] = x_ExplicitVarSizeWithFlags_Values[1]) + -> false, + x_ExplicitVarSizeWithFlags_Flags[1] = false -> x_ExplicitVarSizeWithFlags_Values[1] = 1, + 1 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[1] = 1 + diff --git a/tests/exhaustive/basic/typed01/expected/model_4_3_4_4-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_4_3_4_4-solution000001.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_3_4_4-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_3_4_4-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_4_3_4_4-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_3_4_4-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_3_4_4-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_4_3_4_4-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_3_4_4-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_3_4_4.eprime b/tests/exhaustive/basic/typed01/expected/model_4_3_4_4.eprime new file mode 100644 index 0000000000..fd5e21a212 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_3_4_4.eprime @@ -0,0 +1,25 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithMarker_Marker: int(0..1) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, y_ExplicitVarSizeWithFlags_Flags, + y_ExplicitVarSizeWithFlags_Values, y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values] +such that + x_ExplicitVarSizeWithFlags_Flags[1] /\ + (1 <= y_ExplicitVarSizeWithMarker_Marker /\ + y_ExplicitVarSizeWithMarker_Values[1] = x_ExplicitVarSizeWithFlags_Values[1]) + -> false, + x_ExplicitVarSizeWithFlags_Flags[1] = false -> x_ExplicitVarSizeWithFlags_Values[1] = 1, + 1 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[1] = 1, + y_ExplicitVarSizeWithFlags_Flags[1] = false -> y_ExplicitVarSizeWithFlags_Values[1] = 1, + y_ExplicitVarSizeWithFlags_Flags[1] -> + 1 <= y_ExplicitVarSizeWithMarker_Marker /\ + y_ExplicitVarSizeWithMarker_Values[1] = y_ExplicitVarSizeWithFlags_Values[1], + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithFlags_Flags[1] /\ y_ExplicitVarSizeWithFlags_Values[1] = y_ExplicitVarSizeWithMarker_Values[1] + diff --git a/tests/exhaustive/basic/typed01/expected/model_4_4_1_1-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_4_4_1_1-solution000001.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_4_1_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_4_1_1-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_4_4_1_1-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_4_1_1-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_4_1_1-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_4_4_1_1-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_4_1_1-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_4_1_1.eprime b/tests/exhaustive/basic/typed01/expected/model_4_4_1_1.eprime new file mode 100644 index 0000000000..fac7863f69 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_4_1_1.eprime @@ -0,0 +1,22 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find x_Occurrence: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find y_Occurrence: matrix indexed by [int(1)] of bool +branching on + [x_Occurrence, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, y_Occurrence, + y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values] +such that + x_ExplicitVarSizeWithFlags_Flags[1] /\ + (y_ExplicitVarSizeWithFlags_Flags[1] /\ y_ExplicitVarSizeWithFlags_Values[1] = x_ExplicitVarSizeWithFlags_Values[1]) + -> false, + x_ExplicitVarSizeWithFlags_Flags[1] = false -> x_ExplicitVarSizeWithFlags_Values[1] = 1, + y_ExplicitVarSizeWithFlags_Flags[1] = false -> y_ExplicitVarSizeWithFlags_Values[1] = 1, + x_Occurrence[1] -> x_ExplicitVarSizeWithFlags_Flags[1] /\ x_ExplicitVarSizeWithFlags_Values[1] = 1, + x_ExplicitVarSizeWithFlags_Flags[1] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[1]], + y_Occurrence[1] -> y_ExplicitVarSizeWithFlags_Flags[1] /\ y_ExplicitVarSizeWithFlags_Values[1] = 1, + y_ExplicitVarSizeWithFlags_Flags[1] -> y_Occurrence[y_ExplicitVarSizeWithFlags_Values[1]] + diff --git a/tests/exhaustive/basic/typed01/expected/model_4_4_1_2-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_4_4_1_2-solution000001.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_4_1_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_4_1_2-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_4_4_1_2-solution000002.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_4_1_2-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_4_1_2-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_4_4_1_2-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_4_1_2-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_4_1_2.eprime b/tests/exhaustive/basic/typed01/expected/model_4_4_1_2.eprime new file mode 100644 index 0000000000..4bf7e90c1b --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_4_1_2.eprime @@ -0,0 +1,24 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find x_Occurrence: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +branching on + [x_Occurrence, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, y_ExplicitVarSizeWithDummy, + y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values] +such that + x_ExplicitVarSizeWithFlags_Flags[1] /\ + (y_ExplicitVarSizeWithFlags_Flags[1] /\ y_ExplicitVarSizeWithFlags_Values[1] = x_ExplicitVarSizeWithFlags_Values[1]) + -> false, + x_ExplicitVarSizeWithFlags_Flags[1] = false -> x_ExplicitVarSizeWithFlags_Values[1] = 1, + y_ExplicitVarSizeWithFlags_Flags[1] = false -> y_ExplicitVarSizeWithFlags_Values[1] = 1, + x_Occurrence[1] -> x_ExplicitVarSizeWithFlags_Flags[1] /\ x_ExplicitVarSizeWithFlags_Values[1] = 1, + x_ExplicitVarSizeWithFlags_Flags[1] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[1]], + y_ExplicitVarSizeWithDummy[1] != 2 -> + y_ExplicitVarSizeWithFlags_Flags[1] /\ y_ExplicitVarSizeWithFlags_Values[1] = y_ExplicitVarSizeWithDummy[1], + y_ExplicitVarSizeWithFlags_Flags[1] -> + y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = y_ExplicitVarSizeWithFlags_Values[1] + diff --git a/tests/exhaustive/basic/typed01/expected/model_4_4_1_3-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_4_4_1_3-solution000001.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_4_1_3-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_4_1_3-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_4_4_1_3-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_4_1_3-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_4_1_3-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_4_4_1_3-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_4_1_3-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_4_1_3.eprime b/tests/exhaustive/basic/typed01/expected/model_4_4_1_3.eprime new file mode 100644 index 0000000000..22da5be87d --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_4_1_3.eprime @@ -0,0 +1,28 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find x_Occurrence: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithMarker_Marker: int(0..1) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +branching on + [x_Occurrence, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, + y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values, y_ExplicitVarSizeWithFlags_Flags, + y_ExplicitVarSizeWithFlags_Values] +such that + x_ExplicitVarSizeWithFlags_Flags[1] /\ + (y_ExplicitVarSizeWithFlags_Flags[1] /\ y_ExplicitVarSizeWithFlags_Values[1] = x_ExplicitVarSizeWithFlags_Values[1]) + -> false, + x_ExplicitVarSizeWithFlags_Flags[1] = false -> x_ExplicitVarSizeWithFlags_Values[1] = 1, + y_ExplicitVarSizeWithFlags_Flags[1] = false -> y_ExplicitVarSizeWithFlags_Values[1] = 1, + x_Occurrence[1] -> x_ExplicitVarSizeWithFlags_Flags[1] /\ x_ExplicitVarSizeWithFlags_Values[1] = 1, + x_ExplicitVarSizeWithFlags_Flags[1] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[1]], + 1 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithFlags_Flags[1] /\ y_ExplicitVarSizeWithFlags_Values[1] = y_ExplicitVarSizeWithMarker_Values[1], + y_ExplicitVarSizeWithFlags_Flags[1] -> + 1 <= y_ExplicitVarSizeWithMarker_Marker /\ + y_ExplicitVarSizeWithMarker_Values[1] = y_ExplicitVarSizeWithFlags_Values[1] + diff --git a/tests/exhaustive/basic/typed01/expected/model_4_4_1_4-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_4_4_1_4-solution000001.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_4_1_4-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_4_1_4-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_4_4_1_4-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_4_1_4-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_4_1_4-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_4_4_1_4-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_4_1_4-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_4_1_4.eprime b/tests/exhaustive/basic/typed01/expected/model_4_4_1_4.eprime new file mode 100644 index 0000000000..d10bd485ff --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_4_1_4.eprime @@ -0,0 +1,19 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find x_Occurrence: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +branching on + [x_Occurrence, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, + y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values] +such that + x_ExplicitVarSizeWithFlags_Flags[1] /\ + (y_ExplicitVarSizeWithFlags_Flags[1] /\ y_ExplicitVarSizeWithFlags_Values[1] = x_ExplicitVarSizeWithFlags_Values[1]) + -> false, + x_ExplicitVarSizeWithFlags_Flags[1] = false -> x_ExplicitVarSizeWithFlags_Values[1] = 1, + y_ExplicitVarSizeWithFlags_Flags[1] = false -> y_ExplicitVarSizeWithFlags_Values[1] = 1, + x_Occurrence[1] -> x_ExplicitVarSizeWithFlags_Flags[1] /\ x_ExplicitVarSizeWithFlags_Values[1] = 1, + x_ExplicitVarSizeWithFlags_Flags[1] -> x_Occurrence[x_ExplicitVarSizeWithFlags_Values[1]] + diff --git a/tests/exhaustive/basic/typed01/expected/model_4_4_2_1-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_4_4_2_1-solution000001.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_4_2_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_4_2_1-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_4_4_2_1-solution000002.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_4_2_1-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_4_2_1-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_4_4_2_1-solution000003.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_4_2_1-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_4_2_1.eprime b/tests/exhaustive/basic/typed01/expected/model_4_4_2_1.eprime new file mode 100644 index 0000000000..15f0335802 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_4_2_1.eprime @@ -0,0 +1,24 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find y_Occurrence: matrix indexed by [int(1)] of bool +branching on + [x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, y_Occurrence, + y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values] +such that + x_ExplicitVarSizeWithFlags_Flags[1] /\ + (y_ExplicitVarSizeWithFlags_Flags[1] /\ y_ExplicitVarSizeWithFlags_Values[1] = x_ExplicitVarSizeWithFlags_Values[1]) + -> false, + x_ExplicitVarSizeWithFlags_Flags[1] = false -> x_ExplicitVarSizeWithFlags_Values[1] = 1, + y_ExplicitVarSizeWithFlags_Flags[1] = false -> y_ExplicitVarSizeWithFlags_Values[1] = 1, + x_ExplicitVarSizeWithDummy[1] != 2 -> + x_ExplicitVarSizeWithFlags_Flags[1] /\ x_ExplicitVarSizeWithFlags_Values[1] = x_ExplicitVarSizeWithDummy[1], + x_ExplicitVarSizeWithFlags_Flags[1] -> + x_ExplicitVarSizeWithDummy[1] != 2 /\ x_ExplicitVarSizeWithDummy[1] = x_ExplicitVarSizeWithFlags_Values[1], + y_Occurrence[1] -> y_ExplicitVarSizeWithFlags_Flags[1] /\ y_ExplicitVarSizeWithFlags_Values[1] = 1, + y_ExplicitVarSizeWithFlags_Flags[1] -> y_Occurrence[y_ExplicitVarSizeWithFlags_Values[1]] + diff --git a/tests/exhaustive/basic/typed01/expected/model_4_4_2_2-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_4_4_2_2-solution000001.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_4_2_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_4_2_2-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_4_4_2_2-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_4_2_2-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_4_2_2-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_4_4_2_2-solution000003.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_4_2_2-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_4_2_2.eprime b/tests/exhaustive/basic/typed01/expected/model_4_4_2_2.eprime new file mode 100644 index 0000000000..58f520e750 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_4_2_2.eprime @@ -0,0 +1,26 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +branching on + [x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, + y_ExplicitVarSizeWithDummy, y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values] +such that + x_ExplicitVarSizeWithFlags_Flags[1] /\ + (y_ExplicitVarSizeWithFlags_Flags[1] /\ y_ExplicitVarSizeWithFlags_Values[1] = x_ExplicitVarSizeWithFlags_Values[1]) + -> false, + x_ExplicitVarSizeWithFlags_Flags[1] = false -> x_ExplicitVarSizeWithFlags_Values[1] = 1, + y_ExplicitVarSizeWithFlags_Flags[1] = false -> y_ExplicitVarSizeWithFlags_Values[1] = 1, + x_ExplicitVarSizeWithDummy[1] != 2 -> + x_ExplicitVarSizeWithFlags_Flags[1] /\ x_ExplicitVarSizeWithFlags_Values[1] = x_ExplicitVarSizeWithDummy[1], + x_ExplicitVarSizeWithFlags_Flags[1] -> + x_ExplicitVarSizeWithDummy[1] != 2 /\ x_ExplicitVarSizeWithDummy[1] = x_ExplicitVarSizeWithFlags_Values[1], + y_ExplicitVarSizeWithDummy[1] != 2 -> + y_ExplicitVarSizeWithFlags_Flags[1] /\ y_ExplicitVarSizeWithFlags_Values[1] = y_ExplicitVarSizeWithDummy[1], + y_ExplicitVarSizeWithFlags_Flags[1] -> + y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = y_ExplicitVarSizeWithFlags_Values[1] + diff --git a/tests/exhaustive/basic/typed01/expected/model_4_4_2_3-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_4_4_2_3-solution000001.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_4_2_3-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_4_2_3-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_4_4_2_3-solution000002.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_4_2_3-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_4_2_3-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_4_4_2_3-solution000003.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_4_2_3-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_4_2_3.eprime b/tests/exhaustive/basic/typed01/expected/model_4_4_2_3.eprime new file mode 100644 index 0000000000..d112babb4a --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_4_2_3.eprime @@ -0,0 +1,30 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithMarker_Marker: int(0..1) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +branching on + [x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, + y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values, y_ExplicitVarSizeWithFlags_Flags, + y_ExplicitVarSizeWithFlags_Values] +such that + x_ExplicitVarSizeWithFlags_Flags[1] /\ + (y_ExplicitVarSizeWithFlags_Flags[1] /\ y_ExplicitVarSizeWithFlags_Values[1] = x_ExplicitVarSizeWithFlags_Values[1]) + -> false, + x_ExplicitVarSizeWithFlags_Flags[1] = false -> x_ExplicitVarSizeWithFlags_Values[1] = 1, + y_ExplicitVarSizeWithFlags_Flags[1] = false -> y_ExplicitVarSizeWithFlags_Values[1] = 1, + x_ExplicitVarSizeWithDummy[1] != 2 -> + x_ExplicitVarSizeWithFlags_Flags[1] /\ x_ExplicitVarSizeWithFlags_Values[1] = x_ExplicitVarSizeWithDummy[1], + x_ExplicitVarSizeWithFlags_Flags[1] -> + x_ExplicitVarSizeWithDummy[1] != 2 /\ x_ExplicitVarSizeWithDummy[1] = x_ExplicitVarSizeWithFlags_Values[1], + 1 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithFlags_Flags[1] /\ y_ExplicitVarSizeWithFlags_Values[1] = y_ExplicitVarSizeWithMarker_Values[1], + y_ExplicitVarSizeWithFlags_Flags[1] -> + 1 <= y_ExplicitVarSizeWithMarker_Marker /\ + y_ExplicitVarSizeWithMarker_Values[1] = y_ExplicitVarSizeWithFlags_Values[1] + diff --git a/tests/exhaustive/basic/typed01/expected/model_4_4_2_4-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_4_4_2_4-solution000001.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_4_2_4-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_4_2_4-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_4_4_2_4-solution000002.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_4_2_4-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_4_2_4-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_4_4_2_4-solution000003.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_4_2_4-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_4_2_4.eprime b/tests/exhaustive/basic/typed01/expected/model_4_4_2_4.eprime new file mode 100644 index 0000000000..b99521dc71 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_4_2_4.eprime @@ -0,0 +1,21 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find x_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +branching on + [x_ExplicitVarSizeWithDummy, x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, + y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values] +such that + x_ExplicitVarSizeWithFlags_Flags[1] /\ + (y_ExplicitVarSizeWithFlags_Flags[1] /\ y_ExplicitVarSizeWithFlags_Values[1] = x_ExplicitVarSizeWithFlags_Values[1]) + -> false, + x_ExplicitVarSizeWithFlags_Flags[1] = false -> x_ExplicitVarSizeWithFlags_Values[1] = 1, + y_ExplicitVarSizeWithFlags_Flags[1] = false -> y_ExplicitVarSizeWithFlags_Values[1] = 1, + x_ExplicitVarSizeWithDummy[1] != 2 -> + x_ExplicitVarSizeWithFlags_Flags[1] /\ x_ExplicitVarSizeWithFlags_Values[1] = x_ExplicitVarSizeWithDummy[1], + x_ExplicitVarSizeWithFlags_Flags[1] -> + x_ExplicitVarSizeWithDummy[1] != 2 /\ x_ExplicitVarSizeWithDummy[1] = x_ExplicitVarSizeWithFlags_Values[1] + diff --git a/tests/exhaustive/basic/typed01/expected/model_4_4_3_1-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_4_4_3_1-solution000001.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_4_3_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_4_3_1-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_4_4_3_1-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_4_3_1-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_4_3_1-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_4_4_3_1-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_4_3_1-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_4_3_1.eprime b/tests/exhaustive/basic/typed01/expected/model_4_4_3_1.eprime new file mode 100644 index 0000000000..618af31d11 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_4_3_1.eprime @@ -0,0 +1,28 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find x_ExplicitVarSizeWithMarker_Marker: int(0..1) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find y_Occurrence: matrix indexed by [int(1)] of bool +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_ExplicitVarSizeWithFlags_Flags, + x_ExplicitVarSizeWithFlags_Values, y_Occurrence, y_ExplicitVarSizeWithFlags_Flags, + y_ExplicitVarSizeWithFlags_Values] +such that + x_ExplicitVarSizeWithFlags_Flags[1] /\ + (y_ExplicitVarSizeWithFlags_Flags[1] /\ y_ExplicitVarSizeWithFlags_Values[1] = x_ExplicitVarSizeWithFlags_Values[1]) + -> false, + x_ExplicitVarSizeWithFlags_Flags[1] = false -> x_ExplicitVarSizeWithFlags_Values[1] = 1, + y_ExplicitVarSizeWithFlags_Flags[1] = false -> y_ExplicitVarSizeWithFlags_Values[1] = 1, + 1 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithFlags_Flags[1] /\ x_ExplicitVarSizeWithFlags_Values[1] = x_ExplicitVarSizeWithMarker_Values[1], + x_ExplicitVarSizeWithFlags_Flags[1] -> + 1 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[1] = x_ExplicitVarSizeWithFlags_Values[1], + y_Occurrence[1] -> y_ExplicitVarSizeWithFlags_Flags[1] /\ y_ExplicitVarSizeWithFlags_Values[1] = 1, + y_ExplicitVarSizeWithFlags_Flags[1] -> y_Occurrence[y_ExplicitVarSizeWithFlags_Values[1]] + diff --git a/tests/exhaustive/basic/typed01/expected/model_4_4_3_2-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_4_4_3_2-solution000001.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_4_3_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_4_3_2-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_4_4_3_2-solution000002.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_4_3_2-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_4_3_2-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_4_4_3_2-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_4_3_2-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_4_3_2.eprime b/tests/exhaustive/basic/typed01/expected/model_4_4_3_2.eprime new file mode 100644 index 0000000000..9e776b20fa --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_4_3_2.eprime @@ -0,0 +1,30 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find x_ExplicitVarSizeWithMarker_Marker: int(0..1) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_ExplicitVarSizeWithFlags_Flags, + x_ExplicitVarSizeWithFlags_Values, y_ExplicitVarSizeWithDummy, y_ExplicitVarSizeWithFlags_Flags, + y_ExplicitVarSizeWithFlags_Values] +such that + x_ExplicitVarSizeWithFlags_Flags[1] /\ + (y_ExplicitVarSizeWithFlags_Flags[1] /\ y_ExplicitVarSizeWithFlags_Values[1] = x_ExplicitVarSizeWithFlags_Values[1]) + -> false, + x_ExplicitVarSizeWithFlags_Flags[1] = false -> x_ExplicitVarSizeWithFlags_Values[1] = 1, + y_ExplicitVarSizeWithFlags_Flags[1] = false -> y_ExplicitVarSizeWithFlags_Values[1] = 1, + 1 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithFlags_Flags[1] /\ x_ExplicitVarSizeWithFlags_Values[1] = x_ExplicitVarSizeWithMarker_Values[1], + x_ExplicitVarSizeWithFlags_Flags[1] -> + 1 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[1] = x_ExplicitVarSizeWithFlags_Values[1], + y_ExplicitVarSizeWithDummy[1] != 2 -> + y_ExplicitVarSizeWithFlags_Flags[1] /\ y_ExplicitVarSizeWithFlags_Values[1] = y_ExplicitVarSizeWithDummy[1], + y_ExplicitVarSizeWithFlags_Flags[1] -> + y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = y_ExplicitVarSizeWithFlags_Values[1] + diff --git a/tests/exhaustive/basic/typed01/expected/model_4_4_3_3-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_4_4_3_3-solution000001.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_4_3_3-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_4_3_3-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_4_4_3_3-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_4_3_3-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_4_3_3-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_4_4_3_3-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_4_3_3-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_4_3_3.eprime b/tests/exhaustive/basic/typed01/expected/model_4_4_3_3.eprime new file mode 100644 index 0000000000..ed2298ccfb --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_4_3_3.eprime @@ -0,0 +1,33 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find x_ExplicitVarSizeWithMarker_Marker: int(0..1) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithMarker_Marker: int(0..1) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_ExplicitVarSizeWithFlags_Flags, + x_ExplicitVarSizeWithFlags_Values, y_ExplicitVarSizeWithMarker_Marker, y_ExplicitVarSizeWithMarker_Values, + y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values] +such that + x_ExplicitVarSizeWithFlags_Flags[1] /\ + (y_ExplicitVarSizeWithFlags_Flags[1] /\ y_ExplicitVarSizeWithFlags_Values[1] = x_ExplicitVarSizeWithFlags_Values[1]) + -> false, + x_ExplicitVarSizeWithFlags_Flags[1] = false -> x_ExplicitVarSizeWithFlags_Values[1] = 1, + y_ExplicitVarSizeWithFlags_Flags[1] = false -> y_ExplicitVarSizeWithFlags_Values[1] = 1, + 1 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithFlags_Flags[1] /\ x_ExplicitVarSizeWithFlags_Values[1] = x_ExplicitVarSizeWithMarker_Values[1], + x_ExplicitVarSizeWithFlags_Flags[1] -> + 1 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[1] = x_ExplicitVarSizeWithFlags_Values[1], + 1 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithFlags_Flags[1] /\ y_ExplicitVarSizeWithFlags_Values[1] = y_ExplicitVarSizeWithMarker_Values[1], + y_ExplicitVarSizeWithFlags_Flags[1] -> + 1 <= y_ExplicitVarSizeWithMarker_Marker /\ + y_ExplicitVarSizeWithMarker_Values[1] = y_ExplicitVarSizeWithFlags_Values[1] + diff --git a/tests/exhaustive/basic/typed01/expected/model_4_4_3_4-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_4_4_3_4-solution000001.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_4_3_4-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_4_3_4-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_4_4_3_4-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_4_3_4-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_4_3_4-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_4_4_3_4-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_4_3_4-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_4_3_4.eprime b/tests/exhaustive/basic/typed01/expected/model_4_4_3_4.eprime new file mode 100644 index 0000000000..8250b9e599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_4_3_4.eprime @@ -0,0 +1,24 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find x_ExplicitVarSizeWithMarker_Marker: int(0..1) +find x_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +branching on + [x_ExplicitVarSizeWithMarker_Marker, x_ExplicitVarSizeWithMarker_Values, x_ExplicitVarSizeWithFlags_Flags, + x_ExplicitVarSizeWithFlags_Values, y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values] +such that + x_ExplicitVarSizeWithFlags_Flags[1] /\ + (y_ExplicitVarSizeWithFlags_Flags[1] /\ y_ExplicitVarSizeWithFlags_Values[1] = x_ExplicitVarSizeWithFlags_Values[1]) + -> false, + x_ExplicitVarSizeWithFlags_Flags[1] = false -> x_ExplicitVarSizeWithFlags_Values[1] = 1, + y_ExplicitVarSizeWithFlags_Flags[1] = false -> y_ExplicitVarSizeWithFlags_Values[1] = 1, + 1 > x_ExplicitVarSizeWithMarker_Marker -> x_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 <= x_ExplicitVarSizeWithMarker_Marker -> + x_ExplicitVarSizeWithFlags_Flags[1] /\ x_ExplicitVarSizeWithFlags_Values[1] = x_ExplicitVarSizeWithMarker_Values[1], + x_ExplicitVarSizeWithFlags_Flags[1] -> + 1 <= x_ExplicitVarSizeWithMarker_Marker /\ + x_ExplicitVarSizeWithMarker_Values[1] = x_ExplicitVarSizeWithFlags_Values[1] + diff --git a/tests/exhaustive/basic/typed01/expected/model_4_4_4_1-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_4_4_4_1-solution000001.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_4_4_1-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_4_4_1-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_4_4_4_1-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_4_4_1-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_4_4_1-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_4_4_4_1-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_4_4_1-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_4_4_1.eprime b/tests/exhaustive/basic/typed01/expected/model_4_4_4_1.eprime new file mode 100644 index 0000000000..dad4584015 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_4_4_1.eprime @@ -0,0 +1,19 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find y_Occurrence: matrix indexed by [int(1)] of bool +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, y_Occurrence, + y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values] +such that + x_ExplicitVarSizeWithFlags_Flags[1] /\ + (y_ExplicitVarSizeWithFlags_Flags[1] /\ y_ExplicitVarSizeWithFlags_Values[1] = x_ExplicitVarSizeWithFlags_Values[1]) + -> false, + x_ExplicitVarSizeWithFlags_Flags[1] = false -> x_ExplicitVarSizeWithFlags_Values[1] = 1, + y_ExplicitVarSizeWithFlags_Flags[1] = false -> y_ExplicitVarSizeWithFlags_Values[1] = 1, + y_Occurrence[1] -> y_ExplicitVarSizeWithFlags_Flags[1] /\ y_ExplicitVarSizeWithFlags_Values[1] = 1, + y_ExplicitVarSizeWithFlags_Flags[1] -> y_Occurrence[y_ExplicitVarSizeWithFlags_Values[1]] + diff --git a/tests/exhaustive/basic/typed01/expected/model_4_4_4_2-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_4_4_4_2-solution000001.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_4_4_2-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_4_4_2-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_4_4_4_2-solution000002.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_4_4_2-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_4_4_2-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_4_4_4_2-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_4_4_2-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_4_4_2.eprime b/tests/exhaustive/basic/typed01/expected/model_4_4_4_2.eprime new file mode 100644 index 0000000000..e1adf983e5 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_4_4_2.eprime @@ -0,0 +1,21 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithDummy: matrix indexed by [int(1)] of int(1, 2) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, y_ExplicitVarSizeWithDummy, + y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values] +such that + x_ExplicitVarSizeWithFlags_Flags[1] /\ + (y_ExplicitVarSizeWithFlags_Flags[1] /\ y_ExplicitVarSizeWithFlags_Values[1] = x_ExplicitVarSizeWithFlags_Values[1]) + -> false, + x_ExplicitVarSizeWithFlags_Flags[1] = false -> x_ExplicitVarSizeWithFlags_Values[1] = 1, + y_ExplicitVarSizeWithFlags_Flags[1] = false -> y_ExplicitVarSizeWithFlags_Values[1] = 1, + y_ExplicitVarSizeWithDummy[1] != 2 -> + y_ExplicitVarSizeWithFlags_Flags[1] /\ y_ExplicitVarSizeWithFlags_Values[1] = y_ExplicitVarSizeWithDummy[1], + y_ExplicitVarSizeWithFlags_Flags[1] -> + y_ExplicitVarSizeWithDummy[1] != 2 /\ y_ExplicitVarSizeWithDummy[1] = y_ExplicitVarSizeWithFlags_Values[1] + diff --git a/tests/exhaustive/basic/typed01/expected/model_4_4_4_3-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_4_4_4_3-solution000001.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_4_4_3-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_4_4_3-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_4_4_4_3-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_4_4_3-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_4_4_3-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_4_4_4_3-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_4_4_3-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_4_4_3.eprime b/tests/exhaustive/basic/typed01/expected/model_4_4_4_3.eprime new file mode 100644 index 0000000000..6456aac8f4 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_4_4_3.eprime @@ -0,0 +1,24 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithMarker_Marker: int(0..1) +find y_ExplicitVarSizeWithMarker_Values: matrix indexed by [int(1)] of int(1) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, y_ExplicitVarSizeWithMarker_Marker, + y_ExplicitVarSizeWithMarker_Values, y_ExplicitVarSizeWithFlags_Flags, y_ExplicitVarSizeWithFlags_Values] +such that + x_ExplicitVarSizeWithFlags_Flags[1] /\ + (y_ExplicitVarSizeWithFlags_Flags[1] /\ y_ExplicitVarSizeWithFlags_Values[1] = x_ExplicitVarSizeWithFlags_Values[1]) + -> false, + x_ExplicitVarSizeWithFlags_Flags[1] = false -> x_ExplicitVarSizeWithFlags_Values[1] = 1, + y_ExplicitVarSizeWithFlags_Flags[1] = false -> y_ExplicitVarSizeWithFlags_Values[1] = 1, + 1 > y_ExplicitVarSizeWithMarker_Marker -> y_ExplicitVarSizeWithMarker_Values[1] = 1, + 1 <= y_ExplicitVarSizeWithMarker_Marker -> + y_ExplicitVarSizeWithFlags_Flags[1] /\ y_ExplicitVarSizeWithFlags_Values[1] = y_ExplicitVarSizeWithMarker_Values[1], + y_ExplicitVarSizeWithFlags_Flags[1] -> + 1 <= y_ExplicitVarSizeWithMarker_Marker /\ + y_ExplicitVarSizeWithMarker_Values[1] = y_ExplicitVarSizeWithFlags_Values[1] + diff --git a/tests/exhaustive/basic/typed01/expected/model_4_4_4_4-solution000001.solution b/tests/exhaustive/basic/typed01/expected/model_4_4_4_4-solution000001.solution new file mode 100644 index 0000000000..a30dffc20c --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_4_4_4-solution000001.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_4_4_4-solution000002.solution b/tests/exhaustive/basic/typed01/expected/model_4_4_4_4-solution000002.solution new file mode 100644 index 0000000000..9b282fd599 --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_4_4_4-solution000002.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {} +letting y be {1} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_4_4_4-solution000003.solution b/tests/exhaustive/basic/typed01/expected/model_4_4_4_4-solution000003.solution new file mode 100644 index 0000000000..8437ede4ce --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_4_4_4-solution000003.solution @@ -0,0 +1,4 @@ +language Essence 1.3 + +letting x be {1} +letting y be {} diff --git a/tests/exhaustive/basic/typed01/expected/model_4_4_4_4.eprime b/tests/exhaustive/basic/typed01/expected/model_4_4_4_4.eprime new file mode 100644 index 0000000000..137067773d --- /dev/null +++ b/tests/exhaustive/basic/typed01/expected/model_4_4_4_4.eprime @@ -0,0 +1,16 @@ +language ESSENCE' 1.0 + +find x_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find x_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +find y_ExplicitVarSizeWithFlags_Flags: matrix indexed by [int(1)] of bool +find y_ExplicitVarSizeWithFlags_Values: matrix indexed by [int(1)] of int(1) +branching on + [x_ExplicitVarSizeWithFlags_Flags, x_ExplicitVarSizeWithFlags_Values, y_ExplicitVarSizeWithFlags_Flags, + y_ExplicitVarSizeWithFlags_Values] +such that + x_ExplicitVarSizeWithFlags_Flags[1] /\ + (y_ExplicitVarSizeWithFlags_Flags[1] /\ y_ExplicitVarSizeWithFlags_Values[1] = x_ExplicitVarSizeWithFlags_Values[1]) + -> false, + x_ExplicitVarSizeWithFlags_Flags[1] = false -> x_ExplicitVarSizeWithFlags_Values[1] = 1, + y_ExplicitVarSizeWithFlags_Flags[1] = false -> y_ExplicitVarSizeWithFlags_Values[1] = 1 +