summaryrefslogtreecommitdiff
path: root/source/Syntax/Abstract.hs
diff options
context:
space:
mode:
authoradelon <22380201+adelon@users.noreply.github.com>2025-07-16 12:36:32 +0200
committeradelon <22380201+adelon@users.noreply.github.com>2025-07-16 12:36:32 +0200
commit9aac1a22c4ff4b4be16800b86e34a94d358b0deb (patch)
tree4874bcad55c1a40d8776e367b1bba0ad6c80f46e /source/Syntax/Abstract.hs
parent92efa0fe16152c0f42cb9d05d6ef127955b03a18 (diff)
Add quantified calcs and relax tokenization
Use an `\iff`-calc to speed up `union_as_unions`. Also remove `in_implies_neq` which seems to interact badly with the choice axiom used by superposition-based proofs like Vampire in cut-down problems.
Diffstat (limited to 'source/Syntax/Abstract.hs')
-rw-r--r--source/Syntax/Abstract.hs6
1 files changed, 5 insertions, 1 deletions
diff --git a/source/Syntax/Abstract.hs b/source/Syntax/Abstract.hs
index c8d5dac..23da652 100644
--- a/source/Syntax/Abstract.hs
+++ b/source/Syntax/Abstract.hs
@@ -338,6 +338,10 @@ data Defn
| DefnOp SymbolPattern Expr
deriving (Show, Eq, Ord)
+data CalcQuantifier
+ = CalcQuantifier (NonEmpty VarSymbol) Bound (Maybe Stmt)
+ deriving (Show, Eq, Ord)
+
data Proof
= Omitted
| Qed Justification
@@ -351,7 +355,7 @@ data Proof
| Assume Stmt Proof
| FixSymbolic (NonEmpty VarSymbol) Bound Proof
| FixSuchThat (NonEmpty VarSymbol) Stmt Proof
- | Calc Calc Proof
+ | Calc (Maybe CalcQuantifier) Calc Proof
-- ^ Simplify goals that are implications or disjunctions.
| TakeVar (NonEmpty VarSymbol) Bound Stmt Justification Proof
| TakeNoun (NounPhrase []) Justification Proof