\set ECHO none
\pset format unaligned

-- 3-way times circuit (personnel 5/6/7), same as tseytin_cnf.sql. The
-- tree-decomposition route needs no external tool, so the NNF is
-- deterministic. Its literals use the same variable numbering as
-- tseytin_cnf_mapping (shown below for comparison).
CREATE TABLE ddnnf_nnf_q AS
SELECT compile_to_ddnnf(provenance(), 'tree-decomposition') AS nnf,
       provenance() AS tok
FROM personnel p1, personnel p2, personnel p3
WHERE p1.id=5 AND p2.id=6 AND p3.id=7;

SELECT remove_provenance('ddnnf_nnf_q');

-- The compiled d-DNNF in c2d/d4 NNF text format.
SELECT nnf FROM ddnnf_nnf_q;

-- The NNF literals use exactly these variables (tseytin_cnf numbering).
SET provsql.active = off;
SELECT array_agg(variable ORDER BY variable) AS cnf_variables
FROM ddnnf_nnf_q, tseytin_cnf_mapping(tok);
SET provsql.active = on;

DROP TABLE ddnnf_nnf_q;
