Skip to content

Commit

Permalink
Merge pull request #654 from conjure-cp/chris-fiddling
Browse files Browse the repository at this point in the history
permutation minimal
  • Loading branch information
ozgurakgun authored Apr 9, 2024
2 parents aa05f13 + 62a3adf commit f1ee5bd
Show file tree
Hide file tree
Showing 13 changed files with 379 additions and 112 deletions.
10 changes: 10 additions & 0 deletions src/Conjure/Rules/Horizontal/Permutation.hs
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,16 @@ rule_Equality = "permutation-equality" `namedRule` theRule where
, return [essence| toSet(&p) = toSet(&q) |]
)

rule_Disequality :: Rule
rule_Disequality = "permutation-disequality" `namedRule` theRule where
theRule e = do
(p,q) <- match opNeq e
TypePermutation{} <- typeOf p
TypePermutation{} <- typeOf q
return ( "Horizontal rule for permutation disequality"
, return [essence| toSet(&p) != toSet(&q) |]
)


rule_Comprehension :: Rule
rule_Comprehension = "permutation-comprehension" `namedRule` theRule where
Expand Down
1 change: 1 addition & 0 deletions src/Conjure/UI/Model.hs
Original file line number Diff line number Diff line change
Expand Up @@ -1537,6 +1537,7 @@ horizontalRules :: [Rule]
horizontalRules =
[ Horizontal.Permutation.rule_Cardinality_Literal
, Horizontal.Permutation.rule_Equality
, Horizontal.Permutation.rule_Disequality
, Horizontal.Permutation.rule_Comprehension
, Horizontal.Permutation.rule_Compose_Image

Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
conjure solve *.essence *.param --number-of-solutions=10
conjure solve *.essence *.param --number-of-solutions=all
cat conjure-output/*.solution
rm -rf conjure-output *.solution
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,17 @@ Copying solution to: permutation-permutation-000007.solution
Copying solution to: permutation-permutation-000008.solution
Copying solution to: permutation-permutation-000009.solution
Copying solution to: permutation-permutation-000010.solution
Copying solution to: permutation-permutation-000011.solution
Copying solution to: permutation-permutation-000012.solution
Copying solution to: permutation-permutation-000013.solution
Copying solution to: permutation-permutation-000014.solution
Copying solution to: permutation-permutation-000015.solution
Copying solution to: permutation-permutation-000016.solution
Copying solution to: permutation-permutation-000017.solution
Copying solution to: permutation-permutation-000018.solution
Copying solution to: permutation-permutation-000019.solution
Copying solution to: permutation-permutation-000020.solution
Copying solution to: permutation-permutation-000021.solution
language Essence 1.3

letting s be permutation((3, 4))
Expand Down Expand Up @@ -54,3 +65,47 @@ language Essence 1.3

letting s be permutation((1, 2, 4, 3))
letting sn be permutation((1, 4, 3, 2))
language Essence 1.3

letting s be permutation((1, 2, 4))
letting sn be permutation((1, 3, 2))
language Essence 1.3

letting s be permutation((1, 3, 2))
letting sn be permutation((2, 3, 4))
language Essence 1.3

letting s be permutation((1, 3, 4, 2))
letting sn be permutation((1, 2, 3, 4))
language Essence 1.3

letting s be permutation((1, 3))
letting sn be permutation((3, 4))
language Essence 1.3

letting s be permutation((1, 3), (2, 4))
letting sn be permutation((1, 2), (3, 4))
language Essence 1.3

letting s be permutation((1, 3, 2, 4))
letting sn be permutation((1, 3, 4, 2))
language Essence 1.3

letting s be permutation((1, 4, 3, 2))
letting sn be permutation((1, 4, 2, 3))
language Essence 1.3

letting s be permutation((1, 4, 2))
letting sn be permutation((1, 2, 3))
language Essence 1.3

letting s be permutation((1, 4))
letting sn be permutation((1, 3))
language Essence 1.3

letting s be permutation((1, 4, 2, 3))
letting sn be permutation((1, 2, 4, 3))
language Essence 1.3

letting s be permutation((1, 4), (2, 3))
letting sn be permutation((1, 3), (2, 4))
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
conjure solve *.essence --number-of-solutions=10
cat conjure-output/*.solution
rm -rf conjure-output *.solution
conjure solve --number-of-solutions=all --solutions-in-one-file --output-format=jsonstream *.essence
cat *.json | LC_ALL=C sort
rm -rf conjure-output *solutions*
Original file line number Diff line number Diff line change
Expand Up @@ -4,63 +4,197 @@ Saved under: conjure-output
Savile Row: model000001.eprime
Running minion for domain filtering.
Running solver: minion
Copying solution to: permutation-000001.solution
Copying solution to: permutation-000002.solution
Copying solution to: permutation-000003.solution
Copying solution to: permutation-000004.solution
Copying solution to: permutation-000005.solution
Copying solution to: permutation-000006.solution
Copying solution to: permutation-000007.solution
Copying solution to: permutation-000008.solution
Copying solution to: permutation-000009.solution
Copying solution to: permutation-000010.solution
language Essence 1.3

letting p be permutation((2, 3, 4))
letting s be permutation()
letting sn be permutation()
language Essence 1.3

letting p be permutation((2, 3, 4))
letting s be permutation((3, 4))
letting sn be permutation((2, 4))
language Essence 1.3

letting p be permutation((2, 3, 4))
letting s be permutation((2, 3))
letting sn be permutation((3, 4))
language Essence 1.3

letting p be permutation((2, 3, 4))
letting s be permutation((2, 3, 4))
letting sn be permutation((2, 3, 4))
language Essence 1.3

letting p be permutation((2, 3, 4))
letting s be permutation((2, 4, 3))
letting sn be permutation((2, 4, 3))
language Essence 1.3

letting p be permutation((2, 3, 4))
letting s be permutation((2, 4))
letting sn be permutation((2, 3))
language Essence 1.3

letting p be permutation((2, 3, 4))
letting s be permutation((1, 2))
letting sn be permutation((1, 3))
language Essence 1.3

letting p be permutation((2, 3, 4))
letting s be permutation((1, 2), (3, 4))
letting sn be permutation((1, 3), (2, 4))
language Essence 1.3

letting p be permutation((2, 3, 4))
letting s be permutation((1, 2, 3))
letting sn be permutation((1, 3, 4))
language Essence 1.3

letting p be permutation((2, 3, 4))
letting s be permutation((1, 2, 3, 4))
letting sn be permutation((1, 3, 4, 2))
Copying solution to: permutation.solutions
Copying solution to: permutation.solutions.json
{"p": [[1, 2, 3]], "s": [[1, 2, 3, 4]], "sn": [[1, 4, 2, 3]]}
{"p": [[1, 2, 3]], "s": [[1, 2, 3]], "sn": [[1, 2, 3]]}
{"p": [[1, 2, 3]], "s": [[1, 2, 4, 3]], "sn": [[1, 2, 3, 4]]}
{"p": [[1, 2, 3]], "s": [[1, 2, 4]], "sn": [[2, 3, 4]]}
{"p": [[1, 2, 3]], "s": [[1, 2], [3, 4]], "sn": [[1, 4], [2, 3]]}
{"p": [[1, 2, 3]], "s": [[1, 2]], "sn": [[2, 3]]}
{"p": [[1, 2, 3]], "s": [[1, 3, 2, 4]], "sn": [[1, 3, 4, 2]]}
{"p": [[1, 2, 3]], "s": [[1, 3, 2]], "sn": [[1, 3, 2]]}
{"p": [[1, 2, 3]], "s": [[1, 3, 4, 2]], "sn": [[1, 4, 3, 2]]}
{"p": [[1, 2, 3]], "s": [[1, 3, 4]], "sn": [[1, 4, 2]]}
{"p": [[1, 2, 3]], "s": [[1, 3], [2, 4]], "sn": [[1, 2], [3, 4]]}
{"p": [[1, 2, 3]], "s": [[1, 3]], "sn": [[1, 2]]}
{"p": [[1, 2, 3]], "s": [[1, 4, 2, 3]], "sn": [[1, 2, 4, 3]]}
{"p": [[1, 2, 3]], "s": [[1, 4, 2]], "sn": [[2, 4, 3]]}
{"p": [[1, 2, 3]], "s": [[1, 4, 3, 2]], "sn": [[1, 3, 2, 4]]}
{"p": [[1, 2, 3]], "s": [[1, 4, 3]], "sn": [[1, 2, 4]]}
{"p": [[1, 2, 3]], "s": [[1, 4], [2, 3]], "sn": [[1, 3], [2, 4]]}
{"p": [[1, 2, 3]], "s": [[1, 4]], "sn": [[2, 4]]}
{"p": [[1, 2, 3]], "s": [[2, 3, 4]], "sn": [[1, 4, 3]]}
{"p": [[1, 2, 3]], "s": [[2, 3]], "sn": [[1, 3]]}
{"p": [[1, 2, 3]], "s": [[2, 4, 3]], "sn": [[1, 3, 4]]}
{"p": [[1, 2, 3]], "s": [[2, 4]], "sn": [[3, 4]]}
{"p": [[1, 2, 3]], "s": [[3, 4]], "sn": [[1, 4]]}
{"p": [[1, 2, 3]], "s": [], "sn": []}
{"p": [[1, 2, 4]], "s": [[1, 2, 3, 4]], "sn": [[1, 2, 4, 3]]}
{"p": [[1, 2, 4]], "s": [[1, 2, 3]], "sn": [[2, 4, 3]]}
{"p": [[1, 2, 4]], "s": [[1, 2, 4, 3]], "sn": [[1, 3, 2, 4]]}
{"p": [[1, 2, 4]], "s": [[1, 2, 4]], "sn": [[1, 2, 4]]}
{"p": [[1, 2, 4]], "s": [[1, 2], [3, 4]], "sn": [[1, 3], [2, 4]]}
{"p": [[1, 2, 4]], "s": [[1, 2]], "sn": [[2, 4]]}
{"p": [[1, 2, 4]], "s": [[1, 3, 2, 4]], "sn": [[1, 2, 3, 4]]}
{"p": [[1, 2, 4]], "s": [[1, 3, 2]], "sn": [[2, 3, 4]]}
{"p": [[1, 2, 4]], "s": [[1, 3, 4, 2]], "sn": [[1, 4, 2, 3]]}
{"p": [[1, 2, 4]], "s": [[1, 3, 4]], "sn": [[1, 2, 3]]}
{"p": [[1, 2, 4]], "s": [[1, 3], [2, 4]], "sn": [[1, 4], [2, 3]]}
{"p": [[1, 2, 4]], "s": [[1, 3]], "sn": [[2, 3]]}
{"p": [[1, 2, 4]], "s": [[1, 4, 2, 3]], "sn": [[1, 4, 3, 2]]}
{"p": [[1, 2, 4]], "s": [[1, 4, 2]], "sn": [[1, 4, 2]]}
{"p": [[1, 2, 4]], "s": [[1, 4, 3, 2]], "sn": [[1, 3, 4, 2]]}
{"p": [[1, 2, 4]], "s": [[1, 4, 3]], "sn": [[1, 3, 2]]}
{"p": [[1, 2, 4]], "s": [[1, 4], [2, 3]], "sn": [[1, 2], [3, 4]]}
{"p": [[1, 2, 4]], "s": [[1, 4]], "sn": [[1, 2]]}
{"p": [[1, 2, 4]], "s": [[2, 3, 4]], "sn": [[1, 4, 3]]}
{"p": [[1, 2, 4]], "s": [[2, 3]], "sn": [[3, 4]]}
{"p": [[1, 2, 4]], "s": [[2, 4, 3]], "sn": [[1, 3, 4]]}
{"p": [[1, 2, 4]], "s": [[2, 4]], "sn": [[1, 4]]}
{"p": [[1, 2, 4]], "s": [[3, 4]], "sn": [[1, 3]]}
{"p": [[1, 2, 4]], "s": [], "sn": []}
{"p": [[1, 3, 2]], "s": [[1, 2, 3, 4]], "sn": [[1, 2, 4, 3]]}
{"p": [[1, 3, 2]], "s": [[1, 2, 3]], "sn": [[1, 2, 3]]}
{"p": [[1, 3, 2]], "s": [[1, 2, 4, 3]], "sn": [[1, 4, 2, 3]]}
{"p": [[1, 3, 2]], "s": [[1, 2, 4]], "sn": [[1, 4, 3]]}
{"p": [[1, 3, 2]], "s": [[1, 2], [3, 4]], "sn": [[1, 3], [2, 4]]}
{"p": [[1, 3, 2]], "s": [[1, 2]], "sn": [[1, 3]]}
{"p": [[1, 3, 2]], "s": [[1, 3, 2, 4]], "sn": [[1, 4, 3, 2]]}
{"p": [[1, 3, 2]], "s": [[1, 3, 2]], "sn": [[1, 3, 2]]}
{"p": [[1, 3, 2]], "s": [[1, 3, 4, 2]], "sn": [[1, 3, 2, 4]]}
{"p": [[1, 3, 2]], "s": [[1, 3, 4]], "sn": [[2, 4, 3]]}
{"p": [[1, 3, 2]], "s": [[1, 3], [2, 4]], "sn": [[1, 4], [2, 3]]}
{"p": [[1, 3, 2]], "s": [[1, 3]], "sn": [[2, 3]]}
{"p": [[1, 3, 2]], "s": [[1, 4, 2, 3]], "sn": [[1, 2, 3, 4]]}
{"p": [[1, 3, 2]], "s": [[1, 4, 2]], "sn": [[1, 3, 4]]}
{"p": [[1, 3, 2]], "s": [[1, 4, 3, 2]], "sn": [[1, 3, 4, 2]]}
{"p": [[1, 3, 2]], "s": [[1, 4, 3]], "sn": [[2, 3, 4]]}
{"p": [[1, 3, 2]], "s": [[1, 4], [2, 3]], "sn": [[1, 2], [3, 4]]}
{"p": [[1, 3, 2]], "s": [[1, 4]], "sn": [[3, 4]]}
{"p": [[1, 3, 2]], "s": [[2, 3, 4]], "sn": [[1, 2, 4]]}
{"p": [[1, 3, 2]], "s": [[2, 3]], "sn": [[1, 2]]}
{"p": [[1, 3, 2]], "s": [[2, 4, 3]], "sn": [[1, 4, 2]]}
{"p": [[1, 3, 2]], "s": [[2, 4]], "sn": [[1, 4]]}
{"p": [[1, 3, 2]], "s": [[3, 4]], "sn": [[2, 4]]}
{"p": [[1, 3, 2]], "s": [], "sn": []}
{"p": [[1, 3, 4]], "s": [[1, 2, 3, 4]], "sn": [[1, 3, 2, 4]]}
{"p": [[1, 3, 4]], "s": [[1, 2, 3]], "sn": [[2, 4, 3]]}
{"p": [[1, 3, 4]], "s": [[1, 2, 4, 3]], "sn": [[1, 4, 3, 2]]}
{"p": [[1, 3, 4]], "s": [[1, 2, 4]], "sn": [[1, 3, 2]]}
{"p": [[1, 3, 4]], "s": [[1, 2], [3, 4]], "sn": [[1, 4], [2, 3]]}
{"p": [[1, 3, 4]], "s": [[1, 2]], "sn": [[2, 3]]}
{"p": [[1, 3, 4]], "s": [[1, 3, 2, 4]], "sn": [[1, 3, 4, 2]]}
{"p": [[1, 3, 4]], "s": [[1, 3, 2]], "sn": [[2, 3, 4]]}
{"p": [[1, 3, 4]], "s": [[1, 3, 4, 2]], "sn": [[1, 2, 3, 4]]}
{"p": [[1, 3, 4]], "s": [[1, 3, 4]], "sn": [[1, 3, 4]]}
{"p": [[1, 3, 4]], "s": [[1, 3], [2, 4]], "sn": [[1, 2], [3, 4]]}
{"p": [[1, 3, 4]], "s": [[1, 3]], "sn": [[3, 4]]}
{"p": [[1, 3, 4]], "s": [[1, 4, 2, 3]], "sn": [[1, 2, 4, 3]]}
{"p": [[1, 3, 4]], "s": [[1, 4, 2]], "sn": [[1, 2, 3]]}
{"p": [[1, 3, 4]], "s": [[1, 4, 3, 2]], "sn": [[1, 4, 2, 3]]}
{"p": [[1, 3, 4]], "s": [[1, 4, 3]], "sn": [[1, 4, 3]]}
{"p": [[1, 3, 4]], "s": [[1, 4], [2, 3]], "sn": [[1, 3], [2, 4]]}
{"p": [[1, 3, 4]], "s": [[1, 4]], "sn": [[1, 3]]}
{"p": [[1, 3, 4]], "s": [[2, 3, 4]], "sn": [[1, 2, 4]]}
{"p": [[1, 3, 4]], "s": [[2, 3]], "sn": [[2, 4]]}
{"p": [[1, 3, 4]], "s": [[2, 4, 3]], "sn": [[1, 4, 2]]}
{"p": [[1, 3, 4]], "s": [[2, 4]], "sn": [[1, 2]]}
{"p": [[1, 3, 4]], "s": [[3, 4]], "sn": [[1, 4]]}
{"p": [[1, 3, 4]], "s": [], "sn": []}
{"p": [[1, 4, 2]], "s": [[1, 2, 3, 4]], "sn": [[1, 3, 2, 4]]}
{"p": [[1, 4, 2]], "s": [[1, 2, 3]], "sn": [[1, 3, 4]]}
{"p": [[1, 4, 2]], "s": [[1, 2, 4, 3]], "sn": [[1, 2, 3, 4]]}
{"p": [[1, 4, 2]], "s": [[1, 2, 4]], "sn": [[1, 2, 4]]}
{"p": [[1, 4, 2]], "s": [[1, 2], [3, 4]], "sn": [[1, 4], [2, 3]]}
{"p": [[1, 4, 2]], "s": [[1, 2]], "sn": [[1, 4]]}
{"p": [[1, 4, 2]], "s": [[1, 3, 2, 4]], "sn": [[1, 2, 4, 3]]}
{"p": [[1, 4, 2]], "s": [[1, 3, 2]], "sn": [[1, 4, 3]]}
{"p": [[1, 4, 2]], "s": [[1, 3, 4, 2]], "sn": [[1, 4, 3, 2]]}
{"p": [[1, 4, 2]], "s": [[1, 3, 4]], "sn": [[2, 4, 3]]}
{"p": [[1, 4, 2]], "s": [[1, 3], [2, 4]], "sn": [[1, 2], [3, 4]]}
{"p": [[1, 4, 2]], "s": [[1, 3]], "sn": [[3, 4]]}
{"p": [[1, 4, 2]], "s": [[1, 4, 2, 3]], "sn": [[1, 3, 4, 2]]}
{"p": [[1, 4, 2]], "s": [[1, 4, 2]], "sn": [[1, 4, 2]]}
{"p": [[1, 4, 2]], "s": [[1, 4, 3, 2]], "sn": [[1, 4, 2, 3]]}
{"p": [[1, 4, 2]], "s": [[1, 4, 3]], "sn": [[2, 3, 4]]}
{"p": [[1, 4, 2]], "s": [[1, 4], [2, 3]], "sn": [[1, 3], [2, 4]]}
{"p": [[1, 4, 2]], "s": [[1, 4]], "sn": [[2, 4]]}
{"p": [[1, 4, 2]], "s": [[2, 3, 4]], "sn": [[1, 3, 2]]}
{"p": [[1, 4, 2]], "s": [[2, 3]], "sn": [[1, 3]]}
{"p": [[1, 4, 2]], "s": [[2, 4, 3]], "sn": [[1, 2, 3]]}
{"p": [[1, 4, 2]], "s": [[2, 4]], "sn": [[1, 2]]}
{"p": [[1, 4, 2]], "s": [[3, 4]], "sn": [[2, 3]]}
{"p": [[1, 4, 2]], "s": [], "sn": []}
{"p": [[1, 4, 3]], "s": [[1, 2, 3, 4]], "sn": [[1, 3, 4, 2]]}
{"p": [[1, 4, 3]], "s": [[1, 2, 3]], "sn": [[1, 4, 2]]}
{"p": [[1, 4, 3]], "s": [[1, 2, 4, 3]], "sn": [[1, 4, 2, 3]]}
{"p": [[1, 4, 3]], "s": [[1, 2, 4]], "sn": [[2, 3, 4]]}
{"p": [[1, 4, 3]], "s": [[1, 2], [3, 4]], "sn": [[1, 3], [2, 4]]}
{"p": [[1, 4, 3]], "s": [[1, 2]], "sn": [[2, 4]]}
{"p": [[1, 4, 3]], "s": [[1, 3, 2, 4]], "sn": [[1, 2, 3, 4]]}
{"p": [[1, 4, 3]], "s": [[1, 3, 2]], "sn": [[1, 2, 4]]}
{"p": [[1, 4, 3]], "s": [[1, 3, 4, 2]], "sn": [[1, 3, 2, 4]]}
{"p": [[1, 4, 3]], "s": [[1, 3, 4]], "sn": [[1, 3, 4]]}
{"p": [[1, 4, 3]], "s": [[1, 3], [2, 4]], "sn": [[1, 4], [2, 3]]}
{"p": [[1, 4, 3]], "s": [[1, 3]], "sn": [[1, 4]]}
{"p": [[1, 4, 3]], "s": [[1, 4, 2, 3]], "sn": [[1, 4, 3, 2]]}
{"p": [[1, 4, 3]], "s": [[1, 4, 2]], "sn": [[2, 4, 3]]}
{"p": [[1, 4, 3]], "s": [[1, 4, 3, 2]], "sn": [[1, 2, 4, 3]]}
{"p": [[1, 4, 3]], "s": [[1, 4, 3]], "sn": [[1, 4, 3]]}
{"p": [[1, 4, 3]], "s": [[1, 4], [2, 3]], "sn": [[1, 2], [3, 4]]}
{"p": [[1, 4, 3]], "s": [[1, 4]], "sn": [[3, 4]]}
{"p": [[1, 4, 3]], "s": [[2, 3, 4]], "sn": [[1, 3, 2]]}
{"p": [[1, 4, 3]], "s": [[2, 3]], "sn": [[1, 2]]}
{"p": [[1, 4, 3]], "s": [[2, 4, 3]], "sn": [[1, 2, 3]]}
{"p": [[1, 4, 3]], "s": [[2, 4]], "sn": [[2, 3]]}
{"p": [[1, 4, 3]], "s": [[3, 4]], "sn": [[1, 3]]}
{"p": [[1, 4, 3]], "s": [], "sn": []}
{"p": [[2, 3, 4]], "s": [[1, 2, 3, 4]], "sn": [[1, 3, 4, 2]]}
{"p": [[2, 3, 4]], "s": [[1, 2, 3]], "sn": [[1, 3, 4]]}
{"p": [[2, 3, 4]], "s": [[1, 2, 4, 3]], "sn": [[1, 3, 2, 4]]}
{"p": [[2, 3, 4]], "s": [[1, 2, 4]], "sn": [[1, 3, 2]]}
{"p": [[2, 3, 4]], "s": [[1, 2], [3, 4]], "sn": [[1, 3], [2, 4]]}
{"p": [[2, 3, 4]], "s": [[1, 2]], "sn": [[1, 3]]}
{"p": [[2, 3, 4]], "s": [[1, 3, 2, 4]], "sn": [[1, 4, 3, 2]]}
{"p": [[2, 3, 4]], "s": [[1, 3, 2]], "sn": [[1, 4, 3]]}
{"p": [[2, 3, 4]], "s": [[1, 3, 4, 2]], "sn": [[1, 4, 2, 3]]}
{"p": [[2, 3, 4]], "s": [[1, 3, 4]], "sn": [[1, 4, 2]]}
{"p": [[2, 3, 4]], "s": [[1, 3], [2, 4]], "sn": [[1, 4], [2, 3]]}
{"p": [[2, 3, 4]], "s": [[1, 3]], "sn": [[1, 4]]}
{"p": [[2, 3, 4]], "s": [[1, 4, 2, 3]], "sn": [[1, 2, 3, 4]]}
{"p": [[2, 3, 4]], "s": [[1, 4, 2]], "sn": [[1, 2, 3]]}
{"p": [[2, 3, 4]], "s": [[1, 4, 3, 2]], "sn": [[1, 2, 4, 3]]}
{"p": [[2, 3, 4]], "s": [[1, 4, 3]], "sn": [[1, 2, 4]]}
{"p": [[2, 3, 4]], "s": [[1, 4], [2, 3]], "sn": [[1, 2], [3, 4]]}
{"p": [[2, 3, 4]], "s": [[1, 4]], "sn": [[1, 2]]}
{"p": [[2, 3, 4]], "s": [[2, 3, 4]], "sn": [[2, 3, 4]]}
{"p": [[2, 3, 4]], "s": [[2, 3]], "sn": [[3, 4]]}
{"p": [[2, 3, 4]], "s": [[2, 4, 3]], "sn": [[2, 4, 3]]}
{"p": [[2, 3, 4]], "s": [[2, 4]], "sn": [[2, 3]]}
{"p": [[2, 3, 4]], "s": [[3, 4]], "sn": [[2, 4]]}
{"p": [[2, 3, 4]], "s": [], "sn": []}
{"p": [[2, 4, 3]], "s": [[1, 2, 3, 4]], "sn": [[1, 4, 2, 3]]}
{"p": [[2, 4, 3]], "s": [[1, 2, 3]], "sn": [[1, 4, 2]]}
{"p": [[2, 4, 3]], "s": [[1, 2, 4, 3]], "sn": [[1, 4, 3, 2]]}
{"p": [[2, 4, 3]], "s": [[1, 2, 4]], "sn": [[1, 4, 3]]}
{"p": [[2, 4, 3]], "s": [[1, 2], [3, 4]], "sn": [[1, 4], [2, 3]]}
{"p": [[2, 4, 3]], "s": [[1, 2]], "sn": [[1, 4]]}
{"p": [[2, 4, 3]], "s": [[1, 3, 2, 4]], "sn": [[1, 2, 4, 3]]}
{"p": [[2, 4, 3]], "s": [[1, 3, 2]], "sn": [[1, 2, 4]]}
{"p": [[2, 4, 3]], "s": [[1, 3, 4, 2]], "sn": [[1, 2, 3, 4]]}
{"p": [[2, 4, 3]], "s": [[1, 3, 4]], "sn": [[1, 2, 3]]}
{"p": [[2, 4, 3]], "s": [[1, 3], [2, 4]], "sn": [[1, 2], [3, 4]]}
{"p": [[2, 4, 3]], "s": [[1, 3]], "sn": [[1, 2]]}
{"p": [[2, 4, 3]], "s": [[1, 4, 2, 3]], "sn": [[1, 3, 4, 2]]}
{"p": [[2, 4, 3]], "s": [[1, 4, 2]], "sn": [[1, 3, 4]]}
{"p": [[2, 4, 3]], "s": [[1, 4, 3, 2]], "sn": [[1, 3, 2, 4]]}
{"p": [[2, 4, 3]], "s": [[1, 4, 3]], "sn": [[1, 3, 2]]}
{"p": [[2, 4, 3]], "s": [[1, 4], [2, 3]], "sn": [[1, 3], [2, 4]]}
{"p": [[2, 4, 3]], "s": [[1, 4]], "sn": [[1, 3]]}
{"p": [[2, 4, 3]], "s": [[2, 3, 4]], "sn": [[2, 3, 4]]}
{"p": [[2, 4, 3]], "s": [[2, 3]], "sn": [[2, 4]]}
{"p": [[2, 4, 3]], "s": [[2, 4, 3]], "sn": [[2, 4, 3]]}
{"p": [[2, 4, 3]], "s": [[2, 4]], "sn": [[3, 4]]}
{"p": [[2, 4, 3]], "s": [[3, 4]], "sn": [[2, 3]]}
{"p": [[2, 4, 3]], "s": [], "sn": []}
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
letting n be new type enum {e_5,e_6,e_7,e_8}

find p : permutation (size 3) of n
find s : matrix indexed by [int(1..4)] of n
find t : matrix indexed by [int(1..4)] of n
find s : matrix indexed by [int(1..2)] of n
find t : matrix indexed by [int(1..2)] of n


such that t = transform(p,s) /\ allDiff(s)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
conjure solve *.essence
cat conjure-output/*.solution
rm -rf conjure-output *.solution
conjure solve --number-of-solutions=all --solutions-in-one-file --output-format=jsonstream *.essence
cat *.json | LC_ALL=C sort
rm -rf conjure-output *solutions*
Loading

0 comments on commit f1ee5bd

Please sign in to comment.