// Souffle - A Datalog Compiler
// Copyright (c) 2019, 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

// This code tests the provenance explain interface for a simple path example.

.pragma "provenance" "explain"

.decl edge(x:symbol, y:symbol)
edge("a", "b").
edge("b", "c").
edge("c", "d").

.decl path(x:symbol, y:symbol)
path(x, y) :- edge(x, y).
path(x, z) :- edge(x, y), path(y, z).
.output path()
