diff options
author | Andrew Reynolds <andrew.j.reynolds@gmail.com> | 2020-09-28 18:33:03 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-09-28 18:33:03 -0500 |
commit | 0ae9a3cfd78bc2d0b8a603a21f2181038fab4880 (patch) | |
tree | 7db1a29bf39973de0754af63aa7dbdfc01b50cab /src/expr | |
parent | d4564e7ef8eb277fcfc42c3130a3180165594b58 (diff) |
Minor fixes to quantifiers proofs (#5151)
Includes minor changes to the proof checker and a fix in the instantiate module.
Diffstat (limited to 'src/expr')
-rw-r--r-- | src/expr/proof_rule.h | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/src/expr/proof_rule.h b/src/expr/proof_rule.h index c621bffdc..9324f68c2 100644 --- a/src/expr/proof_rule.h +++ b/src/expr/proof_rule.h @@ -563,7 +563,7 @@ enum class PfRule : uint32_t // Conclusion: (= F true) TRUE_INTRO, // ======== True elim - // Children: (P:(= F true) + // Children: (P:(= F true)) // Arguments: none // ---------------------------------------- // Conclusion: F @@ -575,7 +575,7 @@ enum class PfRule : uint32_t // Conclusion: (= F false) FALSE_INTRO, // ======== False elim - // Children: (P:(= F false) + // Children: (P:(= F false)) // Arguments: none // ---------------------------------------- // Conclusion: (not F) @@ -630,11 +630,11 @@ enum class PfRule : uint32_t //================================================= Quantifiers rules // ======== Witness intro - // Children: (P:F[t]) - // Arguments: (t) + // Children: (P:(exists ((x T)) F[x])) + // Arguments: none // ---------------------------------------- - // Conclusion: (= t (witness ((x T)) F[x])) - // where x is a BOUND_VARIABLE unique to the pair F,t. + // Conclusion: (= k (witness ((x T)) F[x])) + // where k is the Skolem form of (witness ((x T)) F[x]). WITNESS_INTRO, // ======== Exists intro // Children: (P:F[t]) @@ -650,7 +650,7 @@ enum class PfRule : uint32_t // Conclusion: F*sigma // sigma maps x1 ... xn to their representative skolems obtained by // SkolemManager::mkSkolemize, returned in the skolems argument of that - // method. + // method. Alternatively, can use negated forall as a premise. SKOLEMIZE, // ======== Instantiate // Children: (P:(forall ((x1 T1) ... (xn Tn)) F)) |