Better formalization of regular expression unfolding skolems (#6602)
authorAndrew Reynolds <andrew.j.reynolds@gmail.com>
Mon, 24 May 2021 14:39:56 +0000 (09:39 -0500)
committerGitHub <noreply@github.com>
Mon, 24 May 2021 14:39:56 +0000 (09:39 -0500)
commitb00667a21984dc3f6b960a1a2d22845c7096bc35
tree8a6dc1bbe37bcc1617f672403800999dd1cc203a
parent0e9fed387aaf5d0cb1844ab20551fbebfcb8893d
Better formalization of regular expression unfolding skolems (#6602)

This replaces our previous formalization of RE unfolding skolems with a more explicit one that is amenable to external proof conversion. It adds a few associated utility methods to SkolemManager required for LFSC proof conversion for RE_UNFOLD_POS.

It also changes the order of equalities in the RE_UNFOLD_POS rule, which simplifies LFSC proof checking.
src/expr/skolem_manager.cpp
src/expr/skolem_manager.h
src/theory/strings/infer_proof_cons.cpp
src/theory/strings/regexp_operation.cpp
src/theory/strings/regexp_operation.h