// Souffle - A Datalog Compiler
// Copyright (c) 2017, The Souffle Developers. All rights reserved
// Licensed under the Universal Permissive License v 1.0 as shown at:
// - https://opensource.org/licenses/UPL
// - <souffle root>/licenses/SOUFFLE-UPL.txt

.decl S(s:symbol)
.decl P(s:symbol)

.input S

P(x) :- S(x).
P(cat(x, cat(",", y))) :- S(x), P(y), !contains(x, y).

.output P
