I've read the paper and the code for generating assertions for a theory and I am confused. Could you please elaborate on how the assertions are generated?
From the paper, the 'true' assertions are selected from the inferred facts and 'false' ones are generated by negating the conclusion. For example, if p is inferred, then p might be selected as a 'true' question/assertion, while not p might be selected as 'false'.
But from the code, it seems the assertions are generated randomly: assertion_statement = generate_random_statement(...). After the assertions are generated, Problog is used to prove or disprove them.
I've read the paper and the code for generating assertions for a theory and I am confused. Could you please elaborate on how the assertions are generated?
From the paper, the 'true' assertions are selected from the inferred facts and 'false' ones are generated by negating the conclusion. For example, if p is inferred, then p might be selected as a 'true' question/assertion, while not p might be selected as 'false'.
But from the code, it seems the assertions are generated randomly:
assertion_statement = generate_random_statement(...)
. After the assertions are generated, Problog is used to prove or disprove them.